Suite

Comment créer un shapefile ou un gml à partir d'une base de données Oracle en utilisant SDE.ST_Geometry ?

Comment créer un shapefile ou un gml à partir d'une base de données Oracle en utilisant SDE.ST_Geometry ?


J'ai une base de données ORACLE 10g (Oracle Database 10g Enterprise Edition Release 10.2.0.3.0) avec un champ SDE.ST_Geometry et je souhaite créer un programme en python afin de pouvoir créer plusieurs fichiers de formes basés sur ce champ ST_Geometry et utiliser d'autres champs comme ainsi je peux remplir mes formes avec des attributs. Je n'ai qu'un accès à la base de données et je n'ai aucune idée de quel arcgis est lié.

Comment puis-je faire ceci? Y a-t-il une suggestion?


Si vous avez le même problème, GDAL peut être une bonne approche…

S'il vous plaît jeter un oeil sur

http://www.gdal.org/ogr2ogr.html

http://www.gdal.org/ogr/drv_oci.html

import cx_Oracle # Import osgeo try: from osgeo import ogr, osr, gdal print "Import success!" sauf : sys.exit('ERREUR : impossible de trouver les modules GDAL/OGR') # Pour vous connecter à la base de données Oracle, vous aurez besoin de : Connection_String = 'username/[email protected] (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = xx. xxx.xxx.xx)(PORT = xxxx))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = name.service)))' cx_Oracle.connect(Connection_String) cur = db.cursor() cur.execute("select shape .minx, shape.miny, somefield from mydbase.table") # "shape" est le nom de votre champ SDE.ST_Geometry.

enfin il vous suffit de suivre ce lien :

http://www.digital-geography.com/create-and-edit-shapefiles-with-python-only/#.VDPnvPldU31

et problème résolu… Si vous rencontrez le même problème et trouvez cette question utile, veuillez voter.


Import/export de données SIG dans oracle spatial.

Cet article aborde plusieurs aspects théoriques et pratiques du développement de logiciels visant l'import et l'export de bases de données SIG dans Oracle Spatial. Pour former la base de données Oracle Spatial, nous utiliserons des fichiers raster SIG (ESRI, BIL) ou des fichiers vectoriels SIG (GML, Shapefile). L'application se connecte à la base de données ou aux fichiers SIG pour extraire ou saisir des données géographiques et pour celles-ci, elle utilise différents algorithmes pour l'importation et l'exportation de données géographiques et des algorithmes heuristiques pour la conversion entre les données raster et vectorielles. L'utilisateur peut choisir exactement comment les données seront converties.

De nos jours, sur le marché, il existe peu d'applications qui assurent uniquement l'import ou l'export de données SIG dans la base de données Oracle Spatial comme : SQL Loader, GRASS, Spatial Console ou PalentGIS. Aucune de ces applications ne peut assurer la conversion entre différents types de données (raster et vecteur).

L'application peut être améliorée en utilisant plusieurs fichiers SIG, en créant des modules logiciels pour visualiser des cartes et pour éditer des données spatiales. En plus de cela, les algorithmes de conversion peuvent être optimisés afin de rendre les opérations plus rapides.

Les fichiers raster sont généralement utilisés pour stocker des informations d'image, des données capturées par des satellites ou d'autres systèmes d'imagerie aéroportés. Un format raster est représenté par tout type d'image numérique stockée dans des grilles. Les données raster sont divisées en cellules, pixels ou éléments. Les cellules sont organisées en tableaux et chacun a une valeur unique qui représente un attribut géographique pour la zone. Les numéros de rangée et de colonne sont utilisés pour identifier l'emplacement de chaque cellule dans le tableau (George, 2001). Les fichiers SIG raster utilisés pour l'application sont : BIL (format binaire) et ESRI (format ASCII)

Les fichiers vectoriels sont représentés par des éléments vectoriels : points, lignes, polygones, arcs, lignes de chaîne etc. Chaque type de fichier SIG a sa propre manière de représenter les informations vectorielles, dans un ou plusieurs fichiers. Les fichiers SIG vectoriels utilisés pour l'application sont : ShapeFile (format binaire) et GML (format ASCII).

Oracle Spatial fournit un schéma et des fonctions SQL qui facilitent le stockage, la récupération, la mise à jour et l'interrogation des données spatiales. Oracle Spatial prend en charge le modèle relationnel objet pour représenter les géométries. L'objet pouvant stocker des données géométriques est : MDSYS.SDO_GEOMETRY (Albert, 2007).

Cette application effectue l'importation et l'exportation d'une base de données Oracle Spatial vers des fichiers de données SIG. L'application effectue également la conversion raster/vecteur pour différents types de fichiers SIG. Pour stocker les données dans Oracle Spatial, nous avons besoin de deux tables : dans l'une nous stockons les métadonnées (MapInfo) pour toutes les cartes et dans les autres la carte réelle (Chuck, 2003).

1. L'en-tête du fichier raster est lu et analysé

2. Les métadonnées sont insérées dans MapInfo sur la nouvelle carte

3. Est créé une nouvelle table où la carte sera stockée (table_name)

4. Chaque cellule est lue à partir de la cellule raster et convertie en objets SDO_GEOMETRY

5. Les données sont insérées dans la base de données

1. Le fichier SIG est créé et l'en-tête est rempli de métadonnées

2. Les données sont lues à partir de la table et sont converties à partir de

objets SDO_GEOMETRY en une seule valeur (altitude)

3. Les données sont insérées dans le fichier à la position spécifique dans la matrice

1. La carte est analysée et les métadonnées sont insérées dans MapInfo

2. Est créé une nouvelle table où la carte sera stockée

3. Chaque vecteur est lu à partir du fichier SIG et est converti en

4. Les données sont insérées dans la base de données

1. Le fichier SIG est créé

2. Les données sont lues à partir de la table et converties à partir des objets SDO_GEOMETRY dans un format vectoriel spécifique au type de fichier SIG vectoriel

3. Les données sont insérées dans la base de données.

1. Le fichier SIG vectoriel ou la carte stocké dans la base de données est analysé

2. Les métadonnées sont insérées dans MapInfo sur la nouvelle carte

3. Est créé une nouvelle table où la carte sera stockée

4. Répétez l'opération pour chaque cellule de la carte matricielle

4.1. Sélectionnez les données vectorielles qui coupent la cellule

4.2. Calculer la valeur d'altitude de la cellule : moyenne pondérée des surfaces occupées par les données vectorielles dans la cellule

4.3. Convertir des données en un objet SDO GEOMETRY

4.4. Les données sont insérées dans la base de données

1. La carte est analysée et les métadonnées sont insérées dans MapInfo

2. L'algorithme suivant est appliqué :

2.2. sélectionnez le premier x, y où U[x][y]=0

2.4.1. trouver tous les voisins de T comme (nx,ny) où

2.4.2. insérer des voisins dans N

2.4.3. s=0 P=P union <(nx,ny)>pour tout (nx,ny)

2.4.4.1. supprimer le premier (nx,ny) de N

2.7. convertir F en SDO_GEOMETRY

2.8. insérer F dans la base de données

2.1. calculer les arêtes et les sommets de la cellule P[x][y]

2.2. insérer dans Eet V les arêtes et sommets qui sont uniques

4. pour tout point (x,y) de V

4.1. calculer nv,nei,nes pour (x,y) à partir de V

4.2. créer ES,EI et les initialiser //voir la table x.x

insérer dans EU à la fin, les bords où EI[x]!=null, 0<x<5

4.4.1. si (EI[1]=null ouEI[3]=null) insérer dans EU à la fin, les bords EI[2], EI[4]

insérer dans EU à la fin, bords EI[1], EI[3]

4.5. si (nei==4) et ((nv=7) ou (np=8 et nei!=8)) alors

4.5.1. if(ES[1]=null ou ES[8]=null) alors insérer dans EU à la fin, les bords EI[4], EI[1]

4.5.2. if(ES[2]=null ou ES[3]=null) puis insérer dans EU à la fin, les bords EI[1], EI[2]

4.5.3. if(ES[4]=null ou ES[5]=null) puis insérer dans EU à la fin, les bords EI[2], EI[3]

4.5.4. if(ES[6]=null ou ES[7]=null) puis insérer dans EU à la fin, les bords EI[3], EI[4]

6.1. p0=p1, extraire la première arête (p1,p2) de l'UE // p1=(x1,y1)

6.2. insérer dans EU à la fin, bord (p1,p2)

6.3.1. extraire le bord (pa1,pa2) de l'UE où pa1=EUO[last_element][2] ou pas2=EUO[last_element][1]

6.3.2. if (pa1=EUO[last_element][2]) alors insérer dans EU à la fin, bord (pa1,pa2)

6.3.3. if (pa2=EUO[last_element][1]) alors insérer dans EU à la fin, bord (pa2,pa1)

6.4. jusqu'à p0=EUO[last_element][2]

8. pour tout e1=EUO[t] e2=EUO[t+1] //ei=((xi1,yi1),(xi2,yi2)) où t=module(0..size(EUO), size( UEO))+1

(e1[1][1]=e2[2][1] ou e1[1][2]=e2[2][2]) puis

8.1.1. retirer de l'EUO : EUO[t+1], EUO[t]

8.1.2. insérer dans EUO sur la position t, bord (e1[1],e2[2])

9. i=0, créer FV, FD // FV= <<>>, FD= <>

10.2. extraire la première arête e=(p1,p2) de EUO //EUO[1]=e

10.4. si(p1[1]=p2[1] et p1[2]<p2[2]) ou

(p1[2]=p2[2] et p1[1]>p2[1]) puis FD[i]=0 sinon FD[i]=1

10.5. insérer dans le sommet TV p1 // TV[1]=p1

10.6.1. extraire le premier bord (p1,p2) de EUO

10.6.2. insérer dans le téléviseur à la fin, sommet p1

10.6.3.1. insérer dans le téléviseur à la fin, sommet p2

10.6.3.2. insérer dans FV à la fin, liste TV

Cet article a tenté de souligner l'importance d'un logiciel qui permet la conversion entre différents types de données spatiales et assure l'importation et l'exportation de données SIG dans Oracle Spatial Database. Pour l'application ont été choisis tous les différents types de fichiers SIG : à la fois de type raster et vectoriel et les formats ASCII et binaire. Le but de la sélection de ces fichiers était de couvrir tous les types de conversions de données spatiales qui peuvent exister. De nos jours, il n'y a pas d'application qui facilite toutes ces fonctionnalités (importation, exportation, conversion) et aucune qui puisse faire des conversions entre les formats raster et vectoriel.

Albert, G. Ravi, K. & Euro, B. (2007). Pro Oracle Spatial pour Oracle Database 11g, Apress, 978-1-59059-899-3, États-Unis

Chuck, M. (2003). Guide et référence de l'utilisateur d'Oracle Spatial

George, B. et Korte, P. (2001). Le livre SIG, cinquième édition, éd. OnwordPress, 0-7668-2820-4, Canada


Contraintes

Spécifie s'il faut conserver le qualificateur de table. Le nom complet d'une table dans une base de données est au format :

Selon le format de la base de données, le préfixe peut être <database_name>.<owner_name> , <owner_name> ou <schema_name> .

