Ksj2gp
ブラウザに国土数値情報の ZIP ファイルを投げつけると、いい感じに GeoParquet / Gpkg / GeoJSON に変換するやつです。
Install / Use
/learn @yutannihilation/Ksj2gpREADME
ksj2gp - 国土数値情報 Shapefile 変換ツール
<a href="https://yutannihilation.github.io/ksj2gp/"> <p align="center"> <img width="50%" src="screenshot.png"> </p> <p align="center">https://yutannihilation.github.io/ksj2gp/</p> </a>概要
ブラウザ上で動く、国土数値情報の Shapefile を GeoParquet / GeoJSON に変換するツールです。
フォーマットの変換だけでなく、国土数値情報のデータは属性名やデータの中身がL001_123のようなコードになっていますが、これを人間が読めるラベルに変換します。
まだ開発中ですが、ある程度は動く状態のはずです。もし使ってみてエラーやおかしな挙動を発見されましたら、お気軽に issues からご連絡ください(日本語で大丈夫です)。
仕組み
技術的な話は docs/design.md にまとめています。
使用上の注意
- 一時データを作成するために OPFS というブラウザのストレージ領域を利用します。
- GeoJSON の座標系は、以下のように扱います。
- Tokyo Datum は WGS84 に座標変換
- JGD2011・JGD2000 は無変換
やりたいこと
出力
- [x] GeoParquet
- [x] GeoPackage
- [x] GeoJSON
入力
- 文字コード
- [x] Shift_JIS
- [x] UTF-8
- 座標系(緯度経度座標系のみ)
- [x] JGD2011
- [x] JGD2000
- [x] 旧日本測地系
- [x]
.prjファイルがない場合
変換
※機能はあるけど、カバー率はまだまだです
- [x] 属性名を人間が読めるラベルにする
- [x] データの中身を人間が読めるラベルにする
ビルド
cd rust
cargo build --target wasm32-unknown-unknown -p ksj2gp-web
cd -
wasm-bindgen --out-dir npm --typescript --target bundler ./rust/target/wasm32-unknown-unknown/debug/ksj2gp_web.wasm
Note: needs vite --force to reflect the new binary
bun run dev --force
To optimize:
path/to/wasm-opt ./npm/ksj2gp_web_bg.wasm -O -o tmp.wasm
mv tmp.wasm ./npm/ksj2gp_web_bg.wasm
Related Skills
node-connect
349.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
