OceanBaseデータベースの地理情報システム(Geographic Information System、GIS)は、空間データ型の構築、保存、および分析をサポートしています。
OceanBaseデータベースがサポートする空間データ型は以下のとおりです:
GEOMETRYPOINTLINESTRINGPOLYGONMULTIPOINTMULTILINESTRINGMULTIPOLYGONGEOMETRYCOLLECTION
単一値型
単一の空間データを保存するために使用されます:
GEOMETRYは、あらゆる種類の幾何学的値を保存できます。POINT、LINESTRING、POLYGONは最も基本的な3つのタイプであり、特定の幾何学的タイプの値のみを保存できます。POINT:点を表し、1つの座標値を持ちます。例:POINT(50 60)、経度が先で、次に次元が続き、スペースで区切られます。LINESTRING:線を表し、一連の点が接続されています。例:LINESTRING(30 20,10 30,50 50)、点と点の間はカンマで区切られ、1つの点内の緯度と経度はスペースで区切られ、POINTの形式と一致します。POLYGON:多角形を表し、内部境界のない実心の平面形状である場合も、空洞を持つ場合もあります。例:外部境界が1つだけの場合、POLYGON((0 0,10 0,10 10,0 10))。
GEOMETRY はすべての空間集合型の基底クラスであり、POINT、LINESTRING、POLYGON などの他の型はすべて GEOMETRY のサブクラスです。
集合型
複数の値を保存するために使用されます:
MULTIPOINT、MULTILINESTRING、MULTIPOLYGONの3つの集合型は、空間データ集合を保存するために使用されますが、それぞれ指定された基本型の集合を表すことしかできません。MULTIPOINT:点の集合を表します。例:MULTIPOINT(10 0),(5 10),(25 5),(20 5)またはMULTIPOINT(10 0,5 10,25 5,20 5)。MULTILINESTRING:線の集合を表します。例:MULTILINESTRING((0 0,15 5,10 10),(30 20,10 30,40 40))。MULTIPOLYGON:図形の集合を表します。例:MULTIPOLYGON(((30 20, 45 40, 10 40,30 20)),((15 5,40 10,10 20,5 10,15 5)))およびMULTIPOLYGON(((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)))。
GEOMETRYCOLLECTIONは、任意のタイプのオブジェクト集合を保存できます。例:GEOMETRYCOLLECTION(POINT(40 10),LINESTRING(10 10,20 20,10 40),POLYGON((40 40,20 45,45 30,40 40)))。
MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、GEOMETRYCOLLECTION の4つの型はすべて集合クラスであり、複数の POINT、LINESTRING、または POLYGON を組み合わせて構成されています。
SRIDプロパティ
空間型列上の空間参照システム(SRS)の値を定義するために使用され、SRID プロパティを定義した列には以下の2つの特性が含まれます:
- この列に書き込む空間オブジェクトの
SRIDは、列で定義されたSRIDプロパティと一致していなければならず、そうでない場合は書き込み操作が失敗します。 - この列で定義された空間インデックスは、空間クエリ時に有効になります。
例
空間型フィールドは、nullable プロパティと空間座標系 SRID プロパティの定義をサポートしており、例は以下のとおりです:
obclient [test]> CREATE TABLE tbl1_g(g GEOMETRY NOT NULL SRID 0);
Query OK, 0 rows affected