Mais

Arcpy: o snippet python copiado não funciona?


Estou tentando converter dados XYZ em uma classe de recurso de ponto. Fiz isso com sucesso no ArcMap, no entanto, quando copio o snippet python, recebo um RuntimeError.

Fiz algumas pequenas alterações para tornar o código mais legível e para percorrer uma série de arquivos. De qualquer forma, os mesmos problemas surgiram quando usei o snippet python original.

Este é o meu código - por uma questão de brevidade, substituí alguns dos nomes de caminho longos por variáveis:

import os # permite a interação com o sistema operacional import arcpy # permite o uso de ferramentas dentro do pacote 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], UNIDADE ['Grau', 0,0174532925199433]], PROJEÇÃO ['Double_Stereographic'], PARAMETER ['False_Easting', 155000.0], PARAMETER [' , 463000.0], PARAMETER ['Central_Meridian', 5.38763888888889], PARAMETER ['Scale_Factor', 0.9999079], PARAMETER ['Latitude_Of_Origin', 52.15616055555555], UNIT ['Meter', 1.0]] "," # "," # " "DECIMAL_POINT" #este é apenas o sistema de coordenadas copiado do snippet python para torná-lo mais legível. para fn em os.listdir ('.'): if (fn [-4:] == '.pts' ou fn [-4:] == '.txt'): print fn + 'está em processamento.' print 'Convertendo dados XYZ em classe de feição de ponto.' pts_shp = fn [0: 7] + '.shp' # usando fn [0: 7] para se livrar da extensão .pts ou .txt do arquivo de entrada arcpy.ASCII3DToFeatureClass_3d (fn, 'XYZ', 'shp_points /' + pts_shp, 'POINT', '1', RDnew, "#", "#", "DECIMAL_POINT")

Esta última linha é onde obtenho o erro.

Eu tive alguns erros antes (entre os quais o infame Erro 999999, do qual consegui me livrar. E 'falhou ao executar a função', que também foi resolvido), mas não vejo o que mais há de errado com meu código aqui .

Alguém poderia me ajudar e me explicar o que está errado?

Já verifiquei por espaços e pontos nos caminhos e nomes de arquivo. Meu melhor palpite seria o caminho de entrada ou saída, mas não vejo o problema.


Verifique sua string RDNew. As aspas duplas extras em torno do#pode estar jogando coisas fora. Se eles deveriam estar na string, escape-os com uma barra invertida.

Se parece que a variável tem o extra,"#","#","PONTO DECIMAL"nele a partir dos parâmetros em seuarcpy.ASCII3DToFeatureClass_3dligar.