Kaardimootorite tarkvara

Raivo Rebane

1.Sissejuhatus

Piiratud aja tõttu ei ole võimalik koostada ülevaadet või üldistust. Kirjeldan vaid kuidas R-Süsteemides, kes on üks ENSV-s väljakujunenud automatiseeritud juhtimissüsteemide (AJS) koostamise traditsioone jätkata püüdvatest ettevõttetest, on lahendanud kartograafiaga seostuvaid probleeme.

Automatiseeritud juhtimissüsteem on süsteem, kus inimene ohjab protsesse otseselt —reaalses ajas — aparaatide abil so. juhtimisotsused võtab vastu ja realiseerib inimene (dispetšer). Sellistes süsteemides on üpris oluline, kuidas toimuvast informatsiooni inimesele edastada, sest juhtimisotsuste vastuvõtmiseks peab dispetšeril toimuvast kiiresti “pilt ette tulema”. Kusjuures “pilt ette tulema” ei tähenda seda, mida inimene silmaga näeb vaid seda millest ta aru saab.

Kuna oleme kaarte kasutanud mitmetes rakendusprogarammides, siis on ajapikku välja kujunenud programne moodul digitaalkaartidega manipuleerimiseks, mida nimetame kaardimootoriks (võrreldav ESRI tootega MapObjects, kuid töötab UNIX operatsioonisüsteemi dialektidega: Linux, Sun-OS).

Kaardimootori jaoks olulised daatumid:

1994   Radarite analüüsi töökoht (skemaatilised kaardid)
1996   Meremõõdistustarkvara - Mapper
1999   GIS teenuseid pakkuv tarkvarakomplekt: (kaartide redaktor, esitusviiside redaktor ja interneti kaardiserver) - R-Mapper


2. 1994.aasta kaardimootor.

Probleem

Rootsi firma CelsiusTech teostas Riia Lennujuhtimiskeskuses lennuliikluse dispetšersüsteemi moderniseerimist. Meie ülesanne oli liidestada uus süsteem olemasolevate NSVL-is toodetud radaritega.

Liidestamisega kaasnes ka radarite poolt väljastatava info täiendav statistiline töötlus. Kaasaegsed radarid väljastavad märgiteateid, mis sisaldavad avastatud objektide koordinaate radari asukoha suhtes. Üks võimalikest töötlusviisidest oli erinevate radarite märgiteadete agregeerimine ehk multiradar trasseerimine. Agregeerimiseks tuli konkreetse radari poolt leitud koordinaadid teisendada geo-koordinaatsüsteemi.

Nii radarite töö, kui ka töötluse hindamiseks tuli radari hooldusinsenerile esitada infot üheselt mõistetavas taustsüsteemis. Selleks ei kõlvanud seni kasutatavad radari asukohast lähtuvad samakaugusringid. Taustaks tuli esitada geograafilist ja navigatsiooniinfot.

Lahendus

Koostasime tarkvaramooduli, mis mõningate geograafiliste ja navigatsiooni-objektide geokoordinaatide järgi, samade teisenduste alusel (Gauss-Hannoveri projektsioon) kui radari poolt avastatud objektid, joonistas ekraanile nendele objektidele vastavad geomeetrilised kujundid.

Kokkuvõte

Lahenduses kasutatavaid andmeid geograafiliste ja navigatsiooniobjektide kohta võib nimetada elektrooniliseks kaardiks.

Kuigi need andmekogumid sisaldasid vaid:

  • geomeetriliste kujundite kirjeldusi ja
  • teostatavad operatsioonid olid operatsioonid geomeetriliste kujunditega
siiski
  • neile rakendati projektsiooniteisendust ning
  • süsteemi kasutaja sai neist aru kui geograafilistest objektidest,

seega oli kaart kaardimärkide kogum, mitte midagi rohkemat.


3. 1996.aasta kaardimootor.

Probleem

Koostöös Tehnikaülkooli Raadio- ja sidetehnikainstituudi töötajatega hakkasime koostama meremõõtmiskompleksi. Meie ülesanne oli mõõtmissüsteemi integreeriva tarkvara koostamine.

