7 votos

¿Automatización de definir proyección dentro de la herramienta de script de Python?

¿¿Automatizar la herramienta definir proyección así que sólo puedo ingresar mi capa cada vez?

Tengo como una secuencia de comandos en el cuadro de herramientas, pero no estoy seguro cómo configurarlo así que sólo puedo introducir mi capa como GetParameterAsText

Aquí está el script. Quiero sustituir el "forest.shp" con una capa de mi propia elección cada vez

 # set local variables
 inDataset = "forest.shp"
 coordinateSystem ="GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]]"

arcpy.DefineProjection_management(inDataset, coordinateSystem)

2 votos

Puede hacer que la entrada de su herramienta sea un parámetro del modelo. Al ejecutar la herramienta, le pedirá la entrada igual que cuando la ejecuta desde la caja de herramientas. Sabe que también puede ejecutar la herramienta como un "lote" haciendo clic con el botón derecho del ratón en la herramienta Definir Proyección.

10voto

Azim Puntos 4541

Puedes hacerlo en python añadiendo

inDataset   = arcpy.GetParameterAsText(0)

aquí está ese ejemplo.

Entender los parámetros de la herramienta de script

A continuación, añadir como una herramienta de la secuencia de comandos. Añadir_una_herramienta_de_guión

O simplemente establecer el parámetro del modelo como sugirió MLowry. Eso es probablemente más rápido y más fácil.

4voto

texai Puntos 178

Su archivo .py debe ser :

import arcpy 
try:
   coordinateSystem ="GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]]"
   fc = arcpy.GetParameterAsText(0) #your featureclass file
   dessr = arcpy.Describe(fc)
   srr = dessr.spatialReference
   arcpy.AddMessage("Your previous projection: %s" % (srr))

   arcpy.DefineProjection_management(fc, coordinateSystem)
   arcpy.AddMessage("Your process finished...")
except:
   arcpy.AddMessage("Cant trasformed new projection")

y luego seguir la dirección de Jones....

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X