FME-käyttäjäpäivät 2014

Tänään on viimeinen päivä mahdollista ilmoittautua FME-käyttäjäpäiville 2014, jotka pidetään 24.-25.4.2014.

Image

Se on nyt vähän niinkuin pakko tulla mukaan, jos on kiinnostusta nähdä, mitä uutta on FME 2014:ssa, ja miten FME:tä käytetään eri organisaatioissa.

Ilmoittautuminen palautelomakkeen kautta: http://www.spatialworld.fi/public/company/fi/contacts.shtml

FME ja PDF-kartan tekeminen

Tässä taannoin eräs asiakas kyseli, pystyykö FMEllä tekemään PDF-karttaa, jossa pitäisi näkyä itse karttanäkymä, mutta sen lisäksi myös otsikko, legenda, mittakaava ja pohjoisnuoli. Kyllähän sellaisen pystyy tekemään. Siihen saa lisäksi kohdeluokat eri tasoille ja kohteiden ominaisuustietoja pystyy myös tarkastelemaan. Tässä on perusidea työtilasta:

  1. Aineistojen sisäänluku.
  2. PDF-kuvaustyylit.
  3. Piirtojärjestys ja sijoittelu.
  4. Legendan luonti.
  5. Mittakaavan ja pohjoisnuolen luonti.

1. Aineistojen sisäänluku

