Korzystając z PostGIS, mam punkt szerokości geograficznej i chcę dodać przesunięcie wschód / zachód i północ / południe w metrach, aby uzyskać nowy punkt. Czy to jest możliwe?
Korzystając z PostGIS, mam punkt szerokości geograficznej i chcę dodać przesunięcie wschód / zachód i północ / południe w metrach, aby uzyskać nowy punkt. Czy to jest możliwe?
Odpowiedzi:
Możesz użyć ST_Translate:
Funkcja ST_Translate przyjmuje dowolną geometrię (linie, multilinię itp.) Zwraca nową geometrię, która jest oryginalną geometrią poruszaną przez wektor zdefiniowany przez X, Y, Z. Zauważ, że jednostki miary są zawsze w jednostkach przestrzennego układu odniesienia argumentu geometrii. Istnieją dwie formy ST_Translate. ST_Translate (geometria, X, Y, Z) i ST_Translate (geometria, X, Y).
Źródło: http://www.bostongis.com/postgis_translate.snippet
Najpierw musisz przekształcić lat / lon na metry. Aby to osiągnąć, możesz użyć ST_Transform:
ST_Transform - Zwraca nową geometrię ze współrzędnymi przekształconymi na SRID, do którego odwołuje się parametr liczby całkowitej.