基盤地図の取り込みについて

7,053 views
Skip to first unread message

sakuya_izayoi

unread,
Jul 25, 2018, 7:08:26 AM7/25/18
to QGIS初心者質問グループ
こちらsakuya_izayoiのsakuyaです。
お世話になります。
基盤地図の「基盤地図情報の基本項目」のxmlファイルなのですが、QGISに直接取り込む方法はありませんでしょうか?
現在、基盤地図ビューアを使ってshpに変換したのちに取り込んでいるのですが、数が多いとすごく時間がかかるうえ、強制終了しやすいため
往生しております。

また「基盤地図情報の基本項目」を素早くshpに変換する方法もありましたら、同時にアドバイス頂けたらと思います。

sakuya_izayoi

unread,
Jul 25, 2018, 7:36:13 AM7/25/18
to QGIS初心者質問グループ
こちらsakuya_izayoiのizayoiです。
お世話になります。
sakuyaへ

QGIS3.2(QGIS3.0から可能だったのかな?)だとXMLをドラッグアンドドロップすればshpに変換せずとも見る事ができます。
zip圧縮されているファイルを全部解凍してから投げ込まなければならないという点はありますが、最終的にgeopackageにしてしまえばshpファイル単品で持っているより作業がしやすくなります。

私からも質問なのですが、基盤地図ビューワみたく、zipファイルのまま読み込ます方法というのはあるのでしょうか?

TJ

unread,
Jul 25, 2018, 9:27:16 PM7/25/18
to QGIS初心者質問グループ
おはようございます。

QGIS3.2で基盤地図のXML直接読めるということは、QGISは内部でそのXMLのスキーマを対応できたということで、QGISのポロセシングツールを利用すれば変換できると考えました。
試しに、Convert formatツールを使ってみたら、XMLからShapeへ直接変換できました。しかし、この方法には2つの問題点がありました。
1.XMLには座標系情報がないため、出力は座標系定義なしのShapeになります。
2.日本語の属性値が????になってしまいます。

以上の問題を対処するため、QGISのモデルビルダでモデルを構築してみました。この方法だと直接XMLからShapeなどのフォーマットに変換できます。日本語属性値も正常に表示されます。バッチモードで実行すれば、一気に複数のXMLの変換も可能です。作成したモデルファイル(QGIS 3.2用)を添付しますので、QGISのプロセシングツールにインポートすれば使用可能です。zipファイルのままだとArcGISの基盤地図変換ツールは対応していますが、QGISは対応していないので、そこは諦めて解凍すればいいのではないでしょうか。解凍するには大した手間でもないですので。
1.座標系定義(JGD2000に)
2.座標系変換(指定座標系)
3.出力は任意のフォーマットに指定可能

モデルの流れ



Convert_From_FG-GML.model3

福岡

unread,
Jul 25, 2018, 9:28:14 PM7/25/18
to QGIS初心者質問グループ
sakuya 様
izayoi 様

基盤地図情報のxmlですが、GDALのバージョンが2.2.2以降のものであれば読み込むことができたと思います。

QGIS初心者質問グループ 地図が裏返しに・・・

そしてzipファイルについては試してみました。
こちらは単純なzip圧縮であれば、ブラウザパネルからレイヤに追加できるようです(3.2の場合。2.18では追加できませんでした)。
使い勝手はちょっと微妙でして、私としては連続解凍で一気に解凍した後にQGISに読み込むという従来の方法がやりやすいように思いました。

キャプチャ画像を添付します。
同じ名前が2段になっていますが、下に表示されている着色されていないアイコンの方がレイヤに追加できます。



なお、単純なzip圧縮と書きましたが、複数のzipファイルを1つのzipにまとめているものには対応していないと思います。

福岡

unread,
Jul 25, 2018, 9:42:53 PM7/25/18
to QGIS初心者質問グループ
TJ 様

先ほどの投稿の後に、TJさんの投稿に気がつきました。
そのため、TJさんの投稿内容を把握していないような内容になってしまいました。申し訳ありません。

モデルの構築お疲れ様です。後ほど試させてください。m(__)m

TJ

unread,
Jul 25, 2018, 9:51:03 PM7/25/18
to QGIS初心者質問グループ
福岡 様

すれ違いでしたね(^^)
全然大丈夫ですよ。皆それぞれ違う解決法を考えていますので、意見交流の場として、たくさんの意見があったほうが勉強になります。

TJ

