SPARQL按距离过滤

时间:2016-12-23 11:59:32

标签: geolocation location sparql virtuoso geosparql

鉴于一些建筑物各自的位置(纬度和长度),我怎样才能获得一定距离内的建筑物?

我们假设我有一个位于特定位置的个人building0

ont1:building0 rdf:type ont1:Building 
ont1:building0 pos:lat 43.22 
ont1:building0 pos:lon -6.45

我想要找回距离最近10公里的所有其他建筑物。

SPARQL是否允许以某种方式查询?或者至少说明与其他建筑物的距离是什么?

提前致谢

1 个答案:

答案 0 :(得分:3)

根据纬度和经度计算距离的公式:http://andrew.hedges.name/experiments/haversine/

但是,SPARQL不支持三角函数。

GeoSPARQL有goof:distance函数来计算两个几何点之间的距离(如果你能够使用GeoSPARQL)