Skip to main content

OGC API EDR - Rede de estações maregráficas ativas - Observações

Versão beta.

1. Introdução

Esta página descreve o acesso aos dados de observação da altura da superfície do mar (sea surface height, SSH) disponibilizados em tempo-quase-real (NRT) pelo Instituto Hidrográfico (IH) através de uma OGC API.

A implementação segue as normas do Open Geospatial Consortium (OGC), combinando:

A OGC API encontra-se disponível em:

https://ogcapi.hidrografico.pt

A descrição OpenAPI/Swagger pode ser consultada através da ligação disponibilizada na página inicial da OGC API.


2. Coleção tide_obs_nrt

2.1. Características gerais

A rede de estações maregráficas ativas e as respetivas observações de SSH estão publicadas na coleção tide_obs_nrt:

https://ogcapi.hidrografico.pt/collections/tide_obs_nrt

As datas e horas são expressas em Tempo Universal Coordenado (UTC), segundo a norma ISO 8601. Os valores de SSH são expressos em metros relativamente à superfície de referência do Zero Hidrográfico (ZH) de Portugal, identificada pelo sistema de referência vertical EPSG:10349.

Os níveis de processamento são disponibilizados através do mecanismo de instances da OGC API - EDR. As consultas que não especifiquem uma instance utilizam l1 por omissão.

Este serviço disponibiliza apenas observações em NRT, não integrando as previsões astronómicas de maré.

2.2. Níveis de processamento

Os níveis de processamento disponíveis podem ser consultados através de:

https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/instances?f=json
Instância Processamento QC Resolução temporal Latência Janela temporal
l1 L1 Sem controlo de qualidade (QC) 10 ou 60 segundos 1 minuto 8 dias
l2 L2 Com QC automático 5 minutos 1 dia 15 dias

Cada instance disponibiliza os tipos de consulta locations, area e radius.

2.3. Consultas disponíveis

Objetivo Interface Consulta Resposta
Consultar a rede de estações OGC API - Features /items GeoJSON
Consultar os níveis de processamento OGC API - EDR /instances JSON
Consultar as estações disponíveis numa instância OGC API - EDR /instances/{instanceId}/locations GeoJSON
Consultar a série temporal de uma estação OGC API - EDR /instances/{instanceId}/locations/{locationId} CoverageJSON
Consultar por área OGC API - EDR /instances/{instanceId}/area CoverageJSON
Consultar por distância a um ponto OGC API - EDR /instances/{instanceId}/radius CoverageJSON

3. Acesso aos dados

3.1. Metadados da coleção

Os metadados podem ser consultados no Catálogo de Metadados do IH.

A descrição da coleção na OGC API pode ser consultada em HTML ou JSON:

# HTML
https://ogcapi.hidrografico.pt/collections/tide_obs_nrt?f=html

# JSON
https://ogcapi.hidrografico.pt/collections/tide_obs_nrt?f=json

A resposta inclui, entre outros elementos:

  • Título, descrição e palavras-chave;
  • Extensão espacial da rede maregráfica;
  • Ligações para metadados, licença, vocabulários e sistemas de referência;
  • Parâmetros disponíveis;
  • Tipos de consulta suportados.

3.2. Rede de estações

A rede de estações é disponibilizada através de OGC API - Features:

https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/items?f=json

O endpoint devolve um objeto GeoJSON do tipo FeatureCollection. O número de estações pode ser limitado com o parâmetro limit:

https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/items?f=json&limit=10

Também é possível filtrar espacialmente as estações através de um retângulo delimitador (bbox), com os limites ordenados por longitude mínima, latitude mínima, longitude máxima e latitude máxima (OGC CRS84):

https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/items?f=json&bbox=-17.2,32.5,-16.6,33.0

No contexto OGC API - EDR, as estações disponíveis para cada nível de processamento podem ser consultadas através de:

# L1
https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/instances/l1/locations?f=json&limit=10

# L2
https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/instances/l2/locations?f=json&limit=10

Nas consultas OGC API - EDR /locations, os atributos last_date_time e last_sea_surface_height correspondem à observação mais recente da instance selecionada. No catálogo OGC API - Features (/items), estes atributos correspondem ao produto L1.

Os atributos das estações disponibilizados são:

