Osana PostGISn laajamittaista analyysityökalurepertuaaria, voidaan sillä laskea lyhyimpiä etäisyyksiä eri paikkojen ja objektien välille. Voimme yhdistellä aineistoja ja käsitellä erilaisia paikkatietotyyppejä, kuten viivoja, pisteitä ja alueita sillä kätevästi.
PostGISn avulla laskemme lyhimpiä etäisyyksiä st_distance-funktiolla. Tässä esimerkissä meitä kiinnostaa, mikä on lyhin etäisyys Vääksy-nimisestä paikasta lähimmälle lentokentälle. Hyödynnämme analyysifunktion havainnollistamiseen Maanmittauslaitoksen lentokenttä- ja karttapaikkapisteaineistoa.
Ensin tunnistamme aineistojemme sijainnin tietokannassa, jotta osaisimme viitata niihin oletetulla tavalla. Sitten totuttuun tapaan toimitamme SQL-kielellä kyselyn, jossa käytämme taulujemme sijaintitietoja osana st_distance-funktiota ja lopuksi vielä järjestämme tulokset lyhyemmästä pisimpään matkaan ja valitsemme näytettäväksi vain yhden eli lyhyimmän etäisyyden tuloksiin:
SELECT a.gid, ST_Distance(a.geom, c.geom) AS etaisyys
FROM nlsfi.karttanimipiste1000 c
CROSS JOIN nlsfi.lentokenttapiste a
WHERE c.knimitekst = "Vääksy"
ORDER BY ST_Distance(c.geom, a.geom) ASC
LIMIT 1;
Seuraavassa kuva-animaatiossa voi nähdä, miten analyysi toimitetaan psql-terminaalissa avulla:
Huomataan, kuinka tehokasta postGIS-tietokannan hyödyntäminen voi olla paikkatietoanalyysien toimittamiseksi. Analyysien tekeminen PostGISsa on tehokasta, se on automatisoitavissa jatkoanalyyseja varten ja sen avulla voidaan kattaa monta työprosessia perinteiseen työasemaohjelmiston käyttöön verrattuna.
Huomaa myös tarkastella eroja suorakulmaiseen koordinaattijärjestelmään ja maantieteellisten koordinaattien (WGS84) tietotyyppeihin perustuvien postGIS-funktioiden välisiin eroihin. Yleissääntönä suorakulmaiseen koordinaattijärjestelmään perustuvan tietotyypin funktiot sopivat hyvin paikkakunta- ja aluetasolla (Suomi ja pienemmät alueet) analyysien toimittamiseen, kun taas maantieteellisia koordinaatteja hyväksi käyttävä tietotyyppi paremmin pidempien välimatkojen aineistoille (suuret alueet ja maailma). Lisätietoja voi tarkastella aiheesta seuraavilta sivuilta: http://postgis.net/docs/ST_Distance.html
Kommentit