Suite

Arcpy : l'extrait de code python copié ne fonctionne pas ?

Arcpy : l'extrait de code python copié ne fonctionne pas ?


J'essaie de convertir des données XYZ en une classe d'entités ponctuelles. Je l'ai fait avec succès dans ArcMap, cependant, lorsque je copie l'extrait de code python, j'obtiens une RuntimeError.

J'ai apporté quelques modifications mineures pour rendre le code plus lisible et pour parcourir une série de fichiers. Quoi qu'il en soit, les mêmes problèmes se sont posés lorsque j'ai utilisé l'extrait de code python d'origine.

Ceci est mon code - par souci de concision, j'ai remplacé certains des longs noms de chemin par des variables :

import os # permet l'interaction avec le système d'exploitation import arcpy # permet l'utilisation d'outils dans le package arcpy arcpy.CheckOutExtension('3D') RDnew = "PROJCS['RD_New',GEOGCS['GCS_Amersfoort',DATUM['D_Amersfoort',SPHEROID[ 'Bessel_1841',6377397.155,299.1528128]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Double_Stereographic'],PARAMETER['False_Easting',155000.0],PARAMETER_Northing['False ,463000.0],PARAMETER['Central_Meridian',5.38763888888889],PARAMETER['Scale_Factor',0.9999079],PARAMETER['Latitude_Of_Origin',52.15616055555555],UNIT['Meter',1.0]]","#","#", "DECIMAL_POINT" # il s'agit simplement du système de coordonnées copié à partir de l'extrait de code python pour le rendre plus lisible. pour fn dans os.listdir('.'): if (fn[-4:] == '.pts' ou fn[-4:] == '.txt'): print fn + ' est en cours de traitement.' print 'Conversion des données XYZ en classe d'entités ponctuelles.' pts_shp = fn[0:7] + '.shp' # en utilisant fn[0:7] pour se débarrasser de l'extension .pts ou .txt du fichier d'entrée arcpy.ASCII3DToFeatureClass_3d(fn,'XYZ','shp_points/' + pts_shp,'POINT','1',RDnew,"#","#","DECIMAL_POINT")

Cette dernière ligne est l'endroit où j'obtiens l'erreur.

J'ai déjà eu quelques erreurs (parmi lesquelles la tristement célèbre erreur 999999, dont j'ai réussi à me débarrasser. et " échec de l'exécution de la fonction ", qui a également été résolu), mais je ne vois pas ce qui ne va pas avec mon code .

Quelqu'un pourrait-il m'aider et m'expliquer ce qui ne va pas ?

J'ai déjà vérifié les espaces et les points dans les chemins et les noms de fichiers. Ma meilleure estimation serait le chemin d'entrée ou de sortie, mais je ne vois pas le problème.


Vérifiez votre chaîne RDNew. Les guillemets supplémentaires autour du#peut être en train de gâcher les choses. S'ils sont censés être dans la chaîne, échappez-les avec une barre oblique inverse.

Si on dirait que la variable a l'extra,"#","#","VIRGULE"dans celui-ci à partir des paramètres de votrearcpy.ASCII3DToFeatureClass_3dappel.