在ArcMap中的要素旁边显示图像?


11

我有一系列代表道路标志的点要素,每个点都有与之相关的每个标志的一张照片。

我想创建一个地图簿,将标志的位置显示为点,并在该点旁边显示照片。地图册中的每个页面上都会有多个标志位置和照片。

有没有简单的方法可以自动将数据导入到点功能旁边的数据视图中的MXD中?

因此大约有1000个自动化需求。还是以某种方式用照片“标记”功能?

Answers:


15

修改(scale,shiftX,shiftY)并运行此脚本

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()            

脚本假定点表具有指向图片的超链接,并且它们是jpeg: 在此处输入图片说明

脚本使用用户指定的参数比例因子和坐标平移写入世界文件。与他们一起玩,以达到您的比例和图像位置的最佳匹配。

运行该脚本后,您可以使用的方法数创建图像目录,如或只是创建镶嵌数据集来得到这样的:

在此处输入图片说明

注意:某些目录支持页面定义查询

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.