¿Mostrar imágenes junto a entidades en ArcMap?

11

Tengo una serie de características de puntos que representan señales de tráfico y cada punto tiene una foto de cada señal asociada.

Quiero crear un libro de mapas con las ubicaciones de los signos que se muestran como puntos y la foto que se muestra al lado del punto. Cada página del libro de mapas tendrá múltiples ubicaciones de letreros y fotos.

¿Hay una manera fácil de automatizar la importación de fotos en un MXD en la vista de datos junto a una función de punto?

Hay alrededor de 1000, por lo tanto, se necesita automatización. ¿O de alguna manera "etiquetar" una característica con una foto?

Karyn
fuente

Respuestas:

15

Modifique (scale, shiftX, shiftY) y ejecute este script

import arcpy, traceback, os, sys
from arcpy import env
env.overwriteoutput=True

scale=10
shiftX=50
shiftY=25

points = r'D:\Scratch\points.shp'
try:
    def showPyMessage():
        arcpy.AddMessage(str(time.ctime()) + " - " + message)

    with arcpy.da.SearchCursor(points,("Shape@","HLINK")) as scur:
        for shp,image in scur:
            worldFile=image.replace(".jpg",".jgw")
            f = open(worldFile, 'w')
            f.write('%s\n'%(float(1)/scale))
            f.write('0.0000000\n')
            f.write('0.0000000\n')
            f.write('%s\n' %(-float(1)/scale))
            f.write('%s\n' %(shp.firstPoint.X+shiftX))
            f.write('%s\n' %(shp.firstPoint.Y+shiftY))
        f.close
except:
    message = "\n*** PYTHON ERRORS *** "; showPyMessage()
    message = "Python Traceback Info: " + traceback.format_tb(sys.exc_info()[2])[0]; showPyMessage()
    message = "Python Error Info: " +  str(sys.exc_type)+ ": " + str(sys.exc_value) + "\n"; showPyMessage()            

La secuencia de comandos asume que la tabla de puntos tiene un hipervínculo a la imagen y son jpegs: ingrese la descripción de la imagen aquí

La secuencia de comandos escribe el archivo mundial utilizando los parámetros especificados por el usuario, el factor de escala y los cambios de coordenadas. Juega con ellos para lograr la mejor combinación para tu escala y posición de imagen.

Después de ejecutar el script, puede usar varios enfoques para crear un catálogo de imágenes, por ejemplo, esto o simplemente crear un dataset de mosaico para obtener esto:

ingrese la descripción de la imagen aquí

NOTA: Algunos catálogos admiten la consulta de definición de página

FelixIP
fuente