8 votos

¿Trazar el ráster usando shapefile en múltiples rasters usando ArcGIS Desktop?

Tengo un archivo raster que representa un área grande y un shapefile de 30 polígonos que representan cuencas hidrográficas. Me gustaría recortar el ráster con el shapefile para crear 30 rásteres que representen cada cuenca hidrográfica? Me gustaría automatizar el proceso, ya que lo repetiré para otros 10 archivos de trama que representan áreas grandes.

Estoy usando ArcGIS 10.1 con una licencia avanzada de arcinfo. ¿Se puede hacer esto sin el uso de Python?

6voto

Yo estaba tratando de averiguar lo mismo y de hecho esta en Model Builder.

enter image description here

No soy bueno con las secuencias de comandos a todos y de nuevo a la construcción de modelos, pero este era bastante fácil de hacer y vale la pena el esfuerzo.

Modelo abierto del generador y seleccione INSERT > Iterators > feature selection. Utilice la entrada para ser su polígonos shapefile que contiene el 30 diferentes polígonos; esperemos que se clasifican de manera diferente con un atributo como el nombre. Seleccione la Group by fields desplegable y poner el nombre del atributo que se desea mostrar para cada individuo los rásteres se va a crear.

Haga clic en aceptar y, a continuación, en el Arctoolbox ir a data management > raster > raster processing > Clip y sólo arrastrar la caja de herramientas en su modelo de ventana del generador. Haga doble clic en el icono del Clip y el ráster de entrada que desea utilizar. Seleccione la carpeta de salida, a continuación, (esta es la parte difícil) para asegurar que usted obtiene 30 individual de imágenes raster escriba el nombre %value%.tif al final de su camino de salida.

A continuación, haga clic en Model > Validate entire Model, luego de curso run entire model. Va a tomar un tiempo de proceso de que muchos de los rásteres pero sin duda le ahorrará tiempo.

Última cosa para cambiar el sistema de referencia espacial haga clic en Model > Model Properties > Check Output Coordinates > Values y examinar a la que usted desea.

3voto

xenny Puntos 670

puede recorrer cada polígono y realizar el ráster de clip o extraer por máscara. Aquí hay un pequeño código de muestra:

 import arcpy

rasterlist = arcpy.ListRasters("your_workspace")
for raster in rasterlist:
    for i in range(30):
        arcpy.MakeFeatureLayer_management("your_shapefile", "layer" + str(i), ' "FID" = ' + str(i)) #create a layer with only polygon i
        arcpy.Clip_management(raster, "#", raster[:-4] + "clip" + str(i) +" .tif","layer" + str(i), "0", "ClippingGeometry") #clip based on layer, clipping geometry will use the polygon extent only
 

tenga en cuenta que es posible que desee utilizar el entorno de ráster de ajuste para asegurarse de que está alineado con su imagen original.

3voto

Mike Roosa Puntos 1877

Si usted no desea utilizar Python puede utilizar el Modelo del Generador. Model Builder tiene varias iterador de herramientas.

Uso Recorrer en la Selección de características para iterar sobre las características de una clase de entidad de su (cuencas hidrográficas). A continuación, utilizar la Herramienta Clip.

Usted tendrá que ejecutar este modelo de 10 veces (una para cada uno de sus 10 raster).

Aquí están algunos ejemplos de uso de serveal recorrer herramientas.

2voto

David L Morris Puntos 917

Otra forma de hacerlo sin Python o Modelbuilder es utilizar la herramienta clip de trama en el modo de Procesamiento por lote , hay un breve tutorial del proceso en esta respuesta viejo mío.

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