【问题标题】:How to find the name of a place from latitude and longitude value如何从纬度和经度值中找到一个地方的名称
【发布时间】:2016-05-16 09:03:28
【问题描述】:

我正在分析包含用户访问地点的纬度值和经度值的应用数据。我能够将数据导出到 tableau 并将其绘制在地图上,但我想找到每对 lat 和 lon 的地点名称。

一种解决方案可能是,如果我得到一个包含三列(Lat、Lon、Place)的表,那么我可以将它与我的用户数据表连接起来,以查找给定 Lat 和 Lon 的地点名称。

我的问题是,我们是否有一个包含上述三列的现成表,可以导入到我的 SQL-Server 中?我对英国或伦敦的地方感兴趣。还有其他方法可以实现吗?

【问题讨论】:

    标签: sql-server sql-server-2008 geolocation google-places-api


    【解决方案1】:

    您可以从条例调查中获得此信息,该调查应该为您提供经纬度、邮政编码;

    https://www.ordnancesurvey.co.uk/business-and-government/products/code-point-open.html

    然后,您需要另一个数据源来将邮政编码映射到位置名称(例如城镇、县等)。请参阅下面的类似帖子;

    Where can I find a list of all UK _full_ postcodes including street name and their precise coordinates?

    这可能需要花点时间,而且你总是会遇到数据有点过时的问题,但它应该足够好。

    【讨论】:

    • 感谢您的回复。我正在寻找类似的东西(latlong.net/Show-Latitude-Longitude.html)。获取他们正在使用的 API 或数据库并导入该数据库。例如。纬度 = 51.5147184975572 经度 = -0.301268398761749
    【解决方案2】:

    我在 R 中为postcodes.io 写了一个API wrapper,这是一个免费的英国邮政编码数据库。检查原始文档,以便您可以使用您选择的语言创建 API 包装器。 R 以外的其他语言的包装器也可用。

    如果你使用R,那么输入你可以通过以下方式获取地名:

    if (!require("devtools")) install.packages("devtools")
    devtools::install_github("erzk/PostcodesioR")
    library(PostcodesioR)
    
    rev_geo <- reverse_geocoding(0.127, 51.507)
    

    它将返回一个列表,其中包含有关纬度和经度的大量信息,例如病房、NUTS、行政区、县、教区、选区、CCG 等等。

    还有一个bulk_reverse_geocoding() 函数接受多个纬度和经度输入。

    【讨论】:

      猜你喜欢
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-26
      相关资源
      最近更新 更多