Skip to Content

Foire Aux Questions - Mise à jour des données attributaires

Version: 
10

La question provient d'une discussion du forumSIG http://www.forumsig.org/showthread.php?t=31982

ArcGIS permet aujourd'hui et de plus en plus d'utiliser le langage python, ainsi il est possible d'utiliser toute la puissance de ce langage au travers d'ArcGIS et même via la calculatrice de champs.

Pour répondre à cette question il est par exemple possible d'utiliser le module re de python : régular expression http://docs.python.org/library/re.html

On utilise ensuite la méthode sub du module re qui va faire un chercher remplacer et fonctionne ainsi

re.sub(motifarechercher,remplacement,chaine)

ici on cherche les lettres, on les remplace par rien ce qui nous donne :

re.sub('[a-zA-Z]','',montexte)

Si on souhaite faire l'inverse, c'est à dire ne récupérer que les lettres on pourrait faire :

re.sub('[0-9]','',montexte)

Cela se traduirait ainsi dans la Calculatrice de valeurs de champs (en partant du principe que je veux mettre à jour mon champs "remplaceme" à partir du champs "texte" et en ne souhaitant conserver que les chiffres) :

  • Cocher python dans l'Analyseur
  • Activer Afficher le bloc de code
  • Remplir ainsi :

Et voici le résultat dans la table attributaire :

Le motif à rechercher utilise les expressions régulières, on peut donc complexifier considérablement le motif à rechercher pour arriver au résultat souhaité.

Il y a probablement de nombreuses autres possibilités pour arriver à ce résultat.

Auteur : Lena

Lorsqu'une session de mise à jour est ouverte (Barre d'outils "Editeur", Menu "Editeur" -> "Ouvrir une session de mise à jour"), vous pouvez mettre à jour les attributs dans la table directement en saisissant les nouvelles valeurs à l'aide des touches du clavier. Validez ensuite ces modifications via le menu "Editeur" -> "Enregistrez les mises à jour".

Auteur : Lena


Faites un clic droit sur l'en-tête du champ à modifier -> "Calculer les valeurs".

Entrez dans la calculatrice la formule appropriée.

Par exemple, s'il existe un champ "Aire" et un champ "Population" dans votre table et que vous souhaitez y ajouter un champ "Densite" :

  1. Créez le nouveau champ [Densite] (cf. "Comment ajouter un champ" ?)
  2. Dans la calculatrice, entrez la formule : [Densite] = [Population] / [Aire]

Si le champ à partir duquel vous souhaitez faire le calcul se situe dans une autre table, vous devrez au préalable faire une jointure en les deux tables.

NB : "[Densite]=" est en fait déjà écrit, il ne faut pas le recopier !!

D'autre part, il n'est pas nécessaire de copier la formule à l'aide des touches du clavier : vous disposez de la liste des champs, des opérateurs et des fonctions disponibles dans la calculatrice, il suffit de double-cliquer sur chaque élément pour construire la formule.

Auteur : Lena

ArcGIS 9.2 et antérieures :

De nombreuses formules de calcul basées sur la géométrie des entités sont disponibles sur le site support ESRI France ou bien dans le pack "Easy Calculate".

Par exemple : coordonnées X et Y du centroïde, Surface, Périmètre, Longueur, Nombre de parties des entités multi-parties, X maximum, X minimum, Z moyen, etc.

Pour utiliser une de ces formules :

  1. Créez tout d'abord un nouveau champ de type double (cf. "Comment ajouter un champ" ?)
  2. Faites un clic droit sur l'en-tête de ce champ -> "Calculer les valeurs".
  3. Chargez la formule appropriée, via le bouton "Charger.." situé au-dessus du bouton "OK" de la calculatrice,
  4. Ajustez les éventuels paramètres, puis cliquez sur "OK".

NB : Notez que le calcul s'effectue par défaut uniquement sur la sélection courante s'il en existe une.

D'autre part, vous pouvez exécuter le calcul dans ou en-dehors d'une session de mise à jour. Il sera plus rapide en-dehors d'une session de mise à jour, mais les modifications effectuées seront alors irréversibles.

 

ArcGIS 9.3 et supérieures :

La procédure a été simplifiée pour les propriétés les plus courantes : les scripts de calcul des surfaces, périmètre, et coordonnées du centroïde ont été intégrés dans la calculatrice de champs.

  1. Créez tout d'abord un nouveau champ de type double (cf. "Comment ajouter un champ" ?)
  2. Faites un clic droit sur l'en-tête de ce champ -> "Calculer la géométrie".
  3. Dans la liste déroulante, choisir la propriété à calculer : cette liste dépend  évidemment du type d'entités de la couche  (voir tableau ci-dessous).
  4. Indiquer si les calculs se feront sur la base de la référence spatiale de la couche, ou de celle du bloc de données. Cette dernière option permet de calculer facilement des coordonnées dans un système différent de celui de la couche.
  5. Enfin, choisir l'unité surfacique ou linéaire désirée.

