JPGIS 準拠データの論理点検用
ルールファイル等作成マニュアル
Ver. 2.0

平成 21 年４月
(社)日本測量協会

測量技術センター1当協会のJPGIS準拠データの点検プログラムの実行には，データ記述の自由度が高いJPGIS準拠の地理空間情報ファイルを読み込ませるためのルールファイル及びコード定義ファイル（xmlファイル形式）が必要になります。このルールファイルは，空間スキーマや属性情報が地理空間情報ファイル（以下，実データ）のどこに記述されているのかを示すガイドのようなものです。下図の下段に示したように，作成されたルールファイルとコード定義ファイルを点検プログラムが読み込むことで，XML（定義）スキーマに対する実データの関係や，それらのデータと属性コードの関係を参照し論理点検を行います。
ルールファイルは、「ERF_契約番号.xml」（例：ERF_L09-0001.xml）とし，コード定義ファイルは「CDF_契約番号.xml」（例：CDF_L09-0001.xml）と、ファイル名を付けてください。
ルールファイルとコード定義ファイルの作成の事例として，主に基盤地図情報【盛岡市】の水涯線を用いて，下図に入力されている番号順に解説を行います。

①

名前空間定義域②

定義域一貫性検定の定義域③ レイヤの定義域④

図空間スキーマの定義域

基盤地図情報【盛岡市】のルールファイル（上段）と実データ等との関係（下段）2① 名前空間の定義域・・・実データの名前空間の定義を記述します。
<Namespace prefix=”名前空間を指定” uri=”名前空間の uri を指定” />【例】

図１

名前空間の定義（上段：実データ，中段：XML スキーマ（定義）ファイル，下段：ルールファイル）
１．図１上段の実データ先頭部分に記述された<GI>タグに書かれている「xmlns」（赤破線内）を探します。
２．「xmlns:jps=”http://www.gsi.go.jp/GIS/jpgis/standardShemas2.0_2008-03”」の「jps」をルールファイルに「prefix=”jps”」と記述します。
３．さらに「http://www.gsi.go.jp/GIS/jpgis/standardShemas2.0_2008-03」
を参照し「uri=” http://www.gsi.go.jp/GIS/jpgis/standardShemas2.0_2008-03”」とルールファイルに記述します。
４．他の名前空間についても同じ作業を行います。
５．
「xmlns=”http://fgd.gis.go.jp/spec/2008/FGD_DLD_Schema”」のようなprefix が指定されていない名前空間は，デフォルト名前空間として指定します。 prefix は適当な任意の 文字列（例 では『 dflt』）を使って「Namespace prefix=”dflt” uri=” http://fgd.gis.go.jp/spec/2008/3

FGD_DLD_Schema”」とします。
【補足】
名前空間の URI は「http://～」で書かれていますが，ウェブ上にアクセスするようなものではなく，独特な個別の ID として使用されています。地理
実データの名前空間だけではなく，XML（定義）スキーマの名前空間も参照し記述してください。

4② 定義域一貫性検定の定義域・・・定義域一貫性検査に使用する属性コードに関する定義をします。
なお，ここでのコード定義ファイルとは，測量成果電子納品要領(案)で指定された JPGIS 準拠のコードリストとは書式が異なります。
<CodeCheck xmlfile=”コード定義ファイル名” code=”コード定義ファイルの属性コード名（name 属性値）” path=”コードが記述されている絶対パス” />【例】

図 2 定義域一貫 性検査の定義（上段：コード定義ファイル，中段：XML スキーマ（定義）ファイル，下段：ルールファイル）
１．まずコード定義ファイルを図 2 上段のように記述します。
２．図 2 上段の 3 行目「codeList name」は，属性コードが記されているタグ名です。XML スキーマ（定義）ファイル（図 2 中段）の対象地物について記述されている部分を探します。ここでは，「水涯線」を事例に5していますので，該当する部分を探します。
３．XML スキーマ（定義）ファイルには，データについて「どこに（どこのタグに）」「どんな種別で」「どんな名前で」といった空間情報のタグから属性情報のタグまでが定義されています。図 2 中段の XML スキーマ（定義）ファイルを見ると，図中 398 行目に水涯線の種別として「element name=”type”」となっています。実データの内容を確認すると，「<type>～</type>」という項目があることが分かります。これがこの事例での「属性コードが記されているタグ名」となります。
４．よって「codeList name=”dflt:type”」となります。
５．図 2 中段 XML スキーマ（定義）ファイルの 407～415 行目に種別が記されているので，これをコード定義ファイルに記述します。
６．コード定義ファイルには，図 2 上段「<codevalue=”属性コード” value=”

