【问题标题】:Get WikiData Identifier for city by GPS location通过 GPS 位置获取城市的 WikiData 标识符
【发布时间】:2017-06-23 09:39:54
【问题描述】:

我想在特定的 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

当我忽略结算条件时,查询有效。但是当我添加它时,查询时间太长了 我究竟做错了什么?正确的语法是什么?

【问题讨论】:

    标签: geolocation gps sparql wikidata


    【解决方案1】:

    我发现了我的错误。

    这是有效的查询:

     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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 1970-01-01
      • 2022-11-01
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多