Exibindo imagens ao lado dos recursos do ArcMap?

11

Eu tenho uma série de recursos de pontos que representam sinais de trânsito e cada ponto tem uma foto de cada sinal associado a ele.

Quero criar um livro de mapas com as localizações dos sinais mostrados como pontos e a foto exibida ao lado do ponto. Cada página do livro de mapas terá vários locais de sinal e fotos.

Existe uma maneira fácil de automatizar a importação de fotos para um MXD na exibição de dados ao lado de um recurso pontual?

Existem cerca de 1000, portanto, necessidade de automação. Ou de alguma forma "rotular" um recurso com uma foto?

Karyn
fonte

Respostas:

15

Modifique (dimensione, shiftX, shiftY) e execute 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()            

O script assume que a tabela de pontos possui um hiperlink para a imagem e eles são jpegs: insira a descrição da imagem aqui

O script grava arquivo mundial usando o fator de escala dos parâmetros especificados pelo usuário e as mudanças de coordenadas. Brinque com eles para obter a melhor correspondência para sua escala e posição da imagem.

Depois de executar o script, você pode usar várias abordagens para criar um catálogo de imagens, por exemplo, isto ou apenas criar um conjunto de dados em mosaico para obter isso:

insira a descrição da imagem aqui

NOTA: Alguns catálogos suportam consulta de definição de página

FelixIP
fonte