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

GeoNode é um serviço aberto construído 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 aproveitar todas as vantagens do GeoNode. GeoNode também inclui links para o código-fonte do projeto para que qualquer pessoa possa construir e personalizar seu próprio GeoNode.

GeoNode Software

Todos os códigos utilizados para executar uma instância do GeoNode é de código aberto. O código está disponível em http://github.com/GeoNode/geonode/. O rastreador de erros relacionados ao projeto está disponível em http://github.com/GeoNode/geonode/issues.

GeoNode é 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, encorajamos você a fazer isso contribuindo para um dos projetos em que é construído:

  • GeoServer - Servidor de informações geoespaciais baseado em padrões
  • GeoWebCache - Mecanismo de cache para WMS Tiles
  • OpenLayers - Biblioteca de JavaScript puro impulsionando os mapas do GeoExt
  • pycsw - CSW, OpenSearch and OAI-PMH servidor de catálogo de metadados

Quais são os Serviços do OGC?

Os dados neste aplicativo são fornecidos usando padrões abertos endossados pela ISO e o Open Geospatial Consortium; em particular, WMS (Web Map Service) é usado para acessar mapas, WFS (Web Feature Service) é usado para acessar dados vetoriais, e WCS (Web Coverage Service) é usado para acessar dados raster. WMC (Web Map Context Documents) é usado para compartilhar mapas. Você pode usar esses serviços em seus próprios aplicativos usando bibliotecas como OpenLayers, GeoTools e OGR(todos os quais são softwares de código aberto e disponíveis a custo zero).Além disso, o CSW (Catalog Service for the Web) oferece acesso a coleções de informações descritivas (metadados) sobre dados e serviços.

O que é o GeoWebCache?

GeoWebCache fornece blocos de mapeamento que são compatíveis com um número de mecanismos de mapeamento, incluindo Google Maps, Bing Maps e OpenLayers. Todos os dados hospedados pelo GeoNode também estão disponíveis através do GeoWebCache. GeoWebCache aprimora o serviço de WMS ao armazenar dados em cache e fornecer mapas mais responsivos.

Exemplo do Código CSW

Para interagir com o serviço CSW do GeoNode, o usuário pode usar qualquer cliente CSW (QGIS MetaSearch, GRASS, etc.). O exemplo a seguir ilustra uma simples requisição usando o pacote OWSLib da linguagem Python:

from owslib.csw import CatalogueServiceWeb

from owslib.fes import PropertyIsLike

csw = CatalogueServiceWeb('https://opendata.sgb.gov.br/catalogue/csw')

anytext = PropertyIsLike('csw:AnyText', 'birds')')

csw.getrecords2(constraints=[anytext])

print csw.results

print csw.records

Exemplo de Código do OpenLayers

Para incluir uma camada de mapa GeoNode em um mapa OpenLayers, primeiro encontre o nome para essa camada. Esta informação encontra-se no campo name da camada (not title) da lista de camadas. Para este exemplo, usaremos a camada de fundo das fronteiras políticas da Nicarágua, cujo nome érisk:nicaragua_admin. Em seguida, cria-se 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 a camada nome no template da 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 } );

Formatos de Saída: Shapefile/GeoJSON/GML

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

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

Alterando o formato de saída parajson, GML2, GML3, ou csv o usuário obterá dados nesses formatos. O O protocolo WFS também pode lidar com consultas mais precisas, especificando o bounding boxou vários filtros espaciais e não espaciais com base nos atributos dodados.

Exemplo de Código GeoTools

Crie um DataStore e extraia um FeatureType dele, em seguida, execute uma Consulta. Está tudo documentado no wiki em http://geotools.org/.

GeoNode’s Web Services

GeoNode’s Web Services estão disponíveis a partir das seguintes URLs:

Dynamic tiles 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
Cached tiles via WMTS: WMTS 1.0.0