ウェルノウンテキスト(WKT )は、ベクタージオメトリオブジェクトを表すテキストマークアップ言語です。ウェルノウンバイナリ(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 進文字列で表示されます。
00: ビッグエンディアン01: リトルエンディアン
次の 4 バイトは、以下に示すように、ジオメトリ タイプの 32 ビットの符号なし整数です。
各データ型には、ポイント数や線形リングなどの固有のデータ構造があり、その後に64 ビットの倍精度数値の座標が続きます。
たとえば、ジオメトリはPOINT(2.0 4.0)次のように表されます: 、ここで:
000000000140000000000000004010000000000000
- 1バイト整数
00または0: ビッグエンディアン - 4バイト整数
00000001または1: POINT (2D) - 8バイト浮動小数点
4000000000000000数または2.0: x座標 - 8バイト浮動小数点
4010000000000000数または4.0: y座標
フォーマットのバリエーション
- EWKTとEWKB –拡張 Well-Known Text/Binary
- PostGIS固有のフォーマットで、空間参照システム識別子(SRID)と最大4つの座標値(XYZM)が含まれます。[ 4 ] [5]たとえば、WGS 84
SRID=4326;POINT(-44.3 60.1)参照座標系を使用して経度/緯度座標を特定します。また、元のWKT内で名前が付けられている(ただし完全には定義されていない)要素であるCircularString、CompoundCurve、CurvePolygon、CompoundSurfaceもサポートしています。[6] - AGF テキスト–オートデスクジオメトリ フォーマット
- OGCの標準(当時)を拡張したもので、曲線要素を含み、最もよく知られているのはMapGuideで使用されている。[7]
参照
参考文献
- ^ Herring, John R. 編 (2011-05-28)、OpenGIS® 地理情報実装標準 - シンプルフィーチャアクセス - パート 1: 共通アーキテクチャ、Open Geospatial Consortium 、 2019-01-28取得
- ^ 情報技術 – データベース言語 – SQL マルチメディアおよびアプリケーション パッケージ – パート 3: 空間 (第 5 版)、ISO、2016 年 1 月 15 日、2019 年 1 月 28 日に取得
- ^ 地理情報については、OGC 実装仕様の「シンプル フィーチャ アクセス」セクション 6.1.11.1 を参照してください。http://www.opengeospatial.org/standards/sfa
- ^ “Postgis/Postgis”. GitHub . 2021年10月6日.
- ^ “ST_GeomFromEWKT” . 2022年11月25日閲覧。
- ^ 「第4章: PostGISの使用: データ管理とクエリ」。postgis.net 。 2021年7月30日閲覧。
- ^ 「MapGuide API リファレンス: AGF テキスト」 。2023年 9 月 14 日閲覧。
外部リンク
- シンプルな機能アクセス仕様
- ISO 空間標準(有料)
- WKT の BNF 表記は 2023-01-03 にWayback Machineでアーカイブされています
- WKT の EBNF 表記
- ジオメトリオブジェクト表現間のオンライン変換
