Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

GeoServer, OpenLayers és WFS Dolleschall János 2009. 08. 17.

Hasonló előadás


Az előadások a következő témára: "GeoServer, OpenLayers és WFS Dolleschall János 2009. 08. 17."— Előadás másolata:

1 GeoServer, OpenLayers és WFS Dolleschall János 2009. 08. 17.

2 A GeoServer A GeoServer egy nyílt forráskódú szerver szoftver, ami lehetővé teszi térbeli adatok megosztását. Java-ban íródott, így platformfüggetlen. A legtöbb térbeli adatformátum használható benne, nyílt szabványok (WFS, WMS, WCS) segítségével. A térképi állományok böngészőben történő kezeléséről az OpenLayers gondoskodik. 2001 óta fejlesztik.

3 A Data mappa geoserver-1.7.5 / data_dir / data Ebben a mappában célszerű tárolni a térképi adatokat. Ezt a mappát a GeoServer akkor is eléri, ha a teljes szervert másik gépen futtatjuk vagy a geoserver mappát más könyvtárba helyezzük. Hivatkozás a data mappára a catalog.xml-ben: Abszolút útvonal: value="file://C:/gis_data/foo.shp"file://C:/gis_data/foo.shp Relatív útvonal: value="file:data/foo.shp"file:data/foo.shp

4 Feature Data Set készítése A tudtára kell adni a GeoServernek, hogy az adott vektoros állományt hol érheti el. Meg kell adni az elérési útvonalat (abszolút/relatív). Meg kell adni a „Namespace”-et. Ez egy konténer, amely a layer-ek egy csoportját tartalmazza. Lehetővé teszi, hogy azonos nevű layer-eket használjunk.

5 FeatureType szerkesztése Meg kell adni a megjelenítendő vektor réteg stílusát. Ez kiválasztható egy listából, de lehet egyedi is. Definiálni kell az SRS-t (Spatial Reference System). Listából kiválaszthatóak a GeoServer által ismertek. 23700-as jelű az EOV. Automatikusan generálni lehet a „Bounding Box”-ot az SRS megadása után.

6 SLD készítése Styled Layer Desrciption. Itt készíthetünk egyedi stílust a layer-hez. Egyszerűbb stílusok grafikus felületen elkészíthetőek. Az SLD XML alapon nyugszik. XML kód írásával egészen egyedi megjelenítési módok is kreálhatóak. A szükséges XML kódok a GeoServer dokumentációjában megtalálhatóak.

7 A DEMO lap Map Preview Itt tekinthetőek meg az egyes layer-ek WMS és OpenLayers segítségével. Sample Request WMS, WCS és WFS lekérdezést próbálhatjuk ki, előre definiált példákkal. WFS-T demo A WFS-T (transactional) kéréseket mutatja be az OpenLayers segítségével. A példa térkép rétegeit szerkeszthetjük. Overlay on Google Maps A Google Maps térképek és a GeoServer layer-ek együttes megjelenítésére mutat példát. Egyebek: Documentation, GeoRSS, WMS Example

8 Map Preview A Map Preview-ban láthatóak azok a térképi állományok, melyeknek korábban megadtuk az elérési útvonalát, belehelyeztük őket egy Namespace-be, definiáltuk a stílusát és koordináta rendszerét. Megtekinthetjük őket OpenLayers segítségével. Letölthetőek KML és PDF formátumban. Megtekinthetőek GeoRSS és SVG formában.

9 OpenLayers Az OpenLayers egy nyílt forráskódú JavaScript könyvtár, egyfajta keretrendszer, mely lehetővé teszi térképes adatok megtekintését web böngészőkben.

10 OpenLayers a GeoServerben A GeoServer beépítetten tartalmazz az OpenLayers-t. Egyszerű eszköztár áll rendelkezésre alapértelmezetten: navigáló gombok, grafikai beállítások, lekérdezési lehetőség. CQL: Common Query Language Egyszerű szöveges lekérdező nyelv, az SQL-hez hasonló, de egyszerűbb. Részletes tutorial a geoserver.org-on.

11 OpenLayers – a HTML Az OpenLayers bármely weboldal készítésénél felhasználható, ha térképet szeretnénk megjeleníteni az oldalon. Egy egyszerű HTML file formájában könnyen megérthető a működése. A következő HTML lap egy világtérképet jelenít meg WMS segítségével, mely egyszerű navigáló OpenLayers felülettel van ellátva.

