1

我正在为 geosparql 特别是 geo:Within 苦苦挣扎。

我可以在以下位置找到的文档:open gis 文档声明它需要 ageo:SpatialObject并且 ageo:Featuregeo:SpatialObject. 我有许多特征,它们的位置都有点。当我跑

SELECT Distinct * WHERE {   
  ?g geo:asWKT ?gWKT .  
}

我返回了 25 个点,所有这些点都应该在下面定义的(相当大的)多边形中。

然而

SELECT * WHERE {   
  ?g geo:asWKT ?gWKT .
  FILTER geof:within( ?g ,"POLYGON(51.45, -0.115,51.52,-0.08)"^^geo:wktLiteral  ) .
}

导致“内部服务器错误”。

任何想法我做错了什么?我是 GeoSPARQL 的新手,虽然对标准 SPARQL 相当熟悉。

4

1 回答 1

3

您的形状仍然定义不正确。似乎您正在尝试创建一个简单的矩形,因此它是一个 POLYGON "POLYGON(( -0.05 51.1, 0.25 51.1, 0.25 52, -0.05 52, -0.05 51.1 ))"^^geo:wktLiteral(角 1、角 2、角 3、角 4、角 1 将其关闭)。

或者,您可以通过使用如下 ENVELOPE 来简化这一点(并消除对 JTS 的需要):("ENVELOPE(-0.05, 0.25, 52, 51.1)"^^geo:wktLiteralminLat、maxLat、maxLon、minLon - 注意所需的奇数顺序)。

于 2017-01-27T17:40:55.400 回答