2011-02-04 136 views

回答

12

只是一個小紙條。這些第三方城市/州/拉鍊/ 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)可以在下面的鏈接中找到。它是從公共領域的「政府」數據集導出:

http://www.opengeocode.org/download.php#cityzip

5

谷歌提供這樣的查找。你可以從你的應用程序進行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.latresults[0].geometry.location.lng

+1

唯一的問題從我記住的是,你不能任何的谷歌的位置信息存儲在自己的數據庫,這是對的條款。 – 2011-02-04 03:03:08

+0

如果你願意爲解決方案付費,那麼intech解決方案(http://www.intechsolutions.com.au/)也有這個解決方案......不要與initech混淆,從那部電影,辦公室:) – Jason 2011-02-04 03:05:59

0

退房zcta。您可以使用其數據繪製郵政編碼的地理邊界。

3

[編輯2015年8月3日] 我下面提到的免費的非商業郵政編碼數據庫已經轉移到softwaretools.com。注:greatdata.com仍然有企業的保費郵政編碼數據。

只是一個小紙條。這些第三方城市/州/拉鍊/ lng數據庫大部分都基於美國人口普查數據。 [Andrew]

我是商業郵政編碼數據庫公司(GreatData)的開發人員。對於低端的數據,安德魯的建議是正確的,如果你知道你周圍的人口普查數據的方式,這是很容易得到它。只要知道它最初可能需要幾個小時才能正確完成。如果你不喜歡自己做的工作,你可以得到我們的免費/非商業here版本(這幾乎是什麼安德魯與小的改進建議。它每兩個月更新一次)。

對於一個非常好的解釋,它缺少什麼(更重要的是,大多數基於普查ZCTA數據的大多數低端郵政編碼數據中缺少的)與商業等級相比較,請參閱here

PS - 關於建議使用谷歌的API,我看到這個建議很多,但除非你在谷歌地圖上顯示出來,這違反Googles TOS。具體來說:「地理編碼API可能只有與Google地圖一起使用;禁止在地圖上顯示地理編碼結果。」你會發現StackOverFlow對那些網站被封鎖的人有幾個線程。

希望這是有益的

0

如果你有一個小數目美國城市,你可以很容易地建立從谷歌自己的數據庫,直讓你在搜索頁面上的座標,而無需點擊任何鏈接,如類型:

伊利諾伊州芝加哥經緯度

相關問題