全国高分辨率土地利用数据服务 土地利用数据服务 土地覆盖数据服务 坡度数据服务 土壤侵蚀数据服务 全国各省市DEM数据服务 耕地资源空间分布数据服务 草地资源空间分布数据服务 林地资源空间分布数据服务 水域资源空间分布数据服务 建设用地空间分布数据服务 地形、地貌、土壤数据服务 分坡度耕地数据服务 全国大宗农作物种植范围空间分布数据服务
多种卫星遥感数据反演植被覆盖度数据服务 地表反照率数据服务 比辐射率数据服务 地表温度数据服务 地表蒸腾与蒸散数据服务 归一化植被指数数据服务 叶面积指数数据服务 净初级生产力数据服务 净生态系统生产力数据服务 生态系统总初级生产力数据服务 生态系统类型分布数据服务 土壤类型质地养分数据服务 生态系统空间分布数据服务 增强型植被指数数据服务
多年平均气温空间分布数据服务 多年平均降水量空间分布数据服务 湿润指数数据服务 大于0℃积温空间分布数据服务 光合有效辐射分量数据服务 显热/潜热信息数据服务 波文比信息数据服务 地表净辐射通量数据服务 光合有效辐射数据服务 温度带分区数据服务 山区小气候因子精细数据服务
全国夜间灯光指数数据服务 全国GDP公里格网数据服务 全国建筑物总面积公里格网数据服务 全国人口密度数据服务 全国县级医院分布数据服务 人口调查空间分布数据服务 收入统计空间分布数据服务 矿山面积统计及分布数据服务 载畜量及空间分布数据服务 农作物种植面积统计数据服务 农田分类面积统计数据服务 农作物长势遥感监测数据服务 医疗资源统计数据服务 教育资源统计数据服务 行政辖区信息数据服务
Landsat 8 高分二号 高分一号 SPOT-6卫星影像 法国Pleiades高分卫星 资源三号卫星 风云3号 中巴资源卫星 NOAA/AVHRR MODIS Landsat TM 环境小卫星 Landsat MSS 天绘一号卫星影像
一、概述
在ArcGlobe10中三维建筑物图层尚不支持标注显示,而在三维数字城市中往往又有将建筑物屋顶标注名称或高度的需求,所以本文将针对这个问题提出自己解决方案,以变通的方式来达到同样的效果。
二、主要思路
由于ArcGlobe10中三维MultiPatch图层本身并不支持动态标注,因此要想进行动态标注只能通过构建标注图层的方法,即从对三维建筑物图层的每个建筑物中提取标注点要素信息,并将这些要素写入新的点图层,然后在ArcGlobe中打开这个点图层的标注功能,利用点图层的标注功能来变通解决建筑物的动态标注的效果。
三、关键技术
该解决方案的关键点就是如何从三维MultiPatch图层中提取出标注点的信息,并创建独立的标注点图层。
A、提取标注点X坐标信息
标注点的X坐标应该与该模型质心点的X坐标保持一致。因此,为了提取X坐标的信息,可采取ArcToolbox中提供的“Calculate Field”工具,并使用计算表达式来动态计算当前模型质心点的X坐标,并将该坐标值赋给新建的标注点X坐标字段。如下图所示:
图 1
B、提取标注点Y坐标信息
与标注点X坐标的提取原理一样,标注点的Y坐标应该与该模型质心点的Y坐标保持一致。因此,为了提取Y坐标的信息,可采取ArcToolbox中提供的“Calculate Field”工具,并使用计算表达式来动态计算当前模型质心点的Y坐标,并将该坐标值赋给新建的标注点Y坐标字段。如下图所示:
图 2
C、提取标注点Z坐标信息
标注点的Z坐标可与该模型的最大高度保持一致。在ArcToolbox中提供了一个专门针对三维模型Z值提取的工具“Add Z Information”,该工具能够自动提取指定MultiPatch图层中的诸如最大Z值、最小Z值、平均Z值,以及模型体积等信息。在本解决方案中,我们就只是用该工具来提取当前模型的“最大Z值”。如下图所示:
图 3
D、依据XY坐标创建点图层
根据前面的步骤,将为MultiPatch图层中的每行模型记录添加了X、Y、Z值后,还需要使用ArcToolbox中提供的“Make XY Event Layer”工具。该工具能够根据输入表中的X、Y坐标信息,自动生成独立的点图层。如下图所示:
图 4
四、数据处理模型
为了让整个标注点图层生成过程更加地自动化和简单化,本解决方案中还使用了ArcGIS Desktop中提供的Model Builder 工具,以流程化的方式将所涉及到的ArcToolbox工具整合起来。如下图所示:
图 5
其中,
1、整个模型中的输入是:三维模型MultiPatch图层,输出是:标注点图层;
2、在提取X、Y、Z信息前先在原始三维模型Multipatch图层中创建相应的同名字段;
3、“Add Z Information”工具会自动在原始三维模型MultiPatch图层中创建名为“Z_Max”的字段(注,如果ArcGIS 10为中文版,则该字段名为:Z 最大值),所以在使用该工具提取了Z_Max值后,还需要使用“Calculate Field”工具将Z_Max字段的值赋给Z字段;
4、标注点字段完全生成后,还需要删除原始三维模型MultiPatch图层中生成的临时字段,如X、Y、Z、Z_Max等。
五、图层的符号化和标注配置方法
将新生成的点图层添加到ArcGlobe中,我们会发现这些点都分布在每个建筑物的屋顶上,那么接下来我们还需要进一步调整这些点的符号化、标注方式,以及标注显示比例尺等设置。
A、符号化设置
将点的符号设置为普通标记点,且内部填充为透明色,边框颜色为灰色,宽度设置为0.5。如下图所示:
图 6
B、标注方式设置
打开标注功能,并将标注显示字段调整为“Z”,然后修改标注显示符号化,打开标注符号化掩膜。如下图所示:
图 7
图 8
C、标注显示比例尺设置
将标注的最小可见比例尺设置为1:3000。如下图所示:
图 9
六、效果的展示
经过以上步骤后,即可达到非常好的三维模型动态标注的效果。如下视频:
七、结论
虽然,当前版本的ArcGlobe中对三维模型的动态标注还不支持,但我们仍旧可以通过变通的方式达到三维模型动态标注的效果。