unread,
Jul 25, 2018, 10:11:40 PM7/25/18
to QGIS初心者質問グループ
補足

基盤地図情報の座標系定義について、国土地理院のホームページに以下のように記載されています。

http://www.gsi.go.jp/kiban/faq.html#1-4
座標系は全てのファイルで、世界測地系の経緯度座標(度単位)となっています。座標値は小数点以下9桁まで整備しています。(ただし、精度は整備方法や整備に使用した情報により異なり、必ずしも小数点以下9桁まで有効値ではありません。)
基盤地図情報(数値標高モデル)及び基盤地図情報(ジオイド・モデル)も同様に経緯度座標によるデータです。例えば5mメッシュデータについては、経度差、緯度差0.2秒間隔(概ね5m間隔)で区切った方眼(メッシュ)の中心点の標高データとなっています。

正直JGD 2000かどうかがはっきり分かりません。上記の説明から恐らくJGD 2000だと推測し、JGD 2000にしてGoogle Mapで確認したけか、大体合っていましたので、初期の座標系定義はJGD 2000に固定してあります。座標系に関する確定情報があれば教えていただきたいです。

sakuya_izayoi

unread,
Jul 25, 2018, 10:48:46 PM7/25/18
to QGIS初心者質問グループ
TJさま
こちらizayoi(sakuya)です
素晴らしいモデルありがとうございます。活用させていただきます。

福岡さま
単純zipならいけるというご報告ありがとうございます。

こちらとしては、福岡さまの仰るように、全部解凍してからQGISに投げ込むというので今回は対応しておりました。(解凍自体は実際にやってみると、そう手間にはならないですね)

座標系に関しては情報収集をしてみます。

sakuya_izayoi

unread,
Jul 26, 2018, 3:39:01 AM7/26/18
to QGIS初心者質問グループ
こちらizayoiです。
座標系についてですが、国土地理院より
「基盤地図情報の基本項目は、JGD2011で作成されております。」
とのご回答を頂きました。
現在出先中でして、スマホでは打ちにくいので簡単ですが、まずはご報告まで。

TJ

unread,
Jul 26, 2018, 4:25:14 AM7/26/18
to QGIS初心者質問グループ
izayoi 様

国土地理院へのお問い合わせありがとうございます。
JGD2011ですか、それだとモデル最初の座標系定義をJGD 2011に変更しないといけないですね。

sakuya_izayoi

unread,
Jul 26, 2018, 9:08:46 PM7/26/18
to QGIS初心者質問グループ
TJさま
こちらsakuyaです。お世話になります。
添付していただいたモデルファイルのJGD2000となっているところ、JGD2011に変更して使用させていただきます。
ありがとうございます。

素朴な疑問なのですが、
国土地理院の5m標高や10m標高は株式会社エコリス様の変換ツールを使うか、QGIS2.X系で使えた基盤地図DEMインポーターを使うぐらいしかラスタ画像化できないのでしょうか?
(QGISの機能では無理?)

TJ

unread,
Jul 26, 2018, 10:30:32 PM7/26/18
to QGIS初心者質問グループ
sakuya 様

国土地理院の5m標高や10m標高の変換について、私はArcGISでしか変換したことがありますが、QGISで変換したことがありません。
データ元がXML形式ですので、QGIS 3.xの内部でそれを解釈するためのスキーマに対応していない限り、標準機能では難しいと思います。「基盤地図DEMインポーター」は今のところQIGS 3.xにはまだ対応していないようですので、QGISで変換したい場合、QGIS2.X系で使えた「基盤地図DEMインポーター」を使うか、公開されている「基盤地図DEMインポーター」のソースコードを参考して、QIGS 3.x用の変換ツールを自作するかしか方法がないと思います。



sakuya_izayoi

unread,
Aug 2, 2018, 6:51:50 AM8/2/18
to QGIS初心者質問グループ
こちらsakuya_izayoiです。お世話になります。
TJさま。
お返事遅れてすみません。ちょっとバタついていましてようやく落ち着きました。
ArcではあるのでQGIS3.Xでもできないかなと思っておりましたが、QGIS2.Xの方で対応します。

それと、以前アップロードしていただいたグラフィカルモデラーのモデルデータですが
現在の2011:EPSG6668に設定したタイプで修正させていただきました。
それをアップロードするとともに、バッチ処理用のJSONファイルを作成できるエクセルマクロ入りのファイルもアップロードいたします。

