国交省の「全国道路施設点検データベース(xROAD)」APIを活用し、入力された橋梁やトンネル等の施設名から位置情報・諸元データ等を一括取得し、QGISに直接読み込めるGeoJSON形式として書き出すツールです。
-
ドラッグ&ドロップで対象施設を一括検索
- 確認したい施設名が記載されたテキストファイルやCSVを画面にドラッグ&ドロップするだけで、xROAD APIから対象の施設データを一括検索します。
-
AI(Gemini)による強力なテキスト自動抽出
- 施設点検の調書ファイル(PDF)や、人間が書いたメモ書きのような自然文などが含まれたファイルであっても、
gemini-2.5-flashAPIが文脈を解釈し、必要な「施設名」だけを自動で抽出します。 - 例:
158-上半原-003のような一見名前には見えない管理番号や、ゴミテキストが混ざった資料からでも正確に抜き出せます。
- 施設点検の調書ファイル(PDF)や、人間が書いたメモ書きのような自然文などが含まれたファイルであっても、
-
柔軟な検索・同名施設の自動判別
- API側での「全角・半角」の表記ゆれ(例:
大橋123vs大橋123)を自動的に吸収して取りこぼしを防ぎます。 - 検索候補が複数存在する場合でも、画面上で「管理者」「路線名」「寸法(橋長・幅員など)」「市区町村」がプレビューされるため、どれが正しい施設かを簡単に判別できます。
- API側での「全角・半角」の表記ゆれ(例:
-
QGIS連携用ファイル(Zip)の一発出力
- 検索・確定した施設一覧は、APIから取得したすべての属性データ(点検履歴や諸元など)を保持したまま
GeoJSONフォーマットに変換されます。 - 自動で色分け・アイコン表示が行われる
QMLスタイルファイルと共にZip化されるため、ダウンロードしてQGISにそのままドロップするだけで可視化が完了します。
- 検索・確定した施設一覧は、APIから取得したすべての属性データ(点検履歴や諸元など)を保持したまま
UI上部のタブから切り替えることで、以下のxROADデータセットに対応しています:
- 橋梁 (Bridges)
- トンネル (Tunnels)
- シェッド (Sheds)
- 大型カルバート (Culverts)
- 横断歩道橋 (Pedestrian Decks)
- 門型標識等 (Signs)
- Python 3.x
- xROAD API へのアクセスが可能なネットワーク環境
- 以下のPythonライブラリが必要です:
pip install google-genai PyMuPDF
-
APIキーの設定
- PDF等からのAI抽出機能を使用するためには、Gemini APIキーが必要です。
- コマンドプロンプト等で環境変数
GEMINI_API_KEYを設定してください。 - 例(Windows):
setx GEMINI_API_KEY "あなたのAPIキー"
-
サーバーの起動
- ツールフォルダ内にある
start.cmdをダブルクリックして実行するか、ターミナルから以下を実行します。
python server.py
- サーバーが立ち上がると、自動的にブラウザが開き
http://localhost:8080の検索画面が表示されます。
- ツールフォルダ内にある
-
データの検索と出力
- 検索したい施設の種類をタブで選択します(例:「橋梁」)。
- PDFやCSV、テキストファイルを画面中央の枠にドラッグ&ドロップします。
- AIが自動で施設名をテキストから抽出し、xROAD APIで検索を行います。
- 画面下部に検索候補が複数出た場合は、寸法や路線名などを手動で確認して[確定]ボタンを押します。
- すべての施設が確定し「出力リスト」に移動したら、画面最下部の**「QGIS用Zipをダウンロード」**をクリックします。
-
QGISへのインポート
- ダウンロードした
search_results.zipを解凍します。 - 中に入っている
search_results.geojson(データ本体)とsearch_results.qml(デザイン設定)を、QGISのレイヤパネルへドラッグ&ドロップすると、即座にマップ上にピンが立ち、属性テーブルから全データが確認できます。
- ダウンロードした