저는 방금 GeoPy를 시작했습니다. 사용 가능한 여러 지오 코더의 품질을 확인하기 위해 몇 가지 테스트를 실행했습니다. Bing의 지오 코더가 Google보다 정확하다는 사실을 확인했지만 (적어도 내 목적 상) Bing은 우편 번호를 반환하는 대신
.이 문제를 해결하는 이유 / 방법에 대한 의견이 있으십니까?
내 테스트 코드는 다음과 같습니다.
from geopy import geocoders g = geocoders.Google() b = geocoders.Bing("<DEV KEY HERE>") services = [g, b] def search_list(addylist): for address in addylist: for x in services: for place, (lat, lng) in x.geocode(address, exactly_one=False): print "%s: %s: %.9f, %.9f \n" % (x, place, lat, lng) addy1 = "513 N 36th Ave , Seattle" addy2 = "121 S First Street , La Conner" addy3 = "854 NE 58th St, Seattle" addylist = [addy1, addy2, addy3] search_list(addylist)
내 출력은 다음과 같습니다.
<geopy.geocoders.google.Google object at 0x18e75d0>: 513 36th Ave, Seattle, WA 98122, USA: 47.606811900, -122.287247300 <geopy.geocoders.google.Google object at 0x18e75d0>: 513 N 36th St, Seattle, WA 98103, USA: 47.651385400, -122.351573800 <geopy.geocoders.bing.Bing object at 0x18e76d0>: 513 N 36TH St, Seattle, WA <built-in function zip>, United States: 47.651340485, -122.351692200 <geopy.geocoders.google.Google object at 0x18e75d0>: 121 1st St, La Conner, WA 98257, USA: 48.391576600, -122.496045800 <geopy.geocoders.google.Google object at 0x18e75d0>: 121 N 1st St, La Conner, WA 98257, USA: 48.394719800, -122.494525700 <geopy.geocoders.bing.Bing object at 0x18e76d0>: 121 S 1ST St, La Conner, WA <built-in function zip>, United States: 48.391513824, -122.495391846 <geopy.geocoders.google.Google object at 0x18e75d0>: 854 NE 58th St, Seattle, WA 98105, USA: 47.670977000, -122.317815000 <geopy.geocoders.bing.Bing object at 0x18e76d0>: 854 NE 58TH St, Seattle, WA <built-in function zip>, United States: 47.670978546, -122.317817688
Bing이 더 일관된 것 같으며 두 개의 결과가 아닌 하나의 올바른 결과 만 반환합니다. 유일한 문제는 Bing이 어떤 이유로 든 우편 번호를 반환하지 않고 주소와 <built-in function zip>
를 포함하는 문자열을 반환한다는 것입니다.
댓글
답변
이 방법이 도움이 될지 확실하지 않지만 지오 코딩이 포함 된 주소 확인 공급자를 사용할 수 있습니다. 저는 SmartyStreets의 개발자이며 그러한 공급자입니다.이 JSON 응답 예시 를 확인하세요 (아래로 스크롤).
Google과 Bing은 근사화 서비스는 훌륭하지만 수행하려는 작업에 따라 라이센스 계약에 문제가 발생할 수 있습니다. 사용량이 적은 고객을 위해 영구 무료 요금제를 제공하며 비영리 단체에게는 절대 무료입니다.
댓글
- 이봐 요. 좋습니다. '이 작업을 시도 할 것 같습니다. 당신이 ' 맞습니다. 라이선스 계약 측면에서 더 좋습니다. 감사합니다.
- 호기심에서 데이터의 출처는 어디입니까?
- 우리의 데이터는 SmartyStreets가 CASS 인증 사용권자인 USPS에서 가져옵니다. en.wikipedia.org/wiki/Coding_Accuracy_Support_System
geocoders.Bing('DEV KEY').geocode('854 NE 58th St, Seattle')
는 OS X Lion, Python 2.7.2를 실행하는 것이 아니라