所有地を可視化する

所有地が複数の地番で構成され共用部分や私道持分などがある場合に、 ご近所を含む地番区画を分かりやすく可視化できると良い(気分的にスッキリするし代替わり時に円滑に引き継げる)。
地番ごとの区画形状データは地図XMLファイルとして法務省から公開されているものの、 都市部の多くでは統一された座標系のデータとなっておらず、一般的な地図アプリケーションでは表示できない。 そこで、公開された地図XMLファイルから地番ごとの区画形状データ(ポリゴンデータ)を抽出するとともに座標系を合わせ込む機能を有するライブラリを開発し、 所有地を分かりやすく可視化することにした。

可視化の例

  • 住所を指定すると、指定住所居住者が所有する土地が赤系の色で塗りつぶされ、持分割合が色の濃さで表現される。
    一部推測によるデータが含まれているため、実際とは異なる可能性があります
  • 座標系(位置と向きと大きさ)はGoogleマップに合わせてあり、Googleマップの航空写真に重ねて表示できる。
    本例ではGoogleマップに合わせたが他の座標系に合わせることもできる
  • 地番は区画面積に応じたサイズで表示され、最小サイズで表示される地番は表示の度に若干異なる位置に表示される。
小さい画面で利用される場合はスクロールまたは画面全体を縮小してご確認ください
© Google

可視化する方法

  • 所有地の登記所備付地図データ(地図XMLファイル)を取得する
    取得する方法は地番区画データ取得ライブラリを参照
  • 開発した地番区画データ取得ライブラリを利用した簡単なPythonスクリプトで、地図XMLファイルから区画形状データを抽出し、 Googleマップに合わせるよう座標変換したポリゴンデータをテキストファイルに出力
    from landshape import LandShape
    xmlpath = (地図XMLファイルパス)
    chiban_set = (対象の地番リスト)
    land = LandShape(xmlpath, chiban_set)
    src_pts = (地図XMLファイルにおける四辺形四隅の頂点座標リスト)
    dst_pts = (Googleマップにおける四辺形四隅の頂点座標リスト)
    fitshape = land.fit_shape(src_pts, dst_pts)
    print_shape(fitshape)
  • 地番区画データ描画ライブラリ(JavsScriptファイル)を読み込む
    <script src="landview.min.js"></script>
  • テキストファイルに出力されたポリゴンデータ(座標点列)をJavsScript配列(連想配列+配列)にコピペで格納
    const fit_shape = {
    '6155-5':[[262.372, 343.333], [354.864, 422.832], [209.02, 588.94], [116.978, 508.382]],
    ...
  • 住所ごとの所有地データ(地番+持分割合)をJavsScript配列に記述
    const owners = {
    '3-14-2': [{lot:'6155-5'}, {lot:'6150-3',ratio:1/12},{lot:'6155-3',ratio:1/12},],
    ...
  • 地番区画データ描画ライブラリの描画関数にポリゴンデータと所有地データを渡して描画
    mapview = new LandView('mapCanvas');
    mapview.draw(fit_shape, 1, ...[owners, '3-14-2']);