Seuraa

Viiva-aineiston geometria tekstitiedostossa

Viivageometrian kuvaus tekstitiedostossa

Pisteaineistojen lisäksi myös viiva- tai alueaineistoja voidaan lisätä QGIS:n csv-tekstitiedostoista. Yleisin käyttötapaus tälle on tilanne, jossa halutaan lisätä taulukossa olevaa dataa karttatasoksi. Taulukkolaskentaohjelmilla kuten LibreOffice Calc ja MS Excel pystyy tallentamaan taulukkoja csv-formaatissa. Aineiston tulee tällöin sisältää myös sijaintitieto koordinaateissa, eikä esimerkiksi pelkkä osoite riitä.

Toisin kuin pisteaineistossa, jossa kohteen X ja Y-koordinaatit voivat olla omissa sarakkeissaan, viiva-aineiston tapauksessa viivageometrian tulee olla omassa sarakkeessaan WKT (Well Known Text) muodossa. Pelkät viivan alku- ja loppupisteen koordinaatit (X0, Y0) ja (X1, Y1) eivät siis kelpaa. Yksinkertaisen viivan tapauksessa geometrian WKT-tyyppi on LINESTRING, ja koordinaatit tulee ilmoittaa muodossa:

LINESTRING (X0 Y0, X1 Y1)

Viiva voi koostua alku- ja loppupisteen lisäksi myös mistä tahansa määrästä välipisteitä:

LINESTRING (X0 Y0, X1 Y1, X2 Y2)

Käytännön esimerkki yksinkertaisesta viivasta:

LINESTRING (2554500.5 6678483.89, 2554474.33 6678501.34)

Huom. pilkku lisätään vain pistepari(e)n väliin, X ja Y-koordinaattien väliin tulee välilyönti. Koordinaattien desimaalien erotin on piste, ei pilkku. Taulukkolaskentaohjelman kielisyysasetuksista riippuen tämä voi aiheuttaa hankaluuksia.

 

Aineiston käsitteleminen

Käsitellään LibreOffice Calc-ohjelmalla aineistoa, joka sisältää viivan alku- ja loppupisteen koordinaatit sarakkeissa XA, YA, XL, YL:

Lasketaan kohteiden geometria uuteen sarakkeeseen geom hyödyntäen taulukkolaskentaohjelman funktioita. Englanninkielisessä versiossa voidaan käyttää funktiota CONCATENATE (suom. KETJUTA) tekstin ja solujen yhdistämiseen:

=CONCATENATE("LINESTRING (",A2," ",B2,", ",C2," ",D2)

 

Alueasetuksista riippuen taulukkolaskentaohjelma voi käyttää numeroiden desimaalierottimena pilkkua, kuten yllä. Tällöin aineisto ei toimi oikein QGIS:sa. Muutetaan pilkut pisteiksi lisäämällä kaavaan funktio SUBSTITUTE (suom. VAIHDA):

=CONCATENATE("LINESTRING (",SUBSTITUTE(A2,",",".")," ",SUBSTITUTE(B2,",","."),", ",SUBSTITUTE(C2,",",".")," ",SUBSTITUTE(D2,",","."),")")

 

Tai suomenkielisessä LibreOfficessa:

=KETJUTA("LINESTRING (";VAIHDA(A208;",";".");" ";VAIHDA(B208;",";".");", ";VAIHDA(C208;",";".");" ";VAIHDA(D208;",";".");")")

Samojen kaavojen pitäisi toimia myös Excelissä. Muista lopuksi tallentaa aineisto csv-muodossa.

 

Aineiston hyödyntäminen QGIS:lä

Tallennettu csv-aineisto voidaan avata QGIS:lä muiden tekstipohjaisten aineistojen tavoin, valitsemalla valikosta Tasot > Lisää taso > Lisää erotinmerkkejä sisältävä tekstitiedosto. Valitse tiedostomuodoksi csv, geometrian määritykseksi WKT ja geometriakentäksi luomasi sarake:

Koska csv-tiedosto ei sisällä tietoa aineiston koordinaattijärjestelmästä, QGIS kysyy sitä automaattisesti aineistoa lisättäessä. Määritettyäsi aineiston koordinaattijärjestelmän aineisto lisätään viivakohteita sisältäväksi karttatasoksi:

Oliko tämä artikkeli hyödyllinen?
0/0 koki tästä olevan apua
Lisäkysymyksiä? Lähetä pyyntö

Kommentit