更新履歴

始めに ... 使用するには、Pythonが必要です。Python3.11 と Python3.12 で動作確認しています。
また、PyQt5 や simplekml 等のライブラリのインストールも必要です。
GeoJSON の 作成には、デジタル庁の「mojxml2geojson」の「K'z lab 改造版」が必要です。
PMTiles の作成には、tippecanoe を使用していますので、WSL(Windows Subsystem for Linux)の設定や tippecanoe のインストールが必要になります。
必須ライブラリ一覧
PyQt5
pyproj
geojson
simplekml
GDAL(下記より対応バージョンをダウンロード)
https://github.com/cgohlke/geospatial-wheels/releases/tag/v2025.3.30
・Python 3.12 の場合、gdal-3.10.2-cp312-cp312-win_amd64.whl
・Python 3.13 の場合、gdal-3.10.2-cp313-cp313-win_amd64.whl
【DOWNLOAD】

0.地図XMLのダウンロード
1.G空間情報センターの API key と、地図XMLの年度を入力します。
2.リスト取得します。
3.都道府県を選択して「ダウンロード」します。
4.保存先を選択(任意の空のフォルダを選択)します。... 以下、ルートフォルダと呼びます。
例)D:\mojxml
※ ダウンロードと同時に、該当する都道府県のフォルダを作成して(01_hokkaido〜47_okinawa)、そこに保存されます。
D:\mojxml\01_hokkaido\01101-4300-2025.zip
【CONVERT】

