通过 GPS 位置获取城市的 WikiData 标识符
Get WikiData Identifier for city by GPS location
我想获取特定 gps 位置的城市/定居点。
意思是给定范围内最接近的或最多最接近的。
我在维基媒体数据示例中找到了一些示例查询。
然后我尝试采用,但我只收到错误或超时
这是我当前的查询:
SELECT *
WHERE
{
?city wdt:P31/wdt:P279* wd:Q15642541 . // only settlements
# Search by Nearest
SERVICE wikibase:around {
?place wdt:P625 ?location .
bd:serviceParam wikibase:center "Point(8.4024875340491 48.9993762209831)"^^geo:wktLiteral .
bd:serviceParam wikibase:radius "1" .
bd:serviceParam wikibase:distance ?distance .
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
ORDER By ?distance
当我省略了结算条件时,查询有效。但是当我添加它时,查询花费的时间太长
我究竟做错了什么?正确的语法是什么?
我找到了我的错误。
这是工作查询:
SELECT DISTINCT *
WHERE
{
?place wdt:P31/wdt:P279* wd:Q515 .
# Search by Nearest
SERVICE wikibase:around {
?place wdt:P625 ?location .
bd:serviceParam wikibase:center "Point(8.4024875340491 48.9993762209831)"^^geo:wktLiteral .
bd:serviceParam wikibase:radius "10" .
bd:serviceParam wikibase:distance ?distance .
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
Order by ?distance
我想获取特定 gps 位置的城市/定居点。 意思是给定范围内最接近的或最多最接近的。
我在维基媒体数据示例中找到了一些示例查询。
然后我尝试采用,但我只收到错误或超时
这是我当前的查询:
SELECT *
WHERE
{
?city wdt:P31/wdt:P279* wd:Q15642541 . // only settlements
# Search by Nearest
SERVICE wikibase:around {
?place wdt:P625 ?location .
bd:serviceParam wikibase:center "Point(8.4024875340491 48.9993762209831)"^^geo:wktLiteral .
bd:serviceParam wikibase:radius "1" .
bd:serviceParam wikibase:distance ?distance .
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
ORDER By ?distance
当我省略了结算条件时,查询有效。但是当我添加它时,查询花费的时间太长 我究竟做错了什么?正确的语法是什么?
我找到了我的错误。
这是工作查询:
SELECT DISTINCT *
WHERE
{
?place wdt:P31/wdt:P279* wd:Q515 .
# Search by Nearest
SERVICE wikibase:around {
?place wdt:P625 ?location .
bd:serviceParam wikibase:center "Point(8.4024875340491 48.9993762209831)"^^geo:wktLiteral .
bd:serviceParam wikibase:radius "10" .
bd:serviceParam wikibase:distance ?distance .
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
Order by ?distance