3.1.2.5 geoFeature要素
<geoFeature>要素には、次の定義が含まれます。
<!ELEMENT geoFeature (description?, property*,
geometricProperty)>
<!ATTLIST geoFeature
typeName CDATA #IMPLIED
id CDATA #IMPLIED
render_style CDATA #IMPLIED
text_style CDATA #IMPLIED
label CDATA #IMPLIED
label_always_on (TRUE|FALSE) "FALSE"
marker_size CDATA #IMPLIED
radius CDATA #IMPLIED
attribute_values CDATA #IMPLIED
orient_x CDATA #IMPLIED
orient_y CDATA #IMPLIED
orient_z CDATA #IMPLIED
selectable_in_svg (TRUE|FALSE) "FALSE"
onclick CDATA #IMPLIED
hidden_info CDATA #IMPLIED
>
<geoFeature>要素は、マップにレンダリングする個々の地理空間エンティティを指定するために使用します。<geoFeature>要素の主要部分はジオメトリ(<geometricProperty>要素)であり、OGC GML v1.0のジオメトリDTD (「ジオメトリDTD (OGC)」を参照)に従って指定する必要があります。
typeNameは、現行リリースのMapViewerでは無視されるオプション属性です。
idは、SVGマップ上のすべての地理空間地物から地物を一意に識別するために使用できるオプション属性です。(selectable_in_svg属性の説明を参照してください。) それ以外の場合、この属性は無視されます。
render_styleはオプション属性です。この属性を省略すると、geoFeatureはレンダリングされません。この属性を指定する場合、値にはユーザーのUSER_SDO_STYLESビューに格納されているスタイル名を指定する必要があります。
text_styleはオプション属性です。この属性を指定し、render_style属性およびlabel属性が存在していて有効な場合、地物のラベル付けに使用されるスタイルが識別されます。この属性を指定しない場合は、デフォルトのテキスト・スタイルが使用されます。
labelはオプション属性です。この属性を指定した場合(かつ、render_style属性およびlabel属性が存在していて有効な場合)、地物のラベル付けに使用されるテキストが識別されます。
label_always_onはオプション属性です。これをTRUEに設定した場合、テーマの表示の中で2つ以上のラベルが重なる場合でも、MapViewerによって地物がラベル付けされます。(MapViewerは常にラベルが重ならないようにします。) label_always_onがFALSE (デフォルト)の場合、ラベルの重なりが避けられないときは、MapViewerによって1つ以上のラベルの表示が無効化されるため、重なることはありません。label_always_on属性は、テーマ(theme要素、「theme要素」を参照)に対して指定することもできます。geoFeature要素を定義する際に地物のlabel_always_onをTRUEとして指定すると、テーマのlabel_always_onがFALSEであり、ラベルの重なりが避けられない場合に、ラベルが表示される地物を制御できます。
marker_sizeはオプション属性です。ポイント地物でこの属性を指定し、マーカータイプのスタイルがrender_styleである場合、指定したサイズは、MapViewerによってこの地物のレンダリングに使用されます。これによって、マーカー・スタイルに指定されたデフォルト値は無視されます。
radiusはオプション属性です。この属性を指定した場合、数値または数値のカンマ区切りリストが指定されます。各数値は、この地物を中心として描画される円の半径を表します。測地データの場合、単位はメートルであり、非測地データの場合、単位はデータに関連付けられた測定単位です。
attribute_valuesはオプション属性です。この属性を指定した場合、拡張スタイルのバケット範囲で使用される値または値のカンマ区切りリストが指定されます(たとえば、円グラフの扇形部分の値や、可変マーカーのバケット値など)。
orient_xおよびorient_yは、指定ポイントのマーカー記号(高速道路を示す盾形記号など)やテキストを回転するための方位ベクターを示す仮想終点をオプションで指定します。(orient_zは、Oracleによる将来の使用のために予約されています。) それぞれの値は-1から1の範囲で指定する必要があります。方位の始点は(0,0)とみなされ、対応する物理ポイントの位置に変換されます。
次の図は、orient_x="0.3" orient_y="0.2"を指定した結果となる約34度(x軸から左回り)の方位ベクターを示しています。(方位を特定の角度により正確に一致させるには、三角法のテキストにある表のコタンジェント値またはタンジェント値を参照してください。)
selectable_in_svgは、SVGマップ上で地物を選択できるかどうかを指定するオプション属性です。デフォルトはFALSEです。つまり、SVGマップ上で地物を選択できません。この属性がTRUEに設定されており、テーマ地物の選択が可能な場合、地物はクリックして選択できます。地物を選択すると、その色が変わり、IDが記録されます。SVGマップで定義されたJavaScript関数getSelectedIdList()をコールすると、選択したすべての地物のID値のリストを取得できます。(地物選択が正確に機能するようにするには、地物の id属性値を、SVGマップ上のすべての地理空間地物から地物を一意に識別する値に設定する必要があります。) SVGマップでのJavaScript関数の使用の詳細は、付録Bを参照してください。
onclickは、ユーザーが地物をクリックしたときにコールされるJavaScript関数の名前を指定するオプション属性です。JavaScript関数は、SVG定義以外にHTML文書で定義する必要があります。この関数には、テーマ名、地物のキー、およびSVGマップ上でクリックされたポイントの座標(ピクセル単位)を指定するxおよびyの4つのパラメータしか指定できません。SVGマップでのJavaScript関数の使用の詳細は、付録Bを参照してください。
hidden_infoは、マウスを地物の上に動かしたときに表示される情報やヒントを指定するオプション属性です。複数の行を指定するには、行間に「\n」を使用します。たとえば、hidden_info="State park with\nhistorical attractions"は、2行のヒントを指定します。(マップで非表示情報の表示を有効にするには、「map_requestの属性」で説明しているように、<map_request>要素でinfoon="true"を指定する必要があります。)
次の例は、経度/緯度座標の(-78.1234, 41.0346)にあるレストランに対する、<geoFeature>要素の指定を示しています。この場合、render_style属性およびtext_style属性が指定されていないため、地物は表示されません。
<geoFeature typeName="Customer"
label="PizzaHut in Nashua">
<geometricProperty>
<Point srsName="SDO:8265">
<coordinates>-78.1234,41.0346</coordinates>
</Point>
</geometricProperty>
</geoFeature>
次の例は、経度/緯度座標の(-122.2615, 37.5266)にある特定のポイントに対する<geoFeature>要素の指定を示しています。render_style属性が指定されているため、この地物は生成されたマップにレンダリングされます。この例では、ラベル・テキスト(A Place)およびラベル・テキストを描画するためのテキスト・スタイルを指定しています。また、この地物を中心とした、半径が1600mおよび4800mの2つの円を描画するようにMapViewerに指示しています。(この場合、<Point>要素のsrsName属性が存在する必要があり、"SDO:<srid>"という書式を使用してOracle Spatial and GraphのSRID値を指定する必要があります。SRID値8265が測地座標系に関連付けられているため、半径の値は1600mおよび4800mと解釈されます。)
<geoFeature render_style="m.star"
radius="1600,4800"
label="A Place"
text_style="T.Name">
<geometricProperty>
<Point srsName="SDO:8265">
<coordinates>-122.2615, 37.5266</coordinates>
</Point>
</geometricProperty>
</geoFeature>
次の図は、前述の例の<geoFeature>要素を使用して描画されたマップです。地物はA Placeというテキストでラベル付けされ、2つの同心円で囲まれた赤い星型マーカーで表されます。
親トピック: マップ・リクエストDTD

