

pygeoapi Snabbstart¶
pygeoapi är ett verktyg för att snabbt och enkelt publicera OGC Open API-tjänster på webben. Det bygger på de kraftfulla open source-biblioteken från (geo)python-communityn.
I den här snabbstarten guidar vi dig genom att konfigurera programvaran och använda den för några specifika fall. Längs vägen kommer vi att engagera oss i en del relaterad programvara, eftersom pygeoapi är en produkt som vanligtvis kombineras med andra komponenter för att uppfylla ett affärsfall.
Förkunskaper¶
pygeoapi är en Python-webbapplikation för den spatiala domänen, så du måste vara medveten om begreppen webbapplikationer och geospatiala aspekter som grid- och vektorformat, OGC-standarder och projektionssystem. Python-kunskap rekommenderas, även om du kan klara dig utan genom att köra applikationen från OSGeoLive.
Konfigurera och starta tjänsten¶
- från Start-menyn. Programmet kommer att öppna en webbsida på
navigera till användarmappen
/usr/local/share/pygeoapi
och leta reda på filenpygeoapi-config.yml
. Den här filen innehåller konfigurationen av tjänsten.Öppna filen
sudo nano pygeoapi-config.yml
.Uppdatera några parametrar i filen, t.ex. titel och författare. Och spara filen.
Starta om tjänsten, t.ex. genom att stänga terminalen och starta tjänsten igen
Konfigurera ny tjänst¶
Du kommer nu att distribuera en vektordatauppsättning i pygeoapi och exponera dess funktioner som OGC API - Features. OGC API - Features är en standard för OGC för att exponera vektorfunktioner som en webbtjänst. OGC API - Features är OpenAPI-alternativet till WFS.
pygeoapi stöder ett brett utbud av backends att använda som vektorkälla, t.ex. geopackage, PostGIS, Elasticsearch, WFS, etc. Via GDAL OGR-leverantören kan en nästan obegränsad uppsättning andra vektorkällor läggas till.
Intressanta datamängder att exponera som OGC API - Funktioner består av verkliga data med flera attribut och länkar till andra resurser. OSGeoLive innehåller ett antal dataset som vi kan använda. Ett exempel är /var/www/html/openlayers/examples/data/geojson/countries.geojson
. Du kan konfigurera den i pygeoapi med hjälp av GeoJSON-providern.
Ladda ner GeoJSON-filen och placera den i mappen tests/data.
Uppdatera
pygeoapi-config.yml
för att lägga tillcountries
som en ny samling till pygeoapi (infoga snippet nedan mellan de andra samlingarna. Tänk på nestningen, nestning är viktigt i YAML-syntax).
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
Starta om pygeoapi
Kontrollera att samlingen är tillgänglig via din webbläsare på http://localhost:5000/collections/countries
Använda en webbläsare för att ställa frågor till API:et¶
Nu när vi har tjänsten tillgänglig kan vi ställa frågor om den med hjälp av olika klientverktyg. Alla funktioner i samlingen finns tillgängliga i vanliga format, t.ex. HTML, GeoJSON och GML. Till att börja med kan vi använda en webbläsare för att bläddra igenom tjänsten. Från http://localhost:5000/collections/countries kan du gå ner till enskilda funktioner. Tjänsten kommer automatiskt att upptäcka (acceptera header) att du använder en webbläsare och returnera HTML-representationen av funktioner. I det övre högra hörnet finns tydliga länkar för att åsidosätta accept header och begära specifika representationer av funktionen (?f=json
).
Varje Open API har en interaktiv dokumentationssida på http://localhost:5000/openapi. På denna interaktiva webbsida kan du läsa om de olika metoderna i tjänsten, men också direkt interagera med dem via webbformulär.
OGC API:er har utvecklats med ”W3C Spatial Data on the Web Best Practices <https://www.w3.org/TR/sdw-bp>`_” i åtanke. En viktig aspekt av dessa bästa metoder är sökmotoroptimering. Pygeoapi lägger till några genomsökningsoptimeringar utöver kraven i Open API-standarderna; samlingens metadata kan genomsökas av sökmotorer på ett strukturerat sätt, med målet att göra samlingarna upptäckbara i verktyg som Google Dataset Search. För att utvärdera funktionerna för strukturerade data kan du använda verktygen för testning av strukturerade data från Yandex eller Google. Kopiera html-källan till ländernas samlingssida (eller webbadressen till en samlingssida för en onlinepygeoapi-instans) till ett testverktyg för strukturerad data och utvärdera vilka strukturerade data verktyget kan extrahera från den. Sökmotorn kommer att använda den informationen i sitt datasetindex.
Använda OGC API - Funktioner i Desktop GIS¶
I den här snabbstarten använder vi QGIS för att ställa frågor till tjänsten, men liknande arbetsflöden är möjliga i andra GIS-verktyg, t.ex. ArcGIS, FME, OpenLayers.
Från och med QGIS 3.14 kan du lägga till ett OGC API - Features-lager som vektorlager. Från menyn Layer / Add Layer
välj Add WFS Layer...
.
I det fönster som öppnas skapar du en ny anslutning och anger webbadressen till tjänsten http://localhost:5000.
Klicka på Ok och sedan på connect
för att ladda de tillgängliga samlingarna i tjänsten.
Välj samlingen countries
och klicka på ”Add” för att lägga till skiktet i QGIS-kartan.