iphoneで撮影した写真の緯度と経度を、サクッと調べたいと思いました。今回はnode.jsを使って、指定ディクレトリにある画像からGPS座標を取得してみました。
photo by Mr. Alex Garcia - Double Cliche on flickr
使い方
まずはnpmインストールします。
bash1
| $ npm install simple-gps --save
|
たとえば、iphoneで撮った画像を「iphoneの画像」フォルダに置いたとします。index.js
は以下のようになります。
index.js1 2 3 4 5 6 7
| var gps = require("simple-gps");
gps.read("./iphoneの画像",function(err,data){ if(!err){ console.log(data); } });
|
node.jsを実行します。実行するとファイルパスとGPS座標が取得されます。取得されたGPSLatitude
は緯度で、PSLongitude
は経度になります。また取得される緯度と経度はそれぞれ10進数表記となっています。
bash1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| $ node index.js [ { path: '/path-to/iphoneの画像/tokyo-sky-tree.jpg', GPSLatitude: 35.710054, GPSLongitude: 139.810690, GPSLatitudeRef: 'N', GPSLongitudeRef: 'E' }, { path: '/path-to/iphoneの画像/tokyo-akihabara.jpg', GPSLatitude: 35.702130, GPSLongitude: 139.774845, GPSLatitudeRef: 'N', GPSLongitudeRef: 'E' }, ...(中略。iphoneの画像ファイル数だけ再帰的にGPSがリストアップされる) ]
|
Google Map URLを生成する
iphone画像のGPSからGoogle mapのURLをサクッと取得したいときは、こんな感じでOKです。
index.js1 2 3 4 5 6 7 8 9 10
| var gps = require("simple-gps");
gps.read("./iphoneの画像",function(err,data){ if(!err){ for(var i = 0; i < data.length; i++){ console.log(data[i].path); console.log("https://www.google.com/maps?q=" + data[i].GPSLatitude + ","+ data[i].GPSLongitude); } } });
|
実行するとファイルパスとgoogle mapのURLが生成されます。
bash1 2 3 4 5
| $ node index.js /path-to/iphoneの画像/tokyo-sky-tree.jpg https://www.google.com/maps?q=35.710054,139.810690 /path-to/iphoneの画像/tokyo-akihabara.jpg https://www.google.com/maps?q=35.702130,139.774845
|
すばやく画像の場所を調べたいときや、Googleマップで調べたいときに便利ですね!今回は、金山のロケハンで使ってみました。