Atributo Descrição Formato
id Identificador único da estação (codp-id_mar). Texto
codp Código do porto. Número inteiro
id_mar Identificador único do marégrafo. Número inteiro
title Designação da estação. Texto
eu_lau_code Código da estação segundo a unidade administrativa local. Texto
category Prioridade operacional da estação. Texto
lat Latitude da estação. Número decimal (graus)
lon Longitude da estação. Número decimal (graus)
last_date_time Data e hora da observação mais recente disponível. UTC (ISO 8601)
last_sea_surface_height Valor mais recente de SSH. Número decimal (metros)
geometry Geometria da estação. GeoJSON Point - OGC CRS84 (longitude, latitude)

3.3. Parâmetros comuns às consultas OGC API - EDR

As consultas OGC API - EDR utilizam os seguintes argumentos comuns:

Argumento Descrição / formato Exemplo
instanceId Nível de processamento indicado no caminho do endpoint. l1 ou l2
datetime Instante ou intervalo temporal em UTC (ISO 8601). YYYY-MM-DDThh:mm:ssZ/YYYY-MM-DDThh:mm:ssZ
parameter-name Parâmetro ou lista de parâmetros separados por vírgula. sea_surface_height
f Formato da resposta. json

O argumento datetime pode assumir as seguintes formas:

  • Instante: datetime=YYYY-MM-DDThh:mm:ssZ;
  • Intervalo fechado: datetime=início/fim;
  • Intervalo com início aberto: datetime=../fim;
  • Intervalo com fim aberto: datetime=início/...

As janelas temporais utilizadas quando datetime é omitido e os limites operacionais das consultas são apresentados na secção 3.6.

Quando o argumento parameter-name é omitido, são devolvidos todos os parâmetros disponíveis.

3.4. Série temporal de uma estação

A série temporal de uma estação é obtida através da consulta:

https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/instances/{instanceId}/locations/{locationId}

O argumento locationId corresponde ao atributo id da estação e é composto pelos campos codp e id_mar, separados por hífen. Exemplo:

152-303

Exemplos de consulta:

# L1
https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/instances/l1/locations/152-303?f=json&parameter-name=sea_surface_height

# L2
https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/instances/l2/locations/152-303?f=json&parameter-name=sea_surface_height,sea_surface_height_qc

3.5. Consultas espaciais

As consultas espaciais area e radius selecionam estações existentes e não realizam interpolação espacial. Cada estação selecionada é devolvida como uma série temporal independente.

3.5.1. Consulta por área

A consulta area seleciona as estações cuja localização intersecta a área definida por um polígono ou multipolígono:

https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/instances/{instanceId}/area
Argumento Descrição Exemplo
coords Geometria WKT do tipo POLYGON ou MULTIPOLYGON (OGC CRS84). POLYGON((-17.2 32.5,-16.6 32.5,-16.6 33.0,-17.2 33.0,-17.2 32.5))

Exemplo no browser:

https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/instances/l1/area?coords=POLYGON%28%28-17.2%2032.5%2C-16.6%2032.5%2C-16.6%2033.0%2C-17.2%2033.0%2C-17.2%2032.5%29%29&parameter-name=sea_surface_height&f=json

Exemplo no terminal:

curl --get \
  'https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/instances/l1/area' \
  --data-urlencode 'coords=POLYGON((-17.2 32.5,-16.6 32.5,-16.6 33.0,-17.2 33.0,-17.2 32.5))' \
  --data-urlencode 'parameter-name=sea_surface_height' \
  --data-urlencode 'f=json'
3.5.2. Consulta por raio

A consulta radius seleciona as estações localizadas dentro de uma determinada distância a um ponto ou conjunto de pontos:

https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/instances/{instanceId}/radius
Argumento Descrição Exemplo
coords Geometria WKT do tipo POINT ou MULTIPOINT (OGC CRS84). POINT(-16.9108 32.6448)
within Distância máxima. 20
within-units Unidade da distância: m, km ou nmi. km

Exemplo no browser:

https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/instances/l1/radius?coords=POINT%28-16.9108%2032.6448%29&within=20&within-units=km&parameter-name=sea_surface_height&f=json

Exemplo no terminal:

curl --get \
  'https://ogcapi.hidrografico.pt/collections/tide_obs_nrt/instances/l1/radius' \
  --data-urlencode 'coords=POINT(-16.9108 32.6448)' \
  --data-urlencode 'within=20' \
  --data-urlencode 'within-units=km' \
  --data-urlencode 'parameter-name=sea_surface_height' \
  --data-urlencode 'f=json'

3.6. Janelas temporais e limites operacionais

