Bazy danychGIS

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

st_point_1

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ą:

st_point2

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:

st_point3

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.