Google 지오 코더가 어떻게 작동하는지 궁금합니다.Google 지오 코더는 어떻게 작동합니까?
geocommons' geocoder 또는 PostGIS's new Tiger Geocoder과 같은 오픈 소스 지오 코더의 일부 구현을 연구했습니다. 이것은 내가 지금까지 알고있는 대략적인 것입니다 (숙제를 해왔음을 희망적으로 증명하기 위해) :
오픈 소스 지오 코더의 핵심에는 세 가지 주요 요소가 있다는 것을 알고 있습니다.
1.- 임의의 문자열을 받아 (taking the example from here)으로 정규화 어드레스 정규화 :
normalize_address('address string');
e.g.: SELECT naddy.* FROM normalize_address('29645 7th Street SW Federal Way 98023') AS naddy;
address | predirabbrev | streetname | streettypeabbrev | postdirabbrev | internal | location | stateabbrev | zip | parsed
---------+-------------+-----------------------+------------------+---------------+----------+----------+-------------+-------+--------
29645 | | 7th Street SW Federal | Way | | | | | 98023 |
하고 :
2.- 이름 일부 마법 퍼지 매칭을 수행하는 지오 코더 핵심 알고리즘은 Levenshtein Distance입니다.
:좋은 예
는 단어 새끼 고양이와 (즉, 다른에 하나의 문자열을 변경하는 데 필요한 편집의 수이기 때문에 거리가 3) 앉아 사이의 Levenshtein 거리를 계산 위키 백과 문서의 하나입니다kitten → sitten (substitution of 's' for 'k')
sitten → sittin (substitution of 'i' for 'e')
sittin → sitting (insertion of 'g' at the end).
3 - 집이 어디에 있는지 짐작하기 위해 끝에서 거리 세그먼트를 보간합니다. 이 예를 생성하려면 무료 Census Tiger street dataset의 덩어리를 다운로드하십시오. 위의 예에서
는 관심 거리 세그먼트 (쉐퍼 힐스 DR)은 그가 끝나는를 노드 (300) (너무 300 쉐퍼 힐스 DR) 및 시작 노드로부터 을 갖는다 400 (400 Schaeffer Hills Drv). 이 Schaeffer Hills Drv와 일치하고 거리 310에 대한 요청이 있었다면 알고리즘은 내 녹색 화살표가있는 곳에 interpolate (그 중 10 %를 트래버스)합니다.이것이 오픈 소스 지오 코더 도구의 기능입니다. 그럼에도 불구하고 Google은 분명히 똑똑하고 모든 종류의 비 전통적인 힌트를 사용합니다.
어떻습니까?
예를 들어, 680 Mission st (도시, 주, 카운티, 아무 것도 아님)을 입력 할 수 있습니다. 너무 많은 성냥을 발견 할 것이기 때문에 표준 주소 정상화 자의 대부분은 폭파 할 것입니다. 하지만 내가 SF에 있기 때문에 나는 을 추측하고 있습니다. Google은 내 IP를 사용하여 일부 geoip-like information을 얻었으며, some expanding bounding은 약간의 퍼지 검색이 포함 된 힌트로 사용되며, 가장 가까운 세그먼트를 찾습니다. 내 답변은 정확합니다. !).
나는 위에서 설명한 기술 외에도 Google 지오 코더가 어떻게 작동하는지에 대한 답을 찾고 있습니다.
업데이트 :
OK는 지금까지 우리는 (바울의 예를 참조) 힌트 두 종류의 힌트
- 나와 있습니다.
- 기타?
I suspec 정확한 정보를 가진 아무도 기밀 유지 계약을 위반하지 않고 질문에 대답 할 수 있습니다. –
당신은이 질문을 여기에서하는 것이 더 나을 것입니다 : http://gis.stackexchange.com/ –
@ Suvi 나는 gis.stackexchange에 대해 알고 있습니다. 그럼에도 불구하고,이 포럼은 더 많은 눈을 가지고 있습니다. 나는 다음과 같이 기대하고 있습니다. -/ – rburhum