La sélection de ce paramètre indique que le lecteur doit renvoyer le nom de la table sans aucun préfixe. Ceci est utile, par exemple, lors de la création d'un espace de travail qui sera transmis à une autre organisation en utilisant les mêmes noms de table, ou lors d'une traduction vers un autre format de base de données mais avec un nom d'utilisateur différent.

Lorsque ce paramètre est sélectionné lors de la génération de l'espace de travail, les types d'entités sources seront les noms de table sans aucun préfixe sinon, ils contiendront le nom du propriétaire comme préfixe. Il est recommandé de ne pas modifier ce paramètre après avoir généré l'espace de travail, car il est possible qu'aucune fonctionnalité ne soit transmise avec succès au rédacteur (puisque le rédacteur attend des types de fonctionnalités avec des noms différents).

Noter: Même lorsque ce paramètre est sélectionné, si la table appartient à un utilisateur autre que l'utilisateur actuel, le préfixe ne sera pas supprimé. C'est pour s'assurer que le lecteur trouvera le bon tableau.

Cliquez sur le bouton Parcourir pour sélectionner les tables à exporter. Vous ne pouvez sélectionner cette option qu'après avoir complètement spécifié la connexion à la base de données.

Après avoir cliqué sur le bouton Parcourir, la fenêtre d'extraction de liste de tables ArcSDE s'affiche pendant que le système compile une liste de tables à partir de la base de données. Une fois la liste des tables affichée, vous pouvez sélectionner une ou plusieurs tables, puis cliquer sur OK pour fermer la fenêtre. Le ou les noms de table apparaîtront dans le champ de liste de tables de la boîte de dialogue Input  Settings.

Entrez une clause SQL where qui contraint les attributs des couches sélectionnées dans la liste des couches (par exemple, NUMLANES=2).


Un bon point de départ est le manuel Oracle Spatial User's Guide and Reference (à l'adresse http://docs.oracle.com/cd/B19306_01/appdev.102/b14255/toc.htm pour la version 10g 2).

La fonctionnalité "intégrée" pour les données spatiales consiste à stocker les données spatiales dans la base de données elle-même en utilisant des lignes et des colonnes comme d'autres types de données. Par exemple, vous pouvez avoir une table CITIES avec des colonnes "normales" comme CITY_NAME et une colonne "spatiale" (peut-être nommée LOCATION) qui contient la représentation spatiale de chaque ville (peut-être un point ou un polygone). Oracle fournit un type de données spécial nommé SDO_GEOMETRY pour stocker des données spatiales de cette manière, ainsi que des fonctionnalités d'indexation, de recherche, de transformation, etc. Oracle fournit également des utilitaires pour convertir les fichiers de formes dans ce format.

Il existe deux « niveaux » de fonctionnalité spatiale : le niveau « de base » (Oracle Locator) qui fait partie de chaque édition (XE, Standard, Enterprise, etc.) et le niveau « étendu » (Oracle Spatial) qui est un option de coût supplémentaire pour l'édition Entreprise uniquement.


Entreposage spatial¶

MapServer peut utiliser une grande variété de sources d'entrée de données. L'une des solutions de plus en plus populaires consiste à utiliser des bases de données spatialement activées pour stocker des données et à les utiliser directement pour dessiner des cartes pour le Web.

Vous découvrirez ici comment activer mapserver pour communiquer avec l'un de ces produits. Veuillez vous référer à la référence MapFile pour plus de détails sur la façon de les utiliser. Cette section détaille uniquement comment compiler MapServer pour leur utilisation.

PostSIG¶

PostGIS ajoute la prise en charge des objets géographiques à la base de données relationnelle objet PostgreSQL. En effet, PostGIS « active spatialement » le serveur PostgreSQL, lui permettant d'être utilisé comme base de données spatiale principale pour les systèmes d'information géographique (SIG), un peu comme le SDE d'ESRI ou l'extension spatiale d'Oracle. PostGIS est inclus dans le système d'emballage de nombreuses distributions, mais vous pouvez également lancer le vôtre si nécessaire.

MapServer peut utiliser PostGIS comme source de données. La prise en charge de PostGIS est activée par défaut.

Pour vérifier que cette fonctionnalité est activée, vérifiez la sortie de configuration pour :

Si, pour une raison quelconque, vous ne souhaitez pas la prise en charge de PostGIS, vous pouvez la forcer à l'aide de "-DWITH_POSTGIS=OFF". Pour aider CMake à trouver votre installation PostGIS, vous pouvez utiliser l'option CMAKE_PREFIX_PATH (par exemple "-DCMAKE_PREFIX_PATH=/usr/local/pgsql").

Oracle Spatial¶

Oracle Spatial est également pris en charge par MapServer. Pour vous y connecter, vous devrez compiler MapServer avec les bibliothèques Oracle en utilisant l'option WITH_ORACLESPATIAL. Vous aurez très probablement besoin d'une variable d'environnement ORACLE_HOME pour qu'elle configure correctement les choses.

Pour vérifier que cette fonctionnalité est activée, vérifiez la sortie de configuration pour :


Vous ne pouvez pas simplement utiliser json_encode, la sortie PHP doit être dans le format que l'API Google comprendra (documentation Google ici). Donc, fondamentalement, vous devez avoir une sorte de fonction en php qui transforme les résultats OCI en une chaîne JSON lisible par Google.

J'ai publié une solution qui fonctionne plutôt bien dans ma configuration, d'autres utilisateurs pourraient en bénéficier. Vous pouvez voir mon code sur GitHub :

Le code php se présente comme suit :

Pour le reste de l'implémentation sur Java et HTML, consultez le référentiel git posté ci-dessus

Je sais que c'est une réponse tardive, mais toujours un succès sur Google et on m'a posé la question plusieurs fois


COUCHE¶

Ce mot-clé permet de créer des paires nom-valeur pour lier des variables dans des instructions SQL. La liaison de variable empêche l'injection SQL en échappant correctement les chaînes et les entiers. S'applique uniquement aux connexions PostGIS et Oracle.

Signale le début d'un objet CLASS.

A l'intérieur d'une couche, une seule classe sera utilisée pour le rendu d'une entité. Chaque caractéristique est testée par rapport à chaque classe dans l'ordre dans lequel elles sont définies dans le mapfile. La première classe qui correspond à ses contraintes d'échelle min/max et à sa vérification d'EXPRESSION pour l'entité actuelle sera utilisée pour le rendu.

Cela peut être contrôlé avec la directive de traitement RENDERMODE.

Spécifiez le groupe de la classe qui serait pris en compte au moment du rendu. Le paramètre GROUP de l'objet CLASS doit être utilisé en combinaison avec CLASSGROUP.

Nom de l'élément dans la table attributaire à utiliser pour les recherches de classe.

Signale le début d'un objet CLUSTER.

L'option de configuration CLUSTER permet de combiner plusieurs entités de la couche en entités uniques (agrégées) en fonction de leurs positions relatives. Pris en charge uniquement pour les couches POINT.

Signale le début d'un objet COMPOSITE.

Un ou plusieurs blocs COMPOSITE peuvent être utilisés pour signaler que le rendu doit être effectué dans une image temporaire et fusionné sur l'image de carte finale dans une étape finale. Les options définies à l'intérieur du bloc COMPOSITE détermineront comment cette fusion doit être effectuée (par exemple en appliquant l'opacité, l'opérateur de composition ou les filtres de pixels)

Chaîne de connexion à la base de données pour récupérer les données distantes.

Une chaîne de connexion PostGIS est essentiellement une chaîne de connexion PostgreSQL standard, elle prend la forme de "user=nobody password=****** dbname=dbname host=localhost port=5432"

Une chaîne de connexion Oracle : user/pass[@db]

Une chaîne de connexion SDE se compose d'un nom d'hôte, d'un nom d'instance, d'un nom de base de données, d'un nom d'utilisateur et d'un mot de passe séparés par des virgules.

Le pilote SDE natif de MapServer a été supprimé pour la version MapServer 7.0 (voir discussion). Le support SDE est toujours accessible via le pilote OGR.

Données vectorielles pour des informations de connexion spécifiques pour diverses sources de données.

Voir Kernel Density Estimation (Dynamic Heatmap) pour des informations de connexion spécifiques pour l'estimation de la densité du noyau.

Ce mot-clé permet de définir des options de connexion exprimées sous forme de paires clé/valeur. Ceci n'est actuellement implémenté que pour les couches CONNECTIONTYPE OGR ou raster, afin de transmettre les options ouvertes aux pilotes GDAL/OGR.

Exemple pour une source de données GeoJSON pour spécifier l'option ouverte FLATTEN_NESTED_ATTRIBUTES du pilote OGR GeoJSON.

Type de connexion. La valeur par défaut est locale. Voir la documentation supplémentaire pour tout autre type.

Données vectorielles pour des informations de connexion spécifiques pour diverses sources de données. Voir Union Layer pour combiner les couches, ajouté dans MapServer 6.0

Voir Kernel Density Estimation (Dynamic Heatmap) pour des informations de connexion spécifiques pour l'estimation de la densité du noyau.

mygis est un autre type de connexion, mais il est obsolète, veuillez consulter la section MySQL du document Vector Data pour les détails de connexion.

Nom de fichier complet des données spatiales à traiter. Aucune extension de fichier n'est nécessaire pour les fichiers de formes. Peut être spécifié par rapport à l'option SHAPEPATH de l'objet Map.

S'il s'agit d'une couche SDE, le paramètre doit inclure le nom de la couche ainsi que la colonne de géométrie, c'est-à-dire "mylayer,shape,myversion".

S'il s'agit d'une couche PostGIS, le paramètre doit être sous la forme "<columnname> de <tablename>", où "columnname" est le nom de la colonne contenant les objets géométriques et "tablename" est le nom de la table à partir de laquelle les données géométriques seront lues.

Pour Oracle, utilisez "shape FROM table" ou "shape FROM (instruction SELECT)" ou même des requêtes compatibles Oracle plus complexes ! Notez qu'il y a cependant des impacts importants sur les performances lors de l'utilisation de sous-requêtes spatiales. Essayez d'utiliser le FILTRE de MapServer chaque fois que possible à la place. Vous pouvez également voir le SQL soumis en forçant une erreur, par exemple en soumettant un paramètre DATA dont vous savez qu'il ne fonctionnera pas, en utilisant par exemple un mauvais nom de colonne.

Dans un cas d'utilisation standard, lorsque PostGIS, SpatiaLite ou GeoPackage sont utilisés comme source de données, le filtre BBOX (les cadres de délimitation se croisent, && avec PostGIS) est utilisé automatiquement. Cependant, dans certains cas d'utilisation rares, une sous-requête peut prendre beaucoup de temps si les données sont vraiment importantes, car les données finales ne seront filtrées que dans la requête. Afin de filtrer les données plus tôt, c'est-à-dire avant la requête finale, on peut filtrer les données directement dans la sous-requête à l'aide de la !BOX! variable : WHERE ST_Intersects(wkb_geometry,!BOX!) .

Données vectorielles pour des informations de connexion spécifiques pour diverses sources de données.

Active le débogage d'une couche dans la carte actuelle.

Débogage avec les versions MapServer >= 5.0 :

