{"id":7678,"date":"2018-11-14T07:30:38","date_gmt":"2018-11-14T10:30:38","guid":{"rendered":"http:\/\/www.fernandoquadro.com.br\/html\/?p=7678"},"modified":"2018-11-12T13:08:18","modified_gmt":"2018-11-12T16:08:18","slug":"usando-pycsw-com-o-geonode","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2018\/11\/14\/usando-pycsw-com-o-geonode\/","title":{"rendered":"Usando pycsw com o GeoNode"},"content":{"rendered":"<p><a href=\"http:\/\/www.opengeospatial.org\/standards\/cat\" rel=\"noopener\" target=\"_blank\">O CSW<\/a> \u00e9 um padr\u00e3o para expor um cat\u00e1logo de entidades geoespaciais atrav\u00e9s do procotolo HTTP. Em um portal GeoNode, os pontos de extremidade (endpoints) do CSW s\u00e3o fornecidos pelo pycsw, que \u00e9 um componente subjacente do GeoNode. Alternativamente, se necess\u00e1rio, \u00e9 poss\u00edvel substituir o pycsw pelo <a href=\"http:\/\/geonetwork-opensource.org\/\" rel=\"noopener\" target=\"_blank\">GeoNetwork<\/a>.<\/p>\n<p>No GeoNode, voc\u00ea pode acessar facilmente o registro CSW de uma camada, clicando no bot\u00e3o Baixar Metadados na p\u00e1gina da camada. Um formul\u00e1rio aparecer\u00e1 e voc\u00ea poder\u00e1 acessar os metadados fornecidos pelo pycsw em uma s\u00e9rie de diferentes formatos (Atom, Dublin, FGDC, Text, HTML e muitos outros).<\/p>\n<p><center><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2018\/11\/0050_download_metadata.png\" alt=\"\" width=\"2512\" height=\"1342\" class=\"aligncenter size-full wp-image-7681\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2018\/11\/0050_download_metadata.png 2512w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2018\/11\/0050_download_metadata-300x160.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2018\/11\/0050_download_metadata-768x410.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2018\/11\/0050_download_metadata-1024x547.png 1024w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2018\/11\/0050_download_metadata-945x505.png 945w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2018\/11\/0050_download_metadata-600x321.png 600w\" sizes=\"auto, (max-width: 2512px) 100vw, 2512px\" \/><\/center><\/p>\n<p>Por exemplo, ao clicar no link ISO, voc\u00ea acessar\u00e1 os metadados da camada no formato ISO, que corresponde a essa solicita\u00e7\u00e3o GetRecordById no pycsw:<\/p>\n<pre>\r\nhttp:\/\/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\r\n<\/pre>\n<p>Voc\u00ea tamb\u00e9m pode notar outras informa\u00e7\u00f5es que foram geradas pelo GeoNode nos bastidores quando a camada foi carregada:<\/p>\n<ul>\n<li> Identificador da camada, que identifica exclusivamente a camada no cat\u00e1logo (observe que a solicita\u00e7\u00e3o GetRecordById usa esse identificador para acessar o registro)<\/li>\n<li> Data de cria\u00e7\u00e3o<\/li>\n<li> Sistema de refer\u00eancia espacial e caixa delimitadora (BBOX)<\/li>\n<li> URL da miniatura<\/li>\n<li> Formato do recurso<\/li>\n<li> V\u00e1rios endpoints do OGC<\/li>\n<\/ul>\n<p>Se voc\u00ea quiser adicionar metadados ausentes, visite a p\u00e1gina de metadados da camada e pressione em Editar Camada > Editar Metadados.<\/p>\n<p><strong>1. Opera\u00e7\u00f5es pycsw<\/strong><\/p>\n<p>O pycsw implementa todas as opera\u00e7\u00f5es do padr\u00e3o CSW, incluindo as opcionais:<\/p>\n<ul>\n<li> GetCapabilities: recupera metadados de servi\u00e7o do servidor<\/li>\n<li> DescribeRecord: permite que um cliente descubra elementos do modelo de informa\u00e7\u00f5es suportado pelo servi\u00e7o de cat\u00e1logo de destino<\/li>\n<li> GetRecords: procura registros usando uma s\u00e9rie de crit\u00e9rios<\/li>\n<li> GetRecordById: recupera metadados para um registro (camada) do cat\u00e1logo por seu id<\/li>\n<li> GetDomain (opcional): recupera informa\u00e7\u00f5es de tempo de execu\u00e7\u00e3o sobre o intervalo de valores de um elemento de registro de metadados ou um par\u00e2metro de solicita\u00e7\u00e3o<\/li>\n<li> Harvest (opcional): cria \/ atualiza metadados pedindo ao servidor para &#8220;puxar&#8221; metadados de algum lugar<\/li>\n<li> Transaction (opcional): criar \/ editar metadados &#8220;empurrando&#8221; os metadados para o servidor<\/li>\n<\/ul>\n<p>O <a href=\"http:\/\/pycsw.org\/\" rel=\"noopener\" target=\"_blank\">pycsw <\/a>\u00e9 uma implementa\u00e7\u00e3o do servi\u00e7o OGC CSW escrita em Python. Iniciado em 2010 (mais formalmente anunciado em 2011), o pycsw permite a publica\u00e7\u00e3o e descoberta de metadados geoespaciais por meio de v\u00e1rias APIs (CSW 2 \/ CSW 3, OpenSearch, OAI-PMH, SRU), fornecendo um componente de metadados e cat\u00e1logo baseado em padr\u00f5es para infraestruturas de dados espaciais. O pycsw \u00e9 Open Source, lan\u00e7ado sob uma licen\u00e7a MIT e executado em todas as principais plataformas (Windows, Linux e Mac OS X).<\/p>\n<p>Fonte: <a href=\"http:\/\/www.paolocorti.net\/foss4g_2017_geonode_solr\/05_pycsw.html\" rel=\"noopener\" target=\"_blank\">Paolo Corti<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O CSW \u00e9 um padr\u00e3o para expor um cat\u00e1logo de entidades geoespaciais atrav\u00e9s do procotolo HTTP. Em um portal GeoNode, os pontos de extremidade (endpoints) do CSW s\u00e3o fornecidos pelo pycsw, que \u00e9 um componente subjacente do GeoNode. Alternativamente, se&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2018\/11\/14\/usando-pycsw-com-o-geonode\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":7679,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[196,333],"class_list":["post-7678","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gis","tag-geonode","tag-pycsw"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/7678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/comments?post=7678"}],"version-history":[{"count":12,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/7678\/revisions"}],"predecessor-version":[{"id":7692,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/7678\/revisions\/7692"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media\/7679"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=7678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=7678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=7678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}