是否有標準的記錄數據庫,將城市/州/郵政編碼映射到經緯度/緯度?我發現this database和USPS has a simple (no lat/lng) API,但是還有其他推薦的替代方法嗎?免費城市/州/郵編到緯度/經度數據庫?
更新:發現這太:http://www.geopostcodes.com/
是否有標準的記錄數據庫,將城市/州/郵政編碼映射到經緯度/緯度?我發現this database和USPS has a simple (no lat/lng) API,但是還有其他推薦的替代方法嗎?免費城市/州/郵編到緯度/經度數據庫?
更新:發現這太:http://www.geopostcodes.com/
只是一個小紙條。這些第三方城市/州/拉鍊/ lng數據庫大部分都基於美國人口普查數據。從人口普查2000開始,郵政編碼數據被替換爲ZCTA - 這是近似的郵政編碼。以下是人口普查網站(2011年起)的解釋:
郵政編碼製表區(ZCTAs™)是由美國人口普查局編制的統計2000年人口普查統計數據的新統計實體。該新實體的開發旨在克服準確界定每個郵政編碼®覆蓋的土地面積的困難。爲了精確製表該地區的人口普查數據,確定一個地區的範圍是必要的。
ZCTA是美國郵政服務(USPS)郵政編碼服務區的廣義區域表示。簡單地說,每一個都是通過將Census 2000塊(其地址使用給定的郵政編碼)彙總到ZCTA中而得到的,該ZCTA將該郵政編碼指定爲其ZCTA代碼。它們代表在給定區域內發現的大多數美國郵政五位郵政編碼。對於那些難以確定普遍的五位郵政編碼的領域,ZCTA代碼使用更高級別的三位郵政編碼。欲瞭解更多信息,請參閱ZCTA(FAQ)常見問題網頁。
下面的鏈接是一個更新的解釋(2013年):
http://www.census.gov/geo/reference/zctas.html
的OpenGeoCode.Org團隊
ADDED 13年12月17日:我們的(免費)州/市/ ZIP數據集(CSV)可以在下面的鏈接中找到。它是從公共領域的「政府」數據集導出:
谷歌提供這樣的查找。你可以從你的應用程序進行ajax調用嗎?
它被稱爲webservices。 http://code.google.com/apis/maps/documentation/webservices/index.html
你想要使用谷歌地理編碼api。 它使用簡單,撥打電話到這個網址: http://maps.googleapis.com/maps/api/geocode/json?address=sydney&sensor=false
更改「地址=」,無論你需要(即市州和郵編)
它也可以在XML回覆。只是改變JSON爲XML http://code.google.com/apis/maps/documentation/geocoding/
示例結果
{
"status": "OK",
"results": [ {
"types": [ "locality", "political" ],
"formatted_address": "Sydney New South Wales, Australia",
"address_components": [ {
"long_name": "Sydney",
"short_name": "Sydney",
"types": [ "locality", "political" ]
}, {
"long_name": "New South Wales",
"short_name": "New South Wales",
"types": [ "administrative_area_level_1", "political" ]
}, {
"long_name": "Australia",
"short_name": "AU",
"types": [ "country", "political" ]
} ],
"geometry": {
"location": {
"lat": -33.8689009,
"lng": 151.2070914
},
"location_type": "APPROXIMATE",
"viewport": {
"southwest": {
"lat": -34.1648540,
"lng": 150.6948538
},
"northeast": {
"lat": -33.5719182,
"lng": 151.7193290
}
},
"bounds": {
"southwest": {
"lat": -34.1692489,
"lng": 150.5022290
},
"northeast": {
"lat": -33.4245980,
"lng": 151.3426361
}
}
}
} ]
}
然後,所有你需要做的就是打開results[0].geometry.location.lat
和results[0].geometry.location.lng
退房zcta。您可以使用其數據繪製郵政編碼的地理邊界。
[編輯2015年8月3日] 我下面提到的免費的非商業郵政編碼數據庫已經轉移到softwaretools.com。注:greatdata.com仍然有企業的保費郵政編碼數據。
只是一個小紙條。這些第三方城市/州/拉鍊/ lng數據庫大部分都基於美國人口普查數據。 [Andrew]
我是商業郵政編碼數據庫公司(GreatData)的開發人員。對於低端的數據,安德魯的建議是正確的,如果你知道你周圍的人口普查數據的方式,這是很容易得到它。只要知道它最初可能需要幾個小時才能正確完成。如果你不喜歡自己做的工作,你可以得到我們的免費/非商業here版本(這幾乎是什麼安德魯與小的改進建議。它每兩個月更新一次)。
對於一個非常好的解釋,它缺少什麼(更重要的是,大多數基於普查ZCTA數據的大多數低端郵政編碼數據中缺少的)與商業等級相比較,請參閱here。
PS - 關於建議使用谷歌的API,我看到這個建議很多,但除非你在谷歌地圖上顯示出來,這違反Googles TOS。具體來說:「地理編碼API可能只有與Google地圖一起使用;禁止在地圖上顯示地理編碼結果。」你會發現StackOverFlow對那些網站被封鎖的人有幾個線程。
希望這是有益的
這是一個古老的線程,但最近我一直在尋找同樣的信息,同時也遇到了這個免費的數據庫:
如果你有一個小數目美國城市,你可以很容易地建立從谷歌自己的數據庫,直讓你在搜索頁面上的座標,而無需點擊任何鏈接,如類型:
伊利諾伊州芝加哥經緯度
唯一的問題從我記住的是,你不能任何的谷歌的位置信息存儲在自己的數據庫,這是對的條款。 – 2011-02-04 03:03:08
如果你願意爲解決方案付費,那麼intech解決方案(http://www.intechsolutions.com.au/)也有這個解決方案......不要與initech混淆,從那部電影,辦公室:) – Jason 2011-02-04 03:05:59