En utilisant PostGIS, j'ai un point lat / lon et je veux ajouter un décalage est / ouest et nord / sud en mètres pour obtenir un nouveau point. Est-ce possible?
En utilisant PostGIS, j'ai un point lat / lon et je veux ajouter un décalage est / ouest et nord / sud en mètres pour obtenir un nouveau point. Est-ce possible?
Réponses:
Vous pouvez utiliser ST_Translate:
La fonction ST_Translate prend n'importe quelle géométrie (linestring, multiline etc.) renvoie une nouvelle géométrie qui est la géométrie d'origine déplacée par un vecteur défini par X, Y, Z. Notez que les unités de mesure sont toujours dans les unités du système de référence spatiale de l'argument de géométrie. Il existe deux formes de celui-ci ST_Translate. ST_Translate (géométrie, X, Y, Z) et ST_Translate (géométrie, X, Y).
Source: http://www.bostongis.com/postgis_translate.snippet
Vous devrez d'abord transformer lat / lon en mètres. Vous pouvez utiliser ST_Transform pour y parvenir:
ST_Transform - Renvoie une nouvelle géométrie avec ses coordonnées transformées en SRID référencé par le paramètre entier.