Ir para o conteúdo

Suporte INSPIRE

INSPIRE é uma diretiva europeia sobre partilha de dados no domínio ambiental. Os estados membros da UE investiram quase 20 anos de esforço para harmonizar dados no domínio ambiental e publicá-los usando normas OGC. A diretiva está no final do seu tempo de vida, mas a expectativa é que as convenções da diretiva INSPIRE sejam adotadas por diretivas futuras, como as diretivas do pacto verde e dados abertos.

Nos últimos 20 anos, o panorama das TI mudou consideravelmente. O INSPIRE acompanhou estes desenvolvimentos adotando uma série de Boas Práticas que substituem as Diretrizes Técnicas originais.

Algumas das boas práticas recentes e futuras focam-se nos desenvolvimentos no domínio OGC API. Uma boa prática já foi adotada sobre fornecer serviços de descarregamento usando OGC API - Features e outras estão em preparação, como o serviço de descoberta usando OGC API - Records. Estes desenvolvimentos tornam a pygeoapi uma opção interessante para fornecer serviços INSPIRE.

Serviços INSPIRE e a sua alternativa OGC API

Os serviços INSPIRE são tipicamente categorizados em serviços de visualização, serviços de descarregamento e serviços de descoberta. Os serviços de descarregamento são ainda divididos em fontes Vetoriais, fontes de Cobertura e fontes de Sensores. A iniciativa OGC API fornece as APIs relacionadas para cada tipo de serviço. A tabela abaixo destaca para cada tipo de serviço a recomendação das Diretrizes Técnicas e as Boas Práticas relevantes.

Tipo de serviço TG OGC API Estado da boa prática
Serviço de descoberta CSW OGC API - Records Em preparação
Serviço de visualização WM(T)S OGC API - Maps / OGC API - Tiles Não agendado
Em preparação
Serviço de descarregamento - Vetor WFS OGC API - Features Adotada
Serviço de descarregamento - Cobertura WCS OGC API - Coverages / STAC 1 Não agendado
Em preparação
Serviço de descarregamento - Sensor SOS OGC API - EDR / Sensorthings API 2 Não agendado
Adotada

Note

Ao adotar Boas Práticas, considere que a documentação e ferramentas para validação ainda são limitadas. Além disso, o Portal Geo INSPIRE pode ainda não estar pronto para recolher registos de um endpoint OGC API - Records.

Publicar documentos de metadados como um serviço de descoberta INSPIRE

Neste exercício vamos importar uma pasta de documentos de metadados para uma base de dados TinyDB e vamos configurar a base de dados como um endpoint OGC API - Records. Descarregue o ficheiro zip 'inspire-records.zip' do repositório. Extraia o ficheiro zip. A pasta /tests contém um script load_tinydb_records.py. O script tem 2 parâmetros:

python3 load_tinydb_records.py <path/to/xml-files> <output.db>

python3 load_tinydb_records.py <path/to/xml-files> <output.db>

Agora configure TinyDB como fornecedor para OGC API - Records. Reinicie o serviço e verifique o resultado. Verifique também a saída XML de alguns dos registos.

OGC API e os modelos de dados INSPIRE

A maioria dos modelos de dados INSPIRE tem uma estrutura hierárquica, que não é comum na comunidade OGC API orientada para GeoJSON. Em teoria é possível fornecer GML hierárquico a partir de um endpoint OGC API, mas ainda não há muitas experiências atualmente. Duas iniciativas podem trazer melhorias a este aspeto:

OGC API como um registo de listas de códigos

Um caso de uso típico no INSPIRE é a opção de estender uma lista de códigos INSPIRE para corresponder a um requisito local. Para este caso de uso, a lista de códigos estendida tem de ser publicada num registo. A OGC API - Common fornece mecanismos para publicar listas de conceitos como itens em coleções. A pygeoapi também fornece um mecanismo para anunciar os conceitos usando a ontologia SKOS através da sua codificação JSON-LD . Na coincidência de um conceito ter uma propriedade de geometria, a lista de códigos pode até ser publicada como OGC API - Features (num mapa).

Publicar uma lista de códigos via OGC API

Uma lista de códigos de tipos de solo alemã foi disponibilizada em formato CSV em workshop/exercises/data/bodenart.en.csv. Use o fornecedor CSV para publicar este conjunto de dados na pygeoapi. Que URL usaria para referenciar um conceito na lista publicada?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
SoilTypes:
    type: collection
    title: Tipos de solo da Alemanha
    description: Bodenarten auf Basis der Bodenkundlichen Kartieranleitung 5. Auflage (KA5)
    keywords:
        - soiltype
    links:
        - type: text/html
          rel: canonical
          title: Tipos de solo da Alemanha
          href: https://registry.gdi-de.org/codelist/de.bund.thuenen/bodenart
          hreflang: de
    extents:
        spatial:
            bbox: [0,0,0,0]
            crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
    providers:
        - type: feature
          name: CSV
          data: /data/bodenart.en.csv
          id_field: Label
          geometry:
              x_field: x
              y_field: y

Resumo

Parabéns! Trabalhou com a pygeoapi para conformidade INSPIRE


  1. A Sensorthings API não é uma norma OGC API e atualmente não é suportada pela pygeoapi. É listada aqui para completude 

  2. STAC não é uma norma OGC API mas é suportada pela pygeoapi