これらの関数を使用するには、「Oracle Big Data Spatial Vector Hive Analysis」、特に「Hive Spatial APIの使用」で説明されているコンセプトおよび技術を理解する必要があります。
これらの関数はアルファベット順に示します。ただし、これらは、タイプ、単一のジオメトリ関数、2つのジオメトリ関数にグループ化できます。
タイプ:
単一のジオメトリ関数:
2つのジオメトリ関数:
形式
ST_AnyInteract( geometry1 ST_Geometry, geometry1 ST_Geometry, tolerance NUMBER DEFAULT 0 (nongeodetic geometries) or 0.05 (geodetic geometries));
説明
geometry1
がgeometry2
との空間的相互作用を持つかどうかを確認し、true
またはfalse
を返します。
使用上の注意
これらのジオメトリは両方とも、同じ数の次元(2または3)および同じ空間参照システム(SRIDまたは座標系)を持つ必要があります。
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」も参照してください。
例
select ST_AnyInteract( ST_Point('{ "type": "Point", "coordinates": [2, 3]}', 8307), ST_Polygon('{"type": "Polygon","coordinates": [[[1, 2], [5, 2], [5, 6], [1, 6], [1, 2]]]}', 8307)) from hivetable LIMIT 1; -- return true
形式
ST_Area( geometry ST_Geometry tolerance NUMBER DEFAULT 0 (nongeodetic geometries) or 0.05 (geodetic geometries));
説明
ポリゴンまたはマルチポリゴン・ジオメトリの領域を返します。
使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
select ST_Area(ST_Polygon('{"type": "Polygon","coordinates": [[[1, 2], [5, 2], [5, 7], [1, 7], [1, 2]]]}', 0)) from hivetable LIMIT 1; -- return 20
形式
ST_AsWKB( geometry ST_Geometry);
説明
ジオメトリのWKB (Well-Known Binary)表現を返します。
使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
select ST_AsWKB( ST_Point('{ "type": "Point", "coordinates": [0, 5]}', 8307)) from hivetable LIMIT 1;
形式
ST_AsWKT( geometry ST_Geometry);
説明
ジオメトリのWKT (Well-Known Text)表現を返します。
使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
select ST_AsWKT(ST_Point('{ "type": "Point", "coordinates": [0, 5]}', 8307)) from hivetable LIMIT 1;
形式
ST_Buffer( geometry ST_Geometry, bufferWidth NUMBER, arcTol NUMBER DEFAULT 0 (nongeodetic geometries) or 0.05 (geodetic geometries));
説明
入力ジオメトリがバッファされたバージョンである新しいST_Geometryオブジェクトを生成します。
パラメータ
使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
select ST_Buffer(ST_Point('{ "type": "Point", "coordinates": [0, 5]}', 0), 3) from hivetable LIMIT 1; -- return {"type":"Polygon", "coordinates":[[[-3,5],[0,2],[3,5]]],"crs":{"type":"name","properties":{"name":"EPSG:0"}}}
形式
ST_Contains( geometry1 ST_Geometry, geometry1 ST_Geometry, tolerance NUMBER DEFAULT 0 (nongeodetic geometries) or 0.05 (geodetic geometries));
説明
geometry1
にgeometry2
が含まれるかどうかを確認し、true
またはfalse
を返します。
パラメータ
使用上の注意
これらのジオメトリは両方とも、同じ数の次元(2または3)および同じ空間参照システム(SRIDまたは座標系)を持つ必要があります。
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」も参照してください。
例
select ST_Contains( ST_Polygon('{"type": "Polygon","coordinates": [[[1, 2], [5, 2], [5, 6], [1, 6], [1, 2]]]}', 8307), ST_Point('{ "type": "Point", "coordinates": [2, 3]}', 8307)) from hivetable LIMIT 1; -- return true
形式
ST_ConvexHull( geometry ST_Geometry);
説明
入力ジオメトリの凸包をST_Geometryオブジェクトとして返します。
使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
select ST_ConvexHull( ST_MultiPoint(' { "type": "MultiPoint","coordinates": [ [1, 2], [-1, -2], [5, 6] ] }', 0)) from hivetable LIMIT 1; -- return {"type":"Polygon", "coordinates":[[[5,6],[1,2],[-1,-2],[5,6]]],"crs":{"type":"name","properties":{"name":"EPSG:0"}}}
形式
ST_Distance( geometry1 ST_Geometry, geometry1 ST_Geometry, tolerance NUMBER DEFAULT 0 (nongeodetic geometries) or 0.05 (geodetic geometries));
説明
2つの2次元ジオメトリ間の距離を確認します。
使用上の注意
この関数は、2つの特定のジオメトリ間の距離を返します。投影されたデータの場合、距離の単位は投影の単位と同じです。測地データの場合、距離はメートル単位です。
エラーが発生した場合、この関数は-1を返します。
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」も参照してください。
例
select ST_Distance( ST_Point('{ "type": "Point", "coordinates": [0, 0]}', 0), ST_Point('{ "type": "Point", "coordinates": [6, 8]}', 0)) from hivetable LIMIT 1; -- return 10.0
形式
ST_Envelope( geometry ST_Geometry);
説明
入力ジオメトリのエンベロープ(境界ポリゴン)をST_Geometryオブジェクトとして返します。
使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
select ST_Envelope( ST_MultiPoint(' { "type": "MultiPoint","coordinates": [ [1, 2], [-1, -2], [5, 6] ] }', 0)) from hivetable LIMIT 1; -- return {"type":"Polygon", "coordinates":[[[-1,-2],[5,-2],[5,6],[-1,6],[-1,-2]]],"crs":{"type":"name","properties":{"name":"EPSG:0"}}}
形式
ST_GEOMETRY( geometry STRING srid INT);
または
ST_GEOMETRY( geometry BINARY srid INT);
または
ST_GEOMETRY( geometry Object hiveRecordInfoProvider STRING);
説明
ジオメトリのGeoJSON文字列表現を作成し、ジオメトリのGeoJSON文字列表現を返します。
パラメータ
GeoJSONまたはWKT文字列からジオメトリを作成するには(最初の形式): GeoJSONまたはWKT形式のジオメトリ定義。
WKBオブジェクトからジオメトリを作成するには(2番目の形式): WKB形式のジオメトリ定義。
Hiveオブジェクトを使用してジオメトリを作成するには(3番目の形式): Hiveでサポートされているタイプのジオメトリ定義。
oracle.spatial.hadoop.vector.hive.HiveRecordInfoProvider
の実装の完全修飾名。使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
-- creates a point using GeoJSON select ST_Geometry (' { "type": "Point", "coordinates": [100.0, 0.0]}', 8307) from hivetable LIMIT 1; -- creates a point using WKT select ST_Geometry ('point(100.0 0.0)', 8307) from hivetable LIMIT 1; -- creates the geometries using a HiveRecordInfoProvider select ST_Geometry (geoColumn, ‘hive.samples.SampleHiveRecordInfoProviderImpl’) from hivetable;
形式
ST_Inside( geometry1 ST_Geometry, geometry1 ST_Geometry, tolerance NUMBER DEFAULT 0 (nongeodetic geometries) or 0.05 (geodetic geometries));
説明
geometry1
がgeometry2
内にあるかどうかを確認し、true
またはfalse
を返します。
使用上の注意
これらのジオメトリは両方とも、同じ数の次元(2または3)および同じ空間参照システム(SRIDまたは座標系)を持つ必要があります。
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」も参照してください。
例
select ST_Inside( ST_Point('{ "type": "Point", "coordinates": [2, 3]}', 8307), ST_Polygon('{"type": "Polygon","coordinates": [[[1, 2], [5, 2], [5, 6], [1, 6], [1, 2]]]}', 8307)) from hivetable LIMIT 1; -- return true
形式
ST_Length( geometry ST_Geometry tolerance NUMBER DEFAULT 0 (nongeodetic geometries) or 0.05 (geodetic geometries));
説明
線またはポリゴン・ジオメトリの長さを返します。
使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
select ST_Length(ST_Polygon('{"type": "Polygon","coordinates": [[[1, 2], [5, 2], [5, 6], [1, 6], [1, 2]]]}', 0)) from hivetable LIMIT 1; -- return 16
形式
ST_LineString( geometry STRING srid INT);
または
ST_LineString( geometry BINARY srid INT);
または
ST_LineString( geometry Object hiveRecordInfoProvider STRING);
説明
線ストリング・ジオメトリをGeoJSON形式で作成し、ジオメトリのGeoJSON文字列表現を返します。
パラメータ
GeoJSONまたはWKT文字列からジオメトリを作成するには(最初の形式): GeoJSONまたはWKT形式のジオメトリ定義。
WKBオブジェクトからジオメトリを作成するには(2番目の形式): WKB形式のジオメトリ定義。
Hiveオブジェクトを使用してジオメトリを作成するには(3番目の形式): Hiveでサポートされているタイプのジオメトリ定義。
oracle.spatial.hadoop.vector.hive.HiveRecordInfoProvider
の実装の完全修飾名。使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
-- creates a line using GeoJSON select ST_LineString (' { "type": "LineString","coordinates": [ [100.0, 0.0], [101.0, 1.0] ]} ', 8307) from hivetable LIMIT 1; -- creates a line using WKT select ST_LineString (' linestring(1 1, 5 5, 10 10, 20 20)', 8307) from hivetable LIMIT 1; -- creates the lines using a HiveRecordInfoProvider select ST_LineString (geoColumn, ‘mypackage.hiveRecordInfoProviderImpl’) from hivetable;
形式
ST_MultiLineString( geometry STRING srid INT);
または
ST_MultiLineString( geometry BINARY srid INT);
または
ST_MultiLineString( geometry Object hiveRecordInfoProvider STRING);
説明
複数の線ストリング・ジオメトリをGeoJSON形式で作成し、ジオメトリのGeoJSON文字列表現を返します。
パラメータ
GeoJSONまたはWKT文字列からジオメトリを作成するには(最初の形式): GeoJSONまたはWKT形式のジオメトリ定義。
WKBオブジェクトからジオメトリを作成するには(2番目の形式): WKB形式のジオメトリ定義。
Hiveオブジェクトを使用してジオメトリを作成するには(3番目の形式): Hiveでサポートされているタイプのジオメトリ定義。
oracle.spatial.hadoop.vector.hive.HiveRecordInfoProvider
の実装の完全修飾名。使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
-- creates a MultiLineString using GeoJSON select ST_ MultiLineString (' { "type": "MultiLineString","coordinates": [ [ [100.0, 0.0], [101.0, 1.0] ], [ [102.0, 2.0], [103.0, 3.0] ]] }', 8307) from hivetable LIMIT 1; -- creates a MultiLineString using WKT select ST_ MultiLineString ('multilinestring ((10 10, 20 20, 10 40), (40 40, 30 30, 40 20, 30 10))', 8307) from hivetable LIMIT 1; -- creates MultiLineStrings using a HiveRecordInfoProvider select ST_ MultiLineString (geoColumn, ‘mypackage.hiveRecordInfoProviderImpl’) from hivetable;
形式
ST_MultiPoint( geometry STRING srid INT);
または
ST_MultiPoint( geometry BINARY srid INT);
または
ST_MultiPoint( geometry Object hiveRecordInfoProvider STRING);
説明
複数点ジオメトリをGeoJSON形式で作成し、ジオメトリのGeoJSON文字列表現を返します。
パラメータ
GeoJSONまたはWKT文字列からジオメトリを作成するには(最初の形式): GeoJSONまたはWKT形式のジオメトリ定義。
WKBオブジェクトからジオメトリを作成するには(2番目の形式): WKB形式のジオメトリ定義。
Hiveオブジェクトを使用してジオメトリを作成するには(3番目の形式): Hiveでサポートされているタイプのジオメトリ定義。
oracle.spatial.hadoop.vector.hive.HiveRecordInfoProvider
の実装の完全修飾名。使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
-- creates a MultiPoint using GeoJSON select ST_MultiPoint (' { "type": "MultiPoint","coordinates": [ [100.0, 0.0], [101.0, 1.0] ] }', 8307) from hivetable LIMIT 1; -- creates a MultiPoint using WKT select ST_ MultiPoint ('multipoint ((10 40), (40 30), (20 20), (30 10))', 8307) from hivetable LIMIT 1; -- creates MultiPoints using a HiveRecordInfoProvider select ST_ MultiPoint (geoColumn, ‘mypackage.hiveRecordInfoProviderImpl’) from hivetable;
形式
ST_MultiPolygon( geometry STRING srid INT);
または
ST_MultiPolygon( geometry BINARY srid INT);
または
ST_MultiPolygon( geometry Object hiveRecordInfoProvider STRING);
説明
複数ポリゴン・ジオメトリをGeoJSON形式で作成し、ジオメトリのGeoJSON文字列表現を返します。
パラメータ
GeoJSONまたはWKT文字列からジオメトリを作成するには(最初の形式): GeoJSONまたはWKT形式のジオメトリ定義。
WKBオブジェクトからジオメトリを作成するには(2番目の形式): WKB形式のジオメトリ定義。
Hiveオブジェクトを使用してジオメトリを作成するには(3番目の形式): Hiveでサポートされているタイプのジオメトリ定義。
oracle.spatial.hadoop.vector.hive.HiveRecordInfoProvider
の実装の完全修飾名。使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
-- creates a MultiPolygon using GeoJSON select ST_ MultiPolygon (' { "type": "MultiPolygon","coordinates": [[[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]]], [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]], [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]]] ] }', 8307) from hivetable LIMIT 1; -- creates a MultiPolygon using WKT select ST_ MultiPolygon ('multipolygon(((30 20, 45 40, 10 40, 30 20)), ((15 5, 40 10, 10 20, 5 10, 15 5)))', 8307) from hivetable LIMIT 1; -- creates MultiPolygons using a HiveRecordInfoProvider select ST_ MultiPolygon (geoColumn, ‘mypackage.hiveRecordInfoProviderImpl’) from hivetable;
形式
ST_Point( geometry STRING srid INT);
または
ST_Point( geometry BINARY srid INT);
または
ST_Point( geometry Object hiveRecordInfoProvider STRING);
説明
点ジオメトリをGeoJSON形式で作成し、ジオメトリのGeoJSON文字列表現を返します。
パラメータ
GeoJSONまたはWKT文字列からジオメトリを作成するには(最初の形式): GeoJSONまたはWKT形式のジオメトリ定義。
WKBオブジェクトからジオメトリを作成するには(2番目の形式): WKB形式のジオメトリ定義。
Hiveオブジェクトを使用してジオメトリを作成するには(3番目の形式): Hiveでサポートされているタイプのジオメトリ定義。
oracle.spatial.hadoop.vector.hive.HiveRecordInfoProvider
の実装の完全修飾名。使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
-- creates a point using GeoJSON select ST_Point (' { "type": "Point", "coordinates": [100.0, 0.0]}', 8307) from hivetable LIMIT 1; -- creates a point using WKT select ST_Point ('point(100.0 0.0)', 8307) from hivetable LIMIT 1; -- creates the points using a HiveRecordInfoProvider select ST_Point (geoColumn, ‘hive.samples.SampleHiveRecordInfoProviderImpl’) from hivetable;
形式
ST_Polygon( geometry STRING srid INT);
または
ST_Polygon( geometry BINARY srid INT);
または
ST_Polygon( geometry Object hiveRecordInfoProvider STRING);
説明
ポリゴン・ジオメトリをGeoJSON形式で作成し、ジオメトリのGeoJSON文字列表現を返します。
パラメータ
GeoJSONまたはWKT文字列からジオメトリを作成するには(最初の形式): GeoJSONまたはWKT形式のジオメトリ定義。
WKBオブジェクトからジオメトリを作成するには(2番目の形式): WKB形式のジオメトリ定義。
Hiveオブジェクトを使用してジオメトリを作成するには(3番目の形式): Hiveでサポートされているタイプのジオメトリ定義。
oracle.spatial.hadoop.vector.hive.HiveRecordInfoProvider
の実装の完全修飾名。使用上の注意
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」を参照してください。
例
-- creates a polygon using GeoJSON select ST_Polygon (' { "type": "Polygon","coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]] }', 8307) from hivetable LIMIT 1; -- creates a polygon using WKT select ST_ Polygon ('polygon((0 0, 10 0, 10 10, 0 0))', 8307) from hivetable LIMIT 1; -- creates the polygons using a HiveRecordInfoProvider select ST_ Polygon (geoColumn, ‘mypackage.hiveRecordInfoProviderImpl’) from hivetable;
形式
ST_Simplify( geometry ST_Geometry, threshold NUMBER);
説明
Douglas-Peuckerアルゴリズムを使用して入力ジオメトリを簡素化することにより、新しいST_Geometryオブジェクトを生成します。
パラメータ
任意の2次元オブジェクト。ジオメトリが測地である場合、これはWGS84空間参照システム内の緯度/情報値として解釈され、bufferWidth
およびtolerance
はメートルとして解釈されます。
ジオメトリの簡素化に使用するしきい値。正数である必要があります。(ゼロを使用すると、入力ジオメトリが返されます。)入力ジオメトリが測地である場合、この値はメートル数です。入力ジオメトリが測地以外である場合、この値はデータに関連付けられた単位数です。
しきい値が下がると、生成されるジオメトリが入力ジオメトリに近くなる可能性があり、しきい値が上がると、返されるジオメトリ内の頂点の数が減る可能性があります。
使用上の注意
しきい値に応じて、ポリゴンを線または点に簡素化したり、線を点に簡素化したりできます。したがって、出力ジオメトリ・タイプが入力ジオメトリ・タイプとは異なる可能性があるため、出力オブジェクトのタイプをチェックする必要があります。
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」も参照してください。
例
select ST_Simplify( ST_Polygon('{"type": "Polygon","coordinates": [[[1, 2], [1.01, 2.01], [5, 2], [5, 6], [1, 6], [1, 2]]]}', 8307), 1) from hivetable LIMIT 1; -- return {"type":"Polygon", "coordinates":[[[1,2],[5,2],[5,6],[1,6],[1,2]]],"crs":{"type":"name","properties":{"name":"EPSG:8307"}}}
形式
ST_SimplifyVW( geometry ST_Geometry, threshold NUMBER);
説明
Visvalingham-Whyattアルゴリズムを使用して入力ジオメトリを簡素化することにより、新しいST_Geometryオブジェクトを生成します。
パラメータ
任意の2次元オブジェクト。ジオメトリが測地である場合、これはWGS84空間参照システム内の緯度/情報値として解釈され、bufferWidth
およびtolerance
はメートルとして解釈されます。
ジオメトリの簡素化に使用するしきい値。正数である必要があります。(ゼロを使用すると、入力ジオメトリが返されます。)入力ジオメトリが測地である場合、この値はメートル数です。入力ジオメトリが測地以外である場合、この値はデータに関連付けられた単位数です。
しきい値が下がると、生成されるジオメトリが入力ジオメトリに近くなる可能性があり、しきい値が上がると、返されるジオメトリ内の頂点の数が減る可能性があります。
使用上の注意
しきい値に応じて、ポリゴンを線または点に簡素化したり、線を点に簡素化したりできます。したがって、出力ジオメトリ・タイプが入力ジオメトリ・タイプとは異なる可能性があるため、出力オブジェクトのタイプをチェックする必要があります。
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」も参照してください。
例
select ST_SimplifyVW( ST_Polygon('{"type": "Polygon","coordinates": [[[1, 2], [1.01, 2.01], [5, 2], [5, 6], [1, 6], [1, 2]]]}', 8307), 50) from hivetable LIMIT 1; -- return {"type":"Polygon", "coordinates":[[[1,2],[5,6],[1,6],[1,2]]],"crs":{"type":"name","properties":{"name":"EPSG:8307"}}}
形式
ST_Volume( multipolygon ST_MultiPolygon, tolerance NUMBER DEFAULT 0 (nongeodetic geometries) or 0.05 (geodetic geometries));
説明
マルチポリゴン3次元ジオメトリの領域を返します。マルチポリゴンは立体として処理されます。
使用上の注意
投影されたデータの場合、ボリュームの単位は投影の単位と同じです。測地データの場合、ボリュームは立方メートルです。
エラーの場合、-1を返します。
コンセプトおよび使用に関する情報は、「Oracle Big Data Spatial Vector Hive Analysis」も参照してください。
例
select select ST_Volume( ST_MultiPolygon (' { "type": "MultiPolygon", "coordinates": [[[[0, 0, 0], [0, 0, 1], [0, 1, 1], [0, 1, 0], [0, 0, 0]]], [[[0, 0, 0], [0, 1, 0], [1, 1, 0], [1, 0, 0], [0, 0, 0]]], [[[0, 0, 0], [1, 0, 0], [1, 0, 1], [0, 0, 1], [0, 0, 0]]], [[[1, 1, 0], [1, 1, 1], [1, 0, 1], [1, 0, 0], [1, 1, 0]]], [[[0, 1, 0], [0, 1, 1], [1, 1, 1], [1, 1, 0], [0, 1, 0]]], [[[0, 0, 1], [1, 0, 1], [1, 1, 1], [0, 1, 1], [0, 0, 1]]]]}', 0)) from hivetable LIMIT 1; -- return 1.0