NB :

  • Une case à cocher permet d'ajouter l'unité au paramètre calculé dans les cases de la table.
  • Une autre permet de limiter le calcul aux enregistrements sélectionnés.
  • Pour les autres calculs (nombre d'entités dans une entité multi-parties, Z moyen...), suivre la procédure décrite dans le paragraphe "ArcGIS 9.2 et antérieures".

 

  Polygones Lignes Points
Propriétés disponibles au calcul en fonction du type d'entités de la couche :
Surface X    
Périmètre X
   
Coordonnées X du centroïde X
X X
Coordonnées Y du centroïde X X X
Coordonnées X du début de la ligne   X  
Coordonnées Y du début de la ligne   X  
Coordonnées X de la fin de la ligne   X  
Coordonnées Y de la fin de la ligne   X  

 

 

Auteur : Lena

Créez un nouveau champ de type entier (cf. "Comment ajouter un champ" ?) puis faites un clic droit sur l'en-tête de ce champ -> "Calculer les valeurs".

Une fois dans la calculatrice de valeurs de champ, deux solutions :

  • Entrez la formule [Nouveau_champ] = FID + 1 (NB : "[Nouveau_champ] = " est en fait déjà écrit, il ne faut pas le recopier !!) puis cliquez sur "OK".
  • Chargez une formule que vous aurez préalablement téléchargée (Numeroter.cal qui fait partie des formules de calcul sur des valeurs numériques de la calculatrice ArcMap disponibles sur le site support ESRI France, ou bien rec_number.cal qui fait partie du pack de formules "Easy Calculate".

Pour charger une formule :

  1. Cliquez sur le bouton "Charger.." situé au dessus du bouton "OK" de la calculatrice,
  2. Sélectionnez le fichier *.cal correspondant à la formule,
  3. Ajustez les paramètres (la valeur de départ et l'intervalle entre les numéros),
  4. Cliquez sur "OK".

NB : Dans les deux cas, notez que le calcul s'effectue par défaut uniquement sur la sélection courante s'il en existe une. Veillez donc à ce qu'aucun enregistrement ne soit sélectionné (ou bien à ce que tous les enregistrements soient sélectionnés) avant d'effectuer le calcul.

Auteur : Lena

Pour une couche, vous pouvez inclure un type d'hyperlien : hyperlien vers un document, hyperlien vers une page web, ou hyperlien vers une macro.

  • Hyperliens pointant vers un document :
  1. Tout d'abord, créez un nouveau champ texte (cf. "Comment ajouter un champ ?").

  2. Ensuite, entrez dans ce champ le chemin du fichier (cf. "Comment mettre à jour les attributs d’une entité ?") vers lequel va pointer l'hyperlien.

  3. Faites un clic droit sur le nom de la couche dans la table des matières -> "Propriétés". Dans l'onglet "Affichage", cochez "Gestion des hyperliens avec ce champ :", indiquez le champ que vous venez de créer, et cochez "Document".

La consultation des hyperliens se fait en cliquant sur les entités de la carte à l'aide de l'outil "Hyperlien" (symbolisé par un éclair) de la barre d'outil "Outils".

Remarque : Si tous les documents vers lesquels pointent les hyperliens dans un projet sont contenus dans le même dossier, il est intéressant de se servir de la propriété "Répertoire web" du document *.mxd.

Ainsi, par exemple :

Lorsque vous créez vos hyperliens, tous vos documents se trouvent dans le répertoire D:\Etudes\Plan_gestion. Dans la propriété "Répertoire web" de votre projet (Menu "Fichier" -> "Propriété"), saisissez : D:\Etudes\Plan_gestion. Dans le champ utilisé pour les hyperliens, notez uniquement le nom des documents (et le cas échéant la partie manquante du chemin vers le document) : par exemple data.xls ou \images\image1.jpg.

Lorsque vous déplacerez votre projet dans le répertoire D:\Archives\2004\Plan_gestion, il vous suffira de changer la propriété "Répertoire web" du projet en D:\Archives\2004\Plan_gestion. Cela vous évitera de modifier l'ensemble des chemins saisis dans le champ utilisé pour les hyperliens.

  • Hyperliens pointant vers une page web :

Procédez de la même façon que pour les documents, à deux différences près :

Au point 2, vous entrerez l'URL de la page web à la place du chemin du fichier.

Au point 3, vous cocherez "URL" à la place de "Document"

De la même façon que pour les chemins de fichier, vous pouvez vous servir de la propriété "Répertoire web" si l'ensemble des pages vers lesquelles vous souhaitez pointez ont une racine commune dans l'URL. Cela évitera une mise à jour fastidieuse en cas de changement d'hébergement du site cible.

  • Hyperliens pointant vers une macro :

Procédez de la même façon que pour les documents, à deux différences près :

Au point 2, vous entrerez la valeur à envoyer à la macro.

Au point 3, vous cocherez "Macro" et indiquerez la macro concernée.

Naturellement, la propriété "Répertoire web" n'a aucun effet dans ce cas de figure.

 

NB : De manière générale, il existe deux façons de gérer les hyperliens dans ArcMap :

 - hyperliens utilisant des champs ;

 - hyperliens dynamiques.

Pour en savoir plus sur le sujet, consultez l'aide d'ArcGIS, à la rubrique : "Affichage d'une page ou d'un document Web relatif à une entité".