La sortie détaillée est générée et envoyée à la sortie d'erreur standard (STDERR) ou au fichier d'erreur MapServer si celui-ci est défini à l'aide de la variable d'environnement "MS_ERRORFILE". Vous pouvez définir la variable d'environnement en utilisant le paramètre CONFIG au niveau MAP du mapfile, par exemple :

Vous pouvez également définir la variable d'environnement dans Apache en ajoutant ce qui suit à votre httpd.conf :

Une fois la variable d'environnement définie, le paramètre DEBUG mapfile peut être utilisé pour contrôler le niveau de sortie de débogage. Voici une description des valeurs DEBUG possibles :

DEBUG O ou OFF - seuls les appels msSetError() sont enregistrés dans MS_ERRORFILE. Aucune sortie msDebug(). Ceci est la valeur par défaut et correspond au comportement d'origine de MS_ERRORFILE dans MapServer 4.x

DEBUG 1 ou ON - inclut toutes les sorties de DEBUG 0 plus les avertissements msDebug() sur les pièges courants, les échecs d'assertions ou les situations d'erreur non fatales (par exemple, valeurs manquantes ou invalides pour certains paramètres, fichiers de formes manquants dans tileindex, erreur de délai d'attente des serveurs WMS/WFS distants, etc. )

DÉBOGUER 2 - comprend toutes les sorties de DEBUG 1 ainsi que des avis et des informations de synchronisation utiles pour le réglage des fichiers de mappage et des applications

DÉBOGUER 3 - tout DEBUG 2 plus quelques sorties de débogage utiles pour résoudre les problèmes tels que les URL de connexion WMS appelées, les appels de connexion à la base de données, etc. C'est le niveau recommandé pour le débogage des mapfiles.

DÉBOGUER 4 - DEBUG 3 et encore plus de détails.

DÉBOGUER 5 - DEBUG 4 plus toute sortie msDebug() qui pourrait être plus utile aux développeurs qu'aux utilisateurs.

Vous pouvez également définir le niveau de débogage à l'aide de la variable d'environnement "MS_DEBUGLEVEL".

Le paramètre DEBUG peut également être spécifié pour l'ensemble de la carte, en définissant le paramètre DEBUG dans l'objet MAP.

Pour plus de détails sur ce mécanisme de débogage, veuillez consulter Debugging MapServer .

Débogage avec les versions MapServer < 5:

La sortie détaillée est générée et envoyée à la sortie d'erreur standard (STDERR) ou au fichier journal MapServer s'il est défini à l'aide du paramètre LOG dans l'objet WEB. Les utilisateurs d'Apache verront les détails de la synchronisation pour le dessin dans le fichier error_log d'Apache. Nécessite que MapServer soit construit avec l'option DEBUG=MSDEBUG (--with-debug configure option).

Ditinggalkan sejak versi 6.0 : utilisez plutôt LAYER METADATA.

Basculez pour permettre à MapServer de renvoyer des données au format GML. Utile lorsqu'il est utilisé avec les opérations WMS GetFeatureInfo. "false" par défaut.

L'encodage utilisé pour le texte dans la source de données de couche. La valeur doit être prise en charge par ICONV (par exemple "LATIN1"). Lorsque ENCODING est défini (et différent de "UTF-8"), les attributs de texte de la source de données seront convertis en UTF-8.

Requis pour afficher les caractères internationaux dans MapServer. Plus d'informations peuvent être trouvées dans le document Label Encoding .

ÉTENDUE [minx] [miny] [maxx] [maxy]

L'étendue spatiale des données. Dans la plupart des cas, vous n'aurez pas besoin de le spécifier, mais cela peut être utilisé pour éviter le coût de vitesse lié au calcul de l'étendue des données par MapServer. Une application peut également éventuellement utiliser cette valeur pour remplacer l'étendue de la carte.

Signale le début d'un objet FEATURE.

Ce paramètre permet un filtrage d'attributs spécifiques aux données qui est effectué en même temps que le filtrage spatial, mais avant que les expressions CLASS ne soient évaluées. La chaîne est simplement une expression MapServer :

Les filtres natifs sont pris en charge via la clé NATIVE_FILTER PROCESSING :

Catatan

Jusqu'à MapServer 6, les filtres natifs pouvaient être spécifiés comme :

Mais ce n'est plus pris en charge.

Élément à utiliser avec des expressions FILTER simples. OGR et fichiers de formes uniquement.

Modèle à utiliser après l'ensemble des résultats d'une couche a été envoyé. Modes de requête multi-résultats uniquement.

GEOMTRANSFORM [<expression>|<Fichier Javascript>]

Utilisé pour indiquer que l'entité actuelle sera transformée.

<expression>: applique l'expression donnée à la géométrie.

(tampon([forme],dist)): Tamponnez la géométrie ( [shape] ) en utilisant les unités dist ground comme distance tampon. Pour les polygones, une dist négative produira un recul.

(simplifier([forme],tolérance)): simplifie une géométrie ( [forme] ) en utilisant l'algorithme standard de Douglas-Peucker.

(simplifypt([forme], tolérance)): simplifie une géométrie ( [forme] ), garantissant que le résultat est une géométrie valide ayant la même dimension et le même nombre de composants que l'entrée. la tolérance doit être non négative.

(généraliser([forme],tolérance)): simplifie une géométrie ( [shape] ) d'une manière comparable à l'algorithme ThinNoPoint de FME. Voir http://trac.osgeo.org/gdal/ticket/966 pour plus d'informations.

(smoothsia([forme], smoothing_size, smoothing_iteration, prétraitement)): va lisser une géométrie ( [forme] ) en utilisant l'algorithme SIA

Il existe une différence entre STYLE et LAYER GEOMTRANSFORM. Le niveau LAYER recevra les coordonnées au sol (mètres, degress, etc.) et le niveau STYLE recevra les coordonnées des pixels. L'argument des méthodes telles que simplifier () doit être dans les mêmes unités que les coordonnées des formes à ce point du flux de travail de rendu, c'est-à-dire les pixels au niveau STYLE et en unités au sol au niveau LAYER.

La variable [map_cellsize] est disponible si vous devez passer une valeur de pixel au niveau LAYER.

Pour que cette variable fonctionne dans l'analyseur d'expressions mathématiques, la [map_cellsize] doit être convertie en unité au sol de la couche. Si vous choisissez d'utiliser [map_cellsize] dans votre expression GEOMTRANSFORM, vous devez explicitement définir l'option UNITS dans la couche.

<Fichier Javascript>: Un fichier Javascript qui renvoie une nouvelle géométrie. Voir Transformation Javascript .

Signale le début d'un objet GRID.

Nom d'un groupe auquel appartient cette couche. Le nom du groupe peut ensuite être référencé en tant que nom de calque normal dans les fichiers modèles, ce qui permet d'effectuer des opérations telles que l'activation et la désactivation d'un groupe de calques à la fois.

Si un nom de groupe est présent dans le paramètre LAYERS d'une requête CGI, toutes les couches du groupe sont renvoyées (le STATUS des LAYER n'a aucun effet).

Modèle à utiliser avant l'ensemble des résultats d'une couche a été envoyé. Modes de requête multi-résultats uniquement.

Signale le début d'un objet JOIN.

Supprimé dans la version 5.0 : veuillez plutôt consulter le paramètre ANGLE de l'objet LABEL.

Pour les versions MapServer < 5.0, il s'agit du nom de l'élément dans la table attributaire à utiliser pour les angles d'annotation de classe. Les valeurs doivent être en degrés.

Spécifie si les étiquettes doivent être dessinées lorsque les entités de cette couche sont dessinées, ou si elles doivent être mises en cache et dessinées une fois que toutes les couches ont été dessinées. La valeur par défaut est activée. La suppression des chevauchements d'étiquettes, le placement automatique, etc. ne sont disponibles que lorsque le cache d'étiquettes est actif.

Nom de l'élément dans la table attributaire à utiliser pour l'annotation de classe (c'est-à-dire l'étiquetage).

Échelle minimale à laquelle cette COUCHE est étiquetée. L'échelle est donnée comme dénominateur de la fraction d'échelle réelle, par exemple pour une carte à l'échelle 1:24 000, utilisez 24 000. Implémenté dans MapServer 5.0, pour remplacer le paramètre obsolète LABELMAXSCALE.

Échelle maximale à laquelle cette COUCHE est étiquetée. L'échelle est donnée comme dénominateur de la fraction d'échelle réelle, par exemple pour une carte à l'échelle 1:24 000, utilisez 24 000. Implémenté dans MapServer 5.0, pour remplacer le paramètre obsolète LABELMINSCALE.

Définit le contexte pour l'étiquetage de cette couche, par exemple :

signifie que ce calque ne sera PAS étiqueté si un calque nommé "orthoquads" est activé. L'expression consiste en une expression booléenne basée sur l'état des autres couches, chaque sous-chaîne [nom de la couche] est remplacée par un 0 ou un 1 selon l'ÉTAT de cette couche, puis évaluée comme normale. Les opérateurs logiques AND et OR peuvent être utilisés.

Supprimé dans la version 5.0 : veuillez consulter le paramètre SIZE de l'objet LABEL à la place.

Pour les versions MapServer < 5.0, il s'agit du nom de l'élément dans la table attributaire à utiliser pour les tailles d'annotation de classe. Les valeurs doivent être en pixels.

Les données de la couche actuelle ne seront rendues qu'à l'intersection des entités de la couche [layername]. [layername] doit référencer le NOM d'un autre LAYER défini dans le mapfile actuel. peut être n'importe quel type de couche de serveur de carte, c'est-à-dire vecteur ou raster. Si le calque actuel a un étiquetage configuré, alors seules les étiquettes dont le point d'étiquette tombe à l'intérieur de la zone non masquée seront ajoutées au cache d'étiquettes (les glyphes réels de l'étiquette peuvent être rendus au-dessus de la zone masquée.

À moins que vous ne vouliez que les caractéristiques de [layername] apparaissent réellement sur la carte générée, [layername] doit généralement être défini sur STATUS OFF.

Spécifie le nombre d'entités qui doivent être dessinées pour cette couche dans la fenêtre ACTUELLE. A des utilisations intéressantes avec des annotations et avec des données triées (c'est-à-dire des lacs par zone).

Largeur maximale, dans les unités géographiques de la carte, à laquelle cette COUCHE est dessinée. Si MAXSCALEDENOM est également spécifié, MAXSCALEDENOM sera utilisé à la place.

La largeur d'une carte en unités géographiques peut être trouvée en calculant les éléments suivants à partir des étendues :

Baru pada versi 5.0.0 : Remplacement de MAXSCALE.

Échelle minimale à laquelle cette COUCHE est dessinée. L'échelle est donnée comme dénominateur de la fraction d'échelle réelle, par exemple pour une carte à l'échelle 1:24 000, utilisez 24 000.

Ce mot-clé permet de stocker des données arbitraires sous forme de paires nom-valeur. Ceci est utilisé avec OGC WMS pour définir des éléments tels que le titre de la couche. Cela peut également permettre plus de flexibilité dans la création de modèles, car tout ce que vous mettez ici sera accessible via les balises de modèle.

Largeur minimale, dans les unités géographiques de la carte, à laquelle cette COUCHE est dessinée. Si MINSCALEDENOM est également spécifié, MINSCALEDENOM sera utilisé à la place.