1.ZIPファイルの解凍処理
1.「0.地図XMLのダウンロード」で選択したルートフォルダを選択します。
例)D:\mojxml
2.各都道府県フォルダに「xml」というフォルダが作成され、解凍したxmlファイルのみ保存されます。
例)D:\mojxml\01_hokkaido\xml\010101-4300-2025.xml
2.GeoJSON作成用バッチファイル作成
1.xmlファイルのあるルートフォルダを選択します。
例)D:\mojxml
2.各「xml」フォルダ下に、convert_geojson.batが作成されます。
例)D:\mojxml\01_hokkaido\xml\convert_geojson.bat
3.FlatGeobuf作成用バッチファイル作成
1.GeoJSONファイルのあるルートフォルダを選択します。
2.各「xml」フォルダ下に、都道府県フォルダ名_kukaku_fgb.batと都道府県フォルダ名_chiban_fgb.batが作成されます。
例)D:\mojxml\01_hokkaido\xml\01_hokkaido_kukaku_fgb.bat
D:\mojxml\01_hokkaido\xml\01_hokkaido_chiban_fgb.bat
4.バッチファイル実行(並列処理)
1.「GeoJSON」「FlatGeobuf」いずれかのオプションボタンを選択します。
2.バッチファイルのあるルートフォルダを選択します。
例)D:\mojxml
※「GeoJSON」の場合
各「xml」フォルダ下に「kukaku」フォルダが作成され、そこにファイル名に「daihyo」の付かないGeoJSONファイルが作成されます。
各「xml」フォルダ下に「chiban」フォルダが作成され、そこにファイル名に「daihyo」が付くGeoJSONファイルが作成されます。
※「FlatGeobuf」の場合
各「xml」フォルダ下に都道府県名.fgbとchiban_都道府県名.fgbが作成されます。
例)hokkaido.fgb chiban_hokkaido.fgb
5.PMTiles作成
1.FlatGeobufのあるルートフォルダを選択します。
例)D:\mojxml
2.ルートフォルダ下に「kukaku」と「chiban」フォルダが作成され、「kukaku」フォルダ下に全ての都道府県フォルダ名.fgbが移動し、「chiban」フォルダ下には全てのcjiban_都道府県フォルダ名.fgbが移動します。
例)D:\mojxml\kukaku\hokkaido.fgb D:\mojxml\chiban\chiban_hokkaido.fgb
3.下記の5つのコマンドがWSL上で実行されます。(ルートフォルダが「e:\mojxml」の場合)
tippecanoe -l moj_map -rg50000 -z16 -Z14 --no-tile-size-limit --no-line-simplification -o /mnt/e/mojxml/kukaku/zenkoku.pmtiles /mnt/e/mojxml/kukaku/*.fgb
tippecanoe -l chiban -rg50000 -z15 -Z15 --no-tile-size-limit -o /mnt/e/mojxml/chiban/chiban15.pmtiles /mnt/e/mojxml/chiban/*.fgb
tippecanoe -l chiban -rg50000 -z16 -Z16 --no-tile-size-limit -o /mnt/e/mojxml/chiban/chiban16.pmtiles /mnt/e/mojxml/chiban/*.fgb
tippecanoe -l chiban -rg50000 -z17 -Z17 --no-tile-size-limit -o /mnt/e/mojxml/chiban/chiban17.pmtiles /mnt/e/mojxml/chiban/*.fgb
tippecanoe -l chiban -rg50000 -z18 -Z18 --no-tile-size-limit -o /mnt/e/mojxml/chiban/chiban18.pmtiles /mnt/e/mojxml/chiban/*.fgb
XMLファイル分別処理
1.GeoJSONファイルのあるルートフォルダを選択
2.xmlフォルダ下にあるxmlの内、任意座標系のxmlを「任意座標系」というフォルダを作成して移動します。
ファイル数確認
1.GeoJSONファイルのあるルートフォルダを選択
2.ルードフォルダ下にあるzip,xml,geojson,fgb,pmtilesの数をフォルダ毎に調べます。
【CONVERT2】

1.GeoJSONファイルのあるルートフォルダを選択します。
2.各ボタンを区陸して、GeoJSONファイルを簡易描画したり、SIMA、DXF、SFC、KMLに変換します。
[SIMA 変換]
本プログラムで作成したGeoJSONのうち、ファイル名に「daiho」が付かないファイル(MultiPolygoneのGeoJSON)をSIMAに変換します。
[DXF/SFC 変換]
本プログラムで作成したGeoJSONのうち、ファイル名に「daiho」が付かないファイル(MultiPolygoneのGeoJSON)をDXFに変換します。
「daiho」が付くGeoJSONファイルは、SFX(sfc)形式に変換します。
DXF変換のみ「拡大率」で、作成後の縮尺を調整します。
[KML 変換]
本プログラムで作成したGeoJSONのうち、ファイル名に「daiho」が付かないファイル(MultiPolygoneのGeoJSON)をKMLに変換します。
平面直角座標系の系番号を選択して実行します。
[描画]
GeoJSONファイルを簡易描画します。
【基準点抽出】

地図XMLファイルから基準点データを抽出して、SIMAファイルで保存します。
1.「地図XML」ボタンをクリックして、基準点データを抽出するXMLファイルを選択します。
2.保存ファイル名と保存先のフォルダを指定します。
【Python Script の起動】
次の3つのいずれかの方法で起動してください。
1.コマンドプロンプト」を起動して、
"C:\Users\○○○\AppData\Local\Programs\Python\Python311\python.exe" convert_tool.py [Enter]
と、タイプしてください。
2.同梱のrun.batを書き変えて実行してください。
run.batの内容
"C:\Users\○○○\AppData\Local\Programs\Python\Python311\python.exe" convert_tool.py
pause
※ ○○○の箇所を、ご自分のユーザ-名に変えて保存してください。
3. 2の修正を行ったうえで、同梱のconvert_tool.vbsを実行してください。
※上記は、Pythonをデフォルトのフォルダにインストールしている場合です。デフォルト以外でインストールした場合、ご自分のパスを使用してください。
【環境設定】
●Python
1.Pythonをインストールします。
下記より、Pythonをダウンロードします。
https://www.python.org/downloads/
Python3.12の場合、デフォルトでは、
C:\Users\○○○\AppData\Local\Programs\Python\Python312
にインストールされます。(○○○は、ユーザー名)
※ 以下、デフォルトの設定でインストールされたものとして説明します。
2.PyQt5をインストールします。
コマンドプロンプトを起動して、
"C:\Users\○○○\AppData\Local\Programs\Python\Python312" -m pip install pyqt5 [Enter]
と、タイプします。
3.pyprojをインストールします。
コマンドプロンプトを起動して、
"C:\Users\○○○\AppData\Local\Programs\Python\Python312" -m pip
install pyproj [Enter]
と、タイプします。
4.geojsonをインストールします。
コマンドプロンプトを起動して、
"C:\Users\○○○\AppData\Local\Programs\Python\Python312" -m pip
install geojson [Enter]
と、タイプします。
5.simplekmlをインストールします。
コマンドプロンプトを起動して、
"C:\Users\○○○\AppData\Local\Programs\Python\Python312" -m pip install simplekml [Enter]
と、タイプします。
6.GDALをインストールします。
下記より対応バージョンをダウンロードします。
https://github.com/cgohlke/geospatial-wheels/releases/tag/v2025.3.30
・Python 3.12 の場合、gdal-3.10.2-cp312-cp312-win_amd64.whl
・Python 3.13 の場合、gdal-3.10.2-cp313-cp313-win_amd64.whl
whlファイルのフォルダに移動して、コマンドプロンプトを起動して、
"C:\Users\○○○\AppData\Local\Programs\Python\Python312" -m pip
install gdal-3.10.2-cp313-cp313-win_amd64.whl [Enter](Python 3.13 の場合)
●mojxml2geojson
1.mojxml2geojson(改)をインストールします。
下記より、mojxml2geojson(改)(デジタル庁のコンバーターの改造版)の2025.05.15以降のものをダウンロードします。
https://www.n-survey.com/cgi/down/download.cgi?dl=mojxml2geojson
2.解凍してできた「mojxml2geojson-kzlab」フォルダを任意のドライブにコピーします。(以下、C:\にコピーされたものとして説明します。
3.「mojxml2geojson-kzlab」フォルダに移動して、コマンドプロンプトを起動して(起動してから移動しても良い)、
C: [Enter]
cd C:/mojxml2geojson-kzlab [Enter]
"C:\Users\○○○\AppData\Local\Programs\Python\Python311\python.exe" -m pip install . [Enter]
と、タイプします。
●tippecanoe
■ Ubuntu 22.04 のインストール
[1] Linuxインストール前の準備
1.「コントロールパネル」→「プログラムと機能」→「Windowsの機能の有効化または無効化」
2.「Linux用Windowsサブシステム」と「仮想マシン プラットフォーム」にチェックを入れ「OK」
[2] WSL2用Linuxカーネルをインストール
1.https://aka.ms/wsl2kernel を開く
2.「x64マシン用WSL2 Linuxカーネル更新プログラムパッケージ」でインストーラをダウンロード
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
3.ダウンロードしたインストーラを起動してインストール
[3] WSL2を既定のバージョンに設定
1.コマンドプロンプトを起動して「wsl --set-default-version 2」とタイプし、Enter
[4] Linuxディストリビューションのインストール
1.「Microsoft Store」にアクセス https://aka.ms/wslstore
2.検索ボックスで「ubuntu」を検索
3.Ubuntu 22.014.3 LTSを選択して、インストール
4.ubuntuの初期設定画面で
1.「Enter new UNIX username」 で新規作成するユーザー名を入力
2.「New password」
3.「Retype new password」 で同じパスワードを入力
■tippecanoe のインストール(Ubuntu上で)
sudo apt update
sudo apt upgrade
sudo apt install language-pack-ja
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
sudo apt install gcc
git clone https://github.com/felt/tippecanoe.git
cd tippecanoe
sudo apt install make
sudo apt install g++
sudo apt install build-essential libsqlite3-dev zlib1g-dev
make -j
sudo make install
【mojxml2geojson(改)について】 デジタル庁の「mojxml2geojson」の改造版です。
変更事項
[1] 属性削除
・地図名、市区町村コード、大字コード、丁目コード、小字コード、予備コード、バージョン
[2] 属性追加
・地図XMLファイル(名)
・地番区域(名)
[3] 座標変換後のEPSGを4326に変更
[4] 追加機能
・複数の地図に跨がる場合、全ての地図番号を抽出する
・筆界未定構成筆がある場合、地番のみ、地番の後ろに括弧内に追記する
・起動時の「-u」オプション:公共座標系のみ出力する
・起動時の「-t」オプション:任意座標系のみ出力する
・起動時の「-d」オプション:別ファイルで代表点のポイントデータを作成する
・起動時の「-x」オプション:緯度・経度変換せずに平面直角座標で出力する
・起動時の「-c」オプション:代表点のみ出力する
・「-e」オプションの対象に「区域外」[「調査外」を追加
・地区外・別図・区域外・調査外のみのデータは作成しない
・変換元のXMLファイルのあるフォルダ下に、「kukaku」と「chiban」というフォルダを作成し、代表点ファイルは「chiban」フォルダにそれ以外は「kukaku」フォルダにGeoJSONファイルを作成する
・ポイントデータ用のQGISスタイルファイル[daihyo.qml]を添付
ConvertTool for Pythonから使用する場合、オプションは「-u -d -x -e」固定です。
GeoJSON作成の段階では、」平面直角座標のまま作成し、FlatGeobifを作成する際に、緯度・経度に変換します。
|
|
|