15 votos

Automatizar SHP a JPG creación

¿Alguien sabe de una forma de convertir por lotes archivos a formato jpeg u otro formato de imagen común?

edit: yo debería haber aclarado que me gustaría aplicar un estilo a cada shapefile, y, a continuación, exportar el archivo de forma con ese estilo a una imagen.

Por ejemplo, yo tengo distritos censales en un condado, y yo quiero una imagen de cada uno de las vías de relieve, mientras que las otras zonas son todos del mismo color.

14voto

GreyCat Puntos 146

Hay muchas herramientas gratuitas como:

Pero en Python, la referencia es Mapnik y primeros pasos En Python

  • Crear un mapa (anchura y altura en píxeles, color de fondo, etc)
  • Crear Estilos que determina la forma en que se representan los datos
  • Agregar un origen de datos (shapefile, etc.) y crear una capa a partir de ella.
  • Representar el mapa
  • el mismo mapa y estilos de parámetros se puede aplicar a múltiples archivos (a través de un archivo XML)

vea los ejemplos en Mapniks Mapas

Simple de imágenes Renderizadas de TM_WORLD_BORDERS-0.3.shp

enter image description here

la selección de un país (Angola) en el shapefile:

enter image description here

Otro ejemplo de Mapniks Mapas

enter image description here

4voto

Hotpepper Puntos 613

Usted puede agregar todas las capas a un mxd, luego pase a través de ellos y ejecutar

arcpy.mapping.ExportToJPEG(map_document, out_jpeg, {data_frame}, {df_export_width}, {df_export_height}, {resolution}, {world_file}, {color_mode}, {jpeg_quality}, {progressive})

para cada capa en el mapa.

3voto

Amy Puntos 46

Esta pregunta similar tiene las respuestas que el uso de la OMF para convertir DWG a JPG. El proceso es similar para la conversión de archivos de forma.

En este ejemplo se tiene el ejemplo de áreas de trabajo que se pueden descargar.

FME es adecuado para manejar los procesos por lotes. Por ejemplo, puede señalar al lector a una carpeta y se incluirán todos los archivos en la carpeta.

He creado un flujo de trabajo simple que lee todos los archivos en una carpeta y escribe en diferentes Jpg.

workflow

3voto

Scott Puntos 41

Oh, yo hice esto ayer con los condados en Montana! Es demasiado tarde para responder? Suponiendo que usted ya ha utilizado Split para hacer un shapefile para cada sección censal, me pareció que era fácil (perezoso) controlar en una Capa de Grupo. Suponiendo que el único Grupo de la Capa en el documento, no sea tímido acerca de la apertura de la ArcPy ventana y entrar en:

# Setup, defining a variable for the map document, the data frame,
# and a list of layers:
mxd = arcpy.mapping.MapDocument("Current")
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
layers = arcpy.mapping.ListLayers(mxd)

# To copy symbology to all subLayers in the group layer,
# using a template, any normal polygon shapefile will do:
# (datum conflict warnings are irrelevant)
for layer in layers:
  if layer.isGroupLayer:
    for subLayer in layer:
      arcpy.ApplySymbologyFromLayer_management(subLayer, "templatelayer")

# Export one map with each county/tract highlighted, toggling visibility
# of each sublayer before and after:
for layer in layers:
  if layer.isGroupLayer:
    for subLayer in layer:
      print "Exporting " + str(subLayer.name)
      subLayer.visible = True
      slfile = "C:\\YourPathHere\\Subdir\\Etc\\" + str(subLayer.name) +
".png"
      arcpy.mapping.ExportToPNG(mxd, slfile, df, df_export_width=640,
df_export_height=480, transparent_color="255, 255, 255")
      subLayer.visible = False

Exportar a jpg es similar, pero los jpg son un poco asqueroso. Este fue mi primer ArcPy experiencia, así que estoy seguro de que hay más elegantes maneras de hacer esto.

-1voto

Ali Shafai Puntos 2165

En lugar de ello, sólo tienes que cargar el archivo shp en ArcMaps y configurarlo como te gusta. A continuación, utilizar Alt + Imprimir Pantalla o la Herramienta de Recortes para obtener una captura de pantalla. Entonces usted tendrá un archivo jpg o png que se ve exactamente como la forma de la forma de archivo fue dictado.

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