Well-known text

Well-known textは 、ベクタ形式幾何学オブジェクトを投影法 を基に変換し地図上に表現させるマークアップ言語である。 バイナリ形式で実装されているものはwell-known binary であり、PostGISやMicrosoft SQL ServerやDB2等のデータベースでの保存に利用されている。

1. ジオメトリオブジェクト
--------------

点 、線分、多角形、曲線、多面体、TINを含む計18種類が表現できる。

ジオメトリ上の座標は、2次元・3次元・4次元・m値を含む2次元 で示される。 座標が空のジオメトリはEMPTY表示になる。

ジオメトリの仕様はOpen Geospatial Consortium  により策定されており、PostGIS等のアプリケーションにてOGC仕様に則しジオメトリ変換関数が実装されている。

OGC標準定義においてポリゴン外部の各頂点は反時計周りであり、内部の各頂点は全て時計回りである。

以下にWKTのジオメトリ文字列を示す。

1.1. Well-known binary
----------------------

WKBでは十六進法の文字列で表す。 始めのバイト_はデータのエンディアンを示す。

00 : ビッグエンディアン
01 : リトルエンディアン続く4バイトはジオメトリ型を表す32ビットの符号なし整数であり, 具体的には以下の通り:

各データ型は、倍精度浮動小数点の座標を持つ、ポイントか線状のリングの数などの固有データ構造を有する。

例えば、POINTというジオメトリは次で表される：000000000140000000000000004010000000000000

ここで,

1バイト整数：00または0：ビッグエンディアン
4バイト整数：00000001または1：ポイント
8バイト浮動小数点：4000000000000000または2.0：x座標
8バイト浮動小数点：4010000000000000または4.0：y座標である。

2. 座標参照系
--------

WKTは座標参照系を表すことができる。このWKTの書式は, そもそも1991年にOpen Geospatial Consortiumによって定義され, 2001年に拡張された。この書式は"WKT 1"としても知られる。後にm 座標参照系の概念の進化や, WKT 1への新たな要求や, ソフトウェアの間でのWKT 1の実装の違いなどのために, この書式の見直しがなされた。2015年のOpen Geospatial Consortiumにおいて, 更新されたその標準書式, すなわち, "WKT 2としても知られる"Well-known text representation of coordinate reference systems"が採択された。この標準は, 国際標準化機構によってISO 19162:2015としても公表された。

例えば, 次に示すWKTは2次元の地理座標参照系を示すものであり, 緯度軸が最初に記載され, 次に経度軸が記載され, 座標系はWGS84測地系によって地球と結び付けられている:

GEODCRS["WGS 84", DATUM["World Geodetic System 1984", ELLIPSOID["WGS 84", 6378137, 298.257223563, LENGTHUNIT["metre", 1]]], CS[ellipsoidal, 2], AXIS["Latitude “, north, ORDER[1]], AXIS["Longitude “, east, ORDER[2]], ANGLEUNIT[”degree", 0.0174532925199433]]

WKT書式は、地理座標参照系だけでなく、地心座標系、投影座標系、鉛直座標系、時間的に変化する座標系, そして工学的座標系を記述することができる。標準では、これらの座標参照系をどのように組み合わせるかについても記述している。

2.1. 後方互換性
----------

WKT2で表された座標参照系を読み込むことができるソフトウェアは, 多くの場合, WKT1で表された同様の地理座標系を読み込むことができる Some caveats exist, notably the removal of the TOWGS84 element which is replaced by the BOUNDCRS element. Another caveat is about the units of measurement. Some of them were unspecified in oldest WKT 1 specifications , which has led to different interpretations by different software. Those units of measurement have been clarified in the 2001 update and the WKT 2 specification is consistent with that clarification. But not all software have followed the 2001 clarification.

3. 変換
-----

WKT形式は異なる空間参照システム間の座標変換に使用する変換手法及びパラメータの記述を明示している。 下記に変換記述例を示す。 PARAM_MT["Mercator_2SP", PARAMETER["semi_major",6370997.0], PARAMETER["semi_minor",6370997.0], PARAMETER["central_meridian",180.0], PARAMETER["false_easting",-500000.0], PARAMETER["false_northing",-1000000.0], PARAMETER["standard parallel 1",60.0]] PARAM_MT["Affine", PARAMETER["num_row",3], PARAMETER["num_col",3], PARAMETER["elt_0_1",1], PARAMETER["elt_0_2",2], PARAMETER["elt 1 2",3]]

4. サポート提供RDBMSエンジン
------------------

PostgreSQL:PostGISモジュール2.0
Oracle Spatial9i, 10g, 11g
MySQLVer4.1以降
DB2 LUW 9, 10:Spatial Extender
DB2 for z/OS 9, 10:Spatial Support
IBM Netezza:Netezza Spatial
Informix9,10,11:Spatial datablade module
Microsoft SQL Server 2008 / 2008 R2 / 2012 'Denali'
SpatiaLite
Teradata6.1、6.2、12、13
Ingres:GeoSpatial
altibase 5.x
SQL Anywhere 12

5. サポート提供API
------------

OpenLayers 
GDAL 
Boost : [1]参照

6. 関連項目
-------

Geography Markup Language

7. 脚注
-----

8. 外部リンク
--------

[2] 仕様