La largeur d'une carte en unités géographiques peut être trouvée en calculant les éléments suivants à partir des étendues :

Échelle maximale à laquelle cette COUCHE est dessinée. L'échelle est donnée comme dénominateur de la fraction d'échelle réelle, par exemple pour une carte à l'échelle 1:24 000, utilisez 24 000. Implémenté dans MapServer 5.0, pour remplacer le paramètre MINSCALE obsolète.

Nom abrégé de cette couche. Ce nom est le lien entre le mapfile et les interfaces Web qui font référence à ce nom. Ils doivent être identiques. Le nom doit être unique, à moins qu'une couche n'en remplace une autre à différentes échelles. Utilisez l'option GROUP pour associer des couches entre elles. Il est recommandé que le nom ne contienne pas d'espaces, de caractères spéciaux ou ne commence par un chiffre (ce qui pourrait causer des problèmes via des interfaces telles que les services OGC).

HORS SITE [r] [g] [b] | [chaîne hexadécimale]

Définit l'index de couleur à traiter comme transparent pour les calques raster.

r , g et b doivent être des entiers [0..255]. Pour spécifier les pixels noirs, les éléments suivants sont utilisés :

la chaîne hexadécimale peut être

Valeur RVB : "#rrggbb". Pour spécifier le magenta, ce qui suit est utilisé :

Valeur RGBA (ajout de translucidité) : "#rrggbbaa". Pour spécifier un magenta semi-translucide, les éléments suivants sont utilisés :

Ditinggalkan sejak versi 7.0 : utilisez plutôt un bloc COMPOSITE.

Bibliothèque supplémentaire à charger par MapServer, pour cette couche. Ceci est couramment utilisé pour charger un support spécifique pour les couches SDE et Microsoft SQL Server, telles que :

Indique à MapServer de restituer cette couche une fois que toutes les étiquettes du cache ont été dessinées. Utile pour ajouter des lignes nettes et des éléments similaires. La valeur par défaut est false.

Passe une directive de traitement à utiliser avec cette couche. Les directives de traitement prises en charge varient selon le type de couche et le pilote sous-jacent qui les traite.

Directives ArcSDE - Toutes les options de traitement ArcSDE sont décrites dans ArcSDE . Voici deux exemples.

Directive Attributs - L'option de traitement ITEMS permet de spécifier le nom des attributs pour les couches en ligne ou de spécifier le sous-ensemble d'attributs à utiliser par la couche, tels que :

Regroupement - les directives d'objet cluster sont décrites dans CLUSTER

Directive de mise en commun des connexions - C'est ici que vous pouvez activer le regroupement de connexions pour certains types de couches. Le regroupement de connexions permettra à MapServer de partager le handle vers une base de données ouverte ou une connexion de couche tout au long d'un processus de dessin de carte unique. De plus, si FastCGI est activé, le descripteur de connexion restera ouvert indéfiniment, ou selon les options spécifiées dans la configuration FastCGI. Oracle Spatial, ArcSDE, OGR Vector Layers Through MapServer et PostGIS/PostgreSQL prennent actuellement en charge cette approche. "REPORTER" active le regroupement de connexions "TOUJOURS" fermera toujours la connexion après utilisation et n'essaiera pas non plus de réutiliser une connexion partagée du pool qui pourrait provenir d'une autre couche.

Directives de contour - les directives contour sont décrites dans Contour .

Rayon de densité de noyau

Rayon en pixels du filtre gaussien à appliquer au tableau bitmap une fois que toutes les caractéristiques ont été accumulées. Des valeurs plus élevées entraînent une augmentation du temps processeur nécessaire pour calculer les données filtrées.

Bordures de calcul de densité de noyau

Un noyau de rayon "r" ne peut pas être appliqué aux pixels "r" le long des bords de l'image. La valeur par défaut consiste à étendre le rectangle de recherche de la source de données d'entrée pour inclure les entités "r" les pixels en dehors de l'étendue actuelle de la carte afin que la carte thermique calculée s'étende sur toute l'étendue de l'image résultante. Cela peut être désactivé lors de la mosaïque si le logiciel de mosaïque applique un méta-tampon de "r" pixels à ses requêtes, afin d'éviter la surcharge de performances liée au calcul de ces informations supplémentaires.

Normalisation de la densité du noyau

S'il est défini sur "AUTO", la bande raster créée sera mise à l'échelle de telle sorte que ses intensités vont de 0 à 255, afin de couvrir entièrement le dégradé de couleurs configuré. Un tel comportement peut ne pas être souhaitable (généralement pour le carrelage) car l'intensité résultante d'un pixel à un emplacement donné variera en fonction de l'étendue de la demande de carte actuelle. S'il est défini sur une valeur numérique, les échantillons seront multipliés par la valeur donnée. Il appartient à l'utilisateur de déterminer quelle valeur de mise à l'échelle utiliser pour que les pixels résultants couvrent toute la plage de 0 à 255, déterminant que cette valeur est principalement un processus d'essais et d'erreurs. Les pixels qui se situent en dehors de la plage 0-255 seront tronqués à 0 ou 255.

Rampe de couleurs raster

RANGE_COLORSPACE=RGB|HSL - La prise en charge par défaut de RANGE interpole les couleurs entre les arrêts dans l'espace RVB, ce qui entraîne généralement des couleurs délavées. L'interpolation peut être effectuée dans l'espace HSL, ce qui entraîne généralement la sortie souhaitée pour les cartes thermiques.

Directive sur l'étiquetage - L'option de traitement LABEL_NO_CLIP peut être utilisée pour ignorer le découpage des formes lors de la détermination des points d'ancrage des étiquettes associées. Cela évite les changements de position de l'étiquette lorsque les étendues changent entre les tracés de carte. Cela évite également les étiquettes en double lorsque les entités apparaissent dans plusieurs tuiles adjacentes lors de la création de cartes tuilées.

Directive de rendu de ligne - L'option de traitement POLYLINE_NO_CLIP peut être utilisée pour ignorer le découpage des formes lors du rendu des lignes stylisées (en pointillés ou stylisées avec des symboles). Cela évite de modifier le style des lignes lorsque les étendues changent entre les tracés de carte. Il évite également les effets de bord lorsque les entités apparaissent dans plusieurs tuiles adjacentes lors de la création de cartes en tuiles.

Directive de rendu de classe

L'option de traitement RENDERMODE spécifie comment les classes sont sélectionnées pour le rendu d'un calque. La valeur par défaut et le comportement historique sont FIRST_MATCHING_CLASS : seule la première classe applicable est sélectionnée pour restituer une entité (voir la description de CLASS ). L'autre valeur disponible est ALL_MATCHING_CLASSES : toutes les classes applicables sont utilisées pour restituer une entité, chacune étant utilisée en plus des précédentes. Il s'agit du comportement par défaut avec les styles SLD.

Directive sur les styles OGR - Cette directive peut être utilisée pour obtenir des styles d'étiquettes via MapScript. Pour plus d'informations, consultez le document OGR de MapServer.

Options spécifiques à MSSQL - MSSQL_READ_WKB=TRUE - Utilise le format WKB (Well Known Binary) au lieu du format natif lors de la récupération des géométries.

Filtre natif Directive

Cette directive peut être utilisée pour effectuer un filtrage spécifique au pilote. Pour les connexions à la base de données, la chaîne est une clause SQL WHERE qui est valide par rapport à la base de données sous-jacente.

Options spécifiques à PostGIS - FORCE2D=YES peut être utilisé pour forcer la récupération des géométries 2D uniquement à partir de PostGIS.

Options de rendu spécifiques au champ vectoriel - UV_SPACING : L'espacement est la distance, en pixels, entre les flèches à afficher dans le champ vectoriel. La valeur par défaut est 32. UV_SIZE_SCALE : Utilisé pour convertir les longueurs vectorielles (magnitude) du raster en pixels pour un meilleur rendu. La valeur par défaut est 1.

Ajustement du rendu AGG - Cette directive peut être utilisée pour définir le gamma linéaire à utiliser lors du rendu des entités surfaciques. La valeur par défaut de 0,75 (qui peut être remplacée au niveau OUTPUTFORMAT) peut être définie sur une valeur inférieure pour limiter/supprimer les contours pâles qui apparaissent entre les polygones adjacents. Une valeur de 0,5 est généralement suffisante.

Directives raster - Toutes les options de traitement raster sont décrites dans Raster Data . Ici, nous voyons les directives SCALE et BANDs utilisées pour mettre à l'échelle automatiquement les données raster et modifier le mappage des bandes.

Directives couche Union - Les options de traitement suivantes peuvent être utilisées avec les calques d'union : UNION_STATUS_CHECK (TRUE ou FALSE) - contrôle si l'état des calques source doit être vérifié et les calques invisibles (STATUS=OFF) doivent être ignorés. La valeur par défaut est FAUX. UNION_SCALE_CHECK (TRUE ou FALSE) - contrôle si la plage d'échelle des calques source doit être vérifiée et les calques invisibles (situés en dehors de la plage d'échelle et de la plage de zoom) doivent être ignorés. La valeur par défaut est VRAI. UNION_SRCLAYER_CLOSE_CONNECTION - remplace le paramètre de pool de connexions des couches sources. En introduisant ce paramètre, nous modifions le comportement actuel qui équivaut à : "UNION_SRCLAYER_CLOSE_CONNECTION=ALWAYS"

Signale le début d'un objet PROJECTION.

Définit le contexte d'affichage de cette couche (voir LABELREQUIRES).

Signale le début d'un objet SCALETOKEN. Autorise les substitutions de chaînes dépendantes de l'échelle. Voir MS RFC 86 : Substitutions de chaînes dépendantes de l'échelle .

Dans l'exemple précédent, %pri% serait remplacé par :

"1" pour les dénominateurs d'échelle inférieurs à 1 000, ce qui donne :

"2" pour les dénominateurs d'échelle compris entre 1 000 et 10 000 :

"3" pour les dénominateurs d'échelle supérieurs à 10 000 :

Définit l'unité des valeurs STYLE de l'objet SIZE (la valeur par défaut est le pixel). Utile pour simuler la mise en mémoire tampon. nauticalmiles a été ajouté dans MapServer 5.6.

Définit l'état actuel du calque. Souvent modifié par MapServer lui-même. Par défaut, le calque est activé en permanence.

En mode CGI, les couches avec STATUS DEFAULT ne peuvent pas être désactivées à l'aide des mécanismes normaux. Il est recommandé de définir les couches sur STATUS DEFAULT lors du débogage d'un problème, mais de les remettre sur ON/OFF en utilisation normale.

Pour WMS , les couches du fichier de mappage du serveur avec STATUS DEFAULT sont toujours envoyées au client.

Le STATUS des couches individuelles d'un GROUPE n'a aucun effet lorsque le nom du groupe est présent dans le paramètre LAYERS d'une requête CGI - toutes les couches du groupe seront renvoyées.

Style basé sur des attributs ou généré avec Javascript

<attribut>: élément à utiliser pour un style spécifique à une fonction. Les informations de style peuvent être représentées par un attribut séparé (chaîne de style) attaché à l'entité. MapServer prend en charge les représentations de chaîne de style suivantes :

