Afficher des images à côté des fonctionnalités d'ArcMap?

11

J'ai une série d'entités ponctuelles qui représentent des panneaux routiers et chaque point a une photo de chaque panneau qui lui est associé.

Je veux créer un livre de cartes avec les emplacements des panneaux affichés sous forme de points et la photo affichée à côté du point. Chaque page de la carte contient plusieurs emplacements de panneaux et photos.

Existe-t-il un moyen facile d'automatiser l'importation de photos dans un MXD dans la vue des données à côté d'une entité ponctuelle?

Il y a environ 1000 donc besoin d'automatisation. Ou en quelque sorte "étiqueter" une fonctionnalité avec une photo?

Karyn
la source

Réponses:

15

Modifiez (scale, shiftX, shiftY) et exécutez ce 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()            

Le script suppose que la table de points a un lien hypertexte vers l'image et ce sont des jpeg: entrez la description de l'image ici

Le script écrit le fichier mondial en utilisant le facteur d'échelle des paramètres spécifiés par l'utilisateur et coordonne les changements. Jouez avec eux pour obtenir la meilleure correspondance avec l'échelle et la position de l'image.

Après avoir exécuté le script, vous pouvez utiliser un certain nombre d'approches pour créer un catalogue d'images, par exemple ceci ou simplement créer une mosaïque pour obtenir ceci:

entrez la description de l'image ici

REMARQUE: certains catalogues prennent en charge la requête de définition de page

FelixIP
la source