banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 26 October 2012 09:05

nitram
Participant assidu
Lieu: Brest
Date d'inscription: 19 May 2009
Messages: 990
Site web

[10.x] Calcul de champ "dynamique"

Bonjour,

Je recherche une méthode, un outil ou un script me permettant de mettre à jour un champ dans une gdb de manière dynamique, un peu à la manière du champ "shape area" quand on quitte une session de mise à jour.
Le calcul de ce champ "dynamique" sera, par exemple, une formule de densité qui reposera sur plusieurs autres champs dont le "shape area".

Selon vous, vers quoi dois-je m'orienter?
Merci d'avance pour vos précieuses lumières.

Martin

Dernière modification par nitram (Fri 26 October 2012 09:16)

Hors ligne

 

#2 Tue 13 November 2012 17:43

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: [10.x] Calcul de champ "dynamique"

Bonjour,

Une piste : une requête sous Access insérée sous forme de table puis liée avec un shape ?

Pas testé mais vu qu'Access gère des champs calculés...

Hors ligne

 

#3 Wed 14 November 2012 09:02

nitram
Participant assidu
Lieu: Brest
Date d'inscription: 19 May 2009
Messages: 990
Site web

Re: [10.x] Calcul de champ "dynamique"

Bonjour, et merci pour la réponse smile

Le truc c'est que je n'ai pas Access sad

J'ai posté la question chez les voisins @
http://www.forumsig.org/showthread.php?t=35433
Et l'on m'a posté une réponse se rapprochant de la tienne:

Si la gdb est stockée dans un SGBDR, alors tu peux essayer de faire un "trigger" (déclencheur en français). En gros, cela commande un événement sur un champ en fonction de ce qui se passe sur un autre champ.


Mais là non plus, ça ne colle pas à mon cas...

En fait, je souhaiterais une solution "interne" à arcgis (au mieux à Arcmap durant une session d'édition), du coup peut-être m'orienter vers un model builder en essayant de paramétrer les conditions d'exécutions.

A suivre ...

Dernière modification par nitram (Wed 14 November 2012 09:04)

Hors ligne

 

#4 Wed 14 November 2012 10:12

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: [10.x] Calcul de champ "dynamique"

En fait, je souhaiterais une solution "interne" à arcgis (au mieux à Arcmap durant une session d'édition), du coup peut-être m'orienter vers un model builder en essayant de paramétrer les conditions d'exécutions.


Eh bien, dans ce cas, un petit script/toolbox suffirait, je pense, ca ne devrait pas être complexe (outil calculer un champ).
Un double -clic sur celui ci calculerait la formule. De cette façon, tu n'aurais pas à rentrer la formule à chaque fois, mais ça reste manuel.

Pas mieux smile

Hors ligne

 

#5 Thu 15 November 2012 14:08

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: [10.x] Calcul de champ "dynamique"

Bonjour,

Il existerait une autre solution mais qui serait bien plus lourde à mettre en place et qui nécessiterait une plateforme de développement : concevoir une extension de l'éditeur au sein d'un Add-In. En agissant sur les évènements de l'édition, vous pouvez détecter qu'un objet a été créé ou modifié et, en testant que cet objet répond à des critères spécifiques que vous avez définis (appartenance à une classe d'entités, présence d'un champ, etc.), vous pouvez calculer et modifier la valeur d'un champ.

Des explications complémentaires (en anglais...) ici :
http://help.arcgis.com/en/sdk/10.0/arco … 391000000/

Cordialement

Hors ligne

 

#6 Thu 15 November 2012 14:32

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: [10.x] Calcul de champ "dynamique"

Pour préciser/compléter mon propos : si vous disposez d'une version 10.1, vous avez la possibilité de développer un complément Python, ce qui vous affranchi de la contrainte de la plateforme de développement (.NET ou Java). Des informations détaillées ici (en français cette fois-ci smile) :
- Qu'est-ce qu'un complément Python : http://resources.arcgis.com/fr/help/mai … 0025000000
- Extension d'application avec un complément Python http://resources.arcgis.com/fr/help/mai … 0019000000

De la même manière, vous pouvez capturer les évènements de mise à jour (onChangeFeature(self)) ou de création (onCreateFeature(self)) d'une entité et ainsi agir dessus.

Hors ligne

 

#7 Thu 15 November 2012 16:23

n314
Participant assidu
Date d'inscription: 6 Sep 2005
Messages: 706

Re: [10.x] Calcul de champ "dynamique"

Tout à été dit. Il n'existe pas de trigger dans ArcGIS, d'où:
1_Lancer le calcul manuellement à chaque édition,
1.1 que ce soit dans la calculatrice
1.2 ou via un script
2_Automatiser le calcul, en s'abonnant aux événements d'édition, par programmation
2.1 Via les add-in (.net ou python)
2.2 Via une classe d'entité personnalisée, héritant de la classe d'entité de base

Hors ligne

 

Pied de page des forums

Powered by FluxBB