keskiviikko 10. kesäkuuta 2015

Geodeettiset koordinaatistoformaatit

Törmäsin eilen Poliisiammattikorkeakoulun toimittamaan aineistoon, jossa oli mukana paikkatietoa.

Koordinaatit esitettiin aineistossa seuraavasti:

KOORDINAATTI_N,KOORDINAATTI_E
5927140,1909800
5949646,2256613
5950522,2303040
5955028,2316795
5956577,2320602
6002411,2402822


Koordinaatit olivat kuvauksen mukaan WGS84-koordinaatistossa ja niiden piti osua maanteiden varsille. Emme kuitenkaan saaneet aluksi selvää missä muodossa koordinaatit ovat, koska sellaisenaan ne eivät olleet ainakaan suoraan asteita eivätkä ne tuntuneet olevan myöskään maantieteellisiä koordinaatteja.

Sitten huomasin, että koordinaattien kolmas ja neljäs numero juoksee niin, että se ei saanut ikinä arvoja yli 60, josta mieleeni tuli, että koordinaattejahan voi esittää myös minuutteina ja sekunteina. Minuuteissa ja sekunneissa suurin arvo on tuo 60.

KOORDINAATTI_N,KOORDINAATTI_E
6059804,2537278
6059975,2540441
6100120,2348604
6100178,2426829
6100207,2422961


Ensinsiksi oletin, että koordinaatit olivat muotoa
Eli, kaksi ensimmäistä numeroa kuvaavat asteita, kaksi seuraavaa minuutteja ja loput sekunteja ja sekuntien desimaaleja. Pian huomasin kuitenkin, että sekunnit juoksivat arvoihin yli 60. Eli esimerkiksi tässä itä-koordinaatissa:
  • 2426829 → 24° 26' 82.9''
joka ei voinut ollut oikein, koska sekunnit eivät voi saada arvoa yli 60. Eli täytyi olla niin, että koordinaatit olivat muotoa:
Eli edellä mainittu koordinaattipiste on muotoa:
  • 2426829 → 24° 26.829'

Muunnos


Halusin muuntaa koordinaatit muotoon:
koska tämä on Google Mapsin suoraan tukema formaatti. Tein konvertoinnin Excelissä seuraavalla kaavalla:
  • =REGEXEXTRACT(A2, "^([0-9]{2})") & "." & TEXT(ROUND(REGEXEXTRACT(A2, "^[0-9]{2}([0-9]{5})")/1000/60*100000), "00000")
Kaava ottaa koordinaatin ensimmäiset kaksi numeroa sellaisenaan. Viisi viimeistä numeroa muunnetaan minuuteista desimaaleiksi jakamalla 60:llä, jonka jälkeen luku kerrotaan tarvittavan suurella luvulla, jotta saadaan mukaan riittävästi tarkkuutta. Lopputulos pyöristetään kokonaisluvuksi ja lisätään mahdolliset tarvittavat etunollat text()-funktiolla. Lopuksi asteet ja asteiden desimaalit yhdistetään erottamalla ne pisteellä.


Opittua


Usein kun saan käyttööni paikkatietoa ovat koordinaatistot ja formaatit jonkinmoinen murheenkryyni, joka useimmin juontaa siihen, että aineistoa ei ole kuvattu riittävällä tarkkuudella. Välillä aineistosta ei käy edes ilmi missä koordinaatistossa koordinaatit ovat. Ja kun yhdessä koordinaatistossa koordinaatit voidaan esittää useammassa formaatissa (maantieteellisesti, metrejä ja geodeettisesti, asteita), niin on ongelma vielä monimuotoisempi. Ja tosiaan, geodeettiset koordinaatit voidaan esittää myös käyttäen minuutteja ja sekunteja.

5 kommenttia:

  1. Tuttu tilanne, onneksi siitä selviää kokemuksella (ja vähän koulutuksellakin). Esitysmuoto-ongelmia haastavampia ovat ne tilanteet, joissa ilman lisäinformaatiota ei ole mahdollista päätellä, missä koordinaattijärjestelmässä aineisto on. Esimerkkitapauksessasi se sentään oltiin kerrottu, vaikka ei annettuun metadataankaan voi aina luottaa, koska lähettäjä ei välttämättä ymmärrä asiasta sitäkään vähää mitä vastaanottaja.

    Kun tähän lisätään mainitsemasi riittämätön tai vaihteleva tarkkuus sekä mahdolliset virheelliset koordinaattimuunnokset, niin järkevä analysointi on usein mahdotonta.

    Postauksesi terminologiaa hieman täsmentäisin. Maantieteelliset koordinaatit ovat yleisnimitys kulmamittoina ilmoitetuille leveyksille ja pituuksille. Tavallisin alalaji on geodeettiset koordinaatit, jotka on laskettu tietyn geodeettisen koordinaattijärjestelmän (esim. WGS84 tai ETRS89) mukaan. Aiemmin kun maapallon muotoa ja painovoimapoikkeamia ei niin tarkasti tunnettu, käytettiin astronomisia havaintoja koordinaattien selvittämiseen. Alalajista riippumatta maantieteelliset koordinaatit ovat kulmamittoja, joita esitetään tyypillisesti muodoissa DDD.ddd, DDDMM.mmm tai DDDMMSS.sss - kuten huomasit.

    Kun maapallon kaareva pinta projisoidaan tasolle (näyttö tai paperi), niin samalla valitaan sopiva tasokoordinaattijärjestelmä, useimmiten suorakulmainen ja mittayksikkönään metri. Esimerkkejä tällaisista ovat valtakunnallinen ETRS-TM35FIN ja aiemmat KKJ-kaistat. Tasokoordinaattien ongelmana on oikean projektiokaistan tunnistaminen ellei ole metadataa tai itse itäkoordinaattiin lisättyä etunumeroa.

    Summa summarum: Maantieteelliset koordinaatit kulmamittoina ja suorakulmaiset tasokoordinaatit metreinä.

    VastaaPoista
  2. Kiitos Antti kommentistasi ja tarkennuksista. Tuo terminologia on hyvä tietää ja ymmärtää oikein, koska vain sen kautta löytää oikean tiedon äärelle.

    Ja näinhän tuo on, että kokemuksella näissä jutuissa on suuri arvo. Ja tuokin on tullut eteen, että lähettäjällä on ollut väärää metatietoa.

    Mutta hauskaa näiden kanssa on puuhastella kun vain lopulta ratkaisu löytyy :)

    VastaaPoista
  3. Jostain syystä en saa konvertointikaavaa toimimaan. Excel valittaa, että kaavassa on virhe ja korostaa solumerkinnän. Vaatiiko kaavan käyttäminen jotain, mitä Excelissä ei ole oletuksena?

    VastaaPoista
  4. Tulee mieleen ainakin,että solun tyyppi pitää olla teksti ja Excelin täytyy olla englanninkielinen.

    Tässä Google Sheets -dokumentti esimerkiksi:
    https://docs.google.com/spreadsheets/d/1vNjkGdgIIyZiMbAAHg2eVdYx_19IEj1oQ6hY7rBD-ts/edit#gid=0

    VastaaPoista
  5. Hi there, I noticed that you are linking to Sharedcount.com on your article http://datajournalismi.blogspot.com/ . As that service is being discontinued, perhaps it could be useful to replace the link for Sharescount.com, a new working alternative. Keep up the great work!

    VastaaPoista