Tengo un shapefile con unos mil polígonos, ArcGIS [9.3] (y PostGIS incluso). Me gustaría exportar cada uno de los polígonos en su propio archivo de imagen en miniatura sin ningún contexto real. ¿Cuál es el mejor enfoque?
Respuestas
¿Demasiados anuncios?Sé que tu pregunta está etiquetada con ArcGIS, pero pensé que podría ser interesante para describir un enfoque que casi resuelve este problema mediante R (que es de código abierto y libre). La idea es que se puede cargar en cualquier shapefile, y, a continuación, recorrer la lista de los polígonos de la impresión de cada uno como un png. Es muy rápido para producir cada png ( unos segundos) - no estoy seguro de cómo esto se compara con ArcGIS. El aspecto simpático de esto es que el código es bastante corto.
library(maptools) # these are packages that you need to install
library(sp)
setwd("~/Dropbox/") # set working directory
demo <- readShapePoly('pathtoShapefile/file.shp') # load data
# loop through all the polygons in the shapefile
for(i in 1:length(polygons(demo))) {
selected_polygon = demo[i,1]
thumbnail <- spplot(selected_polygon, scales=list(draw = F), colorkey=F) # remove scales and key/legend
outFile = paste(i, '.png', sep='') # name the file using the loop counter
png(outFile, height=200, width=200, units = 'px') # makes a png 200 x 200
print(thumbnail); dev.off()
}
Aquí es un ejemplo de lo que se produce:
No estoy seguro de si es posible conectar directamente a PostGIS para leer los datos, usando el mismo enfoque.
Las Páginas Controladas Por Datos. utilice el archivo de forma para el índice de la capa. Configurar su diseño, de modo que usted no tiene los márgenes y el tamaño de la imagen PNG que quieras. A la exportación, siga las instrucciones y la parte inferior de esta página, debajo de "Cómo exportar las Páginas controladas por Datos a otros formatos utilizando ArcMap": http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Exporting_Data_Driven_Pages/00sm00000008000000/ Observe que usted puede modificar el nombre de archivo antes de la exportación, por lo que usted puede hacer un montón de combinaciones personalizadas para obtener el nombre de archivo PNG que quieras. (Si necesita ayuda, publicar los atributos de un individuo polígono y cómo desea que el nombre de archivo construido.)
También puede utilizar ArcPy zoom a cada característica y de exportación, vea el enlace de más abajo.
http://GIS.Utah.gov/Code-Python/python10-zoom-to-Feature-Export-layout
Una idea, pero sin utilizar ArcGIS, es posible hacerlo usando GDAL y más especialmente gdal_rasterize: http://www.gdal.org/gdal_rasterize.html
Creo que necesita puede seleccionar cada polígono utilizando un "-donde" declaración, para viabilidad podría depender de tu shapefile. También tienes que escribir a algún tipo de secuencia de comandos para evitar para evitar tener que exportar manualmente cada polígono.