지오 해시와 비교 한 R- 트리의 장점


18

Geohashes는 Lucene, mongodb 등과 같은 제품에 널리 사용되며 현재 가장 중요한 기술 중 하나가되었습니다.

Geohash가 좋은 오래된 R-tree를 대체했거나 R-tree는 Geohash와 비교할 때 어떤 이점이 있습니까?

답변:


11

Geohash는 공간 피쳐, 특히 포인트 피쳐를 인덱싱하는 매우 간단하고 효과적인 방법입니다. 선 및 다각형 피처는 인덱싱하기가 어렵지만 수행 할 수 있습니다. Geohash는 정적 계층 고정 크기 그리드로 지표면 위에 오버레이됩니다. 동일한 계층 레벨의 격자 셀은 겹치지 않습니다. R-Tree는 인덱싱하는 기능에 따라 셀 위치와 크기가 변경되는 동적 그리드입니다. R- 트리 인덱스는 데이터를 삽입하고 업데이트 할 때마다 경계 상자와 셀이 변경됩니다. Geohash는 주로 인덱싱 포인트 기능에 사용되며 셀은 모든 데이터 삽입 및 업데이트시 변경되지 않습니다. Geohash 셀은 R-tree와 같은 기능을 채택하지 않습니다.

r-tree와 비교하여 geohash의 장점 중 일부는 다음과 같습니다.

  • 쉬운 구현
  • 점점 더 많은 기능으로 성능 저하가 없음
  • 근접 검색 (일부 사실)

r-tree와 비교하여 geohash의 몇 가지 단점은 다음과 같습니다.

  • 그리드의 임의 정밀도
  • 선 및 다각형 피처를 인덱싱 (및 쿼리)하기 어렵
  • 일부 선 및 다각형 인덱싱 방법으로 인덱스 크기가 클 수 있음
  • 사양에 따라 경도 / 위도 좌표계에서만 사용할 수 있지만 다른 좌표계에도 동일한 방법을 적용 할 수 있습니다.

geohash는 주로 인덱싱 포인트에 사용되며 이러한 기능이 필요한 많은 응용 프로그램이 있기 때문에 언급 한 제품 (데이터베이스)은 geohash를 사용합니다. 선과 다각형은 자주 사용되는 것이 아니며 (물론 GIS 응용 프로그램 제외) 왜 귀찮게합니까? 다른 이유는 물론 구현의 용이성입니다. Geohash는 2 차원 좌표를 1 차원 값으로 변환합니다. 이것을 치수 축소라고합니다. 1 차원 값은 표준 b- 트리에 의해 쉽게 색인화 될 수 있으며, 이러한 제품에 주로 사용됩니다.

geohash와 비슷한 알고리즘이 있지만 대부분 독점적이며 라이센스가 필요합니다. Geohash는 공개 도메인에 있습니다. 이것은 또한 최근 몇 년간 그렇게 많이 사용하는 이유 일 수 있습니다.

아마도 다른 장점과 단점이있을 수 있지만, 이것이 내 생각에 가장 먼저 오는 것입니다. 내 설명이 약간 도움이되기를 바랍니다.


왜 geohash가 그리드의 임의 정밀도를 제공하는지 이해하지 못했습니다. 예를 들어 설명해 주시겠습니까? 같은 것에 감사드립니다.
Jannat Arora

1
Geohash는 경도와 위도 좌표를 1 차원 문자열로 변환합니다. 이 문자열의 길이는 좌표의 변환 된 정밀도에 직접 연결됩니다. 이 unterbahn.com/2009/11/…을 참조하십시오 . geohash 문자열의 길이가 정밀도에 어떻게 연결되어 있는지 확인할 수 있습니다. 기본적으로 geohash는 점을 다각형 영역 (하나의 geohash 그리드)으로 변환합니다. 이 다각형 영역의 크기는 geohash 문자열의 길이와 geohash를 계산하는 위도에 따라 다릅니다.
Mario Miler
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.