Informations pour les développeurs

Informations pratiques pour les développeurs intéressés par GeoNode

GeoNode est un service ouvert, construit sur ​​des logiciels open source . Nous vous encourageons à créer de nouvelles applications utilisant les composants et les ressources qu'il fournit. Cette page est un point de départ pour les développeurs intéressés à tirer pleinement parti de GeoNode. Elle comprend également des liens vers le code source du projet. N'importe qui peut créer et personnaliser son propre GeoNode.

Application GeoNode

Tout code utilisé par GeoNode est open source . Le code est disponible à l'adresse http://github.com/GeoNode/geonode/. Le logiciel de suivi de problème est ici http://github.com/GeoNode/geonode/issues .

GeoNode se repose sur l'utilisation de plusieurs projets open source, chacun avec sa propre communauté. Si vous êtes intéressé à contribuer au développement de nouvelles fonctionnalités pour la GeoNode, nous vous encourageons à le faire en contribuant à l'un des projets sur lequel il est basé :

Quels sont les services proposés par l'OGC ?

Les données de cette application sont fournies en utilisant des normes ouvertes approuvées par le Open Geospatial Consortium, en particulier, les WMS (Web Map Service) qui sont utilisés pour accéder aux cartes, le WFS (Web Feature Service) utilisé pour accéder à des données vectorielles, et le WCS (Web Coverage Service) utilisé pour accéder aux données raster. Le WMC (Web Map Context Documents) est utilisé pour le partage de cartes. Vous pouvez utiliser ces services dans vos propres applications en utilisant les bibliothèques telles que OpenLayers, GeoTools, et OGR ( qui sont tous des logiciels open-source et disponible à un coût nul ).

Qu'est-ce que GeoWebCache ?

GeoWebCache fournit tuiles cartographiques qui sont compatibles avec un certain nombre de moteurs de cartographie, y compris Google Maps, Bing Maps et OpenLayers. Toutes les données hébergées par GeoNode sont également disponible par le biais GeoWebCache. GeoWebCache améliore les performance des services WMS en mettant en cache les données et fournir des cartes plus fluides.

Exemple de code OpenLayers

Pour inclure une couche de GeoNode dans un client léger cartographique OpenLayers, trouvez tout d'abord le nom de cette couche. Il se trouve dans le champ nom(name) de la couche, et non celui du titre (title) de la couche présente dans la liste des couches. Par exemple, nous allons utiliser la couche des frontières politiques du Nicaragua comme fond cartographique, dont le nom est risk:nicaragua_admin. Ensuite , créer une instance de OpenLayers.Layer.WMS :

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

Exemple de code Google Maps

Pour inclure une couche d'une carte GeoNode dans une carte Google Map, écrire le nom de la couche dans l'URL suivante.

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

Sortie Shapefile/GeoJSON/GML sortie

Comment obtenir des données de GeoNode par le protocole WFS? Par exemple, pour obtenir les limites administratives du Nicaragua utiliser :

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

Il est aussi possible de changer le format de sortie vers json, GML2, GML3, ou csv. Le protocole WFS peut également gérer des requêtes plus complexes, en spécifiant une zone d'intérêt avec un sélection dans un rectangle ou avec divers filtres spatiaux et non-spatiaux sur la base des attributs des données .

Exemple de code GeoTools

Créer un Datastore et en extraire un FeatureType, puis exécutez une requête. Il est tout documenté sur le wiki à http://geotools.org/.

Services Web de GeoNode

Services GeoNode Web sont disponibles depuis les liens suivants:

Tuiles dynamique via WMS WMS 1.1.1
Données vectorielles via WFS WFS 1.1.0
Données raster par WCS: WCS 1.1.1
Recherche de métadonnées via CSW: CSW 2.0.2
Carreaux en cache via WMTS: WMTS 1.0.0