【问题标题】:get postcode from latitude,longitude从纬度,经度获取邮政编码
【发布时间】:2010-08-14 06:38:39
【问题描述】:

我从http://www.ordnancesurvey.co.uk/oswebsite/opendata/index.html 下载了英国邮政编码列表,并将其安装在 MSSQL 2005 数据库中。该表由邮政编码、纬度和经度组成。我需要一种有效的方法来获取最接近给定纬度/经度的邮政编码。计算两点之间的距离并选择最小的距离意味着循环遍历每个查询的所有数据。大约有 170 万个条目。谢谢。

【问题讨论】:

  • 请使用 Google 进行邻近搜索

标签: latitude-longitude postal-code


【解决方案1】:

您可以通过首先使用“圆形近似”过滤查询来加快计算速度 - 即。返回确定半径delta 内的所有邮政编码。基本查询应该是这样的:

SELECT postcode, x, y FROM table WHERE ((x BETWEEN x - delta AND x + delta) AND (y BETWEEN y - delta AND y + delta))

现在剩下的数据量应该更易于管理。

另外,如果您正在开发一些“关键任务”,请务必查看PostGIS。可能他们已经解决了您可能遇到的一些问题... ;)

【讨论】:

    猜你喜欢
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多