エクセルファイルの
入出力ファイルシート内のB2セルに、xmlファイルが保存してあるフォルダ階層を入力します。
C2セルから下は入力するxmlファイル名を記載します。
D2セルから下は出力するshpファイル名を記載します。C列をコピーしてxmlをshpに置換すれば楽ですね。
当該フォルダ内のファイルリストの吸い出し方法ですが、windowsならばコマンドプロンプト内でH2セルにあるものを参考に入力すれば一括でファイルリストを入手できます。

JSON作成シートに移動し、2行目をコピーして、見本として入力してあるように、出力したいファイルの数だけコピーペーストをすれば準備完了です。
その後、「ポチっとな」ボタンを押すと、保存ファイル名を聞かれ、このエクセルファイルを保存してあるフォルダ内にjsonファイルが出来上がります。

そして、少し聞きたいことがあります。
バッチファイル作成用のエクセルマクロファイルを作る際に、ビルダーの方から条件式を保存した際に
[{"PARAMETERS": {"xml": "'C:/Users/sakuya_izayoi/Desktop/exam/FG-GML-523666-BldA-20180401-0001.xml'", "epsg6668jgd2011": "'EPSG:6668'", "": "'EPSG:6668'"}, "OUTPUTS": {"native:reprojectlayer_1:XML_to_output_shp": "C:/Users/sakuya_izayoi/Desktop/exam/FG-GML-523666-BldA-20180401-0001.shp"}}]

のように保存されました。その中で、赤文字アンダーラインを引いた部分なのですが、自分では設定しておりません。これはどこからきているのでしょうか?座標系がEPSG6668としているために記載されちゃうのかと思って、EPSG3884に入出力をあえて変更してファイル保存しても、赤文字アンダーラインの部分は変わりませんでした。いったい何もの?
基盤地図情報の基本項目FG-GML_sakuya_izayoi追記.model3
json作成_アップロード用.xlsm

TJ

unread,
Aug 2, 2018, 9:13:48 AM8/2/18
to QGIS初心者質問グループ
izayoi様

バッチファイルの作成お疲れ様です。
バッチファイルのjsonファイルの構成ですが、キー:値のような構成になっています。"epsg6668jgd2011"は「入力座標系(EPGS6668:JGD2011)を標準」パラメータの識別子になります。
私の確認した限りでは、この識別子は一番最初パラメータを追加したときの名前になっているようです。後でバラメータの名前を変更しても、この識別子変わらないようです。この部分を変更したいのであれば、以下の2つの方法を有効だと確認しました。
  1. このパラメータを作成して、再度新しい変更した名前でパラメータを作成する。
  2. モデル保存されている.model3ファル自体はXML形式のファイルであり、そのファイルをテキストエディタで開き、epsg6668jgd2011を変更したい文字列に置き換え後、再度モデルをインポートする。
バッチファイルを作成時の注意点として、ファイルパスに日本語文字が含まれている場合、jsonファイルのは日本語文字パスのままだと読み込みエラーになりインポートすることができません。それぞれの日本語文字をUnicodeのコード値(u/○○○○のような)に変換する必要があります。その場合、Excelのマクロ側で日本語文字をUnicodeのコード値に変換するように改修するか、ファイルパスを日本語文字含めないパスにするかのどちかにする必要があります。

sakuya_izayoi

unread,
Aug 2, 2018, 10:04:12 AM8/2/18
to QGIS初心者質問グループ
TJさま
ありがとうございます。そういう事でしたか。なんでかなというモヤモヤがとれてすっきりしました。この文字が何なのかが分かれば、変更しなくても良いやです。

バッチファイルは、そうですね。注意が気ありがとうございます。Unicodeに変更というのもありだと思いますが、ファイルバスを1バイト文字だけのにした方が良いですね。
という事で、私の添付したエクセルを使う場合には、2バイト文字を含むフォルダ(ディレクトリ)はやめてください。エラーを起こしてしまいます。お礼とともに、訂正しておきます。

sakuya_izayoi

unread,
Aug 7, 2018, 6:42:08 AM8/7/18
to QGIS初心者質問グループ
こちらizayoiです。
お世話になります。
前回添付いたしましたjson作成_アップロード用.xmlsですが、ファイル書き出し時に想定より一行少なくなってしまうバグがありました。
ここにお詫びとともに修正版をアップロードいたします。
もしも使用している方がお見えでしたら、ファイルまたはマクロ部分を書き換えて使ってください。
json作成_アップロード用_修正版.zip
Reply all
Reply to author
Forward
0 new messages