Exercício 1 - O primeiro conjunto de dados
Nesta secção, irá publicar um conjunto de dados vetoriais.
Para este exercício, iremos usar um conjunto de dados CSV de águas balneares na Estónia, gentilmente cedido pela Agência de Saúde da Estónia.
Pode encontrar este conjunto de dados em workshop/exercises/data/tartu/bathingwater-estonia.csv
.
Este exercício consiste em ajustar o workshop/exercises/pygeoapi.config.yml
para definir este conjunto de dados como uma coleção da OGC API - Features.
Verificar a configuração existente do Docker Compose
Antes de fazer quaisquer alterações, vamos garantir que a configuração inicial do Docker Compose que lhe foi fornecida está a funcionar.
Para testar:
Testar a configuração do workshop
- Numa shell de terminal, navegue para a pasta do workshop e digite:
cd workshop/exercises
docker compose up
cd workshop/exercises
docker compose up
- Abra http://localhost:5000 no seu navegador, verifique algumas coleções
- Feche digitando
CTRL-C
Note
Também pode executar o contentor Docker em segundo plano (detached) da seguinte forma:
docker compose up -d
docker ps # verifique que o container pygeoapi está em execução
# visite http://localhost:5000 no seu navegador, verifique algumas coleções
docker logs --follow pygeoapi # ver registos
docker compose down --remove-orphans
docker compose up -d
docker ps # verifique que o container pygeoapi está em execução
# visite http://localhost:5000 no seu navegador, verifique algumas coleções
docker logs --follow pygeoapi # ver registos
docker compose down --remove-orphans
Publicar o primeiro conjunto de dados
Chegou o momento de publicar o seu primeiro conjunto de dados.
Configurar o ficheiro de configuração da pygeoapi
- Abra o ficheiro
workshop/exercises/pygeoapi/pygeoapi.config.yml
no seu editor de texto - Procure a secção de configuração comentada que começa com
# START - EXERCISE 1 - Your First Collection
- Descomente todas as linhas até
# END - EXERCISE 1 - Your First Collection
Certifique-se de que a indentação está alinhada (dica: diretamente abaixo de # START ...
)
A secção de configuração é a seguinte:
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 |
|
A parte mais relevante é a secção providers
. Aqui, definimos um Provider CSV
, apontando o caminho do ficheiro para o diretório /data
que iremos montar (ver a seguir) do diretório local para o container de Docker. Como um CSV não é um ficheiro espacial, configuramos explicitamente a pygeoapi para que a longitude e a latitude (x e y) sejam mapeadas a partir das colunas lon
e lat
no ficheiro CSV. Note o parâmetro storage_crs
, que indica o sistema de coordenadas que é usado nos dados de origem.
Tip
Para saber mais sobre a sintaxe e as convenções de configuração da pygeoapi, consulte o capítulo relevante na documentação.
Tip
A pygeoapi inclui inúmeros fornecedores de dados que permitem o acesso a uma variedade de formatos de dados. Através do plugin OGR/GDAL, o número de formatos suportados é quase ilimitado. Consulte a página do fornecedor de dados para saber como pode configurar uma ligação ao conjunto de dados da sua escolha. Pode sempre copiar um exemplo de configuração relevante e colocá-lo na secção de conjuntos de dados do ficheiro de configuração da pygeoapi para o seu projeto futuro.
Testar
Iniciar com a configuração atualizada
- Comece por digitar
docker compose up
- Observe o output do registo (logging)
- Se não houver erros: abra http://localhost:5000
- Procure a coleção "Bathing Water Estonia"
- Navegue pelos itens da coleção
- Verifique a representação json adicionando
?f=json
ao URL (ou clicando em 'json' no canto superior direito)
Depuração de erros de configuração
Ocasionalmente, pode encontrar erros, brevemente discutidos aqui:
- Não é possível encontrar um ficheiro, um erro de digitação na configuração
- O formato ou a estrutura do ficheiro espacial não é totalmente suportado
- A porta (5000) já está a ser utilizada. Existe uma pygeoapi anterior ainda em execução? Se alterar a porta, considere que também tem de atualizar o ficheiro de configuração da pygeoapi
Existem dois parâmetros no ficheiro de configuração que ajudam a resolver estes problemas.
Defina o nível de registo (logging) para DEBUG
e indique um caminho para um ficheiro de registo.
Tip
No Docker, defina o caminho do ficheiro de registo para a pasta montada, para que possa acedê-lo facilmente a partir do seu sistema anfitrião. Também pode ver os registos da consola do seu contentor Docker da seguinte forma:
docker logs --follow pygeoapi
docker logs --follow pygeoapi
Tip
Erros relacionados com caminhos de ficheiros ocorrem normalmente na configuração inicial. No entanto, também podem acontecer em momentos inesperados, resultando num serviço interrompido. Produtos como o GeoHealthCheck têm como objetivo monitorizar, detetar e notificar sobre o estado e a disponibilidade do serviço. Os testes da OGC API - Features no GeoHealthCheck verificam a disponibilidade do serviço em intervalos. Consulte a documentação do GeoHealthCheck para mais informações.