属性コードの名称（説明）” />」のように入力します。基盤地図情報では「属性コード」と「属性コードの名称（説明）」が同一なので，同じようにそれぞれに入力します。
７．次に，ルールファイルへの入力「<CodeCheck smlfile=”コード定義ファイ

ル名” code=”コード定義ファイルの属性コード名（name 属性値）” path=”コードが記述されている絶対パス” />」を行います。
８．コード定義ファイルの属性コード名を入力します（ここでは dflt:type）。
９．次に，コードが記述されている絶対パスをルールファイルに書き込みます。ここでは「path=”/dflt:GI/dflt:dataset/dflt:WL/dflt:type”」となります（絶対パスの記述の仕方については後述します）。
【補足】
定義域一貫性検査は，地物の属性情報（種別など）をリスト化することでチェックを行うことができます。
本マニュアルで事例として挙げた基盤地図情報においては，属性コードがXML スキーマ（定義）ファイルに列挙されていますが，測量成果電子納品要領（案）で示されているように，XML スキーマとは別に JPGIS 準拠のコードリストに属性コードの記述がある場合は，コードリストを参照してコード定義ファイルを作成してください6

③ レイヤの定義域・・・点検結果を地物ごとにレイヤ出力するための定義をします。
<Layer name=”レイヤ名” type=”幾何スキーマのタイプ” path=”図形が定義されている箇所の絶対パス” />【例】基盤地図情報『水涯線』

図 3 実データの空間情報が記述されている部分

7

１．レイヤの定義域の記述は，必ず GM_Point，GM_Curve，GM_surfaceの順に行います。
２．レイヤ名は点検を行う地物の名称を記述します。ここでは「Layer name=”水涯線”」となります（XML スキーマ（定義）ファイルを参照）。
３．地物の幾何スキーマのタイプを記述します。図 2 中段に示した XML ス
キーマ（定義）ファイルによると GM_Curve であることが記されているので，「type=”GM_Curve”」となります。
４．path では，図形が定義されている箇所の絶対パスを記述します。実デー
タの内容から位置に関する情報が書かれているタグを探します（大容量に対応した XML ビューアやテキストエディタを用いると便利）。これは，
図 2 中段で示したような XML スキーマ（定義）ファイルにも情報が記されています。
【補足】<?xml version=”1.0” encoding=”Shift_JIS”?>

絶対パスの見つけ方のヒントと<GI xsi:schemaLocation=”http://○.×/◇ △.xsd”
xmlns:xsi=”http://○.△/××/▽”

して，実データ（XML 文書）の最

xmlns=”http://□.●/△”

後の部分を見ると，まとまってタグ

timestamp=”2009-03”>の閉じている数行があります。パス== ヘッダー情報 ==の半分は，この部分を見れば知るこ・・・とができます。次に，XML スキーマ（定義）ファイルから調べた地物<dataset>の名称を実データの中から検索し，<DAT id=”NH001_1”>

空間情報が書かれたタグの外側の== 付随情報 ==部分（図 3 で例にあげた基盤地図情・・・

報では loc。その他にも pos や area）
を調べ，パスを完成させます（図 4）。

<GM_FIG id=”NH001_2”>

パスの記述の仕方は JPGIS の書き== 空間情報 ==方に因りますので，多少慣れが必要・・・です。

</GM_FIG></DAT></dataset></GI>

path=” /dflt:GI/dflt:dataset/dflt:DAT/dflt:GM_FIG”

図 4 図形が定義されている部分へのパスの一例（イメージ）8

④ 空間スキーマの定義域・・・点検対象地物のスキーマを定義します。
<Schema type=”幾何スキーマのタイプ” path=”図形が定義されている箇所の絶対パス” layer=”レイヤ名” />【例】基盤地図情報『水涯線』
１ ． 空 間 ス キ ー マ の 定 義 域 の 記 述 は ， GM_Point ， GM_Curve ，
GM_OrientableCurve，GM_Surface の順に行います。
２．GM_OrientableCurve は独立して記述してある場合，空間スキーマの定義を行います。
３．幾何スキーマのタイプを「type=”幾何スキーマのタイプ””」に記述します。
水涯線であれば「type=”GM_Curve”」となります。
４．③のレイヤの定義のように，図形が定義されている箇所の絶対パスを記述します。
５．③のレイヤの定義に倣って，レイヤ名を「layer=”レイヤ名”」に記述します。
【補足】
GM_OrientableCurve は GM_Surface（面）を構成する実体のない幾何ス
キーマですので，GM_OrientableCurve が独立して記述してある場合のみ空間スキーマを定義し，点検を行います。

◎本マニュアルに関するお問い合わせ先〒173-0004

東京都板橋区板橋１－４８－１２(社)日本測量協会

測量技術センター

測量会館第２号館
GIS 研究所

メールアドレス：gis@geo.or.jp
電話番号：03-3579-6817

9