我在哪里可以找到所有英国完整邮政编码的列表,包括街道名称及其精确坐标? 它们应该不像AB1,AB23等,而是AB1 2AA,AB23 5ZZ等。
最好免费:)
由于
答案 0 :(得分:19)
您现在可以从军械测量中免费获取邮政编码数据 https://www.ordnancesurvey.co.uk/business-and-government/products/code-point-open.html 尽管
,这并不是街道名称如果您希望将数据转换为纬度/经度,那么您可以从我的网站获取数据 http://www.doogal.co.uk/UKPostcodes.php
答案 1 :(得分:4)
您可以从这里下载完整免费的Lat和Long值的完整GB邮政编码数据:
http://download.geonames.org/export/dump/
只需向下滚动到GB.zip还有其他国家的邮政编码信息,我使用了德国和波兰的数据,他们也没关系。
答案 2 :(得分:2)
不幸的是,这是你需要付出的代价,并不是特别便宜!如果您有兴趣,可以使用online petition来释放此信息。
商业明智的做法,只需为英国邮政编码数据库做一个谷歌,然后选择它们,它们都非常多。
答案 3 :(得分:2)
皇家邮政是英国“官方”邮政编码数据库的供应商 - 他们拥有邮政编码和邮政编码到GIS地图。它受版权保护,并且有一些重要的许可费用。
Postzon是他们出售的产品,用于将邮政编码链接到GIS协调员。
来自欧洲以外的第三方提供商过去只花了一小部分费用发布了详细信息,但这是一个非常灰色的区域,然后你就会咨询律师领域。
答案 4 :(得分:2)
操作系统“免费”版本很有用,但确实有一些限制,例如北爱尔兰,马恩岛,根西岛或泽西岛没有数据。
我使用额外的纬度和经度数据投票支持Doogal的版本,这对于像OpenLayer这样的地理映射更有用。
答案 5 :(得分:2)
答案 6 :(得分:2)
答案 7 :(得分:1)
答案 8 :(得分:1)
作为PyQt自由项目的一部分,我编写了一个算法来获取用户输入的邮政编码,并为其返回街道名称。对于那些正在寻找商业系统替代品的人来说,这个问题的开源和直接方法可以自由使用。
我已经在Python2.7中编写了它,但可以在新版本或其他语言中轻松复制。
import urllib
from urllib2 import urlopen
import json
try:
google_map_key = raw_input("please enter your google maps api key: ")
postcode = raw_input("Please enter a UK Postcode: ")
postcode = postcode.replace(" ", "")
url = "https://maps.googleapis.com/maps/api/geocode/json?address="+postcode+"&key="+google_map_key
response = urlopen(url)
json_obj = json.load(response)
counter = 0
if json_obj['status'] == 'OK':
for i in json_obj['results']:
for x in i['address_components']:
counter += 1
if counter == 2:
print ("Long street name: " + x['long_name'])
break
else:
print("No results found! Please enter a valid postcode or check your internet connection and google api key")
except:
print("Unhandle exception")