Hilfreiche Informationen für Entwickler, die an GeoNode interessiert sind.

GeoNode ist eine offene Plattform, die auf Open-Source Software basiert. Wir empfehlen Ihnen, neue Anwendungen mit den bereitgestellten Komponenten und Ressourcen zu erstellen. Diese Seite ist ein Ausgangspunkt für Entwickler, die GeoNode in vollem Umfang nutzen möchten. Es enthält auch Links zum Quellcode des Projekts, sodass jeder seinen eigenen GeoNode erstellen und anpassen kann.

GeoNode-Software

Der gesamte Code, auf dem GeoNode ausgeführt wird, ist Open Source. Der Code ist unter http://github.com/GeoNode/geonode/ verfügbar. Der Issue-Tracker für das Projekt ist unter http://github.com/GeoNode/geonode/issues.

GeoNode basiert auf mehreren Open Source-Projekten, von denen jedes eine eigene Community hat. Wenn Sie daran interessiert sind, neue Funktionen in den GeoNode einzubringen, empfehlen wir Ihnen dies, indem Sie zu einem der Projekte beitragen, auf denen er basiert:

  • GeoExt - Das JavaScript-Toolkit für umfangreiche Webmapping-Anwendungen
  • GeoServer - Auf Standards basierender Server für Geodaten
  • GeoWebCache - Cache-Engine für WMS-Kacheln
  • OpenLayers - Reine JavaScript-Bibliothek für die Karten von GeoExt
  • pycsw - CSW-, OpenSearch- und OAI-PMH-Metadatenkatalogserver

Was sind OGC-Services?

Die Daten in dieser Anwendung werden mit offenen Standards geliefert, die von ISO und dem Open Geospatial Consortium unterstützt werden. WMS (Web Map Service) wird insbesondere für den Zugriff auf Karten verwendet, WFS (Web Feature Service) für den Zugriff auf Vektordaten und WCS (Web Coverage Service) für den Zugriff auf Raster-Daten. WMC (Web Map Context Documents) wird zum Freigeben von Karten verwendet. Sie können diese Dienste in Ihren eigenen Anwendungen verwenden, indem Sie Bibliotheken wie OpenLayers, GeoTools und OGR verwenden (alle sind Open-Source-Software und ohne Aufpreis erhältlich). Darüber hinaus unterstützt CSW (Catalog Service for the Web) den Zugriff auf Sammlungen beschreibender Informationen (Metadaten) zu Daten und Diensten.

Was ist GeoWebCache?

GeoWebCache bietet Mapping-Kacheln, die mit einer Reihe von Mapping-Engines kompatibel sind, darunter Google Maps, Bing Maps und OpenLayers. Alle von GeoNode gehosteten Daten sind auch über GeoWebCache verfügbar. GeoWebCache verbessert das WMS, indem Daten zwischengespeichert und reaktionsschnellere Karten bereitgestellt werden.

CSW-Beispielcode

Für die Interaktion mit CSW von GeoNode können Sie einen beliebigen CSW-Client (QGIS MetaSearch, GRASS usw.) verwenden. Das folgende Beispiel zeigt einen einfachen Aufruf mit dem OWSLib-Python-Paket:

from owslib.csw import CatalogueServiceWeb

from owslib.fes import PropertyIsLike

csw = CatalogueServiceWeb('https://zensus-in-sh.de/catalogue/csw')

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

csw.getrecords2(constraints=[anytext])

print csw.results

print csw.records

OpenLayers-Beispielcode

Um einen GeoNode-Karten-Layer in eine OpenLayers-Map aufzunehmen, suchen Sie zuerst den Namen für diesen Layer. Dies befindet sich im name -Feld der Ebene (nicht title) der Layerliste. In diesem Beispiel verwenden wir die Hintergrundebene der nicaraguanischen politischen Grenzen, deren Name risk:nicaragua_admin ist. Dann erstellen Sie eine Instanz von OpenLayers.Layer.WMS:

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

Beispielcode für Google Maps

Um einen GeoNode-Karten-Layer in eine Google Map aufzunehmen, fügen Sie den Layer-Namen in die URL-Vorlage ein.

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 } );

Shapefile / GeoJSON / GML-Ausgabe

Verwenden Sie das WFS-Protokoll, um Daten von den GeoNode-Webdiensten abzurufen. Verwenden Sie zum Beispiel die vollständigen nicaraguanischen Verwaltungsgrenzen:

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

Wenn Sie das Ausgabeformat in json, GML2, GML3 oder csv ändern, werden Daten in diesen Formaten abgerufen. Das WFS-Protokoll kann auch genauere Abfragen verarbeiten, indem ein Begrenzungsrahmen oder verschiedene räumliche und nicht räumliche Filter basierend auf den Attributen der Daten angegeben werden.

GeoTools Beispielcode

Erstellen Sie einen DataStore, extrahieren Sie einen FeatureType und führen Sie dann eine Abfrage aus. Weitere Informationen insd im Wiki unter geotools.org zu finden

GeoNode's Webdienste

Die Webdienste von GeoNode sind unter den folgenden URLs verfügbar:

Dynamische Kacheln über WMS: WMS 1.1.1
Vektordaten über WFS: WFS 1.1.0
Rasterdaten über WCS: WCS 1.1.1
Metadatensuche via CSW: CSW 2.0.2
Metadatensuche über OpenSearch: OpenSearch 1.0
Metadatensuche über OAI-PMH: OAI-PMH 2.0
Open Data: data.json
Zwischengespeicherte Kacheln über WMTS: WMTS 1.0.0