Informações úteis para desenvolvedores interessados no GeoNode.

GeoNode é um serviço aberto criado em software de código aberto. Incentivamos você a criar novos aplicativos usando os componentes e recursos que ele fornece. Esta página é um ponto de partida para desenvolvedores interessados em tirar o máximo proveito do GeoNode. Ele também inclui links para o código-fonte do projeto, para que qualquer pessoa possa criar e personalizar seu próprio GeoNode

Software GeoNode

Todo o código que executa o GeoNode é aberto e está disponível em http://github.com/GeoNode/geonode/. O localizador de problemas do projeto está em http://github.com/GeoNode/geonode/issues.

O GeoNode está sendo construído usando vários projetos de código aberto, cada um com sua própria comunidade. Se você estiver interessado em contribuir com novos recursos para o GeoNode, recomendamos que você o faça contribuindo para um dos projetos pelos quais ele é construído:

  • GeoExt - Kit de ferramentas JavaScript para aplicativos avançados de mapeamento da web
  • GeoServer - Servidor de base padrão para informações geoespaciais
  • GeoWebCache - Mecanismo de cache para blocos de imagens WMS
  • OpenLayers - biblioteca JavaScript pura que alimenta os mapas do GeoExt
  • pycsw - Servidor de catálogos de metadados CSW, OpenSearch e OAI-PMH

O que são serviços OGC?

Os dados neste aplicativo são veiculados usando padrões abertos endossados ​​pela ISO e pelo Consórcio Geoespacial Aberto; particularmente, o WMS (Web Map Service) é usado para acessar mapas, já o WFS (Web Feature Service) é utilizado para acessar dados vetoriais e o WCS(Web Coverage Service) é usado para acessar dados rasterizados. O serviço WMC (Web Map Context Documents) é utilizado para compartilhar mapas. Você pode usufruir desses serviços em seus próprios aplicativos por meio de bibliotecas como OpenLayers, GeoTools e OGR (todos estes são softwares de código aberto e disponíveis a custo zero). Além disso, o CSW (Serviço de Catálogo para a Web) oferece suporte ao acesso a coleções de informações descritivas (metadados) sobre dados e serviços.

O que é o GeoWebCache?

O GeoWebCache fornece mosaicos compatíveis com vários mecanismos de mapeamento, incluindo Google Maps, Bing Maps e OpenLayers. Todos os dados hospedados pelo GeoNode também estão disponíveis no GeoWebCache. O GeoWebCache aprimora o WMS, armazenando em cache os dados e fornecendo mapas mais responsivos.

Exemplo de Código CSW

Para interagir com o CSW do GeoNode, você pode usar qualquer cliente CSW(QGIS MetaSearch, GRASS, etc.). O exemplo a seguir ilustra uma chamada simples usando o pacote OWSLib Python:

from owslib.csw import CatalogueServiceWeb

from owslib.fes import PropertyIsLike

csw = CatalogueServiceWeb('https://geonode.paranagua.pr.gov.br/catalogue/csw')

textoqualquer = PropertyIsLike('csw:TextoQualquer', 'passaros')')

csw.getrecords2(constraints=[textoqualquer])

print csw.results

print csw.records

Exemplo de Código OpenLayers

Para incluir uma camada de mapa GeoNode em um mapa OpenLayers, primeiro localize o nome dessa camada. Ele encontra-se no campo name da camada (não no campo title), na lista de camadas. Neste exemplo, usaremos uma camada em segundo plano dos limites políticos da Nicarágua, cujo nome é risk:nicaragua_admin. Em seguida, crie uma instância do OpenLayers.Layer.WMS:

var geonodeLayer = new OpenLayers.Layer.WMS("GeoNode Risk Data", "http://demo.geonode.org/geoserver/wms",{ layers: "risk:nicaragua_admin" });

Exemplo de Código do Google Maps

Para incluir uma camada de mapa GeoNode em um mapa do Google, inclua o nome da camada no template URL.

var tilelayer = new GTileLayer(null, null, null, {tileUrlTemplate: 'http://demo.geonode.org/geoserver/gwc/service/gmaps?layers=risk:nicaragua_admin&zoom={Z}&x={X}&y={Y}', isPng:true, opacity:0.5 } );

Saída de Shapefile/GeoJSON/GML

Para obter dados dos serviços web GeoNode, use o protocolo WFS. Por exemplo, para obter os limites completos da administração da Nicarágua, use:

http://demo.geonode.org/geoserver/wfs?request=GetFeature&typeName=risk:nicaragua_admin&outputformat=SHAPE-ZIP

Alterando o outputformat para json, GML2, GML3, ou csv receberá dados nesses formatos. O protocolo WFS também pode disponibilizar consultas mais precisas, especificando uma caixa delimitadora ou vários filtros espaciais e não espaciais com base nos atributos dos dados.

Exemplo de Código do GeoTools

Crie um DataStore e extraia um FeatureType dele, depois execute uma Query. Está tudo documentado na wiki em http://geotools.org/.

Serviços web do GeoNode

Os serviços web do GeoNode estão disponíveis a partir das seguintes URLs:

Tiles dinâmicos via WMS: WMS 1.1.1
Dados vetoriais via WFS: WFS 1.1.0
Dados raster via WCS: WCS 1.1.1
Pesquisa de metadados via CSW: CSW 2.0.2
Pesquisa de metadados usando OpenSearch: OpenSearch 1.0
Pesquisa de metadados usando OAI-PMH: OAI-PMH 2.0
Dados Abertos: data.json
Tiles em cache via WMTS: WMTS 1.0.0