Meremõõtmisprotsessi planeerimiseks ja operatiivseks juhtimiseks oli vaja esitada hüdrograafile ja laevajuhile taustinformatsiooniks olemasolevate elektrooniliste merekaartide kujutisi.

Siinkohal tahaks märkida, et meresõidu tehnoloogia on viimaste aastatega seoses GPS-ide ja arvutite arenguga oluliselt muutunud, seades uusi nõudmisi meresõidukaartidele. Uued kaardid peaksid võimaldama automaatset või automatiseeritud navigeerimist teha ohutult. Selleks peaksid:

  • kaardiandmed olema kvaliteetsemad,
  • kaardiandmete vahetus/edastus täpsem ja
  • kaardiandmete esitus üheselt mõistetav.

Lahendus

Eesti Veeteede Ameti digitaalkaartide koostamise süsteem eksportis kaarte IHO (International Hydrographic Organization) poolt koostatud “Hüdrograafiliste andmete vahetuse standardi” — S-57 — alusel. Nimetatud standard koosnes sel ajal andmete kontseptuaalsest mudelist (Theoretical Model), hüdrograafiliste objektide ja nende atribuutide määrangutest (Object Catalogue) ning vahetatavate andmete vormistamise määrangust (DX-90).

Merekaardi andmete esitamine oli määratletud sama organisatsiooni teise standardiga — S-52, mille ingliskeelne nimetus on "Specifications for Chart Content and Display Aspects of ECDIS”.

Kuna sel ajal oli digitaalkartograafia, mitte ainult meie, vaid ka Veeteede Ameti jaoks, uus nähtus, oli kasutatav informatsioon dokumentide näol üpris lünklik. Andmete kontseptuaalse mudeli kirjeldusena kasutasime 1992.a dokumendis SP-57 (S-57 eelkäija) olevat kirjeldust, objektide kataloogi saime 1993.a. dokumendist “IHO TRANSFER STANDARD for DIGITAL HYDROGRAPHIC DATA (S-57 version 2)” A osast ning kodeerimise kirjelduse B osast.

Kontseptuaalne mudel, mida me kasutasime, määratles mõiste — hüdrograafilise situatsiooni mudel (hydrographic situation model), kui hüdrograafiale huvi pakkuvad kahedimensionaalsed temaatilised/topograafilised reaalse maailma komponendid.

Situatsioonimudel ei sisalda endas informatsiooni esituse reeglite kohta ega esituses kasutatavate märkide kohta. Kaardi esituse määrab esitusmudel, mis on seostatav situatsioonimudeliga ning mille järgi saab koostada kaardipilti.

Seega standard S-57 määratleb hüdrograafiliste andmete koostamise reeglid (semantika) ja standard S-52 hüdrograafilistest andmetest kaardipildi joonistamise reeglid (süntaksi).

Situatsioonimudel koosneb objektidest, mis määratluse järgi on komposiitobjektid — objektid, mis koosnevad kahest erinevat tüüpi objekti(de)st:

  • olemobjektist (feature object) ja
  • ruumilis(t)est objekti(de)st (spatial objects).

Ruumiline objekt võib ka olla komposiitobjekt, kuid ta võib koosneda vaid teistest ruumilistest objektidest.


Joonis 2

Esitusmudel koosneb värvide, fontide, joonetüüpide, mustrite (pattern) ja sümbolite formaliseeritud kirjeldustest ning reeglitest, kuidas situatsioonimudeli objekte kujutada (look-up table).

Näiteks: BUAARE tüüpi situatsiooniobjekt, mille määratlus on ehitistega kaetud ala koos teede infrastruktuuriga. Kui teda kirjeldav atribuut CATBUA, mis määrab ehitiste klassifikatsiooni, omab väärtust - 1, siis on tegemist linnaalaga ning tema joonistamise algoritm on:

AC(CHBRN);TX(OBJNAM,1,2,3,'U5110',0,0,CHBLK);LS(SOLD,1,LANDF)