Käytin aineistona Maanmittauslaitoksen Maastotietokanta-GML:ää (FME 2013 SP1 tukee MTK-GML:ää) Espoon Keilaniemen alueelta, joka on ladattu vuonna 2012 (http://www.maanmittauslaitos.fi/avoindata_lisenssi_versio1_20120501). Otin aineistosta mukaan seuraavat kohdeluokat:

  • Kallioalue
  • Korkeuskäyrä
  • Korkeusarvo
  • Meri
  • Paikanimi
  • Puisto
  • Rakennus
  • Tieviiva
MTK-GML-lähtöaineistot.

MTK-GML-lähtöaineistot.

2. PDF-kuvaustyylit

FMEssä PDF-kuvaustyylit voi luoda PDFStylerilla. Jokaisen kohdeluokan kuvaustyylit määritellään eri PDFStylereissä. Tässä esimerkiksi Tieviivan PDFStyler. Jos olet käyttänyt PDFStyleria ennen, huomaatko jotain erikoista kohdissa Color ja Line Width:

Kuvaustyylien määrittäminen kohdeluokalle tieviiva.

Kuvaustyylien määrittäminen kohdeluokalle tieviiva.

FME 2013 SP1:ssä kuvaustyyli voidaan luoda eri tieluokille suoraan yhdessä PDFStylerissa. Kohdeluokka tieviiva sisältää eri tieluokkia, ja kuvaustyylien määrittämiseen ei tarvitse jakaa kohdeluokkaa ensin eri luokkiin ja sitten määrittää kuvaustyylit jokaiselle tieluokalle eri PDFStylereilla. Toiminnon nimi on Set to Conditional Value:

Set to Conditional Value -toiminto.

Set to Conditional Value -toiminto.

Seuraavassa on esimerkki värin määrityksestä tieluokalle (lausekkeiden tekeminen ei oikeasti ole noin hankalaa kuin kuvassa näyttää. Väriarvonkin saa kirjoittamisen sijasta valita väritaulukosta):

Värien määritys eri tieluokille.

Värien määritys eri tieluokille.

3. Piirtojärjestys ja sijoittelu

PDF koostuu frame-elementeistä ja niiden sisään sijoitettavista kohteista. Attribuutti pdf_frame_name määrittelee framen nimen. Piirtojärjestykseen vaikuttavat kaksi attribuuttia: pdf_feature_order ja pdf_frame_order. Ensimmäinen vaikuttaa kohteiden piirtojärjestykseen saman framen sisällä ja jälkimmäinen vaikuttaa frame-elementtien piirtojärjestykseen. Mitä pienempi lukuarvo attribuuteilla on, sitä aiemmin kohteet ja frame piirretään, eli ne jäävät myöhemmin piirrettävien alle.

Sijoitteluun voi vaikuttaa attribuutilla pdf_frame_rectangle, joka määrittelee sivun yksiköissä framen sijainnin. Esimerkiksi, jos kartta-framen pdf_frame_rectangle on 25 250 -25 -10 (minx, miny, maxx, maxy), kartta-frame sijoitetaan 25 yksikköä vasemmasta ja 25 yksikköä oikeasta reunasta sekä 250 yksikköä ala- ja 10 yksikköä yläreunasta:

Framen sijoittelu pdf_frame_rectangle-attribuutilla. Muista nimetä frame attribuutilla pdf_frame_name.

Framen sijoittelu pdf_frame_rectangle-attribuutilla. Muista nimetä frame attribuutilla pdf_frame_name.

4. Legendan luonti

FME perustuu aineistojen muokkaukseen prosessissa, joten legendaan ei voi napata jostain haluamiaan kartan kohteita yksitellen, vaan poiminta pitää määritellä prosessiin. Perusidea esimerkissäni on se, että kohteet poimitaan Samplerilla ja kohteiden sekä kohdeluokkatekstien määrittely tehdään 2DBoxReplacerilla ja Tilerilla:

Legenda luodaan 2DBoxReplacerilla, Tilerilla ja Samplerilla sekä joukolla muita transformereita.

Legenda luodaan 2DBoxReplacerilla, Tilerilla ja Samplerilla sekä joukolla muita transformereita.

5. Mittakaavan ja pohjoisnuolen luonti

Pohjoisnuolen luominen oli suhteellisen helppoa. Loin ensin kolmiogeometrian Creatorilla, jota duplikoin, siirsin x-suunnassa Offsetterillä ja käänsin Scalerilla. Seuraavaksi määrittelin kuvaustyylit PDFStylereilla ja lisäsin N-tekstin pohjoisnuolen alapuolelle. Tässä lopputulos:

FMEllä tehty pohjoisnuoli.

FMEllä tehty pohjoisnuoli.

Mittakaavan tekeminen ei ollut ihan niin helppoa, koska mittakaavan pitää olla kuitenkin kartan mittakaavassa. Loin ensin aineistosta rajaavan suorakaiteen BoundingBoxAccumulatorilla, pilkoin sen Tilerilla 1000 m levyisiksi ja 25 m korkeiksi tiiliksi, valtisin tiilistä vasemman alakulman ja tiilitin vasemman alakulman uudelleen 100 m levyisiksi tiiliksi. Nämä 100 m leveät tiilet muokkasin PDFStylereilla niin, että joka toinen niistä sai täyttövärikseen valkoisen ja joka toinen mustan. Lisäsin myös metrimäärät teksteinä mittakaavan alapuolelle:

FMEllä luotu kartan mittakaava.

FMEllä luotu kartan mittakaava.

Näiden vaiheiden jälkeen työtila näyttää tältä:

Työtila PDF-kartan luomiseen.

Työtila PDF-kartan luomiseen.

Tulos-PDF on tässä:

FMEllä luotu PDF-kartta.

FMEllä luotu PDF-kartta.

Ladattava PDF (lataa koneelle ja avaa Adobe Readerissa):

Keilaniemi-PDF

Työtilasta voisi luoda ajastetun prosessin, joka käynnistyisi esim. kerran kuukaudessa ja voisi kirjoittaa PDF-karttoja useistakin eri alueista kerralla.

FME 2013 SP1 julkaistu, tukee Maastotietokanta-GML:ää

Kuten viime kirjoituksessa kerroin, FME 2013 SP1 tukee Maanmittauslaitoksen Maastotietokanta-GML-formaatin sisäänlukua. FME 2013 SP1:n voi ladata täältä: http://www.safe.com/support/support-resources/fme-downloads/

FME 2013 SP1:een on tullut paljon muitakin hyödyllisiä ominaisuuksia, kuten Testerin ja TestFilterin upottaminen transformereihin:

Lue lisää FME 2013 SP1:stä: http://www.safe.com/highlight/fme2013/sp1/

Maastotietokanta-GML:n luku FMEllä

FME 2013 SP1 tukee Maastotietokannan GML-muotoa. SP1 tulee saataville maaliskuussa. Aineistoa voi lukea FMEllä, ja viedä esimerkiksi ArcSDEhen, Oracleen, PostGIS:iin, tai tallentaa tiedostomuotoihin, kuten Shape, DGN, DWG, MIF/MID, TAB, jne.

Testasin Maastotietokanta-GML:n lukua FMEllä, ja hyvin näyttää toimivan. Käyttäjän tarvitsee valita Readerin formaatiksi NLSF Topographic GML (MTKGML) ja xml-tiedosto Dataset-kohtaan:

Maastotietokanta-GML:n luku

Maastotietokanta-GML:n luku

Aineisto näyttää seuraavalta FME Data Inspectorissa:

Maastotietokanta-GML FME Data Inspectorissa.

Maastotietokanta-GML FME Data Inspectorissa.

Seuraavaksi käyttäjä voi määritellä aineiston kirjoituksen haluamaansa formaattiin Add Writerin kautta. Seuraavassa on esimerkkimuunnos MIF/MID:iin:

Maastotietokanta-GML MIF/MID:iksi.

Maastotietokanta-GML MIF/MID:iksi.

Kirjoitus luonnollisesti vaatii kuvaustyylien asetukset, joita en jaksanut tuossa esimerkissä vääntää. Helpotusta toisi se, jos Maastotietokanta-GML:ään löytyisi SLD-kuvaustyylidokumentit, joita voisi hyödyntää kuvaustyylien viennissä eri formaatteihin, kuten MapInfo MIF/MID:iin, DGN:ään, DWG:hen ja KML:ään. En löytänyt, enkä tiedä julkaiseeko MML niitä. Toivottavasti. Joka tapauksessa käyttäjälle Maastotietokanta-GML:n luku on tehty mahdollisimman helpoksi. Kannattaa siis seurata, milloin FME 2013 SP1 julkaistaan, ja ladata se, jotta pääsee hyödyntämään Maastotietokanta-GML-aineistoja.

Helsingin kaupungin rakennushankkeiden visualisointi

Tein aikani kuluksi visualisoinnin FME-softalla Helsingin kaupungin rakennushankkeista (http://www.hri.fi/fi/data/helsingin-kaupungin-rakennushankkeet/). Käytin aineistoina seuraavia:

Alkuun yhdistin tiedot rakennushankkeista rakennusrekisterin otteen rakennusgeometrioihin käyttäen lähimmän naapurin sääntöä. Muokkasin yhdistämisen tuloksena tulleet geometriat 3D:ksi venyttäen ne hankkeen kustannusarviolla. Värit ovat toimialojen mukaan. Lisäksi laitoin pohjalle Maanmittauslaitoksen taustakarttarasterin.

FME Workbenchissä tehty työtila rakennushankkeiden visualisointiin

FME Workbenchissä tehty työtila rakennushankkeiden visualisointiin

Lopputuloksena on PDF-tiedosto:

Tulos-PDF.

Tulos-PDF.

Tulos-PDF, Bockin talo valittuna.

Tulos-PDF, Bockin talo valittuna.

Jos haluat PDF-tiedoston itsellesi, voit laittaa alas kommenttia.

3D-mallin tekoa Maanmittauslaitoksen aineistoista

Kun Maanmittauslaitos avasi digitaaliset maastotietoaineistonsa, olin heti ensimmäisten joukossa lataamassa niitä Maanmittauslaitoksen tiedostopalvelusta: https://tiedostopalvelu.maanmittauslaitos.fi/tp/kartta. Palvelusta voi ladata tietomäärältään suurempia aineistoja karttalehdittäin ja pienempiä aineistoja kerralla koko Suomen laajudelta. Kannattaa tutustua, jos et ole vielä sivustolla käynyt. Muitakin tapoja hankkia aineistoja on. Niitä on saatavilla torrentteina: http://paikkatieto.com/2012/05/05/maanmittauslaitoksen-aineistot-torrent-palvelusta/ sekä niitä voi tilata Maanmittauslaitokselta.

Avoimien aineistojen joukossa on erittäin mielenkiintoinen aineisto laserkeilausaineisto. Latasin yhden testipalan Otaniemi-Tapiola-Keilaniemi -alueelta. Lisäksi latasin samalta alueelta ortokuvat sekä maastotietokannan karttalehtiä. Näillähän voi tehdä jo vaikka mitä hauskaa. Jotta testailuissa pääsee alkuun, kannattaa aloittaa maastotietokannan karttalehtien viemisellä kantaan esimerkiksi PostgreSQL/PostGIS:iin. Seuraavassa näet esimerkin maastotietokannan kohdemallin kohderyhmäkentän yhdistämisestä kullekin kohteelle kohdeluokkakoodin perusteella ja kirjoittamisesta PostgreSQL/PostGIS:iin.

Maastotietokannan kohteet PostGISiin

Maastotietokannan kohdemallin kohderyhmän yhdistäminen kullekin maastotietokannan kohteelle ja kirjoitus PostgreSQL/PostGIS:iin.

Kirjoituksen jälkeen FME:llä voi tarkastella visuaalisesti kohdeluokkia. Tässä on valittu rakennukset tarkastelun kohteeksi.

Rakennukset PostgreSQL/PostGIS:issä visualisoituna FME:ssä.

Rakennukset PostgreSQL/PostGIS:issä visualisoituna FME:ssä.

Kaiken tämän datan käsittelyn ja latauksen jälkeen mietin, miten saisin rakennuksille korkeudet. Laserkeilausaineistosta tietenkin! Tein FME:llä seuraavan testin, jossa luon kullekin rakennukselle korkeustiedon laserkeilausaineistosta. Lisäksi luon laserkeilausaineistosta maastomallin, ”liimaan” maastomalliin ortokuvan sekä korkeuden mukaan venytetyt rakennukset ja kirjoitan 3D PDF:ksi.

Aineistot 3D-malliksi 3D PDF:ään.

Aineistot 3D-malliksi 3D PDF:ään.

Pidemmittä puheitta seuraavassa on lopputulos.

3D-malli

3D-malli Otaniemi-Tapiola-Keilaniemi -alueesta.

Aineistojen käsittely 3D-malliksi oli mukavaa puuhaa sen jälkeen, kun ymmärsin käyttää Maastotietokannan kohdemalli-Excel:iä kohderyhmien selvittämiseksi ja kun aineisto oli PostgreSQL/PostGIS:issä. Jos kiinnostusta samanlaisen 3D-mallin tekemiseen riittää, autan mielelläni hommassa!

MML:n kuntarajat FME:llä

Innostuin testaamaan MML:n kuntarajojen lukua ja kirjoitusta muutamaan formaattiin FME:llä luettuani Pekka Sarkolan Twitter-viestin: ”MMLn kuntarajat käyttökelpoiseen muotoon (PDF): tinyurl.com/cragzzr”.

Safe Software:n mukaan FME osaa lukea Inspire-muotoista XML-dokumentteja sellaisenaan, sillä FME sisältää Inspire-skeematiedostot jo valmiiksi.Tämä tarkoittaa sitä, että näiden XML-dokumenttien sisäänluku ja kirjoitus eri formaatteihin on helppoa. Tämähän täytyy testata!

Aineiston lataus

Lataan kuntarajat XML-muotoisina osoitteesta http://www.maanmittauslaitos.fi/ilmaisetaineistot.

Aineiston sisäänluku

Valitsen formaatiksi INSPIRE GML:n ja aineistoksi kuntajaon mittakaavalla 1:100 000.

Inspire GML-luku

Valitaan tiedosto SuomenKuntajako_2011_100k.xml.

Saan tulokseksi FME:hen kaksi kohdeluokkaa, AdministrativeBoundary ja AdministrativeUnit.

AdministravieBoundary ja AdministrativeUnit

Aineiston kirjoitus

Jatketaan testiä kirjoittamalla hallintoyksiköt ja -rajat eri formaatteihin, joita voivat olla esimerkiksi MapInfo TAB, ESRI Shape, KML, PDF, DWG jne. Tein FME:llä muuntimen, joka muuntaa kuntarajat XML:stä mihin tahansa formaattiin:

Kuntarajat XML:stä mihin tahansa formaattiin.

Kun formaatin on valinnut 265 formaatista, painetaan OK, ja tarkastellaan tulosta.

Tulosaineiston tarkastelu

Kirjoitin ensin aineiston MapInfo TAB:iksi, ja tulos on haluttu, kun tarkastelen AdministrativeUnit.tab:ia.

Kuntarajat MapInfo TAB:ina.

AdministrativeUnit-kohdeluokka MapInfo TAB:ina.

Muita testaamiani formaatteja olivat KML, PDF ja DWG, joilla tulos olisi myös halutunlainen.

MML:n kuntarajojen vienti XML:stä eri formaatteihin osoittautui mielestäni varsin käteväksi.