2009年11月16日月曜日

OpenLayers 27b ベクトル図の変形 - GeoJson のデータ

GeoJson については以前、「OpenLayers 19d GeoJSON でレイヤ描画」で簡単にふれました。
GeoJSON のホームページ(http://geojson.org/)を参考にして、ポイントを例にデータをもう少し詳しくみてみます。
最初に出てくる

"type": "FeatureCollection"

は、GeoJSON のホームページ(http://geojson.org/)spec サイト(http://geojson.org/geojson-spec.html)の 「2.3 Feature Collection Objects」に
あるように、GeoJson オブジェクトが feature collection オブジェクトであることを宣言しています。
これによって feature オブジェクトも宣言します。

{
"type": "FeatureCollection",
"features": [
{
"type":"Feature",
---

features には他に、"geometry" と "property"(両方必須)、"id" を設定します。

"features": [
{
"type":"Feature",
"id":"OpenLayers.Feature.Vector_1721",
"properties":{},
"geometry":{
"type":"Point",
"coordinates":[-89.296875, -14.4140625]
},
---

続けて、coordinate reference system (CRS: 座標参照システム?)は、crs メンバーで決定します。
オブジェクトが crs メンバーを取得できないときは、デフォルトの CRS が GeoJSON に適用されます。

(GeoJSON のホームページ(http://geojson.org/)spec サイト(http://geojson.org/geojson-spec.html)の「2. GeoJSON Objects」試しに訳してみました)
●デフォルトの CRS は、地理的座標参照システム?で、WGS84(世界で最も汎用される楕円体)データを使い、10進法の度数単位の経緯度で表示します。
●メンバー名「crs」の値は、JSON オブジェクト(下記の CRS オブジェクトとして参照されます)または null 値の JSON でなければなりません。
CRS 値が null のとき、CRS がないと仮定されます。
●crs メンバーは、(feature collection, feature, geometry 順の)ヒエラルキー(段階的分類) で最上位 GeoJSON オブジェクト上に存在し、子または孫オブジェクト上で繰替えされるか無効になります。
●null 値でない CRS オブジェクトは、2つの必須のメンバー type と properties を持ちます。
●type メンバーの値は文字で、CRS オブジェクトの type を示します。
●properties メンバーの値はオブジェクトです。
●CRS は座標の順序を変えられません。

CRS はつぎのように記述します。

"crs":{
"type":"OGC",
"properties":{
"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"
}}
},



Best Practices OGC URNs サイト

http://www.oostethys.org/best-practices/best-practices-ogc-urns

を参考に URN についてみてみます。
一般的な URN の形式は次の様になります。

urn:$organization:string_unique_to_organization

$organization コードは、IANAから要求される正式なコードです。

OGCの内の項目を指定するためのURNの推奨フォームは、OGCの 05-010 によって与えられ、その形式は:

urn:ogc:def:objectType:authority:version:code

: (コロン)は必ず6個必要です。

バージョンがない場合、バージョン文字列は null で、コロンはもう一つのコロンの後に表示されます。

urn:ogc:def:crs:EPSG::4326


使用した GeoJSON データ

ol27_polygon.json の一部

{
"type": "FeatureCollection",
"features": [
{
"type":"Feature",
"id":"OL_Snap_Test_Polygon1",
"properties":{},
"geometry":{
"type":"Polygon",
"coordinates":[
[
[139.1, 35.6],[139.2, 35.7],[139.3, 35.7],[139.4, 35.6],[139.2, 35.5],[139.1, 35.6]
]]},
"crs":{
"type":"OGC",
"properties":{
"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"
}}
},
---

0 件のコメント: