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.