See tähendab, et täidetakse käsud:

  • AC(CHBRN), millega värvitakse alatüüpi objekti punktidest moodustatud polügoon värvikirjeldustes määratletud värviga CHBRN;
  • TX(OBJNAM,1,2,3,'U5110',0,0,CHBLK), millega kirjutatakse sinna peale objekti nimi, mis on määratletud objekti attribuudiga OBJNAM, kasutades selleks värvikirjeldustes määratletud värvi CHBLK ning kümnepunktist fonti Univers. Teised TX protseduuri parameetrid täpsustavad kirjatüüpi, joondamist ning positsioneerimist;
  • LS(SOLD,1,LANDF), millega tõmmatakse polügooni punktide vahele ühikulise jämedusega LANDF värvi SOLD tüüpi joon.

Selline digitaalkaartide määratlus avaldas muljet ning tema paindlikus lubas eeldada küllalt laia kasutusvaldkonda, seetõttu võtsime standardi uue kaardimootori kontseptuaalse disaini aluseks.

Ainus mida kaardimootori koostamisel eirasime oli võimalus hoida ruumilisi objekte komposiitobjektidena. Põhjuseks oli selle aja arvutite (Intel 486, Pentium 66MHz põhised) töökiirus ja soov toetuda standardsele X-Window System graafikaliidesele. Kaardipilti tuli aga esitada laeva liikumise ajal ning polnud soovitav jätta laevajuhti mitmeks sekundiks kaardipildita. Seega kaardi teisendusel DX-90 andmevahetusformaadist kaardimootori tööformaati kogusime kõik olemobjektiga seotud ruumipunktid kokku ühe olemobjektiga seotud ruumilise objekti kirjeldusse.

Kokkuvõte

1) Koostatud kaardimootor suutis situatsioonimudelist, mis koosnes kuni 6 900-st situatsiooniobjektist ning milles oli ruumipunkte kokku 89 000, kaardipildi kuvada ajaga maksimaalselt alla 2 s., keskmiselt alla 1 s.

2)Selle kaardimootori versiooni hädaks oli redigeerimisvõimaluste puudumine. Üks ruumiline objekt võib kuuluda erinevate situatsiooniobjektide koosseisu, meie aga moodustasime uued ruumilised objektid punktide kopeerimise teel. Seega ühe situatsioonibjekti ruumilise kuju redigeerimine ei oleks mõjutanud teiste objektide kirjeldusi. Näiteks: situatsiooniobjektide: rannajoon, 0-sügavusjoon, asustatud ala koosseisu võivad kuuluda samad ruumilised objektid. Kui nendest ühe ruumilist kirjeldust muuta, peaksid muutuma ka teised, et säiliks ruumilise kirjelduse korrektsus. Ruumiliste objektide punktide kopeerimisel pole seda aga võimalik tagada.

1997.a. lõpus võttis Veeteede Amet kasutusele samade standardite S-57 ja S-52 versioonid nr. 3. Uues versioonis muutusid objektide tüübid ja nende atribuudid. Mitte küll oluliselt, aga tuntavalt s.o. paarkümmend objektitüüpi. Veel täiendati situatsiooniobjektide kirjeldust unikaalse identifikaatoriga, mis koosneb kahest atribuudist: organisatsiooni kood ning objekti kood, mis situatsiooniobjektile selle organisatsiooni poolt antakse. Kaardimootori modifitseerimine töötamiseks uue versiooni kaartidega nõudis ~ 1,5 inimkuud, millest valdava osa moodustas andmevahetusformaadis andmete teisendamine tööformaati, kuna uues versioonis kasutati ISO8211 faili kodeerimisel ASCII kodeeringu asemel sama standardiga määratletud binaarset kodeeringut. (ISO8211 on ISO abstraktsete andmete vahetuse standard)

Kui võrrelda seda töömahtu kaardimootori koostamise töömahuga, mis oli ~ 40 inimkuud, võib kaardimootori paindlikust pidada heaks.


4. 1998-1999.aasta kaardimootor.

Probleem

