最近兩天在幫師兄出圖,他的要求是將現有的4000幅同一樣區的DEM數據設成統一的顏色模式,輸出為JPG圖片,并將這些圖片做成視頻,以此來表示地形的動態演化過程。這項工作中最重要的部分是將多幅DEM數據設置為統一顏色模式,且不能動態拉伸,必須保證所有圖層的高程值都映射到固定的色彩空間內。這樣就能讓高程范圍不一的DEM數據都能使用同一個色帶。
經過一段時間的研究發現,有多種方式可以實現以上目的。利用ArcGIS軟件的強大的Arcpy工具庫函數支持,可以輕易完成這類可批量重復的工作。因為本文的背景是批量處理數據,不適合用軟件操作完成實驗,故在本文中只介紹Arcpy的應用。ArcGIS pro / desktop中脫離批量背景的軟件操作,另開一文介紹。
1.應用模板圖層色的彩模式
2.應用自定義的color map文件
3.應用柵格函數
4.更新圖層數據源
#file
aprx = ap.mp.ArcGISProject('K:/output/ExportMap/ExportMap.aprx')
layer = aprx.listMaps()[0].listLayers()[0]
conprop = layer.connectionProperties #獲取圖層的連接屬性
conprop['connection_info']['database']='K:\\output\\sim' #修改數據真實路徑
conprop['dataset']=filename #鏈接新數據,filename是用來替換的新柵格數據名
layer.connectionProperties=conprop #更新數據連接
lyts = aprx.listLayouts()
lyt=lyts[0]
picname = filename.split('.')[0]+'.jpg'
lyt.exportToJPEG(picname)