測位端末の「GPS」機能をONにしてから捕捉衛星数を確認する。 4個以上(10個程度が理想)の衛星を捕捉したら測定開始可能。
代表的なログ形式を例示する。
NMEA形式ともいう。測位信号受信機からの情報を機器間でやりとりする 場合に主に使われる。古い受信機で一般的。
$GPRMC,020444.000,V,4046.799,N,14015.405,E,0.00,0.00,120814,,*1D $GPGGA,020444.000,4046.799,N,14015.405,E,0,00,0.0,-3.800,M,0.0,M,,*4C
GPS eXchange Format の略。GPS関連アプリケーション間で 測位データをやりとりするためのフォーマット。
<?xml version="1.0" encoding="UTF-8"?> <gpx version="1.1" creator="GPSBabel - http://www.gpsbabel.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd "> <metadata> <time>2014-08-12T09:21:12Z</time> <bounds minlat="38.952741667" minlon="139.834936667" maxlat="40.786933333" maxlon="140.256750000"/> </metadata> <trk> <name>Tracked with OSMTracker for Android™</name> <trkseg> <trkpt lat="40.779990000" lon="140.256750000"> <ele>-3.800000</ele> <time>2014-08-12T02:05:09Z</time> <extensions> <speed>13.35189437866211</speed> </extensions> </trkpt> <trkpt lat="40.779771667" lon="140.256358333"> <ele>-4.700000</ele> <time>2014-08-12T02:05:12Z</time> <extensions> <speed>14.640244483947754</speed> </extensions> </trkpt> </trkseg> </trk> </gpx>
Google Earthで利用されるフォーマット。
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"> <Document> <name>GPS device</name> <snippet>Created Sat Apr 18 09:06:55 2015</snippet> <LookAt> <gx:TimeSpan> <begin>2014-08-12T02:04:44Z</begin> <end>2014-08-12T02:04:47Z</end> </gx:TimeSpan> <longitude>140.256554</longitude> <latitude>40.779881</latitude> <range>1300.000000</range> </LookAt> <!-- Normal track style --> : : (中略) : : </Document> </kml>
いずれもテキスト形式のファイルである。テキスト形式のファイルは roy環境では less コマンドで確認する。
less file.gpx
SPCで進み、bで戻り、qで終了。
測位ログなどが保存されるGISフォーマットは相互に変換することができる。 WebGISで一般的なフォーマットをいくつか挙げる。
これらはGDALライブラリ付属のツール ogr2ogr で変換できる。
ogr2ogr -f 変換先フォーマット 変換先ファイル 元ファイル
の書式で利用する。ただし、Shapefile は複数のファイルの集合なので、 それらを含むディレクトリの指定となる。 フォーマット一覧は「ogr2ogr --long-usage」と 起動することで得られる。上記一覧にあるフォーマットは以下のとおり。
フォーマット | ogr2ogrの指定 |
---|---|
GPX | "GPX" |
KML | "KML" |
GeoJSON | "GeoJSON" |
Shapefile | "ESRI Shapefile" |
たとえば GPX ファイル(file.gpx)をGeoJSONファイル(file.geojson) に変換するには以下のようにする。
ogr2ogr -f geojson file.geojson file.gpx
QGISを利用してGUI操作で変換することもできる。概略のみ示す。
カメラ撮影で得られたJPEGファイルには様々な情報が Exif形式で格納されている。roy環境でExifは geeqie コマンド(画像ビューア)か、 jhead コマンドで確認できる。
jhead imgxxx.jpg
File name : imgp9206.jpg
File size : 4258266 bytes
File date : 2015:04:12 18:22:34
Camera make : PENTAX
Camera model : PENTAX K-30
Date/Time : 2015:04:12 18:22:09
Resolution : 4928 x 3264
Flash used : No
Focal length : 28.1mm (35mm equivalent: 42mm)
Exposure time: 0.050 s (1/20)
Aperture : f/4.0
ISO equiv. : 1600
Whitebalance : Auto
Metering Mode: center weight
Exposure : aperture priority (semi-auto)
Focus range : close
GPS Latitude : ? ?
GPS Longitude: ? ?
JPEG Quality : 95
ジオタグのない写真画像にジオタグを埋め込む方法を2つ示す。 座標を手動で埋め込む方法と、撮影時に同時取得しているGPXファイルがある場合に それを利用する方法の2つを示す。
国土地理院電子地図(https://maps.gsi.go.jp/)を開き、 画像の撮影地点を正確に選び、右クリックする。
画面下部に情報が現れる。
38度53分38.99秒 139度49分8.39秒
38.894164,139.818996 ズーム:16
このうち、十進表記の緯度軽度を記録する。
exiftool コマンドを用い、ジオタグを入れたい画像ファイルに緯度軽度を埋め込む。
exiftool -gpslatitude=38.894164 -gpslatitudeRef=N \
-gpslongitude=139.818996 -gpslongitudeRef=E foo.jpg
オプションの大文字小文字は問わない。
写真の撮影時刻を完全に含むGPXログファイルを用意できたら、 写真と同じディレクトリに配置し、以下のように exiftool コマンドの -geotag オプションに指定する。
exiftool -geotag logfile.gpx *.jpg
JPEGファイルは何枚でもよい。元のJPEGファイルは
_original
の名前がついてバックアップが取られる。不要なら消してよい。
ただし、GPXログからの自動付加では正しい位置にならないこともある。 この場合は手動で埋め込む方法で付け直す。位置の確認は以下で説明する gpx-photo で行なう。
gpx-photo を用いると、ジオタグを含む写真や、GPXログに含まれる時刻に撮られた写真を OpenStreetMap上に貼り付けることができる。処理したい JPEG ファイルと GPX を引数に与えて gpx-photo を起動する。例を示す。
gpx-photo.rb *.jpg trip.gpx
指定したGPXファイルの .gpx を .html に変えたHTMLファイルが生成される。 これをブラウザで開く。
firefox trip.html &