GeoNode Django Apps

L’interface utilisateur d’un site de GeoNode est basé sur le framework web Django. GeoNode inclut quelques “apps” (modules de Django réutilisables) pour soutenir le développement des interfaces utilisateur. Bien que ces applications ont des configurations par défaut raisonnable, pour les sites de GeoNode personnalisés vous voudrez probablement ajuster ces apps pour vos besoins spécifiques.

‘’ geonode.base’’ - GeoNode core functionality

Magasins de base fonctionnalité utilisée tout au long de l’application GeoNode.

Etiquette du Modèle

num_ratings<object></object>

Retourne le nombre d’évaluations qu’a un objet. Exemple d’utilisation:

{% load base_tags %}
{% num_ratings map as num_votes %}

<p>Map votes: {{num_votes}}.</p>

Topic Categories

Retourne les catégories de la rubrique et le nombre d’objets dans chaque catégorie.

‘’ geonode.documents’’ - création de documents et de gestion

Gère les fichiers téléchargés qui peuvent être liées aux cartes. Les documents peuvent être n’importe quel type de fichier qui est inclus dans le paramètre ALLOWED_DOCUMENTS_TYPES.

settings.py Entries

ALLOWED_DOCUMENT_TYPES

Default: ['doc', 'docx', 'xls', 'xslx', 'pdf', 'zip', 'jpg', 'jpeg', 'tif', 'tiff', 'png', 'gif', 'txt']

Une liste d’extensions de fichiers acceptables qui peuvent être téléchargés sur l’app de Documents.

MAX_DOCUMENT_SIZE

Default: 2

La taille maximale (en mégaoctets) que d’upload sera saisie obtient rejetée.

‘’ geonode.layers’’ - création de la couche et la gestion des données géospatiales

Cette application de Django fournit prise en charge de gérer et de manipuler les ensembles de données géospatiales unique connues sous forme de couches.

Modèles

  • Attribut - attributs de fonctionnalité pour une couche géré par le GeoNode.

  • Couche - une couche de données gérée par la GeoNode

  • Style - le style d’une couche données géré par la GeoNode

Affichages

  • Création, visualisation, navigation, édition et suppression de calques et leurs métadonnées

Etiquette du Modèle

featured_layers

Retourne le les 7 couches plus récents.

layer_thumbnail <layer>

Retourne la vignette du calque.

manage.py Commands

importlayers

python manage.py importlayers

Apporte un fichier de données ou un répertoire complet des fichiers de données dans un site de GeoNode. Couches sont ajoutées à la base de données de Django, la configuration de GeoServer et l’index de métadonnées de GeoNetwork.

updatelayers

python manage.py updatelayers

Geoserver Rechercher les données qui n’a pas été ajoutées à GeoNode.

‘’ geonode.maps’’ - création de cartes et gestion des données géospatiales

Cette application de Django fournit un support pour la gestion et la manipulation des ensembles de données géospatiales. En particulier, il fournit des outils pour éditer, afficher et la recherche de métadonnées pour les couches de données et pour l’édition, affichage et la recherche de cartes qui agrègent des couches de données pour afficher des données sur un sujet particulier.

Modèles

  • Plan d’accès-une collection de couches de données composé dans un ordre particulier pour former une carte

  • MapLayer - un modèle qui tient à jour des informations de carte spécifiques liées à un calque, telles que l’ordre z-indexation.

Affichages

L’application maps fournit des vues pour :

  • Création, visualisation, navigation, modification et suppression de cartes

Ces opérations nécessitent l’utilisation de GeoServer pour gérer le rendu de la carte, ainsi que GeoExt d’édition et de prévisualisation des cartes et des couches de données interactives.

Il y a aussi certains mappages d’url dans le module ‘’ geonode.maps.urls’’ pour l’intégration facile dans les sites de GeoNode.

settings.py Entries

OGC_SERVER

Default: {} (Empty dictionary)

Un dictionnaire des serveurs OGC et et leurs options. Le serveur principal doit être répertorié dans la clé « par défaut ». S’il n’y a pas de clé « par défaut » ou si le paramètre ‘’ OGC_SERVER’’ n’existe pas GeoNode déclenchera une exception mal configurés. Voici un exemple de la création de ‘’ OGC_SERVER’‘:

OGC_SERVER = {
  'default' : {
      'LOCATION' : 'http://localhost:8080/geoserver/',
      'USER' : 'admin',
      'PASSWORD' : 'geoserver',
  }
}
Frontal

