SVEUČILIŠTE U ZAGREBU
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
DIPLOMSKI RAD br.
Aplikacijska proširivost Autodesk Topobase sustava
Mirko Sorić
Zagreb, svibanj 2010.
Prilikom uvezivanja rada iza ove stranice ne zaboravite umetnutnuti original
diplomskog zadatka kojeg ste preuzeli od djelovođe diplomskih radova.
Redoslijed prvih nekoliko stranica
Tvrdekoricerada
Replikakorica nabijelompapiru
Orignalzadatka
dipl. rada
Prazanastranica ilizahvala
Ime,prezime imatični
broj
Sažetak Sadržaj Itd.
i
Sažetak
Opisana je struktura sustava Topobase s uputama za instalaciju aplikacije
Topobase Client na računalo i spajanje na udaljenu bazu podataka sustava. Dan
je uvid u radnu okolina za razvoj aplikacijskih dodataka u sustavu i podešenja
alata Microsoft Visual Studio za razvoj aplikacija za sustav Topobase. Predstavljen
je razvoj alata za jednostavnu interakciju s kartom i pretraživanje po topologijama
definiranim od strane korisnika. Uz opis aplikacije dan je i kratak pregled korištenja
programskog sučelja te kratka demonstracija rada aplikacije.
ii
Sadržaj
1. UVOD ........................................................................................................................................... 1
2. ARHITEKTURA SUSTAVA TOPOBASE ................................................................................. 2
2.1. OPĆENITO ..................................................................................................................2 2.2. DIJELOVI SUSTAVA .......................................................................................................4
2.2.1. Programsko sučelje za pristup bazi podataka (eng. Feature Data Object, FDO) 4 2.2.2. Topobase Administrator ....................................................................................5 2.2.3. Pristup sustavu preko Internetskog pretraživača................................................7 2.2.4. Topobase Client kao dio sustava.......................................................................8
3. TOPOBASE CLIENT .................................................................................................................. 9
3.1. ARHITEKTURA .............................................................................................................9 3.2. SUČELJE .................................................................................................................. 10 3.3. ODVOJENOST PODATAKA I NAČINA NJIHOVOG PRIKAZA NA KARTI ..................................... 11 3.4. TOPOBASE STANDALONE CLIENT ................................................................................ 13 3.5. SPAJANJE S BAZOM PODATAKA.................................................................................... 13
4. PROGRAMSKO SUČELJE SUSTAVA TOPOBASE ............................................................ 18
4.1. OPĆENITO ................................................................................................................ 18 4.2. POSLUŽITELJSKO PROGRAMSKO SUČELJE .................................................................... 18 4.3. KLIJENTSKO PROGRAMSKO SUČELJE............................................................................ 18
4.3.1. Skripte u jeziku VB.NET .................................................................................. 18 4.3.2. Dodaci u obliku DLL datoteka.......................................................................... 20 4.3.3. Biblioteka klasa u razvojnoj okolini Topobase .................................................. 21
5. PRIMJER DODATKA ZA APLIKACIJU TOPOBASE CLIENT U RAZVOJNOJ OKOLINI
.NET ........................................................................................................................................... 23
5.1. PREVOĐENJE PROGRAMA ........................................................................................... 23 5.2. KORISNIČKO SUČELJE ZA POKRETANJE DODATKA IZ GLAVNE APLIKACIJE TOPOBASE CLIENT ..
............................................................................................................................... 25 5.3. SPAJANJE NA BAZU PODATAKA .................................................................................... 26
5.3.1. Izravno spajanje .............................................................................................. 26 5.3.2. Spajanje preko aktivnog dokumenta ................................................................ 27
5.4. RAD S ATRIBUTIMA ZNAČAJKI ...................................................................................... 29 5.5. INTERAKCIJA S KARTOM .............................................................................................. 31 5.6. TOPOLOGIJE I PRETRAŽIVANJE .................................................................................... 32
5.6.1. Općenito o topologijama u sustavu Topobase ................................................. 32 5.6.1.1. Topologija polja ..................................................................................................... 32 5.6.1.2. Logička topologija .................................................................................................. 34
iii
5.6.2. Pretraživanje po topologiji ............................................................................... 36 5.6.3. Pretraživanje po topologiji s uvjetom zaustavljanja .......................................... 39
5.7. INSTALACIJA DODATKA ............................................................................................... 42
6. ZAKLJUČAK ............................................................................................................................. 44
7. LITERATURA ............................................................................................................................ 45
7.1. REFERENCIRANA LITERATURA ..................................................................................... 45 7.2. OSTALA LITERATURA .................................................................................................. 45
iv
Popis oznaka i kratica
API programsko sučelje (eng. Application Programming Interface) CRM sustav za upravljanje odnosima s korisnicima (eng. Customer
Relationship Managment) DLL datoteka s prevedenim bibliotekama klasa (eng. Dynamic Link
Library) DWG datotečni format vektorskog crteža (eng. drawing) ERP sustav za upravljanje resursima (eng. Enterprise Resource
Planning) FDO Autodesk-ovo standardno sučelje za pristup izvorima vanjskih
podataka (eng. Feature Data Object) GIS geografski informacijski sustav IP Internet protokol (eng. Internet Protocol) JPEG datotečni format rasterskog crteža (eng. Joint Photographic
Experts Group) MS Microsoft ODBC standard sučelja baze podataka (eng. Open Database
Connectivity) OGR izvedeno iz eng. OpenGIS Simple Features Reference
Implementation, ali se početno značenje izgubilo, danas je kratica od eng. OGR Simple Features Library i predstavlja biblioteku za manipulaciju geoprostornim tipovima podataka
PNG datotečni format rasterskog crteža (eng. Portable Network Graphics)
SDF datotečni format geoprostornog sadržaja (eng. Spatial Data File) SHP datotečni format geoprostornog sadržaja (eng. shape ili shapefile) SUBP sustav za upravljanje bazom podataka TBP datotečni nastavak za konfiguracijsku datoteku dodatka za
Topobase (eng. Topobase plug-in) TCP protokol spojne usluge (eng. Transmission Control Protocol) VB.NET programski jezik (eng. Visual Basic .NET) WFS usluga razmjene geoprostornih značajki (eng. Web Feature
Services) WMS usluga razmjene georeferenciranih rasterskih crteža (eng. Web
Mapping Services) XML proširivi jezik za označavanje strukture podataka (eng. Extensible
Markup Language) HEP Hrvatska elektroprivreda
v
SQL Jezik za manipulaciju podacima iz relacijskih baza podataka (eng. Structured Query Language)
vi
Popis slika
SLIKA 1. ARHITEKTURA SUSTAVA TOPOBASE SA BAZOM PODATAKA ........................................................................ 3
SLIKA 2. SUČELJE APLIKACIJE TOPOBASE ADMINISTRATOR .................................................................................... 6
SLIKA 3. PRISTUP APLIKACIJI TOPOBASE WEB PREKO INTERNET EXPLORER-A ............................................................. 7
SLIKA 4. SUČELJE APLIKACIJE TOPOBASE CLIENT ................................................................................................. 8
SLIKA 5. SLOJEVI APLIKACIJE TOPOBASE CLIENT ............................................................................................... 10
SLIKA 6. SUČELJE MAP 3D U APLIKACIJI TOPOBASE CLIENT I DUGME ZA PROMJENU VRSTE SUČELJA .............................. 11
SLIKA 7. ODABIR MODELA PRIKAZA I GUMB ZA GENERIRANJE CRTEŽA (ENG. GENERATE GRAPHICS) ................................ 13
SLIKA 8. SPAJANJE NA BAZU PODATAKA POMOĆU TOPOBASE CLIENT-A ................................................................. 14
SLIKA 9. UNOŠENJE POSTAVKI ZA SPAJANJE NA BAZU PODATAKA U APLIKACIJI TOPOBASE CLIENT .................................. 16
SLIKA 10. KONFIGURACIJA TOKOVA RADNJI (ENG. WORKFLOW) U APLIKACIJI TOPOBASE ADMINISTRATOR ........................ 19
SLIKA 11. PRETRAŽIVAČ TOKOVA RADNJI U APLIKACIJI TOPOBASE CLIENT ................................................................. 20
SLIKA 12. PROSTOR IMENA DATA (PREUZETO IZ [12]) ........................................................................................ 21
SLIKA 13. POSTAVKE PREVOĐENJA U APLIKACIJI VISUAL STUDIO 2010 .................................................................... 23
SLIKA 14. POSTAVKE STAZE ZA SPREMANJE PREVEDENIH DATOTEKA I DATOTEKA S POSTAVKAMA U APLIKACIJI VISUAL STUDIO
2010 ....................................................................................................................................... 24
SLIKA 15. GUMB ZA POKRETANJE DODATKA U APLIKACIJI TOPOBASE CLIENT ............................................................. 26
SLIKA 16. HIJERARHIJA NASLJEĐIVANJA KLASE TBCONNECTION (PREUZETO IZ [10]). ................................................ 27
SLIKA 17. DOHVAĆANJE TRANSFORMATORA ..................................................................................................... 29
SLIKA 18. ATRIBUTI TRANSFORMATORA .......................................................................................................... 30
SLIKA 19. TABLICA KATALOGA TIPOVA TRANSFORMATORA ................................................................................... 31
SLIKA 20. POLJA I CENTROIDI (PREUZETO IZ [4]) ................................................................................................ 33
SLIKA 21. INICIJALIZACIJA TOPOLOGIJE U APLIKACIJI TOPOBASE ADMINISTRATOR ....................................................... 34
SLIKA 22. PROZOR ZA DEFINIRANJE LOGIČKE TOPOLOGIJE U APLIKACIJI TOPOBASE ADMINISTRATOR ................................ 34
SLIKA 23. TABLICA DEFINICIJE ODNOSA LOGIČKE TOPOLOGIJE ................................................................................ 36
SLIKA 24. TOPOLOŠKA POVEZANOST TRANSFORMATORA U APLIKACIJI ..................................................................... 38
SLIKA 25. PRIMJER ELEKTROENERGETSKE MREŽE KARLOVAČKE ŽUPANIJE .................................................................. 39
SLIKA 26. PREKIDAČ IZMEĐU TRANSFORMATORSKIH STANICA MLJEKARA I TS MEKUŠJE 35 .......................................... 41
SLIKA 27. PRETRAŽIVANJE S UVJETOM ZAUSTAVLJANJA I ISKLJUČENIM PREKIDAČEM UNUTAR MREŽE ............................... 42
Aplikacijska proširivost Autodesk Topobase sustava
1
1. Uvod Geoinformacijski (u daljnjem tekstu GIS) sustavi su se do sada dokazali kao
koristan i nezamjenjiv koncept u upravljanju velikim infrastrukturnim sustavima.
Povezanost geoprostornih podataka sa općim podacima u bazama podataka
pojednostavljuje i ubrzava poslovne i upravljačke procese te otvara nove
mogućnosti analize nad sustavom.
Sa bujajućeg tržišta proizvođača GIS programskih paketa izabran je proizvod
kompanije Autodesk Inc. pod imenom Topobase. Sustav je razvila nezavisna
kompanija c-plan na osnovama baze podataka Oracle i programa za vektorsku
grafiku Autodesk Map 3D. Autodesk Inc. je 2005. godine kupio kompaniju c-plan i
nastavio intenzivan razvoj sustava čija je aktualna stabilna verzija 2010, a zadnja
razvojna inačica 2011 Beta.
Na zadnjoj stabilnoj verziji sustava razvijena je aplikacija koja demonstrira
proširivost sustava preko programskog sučelja. Aplikacija obavlja jednostavne
operacije nad elektroenergetskom mrežom i demonstrira korištenje geoprostornih
značajki i topologija u sustavu Topobase. Praktični dio u ovom diplomskom radu
nastavlja se na rad opisan u [11], odakle je preuzet gotov podatkovni model
detaljnije opisan u [14]. Podaci za unos u sustav preuzeti su sa georeferenciranog
vektorskog crteža elektroenergetske mreže karlovačke županije.
Tema ovog diplomskog rada nisu bile definicije tipova podataka korištenih u
GIS sustavima jer je ta tema na mnogo mjesta već opširno obrađena. Svi detalji
vezani uz definicije prostornih značajki korištenih u ovom diplomskom radu mogu
se naći u [1] i [15].
Aplikacijska proširivost Autodesk Topobase sustava
2
2. Arhitektura sustava Topobase
2.1. Općenito Sve vrste podataka u sustavu spremaju se u sustav za upravljanje bazom
podataka Oracle (u daljnjem tekstu Oracle SUBP) na koji se mogu spajati dijelovi
sustava Topobase i iz baze podataka čitati potrebne podatke. Nije potrebno
koristiti posebnu instancu Oracle SUBP-a što pojednostavljuje instalaciju, ali i
interoperabilnost geoinformacijskog sustava (u daljnjem tekstu GIS) Topobase sa
ostalim sustavima unutar organizacije koji koriste bazu podataka (neki drugi GIS
sustav, ERP, CRM, razne korisničke aplikacije, web aplikacije, ...) [3,8].
Odgovornost za sigurnost i raspoloživost sustava tada je u najvećoj mjeri
preusmjerena administratoru baze podataka što osobama odgovornima za razvoj i
administraciju GIS sustava pojednostavljuje posao.
Dijagram cjelina koje čine arhitekturu sustava prikazan je na slici 1. Jezgra je
Oracle SUBP kojem je iz dijelova sustava Topobase pristup omogućen Autodesk-
ovim FDO bibliotekama [3]. Plavom bojom označene su glavne cjeline sustava u
užem smislu, žutom bojom označeni su moduli (eng. modules) Topobase-a ili
dodaci (eng. plug-ins) koji sustav nadgrađuju a ostalo su cjeline koje nisu dijelovi
sustava Topobase u užem smislu, ali se s njim mogu ili moraju povezati i s njim
zajedno djeluju.
Aplikacijska proširivost Autodesk Topobase sustava
3
Slika 1. Arhitektura sustava Topobase sa bazom podataka
Aplikacijska proširivost Autodesk Topobase sustava
4
2.2. Dijelovi sustava
2.2.1. Programsko sučelje za pristup bazi podataka (eng. Feature Data Object, FDO)
Osnovni sloj pristupa bazi podataka je programsko sučelje FDO. Sadrži klase
za pristup podacima u kojima su definirane geometrijske značajke (eng. features) i
klase značajki (eng. feature class) po definiciji iz [1]. Biblioteke sučelja FDO
dostupne su za programski jezik C++ i za razvojnu cjelinu (eng. framework) .NET
2.0. Programski kod i dokumentacija dostupni su pod licencom Open source na
[2]. Ovo programsko sučelje zajedničko je svim Autodesk-ovim GIS proizvodima, a
u sustavu Topobase čini osnovni i najvažniji dio mnogo veće razvojne cjeline.
Osim manipulacija vlastitim tipovima podataka, FDO je kompatibilan s više
izvora i tipova podataka među kojima je tada moguć slobodan protok informacija
uz jednostavnu konverziju. To su [3,5]:
- ESRI ArcSDE srednji sloj koji pristupa Oracle ili MS SQL Server SUBP-u
- MySQL SUBP
- Autodesk SDF datoteke
- ESRI SHP datoteke
- ODBC sučelje
- Web Mapping Services (OGC WMS) standard za uslugu slanja i razmjene
georeferenciranih rasterskih karata
- Web Feature Services (OGC WFS) standard za uslugu slanja i razmjene
geoprostornih značajki
- Oracle Spatial
- Microsoft SQL Server SUBP
- više vrsta običnih i georeferenciranih rasterskih formata (JPEG, PNG, …)
- OGR tip vektorskih grafičkih formata
Aplikacijska proširivost Autodesk Topobase sustava
5
2.2.2. Topobase Administrator Aplikacija koja omogućava uređivanje struktura podataka koje se koriste u
Topobase sustavu. Spaja se na bazu podataka preko Oracle korisnika TBSYS koji
mora biti član grupe ADMIN [4]. Na taj način aplikacija dobiva potrebne dozvole
nad bazom podataka.
Aplikacija Topobase Administrator koristi se za [4,6]:
- Stvaranje i uređivanje modela podataka u sustavu. Model podataka ne
mora biti jedinstven te aplikacija također služi za organizaciju koegzistencije
različitih modela.
- Organizaciju korisničkih računa, grupa i uloga. U svrhu sigurnosti moguće
je precizno definirati razinu pristupa svakog pojedinačnog korisnika ili grupe.
- Upravljanje poslovnim pravilima.
- Uređivanje formi za manipulaciju i unošenje podataka.
- Uređivanje postavki aplikacije i dokumenta.
- Oblikovanje prezentacije podataka i izvještaja.
- Stvaranje i uređivanje topologija i topoloških veza među podacima.
- Stvaranje i uređivanje tokova radnji (eng. workflow).
Aplikacijska proširivost Autodesk Topobase sustava
6
Slika 2. Sučelje aplikacije Topobase Administrator
Aplikacijska proširivost Autodesk Topobase sustava
7
2.2.3. Pristup sustavu preko Internetskog pretraživača Topobase Web nadogradnja je aplikacije Autodesk MapGuide Enterprise.
Omogućava brzo i jednostavno spajanje na sustav preko Internet pretraživača.
Podatke u sustavu je moguće pregledavati i običnom aplikacijom MapGuide, ali
Topobase Web podržava neke specifičnosti sustava Topobase kao što su tokovi
radnje (eng. workflow), poslovna pravila (eng. business rules), dugačke transakcije
(eng. long transactions) i određene strukture podataka. Također podržava i
posebno napravljene dodatke i module za sustav prilagođene specifičnoj primjeni.
Slika 3. Pristup aplikaciji Topobase Web preko Internet Explorer-a
Aplikacijska proširivost Autodesk Topobase sustava
8
2.2.4. Topobase Client kao dio sustava Osnovni i najmoćniji alat za upravljanje podacima u sustavu Topobase je
Topobase Client. Napravljen je na osnovi aplikacije AutoCAD Map 3D i podržava
svu njenu funkcionalnost kao i funkcionalnost osnovne aplikacije AutoCAD. Dakle,
pored specifičnih alata sustava Topobase posjeduje i napredne alate za stvaranje i
uređivanje vektorskih inženjerskih crteža.
Slika 4. Sučelje aplikacije Topobase Client
Aplikacijska proširivost Autodesk Topobase sustava
9
3. Topobase Client
3.1. Arhitektura Aplikacija je nastala evolucijom Autodesk-ovog alata za izradu vektorske grafike
AutoCAD.
Inženjerski crteži uz grafiku najčešće moraju imati određene metapodatke. To je
zahtjevalo povezivanje s podacima koji mogu biti spremljeni i izvan samog
vektorskog crteža. Tehnologija Feature Data Objects (FDO) za povezivanje s
bazom podataka razvijena je kao odgovor na ove zahtjeve.
Mogućnost iz aplikacije AutoCAD za koju je dostupna biblioteka klasa za C++ i
.NET dobra je podloga za daljnji razvoj. Iz AutoCAD-ove biblioteke klasa i podrške
za GIS sustave iz Map 3D aplikacije nastao je sustav Topobase kao moćna
platforma za razvoj velikih specijaliziranih GIS sustava.
Topobase sustav pravu snagu pokazuje tek dodatkom modula za specijalne
namjene. Osnovni dodaci na sustav koje nudi kompanija Autodesk su [8]: Electric,
Water, Wastewater, Gas, Land i Survey čija imena na engleskom jeziku sama
naznačuju njihovu pojedinu namjenu. Tim modulima pokrivena je većina potreba
industrije jer su opširni i bogati funkcionalnostima. Iako njihov kod nije javno
dostupan moguće ih je nadopuniti vlastitim dodacima. Osim već gotovih modula
pomoću bogate biblioteke klasa za Topobase moguće je razvijati vlastite dodatke
ili cijele module za Topobase.
Aplikacijska proširivost Autodesk Topobase sustava
10
Slika 5. Slojevi aplikacije Topobase Client
Kao što je prikazano na slici 5., korisnik u svakom trenu može neposredno
pristupiti bilo kojem sloju aplikacije [8]. To je olakšano uvođenjem višestrukog
sučelja kojim se lako prilagođava trenutnoj potrebi. Prikazan je i način pristupa
SUBP-u, odnosno vektorskom crtežu.
3.2. Sučelje Napravljeno je tako da omogućava laku prilagodbu korisnicima koji su navikli na
aplikacije AutoCAD i AutoCAD Map 3D. Na osnovnom sučelju u donjem desnom
uglu postoji gumb kojim se lako mijenja izgled sučelja. Postoji mogućnosti izbora
sučelja koje je prilagođeno funkcionalnostima sustava Topobase i sučelja koje je
identično osnovnom sučelju aplikacije AutoCAD Map 3D. Na taj su način
istovremeno lako dostupne mogućnosti Topobase nadogradnje uz smanjenje
Aplikacijska proširivost Autodesk Topobase sustava
11
vremena prilagodbe korisnicima koji su intenzivno koristili stariji alat i na njega su
navikli.
Slika 6. Sučelje Map 3D u aplikaciji Topobase Client i dugme za promjenu vrste sučelja
3.3. Odvojenost podataka i načina njihovog prikaza na karti
Podaci spremljeni u bazi podataka kao geoprostorne značajke mogu se
prikazati na više načina u klijentskim aplikacijama sustava. Takva fleksibilnost
olakšava korisnicima korištenje sustava, štedi vrijeme i ograničava prostor za
pogreške, kako one nastale krivim tumačenjem podataka, tako i one nastale krivim
unosom. Isto tako, aplikacije unesene na jedan način mogu se prezentirati na
drugi način.
To je omogućeno mehanizmom modela prikaza (eng. display model). On spaja
klase prostornih značajki iz baze podataka i prikazuje ih kao interaktivni sloj (eng.
layer) u vektorskom crtežu. Svaku klasu značajki na taj je način moguće isključiti iz
prikaza ili ga u njega uključiti te prikazati na proizvoljan način.
Aplikacijska proširivost Autodesk Topobase sustava
12
Modeli prikaza podatke dohvaćaju sučeljem FDO što znači da nisu ograničeni
samo na podatke u sustavu Topobase. Podatke je moguće dohvaćati iz izvora
podataka podržanih u FDO sučelju i međusobno ih kombinirati.
Definicija modela prikaza sprema se u datoteku s nastavkom .tbdm (eng.
topobase display model) koja je u osnovi tekstualna datoteka s XML strukturom. U
njoj su izvori karata definirani XML poljem (eng. tag)
DisplayModelMapResourceId. Svaki model prikaza može u sebi imati više
definiranih karata što omogućuje više GIS svjetova unutar jednog prikaza.
Definicija karata također je datoteka sa XML strukturom s nastavkom .tbdmmap
(eng. topobase display model map). U ovoj datoteci precizno su definirani svi
elementi važni za prikaz podataka, uključujući geografski koordinatni sustav,
vidljivi prozor karte, grupe slojeva i slojevi. Pojedinačni slojevi s izvorima podataka
definirani su u zasebnim datotekama s nastavkom .layer koje su definirane XML
poljem u dijelu za definiciju sloja. Detaljno stvaranje i uređivanje modela prikaza
opisano je u [9].
Nakon definiranog i odabranog modela prikaza podataka, crtež se generira
klikom na odgovarajući gumb. U tom procesu program pristupa bazi podataka ili
drugom izvoru definiranom u sloju karte modela prikaza te podatke po definiranim
pravilima iscrtava na jednu ili više karata u obliku vektorskih crteža. Tim
postupkom nastaje aktivni dokument u Topobase Client-u preko kojeg neki alati i
dodaci posredno pristupaju podacima. Ako crtež nije generiran tada ni ti alati nisu
funkcionalni. Nakon generiranja grafike vektorska grafika na crtežu koji je tako
nastao uparena je sa podacima iz izvora i svaka promjena crteža automatski je
spremljena u izvor podataka.
Gumb za generiranje crteža prikazan je na slici 7.
Aplikacijska proširivost Autodesk Topobase sustava
13
Slika 7. Odabir modela prikaza i gumb za generiranje crteža (eng. generate graphics)
3.4. Topobase Standalone Client Ova aplikacija omogućava spajanje na bazu podataka i rad s podacima ako nije
potrebno generirati geometriju. Možemo izravno u bazi podataka obavljati
operacije nad prostornim značajkama, izbacivati, ubacivati ili mijenjati podatke.
Standalone Client koristan je kada nam generiranje grafike nije potrebno i samo
usporava rad.
3.5. Spajanje s bazom podataka Topobase Client detektira aktivnu uslugu (eng. service) Oracle klijenta na
računalu i može se spojiti na sve valjane adrese definirane u tnsnames.ora
konfiguracijskoj datoteci klijenta Oracle baze podataka. Oracle klijent na sebe
preuzima svu komunikaciju s bazom podataka i sa strane aplikacije Topobase
Client nije važno gdje se nalazi poslužitelj baze podataka. Za ovaj diplomski rad
Topobase Client instaliran je na prijenosnom računalu, a poslužitelj baze podataka
je računalo na Zavodu za visoki napon i energetiku na FER-u s internetskom
adresom geoweb.zvne.fer.hr.
Na slici 8. prikazana je shema spajanja. Na korisničkom računalu (koje može i
ne mora biti isto kao i poslužiteljsko, iako to na slici nije posebno istaknuto)
Topobase Client spaja se na klijent Oracle SUBP-a, koji preko interno definirane
Aplikacijska proširivost Autodesk Topobase sustava
14
usluge (eng. service) pozvane od strane Topobase Client-a kontaktira uslugu
Oracle Net listener na poslužiteljskom računalu sa Oracle SUBP-om. Veza Oracle
klijenta prema usluzi Oracle Net listener može biti ostvarena na razne načine.
Spojna usluga protokolom TCP najčešći je način, a taj je način i korišten u ovom
primjeru.
Slika 8. Spajanje na bazu podataka pomoću Topobase Client-a
Da bi se Topobase Client mogao pokrenuti i komunicirati sa lokalnom uslugom
klijenta Oracle baze podataka potrebno je dodati tri varijable okoline u operativni
sustav Windows:
ADSKFLEX_LICENSE_FILE = @<IP adresa poslužitelja licenci>
Aplikacijska proširivost Autodesk Topobase sustava
15
FLEXLM_TIMEOUT = 1
TNS_ADMIN = <staza do konfiguracijskih datoteka Oracle klijenta>
Prva varijabla (ADSKFLEX_LICENSE_FILE) definira IP adresu poslužitelja
licenci (eng. Licence manager), FLEXLM_TIMEOUT definira period otpuštanja i
provjere dostupnosti licence, a TNS_ADMIN definira mjesto gdje se nalaze
konfiguracijske datoteke klijenta Oracle SUBP-a.
U registar operativnog sustava Windows dodana je varijabla:
TNS_ADMIN = %STAZA_DO_*.ORA_DATOTEKA%
na lokaciju HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient11g_home1
Zbog greške
Error ORA-12571: TNS: Packet writer failure
koja se javljala pri spajanju s bazom podataka, u datoteci sqlnet.ora vrijednost
varijable SQLNET.AUTHENTICATION_SERVICES je iz (NTS) promjenjena u
(NONE), a vrijednost SQLNET.INBOUND_CONNECT_TIMEOUT postavljena je na
10 (sekundi). Te promjene otklonile su javljanje greške i omogućile normalan rad.
Adresa poslužitelja baze podataka definira se u tnsnames.ora konfiguracijskoj
datoteci na sljedeći način:
TOPOBASE = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = geoweb.zvne.fer.hr) (PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = Topobase)))
Ovim kodom definirano je spajanje na poslužitelj s adresom geowb.zvne.fer.hr
na port 1521 (navedenom portu treba biti omogućen pristup odgovarajućim
postavkama u vatrozidu). Vrijednošću polja PROTOCOL izabire se spojna usluga za
način spajanja a poljem SERVICE_NAME definira se proizvoljno ime usluge koja će se
koristiti pri spajanju na uslugu u aplikaciji Topobase Client.
Aplikacijska proširivost Autodesk Topobase sustava
16
Slika 9. Unošenje postavki za spajanje na bazu podataka u aplikaciji Topobase Client
Na slici 9. prikazan je prozor u Topobase Client-u za unos korisničkih podataka
potrebnih za prijavljivanje na sustav. U dio Topobase User u prozoru unosi se
korisnik definiran u sustavu Topobase. Ovakvi korisnici mogu imati definiran
različiti prikaz podataka prilagođen njihovim zahtjevima. Na taj način razni profili
korisnika sustava mogu imati najbolji mogući pregled onoga što im je potrebno. Od
upravnog osoblja firme koje može raditi s nekim općim podacima do tehničara koji
koriste specifične detalje najmanjih dijelova sustava. Ovi korisnici podijeljeni su u
grupe ADMIN, EDITOR i VIEWER koje im daju samo određene ovlasti nad
korištenjem podataka u sustavu [4]:
ADMIN: Neograničen pristup podacima, sve postojeće naredbe su dostupne.
Preporučuje se da korisnik aplikacije Topobase Client bude član ove
grupe [4].
EDITOR: Korisnik može mijenjati i uređivati podatke, sve naredbe za
uređivanje podataka su dostupne.
VIEWER: Onemogućeno je mijenjanje podataka, korisnik može samo
pregledavati i analizirati postojeće podatke u sustavu. Na sučelju su
vidljive samo dostupne opcije. Ovaj korisnik je prikladan za
pristupanje sustavu preko Internet preglednika.
Aplikacijska proširivost Autodesk Topobase sustava
17
Korisnik koji je korišten u ovom diplomskom radu standardni je korisnik u
sustavu Topobase koji je definiran odmah po instalaciji. Isti je član korisničke
grupe ADMIN.
U dijelu Topobase Main or System User definira se pristup bazi podataka.
Moguće je spojiti se na SUBP kao TBSYS ili TBMAIN korisnik (početne lozinke su
iste kao i korisnička imena) gdje TBSYS korisnik ima veće ovlasti nad bazom
podataka. Za uobičajene poslove u aplikaciji Topobase Client dovoljan je korisnik
TBMAIN. Ako se žele iskoristiti mogućnosti dodataka koji mijenjaju model
podataka potrebno je prijaviti se kao korisnik TBSYS. Taj korisnik je također nužan
za rad u aplikaciji Topobase Administrator [4].
Aplikacijska proširivost Autodesk Topobase sustava
18
4. Programsko sučelje sustava Topobase
4.1. Općenito Programsko sučelje u sustavu Topobase sustavu podijeljeno je u dva osnovna
dijela [7]:
- Poslužiteljsko programsko sučelje (eng. Topobase server API)
- Programsko sučelje razvojne okoline (eng. Framework API) za klijentske
aplikacije sustava (Topobase Client i Topobase Web)
4.2. Poslužiteljsko programsko sučelje Kao nadopuna funkcijama aplikacije Topobase Administrator moguće je
poslužiteljske funkcije dodatno proširiti i mijenjati programskim sučeljem
poslužitelja. Njegova najčešća namjena je modeliranje migracije podataka.
Sučelje je razvijeno za programske jezike Java i PL/SQL i izvršava se na Oracle
SUBP-u [7].
Sva funkcionalnost poslužiteljskog programskog sučelja dostupna je preko
klijentske razvojne okoline i vrlo se rijetko javlja potreba za njenim izravnim
korištenjem. Sučelje je prije svega svedeno na pomoć pri oblikovanju
podatkovnog modela i manipulaciju sirovim podacima, dok se aplikacije
namijenjene proširivanju Topobase funkcija koje čine industrijski specifične
module razvijaju u klijentskoj razvojnoj okolini.
4.3. Klijentsko programsko sučelje Postoje dva načina stvaranja klijentskih programskih dodataka za Topobase[7]:
- Skripte u jeziku VB.NET
- Dodaci u obliku DLL datoteka
4.3.1. Skripte u jeziku VB.NET U Topobase terminologiji nazivaju se još i tokovi radnje (eng. workflows). Služe
za automatizaciju i ulančavanje određenih akcija koje korisnik zbog strogo
definiranog podatkovnog modela sve mora obaviti, a ponekad i u odgovarajućem
Aplikacijska proširivost Autodesk Topobase sustava
19
propisanom redoslijedu. Podatkovni model često zahtjeva da se akcije pri
manipuliranju podacima koje sustav definira kao atomizirane u definiciji
podatkovnog modela moraju obaviti isključivo u grupi sastavljenoj od više radnji.
Tokovi radnje jednostavan su način da se ostvari konzistentnost takvog korisnički
definiranog pravila.
Skripte se definiraju preko alata Topobase Administrator i vežu za svaki
dokument kojem su namijenjeni. Moguće ih je pokrenuti iz klijentskih aplikacija
Topobase Client i Topobase Web.
Slika 10. Konfiguracija tokova radnji (eng. workflow) u aplikaciji
Topobase Administrator
Na slici 10. je prikazan prozor u alatu Topobase Administrator za stvaranje i
uređivanje tokova radnji. Programski jezik kojim se definiraju tokovi radnji je
VB.NET. U navedenom primjeru je u VB.NET programskom jeziku samo pozvana
metoda predefinirana u DLL datoteci. Primjer je preuzet sa Autodesk-ovog modula
za upravljanje elektroenergetskim sustavom [8]. U klijentskim aplikacijama tokovi
radnji prikazani su u pretraživaču tokova radnji (eng. workflow explorer).
Aplikacijska proširivost Autodesk Topobase sustava
20
Slika 11. Pretraživač tokova radnji u aplikaciji Topobase Client
Na slici 11. prikazan je pretraživač tokova radnji u aplikaciji Topobase Client. Isti
tokovi radnji prikazani ranije u aplikaciji Topobase Administrator iz Autodesk-ovog
modula za elektroenergetski sustav prikazani su i na ovoj slici.
4.3.2. Dodaci u obliku DLL datoteka Dodaci napisani u jeziku VB.NET su moćni i fleksibilni, ali ipak imaju specifičnu
namjenu. Za zahtjevnije zadaće i nadogradnje razvijena je razvojna okolina i
programsko sučelje na Microsoft-ovoj platformi .NET 2.0. To pruža gotovo
neograničene mogućnosti formiranja i dizajniranja modula i dodataka za
Topobase. Dodaci se prevedu kao DLL datoteke u kojima su uključene reference
na programsko sučelje Topobase-a. Tu datoteku sustav Topobase tumači preko
TBP datoteke koja mora biti u istom direktoriju. To omogućava laku instalaciju
dodataka uz samo jedno prevođenje programskog koda i distribuciju i kopiranje
datoteka koje sadržavaju datoteke uz odgovarajuću klijentsku aplikaciju. Najveći
nedostatak i ograničenje te razvojne okoline za Topobase je nedostatak podrške
za novije razvojne okoline .NET (3.0, 3.5, 4.0).
Aplikacijska proširivost Autodesk Topobase sustava
21
4.3.3. Biblioteka klasa u razvojnoj okolini Topobase Razvojna biblioteka sustava Topobase sastoji se od trideset biblioteka u obliku
DLL datoteka s više od tisuću i pet stotina klasa i dvadeset pet tisuća metoda za
razvoj aplikacija [13]. S tako bogatim programskim sučeljem moguće je napraviti
moćne i korisne alate. Kompletna biblioteka dostupna je svim korisnicima sustava i
vlasnicima licence, a na istoj platformi razvijeni su i dodaci koje je razvio Autodesk
i koji se dodatno isporučuju uz sustav. S obzirom na bogatu biblioteku koja je u
osnovnoj verziji slabo dokumentirana Autodesk se ne boji da bi konkurencija bez
odgovarajuće podrške iz Autodesk-a mogla razviti konkurentne module za velike
sustave.
Dostupnom bibliotekom Autodesk želi korisnicima omogućiti razvoj jednostavnih
alata kao nadopunu drugim sustavima i potaknuti ih da plate dodatnu podršku ako
se odluče na razvoj kompliciranijih dodatak ili modula.
Slika 12. Prostor imena Data (preuzeto iz [12])
Na slici 12. prikazan je jedan od najčešće korištenih prostora imena koji
sadržava klase za pristup podacima, Data. U njemu su definirane klase prostornih
značajku, klase koje definiraju pristup tablicama baze podataka i klase koje
Aplikacijska proširivost Autodesk Topobase sustava
22
opisuju atribute prostornih značajki. Osim ovoga prostora imena češće korišteni
prostori imena su Graphic, Math, Map (služi za manipulaciju kartama na ekranu), a
neki se nalaze grupirani u programskom podsučelju Forms (služi za uređivanje
korisničkog sučelja).
Aplikacijska proširivost Autodesk Topobase sustava
23
5. Primjer dodatka za aplikaciju Topobase Client u razvojnoj okolini .NET
5.1. Prevođenje programa Primjer je napravljen u programu Visual Studio 2010 RC koji podržava razvojnu
okolinu .NET 4.0. Kako aplikacije u Topobase sustavu mogu čitati samo DLL
datoteke napravljene u verziji 2.0 razvojne okoline .NET potrebno je dodatno
podesiti program Visual Studio tako da izlazna datoteka biblioteke bude
kompatibilna sa razvojnom okolinom verzije 2.0. Na slici 13. Prikazane su
postavke odabira izlaznog tipa kao prevedene biblioteke klasa (eng. Output type:
Class Library) što je označeno plavom bojom te podešavanje kompatibilnosti s
razvojnom okolinom verzije 2.0 (crvena boja).
Slika 13. Postavke prevođenja u aplikaciji Visual Studio 2010
Aplikacijska proširivost Autodesk Topobase sustava
24
Datoteka dobivena prevođenjem imena kopira se u direktorij bin u stazi
aplikacije Topobase Client. Osim te datoteke u tu stazu treba kopirati i XML
datoteku nastavka config ako razvijena aplikacija koristi postavke (eng. setting) i
datoteku definicije dodatka za Topobase koja je također u XML formatu i ima
nastavak tbp. Taj postupak se može i automatizirati tako da se aplikacija Visual
Studio podesi tako da datoteku prevedene biblioteke i konfiguracijske datoteke
programa u razvoju nakon prevođenja smjesti u direktorij bin. Taj postupak
prikazan je na slici 14.
Slika 14. Postavke staze za spremanje prevedenih datoteka i datoteka s postavkama u aplikaciji Visual Studio 2010
Aplikacijska proširivost Autodesk Topobase sustava
25
5.2. Korisničko sučelje za pokretanje dodatka iz glavne aplikacije Topobase Client
Postoji više varijanti za integriranje dodatka u aplikaciju Topobase Client [7]:
- Application Plugin
- Document Plugin
- Dialog Plugin
- Options Page
- Application Flyin
- Document Flyin
- Dialog Flyin
Ovisno o vrsti, dodatak se može pokretati u zasebnom prozoru (Plugin) ili može
biti integriran u sučelje aplikacije (Flyin). Može biti općenito integriran u aplikaciju
(Application) ili integriran samo kada je otvoren odgovarajući dokument
(Document). Dodaci tipa Dialog sadrže dialoške okvire, a dodaci tipa Option Page
postavke za dodatke tipa Dialog.
U primjeru je implementiran dodatak tipa Application Plugin. Prostor imena
korišten za oblikovanje sučelja ovakvog dodatka je Topobase.Forms koji mora
biti dodan u zaglavlju datoteke s programskim kodom. Klasa u kojoj je definiran
dodatak izvodi se iz klase Topobase.Forms.ApplicationPlugIn. U traku s
alatima na jednostavan se način doda novi gumb za pokretanje dodatka. Najprije
se stvori traka s alatima:
Topobase.Forms.ToolBar glavniToolbar =
e.ToolBars.Item("Primjer Toolbara");
i zatim se svojstvu Buttons metodom Add doda novi gumb koji je prethodno
deklariran iz klase ToolBarButton kao javni (tipa public) objekt unutar klase
tipa dodatke:
glavniToolbar.Buttons.Add(mojToolbarBotun,
"SelectGeometry", "Proba za sucelje");
Aplikacijska proširivost Autodesk Topobase sustava
26
Prvi argument metode je objekt tipa ToolBarButton, drugi je ime grafičke
datoteke za ikonu bez ekstenzije a treći argument je tekst koji se prikazuje kad se
pređe mišem preko ikone. Gumb koji je dodan na ovaj način može se vidjeti na
slici slici 15. Gumb u primjeru pokreće običnu formu sa proizvoljno definiranim
sučeljem za pristup sustavu, a osim toga mu se može dodijeliti bilo koja funkcija
dostupna u razvojnoj okolini .NET.
Slika 15. Gumb za pokretanje dodatka u aplikaciji Topobase Client
5.3. Spajanje na bazu podataka
5.3.1. Izravno spajanje Na bazu se preko programskog sučelja moguće spojiti i izravno preko nekog
pružatelja veze (eng. connection provider) iz razvojne okoline .NET ili pomoću
nekog drugog programskog sučelja, ali tada geoprostorne značajke ne bi mogle
biti rastumačene na odgovarajući način. Umjesto toga koristi se klasa iz razvojne
Aplikacijska proširivost Autodesk Topobase sustava
27
okoline za Topobase TBConnection. Na slici 16. prikazano je stablo
nasljeđivanja te klase.
Slika 16. Hijerarhija nasljeđivanja klase TBConnection (preuzeto iz [10]).
Objekt veze s postavkama generira se na sljedeći način: Topobase.Data.TBConnection veza =
new Topobase.Data.TBConnection( Properties.Settings.Default.Oracle_User, Properties.Settings.Default.Oracle_Password, this.Application.Connection.DataSource, true, this.Application.Connection)
pri tome se argumenti konstruktora dohvaćaju iz postavki aplikacije koje moraju
biti definirane. Properties.Settings.Default.Oracle_User i
Properties.Settings.Default.Oracle_Password primjerice, imaju
vrijednost „TBSYS“ tipa string.
Na ovaj način se na bazu podataka moguće spojiti bez obzira je li crtež
generiran ili ne. Tada je moguće manipulirati podacima i ispravno ih tumačiti, ali se
ne mogu prikazivati geoprostorne značajke na karti.
5.3.2. Spajanje preko aktivnog dokumenta Ako se želi razvijati aplikacija koja ima interakciju sa generiranim crtežom (što je
gotovo uvijek slučaj) zgodno je da ona na neki način ovisi o dokumentu koji je taj
čas aktivan i na kojem se trenutačno radi. Aplikacija koja u sebi ima definirano
eksplicitno spajanje na bazu podataka s istom se bazom spaja neovisno o tome
koji crtež je generiran na ekranu. Moguće je i programski generirati crtež i povezati
ga s podacima, ali opcija aktivnog dokumenta ostavlja korisniku veću slobodu pri
radu sa različitim dokumentima i olakšava samo programiranje. Dodatak je
biblioteka u obliku DDL datoteke što omogućava lakšu prenosivost dodatka na
druge sustave.
Ovim pristupom nakon generiranja grafike se ne otvara nova konekcija nego se
jednostavno dohvaća aktivni dokument (tj. crtež koji je prethodno generiran) koji u
Aplikacijska proširivost Autodesk Topobase sustava
28
sebi sadrži otvorenu konekciju prema bazi podataka iz koje je crtež generiran.
Aktivan dokument dohvaća se na sljedeći način:
Topobase.Forms.Document dok = this.Application.Documents.Active;
Preko objekta dok koji je tipa Document se pristupa aktivnom dokumentu. Na
primjer, jednostavno je dobiti listu svih značajki tipa TRANSFORMATOR_POINT
koji se nalaze u bazi:
Topobase.Data.FeatureClass featureKlasaTransformator = dok.Connection.FeatureClasses["TRANSFORMATOR_POINT"];
Topobase.Data.FeatureList listaFeatureaTransformator = featureKlasaTransformator.GetFeatures();
U obliku objekta featureKlasaTransformator klase FeatureClass
dobiveno je sučelje za manipulaciju klasom značajki TRANSFORMATOR_POINT
u dokumentu. Pomoću tog objekta dobivena je lista svih pojedinačnih značajki u
dokumentu.
Aplikacijska proširivost Autodesk Topobase sustava
29
Slika 17. Dohvaćanje transformatora
Na Slika 17 prikazan je prozor programa i rezultat nakon pritiska na gumb
Pronađi transformatore na karti. U odgovarajućem prozoru ispisana je lista imena
transformatora koji su pronađeni na karti.
5.4. Rad s atributima značajki Svaka značajka ima svoje atribute koji se dohvaćaju pomoću svojstva
Attributes. Nakon što izdvojimo jednu značajku iz klase u objekt klase
Feature na sljedeći način::
Topobase.Data.Feature tipTransformatora = klasaTipTransformatora.GetFeature(FID);
Atributu značajke jednostavno je pristupiti:
long fid = tipTransformatora.Attributes[“Fid”].ValueLong;
Aplikacijska proširivost Autodesk Topobase sustava
30
Svaki atribut značajki je atribut u tablici baze podataka, a na ovaj način uređeno
je sučelje pristupa tom atributu kao i svim njegovim svojstvima kao što je tip
podatka, vrijednost, ime atributa (što može biti korisno ako se atributu pristupa
preko indeksa) i ostalo.
Slika 18. Atributi transformatora
Svaki klik na transformator u listi Transformatori dohvaća podatke iz tablice
kataloga iz modela podataka u kojem su spremljene karakteristike transformatora
po tipu i prikazuje ih u tablici Atributi transformatora. To je prikazano na slici 18.
Aplikacijska proširivost Autodesk Topobase sustava
31
Slika 19. Tablica kataloga tipova transformatora
Na slici 18. prikazan je dio tablice iz kataloga tipova transformatora iz koje se
dohvaćaju podaci o transformatorima po tipu. Tip transformatora kao atribut
značajke transformatora je strani ključ za tablicu Tip transformatora [11].
5.5. Interakcija s kartom U razvojnoj okolini postoje metode koje omogućuju interakciju s kartom na
način da je moguće izabrati značajku s karte ili označiti značajku izabranu u
programu i postaviti prozor na njeno mjesto.
Označavanje značajki s karte ostvaruje se sljedećom metodom klase Map:
Topobase.Data.FidTidArray oznaceni = dok.Map.GetLinkInfo();
Nakon pokretanja metode GetLinkInfo() program u prvi plan postavi kartu
sa dokumenta s kojeg je zatražen upit. Nakon što je korisnik označio značajke
koje je želio u objektu oznaceni tipa FidTidArray pohranjeni su odabrani
ključevi značajki fid (eng. feature identity) po kojima se značajke identificiraju.
Svaka značajka, bez obzira na klasu kojoj pripada, ima jedinstven fid.
Označavanje značajki na karti koji su izabrani u aplikaciji obrnut je proces.
Najvažniji argument je lista značajki koje se žele označiti. Može se kreirati na
sljedeći način:
Aplikacijska proširivost Autodesk Topobase sustava
32
Topobase.Data.FeatureList features = new Topobase.Data.FeatureList(dok.Connection, oznacenFID, true);
U varijabli dok sadržan je aktivan dokument, a u varijabli označenFID ključevi
značajki koje se žele izdvojiti iz dokumenta u objekt features klase
FeatureList. Taj objekt je zatim argument u metodi HighlightFeatures
klase Map koja obavlja akciju označavanja značajki:
dok.Map.HighlightFeatures(features, Topobase.Map.MapLogic.HighlightModes.Highlight, true);
Metoda je pokrenuta unutar aktivnog dokumenta.
5.6. Topologije i pretraživanje
5.6.1. Općenito o topologijama u sustavu Topobase Topologija u sustavu Topobase opisuje međusobni odnos dvije ili više značajki.
U sustavu postoje dvije osnovne vrste topologija [4]:
- Topologija polja (eng. area topology)
- Logička topologija (eng. logic topology)
5.6.1.1. Topologija polja Topologije polja koriste se pri modeliranju geografskih sustava koji se koriste za
upravljanje površinama (npr. katastarskim parcelama). Za definiciju polja u ovoj
vrsti topologije potrebne su geoprostorne značajke tipa linije i točke. Linije se
spajaju u zatvoreno polje, a točka se smješta unutar polja i naziva se centroidom.
Centroid u ovom smislu nije pravi geometrijski centroid i može se nalaziti bilo gdje
unutar polja (poželjno je da bude približno u središtu). Isto tako, polje nije prava
značajka tipa poligon.
Na ovaj način topologija sustava ne mora biti takva da je sastavljen isključivo od
zatvorenih poligona. Poluravnine u ovoj topologiji sustava mogu postojati ali nisu
registrirane kao polja i nemaju centroid. Centroid služi da se atributi polja mogu
povezati sa jednom značajkom. Kako polje nije značajka tipa poligon svi atributi
polja pridružuju se centroidu koji je značajka tipa točka. Na slici 21. prikazana je
ova vrsta topologije.
Aplikacijska proširivost Autodesk Topobase sustava
33
Slika 20. Polja i centroidi (preuzeto iz [4])
Topologija prije korištenja mora biti inicijalizirana. To je postupak pri kojem
sustav obrađuje crtež (linije i točke) i generira pomoćne podatke i značajke za
pravilno funkcioniranje topologije.
Pri tom postupku se generiraju tablice sa sljedećim sufiksima:
- _TSUR
Sadrži generirane pomoćne značajke tipa poligon.
- _TSER
Sadrži generirane pomoćne značajke tipa poligon sa greškama (npr. ako
linija siječe drugu liniju).
- _TEDG i _TCEN
Sadrži atribute značajki rubova i centroida.
- _TISL
Sadrži poligone koji su izgrađeni od linija u krivom smjeru (u smjeru kazaljke
na satu umjesto suprotno) i tvore redundantne podatke.
Pokretanje postupka inicijalizacije topologije u aplikaciji Topobase Administrator
prikazano je na slici 21.
Aplikacijska proširivost Autodesk Topobase sustava
34
Slika 21. Inicijalizacija topologije u aplikaciji Topobase Administrator
5.6.1.2. Logička topologija
Slika 22. Prozor za definiranje logičke topologije u aplikaciji Topobase Administrator
Aplikacijska proširivost Autodesk Topobase sustava
35
Logička topologija opisuje općenitu povezanost među značajkama. Klasa
značajki ne mora imati geometrijsku reprezentaciju a svejedno može imati uređen
odnos u topologiji.
Ova vrsta topologije se jednostavno definira odabirom klasa značajki koje su
međusobno povezane. Prije toga potrebno je izabrati klase značajki koje
određenoj topologiji pripadaju. Prozor u Topobase Administrator-u koji služi za
definiciju logičkih topologija prikazan je na slici 22.
Logičku topologiju također treba inicijalizirati prije korištenja. Postupak
pokretanja inicijalizacije identičan je kao za topologiju polja i prikazan je na slici 20.
U procesu inicijalizacije logičke topologije generira se tablica
<ime_topologije>_CONN. Kako ime logičke topologije završava nastavkom _LOG
ime tablice se može napisati i kao <ime_topologije>_LOG_CONN. Tablica
generirana u razvijanom sustavu prikazana je na slici 23. Sadrži šest atributa:
- Feature ID
predstavlja ključ n-torke u tablici topologije (tj. ključ jedne definicije topološke
veze između dvije značajke).
- Fid_from
predstavlja oznaku (ključ) početne značajke.
- F_class_id_from
predstavlja oznaku klase značajki početne značajke.
- Fid_to
predstavlja oznaku krajnje značajke.
- F_class_id_to
predstavlja oznaku klase značajki krajnje značajke.
- Flow
definira smjer u kojem su značajke povezane: 1 – samo u smjeru od
početne do krajnje značajke; 2 – samo u smjeru od krajnje do početne
značajke; 3 – u oba smjera.
Aplikacijska proširivost Autodesk Topobase sustava
36
Slika 23. Tablica definicije odnosa logičke topologije
5.6.2. Pretraživanje po topologiji Pretraživanje po topologiji iz programskog sučelja za Topobase moguće je
preko sučelja definiranog u prostoru imena Topobase.LogicalTopology i
Topobase.Tracing. Prije definicije pretraživanja potrebno je dohvatiti logičku
topologiju definiranu u aktivnom dokumentu po kojoj će se pretraživati značajke:
Topobase.Data.Doc.Topologies.LogicalTopology logickaTopolo = (Topobase.Data.Doc.Topologies.LogicalTopology) dok.Connection.Topologies["TOPOLOGIJA MREZE LOG"];
Zatim je potrebno definirati predložak pretraživanja (eng. Network Search
Template) kao objekt klase NetworkSearchTemplate. Nad tim objektom
postave se svojstva:
Aplikacijska proširivost Autodesk Topobase sustava
37
predlozakPretrazivanja.Direction = Topobase.Data.Doc.Topologies.NetworkSearchTemplate.TraceDirection.Both;
Prvo svojstvo određuje smjer pretraživanja. U ovom slučaju algoritam
pretraživanja će uzimati u obzir odnos značajki u oba smjera. Osim Both, ovo
svojstvo je moguće definirati i kao Forward ili Backward. Ako je svojstvo
definirano kao Forward spojivost je definirana samo od početne značajke
pretraživanja do krajnje. Za Backward vrijedi obratno. Ovo svojstvo zapravo
postavlja kako će se pretraživanje ponašati s obzirom na vrijednost atributa Flow
iz tablice <ime_topologije>_LOG_CONN.
Drugo važno svojstvo je postavka načina pretraživanja:
predlozakPretrazivanja.Type = Topobase.Data.Doc.Topologies.NetworkSearchTemplate.TraceType.Reachability;
Reachability način pretraživanja ispituje koje značajke su dohvatljive
početnoj (tj. povezane s početnom) i sve takve vraća kao rezultat. Osim ove, kao
postavke ovog svojstva postoje i sljedeće vrijednosti:
- ShortestPath
Algoritam pretraživanja po najkraćoj stazi. Moguće je definirati bilo koji
atribut značajke kao cijenu (npr. duljinu značajke linija) ili je definirati kao
složeniji upit. Ako je atribut konstanta traži se staza s najmanje veza
(čvorova ili bridova).
- MinCostSpanningTree
Algoritam traži najkraće razapinjuće stablo. Potrebno je definirati cijenu.
- CycleDetection
Pronalazi zatvorene staze u grafu.
Konačno instancira se objekt klase LogicalTracing čiji konstruktor kao
argumente uzima objekt koji predstavlja definiciju topologije i objekt predloška
pretraživanja. Nad tim objektom poziva se metoda Trace s početnom i krajnjom
značajkom kao argumentima.
Aplikacijska proširivost Autodesk Topobase sustava
38
Slika 24. Topološka povezanost transformatora u aplikaciji
Na slici 24. prikazana je primjena topološkog pretraživanja na pronalaženje svih
transformatora koji su spojeni na istu električnu mrežu kao i transformator odabran
u prozoru sa listom transformatora. Transformatori se nalaze na malom dijelu
elektroenergetske mreže karlovačke županije prikazane na slici 25. koja je
uređena i unešena u sustav Topobase da posluži kao testni uzorak za
isprobavanje aplikacije.
Aplikacijska proširivost Autodesk Topobase sustava
39
Slika 25. Primjer elektroenergetske mreže karlovačke županije
5.6.3. Pretraživanje po topologiji s uvjetom zaustavljanja Pretraživanja se najčešće koriste upravo uz različite uvjete. Primjer za to u
elektroenergergetskoj mreži je pretraživanje mreže koja je pod naponom gdje se
kao uvjet zaustavljanja koristi isključeni prekidač ili rastavljač koji spaja dva
naponska voda. Takvo pretraživanje biti će napravljeno uz modifikaciju
pretraživanja iz prethodnog poglavlja. Definira se uvjet pretraživanja koji će biti
dodan predlošku pretraživanja. Uvjet se uvodi u obliku objekta klase
NetworkSearchCondition. Postavljaju se svojstva objekta:
- mojUvjet.Active = true;
Svojstvo označava da se uvjet primjenjuje.
Aplikacijska proširivost Autodesk Topobase sustava
40
- mojUvjet.IsCost = false;
Svojstvo označava da nije postavljena cijena (ne koristimo pretraživanje koje
to zahtjeva). Ako bi tražili najmanje razapinjuće stablo ili najkraću stazu ovo
svojstvo bi moralo biti postavljeno na true i SQL upit bi vraćao vrijednost
koja predstavljala cijenu pomoću koje pretražujemo.
- mojUvjet.Type =
Topobase.Data.Doc.Topologies.NetworkSearchCondition.Cond
itionType.NodeCondition;
Svojstvo označava da se uvjet ispituje u vrhu (čvoru), druga varijanta je
EdgeCondition koja postavlja ispitivanje uvjeta na bridu.
Najvažnije svojstvo uvjeta je SQL izraz koji se izvršava nad svakom novom
značajkom do koje pretraživanje dođe. Izraz je specifičan jer vraća dvije
vrijednosti: 0 ili 1. Ako je izraz vratio vrijednost 0 značajka nad kojom je upit
izvršen ne ispunjava uvjet zaustavljanja i pretraživanje se nastavlja dalje. Ako
izraz vrati vrijednost 1 navedena značajka zadovoljava uvjet zaustavljanja i
pretraživanje daljnjih značajki se prekida. Argument izgleda na sljedeći način
(sintaksa je deskriptivna radi preglednosti):
mojUvjet.SqlStatement = "case /* Point */";
"when &f_class_id=" + featurePrekidac.ID + "then (select 1 from " + featurePrekidac.Name +
" where fid=&fid and stanje=0)" + "else null" + "end ";
Specifične oznake u upitu su:
- &f_class_id
Predstavlja identifikaciju (ključ) klase značajki značajke nad kojom se
izvršava trenutni upit.
- &fid
Predstavlja ključ značajke nad kojom se izvršava trenutni upit.
Upit vraća 0 dok god ne dođe do značajke klase prekidač čija vrijednost atributa
stanje iznosi 0. Ta vrijednost označava prekidač koji je isključen, što je uvjet
zaustavljanja pretraživanja.
Aplikacijska proširivost Autodesk Topobase sustava
41
Slika 26. Prekidač između transformatorskih stanica Mljekara i TS Mekušje 35
Na slici 26. prikazan je smještaj prekidača čije stanje je za potrebe testiranja
postavljeno u stanje isključeno. Rezultat pokretanja pretraživanja u razvijenoj
aplikaciji prikazan je na slici 27. Uz zadani uvjet zaustavljanja u rezultate
pretraživanja iz transformatorske stanice TS Mekušje 35 nije uvrštena
transformatorska stanica Mljekara koja je isključena pomoću prekidača.
Pretraživanje iz iste transformatorske stanice bez uvjeta zaustavljanja prikazano
je u prošlom poglavlju na slici 24. U rezultatima je prikazana i transfomatorska
stanica Mljekara bez obzira što je prekidač između dvije stanice u stanju
isključeno.
Aplikacijska proširivost Autodesk Topobase sustava
42
Slika 27. Pretraživanje s uvjetom zaustavljanja i isključenim prekidačem unutar mreže
5.7. Instalacija dodatka Kao što je opisano u 5.1, dodatak je konfiguriran tako da se pri prevođenju sve
datoteke kopiraju u direktorij bin aplikacije Topobase Client. Datoteke koje se tamo
kopiraju nakon prevođenja su:
- TCplugin2.dll
- TCplugin2.pdb
- TCplugin2.dll.config
- TCplugin2.tbp
Aplikacijska proširivost Autodesk Topobase sustava
43
U prvoj datoteci sadržan je sam dodatak i prevedeni program. Druga datoteka
sadrži podatke o greškama prilikom izvršavanja programa u načinu izvođenja za
ispravljanje grešaka (eng. debug) i nije bitna za osnovno funkcioniranje dodatka.
U datoteci TCplugin2.dll.config sadržani su meta podaci aplikacije kao što su
ime korisnika i lozinka za bazu podataka. Nije vođeno računa o sigurnosti pa
podaci nisu kriptirani.
Datoteka TCplugin2.tbp je osim same datoteke s prevedenim programom
najvažniji dio dodatka i bez nje on ne bi bio učitan u aplikaciji Topobase Client.
Njoj aplikacija prvoj pristupa i iz nje čita informacije potrebne za učitavanje
dodatka. U njoj je navedeno ime datoteke biblioteke dodatka, ime klase u biblioteci
iz koje se dodatak izvodi, prioritet i informacije o autoru. U tbp datoteci moguće je
definirati još mnogo postavki, a detaljni format datoteke opisan je u [12].
Dodatak je moguće pokrenuti na bilo kojoj aplikaciji Topobase Client
odgovarajuće verzije tako da se datoteke tipa dll, config i tbp jednostavno kopiraju
u direktorij bin u glavnoj stazi aplikacije.Nakon ponovnog pokretanja aplikacije
dodatak će biti učitan i spreman za rad.
Aplikacijska proširivost Autodesk Topobase sustava
44
6. Zaključak Segmentiranost podataka u velikim infrastrukturnim sustavima veliki je problem
koji troši puno vremena i novaca poduzećima koja tim sustavima gospodare.
Razne vrste inženjerskih alata za projektiranje i proračune, inženjerski crteži,
tablice, dokumenti, baze podataka, sustavi za upravljanje poslovnim procesima,
sustavi za podršku odnosu s korisnicima i ostali svi imaju svoje vrste podataka koji
u većini slučajeva nisu međusobno sukladni.
Sustav Topobase nije zamišljen kao zamjena za sve te sustave već kao GIS
alat sa snažnim programskim sučeljem i centralnom bazom podataka koje mu
omogućava vrhunsku interoperabilnost i komunikaciju sa svakim od navedenih
sustava. U programskom sučelju moguće je stvoriti bilo kakav alat koji će čitati bilo
koji tip podataka za koji su dostupne specifikacije.
No, to je tek usputna prednost koja proizlazi iz moćnog programskog sučelja
koje je ipak prije svega namijenjeno razvijanju specijaliziranih GIS aplikacija
temeljenih na razvojnoj okolini dostupnoj u Topobase-u. Sa mnoštvom prostora
imena, klasa i metoda moguće je stvarati GIS alate s punom podrškom za rad sa
složenim topologijama koje je moguće prilagođavati po potrebi.
Pri razvoju aplikacije u ovom diplomskom radu najveći problem bilo je
pronalaženje odgovarajuće dokumentacije koja detaljnije opisuje programsko
sučelje. Bez zadovoljavajućih opisa klasa i metoda pojedine klase bilo je potrebno
mnogo isprobavanja po principu pokušaja i pogreške.
Primjer razvijen u ovom diplomskom radu pokazuje u kojem smjeru se može
kretati s razvojem aplikacija za Topobase i daje naslutiti koliko daleko se može
dospjeti uz odgovarajuću dokumentaciju. Daljnji razvoj aplikacije bi mogao
uključivati razvoj topologije i uvođenje dodatnog crteža za modeliranje
unutrašnjosti postrojenja u elektroenergetskom sustavu. Postoji još mnogo klasa
značajki definiranih u podatkovnom modelu čiji primjer upotrebe prelazi okvire
ovog diplomskog rada.
Aplikacijska proširivost Autodesk Topobase sustava
45
7. Literatura
7.1. Referencirana literatura 1. OpenGIS Project Document 99-049: OpenGIS Simple Features Specification For SQL
Revision 1.1, s Interneta, http://portal.opengeospatial.org/files/?artifact_id=829, 5. svibanj 1999.
2. FDO Data Access Technology - Project Home, s Interneta, http://fdo.osgeo.org , preuzeto 2. avibnja 2010.
3. Autodesk Geospatial: FDO Data Access Technology at a Glance, s Interneta, http://images.autodesk.com/adsk/files/fdo_at_a_glance_final0.pdf, 2006.
4. Autodesk Topobase Administrator Guide, s Interneta, http://images.autodesk.com/adsk/files/topobase_2010_administrator_guide.pdf, 2009.
5. Christian, M: GS204-3: From CAD Data to Spatial Databases with AutoCAD Map 3D, s Interneta, http://augiru.augi.com/content/library/au07/data/paper/GS204-3.pdf, 2007.
6. Oprimizing Design and Spatial Data Management using the Topobase API, s Interneta, http://www.topobase.si/Portals/14/doc/WhitePaper/topobase_api_overview.pdf , 2008.
7. Sarkar, P: Autodesk Topobase API: Optimizing Spatial Data Access and Management, s Interneta, http://augiru.augi.com/content/library/au07/data/paper/DE319-3.pdf, 2007.
8. Autodesk Topobase Technical Architecture, s Interneta, http://images.autodesk.com/apac_sapac_main/files/autodesk_topobase_technical_architecture.pdf, 2008.
9. Display model tutorial, s Interneta, http://images.autodesk.com/adsk/files/topobase_display_model_tutorial.pdf, 2009.
10. Taking a Closer Look at the Autodesk Topobase API, s Interneta, http://images.autodesk.com/latin_am_main/files/topobase_api_white_paper.pdf, 2008.
11. Markezić, N: Napredni geoinformacijski sustavi za upravljanje podacima u elektrodistribucijskoj djelatnosti, veljača 2010.
12. Autodesk Topobase Developer’s Guide, s Interneta, http://images.autodesk.com/adsk/files/topobase_2010_install_configuration_guide.pdf, 2009.
13. Boos, A; Oswald, D; Saunders, J; Rojas, V: The Topobase Insiders, s Interneta, http://topobaseinsiders.typepad.com/, preuzeto 4. Svibnja 2010.
14. Škrlec, D; Skok, M; Zmijarević, Z: Izvedbena studija uvođenja GIS-a u HEP Distribucija d.o.o. D.P. Elektra Koprivnica, listopad 2006.
15. Galić, Z: Geoprostorne baze podataka, prosinac 2006.
7.2. Ostala literatura 1. Oracle Database 10g: Administration Workshop I, Volume I, Student Guide, studeni 2005. 2. Autodesk Topobase Client API Help