1) Vahepealsete aastatega on kogunenud digitaalkaartide rahvusvahelise standardiseerimise materjale. Enam-vähem täielik on S-57 kirjeldus ja USGS poolt koostatud Spatial Data Transfer Standardi (SDTS) kirjeldus. Need kaks standardit on sarnase ülesehitusega. Kumbki neist ei kirjelda otseselt situatsiooniobjekte, vaid andmevahetuse formaate. Situatsiooniobjektide täpne kirjeldus ei ole standardi osa, vaid on ise andmed, nn. meta-andmed ehk andmed admete kohta, mille edastamise viis on standardiga määratletud. (Seega sisaldavad need standardid mõisteid kaks taset kõrgemal, nad on konkreetsete kaardiandmete suhtes meta-andmete kirjeldused)

Metaandmed jaotatakse kahte gruppi - konkreetset andmekogumit kirjeldavad andmed ja andmesõnastik (data dictionary).

Konkreetset andmekogumit kirjeldavad andmed on:

  • geograafilist koordinaatsüsteemi kirjeldavad,
  • projektsiooni kirjeldavad,
  • andmete täpsust jne. kirjeldavad andmed.

Need andmed on erinevates standardites defineeritud erinevalt.

Andmesõnastiku määratlus on aga suhteliselt täpne ning ta koosneb:

  • objektide ja atribuutide nimede kirjelduses (DDDF - data dictionary definition)
  • atribuutide väärtuste muutumispiirkonna kirjeldusest (DDOM - data dictionary domain)
  • objektide ja atribuutide vaheliste seoste kirjeldusest (DDSH - data dictionary schema)

Sarnase ülesehitusega peaks olema ka NATO-sisene andmevahetuse standard DIGEST, kuid kuna ta on militaarstandard, siis tema kirjeldus pole avalik.

2) Senini olime situatsioonimudelina kasutanud hüdrograafia situatsioonimudelit, mis koosnes hüdrograafiale huvi pakkuvatest kahedimensionaalsetest temaatilistest/topograafilistest reaalse maailma komponentidest. Kuna situatsioonimudeli ehituse määrab põhiliselt andmesõnastik, siis erinevate andmesõnastike kasutamisega saab koostada situatsioonimudeleid ka teiste ainevaldkondadele tarbeks (näiteks tehnoloogilisi kaarte ja skeeme). Nii oleks võimalik esitada hüdrograafilise või geograafilise info taustal tehnoloogilist informatsiooni (näiteks sündmusi ja olekuid tehnovõrkudes).Tuleb koostada vaid vastava valdkonna jaoks andmesõnastik ning esitusmudel.

3) Situatsioonimudelit kasutavad digitaalkaardid kujutavad endast GIS andmebaasi. Nendes võib lisaks temaatilistele päringutele teha ka temaatilis/ruumilisi päringuid, mille vastuseks võib olla kaardipilt. Vastus päringule võib koosneda seega tekstilisest ja pildilisest infost. Selliste vastuste esitamiseks sobib hästi HTML vorming, mis võimaldab esitada nii graafilist infot kui tekstilist infot. Seega kaardimootori võimaluste avardamiseks peaks lisaks kaardipildi kuvamisele olema võimalus vormistada seda GIF failina.

Lahendus

Tekkinud probleemide ja püstitatud ülesande lahendamiseks tuleb seega: 1) koostada kaardimootor, mis võimaldaks:

  • situatsioonimudeli redigeerimist ,
  • töötaks mitme erineva situatsioonimudeliga (andmesõnastikuga) ja
  • joonistaks GIF faili.

2) uue kaardimootori peale koostada:

  • kaartide redaktor
  • esitumudeli redaktor
  • Interneti kaardiserver

3) koostada eksport/import konverterid avalike andmevahetusformaatide SDTS, DXF ja “ESRI shape file” jaoks.

Kaardimootori uue versiooniga alustasime 1998.a. kevadel. Tänaseks töötab ta uute andmestruktuuridega, mis võimaldavad situatsiooniobjektide redigeerimist. Osaliselt on lisatud andmesõnastike toetus. Valmimas on GIF-i väljund.


Rakendustarkvarast

