我运行这个查询:
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
select *
where
{
?x <http://www.opengis.net/ont/geosparql#hasGeometry> ?fGeom .
?fGeom geo:asWKT ?fWKT .
FILTER (geof:sfWithin(
'<http://www.opengis.net/def/crs/EPSG/0/27572>
Point (729326 2521619) '^^geo:wktLiteral,
?fWKT))
}
针对 GraphDB:
<http://data.edf.fr/departements/dep_france_dom/Geometry/2> a <http://www.opengis.net/ont/geosparql#Geometry> ;
<http://www.opengis.net/ont/geosparql#asWKT> "
<http://www.opengis.net/def/crs/EPSG/0/27572> MULTIPOLYGON (((729326 2521619,....
在商店里,我没有得到任何结果。你认为这是由于“法国异国情调”的 CRS 吗?
1 回答
更新:
这是代码:
很多话要说:
位于
Polygon
边界的Point
不能是Within
。它改为Touches
或Instersects
边界。为了优化,最好是变量几何是函数中的第一个参数,顺式几何是第二个参数。
重点是
geof:
需要才能与<http://www.opengis.net/def/crs/OGC/1.3/CRS84>
一起工作。它是许多讨论的重要主题,但它是唯一有效的方法......然后,您需要删除所有几何和请求中的 CRS 规范。我尝试过不同的 CRS,但他们也没有用。正如在这个帖子中所说的那样。
如果仅适用于 WGS84,为什么要在 WKT 中精确确定 CRS?为什么只有 WGS84 可以通过重投影轻松完成?我不知道,讨论是开放的。
最后,请务必再次正确重新投放数据。