Default: "geonode.geoserver"

L’OGC serveur backend à utiliser. Le choix du backend sont :

  • 'geonode.geoserver'
BACKEND_WRITE_ENABLED

Default: True

Spécifie si le serveur de l’OGC est inscriptible. Si False, les actions qui modifient les données sur le serveur de l’OGC ne s’exécutera pas.

LOCATION

Default: "http://localhost:8080/geoserver/"

Une URL de base dont GeoNode peuvent construire des URL de service OGC. Si vous utilisez Geoserver vous pouvez déterminer cela en visitant la page d’accueil administration GeoServer sans le /web/ à la fin. Par exemple, si votre application d’administration de GeoServer est à http://example.com/geoserver/web/, emplacement de votre serveur est http://example.com/geoserver.

PUBLIC_LOCATION

Default: "http://localhost:8080/geoserver/"

L’URL utilisée pour dans la plupart des demandes de GeoNode. Ce paramètres permet à un utilisateur d’écrire à un seul serveur OGC (l’emplacement) et de lire à partir d’un serveur distinct ou le PUBLIC_LOCATION.

USER

Default: 'admin'

Le nom d’utilisateur administratif pour le serveur OGC sous forme de chaîne.

PASSWORD

Default: 'geoserver'

Le mot de passe administratif pour le serveur OGC sous forme de chaîne.

MAPFISH_PRINT_ENABLED

Default: True

Valeur booléenne qui indique si l’extension d’impression de Mapfish est activée sur le serveur.

PRINT_NG_ENABLED

Default: True

Valeur booléenne qui indique si l’impression des cartes et des calques est activée.

GEONODE_SECURITY_ENABLED

Default: True

Valeur booléenne qui indique si l’application de sécurité de GeoNode est activée.

GEOGIT_ENABLED

Default: False

Valeur booléenne qui indique si le serveur OGC prend en charge les entrepôts de données Geogig.

WMST_ENABLED

Default: False

Non implémenté.

WPS_ENABLED

Default: False

Non implémenté.

DATASTORE

Default: '' (Empty string)

Chaîne facultative qui représente le nom d’un magasin de données vectorielles qui postera de GeoNode sont importés. Afin de soutenir les importations de magasin de données vecteur il doit aussi être une entrée pour le magasin de données dans le dictionnaire ‘’ bases ‘’ portant le même nom. Exemple:

OGC_SERVER = {
  'default' : {
     'LOCATION' : 'http://localhost:8080/geoserver/',
     'USER' : 'admin',
     'PASSWORD' : 'geoserver',
     'DATASTORE': 'geonode_imports'
  }
}

DATABASES = {
 'default': {
     'ENGINE': 'django.db.backends.sqlite3',
     'NAME': 'development.db',
 },
 'geonode_imports' : {
     'ENGINE': 'django.contrib.gis.db.backends.postgis',
     'NAME': 'geonode_imports',
     'USER' : 'geonode_user',
     'PASSWORD' : 'a_password',
     'HOST' : 'localhost',
     'PORT' : '5432',
  }
 }
GEOSERVER_CREDENTIALS

Retirée en GeoNode 2.0, cette valeur est maintenant spécifiée dans les paramètres de ‘’ OGC_SERVER’‘.

GEOSERVER_BASE_URL

Retirée en GeoNode 2.0, cette valeur est maintenant spécifiée dans les paramètres de ‘’ OGC_SERVER’‘.

Catalogue Service for Web (CSW)

Une dict avec les clés suivantes :

  • MOTEUR : Le backend CSW (valeur par défaut est ‘’ geonode.catalogue.backends.pycsw_local’‘)

  • URL : L’url de base complet pour l’instance de CCF pour ce GeoNode

  • Nom d’utilisateur : les références de connexion (si nécessaire)

  • Mot de passe : identifiants (si nécessaire)

pycsw est la valeur par défaut que CSW activé dans GeoNode. pycsw directives de configuration sont gérées dans l’entrée PYCSW.

PYCSW

Une dict avec configuration de pycsw. De note sont les sections ‘’ metadata:main’’ pour définir les métadonnées de serveur CSW et ‘’ métadonnées : inspirer ‘’ pour définir les options de INSPIRE. Réglage ‘’ métadonnées : inspirer [‘enabled’]’’ à ‘’ vrai ‘’ permettra de soutien INSPIRE. Configurations de niveau serveur peuvent être substituées dans la section ‘’ server’‘. Voir le http://pycsw.org/docs/configuration.html pour les détails de configuration complète pycsw.

