../../_images/logo_pygeoapi.png ../../_images/OSGeo_project.png

pygeoapi gyorstalpaló

A pygeoapi egy eszköz az OGC Open API szolgáltatások gyors webes publikálásához. A (geo)python közösség hatékony nyílt forráskódú könyvtáraira épül.

Ebben a gyorstalpalóban bemutatjuk a szoftver beállítását, és konkrét esetekben használjuk. Menet közben néhány kapcsolódó szoftverrel is találkozunk, mert a pygeoapi egy olyan termék, melyet általában más komponensekkel használunk egy probléma megoldása során.

Előzetes ismeretek

A pygeoapi egy webes alkalmazás a térinformatika területén, így tisztában kell lennie a webalkalmazások fogalmaival és a térinformatikai szempontokkal, például a raszter és vektor formátumokkal, OGC szabványokkal és vetületi rendszerekkel. A Python ismerete ajánlott, habár anélkül is boldogulhat, ha az alkalmazást az OSGeoLive-ból futtatja.

A szolgáltatás konfigurálása és indítása

  1. A Start menüből válassza a menuselection:Structure –> osgeolive –> appmenupath –> pygeoapi-t. Az alkalmazás egy honlapot nyit meg a http://localhost:5000 címen

  2. navigáljon a felhasználói mappába /usr/local/share/pygeoapi és keresse meg a pygeoapi-config.yml` fájlt. Ez a fájl tartalmazza a szolgáltatás konfigurációját.

  3. Nyissa meg a sudo nano pygeoapi-config.yml fájlt.

  4. Aktualizáljon néhány paramétert, mint például Title és Author és mentse a fájlt.

  5. Indítsa újra a szolgáltatást, például a terminál ablak lezárásával és a szolgáltatás ismételt indításával

    ../../_images/pygeoapi_screenshot.png

Új szolgáltatás konfigurálása

Most bevetünk egy vektoros adatkészletet a pygeoapi-ban, és elérhetővé tesszük az elemeit mint OGC API - Elemeket. Az OGC API – Elemek az OGC szabványa a vektorelemek webszolgáltatásként való elérhetővé tételére. Az OGC API - Elemek a WFS OpenAPI alternatívája.

a pygeoapi számos háttérbázist támogat vektorforrásként való használatra, pl. geopackage, PostGIS, Elasticsearch, WFS stb. A GDAL OGR szolgáltatón keresztül szinte korlátlan számú más vektorforrás adható hozzá.

Az OGC API-Elemekkel érdekes valós adatokat tartalmazó adatállományokat fedezhet fel, melyek több attribútummal rendelkeznek és linkekkel más adatforrásokra. Az OSGeoLive számos olyan adatállományt tartalmaz, amelyet felhasználhatunk. Egy példa a /var/www/html/openlayers/examples/data/geojson/countries.geojson. A pygeoapi-ban a GeoJSON adatszolgáltató segítségével konfigurálhatja.

  1. Töltse le a GeoJSON fájlt és helyezze el a tests/data mappába.

  2. Frissítse a pygeoapi-config.yml-t a countries új gyűjtemény hozzáadásával a pygeoapi-hoz (szúrja be az alábbi részletet a többi gyűjtemény közé. Figyeljen az egymásba ágyazásra., az egymásba ágyazás fontos a YAML szintaxisban).

countries:
   type: collection
   title: Countries
   description: Countries of the world
   keywords:
      - industry
   links:
      - type: text/html
        rel: canonical
        title: information
        href: https://openlayers.org
        hreflang: en-US
   extents:
      spatial:
         bbox: [-180,-90,180,90]
   providers:
      - type: feature
        name: GeoJSON
        data: /var/www/html/openlayers/examples/data/geojson/countries.geojson
        id_field: name
  1. pygeoapi újraindítás

Ellenőrizze az elérhető gyűjteményeket a a böngészőben a http://localhost:5000/collections/countries címen

Web böngésző használata az API lekérdezésre

Most, hogy a szolgáltatás már elérhető, különböző kliens eszközökkel lekérdezhetjük. A gyűjtemény minden egyes eleme elérhető gyakori formátumokban, mint például HTML, GeoJSON és GML. Kezdéshez használhatjuk a web böngészőt a szolgáltatás áttekintéséhez . A http://localhost:5000/collections/countries-től ássunk le az egyes elemekig. A szolgáltatás automatikusan észleli (accept header), hogy webböngészőt használunk, és az elemek HTML reprezentációját adja vissza. Vegye észre a jobb felső sarokban az explicit hivatkozásokat az accept header felülbírálására és más elem reprezentáció kérésére (?f=geojson).

Minden Open Api egy interaktív dokumentációval rendelkezik a http://localhost:5000/openapi oldalon.Ezen az interaktív web lapon a szolgáltatáshoz tartozó metódusokról, de webes űrlapokon közvetlenül is kapcsolatba léphez velük.

../../_images/openapidoc.png

Az OGC API-kat térinformatikai adatok a weben legjobb gyakorlatokat szem előtt tartva fejlesztették. Ezeknek a legjobb gyakorlatoknak egy fontos aspektusa a kereső motor optimalizálás. A pygeoapi néhány crawl optimalizálást ad hozzá az Open API szabványok követelményein felül; A gyűjtemény metaadatait strukturáltan kereshetik a keresőmotorok, azzal a céllal, hogy a gyűjtemények olyan eszközökben legyenek felfedezhetők, mint a Google Adatkészlet-keresés. A strukturált adatok képességeinek értékeléséhez használja a Yandex vagy a Google strukturált adatok tesztelő eszközeit. Másolja az országok gyűjtőoldalának html forrását (vagy egy online pygeoapi példány gyűjtőoldalának URL-jét) egy strukturált adatvizsgálati eszközbe, és értékelje, hogy az eszköz milyen strukturált adatokat képes kinyerni belőle. A keresőmotor ezeket az információkat felhasználja az adatkészlet-indexében.

OGC API- Elemek használata asztali GIS-ben

Ebben a gyorstalpalóban a QGIS használjuk a szolgáltatás lekérdezésére, de hasonló munkafolyamatra van lehetőség más GIS eszközökkel, pl. ArcGIS, FME, OpenLayers.

A QGIS 3.14-től kezdődően vektor rétegként adhat hozzá OGC API-Elemek réteget. A Réteg hozzáadás menüből válassza a WFS réteg hozzáadása...-t.

../../_images/qgis-wfs.png

A megnyíló ablakban hozzon létre egy új kapcsolatot, írja be az URL a szolgáltatáshoz http://localhost:5000.

Kattintson az OK-ra és utána kapcsolódás a szolgáltatáshoz tartozó elérhető gyűjtemények betöltéséhez.

../../_images/qgis-layers.png

Válassza a countries gyüjteményt és kattintson az «Add»-ra, hogy a réteget a QGIS térképhez adja.