我正在为geosparql而苦苦挣扎,特别是geo: in。
我可以在:open gis documentation上找到的文档表明它需要一个geo:SpatialObject,并且geo:Feature是一种geo: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 ) .
}导致“内部服务器错误”。
你知道我做错了什么吗?虽然我对标准的SPARQL相当熟悉,但我对GeoSPARQL还很陌生。
发布于 2017-01-28 01:40:55
您的形状仍未正确定义。看起来您正在尝试创建一个简单的矩形,因此作为多边形,它将是"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以关闭它)。
或者,您可以通过使用信封来简化这一过程(并消除对JTS的需求),如下所示:"ENVELOPE(-0.05, 0.25, 52, 51.1)"^^geo:wktLiteral (minLat,maxLat,maxLon,minLon -注意所需的奇怪顺序)。
https://stackoverflow.com/questions/41892383
复制相似问题