Quando o argumento datetime é omitido, o serviço utiliza as janelas temporais indicadas na tabela seguinte.

Consulta L1 L2 Limite por pedido
/instances/{instanceId}/locations Não aplicável Não aplicável 100 estações
/instances/{instanceId}/locations/{locationId} 24 horas, terminando no momento atual 24 horas, terminando 24 horas antes do momento atual 10 000 observações
/instances/{instanceId}/area 1 hora, terminando no momento atual 1 hora, terminando 24 horas antes do momento atual 20 estações e 10 000 observações
/instances/{instanceId}/radius 1 hora, terminando no momento atual 1 hora, terminando 24 horas antes do momento atual 20 estações e 10 000 observações

Quando fornecido explicitamente, o argumento datetime deve estar compreendido na janela temporal disponível para a instance selecionada: 8 dias para l1 e 15 dias para l2.


4. Estrutura e semântica dos dados

4.1. Estrutura da resposta CoverageJSON

As consultas OGC API - EDR de observações devolvem um objeto CoverageJSON do tipo CoverageCollection. Cada estação selecionada é representada por uma Coverage com domínio PointSeries.

Elemento Conteúdo
type Tipo de objeto, normalmente CoverageCollection.
domainType Tipo de domínio, nesta coleção PointSeries.
parameters Metadados semânticos dos parâmetros, incluindo a propriedade observada, a unidade de medida e a referência ao vocabulário de QC.
coverages[].id Identificador da estação.
coverages[].domain.axes.x Longitude da estação.
coverages[].domain.axes.y Latitude da estação.
coverages[].domain.axes.t Instantes das observações.
coverages[].ranges.sea_surface_height.values Valores de SSH.
coverages[].ranges.sea_surface_height_qc.values Códigos QC.

Exemplo simplificado da estrutura da resposta:

{
  "type": "CoverageCollection",
  "domainType": "PointSeries",
  "parameters": {
    "sea_surface_height": {},
    "sea_surface_height_qc": {}
  },
  "coverages": [
    {
      "type": "Coverage",
      "id": "1001-307",
      "domain": {
        "axes": {
          "x": {"values": [-16.9]},
          "y": {"values": [32.6]},
          "t": {
            "values": [
              "2026-07-29T14:20:00Z",
              "2026-07-29T14:21:00Z"
            ]
          }
        }
      },
      "ranges": {
        "sea_surface_height": {"values": [2.134, 2.141]},
        "sea_surface_height_qc": {"values": [0, 0]}
      }
    }
  ]
}

A estrutura CoverageJSON é comum aos dois níveis de processamento. A instance selecionada determina a origem dos dados, a resolução temporal e o QC das observações.

4.2. Parâmetros

Parâmetro Descrição Unidade Formato
sea_surface_height Altura da superfície do mar relativamente à superfície de referência do ZH de Portugal (EPSG:10349) (NVS P07 CF15N1) m (NVS P06 ULAA) Número decimal
sea_surface_height_qc Código de QC associado sea_surface_height (NVS L20) - Número inteiro

Para solicitar ambos os parâmetros:

parameter-name=sea_surface_height,sea_surface_height_qc

4.3. Vocabulários e sistemas de referência

Elemento Referência
Sistema de referência horizontal - OGC CRS84 (WGS 84, longitude/latitude) OGC CRS84
Referência vertical - ZH Portugal EPSG:10349
Sistema temporal Calendário Gregoriano; UTC (ISO 8601).
Vocabulários

NVS P06, NVS P07 e NVS L20


5. Termos, condições e acesso

5.1. Licença e condições de utilização

Os dados são disponibilizados nos termos da licença CC BY-NC 4.0, conforme indicado nos metadados, requerendo, entre outros:

  • Identificar a fonte dos dados;
  • Manter a referência aos metadados, DOI e à licença aplicável;
  • Indicar alterações ou transformações realizadas sobre os dados, quando aplicável;
  • Não atribuir aos dados uma precisão, validação ou nível de qualidade superior ao declarado;
  • Considerar que o produto L1 é disponibilizado sem QC e o L2 é submetido a procedimentos automáticos de QC;
  • Respeitar a restrição de utilização não comercial definida pela licença.

As observações são disponibilizadas em NRT e podem conter falhas, atrasos, valores ausentes ou anomalias instrumentais. O utilizador é responsável pela avaliação da adequação dos dados à finalidade pretendida.

5.2. Autenticação

Na configuração atual, o acesso aos endpoints descritos não requer autenticação nem API key.