2011-01-30 1 views
1

그래서 여러 도시와 주/지역 조합 (일부 도시에는 쌍으로 구성된 주/지역이 없음)의 목록이 있으며이 번호를 사용하여 국가, 대륙, 주/지역 제공되지 않음) 정보. 여러 지역이 적합 할 경우, 가장 큰 것이 가장 좋을지라도 나는 그 중 어느 것을 받아 들일 용의가 있습니다. 내가 할 수있게 해주는 가장 간단한 파이썬 라이브러리는 무엇입니까?Python을 사용하여 도시를 기반으로 지역, 국가 및 대륙을 파악하는 방법은 무엇입니까?

예 : 당신은 정말, 모든이에 대한 모든 라이브러리가 필요하지 않습니다

{istanbul, istanbul province, turkey, europe}

+1

나는 이런 종류의 간단한 분류와 관련된 문제에 대한 아주 좋은 예를 골랐다 고 생각합니다. 보스포러스 해협이 이스탄불 지역을 유럽 지역과 아시아 지역의 두 부분으로 나눈다는 사실을 알고 있습니까? – eat

+0

@eat impressive! –

답변

2

감사가 될 수 있다는 생각, 나는 내가 원하는 일을 꽤 간단한 방법을 파악하고, 한 내가 여기에 대한 기본 단계를 게시하고 싶었다 같은 문제가있는 사람. 멋진 정확히 무엇 Istanbul/Istanbul Province, Turkey :

  1. 설치 geopy (http://code.google.com/p/geopy/)
  2. 다음 사용
    from geopy import geocoders
    gn = geocoders.Google()
    place, (lat, lng) = gn.geocode("istanbul")
    print place

이 인쇄 나는 원했다 (대륙을 제외하고, 그것은 나라/대륙 콤보의 단지리스트와 함께 나 자신으로하는 것은 꽤 쉽다 (예 나는 터키가 2 개의 다른 대륙에있다라는 것을 알고있다. 목적은 나에게 너무 중요하지 않기 때문에).

어쨌든, 이것은 동일한 문제를 가진 누군가를 도울 것입니다.

+0

'터키 '를 어떻게 대륙에 매핑 시켰습니까? –

+0

@ MattO'Brien 내가 말했던 바로는 - 대륙 목록을 가지고 사전으로 만들고 그걸 막 질문했다. – Eli

1

: 주어진 "이스탄불,"나는 무엇인가 싶어. 필요한 것은 지리적 위치 목록입니다. 당신이 사용할 수있는 geolocation 서비스가 없다면, http (그리고 그러므로 urllib)를 통해 액세스 할 수있는 이러한 것들을 할 것입니다. 예를 들어 XML과 같은 응답을 해석하려면 라이브러리가 필요할 수 있습니다.

+0

이러한 서비스 중 하나의 예를들 수 있습니까? – Eli

+0

@ 엘 : Google지도에는 http://code.google.com/apis/maps/documentation/geocoding/이 있고, Kimvais는 Geonames.org http://www.geonames.org/export/geonames-search를 언급했습니다. html은 찾고있는 데이터 유형을 반환 할 수 있습니다. –

+0

@Lennart : Google 지오 코딩은 Google지도에서만 사용할 수 있거나 사용자의 TOS를 위반합니다. openstreetmap은 이와 관련하여 훨씬 뛰어나지 만 결과를 파싱하는 것은 순수한 고통입니다. –

관련 문제