Existem compensações entre o uso de uma geohash e o uso de uma quadkey como índice espacial?

8

QuadKey

O Bing Maps usa uma estrutura quadkey para seu esquema de lado a lado. Aqui está uma visão geral do conceito http://msdn.microsoft.com/en-us/library/bb259689.aspx .

GeoHash

Uma geohash parece ser a representação mais aceita na palavra de código aberto http://en.wikipedia.org/wiki/Geohash

Então, o que eu estou querendo saber é se há algum trade-off entre os dois quando sendo usado como um índice espacial. Ambos estão enraizados no conceito quadtree e carregam seus prós e contras, mas existem benefícios em usar um sobre o outro?

agentargo
fonte
Além disso, aqui está uma implementação em python de um quadkey github.com/buckheroux/QuadKey .
agentargo

Respostas:

3

Existem vários benefícios para o geohash sobre quadkey:

  • suporte a vários idiomas . O geohash possui implementações de código aberto em vários idiomas (c, java, python, ruby, perl, javascript). Se você precisar de colaboradores externos para se conectar com seus dados baseados em quadtree, você ganha flexibilidade máxima com o geohash. Se você estiver usando python, há uma extensão c pré-criada que ajuda a calcular os valores de geohash com maior velocidade que a quadkey.

    • caça de insetos . O geohash é amplamente adotado na comunidade de código aberto (por exemplo, ElasticSearch, MongoDB e outros) implementa índices de geohash como uma forma de indexação espacial em seus sistemas. Se você encontrar algo estranho com seus dados, suas chances de encontrar o problema (e a solução) são melhores com o geohash.

    • comunidade . Você pode criar URLs que convertem uma geohash em um mapa visível por meio de uma URL compartilhável em geohash.org. Por exemplo, aqui está um URL para Washington, DC

abeusher
fonte
0

Quadríceps são mais previsíveis, pois cada nível mede um quadrado, enquanto na representação de geohash, às vezes quadrados, às vezes retângulos são estendidos.

Veja: geohash , quadtree

Yavuz Mester
fonte