幾何学の一般的なテキスト表現
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 )、4D ( x , y , z , m ) (線形参照システムの一部であるm値を含む) 、または2D (x , y , m )のいずれかです。3次元ジオメトリはジオメトリタイプの後に「Z」が付き、線形参照システムを持つジオメトリはジオメトリタイプの後に「M」が付きます。座標を含まない空のジオメトリは、タイプ名の後に記号を使用して指定できます。EMPTY
WKTジオメトリはOGC仕様全体で使用されており、これらの仕様を実装したアプリケーションにも存在します。例えば、PostGISには、ジオメトリをWKT表現に変換したり、WKT表現を人間が読める形式に変換したりする関数が含まれています。
OGC標準の定義では、ポリゴンは位相的に閉じている必要があります。また、ポリゴンの外側の線状リングが反時計回りに定義されている場合、その線状リングは「上」から見たものと見なされます。内側の線状リングは、外側のリングとは逆の方向、つまり時計回りに定義する必要があります。[3]
| タイプ | 例 | |
|---|---|---|
| 点 | POINT (30 10) | |
| ラインストリング | LINESTRING (30 10, 10 30, 40 40) | |
| 多角形 | POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) | |
POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10), | ||
| タイプ | 例 | |
|---|---|---|
| マルチポイント | MULTIPOINT ((10 40), (40 30), (20 20), (30 10)) | |
MULTIPOINT (10 40, 40 30, 20 20, 30 10) | ||
| マルチラインストリング | MULTILINESTRING ((10 10, 20 20, 10 40), | |
| マルチポリゴン | MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)), | |
MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)), | ||
| ジオメトリコレクション | GEOMETRYCOLLECTION (POINT (40 10), | |
以下は、ジオメトリ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ビット符号なし整数です。詳細は以下をご覧ください
| タイプ | 2D | Z | M | ZM |
|---|---|---|---|---|
| ジオメトリ | 0 | 1000 | 2000 | 3000 |
| ポイント | 1 | 1001 | 2001 | 3001 |
| ラインストリング | 2 | 1002 | 2002 | 3002 |
| ポリゴン | 3 | 1003 | 2003 | 3003 |
| マルチポイント | 4 | 1004 | 2004 | 3004 |
| マルチラインストリング | 5 | 1005 | 2005 | 3005 |
| マルチポリゴン | 6 | 1006 | 2006 | 3006 |
| ジオメトリコレクション | 7 | 1007 | 2007 | 3007 |
| 円形文字列 | 8 | 1008 | 2008 | 3008 |
| 複合曲線 | 9 | 1009 | 2009 | 3009 |
| 曲線ポリゴン | 10 | 1010 | 2010 | 3010 |
| マルチカーブ | 11 | 1011 | 2011 | 3011 |
| マルチサーフェス | 12 | 1012 | 2012 | 3012 |
| 曲線 | 13 | 1013 | 2013 | 3013 |
| サーフェス | 14 | 1014 | 2014 | 3014 |
| 多面体サーフェス | 15 | 1015 | 2015 | 3015 |
| ティン | 16 | 1016 | 2016 | 3016 |
| 三角形 | 17 | 1017 | 2017 | 3017 |
| 円 | 18 | 1018 | 2018 | 3018 |
| ジオデシックストリング | 19 | 1019 | 2019 | 3019 |
| 楕円曲線 | 20 | 1020 | 2020 | 3020 |
| NURBS曲線 | 21 | 1021 | 2021 | 3021 |
| クロソイド | 22 | 1022 | 2022 | 3022 |
| 螺旋曲線 | 23 | 1023 | 2023 | 3023 |
| 複合曲面 | 24 | 1024 | 2024 | 3024 |
| ブレップソリッド | | 1025 | | |
| アフィン配置 | 102 | 1102 | | |
各データ型は、点の数や線形リングなどの固有のデータ構造を持ち、それに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参照座標系を用いて経度/緯度座標を特定できます。また、元のWKT内で名前が付けられている(ただし完全には定義されていない)要素であるCircularString、CompoundCurve、CurvePolygon、CompoundSurfaceもサポートしています。[6]
SRID=4326;POINT(-44.3 60.1) - AGF テキスト–オートデスクジオメトリ フォーマット
- OGCの標準(当時)を拡張したもので、曲線要素を含めることができます。特にMapGuideでよく使用されています。[7]
参照
参考文献
- ^ ジョン・R・ヘリング編 (2011年5月28日)、OpenGIS® 地理情報実装標準 - シンプルフィーチャアクセス - パート1:共通アーキテクチャ、Open Geospatial Consortium 、 2019年1月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年1月3日、Wayback Machineにアーカイブ)
- WKTのEBNF表記
- ジオメトリオブジェクト表現間のオンライン変換 2019年4月26日アーカイブ、Wayback Machine