Home > Google > | 便利覚書的な > GoogleMapのマイマップの位置情報をCSVへエクスポートする方法

GoogleMapのマイマップの位置情報をCSVへエクスポートする方法

PDAにてモバイルGoogleMapを使用時にスターをつけるとPCのブラウザにて連動するので
連動したスターをマイマップへ登録します。
そこから吐き出す方法なのですが。。。

本来はマイマップのGoogleEarthで表示をクリックしKMLファイルをダウンロードし
それをGoogleEarthにて開く、これしか知りませんでした。
でもこの場合はだとそっから位置情報をCSVでまとめたりとかできないんですよね。

見つけました

Google マイマップのデータをKMLにエクスポートしてCSVに変換する方法 - 自然環境保全のための周辺技術
http://d.hatena.ne.jp/tmizu23/20091024/1256298170

これめっちゃいいです、最終目的がCSVへエクスポートする事でしたらGooglEarthもインスコする必要ないし
(もともとインスコしてもできないみたいなのだが。。)


var input;
var output;

input = WScript.Arguments(0);
output=input.replace(".kml",".csv");
var fs = new ActiveXObject ("Scripting.FileSystemObject");
var outf = fs.CreateTextFile (output, true);
var xmlDoc = WScript.CreateObject("MSXML.DOMDocument");
xmlDoc.load(input);

var wpts = xmlDoc.documentElement.getElementsByTagName("Placemark");
outf.WriteLine("lat,lon,name,snippet,description");
for(var i = 0; i<wpts.length;i++){
 var names = wpts[i].getElementsByTagName("name");
 if(names.length>0 && !!names[0].childNodes[0]) var name = names[0].childNodes[0].text;
 var snippets = wpts[i].getElementsByTagName("Snippet");
 if(snippets.length>0 && !!snippets[0].childNodes[0]) var snippet = snippets[0].childNodes[0].text;
 var descriptions = wpts[i].getElementsByTagName("description");  
 if(descriptions.length>0 && !!descriptions[0].childNodes[0]) var description = descriptions[0].childNodes[0].text;
 // descriptionのタグを消したい時は、こちら↓
 // if(descriptions.length>0 && !!descriptions[0].childNodes[0]) var description = descriptions[0].childNodes[0].text.replace(/\r?\n/g, "").replace(/,/g," ").replace(/<("[^"]*"|'[^']*'|[^'">])*>/g," ");
 var points = wpts[i].getElementsByTagName("Point");
 if(points.length>0 && !!points[0].childNodes[0]) var point = points[0].childNodes[0].text.split(",");
 outf.WriteLine(point[1]+","+point[0]+","+name+","+snippet+","+description);
    
 }//for i

outf.Close();

=====手順=====

このスクリプトをテキストエディタにコピペして「kml2csv.js」という名で保存
(私の場合はjsは関連付けでドリームウィーバーにしているので「.jse」にしました。Windows7にて確認済み)

GoogleMap上にてマイマップを表示し編集ボタンをクリックし地図上に表示されている「GoogleEarthで表示」を
右クリックしURLをコピーしそのままブラウザのURLアドレスバーにペースト

「output=nl」のところを「output=kml」に変更しアクセス。

勝手にKMLファイルがダウンロードされるので

ダウンロードしたKMLファイル最初に作成した「kml2csv.js」へドラッグすると
同じ階層に勝手にCSVが同じ名前でできあがります。

※「GoogleEarthで表示」でURLを変更してダウンロードしたKMLファイルはそのまま
エクセルでCSVとして読み取り専用ですが見ることもできます。


私の業務に非常に役にたってます。

いままでマイマップのマーカーをクリックして空検索をかけてそこで出てきた座標をCSVへ「ペタペタ」
してました。これだと数個ならいいんですが数千個とかあると心が折れそうになるw

これ、GoogleMapAPIを活用している方は覚えておいて損はないかもです。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://nboze.com/mt/mt-tb.cgi/39
Listed below are links to weblogs that reference
GoogleMapのマイマップの位置情報をCSVへエクスポートする方法 from nBoze.com

Home > Google > | 便利覚書的な > GoogleMapのマイマップの位置情報をCSVへエクスポートする方法

Photos
Feeds
Categories
Links

Return to page top