OGC(Open Geospatial Consortium)の
Geography Markup Language ページ
http://www.opengeospatial.org/standards/gml
に GML の説明があります。
GML は OGC の規格で、地理的な特徴を表現するためのXML文法です。データは、定義された構造のまま、インターネットで交換できます。構成は、データベース構造(スキーマ)と実際のデータ(インスタンス)の2つの部分からなってます。GML ドキュメントは GML スキーマを使用して記述されています。これにより、点、線、多角形を含んでいる一般的な地理データセットを記述することができます。コミュニティ固有の拡張機能が実装されることもあります。
31-2 GML レイヤの例(GML Layer Example)
examples フォルダにある「GML Layer Example(gml-layer.html)」(または「Vector Behavior Example(behavior-fixed-http-gml.html)」を参考に GML 不ファイルを読み込んでレイヤを表示します。
最初に、HTML ファイルを準備します。
a メニューの「ファイル」->「開く」をクリックします。
b 「ファイルを開く」ウィンドウで、「OpenLayers-2.13.1」->「ol009-nippon_bmi_akiruno_pgis.html」をクリックして選択し、「OK」ボタンをクリックします。
c メニューの「ファイル」->「新規」 -> 「その他」をクリックします。
d 「ウィザードを選択」ウィンドウで、「Web」(複数あるときは展開して探してください。)->「HTMLファイル」をクリックして選択し、「次へ」ボタンをクリックします。
e 「HTML」ウィンドウで「openlayersTokyoproj」をクリックして選択し、「ファイル名」を「ol012-nippon_bmi_akiruno_pgis.html」と入力し、「完了」ボタンをクリックします。
f 「ol009-nippon_bmi_akiruno_pgis.html」の内容をコピーして「ol012-nippon_bmi_akiruno_pgis.html」ファイルに貼り付けます。
g メニューの「ファイル」->「開く」をクリックします。
h 「ファイルを開く」ウィンドウで、「OpenLayers-2.13.1」->「examples」->「gml-layer.html」をクリックして選択し、「OK」ボタンをクリックします。
i 「gml-layer.html」のjavascript の一部をコピーして「ol012-nippon_bmi_akiruno_pgis.html」に貼り付けて、次のように修正します。
(29-2 で追加したところは削除します。)
---
map.addLayers([layer0, layer3, layer1, layer2, layer4]);
// ここから追加
map.addLayer(new OpenLayers.Layer.Vector("GML", {
protocol: new OpenLayers.Protocol.HTTP({
url: "gml/polygon.xml", // ここを後で修正
format: new OpenLayers.Format.GML()
}),
projection: map.displayProjection, // 追加
strategies: [new OpenLayers.Strategy.Fixed()]
}));
// ここまで
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.MousePosition());
map.zoomToMaxExtent();
}
---
31-3 GML ファイルの作成 Point
examples フォルダの gml フォルダにある gml ファイルを参考にファイルを準備します。
a メニューの「ファイル」->「新規」 -> 「ファイル」をクリックします。
b 「ファイル」ウィンドウで「openlayersTokyoproj」をクリックして選択し、「ファイル名」を「gml_point_akiruno.xml」と入力し、「完了」ボタンをクリックします。
c 「ファイルを開く」ウィンドウで、「OpenLayers-2.13.1」->「examples」->「gml」->「point.xml」をクリックして選択し、「OK」ボタンをクリックします。
d 「point.xml」の内容全部をコピーして「gml_point_akiruno.xml」に貼り付けて、次のように修正します。
ms:ogc_fid ms:name ms:id lon lat 1 point 1 139.191 35.715 2 point2 2 139.211 35.742 3 point3 3 139.270 35.724
<?xml version="1.0" encoding="ISO-8859-1"?> <wfs:FeatureCollection xmlns:ms="http://mapserver.gis.umn.edu/mapserver" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd http://mapserver.gis.umn.edu/mapserver http://aneto.oco/cgi-bin/worldwfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&TYPENAME=point&OUTPUTFORMAT=XMLSCHEMA"><gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>139.191,35.715 139.270,35.742</gml:coordinates>
<!-- フィーチャ(3点)を含む範囲 -->
</gml:Box>
</gml:boundedBy>
<gml:featureMember>
<ms:point fid="1">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>139.191,35.715 139.191,35.715</gml:coordinates>
<!-- このフィーチャの範囲(点なので同じ座標) -->
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>139.191,35.715</gml:coordinates>
</gml:Point>
</ms:msGeometry>
<ms:ogc_fid>1</ms:ogc_fid>
<ms:name>point</ms:name>
<ms:id>1</ms:id>
</ms:point>
</gml:featureMember>
<!-- 表に合わせてあと2点分追加 -->
---
</wfs:FeatureCollection>
「ol012-nippon_bmi_akiruno_pgis.html」の「url: "gml/polygon.xml",」を「url: "gml_point_akiruno.xml",」に修正します。
0 件のコメント:
コメントを投稿