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.
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:
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.
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.
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
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" });
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 } );
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.
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 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 |