12 OpenLayers – a kód A kód felépítése: - kell egy script címke, ami hivatkozik az OpenLayers könyvtárra: http://openlayers.org/api/OpenLayers.js - létre kell hozni egy térkép objektumot: var map = new OpenLayers.Map('map') - layer objektum létrehozása, jelen esetben WMS segítségével: var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} ) - layer hozzáadása a térképhez: map.addLayer(wms) - a nagyítás beállítása teljes terjedelemre: map.zoomToMaxExtent() -

13 OpenLayers & GoogleMaps OpenLayers segítségével nem csak WMS térképeket tudunk kezelni, hanem WFS vagy akár Google térképeket is. 2 tag kell a HTML kódhoz: - egy script címke, mely hivatkozik a Google-re: http://maps.google.com/maps - Google típusú Layer objektumot kell létrehozni: var google = new OpenLayers.Layer.Google("Google",{type: G_HYBRID_MAP})

14 OpenLayers vezérlők Az OpenLayers oldalán részletes dokumentáció áll rendelkezésre az OpenLayers használatával kapcsolatosan. Megtalálhatóak a szükséges kódrészletek például különböző vezérlők elhelyezésére a térképfelületen. var map = new OpenLayers.Map('map', { controls: [] }); map.addControl(new OpenLayers.Control.PanZoomBar()); map.addControl(new OpenLayers.Control.MouseToolbar()); map.addControl(new OpenLayers.Control.MousePosition()); map.addControl(new OpenLayers.Control.ScaleLine()); map.addControl(new OpenLayers.Control.LayerSwitcher({'ascending':false}));

15 WFS A WFS az OGC által készített szabvány, melynek segítségével térbeli adatok küldhetők és fogadhatók HTTP-n keresztül. A WFS GML (Geography Markup Language) formátumban kódolja és továbbítja az információt. A GML az XML egy altípusa. A legfontosabb különbség a WFS és WMS között, hogy az utóbbi a földrajzi információkat digitális képpé alakítja. A WFS-re lehet úgy gondolni, mint a térképek mögötti forráskódra, melyet pl. WMS segítségével meg is jeleníthetünk. A WFS lehetővé teszi az adatok manipulációját: lekérdezés (térbeli vagy leíró adatok alapján), új elemek létrehozása, elemek törlése vagy módosítása. Az utóbbi 3 funkciót a WFS-T (transactional) teszi lehetővé.

16 WFS műveletek GetCapibilities: a szerver adatairól ad vissza egy listát, a lehetséges WFS műveletekkel és paraméterekkel DescribeFeatureType: adatok egy csoportjáról ad információkat és attribútumokat GetFeature: az aktuális adatot adja vissza, geometriai és attribútum információkkal LockFeature: megakadályozza, hogy egy elemtípus szerkeszthető legyen Transaction: egy elemtípus szerkesztése (létrehozás, törlés, módosítás)

17 Példák http://www.example.com/wfs? service=wfs& version=1.1.0& request=GetFeature& typeName=namespace:featuretype& featureID=feature http://www.example.com/wfs? service=wfs& version=1.1.0& request=GetFeature& typeName=namespace:featuretype& bbox=a1,b1,a2,b2 http://www.example.com/wfs? service=wfs& version=1.1.0& request=GetCapabilities http://www.example.com/wfs? service=wfs& version=1.1.0& request=DescribeFeatureType& typeName=namespace:featuretype

18 WFS kérés XML A WFS kéréseket nem csak HTTP formában küldhetünk. Lehetőség van XML írására is, mely egy kérést tartalmaz. Erre mutat példákat a GeoServer. A kérésre kapott válasz (.gml) ezután megtekinthető GIS szoftverrel (pl. QGIS) vagy megjeleníthető WMS-el.

19 WFS-T A GeoServer WFS-T példájával kipróbálható pont, illetve vonal típusú rétegek módosítása. A rétegek manipulálását a WFS-T, illetve a megfelelő OpenLayers vezérlők teszik lehetővé.

20 WMS - WFS /home/Johnny/Dokumentumok/states_wms.html /home/Johnny/Dokumentumok/states_wfs.html

21 WFS nehézségek OpenLayers FAQ-ból: Why isn't WFS working on my local checkout of OpenLayers? This is probably because you do not have a proxy host set up. See FrequentlyAskedQuestions#ProxyHost http://trac.openlayers.org/wiki/FrequentlyAskedQuestions#ProxyHo st


Letölteni ppt "GeoServer, OpenLayers és WFS Dolleschall János 2009. 08. 17."

Hasonló előadás


Google Hirdetések