Métodos para geohash de polígono?

11

O GeoHash é um excelente método para codificar a latitude e longitude de um ponto em uma string. É conciso, devido ao uso de números + letras, e a precisão pode ser ajustada adicionando caracteres no final.

Estou procurando um método equivalente para codificar polígonos, não pontos. Vi duas maneiras de fazer isso:

Eu gostaria que o código pudesse ser manipulado por humanos, ie. copiado manualmente, não apenas pelas máquinas como um índice.

Edit: veja também a discussão (em francês) em http://seenthis.net/messages/269838 .

Sylvain Lesage
fonte
Bem-vindo ao GIS SE, você está aberto para usar qualquer biblioteca python / geo?
artwork21
Claramente sim. Mas a questão é mais sobre conceitos e algoritmos do que implementações.
Sylvain Lesage

Respostas:

2

A implementação mais robusta está na biblioteca de geometria s2, com sua implementação Polygon Cover. Usa S2CellIds, uma melhoria no GeoHashes, como sua unidade.

tmcw
fonte
1

Uma implementação muito simples seria executar o BFS preenchendo o polígono com as geohashes. Em seguida, você pode dividir recursivamente as arestas em maior precisão.

insira a descrição da imagem aqui

Aqui está um exemplo BFS de exemplo

Carlos
fonte
0

A função PostGIS ST_GeoHash retorna um GeoHash com base no tipo de geometria de entrada. Obviamente, qualquer geometria diferente de um Ponto resultaria em menor precisão.

Shree
fonte