Well-known text ( WKT ) は、ベクトルジオメトリオブジェクトを表現するためのテキストマークアップ言語です。バイナリ版のWell-known binary ( WKB )は、コンピュータ処理に適したよりコンパクトな形式で同じ情報を転送および保存するために使用されますが、人間が読み取ることはできません。これらの形式は、元々Open Geospatial Consortium (OGC) によって定義され、 Simple Feature Accessで説明されています。[ 1 ] 現在の標準定義は、ISO/IEC 13249-3:2016 規格にあります。[ 2 ]
WKTは、以下の異なる幾何学的オブジェクトを表現できます。
ジオメトリの座標は、2D ( x , y )、3D ( x , y , z )、線形参照システムの一部であるm値を持つ 4D ( x , y , z , m ) 、またはm値を持つ 2D ( x , y , m ) のいずれかになります。3 次元ジオメトリは、ジオメトリ タイプの後に「Z」を付けて指定し、線形参照システムを持つジオメトリは、ジオメトリ タイプの後に「M」を付けます。座標を含まない空のジオメトリは、タイプ名の後に記号を使用して指定できます。EMPTY
WKTジオメトリはOGC仕様全体で使用されており、これらの仕様を実装するアプリケーションにも含まれています。例えば、PostGISにはジオメトリをWKT表現に変換したり、WKT表現からジオメトリを変換したりして、人間が読みやすい形式にする機能があります。
OGC標準の定義では、多角形は位相的に閉じていることが求められます。また、多角形の外側の線状リングが反時計回りに定義されている場合、それは「上」から見えることになります。内側の線状リングは、外側のリングとは逆の方向、つまり時計回りに定義する必要があります。[ 3 ]
以下は、幾何学的WKT文字列のその他の例です。(注:以下の各項目は個別のジオメトリです。)
ジオメトリコレクション(点(4 6),線列(4 6,7 10)) ポイントZM(1 1 5 60) 点M(1 1 80) ポイントエンプティ マルチポリゴン 空 三角形((0 0 0,0 1 0,1 1 0,0 0 0)) TIN (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0))) 多面体表面 Z (パッチ) ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)), ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)), ((1 1 1, 1 0 1, 0 0 1, 0 1 1, 1 1 1)), ((1 1 1, 1 0 1, 1 0 0, 1 1 0, 1 1 1)), ((1 1 1, 1 1 0, 0 1 0, 0 1 1, 1 1 1)) ) よく知られた二進数(WKB)表現は、通常、16進数文字列で表されます。
0x00 : ビッグエンディアン0x01 リトルエンディアン次の4バイトは、以下に説明するように、ジオメトリタイプを表す32ビット符号なし整数です。
各データ型は、点の数や線状リングの数など、固有のデータ構造を持ち、その後に64ビット倍精度浮動小数点数で表された座標が続きます。
例えば、ジオメトリPOINT(2.0 4.0)は次のように表されます。ここで、000000000140000000000000004010000000000000
00または0:ビッグエンディアン00000001または1:POINT(2D)4000000000000000数または2.0:x座標4010000000000000数または4.0:y座標SRID=4326;POINT(-44.360.1)