9. 基盤地図情報メニュー
9.2. シェープファイルへ変換
作成した基盤地図情報原形データベースの XML ファイルをまとめてシェープファイルに変換します。(ダウンロー ドデータには対応していません)
9.基盤地図情報メニュー
106
【入力フォルダ】
基盤地図情報原形データベースXMLファイルのフォルダを指定します。
【平面直角座標系に変換する】
XMLは緯度経度で記録されているので、平面直角座標系に変換します。OFFの場合、シェープファイルの座標は 緯度経度の度単位になります。
【地物のタグの値から[fgoid:][fmdid:]を除く】
地物のタグ(<地物 ID>など)の値が「fgoid:」「fmdid:」で始まる場合、「fgoid:」「fmdid:」を除いた文字列をシェー プファイルに記録します。
【出力フォルダ】
シェープファイルを作成するフォルダを指定します。
作成するシェープファイル名は「地物名+.shp」「地物名+.dbf」「地物名+.shx」となります。平面直角座標系に変 換する場合は.prjも作成します。ひとつの地物が複数のXMLファイルに分かれている場合も一つのシェープファイル にまとめます。
○○市_建築物0001.xml
○○市_建築物0002.xml
○○市_建築物0003.xml
建築物.shp 建築物.dbf 建築物.shx
地物の空間属性とシェープファイルのタイプは次のように対応します。
地物の空間属性 シェープファイルのタイプ 地点(GM_Point) Point
場所(GM_Curve) Polyline 範囲(GM_Surface) Polygon
XML のひとつの地物をシェープファイルのひとつのレコードに変換します。行政区画の飛地や建築物の中庭など、
XML のひとつの地物に外周(exterior)と内周(interior)がある場合、シェープファイルの同じレコードの外周と内周 にします。
exterior
interior interior
外周
内周 内周
シェープファイルのレコード XMLファイルの地物
GM_Surfaceでは外周は左回りなので右回りに反転、内周も右回りから左回りに反転します。もし、XMLのexterior
9.基盤地図情報メニュー
107 が誤って右回りになっている場合でも、そのまま反転してシェープファイルでは左回り(誤り)になります。
シェープファイルのフィールド名、フィールド型、小数部の長さはインストールフォルダの「FGDCDB2SHP.csv」で 設定しています。変更したい場合、インストールフォルダ下にフォルダ「def」を作成し、「FGDCDB2SHP.csv」のコピ ーを置いて編集してください。フォルダ「def」のファイルを優先して参照します。
「FGDCDB2SHP.csv」の一行目はヘッダで、2行目からがデータです。
列 内容
1 地物の名称です。
2 XMLファイルでのタグ名です。子要素がある場合スラッシュ’/’でタグ名を付加します。
3 シェープファイルのフィールド名です。フィールド名は11バイト以下なので、全角の場合5文字、アルファベ ットで11文字になります。半角カタカナは使わないで下さい。
4 シェープファイルのフィールド型です。空白の場合、文字列とします。
C:文字列 N:整数 F:実数
5 フィールド型が実数の場合、小数点以下の桁数を指定します。
シェープファイルのフィールド長はXMLでのタグの内容のバイト数から計算し、最大のバイト数を設定します。た だし、実数の場合、フィールド長=最大バイト数+小数点以下の桁数+1とします。
バージョン1.0.109からシェープファイルにフィールド「id」を付加します。XMLファイルの地物の属性「id」の 文字列(例「A12345」)をセットします。フィールド「id」の型は文字列で、フィールド長はセットする文字列の最 大長をセットします。「FGDCDB2SHP.csv」での定義は不要です。
XMLの地物のタグについて、「FGDCDB2SHP.csv」に変換設定がない場合、その旨を表示します。この場合、このタグ の情報はシェープファイルには保存されません。
「FGDCDB2SHP.csv」で指定したフィールド型とXMLでのタグの内容が合わない場合、その旨を表示し、シェープフ ァイルの属性値は空白にします。
「建築物」の「名称」など、地物にタグがない場合、シェープファイルの属性値は空白になります。
座標の精度については、XML ファイルで座標値を小数点以下9桁に丸めるため、平面直角座標に変換しても、元の シェープファイルと全く同じ座標値にはなりません。また、平面直角座標から緯度経度、緯度経度から平面直角座標 への変換計算でも座標値のずれが発生します。
9.基盤地図情報メニュー
108 元のシェープファイル
・ メートル単位
・ 倍精度実数
基盤地図情報XMLファイル
・ 緯度経度の度単位
・ 小数点以下9桁で文字列
変換シェープファイル
・ メートル単位あるいは度単位
・ 倍精度実数
XMLファイルのDM分類コードが「000010108」など0から始まる文字列の場合、「FGDCDB2SHP.csv」のフィールド型 の設定を「N(整数)」から「C(文字列)」に変更してください。「FGDCDB2SHP.csv」のデフォルトの設定は「N」で、「N」
の場合、「000010108」が「10108」になってしまいます。