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