Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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 Mon 18 April 2016 12:41

MatChevalier
Participant occasionnel
Date d'inscription: 28 Feb 2015
Messages: 12

NoneType' object is not callable

Bonjour,

Dans le titre le message renvoyé pour ce simple updatecursor dans une table attributaire écrit d'après la doc Arcgis.

Code:

import arcpy

infc = arcpy.env.workspace("D:\\00_LR_MC\\MN_03_16.gdb\\Points")

fld1 = "y"
fld2 = "yint"
rows = arcpy.UpdateCursors(infc, [fld1, fld2])

for row in rows:
     row.setValue(fld2, row.getValue (fld1)*100)
     rows.updateRow(row)

del row
del rows

J'ai essayé en entrant les chemins d'accés complets, les noms de champ... rien à faire. Si vous avez une idée d'où peut venir le bug... merci d'avance.

Hors ligne

 

#2 Mon 18 April 2016 14:09

anne13
Participant actif
Lieu: Villeurbanne
Date d'inscription: 12 May 2009
Messages: 71

Re: NoneType' object is not callable

l'espace après le row.getValue ???


Anne B, Ville de Villeurbanne

Hors ligne

 

#3 Mon 18 April 2016 14:19

gvellut
Participant actif
Lieu: Annecy
Date d'inscription: 13 Apr 2006
Messages: 112
Site web

Re: NoneType' object is not callable

A quelle ligne est ton erreur " 'NoneType' object is not callable" ?

En attendanr, quelques spéculations :

- Pour setter le workspace, est-ce que ce n'est pas

Code:

arcpy.env.workspace = "D:\\...."

au lieu de l'utiliser en tant que fonction ?

- Et si D:\\00_LR_MC\\MN_03_16.gdb\\Points est déjà une Feature Class, ça devrait être possible de supprimer la ligne:

Code:

infc = arcpy.env.workspace("D:\\00_LR_MC\\MN_03_16.gdb\\Points")

et d'ouvrir le curseur directement:

Code:

rows = arcpy.UpdateCursors("D:\\00_LR_MC\\MN_03_16.gdb\\Points", [fld1, fld2])

Hors ligne

 

#4 Mon 18 April 2016 14:51

MatChevalier
Participant occasionnel
Date d'inscription: 28 Feb 2015
Messages: 12

Re: NoneType' object is not callable

Quelle rapidité!

Anne13 : bien vu, mais ce n'est pas ça

gvellut : Hé oui, je suis un âne!!! Mon env était déclaré comme un cochon. Je préfère lui attribuer une variable, car ce script est un test et un bout de script final.

Pour lereste, il y avait encore un "s" en trop à UpdateCursor"s"

Merci infiniment!

Hors ligne

 

#5 Mon 18 April 2016 15:12

lebon henri
Participant actif
Lieu: Vendée
Date d'inscription: 14 Jan 2008
Messages: 99

Re: NoneType' object is not callable

Bonjour, si vous avez une version récente d'arcgis, préférez utiliser arcpy.da qui remplace les anciens cursors.

Hors ligne

 

#6 Mon 18 April 2016 16:20

MatChevalier
Participant occasionnel
Date d'inscription: 28 Feb 2015
Messages: 12

Re: NoneType' object is not callable

C'est noté, merci.

Hors ligne

 

Pied de page des forums

Powered by FluxBB