はじめに
あけましておめでとうございます。
2023年年始早々おめでたいニュースが発表されました。法務局地図が誰でも無償でダウンロードできるようになりました。大変よろこんでおります。
Twitterを見ていますとこのデータに興味を持っている方は大勢おられるようです。
しかし公開されたデータは公共座標のデータだけでなく旧土地台帳付属地図のデジタル化されただけのものも含まれており、バラバラの図面ではとてもじゃないが眺める以外に使い道がないというようなコメントもちらほら見かけられます。
眺めるだけだなんて勿体ない。ぜひもっと遊ぼうじゃないかということで少し記事を書こうと思います。地図もGISも初心者なのでおかしいところはあろうかと思いますが遊びですのでご容赦を。
【注意】この記事ではG空間情報センターからダウンロードしたXML図面を加工方法を記載し、また加工中のGIS画面のキャプチャーなどを貼るかもしれませんが、いずれも利用規約の範囲内で行う私的な研究記録であり公的な地図情報ではありません。
目標:淡路島の地番図作成
XMLのデータが入ったら何をするかと言いますと、地図を作ります。
地番図という名称でいくつかの市町村はオープンデータとして既に公開していますが公開していない市町村もまだまだ多く、公開したくともできるようなデータ状態ではないという地域も多くあります。この度は本来公開できるような状態ではないデータが公開されたことを祝いまして、せっかくなので繋がった地図にしようというわけです。
手順は大まかに次の通り
①XMLデータから一般的な地図データ(SHPやGPKGなど)に変換。
②図面単位に分類してポリゴンを重なりのないよう再配置。
③図面はおよそ小字単位のはずなので場所を特定し、図面を大まかに配置。
④別図などの差し替えを行い、一小字複数図面状態のものを集約。
⑤図面同士を接続。
上手く行けばこれで土地全域が図面で埋まるはずです。本当に埋まるかどうかはやってみないとわかりません。
今回の作業の総目標は淡路島全体の地番図作成です。なぜ淡路島なのかと言えば、兵庫県には全国唯一(他に長野県の一部?)のとても素敵なオープンデータが存在するためです。なおかつある程度限りのある範囲ということで島を選定しました。
まずは淡路市から着手します。市町村でも一人でやるようなボリュームではないのですが、一人しかいませんので一人で進めます。
やっていきましょう。
①環境準備
まずはXMLを適当な方法でQGISで扱える形式に変換します。XMLデータは中身がそのままテキスト形式になっていますのでよく読むと仕組みが理解できるようになっています。
XML内は地図の情報として点の定義→点と点を結ぶ線の定義→線と線を繋いだポリゴンの定義→ポリゴンが指す土地(筆)の定義、また属性として筆ごとの地番などの情報で構成されています。つまりポリゴンの座標値を並べてポリゴンをWKT定義し、その横に属性をカンマ区切りで並べてしまえばQGISにそのまま表示できるデータになります。
実際の変換にはGeoJsonへの変換ソフトが公開されているらしいのでこれらを使うと楽そうです。
XMLで公開されているデータは測量済みのものも、そうでないものも平面直角座標系となっていますのでこれを緯度経度のデータに変換するのは避けた方が良いでしょう。あえて変換せずともCRSを設定すればそのまま使えます。
QGISはインストール時にはEPSG:4326に設定されていますが今回は兵庫県淡路市を扱いますのでこれをJGD2011のⅤ系(5系)、CRSはEPSG:6673に変更します。この設定は新規プロジェクトを作ったときすぐに行います。
それから、この後取り込むデータにはCRS定義のファイルが付いていないので自動でプロジェクトCRSを適用するようにQGIS本体の設定も変更しておきましょう。少し煩わしさが減ります。
環境準備は一旦これで完了です。(このあと作業のためのプロジェクトの切り分けを行いますが同じプロジェクトの別名保存で使いまわします)
②データ状態の確認と再配置
こちらが取り込んだXMLデータのうち、もっともらしい位置に来ているものたちです。
淡路市さんはなかなか頑張っていらっしゃいますね。人口カバー率はかなり高いものと思われますがやはり林野部は未調査のようです。
市街地なんかは地図も大概見たまんまの状態ですから自力で作っても面白くないと言えば面白くないのです。畑と棚田の面影残る山手側を楽しんでいきましょう。
さて、残りの図面ですが、おそらく全てが原点付近にずらずら並んでいます。
5系原点あたりの画面上1:50000縮尺がこちらです。
星雲をみるような趣があります。真ん中のあたりは細かく見えているのではなく、地図のポリゴン同士が重なっているために黒々としています。この状態では図面を選択するだけでも難儀しますので、一旦大字属性を元にデータを別ファイルにバラします。
実際にポリゴン同士の重なりをなくすためにはXMLファイル別にするしかないのですが、その単位だと今度はファイル内に大字同士が混ざりあって管理しにくいので大字別とします。(属性にXMLのファイル名から地図IDを残しておけば重なりの解除はなんとかなります)
③図面の仮配置
まずは「岩屋」という大字に挑戦してみます。
この大字を選んだ理由ですが、ごく一部の図面ですが測量済みの箇所があったのでそこから続きを並べられそうな気がしたためです。上の画像の陸地部分に乗っている2図面のうち、右側の図面はどうやら場所は正しそうです。(逆に五十音順の先頭となりそうな「井出」は皆さん海の上でしたので後回しにしました)
この大字の総ポリゴン数ですが、約13000です。適当に選んだのですがかなり大きめの大字でした。「地番」は4000辺りまでしかないのですが水やら道やら長狭物不明やら飛び地やら二重地番やら色々込みではこのボリュームになるようです。
まずは最低限大字の範囲を特定したいのでデータを探しにいきます。
(書きかけです。最終的にはまとめようと思っていますが全て文章で進めるとボリュームが大きいので動画撮りました。適当にYouTubeから探してください。)






