y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

空間DB(SDF)とかシェイプファイル(SHP)とか

国土数値情報のXMLを国土数値情報データ変換ツールで変換すると、shp,shx,dbf,idxなんていうファイルが書き出されるのであるが、これらの役割と、MapGuideにインポートしたあとのSDFの関係が分かっていなかった(汗)。
shpは、形状、空間情報だけのファイルで、dbfが属性のファイル。dbfはエクセルでそのまま開くことができる。
SDFは、shpとdbfが結合された空間地図DBとも言うべきファイルになってる。RDBMSに図形オブジェクトや空間情報、属性情報を格納する場合には、トランザクションなどが使えるが、SDFはファイルベースなので、激しい読み書きが発生する場合には、よろしくない(らしい)。
簡易的な、地図データベースフォーマットとして捉えると良い(らしい)。

・・でそんな目で、MapGuideStudioの”SDFフィーチャソース”を詳しく見てみる。
他のデータソースとフィーチャ(図形オブジェクト)を結合できたりする。これってビューってことでしょ?でしょ?

・・ってことは、国土数値情報の属性(都道府県コード、市町村コード)なんかと、他の統計値なんかを結合して、主題図にしちゃったりも出来るってことね。

・・で更に、WebAPIからSDFをどんな風に扱えるのかを見てみる。
.NETサンプルアプリケーションのfindparcels.aspxが非常に参考になった。
マップオブジェクトを取得して、MgFeatureReaderっていうクラスを使ってGetString("STN")なんていうメソッドで列”STN”の値を読める。GetGeometry("Geometry")メソッドで座標値の取得をする。
この時、クエリオプション(フィルタ)ってのがあって、LIKEとかの演算子を使える。