Geografinė informacinė sistema – kompiuterinė sistema, kuri saugo ir naudoja duomenis, apibūdinančius objektus žemės paviršiuje. Kursinis darbas.

Įvadas

Pastaruoju metu sparčiai vystantis technologijom, neišvengiamas tampa  realaus pasaulio atvaizdavimas kompiuteryje. Šiam tikslui įgyvendinti yra kuriamos Geografinės Informacinės Sistemos (GIS). Tai realių grafinių duomenų ir jų atributinių reikšmių saugojimo, apdorojimo ir išrinkimo technologija. Profesoriaus David Rhind knygos  “Understanding Gis: The Arc Info Method PC Version” autoriaus nuomone GIS tai:
•    kompiuterių ir programinės įrangos sistema, kurios pagalba surenkami, tvarkomi, atnaujinami, analizuojami ir modeliuojami erdviniai duomenys, naudojami planavimo ir valdymo uždaviniams spręsti;
•    kompiuterinė sistema, kuri saugo ir naudoja duomenis, apibūdinančius objektus žemės paviršiuje.
GIS privalumas prieš kitas informacines sistemas erdvinės analizės funkcijos: erdvinių, atributinių, integruota erdvinių ir atributinių duomenų analizės bei galutinių rezultatų pakeitimas. Pranašumas labiausiai pasireiškia kartu analizuojant geografinius ir atributinius duomenis. Ši funkcija kaip tik ir atskiria GIS nuo automatizuotos žemėlapių gamybos ir kompiuterizuotos apskaitos sistemų. Analizės procedūros funkcijos galėtų būti suskirstytos į 4 kategorijas: atgaminimas, klasifikavimas, apskaičiavimas; sluoksnių ir kelių, kitų linijinių objektų tinklo analizė ir valdymas.
Geografinės informacinės sistemos turi penkis pagrindinius komponentus:
•    Hardware – techninė sisteminė dalis. GIS remiasi duomenų saugojimų  kompiuteryje. Nedideliems uždaviniams spręsti gali užtekti ir paprasto personalinio kompiuterio, tuo tarpu dideliems ar dideliam skaičiui uždavinių spręsti jau reikalingi serveriai arba specialūs didelio galingumo kompiuteriai. Be kompiuterių darbe su GIS naudojama ir daug kitų prietaisų:skeneriai (žemėlapių ir paveiksliukų skenavimui), GPS imtuvai (naudojami tikslios padėties ar judėjimo nustatymui) ir kt.
•    Software – programinė įranga. Bet kuri GIS programinė sistema pasižymi gebėjimu saugoti, valdyti, nukreipti, išrinkti reikiamą bei apdoroti turimą informaciją.
•    Data – duomenys. Duomenys GIS sistemose gali būti dviejų rūšių: Geografiniai (erdviniai) ir atributiniai. Geografiniai duomenys gaunami skenuojant žemėlapius ar palydovines nuotraukas, tuo tarpu atributiniai duomenys yra „pririšti“ prie tam tikrų objektų ir turi konkrečią reikšmę (geografinis duomuo – upė Nėris ir jos atributiniai duomenys – ilgis, gylis ir kt.).
•    People – žmonės – GIS programuotojai ir GIS vartotojai.
•    Methods – metodai skirti duomenų apdorojimui, valdymui ir tikslinimui.

Dynamic Link Library (toliau DLL) failų kūrimas

Šiame darbe buvo sukurti keturi DLL failai:
•    MyPoints.dll
•    MyPolyline.dll
•    MyPolygone.dll
•    LoadLyr.dll
kiekvienas jų kuria atskirą mygtuką ArcMap programoje. DLL failai buvo kuriami naudojant Visual Basic 6.0 kompiliatorių ir specialų ActiveX  DLL projektą (projektą galima pasirinkti meniu juostoje File ->New Project -> ActiveX DLL ). Reikalingos grafinių elementų bibliotekos buvo pasiektos per „References“, įterpus ESRI Object Library. Šis „References“ susieja ArcMap ir Visual Basic 6.0 objektus. Kiekvieną mygtuką (DLL failo programinį kodą) sudaro pagrindinė klasė, paveldinti Icommand interface‘ą, ir formos klasė, leidžianti vartotojui pasirinkti norimą failo pavadinimą.

