#1 Mon 07 October 2013 14:01
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Assistant d'attributs - erreur intersecting_feature
Bonjour,
J'utilise l'Assistant d'attributs pour renseigner automatiquement des champs dans mes couches du modèle réseaux humides ArcOpole. J'ai notamment paramétré les fonctions "autonumber", "from_edge_field", "nearest feature"... sans problèmes.
Je teste actuellement la fonction « intersecting _feature » (http://resources.arcgis.com/en/help/loc … 09r000000/) mais je rencontre un problème : lorsque je lance la règle de modification en mode manuel (récupérer la valeur d'un champ polygone dans une couche ponctuelle), j'obtiens le message d'erreur :
Erreur dans Global Functions - Env2Polygon. L'opération Add accepte uniquement un index "before" ou un index "after"
J'ai essayé de supprimer l'index spatial et de le recréer mais cela ne change rien. Le champ se remplit bien mais toujours avec la même valeur qui ne correspond pas à la valeur d'intersection (ex : les points sont dans les communes X et Y et la fonction « intersecting_feature » met à jour ma couche avec la valeur W). J’ai par ailleurs essayé avec la couche polygone dans la géodatabase et en dehors et cela ne change rien.
J'ai l'impression que la fonction marche dans la mesure où elle remplit bien les champs mais que c'est l'intersection que ne se fait pas.
Est-ce que vous avez déjà rencontré le même problème ?
Si oui, comment pourrais-je le résoudre ?
Hors ligne
#2 Wed 09 October 2013 16:04
Re: Assistant d'attributs - erreur intersecting_feature
Bonjour,
Avez-vous activer l'option "Debug" ( <add key="AttributeAssistant_Debug" value="false" /> )de l'assistant d'attributs ?
Peut-être quand lisant le fichier de debug, on pourrait comprendre où est le problème.
A+
Franck
Hors ligne
#3 Thu 10 October 2013 09:25
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: Assistant d'attributs - erreur intersecting_feature
Bonjour,
J'ai effectivement activé l'option "debug" au démarrage d'Esri. J'obtiens pour chaque objet :
Code:
REQUETE_1 - ON_MANUAL *********************************************************** ############ 09/10/2013 17:14:03 ################ Setting sort order: Field - RUNORDER Querying table for Last Value for layer: REQUETE_1 Query Used: (TABLENAME = '*' OR TABLENAME = 'TABLE_1' OR TABLENAME like 'TABLE_1|*' OR TABLENAME like 'TABLE_1|%') AND VALUEMETHOD = 'Last_Value' Number of results: 0 Querying table for rules for layer: REQUETE_1 Query Used: (TABLENAME = '*' OR TABLENAME = 'TABLE_1' OR TABLENAME like 'TABLE_1|*' OR TABLENAME like 'TABLE_1|%') AND ON_MANUAL = 1 Number of results: 1 Looping through the rows ------------------------------------------------ Row Info Row Number 1 TableName: TABLE_1 FieldName: COMMUNE_1 ValueInfo: Commune|ID|F ValueMethod: INTERSECTING_FEATURE On Create: 0 On Change: 0 Checking for Subtype Restriction Field Name: COMMUNE_1 was found at index: 68 Trying: INTERSECTING_FEATURE Starting to process rule Value Info is: Commune|ID|F Layer Found: Commune ID: at 2 Searching on Layer No Selected Features Cursor created Starring Loop of found features Checking Class Different FCs Setting Value: 382 Value Set Finished: INTERSECTING_FEATURE ------------------------------------------------ DONE --------------------------------------- ####################################################### ####################################################### REQUETE_1 - ON_CHANGE *********************************************************** ############ 09/10/2013 17:14:03 ################ Setting sort order: Field - RUNORDER Querying table for Last Value for layer: REQUETE_1 Query Used: (TABLENAME = '*' OR TABLENAME = 'TABLE_1' OR TABLENAME like 'TABLE_1|*' OR TABLENAME like 'TABLE_1|%') AND VALUEMETHOD = 'Last_Value' Number of results: 0 Querying table for rules for layer: REQUETE_1 Query Used: (TABLENAME = '*' OR TABLENAME = 'TABLE_1' OR TABLENAME like 'TABLE_1|*' OR TABLENAME like 'TABLE_1|%') AND ON_CHANGE = 1 Number of results: 0 DONE
Je ne sais pas si ça vous en dit plus ?
Je précise que la "TABLE_1" est une couche de ponctuels et que "Commune" est une couche de polygones. Les deux se superposent bien à l'affichage dans Arcmap.
Hors ligne
#4 Thu 10 October 2013 14:35
Re: Assistant d'attributs - erreur intersecting_feature
Bonjour,
Est-ce que la valeur 382 est la valeur qui est toujours affectée le champ ?
Avez-vous déactiver l'option "Lastvalue" ( <add key="AttributeAssistant_ClearLastValue" value="False" /> )de l'assistant d'attributs ?
J'arrive à faire ce genre de traitement mais en choisissant l'option C = centroïde et non F = first... dans le cas d'intersection de point avec un polygone, si les polygones ne sont pas superposés, les deux options devraient permettre d'obtenir le même résultat.
A+
Franck
Hors ligne
#5 Mon 14 October 2013 12:14
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: Assistant d'attributs - erreur intersecting_feature
La valeur 382 est effectivement toujours celle qui est affectée à tous mes objets.
J'ai changé la valeur de <add key="AttributeAssistant_ClearLastValue" value="True" /> qui était paramétrée à False mais même résultat.
En ce qui concerne les méthodes d'intersection, j'ai essayé les deux (C et F) mais cela ne change rien.
Merci en tout cas de votre aide.
Hors ligne
#6 Wed 16 October 2013 11:52
Re: Assistant d'attributs - erreur intersecting_feature
Bonjour,
J'essaye encore une fois : pourriez-vous nous montrer un log de l'assistant qui montre l'exécution sur plusieurs objets pour que l'on puisse voir (dans le log) pour quelle raison, l'outil renvoie toujours la valeur 382 ?
Une question bête, dans votre couche commune, il n'y a pas de polygones qui se superpose ? Le polygone 382 n'est pas un polygone particulier (par exemple un polygone avec plusieurs parties) ?
A+
Franck
Hors ligne
#7 Thu 17 October 2013 09:55
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: Assistant d'attributs - erreur intersecting_feature
Voici le log sur quelques objets :
Code:
Edit Log Started at: 17/10/2013 09:16:29 ----------------------------------------- ####################################################### REQUETE_1 - ON_MANUAL *********************************************************** ############ 17/10/2013 09:21:12 ################ Setting sort order: Field - RUNORDER Querying table for Last Value for layer: REQUETE_1 Query Used: (TABLENAME = '*' OR TABLENAME = 'TABLE_1' OR TABLENAME like 'TABLE_1|*' OR TABLENAME like 'TABLE_1|%') AND VALUEMETHOD = 'Last_Value' Number of results: 0 Querying table for rules for layer: REQUETE_1 Query Used: (TABLENAME = '*' OR TABLENAME = 'TABLE_1' OR TABLENAME like 'TABLE_1|*' OR TABLENAME like 'TABLE_1|%') AND ON_MANUAL = 1 Number of results: 1 Looping through the rows ------------------------------------------------ Row Info Row Number 1 TableName: TABLE_1 FieldName: COMMUNE_1 ValueInfo: Commune|ID|C ValueMethod: INTERSECTING_FEATURE On Create: 0 On Change: 0 Checking for Subtype Restriction Field Name: COMMUNE_1 was found at index: 70 Trying: INTERSECTING_FEATURE Starting to process rule Value Info is: Commune|ID|C Layer Found: Commune ID: at 2 Searching on Layer No Selected Features Cursor created Starring Loop of found features Checking Class Different FCs Setting Value: 382 Value Set Finished: INTERSECTING_FEATURE ------------------------------------------------ DONE --------------------------------------- ####################################################### ####################################################### REQUETE_1 - ON_MANUAL *********************************************************** ############ 17/10/2013 09:21:15 ################ Setting sort order: Field - RUNORDER Querying table for Last Value for layer: REQUETE_1 Query Used: (TABLENAME = '*' OR TABLENAME = 'TABLE_1' OR TABLENAME like 'TABLE_1|*' OR TABLENAME like 'TABLE_1|%') AND VALUEMETHOD = 'Last_Value' Number of results: 0 Querying table for rules for layer: REQUETE_1 Query Used: (TABLENAME = '*' OR TABLENAME = 'TABLE_1' OR TABLENAME like 'TABLE_1|*' OR TABLENAME like 'TABLE_1|%') AND ON_MANUAL = 1 Number of results: 1 Looping through the rows ------------------------------------------------ Row Info Row Number 1 TableName: TABLE_1 FieldName: COMMUNE_1 ValueInfo: Commune|ID|C ValueMethod: INTERSECTING_FEATURE On Create: 0 On Change: 0 Checking for Subtype Restriction Field Name: COMMUNE_1 was found at index: 70 Trying: INTERSECTING_FEATURE Starting to process rule Value Info is: Commune|ID|C Layer Found: Commune ID: at 2 Searching on Layer No Selected Features Cursor created Starring Loop of found features Checking Class Different FCs Setting Value: 382 Value Set Finished: INTERSECTING_FEATURE ------------------------------------------------ DONE --------------------------------------- ####################################################### ####################################################### REQUETE_1 - ON_MANUAL *********************************************************** ############ 17/10/2013 09:21:16 ################ Setting sort order: Field - RUNORDER Querying table for Last Value for layer: REQUETE_1 Query Used: (TABLENAME = '*' OR TABLENAME = 'TABLE_1' OR TABLENAME like 'TABLE_1|*' OR TABLENAME like 'TABLE_1|%') AND VALUEMETHOD = 'Last_Value' Number of results: 0 Querying table for rules for layer: REQUETE_1 Query Used: (TABLENAME = '*' OR TABLENAME = 'TABLE_1' OR TABLENAME like 'TABLE_1|*' OR TABLENAME like 'TABLE_1|%') AND ON_MANUAL = 1 Number of results: 1 Looping through the rows ------------------------------------------------ Row Info Row Number 1 TableName: TABLE_1 FieldName: COMMUNE_1 ValueInfo: Commune|ID|C ValueMethod: INTERSECTING_FEATURE On Create: 0 On Change: 0 Checking for Subtype Restriction Field Name: COMMUNE_1 was found at index: 70 Trying: INTERSECTING_FEATURE Starting to process rule Value Info is: Commune|ID|C Layer Found: Commune ID: at 2 Searching on Layer No Selected Features Cursor created Starring Loop of found features Checking Class Different FCs Setting Value: 382 Value Set Finished: INTERSECTING_FEATURE ------------------------------------------------ DONE --------------------------------------- ####################################################### ####################################################### REQUETE_1 - ON_MANUAL *********************************************************** ############ 17/10/2013 09:21:16 ################ Setting sort order: Field - RUNORDER Querying table for Last Value for layer: REQUETE_1 Query Used: (TABLENAME = '*' OR TABLENAME = 'TABLE_1' OR TABLENAME like 'TABLE_1|*' OR TABLENAME like 'TABLE_1|%') AND VALUEMETHOD = 'Last_Value' Number of results: 0 Querying table for rules for layer: REQUETE_1 Query Used: (TABLENAME = '*' OR TABLENAME = 'TABLE_1' OR TABLENAME like 'TABLE_1|*' OR TABLENAME like 'TABLE_1|%') AND ON_MANUAL = 1 Number of results: 1 Looping through the rows ------------------------------------------------ Row Info Row Number 1 TableName: TABLE_1 FieldName: COMMUNE_1 ValueInfo: Commune|ID|C ValueMethod: INTERSECTING_FEATURE On Create: 0 On Change: 0 Checking for Subtype Restriction Field Name: COMMUNE_1 was found at index: 70 Trying: INTERSECTING_FEATURE Starting to process rule Value Info is: Commune|ID|C Layer Found: Commune ID: at 2 Searching on Layer No Selected Features Cursor created Starring Loop of found features Checking Class Different FCs Setting Value: 382 Value Set Finished: INTERSECTING_FEATURE ------------------------------------------------ DONE --------------------------------------- ####################################################### #######################################################
Pour info, je sélectionne bien tous mes objets de la TABLE_1 avant de lancer INTERSECTING_FEATURE. J'ai même essayé de sélectionner aussi toutes mes communes avant de lancer INTERSECTING_FEATURE, mais même résultat.
J'ai effectué une topologie sur ma couche de polygones et il n'y a pas d'erreurs de superposition, de chevauchement ou de discontinuité. Le polygone 382 n'a rien de particulier, il n'est pas multi-parties.
Hors ligne
#8 Thu 31 October 2013 13:22
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: Assistant d'attributs - erreur intersecting_feature
Pour assurer le suivi du problème, il semble que l'erreur provienne (dans mon cas, en tout cas) de l'Add-In Assistant d'attributs d'ArcOpole (bug ?) car j'ai installé celui fourni par Esri US dans le Water Utility et lui fonctionne bien sur les mêmes données qui posaient problème.
Merci Franck B de ton aide.
Hors ligne