Définition de STYLE MapServer - La chaîne de style peut être représentée comme un bloc MapServer STYLE selon l'exemple suivant :

MapServer CLASS définition - En spécifiant l'ensemble de la CLASSE au lieu d'un seul style, vous pouvez utiliser d'autres options (telles que la définition d'expressions, les attributs d'étiquette, plusieurs styles) pour chaque fonctionnalité.

Chaîne de style OGR - MapServer prend en charge le rendu du format de chaîne de style OGR conformément à la documentation OGR - Feature Style Specification. Actuellement, seules quelques sources de données prennent en charge le stockage des styles avec les fonctionnalités (comme MapInfo, AutoCAD DXF, Microstation DGN), mais ces styles peuvent facilement être transférés vers de nombreuses autres sources de données en tant qu'attribut distinct en utilisant l'outil de ligne de commande ogr2ogr comme suit :

AUTO: La valeur : AUTO peut être utilisée pour le coiffage automatique.

Le style automatique peut être fourni par le conducteur. Actuellement, seul le pilote OGR prend en charge le style automatique.

Lorsqu'il est utilisé pour un calque d'union , les styles des calques source seront utilisés.

Un fichier Javascript qui renvoie une nouvelle chaîne contenant soit une définition STYLE, soit une définition CLASS avec un ou plusieurs styles. Voir STYLEITEM Javascript .

L'échelle à laquelle les symboles et/ou le texte apparaissent en taille réelle. Cela permet une mise à l'échelle dynamique des objets en fonction de l'échelle de la carte. S'il n'est pas défini, ce calque apparaîtra toujours à la même taille. La mise à l'échelle n'a lieu que dans les limites de MINSIZE et MAXSIZE comme décrit ci-dessus. L'échelle est donnée comme dénominateur de la fraction d'échelle réelle, par exemple pour une carte à l'échelle 1:24 000, utilisez 24 000. Implémenté dans MapServer 5.0, pour remplacer le paramètre obsolète SYMBOLSCALE.

Utilisé comme alternative globale à CLASS TEMPLATE . Voir Modèle pour plus d'informations.

Nom du fichier ou de la couche tileindex. Un index de tuile est similaire à un index de bibliothèque ArcInfo. Le tileindex contient des entités surfaciques pour chaque tuile. L'élément qui contient l'emplacement des données tuilées est donné à l'aide du paramètre TILEITEM. Lorsqu'un fichier est utilisé comme index de tuile pour un fichier de formes ou des couches raster, l'index de tuile doit être un fichier de formes. Pour les couches OGR CONNECTIONTYPE, toute source de données prise en charge par OGR peut être un index de tuile. Normalement, l'emplacement doit contenir le chemin d'accès au fichier de tuiles par rapport au chemin de forme, et non par rapport à l'index de tuile lui-même. Si le paramètre DATA contient une valeur, elle est ajoutée à la fin de l'emplacement. Lorsqu'une couche tileindex est utilisée, elle fonctionne de la même manière qu'une référence directe à un fichier, mais n'importe quelle source d'entités prise en charge peut être utilisée (c'est-à-dire postgres, oracle).

Tous les fichiers du tileindex doivent avoir le même système de coordonnées et pour les fichiers vectoriels le même ensemble d'attributs dans le même ordre.

À partir de MapServer 6.4 pour les couches raster et MapServer 7.2 pour les couches vectorielles, des index de tuiles avec des tuiles de différentes projections peuvent être utilisés. Pour cela, le paramètre TILESRS doit être spécifié.

Élément qui contient l'emplacement d'une tuile individuelle, la valeur par défaut est "location".

Nom de l'attribut qui contient le SRS d'une tuile individuelle. Ce SRS peut être exprimé au format WKT, sous forme de code EPSG:XXXX ou sous forme de chaîne PROJ. Si le tileindex contient des rasters dans différentes projections, cette option doit être spécifiée. Si le tileindex a été généré avec gdaltindex (GDAL >= 2.0) ou ogrtindex (GDAL >= 2.2), la valeur de TILESRS est la valeur de l'option -src_srs_name de gdaltindex/ogrtindex. Voir Tileindexes avec des tuiles dans différentes projections

Cette option n'est actuellement disponible que sur les couches raster.

