コンテンツにスキップ

筆地インポート~

韓国の地籍データ(VWorld)を使って、地図上にサイト境界をすばやくインポートします。ポリゴンを手動で描く代わりに、住所検索やCSVファイルを使うことで、正確な地籍境界を即座に生成できます。


事前準備~

VWorldのAPIキーを登録しておく必要があります。

  1. /geo/layer でVWorldレイヤーを追加します。
  2. 歯車アイコン → APIキーを入力 → Save。
  3. Activateで有効化します。

Activateは、VWorldの地図タイルを画面に表示するためのものです。区画取り込み自体はキーがあれば動作し、有効化されたVWorldレイヤーが優先的に使われ、有効なものがない場合は登録だけされている(無効な)VWorldレイヤーのキーが代わりに使われます。VWorldレイヤーが一つもない場合やAPIキー欄が空の場合は、VWorld GIS入力が登録されていないかAPIキーがない旨のメッセージが表示され、検索は失敗します。


インポートダイアログを開く~

  1. /geo/design に移動します。
  2. 地図下のモードバーで サイト モードに切り替えます。
  3. サイト設定ドロワーで 住所から追加 横の 検索 ボタンをクリックします。

これで 住所からサイトをインポート ダイアログが開きます。住所入力 と CSV一括 の2つのタブがあります。このダイアログは地図を覆うのではなく右側からドロワーとしてスライドインし、地図を横に押しのけるため、見つかった筆地の境界が描かれるのを見ながら次の住所を入力できます。ドロワーは一度に1つしか開かないので、サイト設定ドロワーは閉じます。スマートフォンでは画面全体を覆い、上端のハンドルで少し下げたり元に戻したりできます。


住所からインポートする(住所入力)~

  1. 住所を入力します(例: ソウル特別市江南区駅三洞808)。カンマ区切りで複数入力するか、住所を追加 ボタンで入力欄を増やせます。
  2. 検索 をクリックします。
  3. 見つかった筆地が下のプレビューリストに表示され、地図上にも境界が描かれます。失敗した住所は理由とともに表示されます。

CSV一括インポート(CSV一括)~

複数の筆地を一度にインポートする場合に使います。

CSVファイル形式~

住所のみを1行に1つ、1列目に入力します。ヘッダー行も名前列もありません — 他の列があっても無視され、インポートされる各サイトの名前は住所そのもの(または保存時の サイト名 欄)から決まります。

123 Gojung-ri, Songsan-myeon, Hwaseong-si, Gyeonggi-do
124 Gojung-ri, Songsan-myeon, Hwaseong-si, Gyeonggi-do
456 Ipbuk-dong, Gwonseon-gu, Suwon-si, Gyeonggi-do

インポート方法~

  1. CSV一括 タブで CSVファイルを選択 からファイルを選びます。
  2. アップロードして処理 をクリックします。
  3. 結果は住所検索と同じプレビューリストに表示されます — 成功した筆地には✓、失敗した住所には理由が付きます。

確認して保存する~

どちらのタブも同じプレビュー領域を共有します。

  • 隣接する筆を統合(チェックボックス、デフォルトはオフ)— プレビュー内で隣接するポリゴンをturf.jsで1つのサイトに統合してから保存します。オフのままだと、プレビューの各筆地がそれぞれ個別のサイトとして保存されます。CSVでインポートした筆地も、このチェックボックスをオンにしたときだけ統合されます — 自動では統合されません。
  • サイト名 — 最初の結果の名前が自動入力されます(複数件のときは「ほかN筆」が付きます)。保存前に編集できます。統合しない複数の筆地を保存する場合(結果がちょうど1件でない限り)、このフィールドではなく各筆地が自分自身の名前で保存されます。
  • サイトとして保存 — プレビュー中のすべての筆地(または統合結果1件)を保存します。保存には設定を編集する権限が必要で、その地図が自分のアクセスグループの中にある必要があります。どちらかが欠けていると何も保存されず、すべての筆地が単に失敗として集計されます。検索とプレビューはログインしていればだれでも行えます。

保存後、ステータス行に保存した件数、取り込み済み(下記参照)の件数、失敗した件数がそれぞれ表示されます。保存または取り込み済みが1件でもあれば、ドロワーが閉じて地図が再読み込みされ、各サイトが中央の名前ラベルとともに表示されます。

同じ筆地を2回インポートしても重複は作られません

現在の地図に同じジオメトリのサイトが既にある場合、再度保存を試みてもエラーではなくスキップとして扱われ、「取り込み済み」として別集計されます。

保存された筆地は Site タイプのGeoShape(サイト)であり、手描きのサイトと同じように編集できます。


APIを直接使用する~

自動化スクリプトから筆地インポートを呼び出すには、REST APIを使用します。上記のUIも、結局は以下の3つのエンドポイントをそのまま呼び出す薄いクライアントです。

住所からインポートする~

POST /api/geo/parcel/from_address
Content-Type: application/json

{
  "address": "123 Gojung-ri, Songsan-myeon, Hwaseong-si, Gyeonggi-do"
}

レスポンス:

{
  "ok": true,
  "feature": {
    "type": "Feature",
    "geometry": { "type": "Polygon", "coordinates": [[[...], ...]] },
    "properties": { "name": "..." }
  },
  "name": "123 Gojung-ri, ...",
  "pnu": "4159025300100230000"
}
失敗時: {"ok": false, "error": "..."}。

CSV一括インポート~

POST /api/geo/parcel/from_csv
Content-Type: multipart/form-data

file=<CSVファイル、1行に住所1つ、1列目のみ使用>

レスポンス:

{
  "ok": true,
  "features": [ /* 成功した住所ごとのGeoJSON Feature */ ],
  "names": [ "..." ],
  "errors": [ "<住所>: <理由>", "..." ]
}

サイトとして保存する~

POST /api/geo/parcel/save_as_site
Content-Type: application/json

{
  "feature": { "type": "Feature", "geometry": { "type": "Polygon", "coordinates": [...] }, "properties": {} },
  "name": "Greenhouse Site 1",
  "map_uuid": "<map UUID>"
}

edit_settings 権限と対象地図へのスコープが必要です(なければ 403)。map_uuid は実在する地図である必要があります。同じ地図に同じジオメトリのサイトが既にある場合、新規作成の代わりに 409 と {"ok": false, "duplicate": true, "shape_id": ..., "existing_name": "..."} を返します。


注意事項~

  • 対応しているのは韓国国内の住所のみです(VWorld PNU APIを使用)。
  • 住所認識に失敗する場合は、道路名住所と地番住所の両方を試してください。
  • 大きなCSV(100行以上)は、行ごとにVWorldへの問い合わせが発生するため処理に時間がかかることがあります。
  • インポートした筆地は、他のサイトと同じように編集できます。

関連ページ~