2011-02-15 第1章 実世界のモデル化と形式化 3.地物インスタンスの表現 太田守重 [email protected] 地理情報科学教育用スライド ©太田守重 ここで学ぶこと 一般地物モデルに従って応用スキーマを作成することができるが、応用スキーマは地 物とその構造のモデルにはなっても、インスタンスの表現にはならない。インスタンスを 記述するために、ここではXMLが使われる。XMLは拡張マーク付け言語と呼ばれ、自分 自身の説明(タグ)を含む「自己記述型言語」である。 ここでは、この講義で使用する一般地物モデルに準拠した、インスタンス表現のため の規則(インスタンスモデル)を紹介する。 地理情報科学教育用スライド ©太田守重 XML (eXtended Markup Language) マークアップでデータに意味付けし、構造化し、文書化するための規則 マークアップは < と > で区切るシンボルで、タグとよばれる。 データは内容 (content) ともよばれる。 例: <title>算法入門</title> タグで囲まれた情報の単位は要素とよばれる。UMLのクラスをXMLで表現すると き、クラスは要素になる。 例: <道路> ............ </道路> ただし、タグの下に下位の要素が入らないときは、終了タグは省略し、 <道路・・・/> のように表記してもいい。 地理情報科学教育用スライド ©太田守重 基本データ型をとるクラス属性のXML表現 クラス図で基本データ型をもつ属性は、XMLの属性として表現する。XML属性は、 開始タグの中で、属性名=”属性値” という形式で示す。 例: <Abc id=“p01” name=“木下奈保子” position=“課長”/> Abc name: String position: String 属性の型が Sequence<基本データ型> の場合は、カンマで区切られた属性値の 列で表現する。 例: <Abc id=“w10” name=“saito,tokuda,utsugi”/> Abc name: Sequence<String> ・・・・・・・・・・・・・・・・・・・・ 地理情報科学教育用スライド ©太田守重 複合データ型をとるクラス属性のXML表現 複合データ型(クラス)をとる属性はXMLの下位要素とし、実際の要素をidrefで参照 する。 例: <Abc id=“a01”> Book Abc <efg idref=“bk01”/> title: String efg: Book </Abc> publish: Date <Book id=“bk01” title=算法入門” publish=“2010-10-01”/> 属性の型が Sequence<複合データ型> の場合は、<sequence>…</sequence>の下 位要素の列で属性値の列を表現する。 例: <Abc id=“a23”> <sequence> <efg idref=“bk01” /> Abc ………… efg: Sequence<Book> </sequence> </Abc> 地理情報科学教育用スライド ©太田守重 関連の表現 他の要素への関連は、関連種類を示すタグ (association, aggregation, composition) で囲んで <役割名 相手要素の参照/> で示す。 例: <Abc id=“f98”> <association> <kml idref=“h001”/> </association> </Instance> ............ <Efg id=“h001” .... /> Abc kml 地理情報科学教育用スライド ©太田守重 Efg 多重度をもつ関連 関連する要素の多重度が1以上の場合、関連種類を示すタグで囲んで <役割名 ・・・・/>の列が、その中に入る。 。 例:<Abc id=“sss”> <aggregation> <kml idref=“n02”/> <kml iderf=“n04”/> ・・・・・ </aggregation> </Instance> ・・・・・ 1..* Abc <Efg id=“n02” name=“Taro”/> <Efg id=“n04” name=“Hanako”/> ・・・・・ 地理情報科学教育用スライド ©太田守重 kml Efg name: String 継承 上位のクラスを継承する場合は、継承するプロパティを全て含むため、上位の クラスを指定する。下位のクラスは複数になる可能性がある。 例:EfgがAbcを継承するとき、Efgには継承する属性を入れる。 <Abc id=“abc01” bcg=“o” kml=“p”/> Abc bcg: * kml: * <Efg id=“kk03” bcg=“o” kml=“p” pqr=“q” stu=“r”/> Efg pqr: * stu: * *: 任意のデータ型 地理情報科学教育用スライド ©太田守重 地物インスタンスのXML表現 UMLクラス図 建物 名称:String 使用目的:Sequence<String> 床面積:Float 形状:曲面 建物形状 id=“s001” 名称:本郷ビル 使用目的:商用、住居 床面積:500 形状:形状データ “s001” 参照 <建物 id=“buil02” 名称=“本郷ビル” 使用目的=“商用,住居” 床面積=“500” > <形状 idref=“s001”/> </建物> *)形状など、空間属性の具体的な表現 法は「空間スキーマ」で学ぶ。 地理情報科学教育用スライド ©太田守重 まとめ 地物インスタンスの表現には、XMLを使用することができる。 ここでは、UMLで記述された、一般地物モデルに従う応用スキーマに準拠する XML文書を作成するための規則を示した。 地理情報科学教育用スライド ©太田守重 参考文献 1. 有川正俊、太田守重監修(2007)『GISのためのモデリング入門』ソフトバンクク リエイティブ 2. 村山祐司,柴崎亮介監修(2008)『GISの理論』朝倉書店 3. ISO, ISO 19118:2005 – Geographic Information - Encoding 地理情報科学教育用スライド ©太田守重
© Copyright 2024 ExpyDoc