Tworzenie warstwy punktowej w PostGIS
Dzisiaj pokażemy jak współrzędne z tabel zamienić na geometrię. Wykorzystamy do tego prostą tabelę zawierającą dziesięć miast. Tabele wyświetlamy korzystając z zapytania:
SELECT * FROM miasta
Współrzędne położenia każdego z miast zapisane zostały w układzie geograficznym jako szerokość (latitude) i długość (longitude). Utwórzmy nową tabelę miasta_with_geom zawierającą dodatkowo kolumnę z geometrią (geom) uzupełnioną z wykorzystaniem funkcji ST_POINT(x,y):
CREATE TABLE miasta_with_geom AS SELECT *,ST_POINT(longitude,latitude) AS geom FROM miasta
Po wyświetleniu nowej tabeli widać, że dodana została nowa kolumna z geometrią:
Funkcje PostGIS możemy wykorzystać również do uzyskania współrzędnych danego punktu z geometrii. Używamy do tego funkcji ST_X() i ST_Y():
SELECT ST_X(geom), ST_Y(geom) FROM miasta_with_geom
W wyniku otrzymujemy współrzędne położenia miast:
Pamiętacie co było w poprzednim poście o PostGIS? Utworzonej przez nas warstwie czegoś brakuje. Jak nie pamiętacie odsyłam Was do postu o reprojekcji warstw.