Miks ma ehitasin XGIS-ile kõrvale oma kaardi
Mul tuleb lähiajal Tallinna Tehnikakõrgkoolis tudengitele rääkida, mis on GIS ja kuidas seda kasutada. Esimene pool on lihtne. Teine pool jäi kõrva kriipima: kuidas seda kasutada. Sest kui aus olla, siis Eesti projekteerija ei kasuta GIS-i. Ta avab XGIS-i, vaatab, ja joonistab siis krundi piiri käsitsi ArchiCADi ümber.
See postitus on sellest, kust mõte tuli, mida ma ehitasin ja mida see teeb teisiti kui Maa-ameti enda kaardirakendus. Ette öeldult: eesmärk ei ole XGIS-iga konkureerida ega seda maha laita. XGIS pakub kõike sama, mida minu tööriist, ja andmed on needsamad avalikud teenused. Erinev on üks samm nende andmete ja projekteerija joonise vahel.
§01 — LÄHTEKOHTKõik on olemas, aga mitte ühe failina
XGIS on aus töö. Kitsendused, ETAK-i topograafia, kataster, planeeringud, ortofoto, hoonete 3D mudel. Kõik on seal ja kõik on tasuta. Kui küsimus on „mis on selle krundi peal", saab XGIS-ist vastuse.
Projekteerija küsimus on aga teine: „mis mu krunti piirab ja kuidas ma selle oma joonisesse saan". Väljundformaadid on XGIS-il olemas. Mis meie kogemusel puudu on, on võimalus saada kõik erinevad kihid kiirelt ja tõhusalt ühe DXF-failina. Praegu tuleb iga kihi kohta teha eraldi salvestus, ja iga salvestus lähtub sellest, mis parasjagu ekraanil on. Kui vaade on vahepeal liikunud või suurendus muutunud, ei pruugi need failid omavahel kokku langeda, ja need nihked on täpselt see, mida projektis ei taha. Katastripiir tuleb ühest kohast, kitsendused teisest, teises koordinaatide järjestuses, teise failina. Tulemus on see, et enamik büroosid joonistab olulisema osa uuesti käsitsi, ortofoto pealt hinnates.
Tudengile ei saa seda õpetada „kasutamisena". See on ümberjoonistamine.
§02 — MÕTEPeegel, mitte konkurent
Idee sündis sellest lõhest. Kui andmed on avalikud ja teenused olemas, siis puudu on ainult viimane samm: võtta valitud ala kohta kõik kihid korraga, viia nad ühte koordinaatsüsteemi, panna projekteerijale arusaadava kihistruktuuriga ühte DXF-i ja lisada kõrvale raster samas raamis. Alad ja jooned genereeritakse andmebaasist L-EST97 ruudustiku baasil vektoritena, nii et fail kinnitub alati samasse kohta riiklikus koordinaatsüsteemis ja projekteerija saab selle otse oma projekti alla tõsta.
Tööriist peegeldab XGIS-i tahtlikult. Samad allikad, sama sisu, sama ala. Ta ei tee kaardiandmeid paremaks, sest ta ei saagi seda teha. Ta teeb lihtsamaks selle, mis juhtub pärast kaardi vaatamist. Vaatur ise on tehtud lihtsamini navigeeritavaks: peaks olema ühe pilguga selge, mis kihid on sees ja mis mitte. Ja sest see on ühe konkreetse sammu tööriist, saab seda tagasiside peale muuta päevadega. Kui arhitekt ütleb, et kihinimi on tema jaoks vale, on see järgmisel nädalal teistmoodi.
§03 — VALIKRuudud, mitte vaba joonistus
Esimene otsus on ala valimine. Kasutaja ei tõmba hiirega vaba kujundit. Ta valib L-EST97 ruudustikust ruute, tasemetel 50, 100, 500 ja 1000 m. Ruudustik on riiklik ja püsiv, nii et valik ei sõltu sellest, kuhu kaart on keritud või kui palju sisse suurendatud. Valik ei pea olema ristkülik: krundi ümber saab L-kujulise ala või ainult need ruudud, mis päriselt huvitavad.
Igal ruudul on püsiv tunnus, näiteks 542150-6588400-50: edelanurga koordinaadid ja ruudu suurus. Sellest tuleb kaks asja tasuta. Valikut saab kolleegile saata lingina ja eelmise kuu eksporti saab korrata täpselt sama alaga, sest eksport ongi lihtsalt ruutude nimekiri.
Vektorandmed lõigatakse täpselt valitud ruutude piirini. Raster on alati valikut ümbritsev ristkülik, sest DXF-is on suvaline kuju sama lihtne kui ristkülik, aga pildil ei ole. Valiku piir ise läheb eraldi kihile, et joonisel oleks näha, kust andmed lõpevad.
§04 — KIHIDStruktuur, mida saab projektis hallata
Teine ja tegelikult tähtsam otsus on kihistruktuur. XGIS-i kihinimed on andmebaasi nimed. Projekteerija vajab jooniskihte, mida saab sisse ja välja lülitada, värvida ja mallina hoida.
Tööriist nimetab kihid EVS 907 loogika järgi: projektiosa tunnus, elemendi nimi, geomeetria sufiks. Elektri kaitsevöönd on AA-KITSENDUS-ELEKTER-A, tee telg lõpeb -J-ga, punktobjekt -P-ga ja siltide tekst on omaette -T kihil. Täpitähed on maha võetud ja tühikuid ei ole, sest need lõhuvad iga teise CAD-i kihifiltri.
Praeguse seisuga on registris 30 kihti viiest avalikust teenusest: kitsendused, ETAK, kataster, planeeringud ja hoonete ruumimudel. Kihi lisamine on konfiguratsioon, mitte koodimuudatus. Kui keegi ütleb, et vaja on veel muinsuskaitse kihti, on see üks definitsioon registris.
§05 — TÄPSUSKus „sama andmed" ei tähenda sama tulemust
Siin on koht, mille pärast ma seda üldse blogisse kirjutan. Avalikud teenused annavad samad andmed kõigile, aga nende kokkupanek on täis vaikseid lõkse, mis annavad õige välimusega vale faili.
- Sama EPSG:3301 juures tahab üks Maa-ameti server koordinaate järjekorras ida-põhi, teine põhi-ida. Vale järjestus ei anna viga. Ta annab tühja vastuse.
- GDAL-i DXF kirjutaja kirjutab vaikimisi ühikuks tollid, mõõdustikuks imperiaalse ja polügonid viirutusena. Fail avaneb ja näeb korras välja. Katastripiir on viirutus tollides.
- Ilma korraliku faili lõputa kaob DXF-ist tagasi lugedes viimane objekt. Vaikselt. N objekti sisse, N miinus üks välja.
Ükski neist ei ole XGIS-i viga. Need on põhjus, miks „lae WFS-ist alla ja konverteeri" ei ole töövoog, mida tudengile või büroole soovitada. Tööriistas on iga selline eeldus kaetud kontrolliga ja iga eksport tuleb koos kontrollaruandega, mis ütleb, mis allikast, mis kuupäevaga ja mis litsentsiga andmed tulid, ning mis kihid jäid katmata. Rastri nurk ja DXF-i ümbrise nurk peavad langema bitthaaval kokku. See ei ole eeldus, see on kontroll.
Andmed on samad, mis XGIS-is. Erinevus on selles, et kõik kihid tulevad ühe failina, L-EST ruudustikku kinnitatult, ja iga rida selles failis on kontrollitud.
§06 — KELLELEArhitektile, planeerijale, tudengile
Rakendust võib kasutada igaüks, kellel on vaja avalikke ruumiandmeid oma joonisesse saada: arhitekt, planeerija, insener, tudeng. Tagasiside jõuab koodi otse ja kiiresti. Kui arhitekt ütleb, et tal on vaja kaitsevööndi laiust atribuudina, mitte ainult joonena, on see üks registririda ja üks test.
Tudengitele sobib see loengumaterjaliks sellepärast, et ta lõpeb failiga, mille nad saavad ArchiCADi või Revitisse avada ja edasi töötada. GIS-i „kasutamine" muutub siis konkreetseks: vali ala, vali kihid, saad joonise, ja kontrollaruanne ütleb, kui palju sa seda usaldada tohid.
Järgmine samm on koordinaatide sisestamine geodeetiliste mõõdistuspunktide baasil, et ala saaks valida ka ilma ruudustikuta, otse mõõdistuselt. See on veel tulevikumuusika.
Rakendus on üleval aadressil kaart.3dlab.ee. Siinkohal ootame tagasisidet ja ideid: mis aitaks projekteerimist ja analüüsi päriselt paremaks teha? Kui proovid ja midagi on puudu või valesti, ütle. See on kogu mõte.