Sensibilité pour les requêtes basées sur des points (c'est-à-dire via la souris et/ou les coordonnées cartographiques). Donné en UNITES DE TOLERANCE. Si la couche est un POINT ou une LIGNE, la valeur par défaut est 3. Pour tous les autres types de couche, la valeur par défaut est 0. Pour restreindre les recherches de polygones afin que le point doive se produire dans le polygone, définissez la tolérance sur zéro. Ce paramètre ne s'applique pas aux opérations WFS GetFeature.

Unités de la valeur de TOLÉRANCE. La valeur par défaut est les pixels. Nauticalmiles a été ajouté dans MapServer 5.6.

TRANSPARENCE [entier|alpha] - obsolète

Ditinggalkan sejak versi 5.0 : utilisez OPACITY à la place.

Ditinggalkan sejak versi 7.0 : utilisez plutôt COMPOSITE.

Indique à MapServer si une couche particulière doit être transformée ou non d'un système de coordonnées en coordonnées d'image. La valeur par défaut est true. Cela vous permet de créer des fichiers de formes en coordonnées image/graphique et donc d'avoir des caractéristiques qui seront toujours affichées au même endroit sur chaque carte. Idéal pour placer des logos ou du texte dans des cartes. N'oubliez pas que le système de coordonnées graphiques a une origine dans le coin supérieur gauche de l'image, contrairement à la plupart des systèmes de coordonnées cartographiques.

La version 4.10 introduit la possibilité de définir des caractéristiques avec des coordonnées données en pixels (ou en pourcentages, voir UNITS), le plus souvent des caractéristiques en ligne, par rapport à autre chose que le coin UL d'une image. C'est ce que signifie 'TRANSFORMER FAUX'. En définissant une origine alternative, cela vous permet d'ancrer quelque chose comme une déclaration de droit d'auteur à une autre partie de l'image d'une manière indépendante de la taille de l'image.

Spécifie comment les données doivent être dessinées. N'a pas besoin d'être le même que le type de fichier de formes. Par exemple, un fichier de formes de polygones peut être dessiné comme une couche de points, mais un fichier de formes de points ne peut pas être dessiné comme une couche de polygones. Règles de bon sens.

Afin de différencier les POLYGONES et les POLYLINES (qui n'existent pas en tant que type), il suffit d'utiliser ou d'omettre respectivement le mot-clé COLOR lors de la classification. Si vous l'utilisez, c'est un polygone avec une couleur de remplissage, sinon c'est une polyligne avec seulement OUTLINECOLOR.

Un cercle doit être défini par un rectangle englobant minimum. C'est-à-dire deux points qui définissent le plus petit carré pouvant le contenir. Ces deux points sont les deux coins opposés de ladite boîte. Voici un exemple utilisant des points en ligne pour tracer un cercle :

La requête TYPE signifie que la couche peut être interrogée mais pas dessinée.

L'annotation TYPE est dépréciée depuis la version 6.2. Des fonctionnalités identiques peuvent être obtenues en ajoutant des blocs STYLE de niveau LABEL, et ne nécessitent pas de charger les jeux de données deux fois dans deux couches différentes comme c'était le cas avec les couches d'annotation TYPE .

Le graphique HowTo de création de graphiques dynamiques pour le graphique TYPE.

Unités de la couche. Les pourcentages (dans ce cas, une valeur comprise entre 0 et 1) ont été ajoutés dans MapServer 4.10 et sont principalement destinés aux fonctionnalités en ligne. nauticalmiles a été ajouté dans MapServer 5.6.

Un modèle JSON UTFGrid. Syntaxe d'expression MapServer (expressionObj). Si aucun UTFDATA n'est fourni, aucune donnée au-delà des valeurs UTFITEM ne sera exposée. Si UTFITEM est défini, UTFDATA les expose afin que les clés et les données puissent être connectées. Voir MS RFC 93 : prise en charge de la grille UTF et sortie UTFGrid .

L'attribut à utiliser comme ID pour l'UTFGrid. Si un UTFITEM n'est pas défini, l'ID séquentiel (basé sur l'ordre de rendu) est utilisé. Si UTFITEM est défini, UTFDATA les expose afin que les clés et les données puissent être connectées. Voir MS RFC 93 : prise en charge de la grille UTF et sortie UTFGrid .

Signale le début d'un bloc VALIDATION.

Depuis MapServer 5.4.0, les blocs VALIDATION sont le mécanisme préféré pour spécifier des modèles de validation pour les substitutions de paramètres d'exécution CGI. Voir Substitution à l'exécution .


Comment créer un shapefile ou un gml à partir d'une base de données Oracle en utilisant SDE.ST_Geometry ? - Systèmes d'information géographique

Revue internationale des géosciences Vol.06 No.01 (2015), Numéro d'article : 53569,8 pages
10.4236/ijg.2015.61006

Une approche contextuelle pour le portail d'infrastructure de données spatiales

Zahra Rezaee 1 , Mohammad Reza Malek 2

1 Département de l'environnement et de l'énergie, Direction des sciences et de la recherche, Université islamique Azad, Téhéran, Iran

2 Département de SIG, Faculté de géodésie et de génie géomatique, K.N. Université de technologie Toosi, Téhéran, Iran

Copyright © 2015 par les auteurs et Scientific Research Publishing Inc.

Ce travail est sous licence Creative Commons Attribution International License (CC BY).

Reçu le 2 janvier 2015 accepté le 25 janvier 2015 publié le 28 janvier 2015

L'infrastructure de la plupart des activités pratiques et de construction dans les communautés est basée sur une compréhension correcte et une utilisation appropriée des données spatiales dans les SIG 1 et SDI 2 . L'utilisation optimale et efficace des systèmes d'infrastructure des données spatiales par les utilisateurs dépend de la manière de rechercher et d'accéder aux données appropriées et souhaitées de l'utilisateur parmi les sources d'information de diverses organisations. L'opération de recherche et l'accès des utilisateurs à diverses informations provenant de sources multiples situées sur le réseau d'infrastructure de données spatiales sont déroutants et prennent du temps en raison de la diversité et du volume relativement élevé d'informations spatiales. Du fait qu'il existe de nombreuses classes et sous-classes de diverses complications sur le modèle de SDI, l'utilisateur inconscient du modèle peut être confus lors de la sélection de l'affichage de la couche spatiale appropriée. Dans des conditions optimales, l'utilisateur doit avoir accès au type de données approprié en fonction de son état, de sa tâche et des conditions environnementales. En faisant une interface utilisateur graphique intelligente par inférence basée sur les informations de tâche de l'utilisateur et son expertise, les informations appropriées et cohérentes avec les conditions seront obtenues. La sélection et l'affichage des couches spatiales liées à l'approche technico-organisationnelle de l'utilisateur du système lui apportent une aide particulière tant en termes de filtrage des données non pertinentes que de rapidité de fonctionnement en accès aux informations optimales qu'en état d'affichage non sélectif. À cette fin, la conception et l'utilisation de techniques contextuelles pour la maintenance de l'interface utilisateur du système basées sur la reconnaissance de l'expertise technique de l'utilisateur peuvent être une bonne solution pour l'affichage adaptatif des données et la maintenance contextuelle aux utilisateurs.

SDI, contextuel, service de catalogue Web, service de carte Web

De nos jours, l'infrastructure de données spatiales est utilisée dans de nombreuses régions et pays. La plupart des producteurs de données spatiales ont tendance à partager leurs données et leurs services. Le problème fondamental dans l'utilisation optimale des utilisateurs des systèmes d'infrastructure de données spatiales est de savoir comment rechercher et accéder rapidement de l'utilisateur aux données appropriées et souhaitées parmi les référentiels d'informations de diverses organisations. En raison de la diversité des données spatiales et de la nécessité de les comprendre correctement et de les utiliser correctement sur les pages Web et les moteurs de recherche, leur séparation et leur classification appliquées sont requises pour différents groupes d'utilisateurs ayant des exigences différentes.

D'autre part, l'avènement du système d'information géographique fournit la base de l'émergence du traitement et du traitement mobiles n'importe où et n'importe quand. Contrairement aux systèmes d'information géographique conventionnels, les processus exécutés dans les environnements de calculatrices sensibles au contexte et sensibles au lieu dépendent de l'environnement de la tâche et des conditions dynamiques de l'utilisateur. Dans un état optimal de travail avec des systèmes d'information spatiale, l'utilisateur doit avoir accès au type de données approprié et cohérent avec son statut et sa tâche et les conditions environnementales. La prise en charge de cette variabilité est possible lorsque l'interface graphique de l'utilisateur agit de manière plutôt intelligente et par inférence basée sur les informations de tâche de l'utilisateur et son expertise, leur donne les informations correctes et cohérentes avec les conditions. Pour l'interface utilisateur intelligente, une approche qui a reçu une attention considérable ces dernières années est l'utilisation de la méthode informatique contextuelle [1] [2] .

L'interface utilisateur est un médiateur entre les humains et les ordinateurs qui offre la possibilité d'utiliser l'ordinateur par la possibilité de communication avec tous les canaux d'information. En fait, l'interface utilisateur est la partie visuelle et tangible des programmes informatiques que l'utilisateur traite directement avec elle [3] . L'interface utilisateur actuelle des systèmes en ligne est indépendante du contexte, car ils ne savent pas qui ou quoi se trouve autour de l'utilisateur et ne seront donc pas en mesure de s'adapter à l'environnement ou à certaines conditions.

Par conséquent, l'évaluation et l'évaluation des profils d'utilisateurs afin de fournir des systèmes proposés dans la mise en œuvre des systèmes sensibles au contexte est très importante. Dans les systèmes d'infrastructure de données spatiales, la carte affichée peut être considérée comme faisant partie de l'interface utilisateur. L'un des problèmes importants pour les utilisateurs lorsqu'ils travaillent avec des systèmes SDI est l'accessibilité aux informations appropriées en fonction du statut de l'utilisateur au niveau de l'interface utilisateur, de sorte que les informations visibles et l'accessibilité pour l'utilisateur correspondent de manière appropriée à ses conditions contextuelles.

Avec les quantités massives croissantes de données disponibles dans différentes organisations produisant divers types de données et la nécessité de les utiliser et de les utiliser par divers utilisateurs et, par conséquent, de gérer des mécanismes de recherche complexes pour obtenir les résultats souhaités, la nécessité de concevoir et de créer des utilisateurs sensibles au contexte interfaces proportionnelles aux conditions de travail et à l'environnement de l'utilisateur est plus tangible. En fait, les conditions contextuelles de l'utilisateur ont une relation étroite avec ses besoins d'information, et la façon dont le système de service à lui est contrôlé sur la base d'informations contextuelles. En général, en ce qui concerne la recherche et l'accessibilité optimale des utilisateurs aux données appropriées dans l'interface utilisateur du géoportail de l'infrastructure de données spatiales, de nombreux contextes efficaces peuvent également être pris en compte. Les contextes efficaces aident l'utilisateur à fournir les meilleurs résultats dans le cadre des services spatiaux des géoportails.

Le but de cette étude est de gérer le niveau d'accessibilité des utilisateurs autorisés et non autorisés et également de séparer l'affichage des données spatiales liées à l'utilisateur et de filtrer des couches supplémentaires non liées pour les utilisateurs organisationnels. Donc, à cette fin, nous devons enquêter et déterminer le contexte le plus efficace dans ce système. Ainsi, en fonction du déploiement de l'utilisateur travaillant dans diverses organisations spécialisées à un certain endroit et également fixé l'appareil utilisé, ainsi que le type de tâche spécialisée et définie dans les graphiques de ces organisations, le contexte le plus approprié pouvant être utilisé comme information contextuelle dans ce programme se trouve le type d'utilisateurs et leur approche technico-organisationnelle.

En fait, selon le but de cette étude, le contexte tel que la localisation de l'utilisateur, le type d'utilisateur et son domaine de travail dans le service adaptatif aux utilisateurs est utilisé. En effet, nous utilisons le contexte de localisation et le type d'utilisateur comme données contextuelles primaires, ainsi que le contexte de l'approche technico-organisationnelle en tant qu'informations contextuelles combinées de haut niveau obtenues à partir du contexte primaire dans la maintenance adaptative. Ainsi, d'autres informations contextuelles telles que les intérêts des utilisateurs, l'historique des recherches des utilisateurs, le type d'appareil utilisé dans cette application n'affectent pas la qualité de service du système à cette classe d'utilisateurs.

Par conséquent, dans la présente recherche afin de fournir les objectifs et les avantages de SDI pour les utilisateurs, nous utiliserons le géoportail de Clearinghouse dans la conception et la mise en œuvre de l'interface utilisateur souhaitée avec des services Web tels que WMS 3 et Web Service Catalog.

La poursuite de cette recherche est décrite dans ce qui suit. Dans la section 2, l'informatique contextuelle, sa définition et son application des informations contextuelles dans les systèmes SDI sont expliquées. Dans la section 3, nous décrivons l'architecture et la modélisation du système souhaité dans cette recherche, et dans la section 4, nous discuterons des détails de mise en œuvre. Dans la section 5, nous donnerons des conclusions et des suggestions.

2. Informatique contextuelle et application dans les systèmes SDI

Compte tenu de la diversité et de la pluralité des données spatiales et de la nécessité de les comprendre correctement et de les utiliser correctement dans les systèmes d'information spatiale, une séparation et une classification appliquées de celles-ci sont requises pour différents groupes d'utilisateurs en fonction de leurs diverses connaissances et exigences. Différents utilisateurs pour obtenir les données spatiales souhaitées ont besoin d'interfaces utilisateur qui coïncident avec leurs caractéristiques, selon leurs intérêts et parfois les conditions physiques et environnementales. L'informatique contextuelle est la capacité des appareils de traitement à trouver et mesurer, interpréter et réagir à différentes situations, environnements utilisateurs et appareils eux-mêmes [4] .

Le concept de contexte a été introduit pour la première fois par Pacoe et Schilit, selon lequel le but du champ d'application de la position locale était les personnes ou les objets utilisateurs et les changements de ces personnes et objets dans l'environnement. Cette définition a été complétée progressivement et de nos jours, tout type d'information efficace dans l'interaction de l'homme et de l'ordinateur s'appelle le contexte [1] .

Une autre définition des systèmes contextuels fournie par le Deys & Abowed, selon laquelle « un système est contextuel s'il utilise des contextes pour fournir des informations ou des services liés à l'utilisateur dont la pertinence est ici basée sur le travail de l'utilisateur » [5] . L'aspect pratique de cette définition est que la plupart des facteurs dans le choix des couches spatiales proportionnelles à l'utilisateur sont l'identification de l'expertise et du domaine de travail de l'utilisateur [1] [5] . Par exemple, le type de données spatiales proportionnelles à un utilisateur dans le bureau du patrimoine culturel et du tourisme sera différent de celui du bureau des routes et du développement urbain à la fois en termes de contenu d'information et de type de visualisation.

En fait, le contexte en raffinant les données supplémentaires effectue la maintenance associée. En général, des applications contextuelles utilisant une interface automatique de saisie de données avec les systèmes, telles que des données extraites de capteurs, ont été développées pour réduire l'intervention explicite de l'utilisateur lors de l'introduction des données d'entrée dans les systèmes [6] .

Dans les systèmes d'information spatiale, il est également préférable que l'utilisateur ait accès au type de données approprié en fonction de son statut et des conditions de travail et environnementales. Par conséquent, avec la mise en œuvre de contextes dans les programmes appliqués de ces systèmes, les programmes appliqués sensibles au contexte adapteront dynamiquement leur comportement en fonction du contexte de l'utilisateur et des nouvelles conditions, ce qui augmente l'efficacité des résultats [7] .

Les utilisateurs de la plupart des systèmes, en particulier des systèmes d'infrastructure de données spéciales, ont besoin d'une interface utilisateur contextuelle basée sur la modification de leur contexte pour changer si les contextes changent. Généralement, les performances du système contextuel basées sur les contextes des profils d'utilisateurs offrent de nombreuses applications potentielles pour ces programmes appliqués et améliorent les capacités du système d'information spatiale mobile et non mobile, qui peut les classer en vues personnalisées d'informations, exécution automatique de commandes et de données. stockage [1] [8] .

Dans les systèmes sensibles au contexte, l'affichage d'informations et de services automatiques est fait pour réduire la quantité de communication explicite des utilisateurs avec le système basée sur la réception et la reconnaissance de l'environnement de l'utilisateur [6] . Par exemple, dans les systèmes d'information spatiale, seule une partie des informations à afficher est pertinente pour les compétences et l'expertise de l'utilisateur. L'exécution automatique des commandes est la capacité de réactivité de ces programmes qui, par exemple, les programmes de navigation pendant le routage de l'utilisateur et la détection du système en fonction de la perte d'une intersection majeure le long du chemin, exécute immédiatement la fonction de chemin le plus court et offre à l'utilisateur un chemin alternatif à atteindre le point cible [2] [7] [9] .

Le stockage des informations contextuelles permet au système de recevoir et d'extraire les données des profils de l'utilisateur à l'aide d'informations telles que les enregistrements de l'activité de l'utilisateur ou l'historique de recherche, ainsi que ses préférences à l'aide de techniques d'exploration de données. Les informations contextuelles stockées sur le système peuvent également être considérées comme une empreinte laissée par l'utilisateur [10] .

Utilisant également des informations contextuelles dans des programmes appliqués sensibles au contexte, les fonctions de ces programmes sont classées à deux niveaux d'analyse et d'affichage [11] . La connaissance du contexte au niveau de l'analyse peut être considérée comme des systèmes d'information spatiale utilisant des informations d'entrée du contexte.Par exemple, un service qui recherche des points souhaitables et les affiche à l'utilisateur est un exemple de ce type. En effet, en considérant les informations contextuelles dans ces services, l'analyse de ces informations est discutée et des types d'informations sont affichés en fonction des conditions contextuelles et de sa cible [1] .

La connaissance du contexte au niveau de l'affichage est la même que les performances d'affichage adaptatif des systèmes d'information dans la présentation de la carte aux utilisateurs. Dans cet état, en plus de la sélection des données, le type d'affichage des informations, à savoir la façon dont les couches d'affichage, la séparation des couches s'affichent et d'autres informations changent en fonction des contextes [1] [8] . Par exemple en modifiant le contexte de l'utilisateur tel que le type d'appareil utilisé ou la vitesse de déplacement et donc, l'échelle de la carte affichée à l'utilisateur, ou les types de symboles utilisés sur les cartes sur la base de la familiarité ou des connaissances techniques des utilisateurs avec ces les signes peuvent être modifiés. Dans la recherche présentée, ce système contextuel SDI est censé exécuter les informations séparées affichées dans l'interface utilisateur au niveau de l'affichage pour les utilisateurs en fonction des informations contextuelles associées. En d'autres termes, le but est de servir l'affichage adaptatif de la carte et de séparer les couches spatiales en fonction de l'état actuel de l'utilisateur du système.

3. Architecture et modélisation

Conformément à la fonction attendue des géoportails, l'architecture du portail spatial doit couvrir quatre étages de services pour mettre en œuvre un portail spatial complet tel que les services de portail, les services de catalogue, les services de représentation et les services de données [12] [13] .

Sur cette base, nous avons proposé une architecture pour de tels systèmes dont les composants, comme le montre la figure 1, sont conçus comme une infrastructure de service contextuel de données spatiales pour les utilisateurs SDI mobiles et non mobiles. Conformément à l'architecture illustrée à la figure 1, le système contextuel SDI se compose d'une couche d'application Geolocator, de couches de services Web et de couches de données et de métadonnées. La couche d'application Geolocator dans cette structure est un programme basé sur le Web et effectue la localisation des utilisateurs avec un équipement mobile (brièvement, l'utilisateur mobile) à l'aide du GPS et des utilisateurs non mobiles appliquant l'application IP Geolocator avec évaluation de son mot de passe, et enfin identification du type d'utilisateur et de son emplacement .

L'application Web fournit une interface utilisateur prenant en charge plusieurs langues. Si le système souhaite utiliser d'autres informations contextuelles pour identifier les services appropriés aux utilisateurs, y compris les priorités, les plans et les objectifs de l'utilisateur, le système utilisant cette section peut demander à l'utilisateur ces informations directement et manuellement. La couche des services Web se compose de WMS, CSW 4 , WFS 5 , WPS 6 , CI 7 , etc. Les définitions et les fonctions de chacun de ces services Web sont présentées ci-dessous [14] [15] .

WMS est pour l'affichage cartographique ou l'imagerie à partir de données spatiales. La tâche CSW consiste à cataloguer des services, à publier des métadonnées de sources d'informations spatiales et également à rechercher et interroger ces informations. WFS est la fonction de ces services pour accéder à des données spatiales basées sur GML qui décrivent la complication géographique. WPS, le processeur

Figure 1 . Couches d'applications contextuelles conçues de l'infrastructure de données spatiales.

services, traite les données existantes et produit et fournit de nouvelles informations souhaitées à l'utilisateur. CI est le composant d'informations contextuelles que ce service Web fournit des informations connexes proportionnelles aux conditions d'utilisation et à l'emplacement [12] [13] [16] .

Les couches de données et de métadonnées se composent d'un catalogue de métadonnées et d'une base de données spatiale. Le catalogue de métadonnées est une collection de métadonnées qui décrit les données accessibles selon les normes ISO. La base de données spatiale contient également des stockages de données inclus des données spatiales.

Dans la conception de l'architecture de ces composants sur le réseau, dans une première étape, nous considérons l'architecture client-serveur selon la figure 2. Dans l'architecture illustrée à la figure 1, l'identification de l'utilisateur et la reconnaissance de son travail se fait par le suivi des applications IP sur le client. côté et le résultat est envoyé au serveur. D'autres processus, notamment la validation, l'interprétation des données contextuelles, la détermination des types d'utilisateurs autorisés et non autorisés et la détermination de la fourniture de services spécifiques aux utilisateurs, sont effectués sur le site du serveur. La hiérarchie des applications sensibles au contexte devrait avoir à leur ordre du jour trois étapes principales : détection, traitement et action. La détection et la collecte d'informations contextuelles entourant l'utilisateur sont généralement effectuées par les capteurs.

Dans cette informatique contextuelle, nous avons maintenant les moyens d'envisager la situation d'utilisation dans le processus de conception. Dans l'interaction homme-machine (IHM), nous visons traditionnellement à comprendre l'utilisateur et le contexte d'utilisation et à créer des conceptions qui prennent en charge les principaux cas d'utilisation et situations d'utilisation anticipés. Dans l'informatique contextuelle, en revanche, l'utilisation du contexte entraîne un changement fondamental : nous pouvons prendre en charge plus d'un contexte d'utilisation qui sont également optimaux. Lors de l'exécution, lorsque l'utilisateur interagit avec l'application, le système peut décider quel est le contexte d'utilisation actuel et fournir une interface utilisateur spécifiquement optimisée pour ce contexte. Avec la prise en compte du contexte, le travail de conception de l'interface utilisateur devient généralement plus complexe à mesure que le nombre de situations et de contextes dans lesquels le système sera utilisé augmente généralement. L'avantage de cette approche est que nous pouvons fournir des interfaces utilisateur optimisées pour une gamme de contextes. La structure générale des systèmes sensibles au contexte, comme le montre la figure 3, contient des capteurs dans le rôle de recevoir des informations contextuelles de l'environnement et de l'utilisateur, le capteur de calcul des caractéristiques, le calcul du contexte en tant que responsable de l'interprétation des informations contextuelles, la fourniture du contexte et enfin l'application [ 17] [18] . Dans la plupart des applications sensibles au contexte, entre les capteurs et les couches d'application, en plus du composant de calcul du contexte, une autre couche intermédiaire a également

Figure 2 . L'architecture générale du site web.

Figure 3 . La structure générale des systèmes sensibles au contexte [18] .

sont placés telles que des couches de récupération de données brutes, de traitement ou d'interprétation d'informations contextuelles, de stockage de gestion d'informations contextuelles. Dans de nombreuses applications contextuelles complexes, des informations contextuelles extraites des données primaires sont nécessaires, car la maintenance de ces systèmes n'est souvent pas possible selon les données primaires mesurées, en d'autres termes, la plupart des données contextuelles après la collecte sont aussi brutes et primaires et ne conviennent pas pour guider l'application.

Si nécessaire l'application, la couche de prétraitement est utilisée pour convertir les données brutes en données significatives [19] . Mais toujours dans les applications les plus complexes et de niveau supérieur, les données pré-traitées ne sont pas suffisantes pour décider dans l'application. Ainsi, en argumentant sur les données prétraitées à l'aide d'un raisonnement logique et d'une inférence d'informations combinées de haut niveau, il convient de fournir la condition d'entrée des données contextuelles dans la logique d'application. Après production des données combinées, la prise de décision de la demande sera prise sur la base de ces informations [20] - [22] . Enfin, la modélisation des systèmes contextuels a été conçue et mise en œuvre à l'aide d'une combinaison d'informations de haut niveau extraites des données contextuelles primaires et brutes, comme le montre la figure 4.

4. Mise en œuvre et performances

Dans la conception et la mise en œuvre de ce système dans la première étape, comme nous l'avons dit, l'architecture client-serveur a été considérée. Pour plus d'informations sur cette architecture, le lecteur peut consulter les références [12] [13] [23] . Puis d'autres composants de cette architecture basée sur le maillage du centre de coordination d'un géoportail sont conçus et développés. Le flux de travail dans l'architecture proposée est illustré à la figure 5, de sorte qu'initialement l'utilisateur est connecté au portail d'entrée du géoportail, simultanément avec la connexion de l'utilisateur à l'interface utilisateur côté client, la position de l'utilisateur est détectée.

Ainsi, l'IP de l'ordinateur de l'utilisateur est identifiée par IP Geolpcator côté client, puis la localisation de l'utilisateur et l'organisation du travail et son expertise sont déterminées. Le Proxy sert d'intermédiaire entre l'interface utilisateur et les services Web afin de ne pas créer de lien direct entre le côté client et le côté serveur et d'offrir plus de sécurité car par Proxy il n'y a pas d'accès direct aux données spatiales pour l'utilisateur. D'autre part, en utilisant le système d'enregistrement de l'utilisateur dans l'interface utilisateur, l'utilisateur est évalué et identifié en termes d'autorisations d'accès et validé et s'il est autorisé et valide, via Proxy à la fois l'accès aux services spéciaux de l'interface utilisateur et sur la base des informations du registre aidera à mieux l'identifier.

Conformément aux systèmes contextuels de conception architecturale que nous avons proposés dans la section 4, également dans cette section, les données contextuelles principales sont le même emplacement basé sur l'IP du système utilisateur et son mot de passe valide. IP ou

Figure 4 . L'architecture et les composants des systèmes sensibles au contexte.

Figure 5 . L'architecture et les composants système sensibles au contexte de l'infrastructure de données spatiales.

Le protocole Internet est un numéro qui est attribué à chaque ordinateur connecté à Internet. En utilisant le numéro IP peut accéder aux ordinateurs. Pour les ordinateurs qui ont le mode serveur et également les ordinateurs clients qui sont généralement connectés à Internet par une méthode autre que l'accès à distance, il s'agit d'un nombre constant de 32 bits et est écrit sous la forme xxx.xxx.xxx.xxx pour plus de commodité. Le but de xxx est un nombre compris entre 0 et 255.

Grâce à l'application de localisation d'adresses IP écrite en JavaScript, l'adresse IP de l'utilisateur peut être identifiée lors de la connexion à Internet. De la comparaison de la série IP obtenue par celle des systèmes d'organisation et également de la comparaison du mot de passe de l'utilisateur dans la section du système d'enregistrement de l'utilisateur autorisé avec la série du mot de passe considéré pour une organisation différente, le premier type d'utilisateur puis le lieu de travail de l'utilisateur et par conséquent son domaine de travail est identifié. Ainsi, lors de l'étape de pré-traitement, l'adresse IP du système utilisateur est convertie d'une valeur numérique en une donnée significative. Après avoir identifié ce numéro de série, en comparant la série IP des systèmes d'organisation liés et également en comparant le mot de passe de l'utilisateur avec la plage de mots de passe attribués aux utilisateurs de l'organisation, des informations contextuelles sur le type d'utilisateur et son lieu de travail sont obtenues. Ainsi à ce stade, les données contextuelles du type d'utilisateur et de son lieu de travail sont considérées comme des données issues d'un pré-traitement.

A l'étape suivante, en utilisant la logique utilisée dans le composant interpréteur du système côté serveur, et en argumentant sur les données de l'espace de travail, le niveau d'expertise et de connaissances techniques ainsi que la relation entre ce travail et les différentes couches spatiales, aussi élevées les informations contextuelles de niveau et combinées sont placées dans la base de données côté serveur. Maintenant, ces informations sont prêtes à être utilisées afin de prendre une décision quant à la manière de servir les utilisateurs dans la partie application. Par conséquent, la séparation des couches spatiales proportionnelles au champ de travail de l'utilisateur est gérée dans la section proxy et en obtenant des informations à partir de la base de données d'informations combinées. En utilisant également Proxy, l'accès de divers utilisateurs aux différentes métadonnées et couches de l'organisation est contrôlé et séparé.

Dans cette étude, le logiciel Geonetwork qui est open source et écrit en langage Java est utilisé pour créer un catalogue de services de métadonnées et également la possibilité de rechercher les données requises par l'utilisateur. La demande de l'utilisateur après passage par le filtre du registre et détermination du champ de travail de l'utilisateur par le côté utilisateur JavaScript, est envoyée sous forme de fichier au format XML au Proxy puis par Geonetwork à l'ensemble des services du catalogue. Après avoir reçu les résultats de la recherche qui sont également au format XML, les métadonnées associées via Geonetwork retournent au proxy et de là à l'interface utilisateur.

Dans l'interface utilisateur également par l'opération de décodage du fichier XML reçu de Geonetwork côté serveur, les métadonnées des données souhaitées par l'utilisateur sont affichées dans le format de liste lisible pour lui. Après avoir affiché les métadonnées liées à l'utilisateur, il sera possible de voir les données souhaitées par l'utilisateur à l'aide de WMS, de les obtenir à l'aide de WFS (le cas échéant) ou de les traiter à l'aide de WPS (le cas échéant). A cet effet, nous utilisons à partir du logiciel GeoServer qui est écrit dans le langage de programmation Java en open source pour afficher la couche souhaitée.

Le service Web WMS a la capacité d'afficher des informations selon les normes OGC et est utilisé pour afficher les couches en utilisant l'adresse du service de couches qui est placée dans leurs fichiers. Les couches d'informations peuvent être stockées au format Shapefile dans un fichier local au sein du Geoserver ou dans une base de données spatiale telle qu'Oracle et PostGIS [16] [24] . La relation entre l'interface utilisateur et Geoserver et la création d'un accès autorisé pour les utilisateurs se font via Proxy. À cette fin, un fichier Proxy.ashx est utilisé comme intermédiaire entre le côté serveur du service de carte Web et l'interface utilisateur. Ainsi, en utilisant le système Proxy basé sur le type d'utilisateur, il affiche les données proportionnelles au service Web WMS.

Dans la partie d'affichage de la carte et de mise en œuvre de cette section, nous supposons qu'un utilisateur du Département des routes et de l'aménagement urbain est connecté au système. Après avoir identifié l'utilisateur présumé du Département des routes par l'interface utilisateur, le service Web WMS peut afficher la couche des routes et les administrations du pays les couches associées au domaine de travail de l'utilisateur comme le montre la figure 6 par défaut pour lui.

Dans cet article, un affichage adaptatif des couches spatiales avec la connaissance de l'utilisateur dans la partie affichage de la carte est effectué à l'aide du service Web WMS. La fonction du système WMS contextuel est telle qu'après l'identité de l'utilisateur lors de la connexion au système côté serveur, la partie proxy qui, en tant que médiateur, a le rôle de communication entre l'utilisateur et Geoserver, recommande les couches spatiales appropriées en fonction du type d'utilisateur .

Un avantage de cette fonction est d'aider l'utilisateur à accéder à des données proportionnelles à son domaine de travail parmi les nombreuses couches spatiales disponibles dans le stockage du serveur du système car dans les portails spatiaux, plusieurs couches ont été chargées dans le stockage des données organisationnelles. Pour différents utilisateurs avec différents domaines et niveaux de connaissances techniques, un modèle d'affichage uniforme et fixe ne peut pas être envisagé parce que tous les utilisateurs, quoi qu'ils voient, ne le souhaitent pas nécessairement. Un autre avantage important de l'affichage du WMS contextuel est l'affichage plus rapide des données spatiales dans le système. On sait que le volume des couches spatiales de tout format, par exemple sous forme de fichier Shape, détermine la vitesse de chargement et d'affichage de celles-ci dans le contexte du réseau.

Supposons maintenant, dans un système tel que les géoportails, qu'un très grand nombre de données spatiales constituées de différentes couches définies dans le modèle d'infrastructure de données spatiales soient placées dans la base de données spatiale du côté service du système et soient prêtes à être affichées dans la page de l'interface utilisateur du système. en utilisant le service WMS. Si l'affichage de ce volume élevé de couches n'est pas géré correctement, l'affichage des couches disponibles dans l'interface utilisateur sera très long et difficile. Pour surmonter ce problème, l'une des solutions pour un affichage efficace des couches spatiales consiste à les afficher à l'aide d'un WMS contextuel et adaptatif.

Un WMS contextuel dans l'interface utilisateur du Géoportail, après avoir identifié l'approche technico-organisationnelle et les connaissances de l'utilisateur, lui affiche par défaut les couches liées à ses connaissances techniques. Afin d'évaluer le système conçu, la comparaison entre ce système de contexte et un système typique montre que la vitesse d'affichage des couches est plus rapide que l'autre. Parce que ce système sélectionne les couches autorisées et appropriées et empêche l'affichage des couches non autorisées et sans rapport. Ainsi, le temps de téléchargement des couches dans la page augmentera efficacement. Une autre préférence de ce système qui peut être comptée, aider les utilisateurs à accéder aux données liées à leur domaine de travail et à leurs besoins sans confusion.

Par conséquent, la nécessité d'afficher, de télécharger et même d'accéder rapidement aux couches appropriées montre la nécessité d'afficher un WMS contextuel pour les utilisateurs en filtrant des couches massives non liées. Et l'autre avantage, les gestionnaires de système peuvent contrôler le niveau d'accès de différents types d'utilisateurs autorisés et non autorisés à différentes couches en utilisant l'affichage sélectif et adaptatif pour eux et maintenir la sécurité des données spéciales critiques et importantes. Il est suggéré pour les travaux futurs, WMS adoptif pour toutes les couches de spa-

Graphique 6 . Affichage des couches spatiales des routes de campagne à l'aide du WMS contextuel.

Les données tiales dans SDI doivent être conçues et les WFS et WPS adaptatifs peuvent également être de nouvelles idées pour la prise de conscience du contexte dans SDI.


Couches SpatiaLite¶

La première fois que vous chargez des données à partir d'une base de données SpatiaLite, commencez par cliquer sur le Bouton Ajouter une couche SpatiaLite dans la barre d'outils ou en sélectionnant le bouton Ajoutez la couche SpatiaLite. option de la Couche menu ou en tapant Ctrl+Maj+L . Cela fera apparaître une fenêtre, qui vous permettra soit de vous connecter à une base de données SpatiaLite déjà connue de QGIS, que vous pouvez choisir dans le menu déroulant, soit de définir une nouvelle connexion à une nouvelle base de données. Pour définir une nouvelle connexion, cliquez sur [Nouvelle] et utilisez le navigateur de fichiers pour pointer vers votre base de données SpatiaLite, qui est un fichier avec un .sqlite extension.

Si vous souhaitez enregistrer une couche vectorielle au format SpatiaLite, vous pouvez le faire en cliquant avec le bouton droit sur la couche dans la légende. Cliquez ensuite sur Enregistrer sous.., définissez le nom du fichier de sortie, sélectionnez ‘SpatiaLite’ comme format et le CRS. Vous pouvez également sélectionner ‘SQLite’ comme format, puis ajouter SPATIALITE=OUI dans le champ d'option de création de source de données OGR. Cela indique à OGR de créer une base de données SpatiaLite. Voir aussi http://www.gdal.org/ogr/drv_sqlite.html.

QGIS prend également en charge les vues modifiables dans SpatiaLite.

Création d'une nouvelle couche SpatiaLite¶

Si vous souhaitez créer une nouvelle couche SpatiaLite, veuillez vous référer à la section Création d'une nouvelle couche SpatiaLite.

Plugins de gestion de données SpatiaLite

Pour la gestion des données SpatiaLite, vous pouvez également utiliser plusieurs plugins Python : QSpatiaLite, SpatiaLite Manager ou DB Manager (plugin principal, recommandé). Ils peuvent être téléchargés et installés avec le Plugin Installer.


Spécifications de format de fichier Les spécifications ouvertes de shapefile sont disponibles en ligne auprès d'ESRI sous la forme d'une description technique et élaborent la structure globale du fichier en détail. Les informations contenues dans le fichier .shp principal se composent d'en-têtes et d'enregistrements. L'en-tête de fichier de longueur fixe est suivi d'enregistrements de longueur variable où chaque enregistrement est composé d'un en-tête d'enregistrement de longueur fixe suivi d'un contenu d'enregistrement de longueur variable.

En-tête du fichier principal L'en-tête de fichier principal commence au début du fichier et fait 100 octets. L'organisation de cet en-tête de fichier principal avec la position des octets, la valeur, le type et l'ordre des octets est indiquée dans le tableau suivant. OctetsDomaineValeurTaperOrdre des octets0-3Code de fichier9994EntierGros boutien4-23Inutilisé0EntierGros boutien24-27Longueur du fichierLongueur du fichierEntierGros boutien28-31Version1000EntierPetit endian32-35Type de formeType de formeEntierPetit endian36-67Rectangle de délimitation minimumXmin, Ymin, Xmax et YmaxdoublePetit endian68-83Boîte englobanteZmin, ZmaxdoublePetit endian84-99Boîte englobanteMmin, Mmaxdouble Il est à noter que la valeur de longueur de fichier est la longueur totale du fichier en mots de 16 bits qui comprend également les cinquante mots de 16 bits constituant l'en-tête.

Types de formes Les valeurs du champ des types de forme dans le tableau ci-dessus sont les suivantes : ValeurType de forme0Forme nulle1Indiquer3Polyligne5Polygone8Multipoint11PointZ13PolyLigneZ15PolygoneZ18MultiPointZ21PointM23PolyLigneM25PolygoneM28MultiPointM31MultiPatch

Enregistrements de données L'en-tête du fichier principal est suivi d'enregistrements de longueur variable où chaque enregistrement se compose d'un en-tête d'enregistrement de longueur fixe suivi d'un contenu d'enregistrement de longueur variable.

En-tête d'enregistrement

L'en-tête d'enregistrement contient des informations sur le numéro d'enregistrement et la longueur du contenu de l'enregistrement dans une longueur fixe de 8 octets. L'organisation de l'en-tête d'enregistrement est la suivante :

OctetsDomaineValeurTaperOrdre des octets
0-3Numéro d'enregistrementNuméro d'enregistrementEntierGrand
4-7Longueur d'enregistrementLongueur d'enregistrementEntierGrand

Contenu de l'enregistrement

Le contenu d'un enregistrement de fichier de formes se compose d'un type de forme suivi des données géométriques de cette forme. Un type de forme 0 représente une forme nulle qui n'a pas de données géométriques pour la forme. La longueur du contenu de l'enregistrement reflète les parties et les sommets de la forme. Prenons un exemple de type Point Shape pour expliquer comment un enregistrement contient des informations sur un tel type de forme.

Un point représente un certain emplacement géographique dans l'ordre X,Y où chaque coordonnée est représentée par une valeur en double précision. Le tableau suivant montre la disposition d'un type de forme Point.

OctetsType de formeValeurTaperNuméroOrdre des octets
0-3Type de forme1Entier1Peu
4-11XXdouble1Peu
12-19OuiOuidouble1Peu

Des exemples d'autres types de formes peuvent être trouvés dans le document de description technique ESRI.


Voir la vidéo: How to download Shapefile Data GIS for any country