2012-04-10 108 views

回答

1

1 /你可以使用任何其他地理位置API如谷歌地圖,這將提供您基於該pincodes精確的距離。

2 /您可以使用任何具有郵政編碼和緯度/經度信息的更新數據庫,並使用該信息計算兩點之間的距離。

幫助鏈接:

我)http://blog.acmultimedia.co.uk/2008/03/uk-post-code-distance-calculator-using-phpmysql/

II)Django - how can I find the distance between two locations?

+0

謝謝。我編輯了這個問題,說我不想使用web api。是的,我正在考慮使用選項2,但想知道是否有一個現有的模塊,只是爲我做了這個,而不需要我自己一起破解它。 – 2012-04-10 10:21:11

+0

第一個鏈接似乎中斷 – famargar 2017-05-19 14:55:53

1

我不知道直接使用模塊的,但是你可以使用GRASSQGIS,這兩者都支持Python腳本所以這個功能可以用作python模塊。儘管如此,你仍然需要弄清楚如何在這些工具中手動完成它,但這並不是非常困難。

+0

謝謝隊友!我想我將使用此處列出的所有資源創建一個模塊。 – 2012-04-10 12:44:18

0

請參閱下面的簡單代碼,使用postcodes module作爲python以及google maps distance matrix API

from postcodes import PostCoder 
import requests 
import json 
import pprint 

pc = PostCoder() 
origin_postcode = str.upper(raw_input("Enter origin PostCode:")) 
dest_postcode = str.upper(raw_input("Enter destination PostCode:")) 

origin = str(pc.get('%s' % origin_postcode)['geo']['lat'])+','+str(pc.get('%s' % origin_postcode)['geo']['lng']) 
dest = str(pc.get('%s' % dest_postcode)['geo']['lat'])+','+str(pc.get('%s' % dest_postcode)['geo']['lng']) 

data = requests.get('https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=%s&destinations=%s&key=AIzaSyDfTip2PrdaRkF1muCLP8REAk3FsLjmBrU' % (origin, dest)) 
new = json.loads(data.text) 

miles = str(new['rows'][0]['elements'][0]['distance']['text']).replace('mi','miles') 
duration = str((new['rows'][0]['elements'][0]['duration']['text'])) 

print '\n\nThe distance from %s to %s is %s, taking approximately %s (driving).' % (origin_postcode, dest_postcode, miles, duration) 
+0

postcodes似乎不適合我(python 3.5) – famargar 2017-05-19 14:55:07

相關問題