„Button“ klasės vieta ESRI ArcGis objektų diagramoje

1. Pav. Button klasės vieta ESRI ArcGis objektų diagramoje

Klasių UML diagramos pavyzdys

2. Pav. Klasių UML diagrama
Programos veikimo aprašymas

Visų keturių sukurtų mygtukų veikimo principas labai panašus. Įkėlus mygtuką į įrankių juostą „MyTools“ suveikia metodas  Class1::ICommand_OnCreate( ByVal hook As Object) ir inicializuoja kintamąjį m_pApp.
Paspaudus mygtuką suveikia metodas Class1:: ICommand_OnClick(). Šis metodas inicializavęs kintamuosius iškviečia forma „Form1“ į kurios tekstinį lauką „Text1“ reikia įvesti norimą failo pavadinimą. Šis vardas priskiriamas klasės „Class1“ kintamajam „strName“, kuris kartu su kintamuoju „strFolder“ inicializuos kuriamo (atidaromo) failo vardą ir tikslią vietą.
Vėliau kuriamas pats „shape“ failas, nurodant skirtingus bruožus (Polygon, Polyline, Point) ir atributinių reikšmių laukai (Text, Integer, Small Integer ir kt.).
Sukūrus tokį failą iškviečiamas  šio failo įkėlimo į ArcMap terpę metodas. Reikiamas failas randamas pasinaudojant tais pačiais „strName“ ir „strFolder“ kintamaisiais. Įkėlus sukurtąjį failą metodas Class1:: ICommand_OnClick() savo darbą baigia.
Mygtuko „Add layer from file“ veikimas skiriasi tuo, kad po mygtuko paspaudimo suveikęs metodas Class1:: ICommand_OnClick() naujo failo nekuria, tik įkelia pasirinktą failą į aktyvųjį ArcMap langą.

Mygtukų įterpimas į ArcMap programą

Paleidus ArcMap programą atidaromas tuščias žemėlapis ir sukuriama nauja mygtukų juosta „MyTools“. Šios juostos kūrimas atliekamas pasirinkus „Tools“ iš meniu juostos, vėliau „Customize“ (3. pav.).

3. Pav. “Tools” pasirinkimas iš menių juostos

Atsidariusiame „Customize“ lange, „Toolbars“ lape buvo pasirinktas „New“ ir įvestas naujos mygtukų juostos pavadinimas – „MyTools“ (4. pav.).

4. Pav. Naujos įrankių juostos kūrimas
Jei visi žingsniai buvo atlikti teisingai, “ToolBars“ lape turėjo atsirasti sukurtoji juosta  (5. pav.).

5. Pav. Naujos įrankių juostos pavyzdys
„MyTools“ juostoje buvo išdėstyti visi mygtukai. Tai buvo atlikta atidarius tą patį „Customize“ langą (atidaromas kartojant tuos pačius žingsnius kaip ir juostos „MyTools“ kūrime) tik pasirinkus „Commands“ lapą. Reikiamas failas (*.dll) buvo pasirinktas paspaudus „Add from file“ mygtuką (6. pav.).

6. Pav. Dll failo atidarymas

Atidarius pasirinktą failą (MyPoints.dll) „Comands“ lape susikuria nauja kategorija „MyTools“ aprašyta mygtuko programiniame kode metodu :

Private Property Get ICommand_Category() As String
ICommand_Category = “MyTools”
End Property

Jei tokia kategorija jau buvo sukurta anksčiau, tai ji tiesiog pasipildo nauju mygtuku. Jei pasirinktasis *.dll failas buvo teisingas, parodoma kokie objektai buvo pridėti (7. pav.)  ir vykdomas mygtuko pridėjimas (8. pav.) , jei ne – išvedama informacija kad naujų objektų pridėti nepavyko.

7. Pav. Naujų objektų peržiūra

8. Pav. Mygtuko sukūrimas

