O CSW é um padrão para expor um catálogo de entidades geoespaciais através do procotolo HTTP. Em um portal GeoNode, os pontos de extremidade (endpoints) do CSW são fornecidos pelo pycsw, que é um componente subjacente do GeoNode. Alternativamente, se necessário, é possível substituir o pycsw pelo GeoNetwork.

No GeoNode, você pode acessar facilmente o registro CSW de uma camada, clicando no botão Baixar Metadados na página da camada. Um formulário aparecerá e você poderá acessar os metadados fornecidos pelo pycsw em uma série de diferentes formatos (Atom, Dublin, FGDC, Text, HTML e muitos outros).

Por exemplo, ao clicar no link ISO, você acessará os metadados da camada no formato ISO, que corresponde a essa solicitação GetRecordById no pycsw:

http://localhost:8000/catalogue/csw?outputschema=http%3A%2F%2Fwww.isotc211.org%2F2005%2Fgmd&service=CSW&request=GetRecordById&version=2.0.2&elementsetname=full&id=8bcf5bfc-5cfc-11e7-8103-02d8e4477a33

Você também pode notar outras informações que foram geradas pelo GeoNode nos bastidores quando a camada foi carregada:

  • Identificador da camada, que identifica exclusivamente a camada no catálogo (observe que a solicitação GetRecordById usa esse identificador para acessar o registro)
  • Data de criação
  • Sistema de referência espacial e caixa delimitadora (BBOX)
  • URL da miniatura
  • Formato do recurso
  • Vários endpoints do OGC

Se você quiser adicionar metadados ausentes, visite a página de metadados da camada e pressione em Editar Camada > Editar Metadados.

1. Operações pycsw

O pycsw implementa todas as operações do padrão CSW, incluindo as opcionais:

  • GetCapabilities: recupera metadados de serviço do servidor
  • DescribeRecord: permite que um cliente descubra elementos do modelo de informações suportado pelo serviço de catálogo de destino
  • GetRecords: procura registros usando uma série de critérios
  • GetRecordById: recupera metadados para um registro (camada) do catálogo por seu id
  • GetDomain (opcional): recupera informações de tempo de execução sobre o intervalo de valores de um elemento de registro de metadados ou um parâmetro de solicitação
  • Harvest (opcional): cria / atualiza metadados pedindo ao servidor para “puxar” metadados de algum lugar
  • Transaction (opcional): criar / editar metadados “empurrando” os metadados para o servidor

O pycsw é uma implementação do serviço OGC CSW escrita em Python. Iniciado em 2010 (mais formalmente anunciado em 2011), o pycsw permite a publicação e descoberta de metadados geoespaciais por meio de várias APIs (CSW 2 / CSW 3, OpenSearch, OAI-PMH, SRU), fornecendo um componente de metadados e catálogo baseado em padrões para infraestruturas de dados espaciais. O pycsw é Open Source, lançado sob uma licença MIT e executado em todas as principais plataformas (Windows, Linux e Mac OS X).

Fonte: Paolo Corti