SITEURL

Default: 'http://localhost:8000/'

Une URL de base devant servir à créer des liens absolus aux vues de Django.

DEFAULT_MAP_BASE_LAYER

Le nom de la couche de fond à inclure dans les cartes nouvellement créés.

DEFAULT_MAP_CENTER

Default: (0, 0)

2-tuple avec les coordonnées latitude/longitude du point central-à utiliser dans les cartes nouvellement créés.

DEFAULT_MAP_ZOOM

Default: 0

Le niveau de zoom à utiliser dans les cartes nouvellement créés. Cela fonctionne comme les OpenLayers zoom réglage du niveau ; 0 correspond à la mesure du monde et chaque niveau supplémentaire divise la fenêtre en deux dans chaque sens.

‘’ geonode.proxy’’ - les applications JavaScript aider à accéder à des serveurs distants

Cette application de Django fournit certains proxies HTTP pour accéder aux données des serveurs distants, pour surmonter les restrictions imposées par la politique de la même origine utilisée par les navigateurs. Ceci permet les applications GeoExt dans un site GeoNode pour accéder à divers documents XML à partir des services de données conformes à l’OGC.

Affichages

geonode.proxy.views.proxy

Ce point de vue transfère les demandes sans authentification vers une URL fournie dans la demande, similaire au script proxy.cgi fourni par le projet OpenLayers.

geonode.proxy.views.GeoServer

Cette demande de procurations vue de GeoServer. Au lieu d’un paramètre d’URL-encodée URL, le composant de chemin d’accès de la requête devrait être un élément de tracé pour GeoServer. Les demandes vers cette URL requièrent une authentification valide contre le site de Django et utiliseront par défaut ‘’ OGC_SERVER’’ ‘’ utilisateur ‘’, ‘’ mot de passe ‘’ et ‘’ lieu ‘’ paramètres tel que défini dans l’application maps.

‘’ geonode.search’’ - fournit la fonctionnalité de recherche de GeoNode.

Cette application de Django fournit une fonctionnalité de recherche rapide à GeoNode.

Affichages

  • search_api-construit et exécute une requête de recherche basée sur les paramètres d’url et retourne les résultats correspondant au format demandé.

‘’ geonode.security’’ - GeoNode granulaire Auth Backend

Cette application fournit une interface d’authentification destiné à l’attribution d’autorisations pour des objets individuels (cartes et couches).

settings.py Entries

LOCKDOWN_GEONODE

Default: False

Par défaut, l’application GeoNode permet aux visiteurs d’afficher la plupart des pages sans être authentifié. La valeur ‘’ LOCKDOWN_GEONODE = True’’ d’obliger un utilisateur à authentifier avant l’application de visualisation.

AUTH_EXEMPT_URLS

Default: () (Empty tuple)

Un tuple de modèles d’url que l’utilisateur peut visiter sans être authentifié. Ce paramètre n’a aucun effet si ‘’ LOCKDOWN_GEONODE’’ n’est pas vrai. Par exemple, ‘’ AUTH_EXEMPT_URLS = (‘/ cartes’,)’’ permettra à des utilisateurs non authentifiés à parcourir les cartes.

Etiquette du Modèle

geonode_media<media_name></media_name>

Entrées d’accès dans MEDIA_LOCATIONS sans nécessiter la vue pour ajouter explicitement dans le contexte du modèle. Exemple d’utilisation:

{% include geonode_media %}
{% geonode_media "ext_base" %}
has_obj_perm <user> <obj> <permission>

Vérifie si l’utilisateur a l’autorisation spécifiée sur un objet.

‘’ {% has_obj_perm utilisateur obj « app.view_thing » comme can_view_thing %}’‘

Modèles d’erreur de Django

GeoNode personnalise quelques-uns des modèles d’erreur par défaut de Django.

500.html

Si aucun gestionnaire d’événements personnalisé pour les 500 erreurs n’est mis en place dans le module URLconf, django appellera django.views.defaults.server_error qui attend un fichier html de 500 dans la racine du répertoire de modèles. En GeoNode, nous avons mis un modèle qui n’hérite pas de quelque chose comme 500. html et parce que la plupart des machines de Django est en panne lorsqu’une erreur interne (code 500) est rencontré l’utilisation des balises de template doit être évitée.