Nyugat-Magyarországi Egyetem Geoinformatikai Kar
Magyar Tudomány Ünnepe 2007 A térinformatika mindenkié
GIS fejlesztés Web platformra nyílt forráskódú ingyenes eszközökkel
Kottyán László adjunktus
Tartalom • • • •
Kliens – szerver kommunikáció, Ajax Mashup API-k Szervezetek, szabványok Kliens - szerver WebGIS megoldások – GeoServer- MapBuilder – MapGuide Open Source
Ajax = Asynchronous JavaScript and XML • •
•
Előzmények: „kattints és várj”, keretek, iFrame, JavaScript, DOM, XMLHttp. Technológiák: – Kliens oldal: XML/XHTML, DOM, JavaScript, XMLHttp, XSLT, CSS – Szerver oldal: PHP, Java szervlet, .NET (Zakas et. al., 2007). Az Ajax megoldásban a JavaScript közvetlenül kommunikál a szerverrel, az XMLHttpRequest objektumon keresztül. Ezáltal a JavaScript az oldal ismételt letöltése nélkül cserélhet adatot a webszerverrel. (W3 Schools)
• A lényeg: felhasználói élmény fokozása, új felhasználói interakciók • A Web 2.0 része. • Példák: Google Suggest, Gmail, Google Maps
HTTP-kérés Lekérdezés
Internet Adatok Adatbázis
Webszerver
Szerver
HTML, CSS
Hagyományos webes alkalmazásmodell
HTTP-kérés
Lekérdezés
Böngésző
Kliens
JavaScript hívás
Internet Adatok Adatbázis
Szerver Forrás: Garrett, 2005 alapján
Webszerver
XML adatok
Ajax-alapú webes alkalmazásmodell
Ajax HTML, GUI CSS motor Böngésző
Kliens
Google Maps API • Mashup alkalmazások készítése • Magáncélra ingyenes • Megjelenítés: vezérlőelemek, térkép mozgatása, információs ablakok, jelölők • Szolgáltatások: KML és GeoRSS, geokódolás, keresés • Egyéb megoldások: Yahoo! Maps Web Services - Geocoding API, Virtual Earth Interactive SDK, OpenLayers
http://maps.google.com/maps/geo?q=1.+Pirosalma, +Szekesfehervar,+HU&output=kml&key=...
Az első mashup:www.chicagocrime.org
Open Source Geospatial Foundation • Webes projektek: – Mapbender – MapBuilder – MapGuide Open Source – MapServer – OpenLayers (OSGeo)
Open Geopatial Consortium • •
Az OGC (Open Geospatial Consortium) egyik fő küldetése a nyílt térinformatikai szabványok kidolgozása. Néhány: – a GML (Geography Markup Language) szabvány a térbeli, geometriai adatok leírására szolgál. (Cox et al., 2005 ) – a Web Map Service (WMS) használatával a kiszolgáló a térbeli információkat, dinamikusan generált digitális képi állományként közvetíti a kliens alkalmazás részére. (Beaujardiere, 2006 ) – a Web Feature Service (WFS) lehetővé teszi a kliensek számára a kiszolgálók által biztosított, GML-ben kódolt térbeli adatok elérését, támogatja az INSERT, UPDATE, DELETE, QUERY és DISCOVERY műveleteket végrehajtását a geometriai elemeken. (Vretanos, 2005 ). A WMS és WFS kérés - kiszolgálás a Http protokollon keresztül valósul meg. – a Styled Layer Descriptor (SLD) egy XML schema, amellyel a WMS, WFS, WCS (Web Coverage Service) adatok kliensoldali megjelenítése írható le. (Lalonde, 2002)
http://www2.demis.nl/wms/wms.asp?Service=WMS&WMS=BlueMarbl&Version =1.1.0&Request=GetMap&BBox=-20,40,60,40&SRS=EPSG:4326&Width=400&Height=400&Layers=Earth%20Im age,Borders,Coastlines&Format=image/gif WMS/WFS szerver lekérdezés: GetCapabilities Biztonság: GeoXACML (Geospatial eXtensible Access Control Markup Language) az Oasis XACML szabvány kiterjesztése a térbeli adatokra, amely lehetővé teszi biztonsági politika és hozzáférés szabályozási rendszer kialakítását a szolgáltatásalapú térbeli adatinfrastruktúrákhoz. A GeoXACML jelenleg még nem OGC szabvány, azonban megoldást kínál a OGC szabványok alapján fejlesztett alkalmazások adatvédelmi elemeinek kialakítására. (OGC, 2007)
GeoXACML architektúra
(GeoXACML, 2007)
GeoServer • Nyílt forráskódú, támogatja az OGC WFST és WMS protokolljait, amelyekkel többek között JPEG, PNG, SVG, KML/KMZ, GML, PDF és Shapefile típusú adatokat szolgáltat a kliensek számára. • Webszerver: TomCat, Jetty, OC4J, JBoss • Adatbázisok: PostGIS, Oracle, ArcSDE, DB2, MySQL,… (GeoServer, 2007)
Főbb funkciói •
Adat konfiguráció – Adattár beállítás: kapcsolat kialakítása az adatforráshoz – Feature típus készítés: a kapcsolódó adattárakból a vektoros térképi információk, rétegek beállítása – Coverage tárolás: a képi állományok típusának és helyének meghatározása – Coverage készítés: a képek beállításai
•
Adatkezelés – Az OGC Web Map Service protokollal a kliens alkalmazások számára a térképi információk raszteres állományokként történő elérését teszi lehetővé a GeoServer – Az OGC Web Feature Service protokollal a kliensek hozzáférhetnek a GML formában kódolt térbeli adatokhoz. A GeoServer lehetővé teszi a WFS műveletek (INSERT, UPDATE, DELETE, QUERY, DISCOVERY) használatát is a Http protokollon keresztül.
MapBuilder • A MapBuilder egy térképező kliens alkalmazás, amely böngészőben fut. Képes megjeleníteni a WMS, WFS, GeoRSS és Google Maps adatokat. A MapBuilder a térképek azonnali megjelenítéséhez AJAX technikát alkalmaz. (MapBuilder, 2007)
GeoServer – MapBuilder alkalmazás architektúrája
MapGuide Open Source • •
A MapGuide Open Source (MGOP) az Autodesk cég ingyenes, nyílt forráskódú szoftver platformja Web alapú GIS alkalmazások fejlesztéséhez. Felépítés: – MapGuide Server : feladata a kliens kérések kiszolgálása, ehhez hét szolgáltatást biztosít (Site Service, Resource Service, Drawing Service, Feature Service, Mapping Service, Rendering Service, Tile Service). – MapGuide Web Server Extensions: belső komponeneseket tartalmaz, amelyek a MapGuide Web API-n kersztül érhetőek el a fejlesztők számára; biztosítja a szerver oldali programozás lehetőségét ASP.NET, Java/JSP és PHP környezetekben; együttműködve a Microsoft IIS vagy az Apache Web szerverekkel Web kiszolgálóként funkcionál. – MapGuide Viewer: DWF-alapú vagy AJAX-alapú kliens, amely testreszabható, programozható felhasználói felületet biztosít. – MapGuide Web Studio: Web alapú szerkesztő eszköz az adatforrások, rétegek, térképek kezeléséhez. – MapGuide Site Administrator: webes adminisztrációs felület, a szerver felügyelethez (MapGuide Open Source, 2007)
Háromrétegű kliens-szerver architektúra.
(MapGuide Open Source, 2007)
Légszennyezettségi alkalmazás
Attribútum adatok lekérdezése
Keresés funkció
Biomonitoring alkalmazás – mintaterület fényképpel
Irodalom 1. Beaujardiere, de la J.(2006), OpenGIS® Web Map Server Implementation Specification, OGC® 06-042,Open Geospatial Consortium, http://www.opengeospatial.org/standards/wms , (2007.05.11.) 2. Cox, S. et al.(2005), OpenGIS® Geography Markup Language (GML) Encoding Specification, OGC 02-023r4, Open Geospatial Consortium, http://www.opengeospatial.org/standards/gml , (2007.05.11.) 3. Garrett, J. J. (2005): Ajax: A New Approach to Web Applications, http://www.adaptivepath.com/ideas/essays/archives/000385.php (2007.10.11.) 4. GeoServer Home, http://docs.codehaus.org/display/GEOS/Home, (2007.05.08.) 5. GeoXACML Home, http://www.geoxacml.org/ (2007.11.10.) 6. Lalonde, W.(2002), Styled Layer Descriptor Implementation Specification, OGC 02070, Open Geospatial Consortium, http://www.opengeospatial.org/standards/sld , (2007.05.11.) 7. Mapbuilder Home, http://communitymapbuilder.org/, (2007.05.08.) 8. MapGuide Open Source, http://mapguide.osgeo.org, (2007.04.13.) 9. Open Geospatial Consortium (2007), Geospatial eXtensible Access Control Markup Language (GeoXACML), Draft, (2007.05.11.) 10. OSGeo Home, http://www.osgeo.org/ (2007.11.10) 11. Zakas, N. C., McPeak, J., Fawcett, J. (2007) Professzionális Ajax – a második kiadás fordítása, Szak Kiadó, Bicske 12. Vretanos, A. P.(2005), Web Feature Service Implementation Specification, OGC® 04-094, Open Geospatial Consortium, http://www.opengeospatial.org/standards/wfs , (2007.05.11.) 13. W3 Schools, AJAX Tutorial, http://www.w3schools.com/ajax/default.asp, (2007.03.19.)