Informazioni utili per gli sviluppatori interessati a GeoNode.

GeoNode è un servizio aperto costruito su software open source. Vi incoraggiamo a costruire nuove applicazioni utilizzando i componenti e le risorse che fornisce. Questa pagina è un punto di partenza per gli sviluppatori interessati a trarre il massimo vantaggio da GeoNode. Include anche link al codice sorgente del progetto in modo che chiunque possa costruire e personalizzare il proprio GeoNode.

GeoNode Software

Tutto il codice che esegue GeoNode è open source. Il codice è disponibile all'indirizzo http://github.com/GeoNode/geonode/. Il issue tracker per il progetto è disponibile all'indirizzo http://github.com/GeoNode/geonode/issues.

GeoNode è costruito utilizzando diversi progetti open source, ognuno con la propria comunità. Se siete interessati a contribuire con nuove funzionalità al GeoNode, vi invitiamo a farlo contribuendo ad uno dei progetti su cui è costruito:

  • GeoServer - Server basato su standard per informazioni geospaziali
  • GeoWebCache - Motore di cache per WMS Tiles
  • OpenLayers - Pura libreria JavaScript che alimenta le mappe di GeoExt
  • pycsw - CSW, OpenSearch e OAI-PMH metadata catalogue server

Che cosa sono i servizi OGC?

I dati in questa applicazione sono serviti utilizzando standard aperti approvati dall'ISO e dal Open Geospatial Consortium; in particolare, il WMS (Web Map Service) è utilizzato per l'accesso alle mappe, il WFS (Web Feature Service) è utilizzato per l'accesso ai dati vettoriali, e il WCS (Web Coverage Service) è utilizzato per l'accesso ai dati raster. Il WMC (Web Map Context Documents) viene utilizzato per la condivisione delle mappe. Questi servizi possono essere utilizzati nelle proprie applicazioni utilizzando librerie come OpenLayers, GeoTools e OGR (tutti software open-source e disponibili a costo zero). Inoltre, CSW (Catalog Service for the Web) supporta l'accesso a raccolte di informazioni descrittive (metadati) su dati e servizi.

Che cos'è GeoWebCache?

GeoWebCache fornisce tiles di mappatura compatibili con una serie di motori di mappatura, tra cui Google Maps, Bing Maps e OpenLayers. Tutti i dati ospitati da GeoNode sono disponibili anche attraverso GeoWebCache. GeoWebCache migliora il WMS mettendo in cache i dati e fornendo mappe più reattive.

CSW Codice d'esempio

Per interagire con il CSW di GeoNode è possibile utilizzare qualsiasi client CSW (QGIS MetaSearch, GRASS, ecc.). Il seguente esempio illustra una semplice invocazione utilizzando il pacchetto Python di OWSLib:

from owslib.csw import CatalogueServiceWeb

from owslib.fes import PropertyIsLike

csw = CatalogueServiceWeb('https://sprint.cgiam.org/catalogue/csw')

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

csw.getrecords2(constraints=[anytext])

print csw.results

print csw.records

Codice d'esempio OpenLayers

Per includere un livello di mappa GeoNode in una mappa OpenLayers, trovare prima il nome di quel livello. Questo si trova nel campo nome del livello (non titolo) della lista dei livelli. Per questo esempio, useremo il livello di sfondo dei confini politici del Nicaragua, il cui nome è risk:nicaragua_admin. Quindi, creare un'istanza di OpenLayers.Layer.WMS:

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

Codice di esempio di Google Maps

Per includere un livello di mappa GeoNode in una Google Map, includere il nome del livello nel modello URL.

var tilelayer = new GTileLayer(null, 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 }', isPng:true, opacity:0.5 }. );

Formafile/GeoJSON/GML Output

Per ottenere dati dai servizi web GeoNode utilizzare il protocollo WFS. Per esempio, per ottenere i confini amministrativi completi del Nicaragua usare:

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

Cambiando il formato di uscita in json, GML2, GML3, o csv si ottengono dati in questi formati. Il protocollo WFS può anche gestire query più precise, specificando un bounding box o vari filtri spaziali e non spaziali in base agli attributi dei dati.

Codice d'esempio di GeoTools

Creare un DataStore ed estrarre un FeatureType da esso, quindi eseguire una query. È tutto documentato sul wiki all'indirizzo http://geotools.org/.

Web Services di GeoNode

I Web Services di GeoNode sono disponibili ai seguenti indirizzi:

Dynamic tiles via WMS: WMS 1.1.1
Dati vettoriali via WFS: WFS 1.1.0
I dati raster tramite WCS: WCS 1.1.1
Ricerca Metadati via CSW: CSW 2.0.2
Ricerca Metadati via OpenSearch: OpenSearch 1.0
Ricerca Metadati via OAI-PMH: OAI-PMH 2.0
Cache dei tile attraverso WMTS: WMTS 1.0.0