新闻详情

新闻详情

首页 / 资讯中心 / 详情

ArcGIS Pro局部场景垂直夸大与三维地形出图指南

发布时间:2026/10/2 10:49:39来源:尧图网络
ArcGIS Pro局部场景垂直夸大与三维地形出图指南
上个月帮一位做地质调查的老哥出图他的研究区是一片典型的冲积平原东西跨度四十多公里最大高差不到六十米。遥感DEM加载进ArcGIS Pro的局部场景之后屏幕上一片灰绿色的地毯啥起伏都看不出来他一度怀疑是自己数据下错了。其实这类问题在三维制图里太常见了——地表真实的起伏比例放在显示器上根本没法看人眼对细微高差的敏感度远低于我们对水平距离的分辨能力。真正能救场的就是垂直夸大Vertical Exaggeration。这篇文章我想把 ArcGIS Pro 里垂直夸大制图这件事从头到尾聊透它在视觉上到底改了什么、在全局场景和局部场景里分别怎么设置、夸大倍数该怎么估算、导出和测量时又要注意哪些坑。不管你是刚装好 ArcGIS Pro 的新手还是已经做过不少三维出图的老手应该都能从里面抠出点能直接用的东西。1. 先搞清楚垂直夸大到底在夸大什么1.1 它拉伸的是显示比例不是数据本身很多人第一次接触这个词会有个误会以为垂直夸大是把DEM的高程值重新算了一遍甚至担心会不会把数据改坏。放心垂直夸大在 ArcGIS Pro 里是一个纯粹的视觉显示参数它作用在渲染管线里把Z方向的显示比例乘上一个系数原始栅格的像素值、属性表里的高程、后面要做的坡度坡向分析全都不受影响。你把场景的夸大倍数从1调到5再关掉工程重新打开DEM还是那份DEM。这件事为什么重要因为它决定了垂直夸大的定位——它是制图表达层面的工具不是数据处理工具。我见过有人为了让地形看起来夸张一点直接拿栅格计算器把DEM乘了10倍结果后续做水文分析、计算汇流路径全乱套因为填洼、流向这些算法对高程的量纲非常敏感。正确姿势是数据保持原样只调显示参数。当然也有例外像山体阴影、坡度这类依赖光照和梯度的渲染Z因子会参与计算那属于另一条线第3节会单独讲和场景级的垂直夸大不是一回事。先把这两个概念分清楚后面操作就不会绕晕。1.2 哪些制图场景根本躲不开它垂直夸大不是一个可选项在很多领域它就是必需品。最典型的是平坦地形可视化平原、三角洲、滨海湿地、内陆盆地这类区域实际高差可能只有几十米而水平跨度动辄几十公里真实比例下就是一马平川。要让人在图上看出微地貌古河道、沙脊、堤坝不夸大根本没法表达。第二类是地质与地层建模。地质剖面、褶皱、断层在真实比例下往往被压得很扁尤其在横向延伸很长的情况下构造形态完全显现不出来。地质同行做三维地质体的时候夸大3到10倍是很常见的操作。第三类是水文与淹没分析的可视化。做洪水淹没演示的时候水面和地形的相对关系如果用真实比例水面就是一条几乎看不见的线观众根本感受不到威胁。第四类是海底地形与地球科学大尺度制图。大洋中脊、海沟这些在真实比例下起伏同样微弱做科普演示时夸张几十倍都不夸张。第五类是城市规划与天际线。建筑体块、地形、道路之间的高差关系适当夸张能让汇报图的层次感立刻出来。所以你会发现垂直夸大几乎没有领域边界只要涉及三维表达基本都会碰到。1.3 全局场景和局部场景底层逻辑完全不同ArcGIS Pro 里有两种三维场景Global Scene全局场景和Local Scene局部场景这俩在垂直夸大上的行为差异挺大很多人踩坑就踩在这。全局场景把地球当球体渲染坐标是地理坐标经纬度它天生就带地球曲率。你在全局场景里把相机拉到很远的距离看地形地球的弧度会把远处的山压下去这时候夸大倍数甚至要配合曲率来调。全局场景更适合做大范围、跨区域甚至全球尺度的展示但它对局部地形的表达精度不如局部场景。局部场景用的是投影坐标系把地面当平面处理不引入曲率。它的范围一般控制在一个投影带内比如一个UTM带做局部地形夸大制图几乎是首选。因为它没有曲率的干扰你设置夸大5倍看到的效果就纯粹是5倍拉伸所见即所得调整起来心里有数。我个人的习惯是研究区跨度在几百公里以内、追求地形表达精度一律用局部场景要做全国甚至全球尺度的示意图才用全局场景并且会额外留意曲率对视线的遮挡。这个选择直接决定了后面夸大倍数的取值逻辑所以放在最前面讲。2. 动手前先把数据和坐标这两件事理顺2.1 高程数据从哪来质量怎么快速判断垂直夸大是把高程放大所以底数必须靠谱。常见的高程源有这么几类公开的全球DEM比如 SRTM、ASTER GDEM、Copernicus DEM 之类分辨率30米到90米不等、国内测绘部门提供的DEM、无人机倾斜摄影生成的点云或栅格、以及实测的等高线转TIN。分辨率决定了你能夸大到什么程度——30米的DEM你把倍数拉到很高地形会呈现明显的阶梯感和块状伪影因为像元本身就是那么大夸大只是把这些台阶拉高。拿到DEM之后别急着进场景先在2D视图里做个快速体检用符号系统把高程按拉伸渲染看看有没有异常的大值小值比如海洋区域被填成了0或者负值、NoData被当成0参与渲染再查一下属性里的统计信息最大值、最小值、均值、标准差对研究区的高差有个数。这个数字后面算夸大倍数要用到。还有一点很多DEM的Z单位是米但如果你的XY是经纬度度那在3D里Z和XY的单位是不统一的直接夸大就会出现图像被压扁的怪现象。所以第2.2小节这件事必须先做。2.2 XY单位和Z单位必须能对上否则夸大是白搭这是新手最常忽略的一步。三维场景里一个点的坐标由X、Y、Z三个值组成ArcGIS Pro 需要知道这三者是不是同一套长度单位才能正确渲染。如果你的DEM是地理坐标系度而高程是米那么1度约等于111公里而1米的Z值在这个尺度下相当于约0.00000009度——数据在空间上被压得几乎为零无论你怎么夸大效果都极其别扭。解决办法只有一个把数据投影到合适的投影坐标系。国内常用的是 CGCS2000 对应的3度带高斯投影或者跨区域的 Albers 等积投影如果只是做演示UTM 也够用。投影之后XY和Z都是米单位统一了夸大倍数才有意义。具体操作上可以在 ArcGIS Pro 里用投影Project工具把DEM转成目标投影或者直接在场景里依赖动态投影——但我不建议依赖动态投影做三维夸大因为动态投影在3D里的实际行为依赖场景坐标系容易出玄学问题。做三维制图数据先物理投影是我一直坚持的习惯。2.3 新建工程与局部场景的正确打开方式理清数据后新建一个工程Project然后插入一个新建局部场景New Local Scene。场景创建好之后把投影后的DEM拖进去你会看到一个3D视图。此时垂直夸大默认是1地形大概率还是平的。一个容易被忽略的细节场景本身也有坐标系。新建局部场景时Pro会自动根据第一个加入的数据推断场景坐标系但你可以手动在场景属性里指定让场景坐标系和你DEM的投影一致。如果两者不一致虽然Pro会动态投影但渲染性能和光照方向可能出现偏差。所以在正式调夸大之前养成检查场景坐标系的习惯。另外如果你的三维场景里还要叠加建筑体块、道路、管线等矢量数据也要确保它们的Z值如果有和DEM在同一高程基准上比如都是1985国家高程基准否则夸大之后会出现建筑飘在空中或埋进地里的尴尬。这一步做扎实后面的夸大调整才是纯粹的审美和表达问题。3. 三种粒度的垂直夸大设置路径与适用场景3.1 场景级夸大一次设置整体生效场景级夸大是最常用的方式作用范围是整个场景里的所有图层。操作路径是在内容Contents窗格里右键场景名称选择属性Properties打开场景属性对话框在常规General选项卡里就能找到**垂直夸大Vertical Exaggeration**的数值输入框默认是1。这个数值一般可以在0.01到1000之间调整输入一个大于1的数就是放大高程小于1就是压扁。改完之后点确定视图会立即刷新。这里有个经验不要一上来就填一个很大的数比如直接填50或100那样地形会变成一排尖锐的牙齿视觉上很假。正确的做法是从1.5、2、3这样的小倍数逐步加一边加一边旋转视角观察直到地形起伏刚刚好能看出层次又不会显得夸张失真为止。场景级夸大的好处是管理简单所有图层统一比例图层之间的空间关系保持一致缺点是如果你场景里同时有地形和建筑体块可能地形需要夸大5倍而建筑只需要夸大1倍建筑本来就醒目统一夸大就会让建筑虚高。这时候就需要图层级夸大来补位。3.2 图层级夸大让某一层单独起飞图层级夸大可以让你针对单个图层再叠加一层夸张系数。操作路径右键某个图层选属性切到高程Elevation选项卡里面能找到**垂直夸大Vertical Exaggeration和制图偏移Cartographic Offset**两个参数。垂直夸大用于调整该图层的高程显示比例偏移则是在Z方向上整体平移把图层抬高或压低常用来避免叠加时的Z冲突。这里有个必须记住的规则最终显示效果 场景夸大倍数 × 图层夸大倍数。也就是说如果场景设了3某个图层又设了2那么这个图层实际是按6倍显示的其他图层还是3倍。这个乘法关系很多人不知道调完发现某一层怎么飞出去了往往就是这个原因。所以图层级夸大要慎用用的时候心里要有这个乘法账。图层级夸大最适合的场景是场景里有几类高程尺度差异很大的数据比如用1:50000的DEM展示大地形同时用高精度点云展示局部细部这时候点云可以单独调小夸大倍数避免它相对大地形显得过于夸张。反过来若某层需要突出比如要在汇报中强调一条断裂带的起伏也可以给它单独加倍数。3.3 栅格函数与Z因子这是分析层面的夸大前面一直强调场景夸大不改数据那有没有改数据的夸大方式有那就是栅格函数里的Z因子Z Factor以及各种地表分析工具里的Z因子参数。它跟视觉夸大名字像本质完全不同。Z因子参与的是地形梯度和光照计算。比如做山体阴影Hillshade的时候光照算法是根据像元之间的高程差计算坡度和坡向的如果研究区很平算出来的阴影对比度很低图就显得糊。这时候可以给Z因子设一个大于1的值比如2到5让算法认为地形更陡阴影对比度就提上来了。做坡度、坡向、地形起伏度这类分析时如果XY和Z的单位不一致也要用Z因子做单位换算。所以你看Z因子是计算参数会影响输出栅格的数值场景垂直夸大是显示参数只影响你看到的画面。两者可以配合使用先在山体阴影上用好Z因子让底图明暗层次出来再在三维场景里用垂直夸大把起伏拉出来最后出来的效果就是既有层次又有立体感。我一般做地形三维图都是这么组合的。3.4 用脚本批量设置夸大给常做项目的人如果你经常需要按模板出图每次手动点属性对话框太累可以用 ArcPy 配合 CIMCartographic Information Model直接改场景的垂直夸大。CIM 是 ArcGIS Pro 底层的绘图描述模型改它相当于直接操作工程的绘图参数。下面这段是个思路参考import arcpy # 打开工程 aprx arcpy.mp.ArcGISProject(rC:\work\Terrain3D.aprx) # 找到三维场景类型为 SCENE scenes [m for m in aprx.listMaps() if m.mapType SCENE] scene scenes[0] # 读取CIM定义修改垂直夸大再写回 cim_scene scene.getDefinition(V3) cim_scene.verticalExaggeration 5.0 scene.setDefinition(cim_scene) aprx.save()跑之前记得备份工程CIM 这种底层操作一旦参数写错工程可能打不开。另外不同版本的接口版本号V3会变按你装的 Pro 版本对应的 CIM 版本来填。这个方法适合批量生产把夸大倍数、相机视角、输出路径都参数化一次生成几十个区域的对比图比人工点鼠标快得多。4. 夸大倍数怎么定给一套能落地的估算办法4.1 用高差和视野范围反推倍率夸大倍数说到底是个表达问题但它有个相对客观的估算起点。核心思路是让地形的视觉起伏率进入人眼舒适区。所谓起伏率就是研究区的高差和水平跨度之比。举个例子研究区高差 50 米东西跨度 40 公里40000 米真实起伏率就是 50/40000 0.00125也就是千分之一点二五这个比例在图上就是一条平线。人眼在屏幕上对起伏的感知一般需要起伏率达到 0.05 到 0.15 左右才能明显看出层次经验值因视角和屏幕而异。那么需要的夸大倍数大约就是目标起伏率 ÷ 真实起伏率。取目标 0.1 的话就是 0.1 ÷ 0.00125 80 倍。看着很吓人但现实中很少有真的拉到80倍的因为我们通常还会通过降低相机高度、拉近视角来增强立体感。实际做法是相机贴近地形用一个中等倍率比如5到15倍就能有很好的效果不必追求那个理论值。估算公式的意义在于帮你判断这个区域到底是不是需要大倍率而不是直接把结果填进去。4.2 不同地形类型的经验区间我把这些年做过的项目大概归了个类整理成一张经验表供你起步参考。注意这只是起点最终还要按屏幕效果微调。地形类型典型高差水平跨度建议夸大倍数备注滨海平原、湿地5-30米数十公里10-30微地貌全靠夸大倍数可以大内陆盆地、高原面50-200米数十至上百公里5-15注意别把盆地边缘夸成尖墙丘陵100-500米十几至几十公里3-8相对好表达倍数温和山地、峡谷500-3000米几至几十公里1.5-3真实起伏已足够夸大多了假地质构造剖面视具体视具体3-10突出褶皱断层形态海底地形数百至数千米上百公里10-50大尺度演示常用这张表里我最想提醒的是山地那一行。很多人以为地形越宏伟越该夸大恰恰相反山地真实起伏已经很强夸大2倍以上就会显得像刀山沟谷变形明显反而不专业。相反越平的地方越需要大倍数这是反直觉但非常实用的经验。4.3 相机视角和夸大倍数是一对搭档单独把夸大倍数拎出来谈其实不完整。三维地形的立体感是夸大倍数、相机高度、俯仰角、光照方向共同决定的。同样的5倍夸大相机在5000米高度俯视和在500米高度平视效果天差地别。我通常的调参顺序是先把夸大倍数定在一个候选值然后把相机降到接近地形的低空用倾斜视角观察如果起伏不够优先降低相机高度、加大俯仰角而不是无脑加夸大倍数只有在低空视角下起伏仍然不足时才回头加倍数。这个顺序能让最终画面更自然因为过度夸大带来的形变往往比视角没选好更破坏真实感。光照方向也别忽略。地形的立体感很大一部分来自阴影把光照方位角调到和主要山脊走向斜交比如相差45度左右起伏会立刻跳出来如果光照方向恰好和地形成顺光或逆光再大的夸大倍数也救不了画面的平。这一点在做最终出图时尤其关键。5. 出图、动画和测量里的那些坑5.1 夸大之后测量还准不准务必心里有数这是必须强调的一条场景垂直夸大只影响显示不影响查询到的属性值。你在场景里点选一个DEM像元属性表里显示的高程还是真实高程不会因为你夸大了5倍就变成5倍。所以要用高程数据做分析、出报表从属性表拿是安全的。但是如果你用具3D测量工具在夸张后的画面上去量高差得到的数值和你眼睛看到的视觉高差不是一个概念。视觉上一个10米高的坎被夸大成5倍后看起来像50米但工具量出来的如果是真实值就还是10米。不同版本里测量工具对垂直夸大的处理方式不完全一样稳妥的做法是任何需要精确数值的场合都回到属性表或分析工具的结果里取数别依赖屏幕上量出来的数字。做汇报图时如果需要标注高程也建议标真实值而不是视觉值避免误导。5.2 底图和影像贴到夸大后的地形上会变形把影像底图或地表纹理贴到夸大后的DEM上会出现明显的拉伸变形这是物理必然的——你把人家的Z拉长了贴在表面的纹理也跟着被拉。做局部夸大比如3倍以内变形通常能接受夸大到10倍以上影像里的地物道路、建筑会被拉成竖条很影响观感。应对办法有几个一是降低影像图层的不透明度让它作为一种色调存在而不是让观众盯着细节看二是如果做的是纯地形表达比如地貌晕渲干脆用山体阴影替代影像底图前者对变形更宽容三是控制夸大倍数别为了追求起伏把纹理牺牲掉。这几个手段可以叠着用看你的表达重点在哪。另外提醒一下如果场景里还叠了建筑体块Extrusion体块的拉伸方向和高程的位置关系要单独检查夸大地形之后原本落地准确的建筑可能被地形顶起来或陷进去需要靠制图偏移参数去对齐。5.3 导出视频和图纸时夸大效果会被保留用场景做动画Animation沿路径飞行或者导出图片/视频的时候垂直夸大效果是会带上的这一点可以放心。但导出有几个细节要注意。导出图片时分辨率设得高一点比如1920×1080以上因为夸大后的地形细节多分辨率低了阴影和立体感会糊。导出视频时帧率保持30帧左右比较稳飞行路径的相机关键帧要在地形夸大调整完成之后才确定否则你改完夸大之前设计的相机轨迹可能会穿进山体或者飞得太远。还有一点导出前把场景里的图例、比例尺、指北针这些整饰元素检查一遍。三维场景里的比例尺会随视角变化一般不建议在透视场景里放固定比例尺条容易误导指北针也要确认方向正确别让观众看反了。这些细节在二维出图里是老生常谈但一到三维场景很多人就忘了。5.4 常见问题速查最后整理一张排查表遇到问题可以对照着看。这些问题我基本都踩过。现象可能原因处理办法加大倍数后地形没变化数据没投影XY是经纬度Z是米投影到投影坐标系统一单位地形显示成阶梯、块状DEM分辨率太粗夸大过度降低夸大倍数或换更高分辨率数据某图层飞得很高场景夸大与图层夸大相乘检查图层高程选项卡调回1影像被拉成竖条夸大倍数过大纹理变形降低不透明度或换晕渲底图地形边缘像悬崖NoData区域被拉伸用掩膜裁剪边缘处理成NoData画面卡顿、转动迟滞夸大后视锥裁剪异常或数据量大关闭无关图层、建金字塔、降低夸大光照下地形显得平光照方向与山脊走向平行调整光照方位角斜交地形走向建筑悬空地形夸大后基准面变化用制图偏移微调建筑Z值这张表里我觉得某图层飞得很高和地形显示成阶梯这两个最容易让人懵。前者是没搞懂乘法关系后者是没意识到夸大不能超越数据分辨率的上限。理清楚这两个基本就避开了大部分坑。6. 我在实际操作里沉淀的几点体会做垂直夸大这几年最大的体会是夸大是把双刃剑关键在够用就好。刚入门的时候我总想把倍数往大了调觉得越夸张越有冲击力结果出给专业同行看人家一眼就看出地形形态失真了沟谷比例不对、山脊线歪了反而显得不专业。后来我慢慢学会了控制平坦地区大胆夸山地地区老实一点配合相机和光照来补立体感。这个度得靠一次次出图去养。第二点体会和工具选择有关。做这类三维地形我更倾向于在工程一开始就把坐标系、场景类型、高程基准这几件地基打好后期调整只是审美问题一旦地基没打好比如数据没投影就上场景后面所有夸大调整都是在错误的基础上打补丁越补越乱。先地基后装饰这个顺序千万别反。第三点是做汇报材料时的心态。垂直夸大出来的图非常适合做演示、做科普、做汇报视觉冲击力强但如果是正式的测绘成果或者要参与决策分析务必配一份真实比例的图并注明夸大倍数让人知道你在视觉上做了多少放大处理。这种透明和严谨是一个制图人该有的基本功也能让合作方对你的成果更信任。产出有说服力同时守住专业底线垂直夸大用起来才踏实。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

