前回に引き続きフリービューア「SIS Map Express」(以下、Map Express)についてご紹介します。
今回はスマートフォンで撮影した写真の画像ファイルを読み込んでMap Expressの機能をご紹介します。
インフォマティクスでは、国内で約36,000のお客様に利用されているGIS(地理情報システム)製品SIS(エスアイエス)をご用意しております。
SISの最新カタログをダウンロードする >>
目次
Exifとは
デジタルカメラで撮影した画像ファイルには、カメラのメーカーや型番などの情報が含まれています。
GPS付きカメラやスマートフォンで撮影した画像ファイルには、撮影場所の位置座標やカメラの向きなどの地理情報も含まれています。
Exifは、これらの撮影条件に関する情報を追加して保存できる画像ファイル形式で、地理情報をGIS(地理情報システム)で利用することができます。
Map Expressで画像ファイルを読み込む
旅行や外出時にスマートフォンで撮影した画像ファイルをMap Expressで読み込みます。
データをPCに取り込み後、Map Expressを起動して以下の操作を行います。
※記事で使用しているデータは、こちらからダウンロードいただけます。
- 「ホーム」タブの「マップ/オーバーレイ追加」コマンドを実行し、「その他」タブの「Exchangeable Image File Format(EXIF)」を指定して「完了」ボタンをクリックします。
- 画像ファイルのあるフォルダを指定して「OK」ボタンをクリックします。
図1:画像ファイルの読み込み(背景に地理院タイルを使用)
写真を表示する
画像ファイルをMap Expressに読み込むと、撮影場所にカメラマークのシンボルが表示されます(図1)。
カメラマークは、撮影した向きに合わせて回転します。カメラマークを選択し、「ハイパーリンク」コマンドを実行すると、写真を表示できます(図2)。
図2:ハイパーリンク機能
Exifの情報を地図上に表示する
Exifの情報は、主題図を使って地図上に表示することができます。例えば、以下のようなことができます。
撮影日時をラベルで表示する
図3:撮影時刻をラベル表示
撮影機種で撮影ポイントを色分けする
図4:撮影機種で色分け表示
標高情報で撮影ポイントの色分けと標高値の表示をする
図5:標高情報を表示
上位製品で経路を作成し3D化する
上位製品のMap Modellerを使用すると、以下のようなこともできます。
撮影順序のラインを作成する
プロセス機能を使用して、写真の撮影時間の順番でラインを作成します。
図6:撮影順序のラインを作成
走行ルートを作成する
道路データと重ね合わせてルート検索機能を使用し、実際に走行したルートを作成します。
図7:走行ルートの作成
走行ルートを3D化する
走行ルートと標高データを重ねてドレイプベクタオーバーレイ機能を使用し、走行ルートを3D化します。
3D化したラインの長さは、標高を考慮した走行距離になります。
図8:走行ルートの3D化
おわりに
これまで4回にわたってフリービューアMap Expressについてご紹介しました。
無料GISながら、さまざまなことが行えるMap Expressを、ぜひダウンロードして使用してみてください。過去の記事はこちらからご覧いただけます。(空間情報事業部 S.N.)
SIS Desktopシリーズ 製品情報
https://www.informatix.co.jp/sis/
GISソフトをお探しなら
GISソフトをお探しの方、現在お使いのGISに課題を感じている方は、ぜひGIS(地理情報システム)製品SISをご利用ください。無償版もご用意しています。
SISの資料をダウンロードする >>
GISやAI機械学習を使った業務システムの構築に関するご相談を承っています。お気軽にお問い合わせください。
操作方法は、各項目をご参照ください。
1:撮影日時をラベルで表示する
- 「ホーム」タブの「マップ/主題図追加」を実行します。
- Exifのオーバーレイを指定して「次へ」をクリックします。
- 「注記」タブの「ラベル」を指定して、「次へ」をクリックします。
- 「fx」ボタンから「フォーミュラ編集」を実行します。
- 以下のフォーミュラを入力し、「OK」ボタンをクリックします。
"撮影日 " + Replace(Mid(Photo::DateTimeOriginal$, 6, 5), ":", "/") +" " + Mid(Photo::DateTimeOriginal$, 12, 5)
※ 「Photo::DateTimeOriginal$」プロパティには、撮影時刻の情報が入っています。 - 「次へ」ボタンをクリックし、ウィザードを進めます。
「ラベル主題図 スタイル」ダイアログで、以下のように設定します。 - 「完了」ボタンをクリックし、ラベル主題図を表示します。
2:撮影機種で撮影ポイントを色分けする
- 異なる機種のスマートフォンで撮影した写真の画像ファイルを、他の機種で撮影した写真の画像ファイルとまとめて1つのフォルダに置きます。
- 「Map Expressで画像ファイルを読み込む」を参照して、画像ファイルを読み込みます。
- 「ホーム」タブの「マップ/主題図追加」を実行します。
- 「2.」で追加したExifのオーバーレイを指定して「次へ」をクリックします。
- 「スタイル」タブの「個別値」を指定して、「次へ」をクリックします。
- 「fx」ボタンをクリックし、「Model」で検索して「Model(Image::Model$)」を選択します。「OK」ボタンをクリックします。 ※ 以下、「Image::Model$」プロパティには、「iPhone 6」と「iPhone 6 Plus」の値が入っているとします。
「次へ」ボタンをクリックし、ウィザードを進めます。
次のダイアログが表示された場合は、「はい」をクリックします。 - 「個別値主題図 スタイル」ダイアログで、以下のように設定します。「iPhone 6」:ペン「Black」、ブラシ「Red」、シンボル「Line Details.Arrow 1 Overlay Colour」
「iPhone 6 Plus」:ペン「Black」、ブラシ「Blue」、シンボル「Line Details.Arrow 1 Overlay Colour」 - 「完了」ボタンをクリックし、個別値主題図を表示します。
- シンボルの大きさを「優先ポイントスケール」で調整します。
「ホーム」タブの「マップ/オーバーレイ」コマンドを実行し、「スタイル」タブの「優先スケール/ポイント」を「-3.5」などの値に設定します。
3:標高情報で撮影ポイントの色分けと標高値の表示をする
標高情報での色分け
- 「ホーム」タブの「マップ/主題図追加」を実行します。
- Exifのオーバーレイを指定して「次へ」をクリックします。
- 「スタイル」タブの「レンジ」を指定して、「次へ」をクリックします。
- 「fx」ボタンをクリックし、「Altitude」で検索して「GPS Altitude(GPSInfo::GPSAltitude#)」を選択します。「OK」ボタンをクリックします。「次へ」ボタンをクリックし、ウィザードを進めます。
次のダイアログが表示された場合は、「はい」をクリックします。 - 「レンジ主題図」ダイアログで、レンジの数やレンジ幅を指定します。
「GPSInfo::GPSAltitude#」の値が「11.000」から「711.968」のデータで、以下のように設定をしてみました。範囲を変更したい場合は、任意の行を選択して「F2」キーを押すと、範囲の最小の値を変更することができます - 「次へ」ボタンをクリックし、各範囲のスタイルを変更します。
ペン・・・「Black」、シンボル・・・「Line Details.Arrow 1 Overlay Colour」
ブラシ・・・標高メッシュデータの色を参考に、ブラシ編集ダイアログから色を指定します。
細かい色の設定は、「色の編集」ボタンから行うことができます。 - 「完了」ボタンをクリックし、レンジ主題図を表示します。
標高値の表示
- 「ホーム」タブの「マップ/主題図追加」を実行します。
- Exifのオーバーレイを指定して「次へ」をクリックします。
- 「注記」タブの「ラベル」を指定して、「次へ」をクリックします。
- 「fx」ボタンから「フォーミュラ編集」を実行します。
- 以下のフォーミュラを入力し、「OK」ボタンをクリックします。
"標高" + Str(Int(GPSInfo::GPSAltitude#)) + "m" - 「次へ」ボタンをクリックし、ウィザードを進めます。
「ラベル主題図 スタイル」ダイアログで、以下のように設定します。 - 「完了」ボタンをクリックし、ラベル主題図を表示します。
4:撮影順序のラインを作成する(Map Modellerで操作)
- 「作成」タブの「プロセス」コマンドを実行します。
- 「プロセスアイテム指定」ダイアログで、「既存のオーバーレイ上のアイテムを使用」を指定し、Exifのオーバーレイを指定して「次へ」をクリックします。
- 「プロセス操作」ダイアログで、以下のプロセス操作を追加し、プロパティを設定します。あるいは、以下の文字列を「ペン編集」ダイアログの「クリップボード/貼り付け」コマンドで貼り付けて設定してください。
{"Pen":{"Colour":{"RGBA":[0,0,255,0]},"Width":200,"LineCap":"Round","LineJoin":"Round","Symbols":{"End":"Chevron"},"Patterns":{"Fitted":true,"Repeats":[{"Line":3000,"Gap":100,"Symbol":"Chevron"}]}}}
- 「次へ」ボタンをクリックします。
「プロセス後のアイテム用に新しいオーバーレイを作成」を選択して「オーバーレイ作成」ボタンをクリックします。 - 「新規オーバーレイ」ダイアログが表示されるので、「Cadcorp 内部データセット」を選択して「次へ」ボタンをクリックします。
- 任意のオーバーレイの名称を入力し、「詳細」ボタンをクリックして以下を設定します。
「座標系」 : 「緯度/経度.WGS 84」
「データセットスケール」 : 表示スケールに合わせた値(「50000」や「500000」など) - 「完了」ボタンをクリックします。
- 「完了」ボタンをクリックし、撮影順序のラインを作成します。
5:走行ルートを作成する(Map Modellerで操作)
道路データはDRM(全国デジタル道路地図データベース)が有名ですが、ここではフリーのデータの「国土数値情報」を使用します。
- http://nlftp.mlit.go.jp/ksj/gmlold/index.html
上記リンクより、「道路」をチェックして、該当する都道府県の「GML(JPGIS2.1)シェープファイル」のデータ(世界測地系)をダウンロードします。 - SIS Mapシリーズの下部にある地球のアイコンから、座標系を「緯度/経度.日本測地系2000」とします。
- ダウンロードしたシェープファイル(*.shp)を読み込みます。
- 読み込んだシェープファイルを編集できるように複製します。
- マップコントロールバーのシェープファイルのデータセットを選択、右クリックして「アイテム選択」を実行し、シェープファイルのラインアイテムをすべて選択します。
- 「編集」タブの「クリップボード/複製」コマンドで新規内部データセットにデータをコピーします。
- 「複製先のオーバーレイ」ダイアログで、「新規内部データセットを作成する」を選択し、名称を「道路」にして、「OK」ボタンをクリックします。
- マップコントロールバーの「道路」を選択、右クリックして「アイテム選択」を実行し、複製したラインアイテムをすべて選択して、「トポロジー」タブの「変換/トポロジーに変換」コマンドを実行します。
- Exifのオーバーレイと撮影時刻のラベル主題図、撮影順序のラインが作成されたオーバーレイが表示されている状態にします。
- ルート検索結果を作図するオーバーレイを新規に追加し、カレントに設定します。
- 「ホーム」タブの「マップ/オーバーレイ追加」を実行します。
- 「その他」タブの「Cadcorp 内部データセット」を選択して「次へ」をクリックします。
- 「名称」を「実際のルート」とし、「詳細」ボタンから「データセットスケール」を表示スケールに合わせた値(「50000」や「500000」など)に設定します。
- 「完了」ボタンをクリックして、オーバーレイを追加します。
- 「マップ」コントロールバーから「実際のルート」オーバーレイを選択し、ローカルメニューの「カレントに設定」コマンドを実行します。
- 「空間解析」タブの「ルート検索/ルート検索」を実行します。
「フォーミュラ」を指定し「_length#」を入力します。また、「ラインアイテム作成」にチェックを入れて、「OK」ボタンをクリックします。 - マウスカーソルがスパナマークになるので、撮影順序のラインに合わせてカメラ付近をクリックして最短ルートを作成します。
これを、撮影した写真の数分繰り返します。 - 作成したラインのペンスタイルを「太線.青20」にします。
- 「ホーム」タブの「マップ/オーバーレイ」コマンドを実行します。
- 「オーバーレイ」ダイアログの「スタイル」タブで、「実際のルート」オーバーレイの「ペン」を「太線.青20」にします。
6:走行ルートを3D化する(Map Modellerで操作)
基盤地図情報の標高点のデータからTINを作成し、そのTINに合わせて3D化したデータを作成します。
- 基盤地図情報の標高点のデータをダウンロードします。
- http://fgd.gsi.go.jp/download/menu.php
上記リンクより、「基盤地図情報 基本項目 > JPGIS(GML)形式」をクリックします。 - 該当する市町村を指定し、「標高点(数値標高モデルを除く)」をチェックして、「次へ」ボタンをクリックします。
- ダウンロードするファイルをすべてチェックして、「まとめてダウンロード」ボタンからダウンロードします。
- ダウンロードした「*.zip」ファイルを解凍します。ファイル名に「ElevPt」が含まれる「*.xml」ファイルを抽出します。
- ドラッグ&ドロップでSISに読み込みます。必要な市町村のデータをすべて読み込みます。
- TINアイテムを作成するオーバーレイを追加し、カレントに設定します。(5の「7.」を参照)
- 標高点のポイントアイテムをすべて選択し、「作成」タブの「3D/TIN生成」を実行します。
- 「TIN」で使用する高さ」の項目で「フォーミュラ」を指定し、「alti#」フォーミュラを入力します。
「作成するアイテム」の項目は「1個のTIN」を指定します。 - 「OK」ボタンでTINアイテムを作成します。
- TINアイテムに色を割り当てます。
- 「ホーム」タブの「マップ/主題図追加」を実行し、TINアイテムのあるオーバーレイを指定して「次へ」をクリックします。
- 「スタイル」タブより「グリッドカラー」主題図を追加します。
- 「カラーセット」を「FGD」にして「次へ」、「完了」ボタンをクリックします。
※ TINアイテムの以下のプロパティを設定すると、見た目が向上します。
「スムーズ」プロパティ:「True」
「ペン」プロパティ:「Blank」
「ブラシ」プロパティ:「WhiteMask」 - TINアイテムを選択し、「編集」タブの「TIN/ドレイプベクタオーバーレイ」を実行します。
「ベクタをドレイプするオーバーレイ」は、5で作成した走行ルートのラインアイテムがあるオーバーレイ「実際のルート」を指定します。
走行ルートを3D化すると、ラインの長さは標高を考慮した走行距離になります。
表示投影法を「平面直角座標系」(秋田県は「10 平面直角座標系 第Ⅹ系」)に変更し、「表示」タブの「ドキュメント表示/3D」を実行すると、3Dウィンドウで走行ルートを確認できます。
図8右側の図は、ラベル主題図をデータセット座標系が平面直角座標系のデータセットに展開し、走行ルートを「3D」タブの「ドレイプ貼り付け」コマンドで貼り付けて、分かりやすく表示しています。
<地図データ出典>国土地理院 地理院タイル、基盤地図情報、国土交通省国土政策局 国土数値情報(道路データ)
※この記事は、GIS NEXT第58号に掲載された記事を編集したものです。
【お詫びと訂正】GIS NEXT第58号に掲載された記事内の<地図データ出典>において「国土交通省国土政策局 国土数値情報(道路データ)」の記述が抜けておりました。お詫びして訂正いたします。