Suite

Erreur ArcGIS OSMLoader arcpy .encode

Erreur ArcGIS OSMLoader arcpy .encode


J'essaie de charger un fichier geofabrick .bz2 dans une géodatabase fichier à l'aide de l'outil OSM Simple Loader de http://arcscripts.esri.com/details.asp?dbid=15137 Cependant, cela échoue à chaque fois à cette ligne :

frow.setValue("Node_ID",node[0].encode("Latin-1","replace")) Le message d'erreur est :

Erreur d'exécution 999999 : "le type de valeur est incompatible avec le type de champ Node_ID"

Malheureusement, je ne connais pas python et je ne suis donc pas en mesure de tenter de corriger cette erreur. Je travaille avec arc 10.2 et cela a été écrit pour arc 9.2.

J'espère que quelqu'un pourra m'éclairer là-dessus.

Voici le bloc de code

elif element=='/node' et hasvalidtags et ftype==0 :

#done with node permet de charger sa forme frow = nodecursor.newrow() nodepnt.x=float(node[1]) nodepnt.y=float(node[2]) **frow.setValue("Node_ID",node[0 ].encode("Latin-1","replace"))** pour f dans standardFields : frow.setValue(f,") pour sTag dans ftags : frow.setValue(sTag[0],str(sTag[1] )) frow.SetValue('shape', nodepnt) #Charger la forme nodecursor.insertrow(frow) taggednodecount+=1 hasvalidtags=False

Vous devez arrêter d'utiliser la version 9.2 et passer à l'utilisation de l'éditeur ArcGIS pour OpenStreetMap pour 10.2. Je l'utilisais depuis un certain temps maintenant et j'ai pu traiter plusieurs ensembles de données OSM dans des réseaux routables sans problème. Il y a une documentation très détaillée ici sur GitHub.


Voir la vidéo: Python: Working with Feature Data using ArcPy