PYTHON GIS - Como exportar a imagen los bookmark creados en un archivo MXD

0


Aprende como usar Python (ArcPy) para exportar tus Bookmarks (Marcadores de posición geográfica) a archivos tipo Imagen (JPG,JPEG, PNG, TIFF, GIF, etc. )


En este articulo aprenderás como exportar los bookmarks que crees en un archivo de ArcMap a archivo de imagen (JPG, JPEG, PNG, TIFF, GIF, entre otros) utilizando Python. De todos los formatos de imagen existentes aprenderás como hacerlo al formato PNG ya que tiene un balance optimo entre tamaño de archivo y calidad de imagen.


Los bookmarks (o marcar lugares) te proporcionan accesos directos a lugares de interés en un mapa que estes trabajando en ArcMap, para crearlos debes seguir las siguientes instrucciones:


Cómo crear Bookmarks en ArcMAP (ArcGIS)


1) Situarte en tu sitio de interés (Localización geográfica y/o escena del terreno).


2) Ir al botón bookmarks (a) y presionar en el submenú Create Bookmark (b).


Muestra la ubicación del botón Bookmarks en el menú principal de ArcMap


3) Guardar el archivo MXD.


Bookmarks Manager


Entre las posibilidades de gestión al trabajar con bookmarks, esta la opción de guardarlos en un archivo .dat presionando el boton "Save" (e) en la ventana "Bookmarks Manager" (d), que aparece tras presionar el submenú "Manage Bookmarks..." (c) en el botón Bookmarks (Puedes guardar todos los Bookmarks creados o una selección de los mimos). 


Muestra la ubicación y los elementos de la ventana Bookmarks Manager



Desde la ventana "Bookmarks Manager" que podrás cargar los Bookmarks a partir de un archivo .dat al presionar el botón "Load..." (f), podrás eliminar, moverlos de posición, editarlos y renombrarlos, siéntete en la libertad de explorar esta función; los archivos .dat permiten compartir esos sitios de interés entre usuarios de ArcMap, sin embargo para compartirlos a terceros que no estén familiarizados ArcMap tendrías que exportarlos a un formato de uso mas común, como los archivos de imágenes (.png, .jpg, etc), siguiendo el siguiente procedimiento:


Cómo exportar un MXD a PNG


1) Abrir el archivo MXD  los bookmarks creados. Ir al botón "Bookmarks" en la barra superior, y seleccionar uno de los bookmarks previamente definidos que aparecerán como parte del submenu desplegado (Tambien es posible seleccionar los bookmarks desde la ventana Bookmarks Manager).


2) Ir a File.


Muestra la ubicación del botón File en el menú principal de ArcMap



3) Presionar "Export Map..." en el submenú desplegado.


Muestra la ubicación del botón Export Map dentro del submenú File que a su vez se ubica en el menú principal


 


4) Elegir el Nombre del archivo (a), el tipo de archivo (b) y la resolución (c). Seguidamente presionar el botón "Guardar" (d). 


Muestra las opciones a ajustar a la hora de exportar un archivo MXD a PNG de forma manual



5) Repetir este procedimiento para cada bookmark.


Sin embargo, no existe forma de exportar más de un bookmark a la vez a archivos tipo imagen, así que tocaría repetir el procedimiento tantas veces como el número de bookmarks que quieras compartir (Los que podría ser bastante demorado y tedioso si son decenas o cientos de bookmarks), por tal motivo te enseñare como puede ser mucho más eficiente utilizando código Python (No te preocupes no necesitaras saber programar para lograrlo). 


(Sinceramente este código fue reemplazado de mi arsenal por el mostrado en mi artículo “PYTHON GIS - Exportar Data Driven Pages a Archivos tipo Imagen (JPG, JPEG,  PNG, TIFF, GIF, etc. )”, pero bueno siempre es conveniente tener más de una opción, ¿no lo crees?.)


¿Cómo exportar las vistas de Bookmarks con Python?


Paso 1: Abrir un archivo MXD en blanco.


Paso 2: Abrir la ventana Python en la barra de herramientas Standard.


Muestra la ubicación de la ventana Python dentro de la barra de herramientas Standard (estándar)


Paso 3: Copiar en un blog de notas el siguiente código y reemplazar el texto C:\EJEMPLO\EJEMPLO.mxd en la línea #03 por la ubicación y el nombre del archivo .mxd que contiene los bookmarks.



import arcpy                                                   #01
mxd = arcpy.mapping.MapDocument(r"C:\EJEMPLO\EJEMPLO.mxd")     #02
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]            #03
for bkmk in arcpy.mapping.ListBookmarks(mxd, data_frame=df):   #04
    df.extent = bkmk.extent                                    #05
    outFile = r"C:\EJEMPLO\\" + bkmk.name + ".png"             #06
    arcpy.mapping.ExportToPNG(mxd, outFile, resolution=1000)   #07
del mxd                                                        #08
                                                                   


Paso 4: En la línea #06 del código remplazar C:\EJEMPLO por la ubicación de la carpeta en donde quieres guardar las imágenes.


Paso 5 (opcional): Si el dataframe que contiene los bookmarks tiene un nombre distinto a Layers, habrá que remplazar la palabra Layers en la línea #03 por el nombre personalizado que se este usando.


Al cabo de unos segundos veras como comienzan a aparecer las imágenes en formato PNG en la carpeta de salida indicada en el paso 4 y de esta manera puedes exportar a imágenes las vistas indicadas a través de bookmarks. 


Notas:


  • En la línea 07 puedes modificar los dpi con los que se exportan las imágenes, actualmente está fijado en 1000 dpi, que según mi experiencia es la mejor resolución para archivos de imagen a utilizar en documentos, El tiempo de exportación es directamente proporcional a la cantidad de dpi.
  • En la línea 07 puedes modificar el tipo de archivo de imagen que deseas, remplazando el texto ExportToPNG por alguna de las siguientes opciones ExportToBMP, ExportToEMF, ExportToEPS, ExportToGIF, ExportToJPEG, ExportToSVG, ExportToTIFF; es necesario además modificar en la línea 06 el texto .png por el formato de salida deseado (.bmp, .emf, .eps, .gif, .jpg, .svg, .tif). 


Espero hayas disfrutado este artículo, próximamente subiré un video explicativo del procedimiento que podrás consultar en este blog. Guarda mi blog entre tus enlaces favoritos, estaré subiendo muchos más trucos de este estilo, recuerda que puedes hacer llegarme tus inquietudes en la página de contacto o deja tu comentario, estaré atento a responder.


Entradas que pueden interesarte

Sin comentarios