Traffine I/O

日本語

2023-04-07

Well Known Text (WKT)

Well Known Text(WKT)とは

Well Known Text(WKT)は、機械と人間の両方によって読みやすいように設計されたコンパクトなマークアップ言語です。これは点、線、および面などの幾何学的オブジェクトを表現する手段を提供します。WKTの魅力は、幾何学的な形状の表現を簡素化する能力にあり、地理情報システム(GIS)、空間データベース、コンピュータグラフィックスなど、さまざまな分野で重要なツールとして使用されています。

WKTのテキストベースの構造は、軽量かつ包括的であるという特徴があります。単純な点から複雑な多次元幾何構造まで、さまざまな形状と形態を表現することができます。この柔軟性により、数学的な形状の表現を容易に理解し操作できる形式に変換するシームレスな方法が提供されます。

WKTの目的と機能

WKTの主な機能は、幾何学的エンティティの表現を標準化し、空間データを扱うさまざまなソフトウェアやシステム間で相互運用性を促進することです。特にGISや関連アプリケーションで、空間情報の保存、交換、処理が重要な役割を果たします。

WKTは、単純な点、線、ポリゴンなどのさまざまなジオメトリタイプをサポートするだけでなく、複雑で複合的な構造も収容することができます。これにより、堅牢で洗練された幾何学的解析が可能となります。また、付加的な次元の追加も可能であり、3Dオブジェクトや補足属性が埋め込まれたオブジェクトの表現を容易にします。

WKTを用いたジオメトリの表現

WKTを使用することで、もっとも単純なオブジェクトからより複雑な構造まで、幅広いジオメトリエンティティを表現することができます。

基本的なジオメトリタイプ

WKTは、全ての複雑な構造の基礎を形成する基本的なジオメトリエンティティを表現することができます。

タイプ WKT
Point Point POINT (30 10)
LineString LineString LINESTRING (30 10, 10 30, 40 40)
Polygon Polygon1 POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))
Polygon Polygon2 POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10), (20 30, 35 35, 30 20, 20 30))

https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry

点は空間内の特定の位置を表します。WKTでは、点はPOINT (30 10)のように記述されます。ここで、30と10はX座標およびY座標を表します。

ラインストリング

ラインストリングは、線を形成する点のシーケンスです。WKTでは、次のようにラインストリングを表現します。

LINESTRING (30 10, 10 30, 40 40)

これは点(30,10)から点(10,30)、最後に点(40,40)に移動する線を表しています。

ポリゴン

ポリゴンは、閉じたループを形成する点の系列によって定義される形状です。WKTでは、ポリゴンはPOLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))として表現されます。各数値のペアは1つの点を示し、これらの点の系列がポリゴンを形成します。

発展的なジオメトリタイプ

WKTは基本的なタイプ以外にもさまざまなジオメトリタイプをサポートしています。これにより、高度で複合的な構造を含む空間表現の可能性がさらに広がります。

POLYHEDRALSURFACE

POLYHEDRALSURFACEは、三次元オブジェクトを表現するために使用されます。複数のポリゴンジオメトリが組み合わさり、三次元形状を形成します。

POLYHEDRALSURFACE (
  ((40 40, 20 45, 45 30, 40 40)),
  ((20 35, 10 30, 10 10, 30 5, 45 20, 20 35)),
  ((30 20, 20 15, 20 25, 30 20))
)

TRIANGLE

TRIANGLEは単に3つの点で構成されるポリゴンです。WKTでは、次のように表現します。

TRIANGLE ((30 20, 40 40, 20 40, 30 20))

MULTIPOINT

MULTIPOINTは複数の点を表現するために使用されます。次のように表記されます。

MULTIPOINT ((10 40), (40 30), (20 20), (30 10))

MULTILINESTRING

MULTILINESTRINGは複数のラインストリングを表現します。WKTでは次のように表記されます。

MULTILINESTRING ((10 10, 20 20, 10 40),
  (40 40, 30 30, 40 20, 30 10))

MULTIPOLYGON

MULTIPOLYGONは複数のポリゴンを表現するために使用されます。次のように表現します。

MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)),
  ((15 5, 40 10, 10 20, 5 10, 15 5)))

TIN

TIN(Triangulated Irregular Network)は、三角形のネットワークを表現します。TINは、各ポリゴンが三角形であるMultiPolygonの一種です。

TIN (((0 0, 0 1, 1 0, 0 0)), ((0 0, 0 1, 1 1, 0 0)))

GEOMETRYCOLLECTION

GEOMETRYCOLLECTIONは、さまざまな種類のジオメトリを含むコレクションを表現するために使用されます。これには、Point、LineString、Polygon、および他のジオメトリタイプが含まれます。

GEOMETRYCOLLECTION (
  POINT (40 10),
  LINESTRING (10 10, 20 20, 10 40),
  POLYGON ((40 40, 20 45, 45 30, 40 40))
)

WKTにおける追加次元の扱い

空間データの本質は2次元に制限されるものではありません。現実のオブジェクトはしばしば3次元空間に存在し、場合によっては、空間的な属性以外の追加次元が必要になることがあります。この章では、WKTがこれらの追加次元、すなわちZ座標とM座標をどのように取り扱うかについて探っていきます。

Z座標

WKTにおけるZ座標は、通常高さや深さを表す三次元空間の第三次元を指します。WKTの視覚的な表現は本質的に2次元ですが、表現にZ座標を追加することで、幾何学的オブジェクトに関する追加情報が得られます。例えば、Z値は地理的な文脈において標高を表すことがあります。

以下は、WKTのPOINTにZ座標を含める方法の例です。

POINT Z (1 2 3)

上記の例では、点のX座標が1、Y座標が2、Z座標が3を表しています。

M座標

空間次元以外に、WKTはM座標の追加もサポートしています。M座標は空間的な性質を持たず、物理的な次元に対応しないため、通常は幾何学的オブジェクトに結びつかない属性を表現するために使用されます。

例えば、GISアプリケーションでは、M値は時間を表し、「空間と時間」の軌跡を作成することができます。また、温度、降水量、人口密度など、特定の地点での属性を表すのにも使われることがあります。

以下は、WKTのPOINTにM座標を含める方法の例です。

POINT M (1 2 0)

上記の例では、点のX座標が1、Y座標が2、M座標が0を表しています。

Z座標とM座標の組み合わせ

同じジオメトリオブジェクトに対して、Z座標とM座標の両方を含めることが役立つ場合があります。WKTでは、ZMキーワードを使用してこれをサポートしています。

POINT ZM (1 2 3 0)

上記の例では、点のX座標が1、Y座標が2、Z座標が3、M座標が0を表しています。

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!