REŠITVE B Uporaba standarda LandKML in razširitev PmcKML Matej Gomboši. Borut Žalik Fakulteta za elektrotehniko, računalništvo in informatiko. Univerza v Mariboru, Smetanova 17, 2000 Maribor Danijel Rebolj Fakulteta za gradbeništvo. Univerza v Mariboru, Smetanova 17, 2000 Maribor matfij.gumbosi@uni-mb.si, zatik@uni-mb.si, rebolj@uni-mb.si Izvleček Standard LancfXML predstavlja razširijiv jezik XML za potrebe informatizacije na področjih gradbenega inženirstva in izmenjave podatkov predvsem v procesih gradbene in transportne industrije Omogoča prenos podatkov med ponudniki in uporabniki ter ponuja podatkovni format za dolgoročno shranjevanje ter standardni format za elektronsko posredovano načrtovanja. LandXML nmogoča opis prostorskih elementov, kot so cesta, parcela, model terena, ter njihove spremljajoče infrastrukture. Za naše potrebe smo shemo standarda LandXML razširili z dodatnimi elementi in tako dobili razširjeno shemo PmcXML. Abstract The Usage of Standard LandXML and the Extention PmcXML Standard LandXML represents an extensible XML language. It was designed for informatization of civil engineering and survey data used in construction and transportation industries It enables transfer of engineering data between suppliers and users and provides a format suitable lor long term archiving and a standard format for electronic exchange of design data. LandXML enables description Of spatial elements as roads .parcels, digital terrain models including accompanying infrastructure. We extended LandXML specifi cation with additional elements to obtain a new specification named PmcXML. 1 Uvod LandXML je zasnoval Autodesk decembra 19S9 hot industrijsko podprti odprti standard HML za izmenjavo prostorskih podatkov (Kuamme 1997). S tem se je približal potrebam gradbenikov, geodetov, razvijalcev programske in strojne opreme in ponudnikov storitev s področja geografskih informacijskih sistemov (GIS). Prua shema standarda LandXML je bila izpeljana iz predhodnega standarda EAS-E (Engineering and Surveying - Exchange] za izmenjavo podatkov v formatu ASCII. Strukture podatkom v standardu LandXML omogočajo: • prenos prostorskih podatkov in meritev med izvajalci in uporabniki, . podatkovni format za dolgotrajno shranjevanje podatkov, • standardni format za uradno elektronsko poslovanje. Podatki LandXML se lahko uporabljajo tudi kot (LandXML 2002)1 ■ osnova za ocenitev stroškov in zagona projektov, ■ osnova za izračune in poročila po meri uporabnika, • izmenjava podatkov i/ merilnih naprav, • format za iskanje in dodajanje informacij v baze GIS, • standard za prenos inženirskih podatkov ined različnimi aplikacijami. V letu 2002 je precej računalniških programov (Microsoft Office, AutoCAD) ter baz podatkov (Microsoft SQL 2000, IBM DM RS in Oracle) privzelo standard LandXML in s tem tudi vse podprte značilnosti. LandXML je specializiran XML format (LandXML 2002) za prostorske podatke, ki se na ta način lahko uporabljajo na različne načine v poslovnih in tehničnih aplikacijah in bazah podatkov, ki podpirajo XML. V prispevku bomo opisali uporabo standarda LandXML in njeno razširitev za opis modela ceste. 2 Osnouna shema LandKML LandXML v svoji najnovejši ver/.iji temelji na shemi standarda XML konzorcija W3C (World Wide Web Consortium). Podatki XML so organizirani z uporabo sheme XML (Marcha) 2000), ki je standard W3C za opis podatkovnih struktur in tipov podatkov v formatu XML (Birbeck 2001, St. Laurent 1998). 2003 - številka 1 - letnik X! uporabna INFORMATIKA 47 Matej Gombosi, Bnrut Žalik, Danijel Rebolj Uporaba standarda LandXML in razširitev PmeXML LandXML opisuje prostorske podatkovno strukturo kot so morski sistem, podatki o točkah, geometrija cest, geometrija parcel, podatki meritev na terenu in podobno. Spodnji primer prikazuje preprost dokument LandXML, ki opisuje parcelo. cProject name="subdivision7> clmperial linearUnit="fcot" a reaU n i t="sq u are Foot" vclumeUnit=*eubicYard7> e/l)nits>
3144.170572 2097.339412
cLine length="142 8500"> 3221 037433 2253m42ia 3297 903320 2132.66Q352 2987.138471 1988.824807 2707.150400 1986,240192 2979.887278 2049.601027 V tem primer» lahko enostavno najdemo podatke o projektu, uporabljene merske enote, informacije o programu, ki je ustvaril podatke, in podatke o parceli. Vendar pa LandXML ne opisuje samo točk. Tabela 1 prikazuje podatkovni model sheme LandXML na najvišjem nivoju: V tabeli 1 in v prikazanem primeru vidimo, da LandXML ne določa, kako naj točke, črte, parcele ali drugi elementi izgledajo na prikazovalniku. Podatke prikažemo s pomočjo aplikacije, ki jo uporabljama LandXML vključuje vse prednosti standarda XML: ■ standard podpira VV3C, ■ postaja standardni metajezikza prenos podatkov v računalniški industriji, • je objektno orientiran in s tem podpira aktualne programske koncepte, • je čitljiv in • je razširljiv. Z uporabo XML za opis LandXML dobimo samostojne podatke, ki ne potrebujejo dodatnega opisa. To pomeni, da so sami podatki uporabni tudi zunaj konteksta aplikacije, ki ¡ih je kreirala. To omogoča Projekt Ime in opis projekta CoordinateSystem Kartezijski a (i georeferertčoi koordinatni sistem Units Dolžinske, kotne in ploSCinske enote CgPnmts Zbirka točk geometrije Survey Zbn-ka podatkov m parametrov i z meritev Parcels Parcele Alignments Zbirka podatkov za cestne osi PipeNetwurks Zbirka podatkov o omrežjih Coord Genrn UrH|en seznam geometrije [črte. krivulje, spirale) C rasaSect Prefini prerezi PI anFeatures □roge značilnosti načrta (ograje, drevesa, svetilke) Surfaces E temen ti za opis modela površja Tabela 1 Shema LandXML na najvišjem nivoju dobra strukturiranost in preglednost XML jezika. Tako se podatki v drugih aplikacijah iah ko uporabijo in prikažejo na različne načine. 3 PmcXML Tri računalniškem opisovanju cest bi radi pogosto opisali ne samo osnovne podatke o cesti, ampak tudi podatke o spremljajočih objektih, kot so zidovi, mulde, nosilci ipd. Za opis cest in pripadajočih objektov smo v sodelovanju s Centrom za gradbeno informatiko na Fakulteti za gradbeništvo Univerze v Mariboru razširili shemo standarda LandXML in jo poimenovali PmcXML 3.1 Predstauiteu modela Shema PmcXML predstavlja nadgradnjo sheme LandXML. V obstoječi shemi LandXML namreč ni strukture, ki bi celostno opisovala 3D elemente ceste, f'ri tem mislimo na objekte, ki se vzdolž ceste pojavljajo v večih prečnih presekih in so v LandXML predstavljeni kot množica nepovezanih elementov prečnih presekov. Slika t kaže primer ceste in dveh sten (wall), ki sta postavljeni vzdolž osi ceste (axis). Vidimo, da se obe steni pojavljata v več prečnih prerezih. Objekt predstavimo kot množico povezanih elementov prečnih presekov. Slika 2 kaže primer prečnega prereza na poziciji n iz slike l. Za opis novih struktur v shemi PmcXML smo morali uvesti nekaj novih pojmov v shemo LandXML: i Novi element Object3D. Ta predstavlja posamezni 3D element ceste. 48 upoflibha informatika 2003- ilavilka 1 -letnik XI Mate; Gomboši. Borut Žali k. Danijel Rebolj: Uporaba standarda LandXML In razširitev PmcXML zid 1 -t* V Stika 1 Tloris cestnega odseka crossed ion n Silks 2 Prečni prerez cestnega odseka . Novi element Object3DT\/pe. Ker so elementi tipizirani, jih lahko s pomočjo vnaprej definiranih tipov laže klasificiramo. S tem tudi enostavno opl-Semo podatke o posameznem tipu objekta. ■ Integracija novih elementov v shemo LattdXML. Nove elemente je bilo treba skladno s pravili LandXML uvrstiti na ustrezna mesta v obstoječo strukturo, da hi omogočili Čim boljšo in enostavnejšo integracijo. Poglejmo sedaj naštete spremembe v zgradbi sheme LandXML. Na sliki 3 sta prikazani obe shemi (levo LandXML, desno PmeXML). Obe shemi sta okrnjeni samo na osnovne elemente, koristne /a ponazoritev razlik. Spremembe smo izvedli tako, da ¡e nadgradnja LandXML v OmcXML čim bolj smiselna. Na sliki smo prikazali samo podatke o osi ceste (Alignment) in podrejenih podatkih, ker le v tej strukturi pride do sprememb. Kot je razvidno iz slike, smo na najvišjem nivoju dodali element Object3DTypes, ki predstavlja seznam za elemente Object3DType. Ta element se lahko uporablja v vseh strukturah Pmc-XML, zato je zaradi dostopa uvrščen na vrh sheme. To pomeni, da se lahko elementi določenega tipa pojavljajo v različnih oseh ceste. <0bject3DTypes> <0bject3DType name="tip 1' points=*107> <0bject3DType name="tip 2" poinls="6"/.--eObjectSDType name="tip 3" poinls="57> Vsak Object3DType ima svoj identifikator, prek katerega se Object3D sklicuje nanj. Ta identifikator je shranjen v obliki parametra v enem in drugem elementu in nam predstavlja glavni ključ za povezovanje elementov Object3D in Object3DType. Drugi novi element je Object3D, ki se tudi nahaja znotraj seznama Objects3D. Vsak objekt je vezan na določeno cesto oz. njeno os in je zato dodan v shemo pod os ceste. Vsaka cesta tako ima lahko svoje objekte (3D elemente), pri tem pa en objekt ne more pripadati več cestam. Ta element ni eksplicitno zapisan v datoteki, ampak je shranjen s pomočjo identifikatorjev znotraj ploskev v prečnih prerezih. < Alignments > <0bjeets3D> <0bjea3D itarne="Dbjekt3D 1" type-'ti p 1" materiah "concrete" connected-"ye s7> Tako kot cesta sama ima tudi vsak 3D objekt prečne prereze. Za vsako ploskev v prečnem prerezu se prek identifikatorja poda objekt, kateremu le-ta pripada. Na ta način natančno vemo, v katerih prečnih prerezih se pojavlja določen objekt in ga zato tudi ni težko prebrati iz datoteke. Kot lahko vidimo, se dejanski podatki o objektih shranijo v enem najnižjih nivojev sheme PmcXML 3.2 Implementacija Za zapis podatkov v PmcXML smo napisali funkcije, ki sprejmejo ustrezne podatke o cestnem modelu in jih sproti zapisujejo v strukturo PmcXML. Ko so vsi podatki vnešeni, se zapišejo v datoteko XML. Celotna implementacija je bila izvedena v okolju Windows s programskim orodjem Visual C+ + NOT. Program je shranjen v knjižnici DLL, ki jo je mogoče uporabljati tudi v drugih programskih okoljih (Delphi, Visual Basic, C + + Ruilder). 2003 - številka 1 ■ letnik XI INFORMATIKA 49 Matej Gomboši, Borut Žalik. Danijel Rebolj Uporaba standarda LandXML in razširitev PmcXML Land XML — r-------------------; m CrossSects i 1 T / \ s J ? v* CrossSecl V L v k ) _CrossSectSurf 1———v / s. !"^Object3DType !" 1