Sukūrus mygtuką, beliko jį patalpinti anksčiau sukurtoje mygtukų juostoje „MyTools“. Reikia pastebėti, kad mygtukų juosta „MyTools“ ir mygtuko kategorija „MyTools“ yra skirtingi dalykai, jų pavadinimai gali ir nesutapti. Mygtuko patalpinimas „MyTools“ juostoje buvo vykdomas „Drag and Drop“ būdu, t.y. su pele jį nutraukiant ir padedant reikiamoje vietoje – „MyTools“ juostoje (9. pav.).

9. Pav. Mygtuko įkėlimas į įrankių juostą

Tokiu pačiu būdu kartojant žingsnius buvo įkelti visi keturi mygtukai. (10. pav.).
10. Pav. Nauja įrankių juosta

Kad mygtukų juosta „MyTools“ atrodytų tvarkingiau – mygtukų pavadinimai buvo paslėpti po paveiksliuku. Tai padaryta paspaudus dešinįjį pelės klavišą ant mygtuko ir pasirinkus „Image only“ mygtuko vaizdavimo būdą. Mygtuko paveiksliukas buvo nurodytas pasirinkus „Change Button Image“ (11. pav.).

11. Pav. Įrankių juostos tvarkymas

Po šių pertvarkymų mygtukų juosta „MyTools“ tapo daug patrauklesnė (12. pav.).

12. Pav. Sutvarkyta įrankių juosta

Mygtukų veikimas ArcMap programiniame pakete

Užduočiai realizuoti buvo sukurti 4 mygtukai:
•    MyPoints
•    MyPolyline
•    MyPolygone
•    Add layer from file
„MyPoints“ – sukuria taškų „shape“ failą ir jį įkrauna į ArcMap aktyvųjį langą. „MyPolyline“ – sukuria linijų „shape“ failą ir jį įkrauna į ArcMap aktyvųjį langą, o „MyPolygone“ – sukuria ir įkrauna poligonų „shape“ failą. Ketvirtasis „Add layer from file“ mygtukas įkrauna į ArcMap aktyvųjį langą nurodytą *.lyr failą. Paspaudus vieną iš trijų pirmųjų mygtukų ekrane pasirodo dialoginis langas, kuriame galima įvesti norimo sukurti shape failo pavadinimą (13. pav.).   Būtent tokiu vardu bus pavadintas naujasis sluoksnis įkeltas į Layers lauką. Tai bus tuščias, nurodytojo tipo (points, polygon, polyline) failas, tačiau talpins 10 stulpelių su skirtingomis atributinėmis reikšmėmis (short integer, long ineger, text, double, date ir kt.).

13. Pav. Mygtuko forma

Analogiškai paspaudę visus tris shape failų kūrimo mygtukus (MyPoints, MyPolygone, MyPolyline) ir suvedę norimus pavadinimus (ManoTaskai, ManoPolygonas, ManoPolyline) turėsime tris aktyvius sluoksnius. Visi shape failai bus sukurti direktorijoje C:\Temp\GisFiles. Kaip pavyzdys pateikiama shape failo ManoPolyline atributinių reikšmių lentelė (14. pav.).

14. Pav. ArcMap langas ir atributinių duomenų lentelė
Panašiai veikia ir ketvirtasis mygtukas – Add Layer from file. Paspaudus jį, ekrane pasirodo dialoginis langas, į kurį reikia įvesti norimo atidaryti *.lyr failo vardą ir pilną kelią iki jo. Teisingai įvedę failo vardą, aktyviojo ArcMap lango Layers lauke, pamatysime įkrautąjį sluoksnį.

Išvados

1.    Sukurti shape failų mygtukai palengviną darbą, sumažina laiko sąnaudas.
2.    Sukurti shape failų mygtukai gali padėt išvengt darbo su ArcCatalog.
3.    Sukurti konkretaus tipo atributinių reikšmių stulpeliai leidžia išvengti duomenų neatitikimo.
4.    Dirbant su *.lyr failu galima apsisaugoti nuo duomenų praradimo.

Literatūra

1.    http://arcobjectsonline.esri.com/
2.    http://maic.jmu.edu/sic/gis/components.htm
3.    http://corpweb.semcor.com/gis/about/components.html
4.    http://forums.esri.com/Thread.asp?c=93&f=992&t=109048&mc=2
5.    http://www.lvmi.lt/lmis/straipsniai/galaun.htm