2026年AI写作辅助平台盘点:用TaoToken统一Key打通12款神器,高效完成选题大纲、撰稿和降重 2026/10/2 11:45:45

2026年AI写作辅助平台盘点:用TaoToken统一Key打通12款神器,高效完成选题大纲、撰稿和降重

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
离线安装 K3S 实战:用 TaoToken 统一 Key 打通 Helm、MySQL 与 Longhorn 的本地验证链路 2026/10/2 11:45:45

离线安装 K3S 实战:用 TaoToken 统一 Key 打通 Helm、MySQL 与 Longhorn 的本地验证链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
基于AndroidX的跑步App毕设源码:从解压到联调避坑指南 2026/10/2 11:45:45

基于AndroidX的跑步App毕设源码:从解压到联调避坑指南

简介:在Android原生开发中,androidx作为Google推出的兼容层,已成为新项目的基础依赖。它将旧support库重构,统一了组件包名与行为,让App在不同系统版本间保持一致体验。实际工程中,一个完整的跑步类应用通常…

阅读更多 →
【AI智能体报告】OpenManus 实战拆解:从 MetaGPT 到开源 AI 助手的落地路径与 TaoToken 接入 2026/10/2 11:45:44

【AI智能体报告】OpenManus 实战拆解:从 MetaGPT 到开源 AI 助手的落地路径与 TaoToken 接入

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
大模型垂直领域微调系列(二):ms-swift 框架全景与 TaoToken 统一接入实践 2026/10/2 11:45:44

大模型垂直领域微调系列(二):ms-swift 框架全景与 TaoToken 统一接入实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Claude Code 记忆管理:把 settings 改到 TaoToken 的配置与验证 2026/10/2 11:45:38

Claude Code 记忆管理:把 settings 改到 TaoToken 的配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