更新履歴




始めに ...
使用するには、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を作成する際に、緯度・経度に変換します。