iphoneで撮影した写真の緯度と経度を、サクッと調べたいと思いました。今回はnode.jsを使って、指定ディクレトリにある画像からGPS座標を取得してみました。

simple-gps

目次

使い方

まずはnpmインストールします。

bash
1
$ npm install simple-gps --save

たとえば、iphoneで撮った画像を「iphoneの画像」フォルダに置いたとします。index.jsは以下のようになります。

index.js
1
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進数表記となっています。

bash
1
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.js
1
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が生成されます。

bash
1
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マップで調べたいときに便利ですね!