Kuna kaardimootor sisaldab endas kõiki situatsiooniobjektide redigeerimise funktsioone, kujutab kaartide redaktor endast kaardimootori kasutajaliidest. Redaktori, mille First etapp on valmis, projekteerimisel oli ülesande püstituses järgmised nõuded - peab olema võimalik:

  • avada suvaline hulk redigeerimiaknaid,
  • avada aknaid tööjaama mitmel erineval monitoril,
  • avada aknaid võrgu teiste tööjaamade monitoridel (rühmatöö toetus).

Esitumudeli redaktor, mille First etapp on ka olemas, kujutab endast värvide, joonetüüpide, mustrite (pattern) ja sümbolite kirjelduste andmebaasi ning joonistusreeglite (look-up table) redaktorit, kus tehtud muudatusi võib kohe vaadata graafiliselt.

Interneti kaardiserver koosneb mitme kasutaja pöördumist (sünkroniseerimist) realiseerivast pealisehitusest GIF-e joonistavale kaardimootorile ning CGI programmist, mis vahendab HTTP serveri päringuid kaardiserverile. CGI on koostatud nii, et võimalik oleks talle ette anda veebilehe kujundust ehk baasveebilehte. Baasveebileht erineb tavalisest veebilehest vaid selle poolest, et ta sisaldab mõningates URL väljades kaardimootori käske. See võimaldab interneti kaardiserveri poole pöörduvate veebilehtede loomisel vabalt kasutada veebilehtede koostamise jaoks loodud programme.

Nagu eelmisegi kaardimootori koostamisel pole ka nendel töödel otsest tellimust ja finantseerimist. Töö toimub R-Süsteemide ressursside baasil. Sellega kaasneb tähtaegade puudumine ja töö venimine.


5. Kokkuvõte

1) R-Süsteemide profiiliga määratletud rakenduste koostamiseks vajalike omadustega GIS baasvahendite komplekt puudub. Olemasolevate vahendite töökiirus, funktsionaalsus, paindlikus ja komplektsus ei ole piisav GIS võimaluste kasutamiseks automatiseeritud juhtimissüsteemide koostamisel. Sobivad baasvahendid tuleb ise luua arvestades olemasolevaid ja lähiajal valmivaid rahvusvahelisi standardeid.

2) Olemasolevad standardid võiks jaotada:

  • suurte firmade poolt kasutatavateks failiformaatideks, mille struktuuri firmad ei soovi konkurentsi huvides avalikustada (nii nagu meiegi ei taha avaldada oma tööformaati, sest andmete hoidmise viisist sõltub süsteemi effektiivsus ja töökiirus).
  • rahvusvaheliste organisatsioonide poolt loodud GIS-ide andmevahetusstandarditeks, kus igal tasemel on kõik mõisted ja formaatid täpselt määratletud.

On tõenäoline, et nii nagu hüdrograafiliste andmete puhul, kus enne S-57 ja S-52 tulekut täitsid andmevahetuse standardi aset firmade (näiteks C-Map) failiformaat, nii ka teistes valdkondades hakkavad rahvusvahelised standardid firmade salastandardeid (propriety standard) asendama. See oleks asjade loomulik käik.

Rahvusvahelised standardid ei tekki aga kuude või aastaga. Võiks arvata, et nii nagu maailma mõistmine pidevalt täieneb, nii peavad pidevalt muutuma ka standardid. Näiteks S-57 oli külmutatud kaheks aastaks alates märtsist 1993, siis oli kuus kuud kommenteerimiseks avalik ning on praegu alates novembrist 1996 taas 4 aastaks külmutatud.

3) Eestis on võimalik üsna edukalt koostada mitte ainult GIS tüüpi süsteeme, vaid luua ka nende koostamiseks vajaliku baastarkvara. Kuna GIS süsteemid on tõenäoliselt oma arengu alguses ja nende koostamise põhimõtted (kontseptsioonid) muutuvad seetõttu kiiresti, oleks mõistlik baasvahendite koostamisega kohe alustada. Nii ei jääks me sõltuma GIS vahendeid tootvate firmade arengust, poliitikast ja hindadest. Samuti oleks siis rohkem põhjust osaleda rahvusvahelises standardiseerimistegevuses Kuid kui neid luua vaid ühe väikeettevõtte resursside baasil, siis võib baasvahendite koostamise protsess venida või hoopis takerduda.