Méthodes de géohash de polygone?


11

GeoHash est une excellente méthode pour coder la latitude et la longitude d'un point dans une chaîne. C'est concis, en raison de l'utilisation de chiffres + lettres, et la précision peut être réglée en ajoutant des caractères à la fin.

Je cherche une méthode équivalente pour coder des polygones, pas des points. J'ai vu deux façons de le faire:

J'aimerais que le code puisse être manipulé par des humains, c'est-à-dire. copiés manuellement, non seulement par des machines comme index.

Edit: voir aussi la discussion (en français) sur http://seenthis.net/messages/269838 .


Bienvenue dans GIS SE, êtes-vous prêt à utiliser n'importe quelle bibliothèque python / géo?
artwork21

Clairement oui. Mais la question concerne plus les concepts et les algorithmes que les implémentations.
Sylvain Lesage

Réponses:



2

L'implémentation la plus robuste se trouve dans la bibliothèque de géométrie s2 avec son implémentation Polygon Cover. Utilise S2CellIds, une amélioration par rapport à GeoHashes, comme unité.


1

Avec la récente publication par Google de Open Location Code , il y a eu un bon questionnement sur Geohash. Malheureusement, je n'ai rien vu sur les polygones Geohash.

Comme vous recherchez différentes implémentations pour des solutions de type Geohash, regardez la comparaison Google de divers algorithmes et solutions à https://github.com/google/open-location-code/blob/master/docs/comparison.adoc

C'est clairement pour des points mais cela peut vous aider pour votre "quête" de polygone Geohash.


1

Une implémentation très simple consisterait à effectuer BFS en remplissant le polygone avec les geohashes. Ensuite, vous pouvez décomposer récursivement les bords en une plus grande précision.

entrez la description de l'image ici

Voici un exemple Exemple BFS


0

La fonction PostGIS ST_GeoHash renvoie un GeoHash basé sur le type de géométrie en entrée. Bien sûr, toute géométrie autre qu'un point entraînerait une précision inférieure.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.