B.1 空間サポート用GeoSPARQL関数
この項では、GeoSPARQL関数についてのリファレンス情報を提供します。
- ogcf:aggBoundingBox
- ogcf:aggBoundingCircle
- ogcf:aggCentroid
- ogcf:aggConcaveHull
- ogcf:aggConvexHull
- ogcf:aggUnion
- ogcf:Area
- ogcf:asGeoJSON
- ogcf:asGML
- ogcf:asKML
- ogcf:asWKT
- ogcf:boundary
- ogcf:boundingCircle
- ogcf:buffer
- ogcf:concaveHull
- ogcf:convexHull
- ogcf:coordinateDimension
- ogcf:difference
- ogcf:dimension
- ogcf:distance
- ogcf:envelope
- ogcf:geometryN
- ogcf:geometryType
- ogcf:getSRID
- ogcf:intersection
- ogcf:is3D
- ogcf:isEmpty
- ogcf:isMeasured
- ogcf:isSimple
- ogcf:length
- ogcf:maxX
- ogcf:maxY
- ogcf:maxZ
- ogcf:metricArea
- ogcf:metricBuffer
- ogcf:metricLength
- ogcf:metricPerimeter
- ogcf:minX
- ogcf:minY
- ogcf:minZ
- ogcf:numGeometries
- ogcf:perimeter
- ogcf:relate
- ogcf:sfContains
- ogcf:sfCrosses
- ogcf:sfDisjoint
- ogcf:sfEquals
- ogcf:sfIntersects
- ogcf:sfOverlaps
- ogcf:sfTouches
- ogcf:sfWithin
- ogcf:spatialDimension
- ogcf:symDifference
- ogcf:transform
- ogcf:union
親トピック: 空間問合せのSEM_MATCHサポート
B.1.1 ogcf:aggBoundingBox
形式
ogcf:aggBoundingBox(geom : geomLiteral) : ogc:wktLiteral
説明
ジオメトリの入力セットの最小境界ボックス(矩形)である単一のジオメトリ・オブジェクトを戻す集計。
例
次の例では、米国下院議員選挙区ポリゴンの集計境界ボックスを検出します。
SELECT bb
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (ogcf:aggBoundingBox(?cgeom) AS ?bb)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.2 ogcf:aggBoundingCircle
形式
ogcf:aggBoundingCircle(geom : geomLiteral) : ogc:wktLiteral
説明
ジオメトリの入力セットの最小境界円である単一のジオメトリ・オブジェクトを戻す集計。
例
次の例では、米国下院議員選挙区ポリゴンの集計境界円を検出します。
SELECT bc
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (ogcf:aggBoundingCircle(?cgeom) AS ?bc)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.3 ogcf:aggCentroid
形式
ogcf:aggCentroid(geom : geomLiteral) : ogc:wktLiteral
説明
ジオメトリの入力セットの中心(中心点)である単一のジオメトリ・オブジェクトを戻す集計。
例
次の例では、米国下院議員選挙区ポリゴンの集計中心を検出します。
SELECT c
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (ogcf:aggCentroid(?cgeom) AS ?c)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.4 ogcf:aggConcaveHull
形式
ogcf:aggConcaveHull(geom : geomLiteral) : ogc:wktLiteral
説明
ジオメトリの入力セットの凹型である単一のジオメトリ・オブジェクトを戻す集計。凹型は、点の集合などの入力ジオメトリの領域を表現するポリゴンです。複雑な入力ジオメトリでは、通常、凹型は凸型の領域よりも非常に小さくなっています。
例
次の例では、米国下院議員選挙区ポリゴンの集計凹型を検出します。
SELECT ch
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (ogcf:aggConcaveHull(?cgeom) AS ?ch)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.5 ogcf:aggConvexHull
形式
ogcf:aggConvexHull(geom : geomLiteral) : ogc:wktLiteral
説明
ジオメトリの入力セットの凸型である単一のジオメトリ・オブジェクトを戻す集計。凸型とは、ジオメトリ・オブジェクトを完全に囲む最小ポリゴンを作成するために、使用する直線の辺をできるだけ少なくした、ジオメトリ・オブジェクトを完全に囲む単純な凸型のポリゴンです。
例
次の例では、米国下院議員選挙区ポリゴンの集計凸型を検出します。
SELECT ch
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (ogcf:aggConvexHull(?cgeom) AS ?ch)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.6 ogcf:aggUnion
形式
ogcf:aggUnion(geom : geomLiteral) : ogc:wktLiteral
説明
ジオメトリの入力セットの位相的な和集合である単一のジオメトリ・オブジェクトを戻す集計。
例
次の例では、米国下院議員選挙区ポリゴンの集計和集合を検出します。
SELECT u
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (ogcf:aggUnion(?cgeom) AS ?u)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.7 ogcf:Area
形式
ogcf:area(geom : geomLiteral, units : xsd:anyURI) : ogc:wktLiteral
説明
2次元ポリゴンの面積を戻します。
パラメータ
- geom
-
ジオメトリ・オブジェクト問合せ変数または定数
geomLiteral
の値で指定します。 - units
-
Unit of measurement:
<http://xmlns.oracle.com/rdf/geo/uom/{SDO_UNIT}>
形式のURI (<http://xmlns.oracle.com/rdf/geo/uom/M>
など)。MDSYS.SDO_AREA_UNITS表からのSDO_UNIT値がすべて認識されます。測定単位の仕様の詳細は、『Oracle Spatial開発者ガイド』の測定単位のサポートに関する項を参照してください。- MDSYS.SDO_AREA_UNITS表に同等の単位があるQUDTボキャブラリの単位からのURI。たとえば、平方メートルの場合は
<http://qudt.org/vocab/unit/M2>
です。
例
次の例では、各米国下院議員選挙区ポリゴンの面積を平方メートルで検出します。
SELECT name, ca
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name (ogcf:area(?cgeom, <http://qudt.org/vocab/unit/M2>) AS ?ca)
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.8 ogcf:asGeoJSON
形式
ogcf:asGeoJSON(geom : geomLiteral) : ogc:geoJSONLiteral
説明
geomを同等のGeoJSON表現に変換します。
使用に関するノート
ジオメトリをogc:geoJSONLiteral
に変換すると、CRS84経度、緯度(GeoJSONでサポートされている唯一の座標参照系)への座標変換が行われます。
RDFでの空間データの表現、索引付けおよび問合せの詳細は、「空間のサポート」を参照してください。
OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、各米国下院議員選挙区ポリゴンをogc:geoJSONLiteral
として戻します。
SELECT name, gjson
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name (ogcf:asGeoJSON(?cgeom) AS ?gjson)
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.9 ogcf:asGML
形式
ogcf:asGML(geom : geomLiteral, gmlProfile : xsd:string) : ogc:gmlLiteral
説明
geom
を同等のGML表現に変換します。
パラメータ
例
次の例では、各米国下院議員選挙区ポリゴンをogc:GMLLiteral
として戻します。
SELECT name, gml
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name (ogcf:asGML(?cgeom, "3.11") AS ?gml)
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.10 ogcf:asKML
形式
ogcf:asKML(geom : geomLiteral) : ogc:kmlLiteral
説明
geomを同等のKML表現に変換します。
使用に関するノート
ジオメトリをogc:kmlLiteral
に変換すると、CRS84経度、緯度(GMLでサポートされている唯一の座標参照系)への座標変換が行われます。
RDFでの空間データの表現、索引付けおよび問合せの詳細は、「空間のサポート」を参照してください。
OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、各米国下院議員選挙区ポリゴンをogc:kmlLiteral
として戻します。
SELECT name, kml
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name (ogcf:asKML(?cgeom) AS ?kml)
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.11 ogcf:asWKT
形式
ogcf:asWKT(geom : geomLiteral) : ogc:wktLiteral
説明
geomを同等のWKT表現に変換します。
例
次の例では、各米国下院議員選挙区ポリゴンをogc:wktLiteral
として戻します。
SELECT name, wkt
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name (ogcf:asWKT(?cgeom) AS ?wkt)
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.12 ogcf:boundary
形式
ogcf:boundary(geom : geomLiteral) : ogc:wktLiteral
説明
geom
の境界の閉包であるジオメトリ・オブジェクトを戻します。
例
次の例では、米国下院議員選挙区ポリゴンの境界を検出します。
SELECT cb FROM table(sem_match( 'PREFIX ogc: <http://www.opengis.net/ont/geosparql#> PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/> PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/> PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/> PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/> SELECT (ogcf:boundary(?cgeom) AS ?cb) WHERE { ?person usgovt:name ?name . ?person pol:hasRole ?role . ?role pol:forOffice ?office . ?office pol:represents ?cdist . ?cdist orageo:hasExactGeometry ?cgeom }' ,sem_models('gov_all_vm'), null ,null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.13 ogcf:boundingCircle
形式
ogcf:boundingCircle(geom : geomLiteral) : ogc:wktLiteral
説明
geom
を囲む最小境界円である形状オブジェクトを戻します。
例
次の例では、各米国下院議員選挙区ポリゴンを囲む最小境界円を戻します。
SELECT name, bc
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name (ogcf:boundingCircle(?cgeom) AS ?bc)
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.14 ogcf:buffer
形式
ogcf:buffer(geom : geomLiteral, radius : xsd:decimal, units : xsd:anyURI) : ogc:wktLiteral
説明
ジオメトリの周りの指定された半径(単位で測定)のバッファ・ポリゴンを戻します。
パラメータ
- geom
-
ジオメトリ・オブジェクト問合せ変数または定数
geomLiteral
の値で指定します。 - radius
-
バッファを定義するために使用される半径の値。
- units
-
Unit of measurement:
<http://xmlns.oracle.com/rdf/geo/uom/{SDO_UNIT}>
形式のURI (<http://xmlns.oracle.com/rdf/geo/uom/M>
など)。MDSYS.SDO_DIST_UNITS表からのSDO_UNIT値がすべて認識されます。測定単位の仕様の詳細は、『Oracle Spatial開発者ガイド』の測定単位のサポートに関する項を参照してください。- MDSYS.SDO_DIST_UNITS表に同等の単位があるQUDTボキャブラリの単位からのURI。たとえば、メートルの場合は
<http://qudt.org/vocab/unit/M>
です。
例
次の例では、指定された点の周り100kmのバッファ内にある米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ # HINT0={LEADING(?cgeom)}
?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (
ogcf:sfWithin(?cgeom,
ogcf:buffer("POINT(-71.46444 42.7575)"^^ogc:wktLiteral,
100,
<http://xmlns.oracle.com/rdf/geo/uom/KM>))) }'
,sem_models('gov_all_vm'), null
,null
,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.15 ogcf:concaveHull
形式
ogcf:concaveHull(geom : geomLiteral) : ogc:wktLiteral
説明
geom
の凹型部分を表現する形状オブジェクトを戻します。凸型は、ジオメトリ・オブジェクトを完全に囲む単純な凸型のポリゴンです。Spatialでは、指定したオブジェクトを完全に囲む最小ポリゴンを作成する場合に、使用する直線の辺をできるだけ少なくします。凸型は、複雑なジオメトリ・オブジェクトの近似値を取る場合に便利です。
例
次の例では、各米国下院議員選挙区ポリゴンの凹型を戻します。
SELECT name, ch
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name (ogcf:concaveHull(?cgeom) AS ?ch)
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.16 ogcf:convexHull
形式
ogcf:convexHull(geom : geomLiteral) : ogc:wktLiteral
説明
geomの凸型部分を表現するポリゴン・ジオメトリを戻します。(凸型とは、ジオメトリ・オブジェクトを完全に囲む最小ポリゴンを作成するために、使用する直線の辺をできるだけ少なくした、ジオメトリ・オブジェクトを完全に囲む単純な凸型のポリゴンです)。
例
次の例では、凸型が、指定された点を含む米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfContains(ogcf:convexHull(?cgeom),
"POINT(-71.46444 42.7575)"^^ogc:wktLiteral)) } '
,sem_models('gov_all_vm'), null
,null
,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.17 ogcf:coordinateDimension
形式
ogcf:coordinateDimension(geom : geomLiteral) : xsd:integer
説明
geom
の座標次元を戻します。座標次元は、geom
の座標参照系の位置を記述するために必要な測定値または軸の数です。
例
次の例では、各米国下院議員選挙区ポリゴンの座標次元を戻します。
SELECT cdist, cd
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?cdist (ogcf:coordinateDimension(?cgeom) AS ?cd)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.18 ogcf:difference
形式
ogcf:difference(geom1 : geomLiteral, geom2 : geomLiteral) : ogc:wktLiteral
説明
geom1
とgeom2
で位相的に差(MINUS演算)となるジオメトリ・オブジェクトを戻します。
パラメータ
例
次の例では、中心が、2つの指定されたポリゴンの差の内部にある米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist FROM table(sem_match( 'PREFIX ogc: <http://www.opengis.net/ont/geosparql#> PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/> PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/> PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/> PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/> SELECT ?name ?cdist WHERE { ?person usgovt:name ?name . ?person pol:hasRole ?role . ?role pol:forOffice ?office . ?office pol:represents ?cdist . ?cdist orageo:hasExactGeometry ?cgeom FILTER (ogcf:sfWithin(orageo:centroid(?cgeom), ogcf:difference( "Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5, -83.6 34.5, -83.6 34.1))"^^ogc:wktLiteral, "Polygon((-83.2 34.3, -83.0 34.3, -83.0 34.5, -83.2 34.5, -83.2 34.3))"^^ogc:wktLiteral))) } ' ,sem_models('gov_all_vm'), null ,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.19 ogcf:dimension
形式
ogcf:dimension(geom : geomLiteral) : xsd:integer
説明
geom
の次元を戻します。たとえば、点の次元は0、線は1、ポリゴンは2です。
.
例
次の例では、各米国下院議員選挙区ポリゴンの次元を戻します。
SELECT cdist, cd
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?cdist (ogcf:dimension(?cgeom) AS ?cd)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.20 ogcf:distance
形式
ogcf:distance(geom1 : geomLiteral, geom2 : geomLiteral, units : xsd:anyURI) : xsd:decimal
説明
geom1
とgeom2
の2点間の最短距離を、指定された単位で戻します。
パラメータ
- geom1
-
ジオメトリ・オブジェクト問合せ変数または定数
geomLiteral
の値で指定します。 - geom2
-
ジオメトリ・オブジェクト問合せ変数または定数
geomLiteral
の値で指定します。 - units
-
Unit of measurement:
<http://xmlns.oracle.com/rdf/geo/uom/{SDO_UNIT}>
形式のURI (<http://xmlns.oracle.com/rdf/geo/uom/KM>
など)。MDSYS.SDO_DIST_UNITS表からのSDO_UNIT値がすべて認識されます。測定単位の仕様の詳細は、『Oracle Spatial and Graph開発者ガイド』の測定単位の項を参照してください。- MDSYS.SDO_DIST_UNITS表に同等の単位があるQUDTボキャブラリの単位からのURI。たとえば、メートルの場合は
<http://qudt.org/vocab/unit/M>
です。
例
次の例では、指定された点からの距離に基づいて米国下院議員選挙区を順序付けします。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ # HINT0={LEADING(?cgeom)}
?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
}
ORDER BY ASC(ogcf:distance(?cgeom,
"POINT(-71.46444 42.7575)"^^ogc:wktLiteral,
<http://xmlns.oracle.com/rdf/geo/uom/KM>))'
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '))
ORDER BY sem$rownum;
親トピック: 空間サポート用GeoSPARQL関数
B.1.21 ogcf:envelope
形式
ogcf:envelope(geom : geomLiteral) : ogc:wktLiteral
説明
geom
の最小境界矩形(MBR)、つまり、geom
を囲む単一の最小の矩形を戻します。
例
次の例では、最小境界矩形が、指定された点を含む米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfContains(ogcf:envelope(?cgeom),
"POINT(-71.46444 42.7575)"^^ogc:wktLiteral)) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.22 ogcf:geometryN
形式
ogcf:geometryN(geom : geomLiteral, geomindex : xsd:integer) : ogc:wktLiteral
説明
geom
がジオメトリ・コレクションの場合はgeom
のn
番目のジオメトリを戻し、geom
が単一のジオメトリであり、n=1
の場合はgeom
を戻します。
パラメータ
例
次の例では、入力ジオメトリ・コレクションの2番目のジオメトリを戻します。
SELECT g
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (ogcf:geometryN("GEOMETRYCOLLECTION(POINT(-75 44), LINESTRING(-75 44, -75 45),
POLYGON((-75 44, -75 43, -74 43, -74 44, -75 44)))"^^ogc:wktLiteral, 2) AS ?g)
WHERE
{ }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.23 ogcf:geometryType
形式
ogcf:geometryType(geom : geomLiteral) : xsd:anyURI
説明
geom
がメンバーである<http://www.opengis.net/ont/sf#Geometry>
のサブタイプのURIを戻します。可能な戻り値は次のとおりです。
<http://www.opengis.net/ont/sf#Point>
<http://www.opengis.net/ont/sf#LineString>
<http://www.opengis.net/ont/sf#Polygon>
<http://www.opengis.net/ont/sf#GeometryCollection>
<http://www.opengis.net/ont/sf#MultiPoint>
<http://www.opengis.net/ont/sf#MultiLineString>
<http://www.opengis.net/ont/sf#MultiPolygon>
<http://www.opengis.net/ont/sf#Solid>
<http://www.opengis.net/ont/sf#MultiSolid>
<http://www.opengis.net/ont/sf#Unknown>
例
次の例では、各米国下院議員選挙区ポリゴンのジオメトリ・タイプを戻します。
SELECT cdist, gtype
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?cdist (ogcf:geometryType(?cgeom) AS ?gtype)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.24 ogcf:getSRID
形式
ogcf:getSRID(geom : geomLiteral) : xsd:anyURI
説明
geom
の空間参照システムURIを戻します。
使用に関するノート
戻されるURIは、<http://www.opengis.net/def/crs/EPSG/0/{srid}>
という形式を取ります({srid}
は、European Petroleum Survey Group (EPSG)の有効な空間参照システムIDです)。
EPSGジオメトリック・パラメータ・データセットに含まれないURIの場合、戻されるURIは、<http://xmlns.oracle.com/rdf/geo/srid/{srid}>
という形式を取ります({srid}
は、Oracle Spatial and Graphの有効な空間参照システムIDです)。
デフォルトの空間参照システムのWGS84経度-緯度の場合、URI <http://www.opengis.net/def/crs/OGC/1.3/CRS84>
が戻されます。
RDFでの空間データの表現、索引付けおよび問合せの詳細は、「空間のサポート」を参照してください。
OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、米国下院議員選挙区ポリゴンの空間参照システムURIを検出します。
SELECT csrid
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (ogcf:getSRID(?cgeom) AS ?csrid)
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.25 ogcf:intersection
形式
ogcf:intersection (geom1 : geomLiteral, geom2 : geomLiteral) : ogc:wktLiteral
説明
geom1
とgeom2
で位相的に共通部分(AND演算)となるジオメトリ・オブジェクトを戻します。
パラメータ
例
次の例では、中心が、2つの指定されたポリゴンの共通部分の内部にある米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfWithin(orageo:centroid(?cgeom),
ogcf:intersection(
"Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5, -83.6 34.5, -83.6 34.1))"^^ogc:wktLiteral,
"Polygon((-83.2 34.3, -83.0 34.3, -83.0 34.5, -83.2 34.5, -83.2 34.3))"^^ogc:wktLiteral))) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.26 ogcf:is3D
形式
ogcf:is3D(geom : geomLiteral) : xsd:boolean
説明
geomの空間次元が3の場合、true
を戻します。
例
次の例では、3次元の米国下院議員選挙区ポリゴンがあるかどうかを確認します。
SELECT ask
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
ASK
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom
FILTER(ogcf:is3D(?cgeom)) }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.27 ogcf:isEmpty
形式
ogcf:isEmpty(geom : geomLiteral) : xsd:boolean
説明
geom
が空のジオメトリの場合は、true
を戻します。
例
次の例では、空の米国下院議員選挙区ジオメトリがあるかどうかを確認します。
SELECT ask
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
ASK
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom
FILTER(ogcf:isEmpty(?cgeom)) }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.28 ogcf:isMeasured
形式
ogcf:isMeasured(geom : geomLiteral) : xsd:boolean
説明
geom
にメジャー値がある場合は、true
を戻します。
例
次の例では、メジャー値がある米国下院議員選挙区ジオメトリがあるかどうかを確認します。
SELECT ask
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
ASK
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom
FILTER(ogcf:isMeasured(?cgeom)) }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.29 ogcf:isSimple
形式
ogcf:isSimple(geom : geomLiteral) : xsd:boolean
説明
geom
が単純なジオメトリの場合は、true
を戻します。つまり、ジオメトリには、自己交差や同一の連続する頂点などの一貫性のない機能がありません。
使用に関するノート
RDFでの空間データの表現、索引付けおよび問合せの詳細は、「空間のサポート」を参照してください。
SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXTは、ジオメトリが単純かどうかを判断する場合に使用します。SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXTがTRUE
を戻した場合、ジオメトリは単純です。
OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、単純でない下院議員選挙区ジオメトリを戻します。
SELECT cdist, cgeom
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?cdist ?cgeom
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom
FILTER(!ogcf:isSimple(?cgeom)) }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.30 ogcf:length
形式
ogcf:length(geom : geomLiteral, units : xsd:anyURI) : xsd:double
説明
geom
の長さを戻します。長さは、geom
の2つの点の間の最大距離です。
パラメータ
- geom
-
ジオメトリ・オブジェクト問合せ変数または定数
geomLiteral
の値で指定します。 - units
-
Unit of measurement:
<http://xmlns.oracle.com/rdf/geo/uom/{SDO_UNIT}>
形式のURI (<http://xmlns.oracle.com/rdf/geo/uom/M>
など)。MDSYS.SDO_DISTANCE_UNITS表からのSDO_UNIT値がすべて認識されます。測定単位の仕様の詳細は、『Oracle Spatial開発者ガイド』の測定単位のサポートに関する項を参照してください。- MDSYS.SDO_DISTANCE_UNITS表に同等の単位があるQUDTボキャブラリの単位からのURI。たとえば、メートルの場合は
<http://qudt.org/vocab/unit/M>
です。
例
次の例では、最も長い米国下院議員選挙区の最大長をメートルで検出します。
SELECT maxl
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (max(ogcf:length(?cgeom, <http://qudt.org/vocab/unit/M>)) AS ?maxl)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.31 ogcf:maxX
形式
ogcf:maxX(geom : geomLiteral) : xsd:double
説明
geom
の最大X座標値を戻します。
例
次の例では、各米国下院議員選挙区の最大X座標値を検出します。
SELECT cdist, maxX
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?cdist (ogcf:maxX(?cgeom) AS ?maxX)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.32 ogcf:maxY
形式
ogcf:maxY(geom : geomLiteral) : xsd:double
説明
geom
の最大Y座標値を戻します。
例
次の例では、各米国下院議員選挙区の最大Y座標値を検出します。
SELECT cdist, maxY
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?cdist (ogcf:maxY(?cgeom) AS ?maxY)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.33 ogcf:maxZ
形式
ogcf:maxZ(geom : geomLiteral) : xsd:double
説明
geom
の最大Z座標値を戻します。
例
次の例では、定数ジオメトリの最大Z座標値を検出します。
SELECT maxZ
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (ogcf:maxZ("<http://www.opengis.net/def/crs/EPSG/0/4327> POLYGON((-75 44 10, -75 43 11,
-74 43 11, -74 44 11, -75 44 10))"^^ogc:wktLiteral) AS ?maxZ)
WHERE
{ }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.34 ogcf:metricArea
形式
ogcf:metricArea(geom : geomLiteral) : xsd:double
説明
geom
の面積を平方メートルで戻します。
例
次の例では、各米国下院議員選挙区の面積を平方メートルで検出します。
SELECT name, ma
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name (ogcf:metricArea(?cgeom) AS ?ma)
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.35 ogcf:metricBuffer
形式
ogcf:metricBuffer(geom : geomLiteral, radius : xsd:double) : ogc:wtkLiteral
説明
ジオメトリの周りの指定された半径(メートル単位)のバッファ・ポリゴンを戻します。
例
次の例では、指定された点の周り1000mのバッファ内にある米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ # HINT0={LEADING(?cgeom)}
?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (
ogcf:sfWithin(?cgeom,
ogcf:metricBuffer("POINT(-71.46444 42.7575)"^^ogc:wktLiteral,
1000)))
}'
,sem_models('gov_all_vm'), null
,null
,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.36 ogcf:metricLength
形式
ogcf:metricLength(geom : geomLiteral) : xsd:double
説明
geom
の長さをメートルで戻します。長さは、geom
の2つの点の間の最大距離です。
例
次の例では、最も長い米国下院議員選挙区の最大長をメートルで検出します。
SELECT cdist, maxl
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?cdist (max(ogcf:metricLength(?cgeom)) AS ?maxl)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.37 ogcf:metricPerimeter
形式
ogcf:metricPerimeter(geom : geomLiteral) : xsd:double
説明
geom
の外側の境界の長さをメートルで戻します。
例
次の例では、米国下院議員選挙区のセット全体での最大外周をメートルで検出します。
SELECT cdist, maxp
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?cdist (max(ogcf:metricPerimeter(?cgeom)) AS ?maxp)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.38 ogcf:minX
形式
ogcf:minX(geom : geomLiteral) : xsd:double
説明
geom
の最小X座標値を戻します。
例
次の例では、各米国下院議員選挙区の最小X座標値を検出します。
SELECT cdist, minX
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?cdist (ogcf:minX(?cgeom) AS ?minX)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.39 ogcf:minY
形式
ogcf:minY(geom : geomLiteral) : xsd:double
説明
geom
の最小Y座標値を戻します。
例
次の例では、各米国下院議員選挙区の最小Y座標値を検出します。
SELECT cdist, minY
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?cdist (ogcf:minY(?cgeom) AS ?minY)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.40 ogcf:minZ
形式
ogcf:minZ(geom : geomLiteral) : xsd:double
説明
geom
の最小Z座標値を戻します。
例
次の例では、定数ジオメトリの最小Z座標値を検出します。
SELECT minZ
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (ogcf:minZ("<http://www.opengis.net/def/crs/EPSG/0/4327> POLYGON((-75 44 10, -75 43 11, -74 43 11,
-74 44 11, -75 44 10))"^^ogc:wktLiteral) AS ?minZ)
WHERE
{ }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.41 ogcf:numGeometries
形式
ogcf:numGeometries(geom : geomLiteral) : xsd:int
説明
geom
内のジオメトリの数を戻します。
例
次の例では、定数ジオメトリ・コレクション内のジオメトリの数を検出します。
SELECT ng
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (ogcf:numGeometries("GEOMETRYCOLLECTION(POINT(-75 44), LINESTRING(-75 44, -75 45), POLYGON((-75 44, -75 43, -74 43, -74 44, -75 44)))"^^ogc:wktLiteral) AS ?ng)
WHERE
{ }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.42 ogcf:perimeter
形式
ogcf:perimeter(geom : geomLiteral, units : xsd:anyURI) : xsd:double
説明
units
で測定されたgeom
の外側の境界の長さを戻します。
パラメータ
- geom
-
ジオメトリ・オブジェクト問合せ変数または定数
geomLiteral
の値で指定します。 - units
-
Unit of measurement:
<http://xmlns.oracle.com/rdf/geo/uom/{SDO_UNIT}>
形式のURI (<http://xmlns.oracle.com/rdf/geo/uom/M>
など)。MDSYS.SDO_DISTANCE_UNITS表からのSDO_UNIT値がすべて認識されます。測定単位の仕様の詳細は、『Oracle Spatial開発者ガイド』の測定単位のサポートに関する項を参照してください。- MDSYS.SDO_DISTANCE_UNITS表に同等の単位があるQUDTボキャブラリの単位からのURI。たとえば、メートルの場合は
<http://qudt.org/vocab/unit/M>
です。
例
次の例では、米国下院議員選挙区のセット全体での最大外周をメートルで検出します。
SELECT maxp
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT (max(ogcf:perimeter(?cgeom, <http://qudt.org/vocab/unit/M>)) AS ?maxp)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.43 ogcf:relate
形式
ogcf:relate(geom1 : geomLiteral, geom2 : geomLiteral, pattern-matrix : xsd:string) : xsd:boolean
説明
geom1
とgeom2
間の位相関係が、指定されたDE-9IMパターンマトリックスを満たす場合、true
を戻します。それ以外の場合はfalse
を返します。
パラメータ
使用に関するノート
問合せ変数と定数ジオメトリを使用してogcf:relate
をコールする場合は、常に、問合せ変数を1番目のパラメータとして、定数ジオメトリを2番目のパラメータとして使用します。
最適なパフォーマンスを得るには、geom1
は、ローカル変数(つまり、ogcf:relate
空間フィルタを含む基本的なグラフ・パターンに出現する変数)である必要があります。
問合せが、?var
に対する制限的なogcf:relate
空間フィルタを含む場合は、LEADING(?var)
HINT0ヒントを使用することをお薦めします。
RDFでの空間データの表現、索引付けおよび問合せの詳細は、「空間のサポート」を参照してください。
DE-9IM交差パターンの詳細は、OGCのシンプル・フィーチャの仕様(OGC 06-103r3)を参照してください。OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、指定された点を含む米国下院議員選挙区を検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ # HINT0={LEADING(?cgeom)}
?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:relate(?cgeom,
"POINT(-71.46444 42.7575)"^^ogc:wktLiteral,
"TTTFFTFFT")) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '
));
親トピック: 空間サポート用GeoSPARQL関数
B.1.44 ogcf:sfContains
形式
ogcf:sfContains(geom1 : geomLiteral, geom2 : geomLiteral) : xsd:boolean
説明
OGCのシンプル・フィーチャの仕様(OGC 06-103r3)で定義されているようにgeom1
がgeom2
を空間的に含む場合、true
を戻します。それ以外の場合はfalse
を返します。
パラメータ
使用に関するノート
問合せ変数と定数ジオメトリを使用してこの関数をコールする場合は、常に、問合せ変数を1番目のパラメータとして、定数ジオメトリを2番目のパラメータとして使用します。
最適なパフォーマンスを得るには、geom1
は、ローカル変数(つまり、ogcf:sfContains
空間フィルタを含む基本的なグラフ・パターンに出現する変数)である必要があります。
問合せが、?var
に対する制限的なogcf:sfContains
空間フィルタを含む場合は、LEADING(?var)
HINT0ヒントを使用することをお薦めします。
RDFでの空間データの表現、索引付けおよび問合せの詳細は、「空間のサポート」を参照してください。
OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、定数ポリゴンを空間的に含む米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ # HINT0={LEADING(?cgeom)}
?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfContains(?cgeom,
"Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5, -83.6 34.5, -83.6 34.1))"^^ogc:wktLiteral)) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.45 ogcf:sfCrosses
形式
ogcf:sfCrosses(geom1 : geomLiteral, geom2 : geomLiteral) : xsd:boolean
説明
OGCのシンプル・フィーチャの仕様(OGC 06-103r3)で定義されているようにgeom1
がgeom2
を空間的に横断する場合、true
を戻します。それ以外の場合はfalse
を返します。
パラメータ
使用に関するノート
問合せ変数と定数ジオメトリを使用してこの関数をコールする場合は、常に、問合せ変数を1番目のパラメータとして、定数ジオメトリを2番目のパラメータとして使用します。
最適なパフォーマンスを得るには、geom1
は、ローカル変数(つまり、ogcf:sfCrosses
空間フィルタを含む基本的なグラフ・パターンに出現する変数)である必要があります。
問合せが、?var
に対する制限的なogcf:sfCrosses
空間フィルタを含む場合は、LEADING(?var)
HINT0ヒントを使用することをお薦めします。
RDFでの空間データの表現、索引付けおよび問合せの詳細は、「空間のサポート」を参照してください。
OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、定数ポリゴンを空間的に横断する米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ # HINT0={LEADING(?cgeom)}
?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfCrosses(?cgeom,
"Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5, -83.6 34.5, -83.6 34.1))"^^ogc:wktLiteral)) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.46 ogcf:sfDisjoint
形式
ogcf:fDisjoint(geom1 : geomLiteral, geom2 : geomLiteral) : xsd:boolean
説明
OGCのシンプル・フィーチャの仕様(OGC 06-103r3)で定義されているように2つのジオメトリが空間的に非接続である場合、true
を戻します。それ以外の場合はfalse
を返します。
パラメータ
使用に関するノート
ogcf:sfDisjoint
フィルタは、評価のために空間索引を使用できないため、パフォーマンスは、多くの場合、他のシンプル・フィーチャの空間関数よりも非常に悪くなります。
OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、定数ポリゴンから空間的に非接続である米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ # HINT0={LEADING(?cgeom)}
?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfDisjoint(?cgeom,
"Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5, -83.6 34.5, -83.6 34.1))"^^ogc:wktLiteral)) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.47 ogcf:sfEquals
形式
ogcf:sfEquals(geom1 : geomLiteral, geom2 : geomLiteral) : xsd:boolean
説明
OGCのシンプル・フィーチャの仕様(OGC 06-103r3)で定義されているように2つのジオメトリが空間的に同じである場合、true
を戻します。それ以外の場合はfalse
を返します。
パラメータ
使用に関するノート
問合せ変数と定数ジオメトリを使用してこの関数をコールする場合は、常に、問合せ変数を1番目のパラメータとして、定数ジオメトリを2番目のパラメータとして使用します。
最適なパフォーマンスを得るには、geom1
は、ローカル変数(つまり、ogcf:sfEquals
空間フィルタを含む基本的なグラフ・パターンに出現する変数)である必要があります。
問合せが、?var
に対する制限的なogcf:sfEquals
空間フィルタを含む場合は、LEADING(?var)
HINT0ヒントを使用することをお薦めします。
RDFでの空間データの表現、索引付け、および問合せの詳細は、「空間のサポート」を参照してください。
OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、定数ポリゴンと空間的に同じである米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ # HINT0={LEADING(?cgeom)}
?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfEquals(?cgeom,
"Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5, -83.6 34.5, -83.6 34.1))"^^ogc:wktLiteral)) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.48 ogcf:sfIntersects
形式
ogcf:sfIntersects(geom1 : geomLiteral, geom2 : geomLiteral) : xsd:boolean
説明
OGCのシンプル・フィーチャの仕様(OGC 06-103r3)で定義されているように2つのジオメトリが非接続でない
場合、trueを戻します。それ以外の場合はfalse
を返します。
パラメータ
使用に関するノート
問合せ変数と定数ジオメトリを使用してこの関数をコールする場合は、常に、問合せ変数を1番目のパラメータとして、定数ジオメトリを2番目のパラメータとして使用します。
最適なパフォーマンスを得るには、geom1
は、ローカル変数(つまり、ogcf:sfIntersects
空間フィルタを含む基本的なグラフ・パターンに出現する変数)である必要があります。
問合せが、?var
に対する制限的なogcf:sfIntersects
空間フィルタを含む場合は、LEADING(?var)
HINT0ヒントを使用することをお薦めします。
RDFでの空間データの表現、索引付けおよび問合せの詳細は、「空間のサポート」を参照してください。
OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、定数ポリゴンと交差する米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ # HINT0={LEADING(?cgeom)}
?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfIntersects(?cgeom,
"Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5, -83.6 34.5, -83.6 34.1))"^^ogc:wktLiteral)) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.49 ogcf:sfOverlaps
形式
ogcf:sfOverlaps(geom1 : geomLiteral, geom2 : geomLiteral) : xsd:boolean
説明
OGCのシンプル・フィーチャの仕様(OGC 06-103r3)で定義されているようにgeom1
がgeom2
に空間的に重なる場合、true
を戻します。それ以外の場合はfalse
を返します。
パラメータ
使用に関するノート
問合せ変数と定数ジオメトリを使用してこの関数をコールする場合は、常に、問合せ変数を1番目のパラメータとして、定数ジオメトリを2番目のパラメータとして使用します。
最適なパフォーマンスを得るには、geom1
は、ローカル変数(つまり、ogcf:sfOverlaps
空間フィルタを含む基本的なグラフ・パターンに出現する変数)である必要があります。
問合せが、?var
に対する制限的なogcf:sfOverlaps
空間フィルタを含む場合は、LEADING(?var)
HINT0ヒントを使用することをお薦めします。
RDFでの空間データの表現、索引付けおよび問合せの詳細は、「空間のサポート」を参照してください。
OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、定数ポリゴンに空間的に重なる米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ # HINT0={LEADING(?cgeom)}
?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfOverlaps(?cgeom,
"Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5, -83.6 34.5, -83.6 34.1))"^^ogc:wktLiteral)) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.50 ogcf:sfTouches
形式
ogcf:sfTouches(geom1 : geomLiteral, geom2 : geomLiteral) : xsd:boolean
説明
OGCのシンプル・フィーチャの仕様(OGC 06-103r3)で定義されているように2つのジオメトリが空間的に接している場合、true
を戻します。それ以外の場合はfalse
を返します。
パラメータ
使用に関するノート
問合せ変数と定数ジオメトリを使用してこの関数をコールする場合は、常に、問合せ変数を1番目のパラメータとして、定数ジオメトリを2番目のパラメータとして使用します。
最適なパフォーマンスを得るには、geom1
は、ローカル変数(つまり、ogcf:sfTouches
空間フィルタを含む基本的なグラフ・パターンに出現する変数)である必要があります。
問合せが、?var
に対する制限的なogcf:sfTouches
空間フィルタを含む場合は、LEADING(?var)
HINT0ヒントを使用することをお薦めします。
RDFでの空間データの表現、索引付けおよび問合せの詳細は、「空間のサポート」を参照してください。
OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、定数ポリゴンに空間的に接している米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ # HINT0={LEADING(?cgeom)}
?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfTouches(?cgeom,
"Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5, -83.6 34.5, -83.6 34.1))"^^ogc:wktLiteral)) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.51 ogcf:sfWithin
形式
ogcf:sfWithin(geom1 : geomLiteral, geom2 : geomLiteral) : xsd:boolean
説明
OGCのシンプル・フィーチャの仕様(OGC 06-103r3)で定義されているようにgeom1
が空間的にgeom2
の内部にある場合、true
を戻します。それ以外の場合はfalse
を返します。
パラメータ
使用に関するノート
問合せ変数と定数ジオメトリを使用してこの関数をコールする場合は、常に、問合せ変数を1番目のパラメータとして、定数ジオメトリを2番目のパラメータとして使用します。
最適なパフォーマンスを得るには、geom1
は、ローカル変数(つまり、ogcf:sfWithin
空間フィルタを含む基本的なグラフ・パターンに出現する変数)である必要があります。
問合せが、?var
に対する制限的なogcf:sfWithin
空間フィルタを含む場合は、LEADING(?var)
HINT0ヒントを使用することをお薦めします。
RDFでの空間データの表現、索引付けおよび問合せの詳細は、「空間のサポート」を参照してください。
OGCのGeoSPARQLの仕様も参照してください。
例
次の例では、空間的に定数ポリゴンの内部にある米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ # HINT0={LEADING(?cgeom)}
?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfWithin(?cgeom,
"Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5, -83.6 34.5, -83.6 34.1))"^^ogc:wktLiteral)) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.52 ogcf:spatialDimension
形式
ogcf:spatialDimension(geom : geomLiteral) : xsd:integer
説明
geom
の空間次元を戻します。つまり、geom
の空間座標に使用される次元の数です。メジャー値に使用される次元は含まれません。
例
次の例では、各米国下院議員選挙区ポリゴンの空間次元を戻します。
SELECT cdist, sd
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?cdist (ogcf:spatialDimension(?cgeom) AS ?sd)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.53 ogcf:symDifference
形式
ogcf:symDifference(geom1 : geomLiteral, geom2 : geomLiteral) : ogc:wktLiteral
説明
geom1
とgeom2
で位相的に排他的論理和(XOR演算)となるジオメトリ・オブジェクトを戻します。
パラメータ
例
次の例では、指定された点の周り100kmのバッファ内にある米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfWithin(orageo:centroid(?cgeom),
ogcf:symDifference(
"Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5, -83.6 34.5, -83.6 34.1))"^^ogc:wktLiteral,
"Polygon((-83.2 34.3, -83.0 34.3, -83.0 34.5, -83.2 34.5, -83.2 34.3))"^^ogc:wktLiteral))) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.54 ogcf:transform
形式
ogcf:transform(geom : geomLiteral, srsIRI xsd:anyURI) : ogc:wktLiteral
説明
geom
を、srsIRIで定義された空間参照システムに変換します。
使用に関するノート
RDFでの空間データの表現、索引付けおよび問合せの詳細は、「空間のサポート」を参照してください。
OGCのGeoSPARQLの仕様も参照してください。
サポートされる空間参照システムIRIは、<http://www.opengis.net/def/crs/EPSG/0/{srid}>
という形式を取ります({srid}
は、European Petroleum Survey Group (EPSG)によって定義される有効な空間参照システムIDです)。EPSGジオメトリック・パラメータ・データセットに含まれないIRIの場合、<http://xmlns.oracle.com/rdf/geo/srid/{srid}>
という形式の空間参照システムIRIがサポートされます({srid}
は、Oracle Spatialの有効な空間参照システムIDです)。
例
次の例では、各下院議員選挙区ポリゴンをNH州平面座標参照系(EPSG:3613)に投影します。
SELECT cdist, nhg
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?cdist (ogcf:transform(?cgeom, <http://www.opengis.net/def/crs/EPSG/0/3613>) AS ?nhg)
WHERE
{ ?cdist orageo:hasExactGeometry ?cgeom }'
,sem_models('gov_all_vm'), null
, null ,null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数
B.1.55 ogcf:union
形式
ogcf:union(geom1 : geomLiteral, geom2 : geomLiteral) : ogc:wktLiteral
説明
geom1
とgeom2
で位相的に結合部分(OR演算)となるジオメトリ・オブジェクトを戻します。
パラメータ
例
次の例では、中心が、2つの指定されたポリゴンの結合部分の内部にある米国下院議員選挙区ポリゴンを検出します。
SELECT name, cdist
FROM table(sem_match(
'PREFIX ogc: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX orageo: <http://xmlns.oracle.com/rdf/geo/>
PREFIX pol: <http://www.rdfabout.com/rdf/schema/politico/>
PREFIX usgovt: <http://www.rdfabout.com/rdf/schema/usgovt/>
SELECT ?name ?cdist
WHERE
{ ?person usgovt:name ?name .
?person pol:hasRole ?role .
?role pol:forOffice ?office .
?office pol:represents ?cdist .
?cdist orageo:hasExactGeometry ?cgeom
FILTER (ogcf:sfWithin(orageo:centroid(?cgeom),
ogcf:union(
"Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5, -83.6 34.5, -83.6 34.1))"^^ogc:wktLiteral,
"Polygon((-83.2 34.3, -83.0 34.3, -83.0 34.5, -83.2 34.5, -83.2 34.3))"^^ogc:wktLiteral))) } '
,sem_models('gov_all_vm'), null
,null, null, null, ' ALLOW_DUP=T '));
親トピック: 空間サポート用GeoSPARQL関数