Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SPARQL和Dbpedia根据long和lat查询给定半径内的城市_Sparql_Dbpedia - Fatal编程技术网

使用SPARQL和Dbpedia根据long和lat查询给定半径内的城市

使用SPARQL和Dbpedia根据long和lat查询给定半径内的城市,sparql,dbpedia,Sparql,Dbpedia,我一直在尝试使用DBpedia和SPARQL来获取基于地理位置的城市 例如,http://dbpedia.org/page/Berlin具有以下属性 geo:lat: 52.516666 (xsd:float) geo:long: 13.383333 (xsd:float) 我想根据位置和给定半径查询城市。 例如,我想找到距离lat:51.5033640 10公里以内且长度为:-0.1276250的城市 我知道这给了我很多城市-- --但我不知道如何使用过滤器,以过滤出基于半径。有人知道吗?使

我一直在尝试使用DBpedia和SPARQL来获取基于地理位置的城市

例如,
http://dbpedia.org/page/Berlin
具有以下属性

geo:lat: 52.516666 (xsd:float)
geo:long: 13.383333 (xsd:float)
我想根据位置和给定半径查询城市。 例如,我想找到距离lat:51.5033640 10公里以内且长度为:-0.1276250的城市

我知道这给了我很多城市--


--但我不知道如何使用过滤器,以过滤出基于半径。有人知道吗?

使用精湛的地理空间功能
bif:st_相交
bif:st_点

使用几何体对象(伦敦坐标没有城市,请更改为
dbo:Place
,以查看伦敦周围是否有其他对象):

SELECT*{
?城市a dbo:城市;
几何?几何
过滤器(bif:st_相交(?geo,bif:st_点(-0.1276250,51.5033640),10))
} 
或使用lat/long:

SELECT*{
?城市a dbo:城市;
地理:拉特?拉特;
吉奥:长?长。
过滤器(bif:st_相交(bif:st_点(?长,纬度),bif:st_点(-0.1276250,51.5033640),10))
}

使用精湛的地理空间功能
bif:st_相交
bif:st_点

使用几何体对象(伦敦坐标没有城市,请更改为
dbo:Place
,以查看伦敦周围是否有其他对象):

SELECT*{
?城市a dbo:城市;
几何?几何
过滤器(bif:st_相交(?geo,bif:st_点(-0.1276250,51.5033640),10))
} 
或使用lat/long:

SELECT*{
?城市a dbo:城市;
地理:拉特?拉特;
吉奥:长?长。
过滤器(bif:st_相交(bif:st_点(?长,纬度),bif:st_点(-0.1276250,51.5033640),10))
}

谢谢!我永远也想不到祝你有美好的一天!非常感谢。我永远也想不到祝你有美好的一天!
SELECT ?city WHERE {      ?city rdf:type dbo:City    }