ArcGIS10是美国Esri公司研发的构建于工业标准之上的无缝扩展的GIS产品家族。它整合了数据库、软件工程、人工智能、网络技术、移动技术、云计算等主流IT技术,旨在为用户提供一套完整、开放的企业级GIS解决方案。无论是在桌面端、服务器端、浏览器端、移动端乃至云端,ArcGIS10都有与之对应的产品组件,并且可由用户自由定制,以满足不同层次的应用需求。 经过数十年的发展,GIS系统在考古信息管理和分析方面得到了长足的发展,在遗产保护领域也得到了一定应用。本文主要结合实例阐述ArcGIS10三维模拟技术在构建遗产地三维地形中的应用。 一、CAD格式数据规整及元素提取 空间数据是GIS软件制图、分析的基础,GIS对空间数据的要求极高,空间数据来源、采集手段、生成工艺、数据质量都直接影响到GIS应用的潜力、成本和效率。一般项目中获得的地形图数据为CAD格式数据(.dwg或.dxf),其他格式数据最后一般也转化为CAD格式数据。因此,这里仅介绍以CAD格式数据为数据源的数据格式转换。 在ArcGIS中实现三维模拟功能,对CAD格式数据的基本要求是: ①数据分层。即依据需要将不同类别的地物要素放入不同的图层,以便于操作。例如分为地形层、道路层、水系层、用地层等。 ②拓扑关系正确。CAD地图中的线条应为多段线,连续线段最好使用一条多段线(例如河岸线、道路线等),且多段线的拓扑关系正确,不存在悬挂节点、伪节点、碎屑多边形、不正规多边形等。如果图形较为混乱,可在ArcGIS中先进行拓扑验证和修复,ArcGIS10可以直接添加CAD格式数据,并能与CAD图形同步联动修改。 ③多段线中含有高程属性,尤其是等高线,必须含有高程属性。如果是二维多段线,一般存放在“标高”属性,如果是三维多段线,一般存放在“起点Z坐标”、“端点Z坐标”或“顶点Z坐标”(图一)。 图一 地形CAD图及其几何特性 如果未能达到上述要求,则需先对CAD图形进行规整处理,另外还可通过CASS或其他软件对不同类别的地物分别赋予相应的编码,更方便今后的统一操作与分析。 上述操作完成后,先在AutoCAD下关闭除地形层外的其他所有图层,然后用“wblock”命令导出地形图层。注意“插入单位”要与原CAD图形一致,否则会在ArcGIS下出现坐标系错误。随后使用此方法依次导出其他地物图层。 二、CAD格式数据转化为ArcGIS要素 如前所述,ArcGIS能够直接添加CAD格式数据,但在某些分析操作上容易出现错误,因此最好还是转换成ArcGIS要素,即点、线、面要素。启动ArcMap,打开Arctoolbox→转换工具→转出至地理数据库→CAD至地理数据库。随后按弹出窗口设置添加CAD数据,并转换到特定地理数据库中即可(图二)。转换成功后,会直接在ArcGIS“内容列表”中形成图层或图层组,并将图案添加到模型中。 图二 CAD要素转换窗口 根据CAD图案的几何类型,ArcGIS会在要素数据集中自动生成点、线、面、体等不同要素类,要素类中则包含着不同的要素。这时可以根据需要移除或删除不需要的要素类。如本例中,等高线转换成ArcGIS数据后,会形成线(Polyline)、多边形(Polygon)和多面体(MultiPatch)三种要素类,可将后两者删除(图三)。CAD数据转换为ArcGIS要素类后,会产生大量的数据冗余,如图层名称、图层开关、线型、线宽等均存储于属性表中,可以使用ArcToolbox中的“删除字段”工具对多余字段进行批量删除。 图三 CAD数据转换后的ArcGIS图形 三、创建三维地表面 ArcGIS地表面主要有TIN模型(不规则三角网)、地形模型(Terrain表面)和栅格模型(规则空间格网)三种形式,三者之间可以相互转换,以满足不同需要。本文仅介绍TIN地表面的创建。 先在自定义窗口中勾选3D Analyst模块,然后打开ArcToolbox→3D Analyst工具→数据管理→TIN→创建TIN(不同版本的ArcGIS软件工具位置略有不同),随后按弹出窗口设置输出TIN数据集的名称和位置,以及需要转换的要素类(图四)。在弹出窗口中,“Input Features”字段中指生成三维表面的所依据的要素类,这里选择等高线图层的线要素类(Polyline)。如有高程点,还可选择高程点同时作为输入要素类。“高度字段”指生成三维表面所依据的数据源,这里需要选择等高线或高程点的高程数据。ArcGIS中,要素的几何属性和非几何属性都存储于属性表中,可通过属性表查看高程数据存储在哪个字段,一般由CAD数据转换而来的要素,高程数据存储在Elevation字段中(图五)。“SF Type”是指表面要素类型,即要素生成TIN表面后的样式,点、线、面各有不同的表面要素类型,包括离散多点(Mass_point)、硬断线(Hard_line)、软断线(Soft_line)、硬擦除(Hard_Erase)、软擦除(Soft_Erase)、硬替换(Hard_Repalce)、软替换(Soft_Replace)等,其中前三者在生成TIN中使用较多。“离散多点”用于点要素,生成TIN后,它们按照相同的位置和高程被保存成结点,CAD地形图中,地物较多的区域通常等高线被打断,只剩下高程点,因此“离散多点”也较常用。硬断线、软断线主要用于线要素(如等高线),表示坡度变化的急剧或平缓。 图四 TIN创建窗口 图五 属性表中的高程值 各项要素设置完成后,点击确定即可生成TIN表面(图六)。此时,可对TIN模型和其他各要素进行符号化操作,制作出平面地形图或专题图,还能通过渲染增加阴影效果,使三维场景更具真实性。TIN表面支持三维分析,可打开3D Analyst工具条进行相关操作,也可直接打开ArcSence查看TIN三维效果。如果需要对生成的TIN进行局部修改,可以通过ArcMap中的TIN编辑工具条进行修改。若最后生成的TIN不够平滑,可以通过ArcToolbox中的“TIN转栅格”工具将TIN数据转换为DEM,软断线地表面将变得比较平滑(图七)。 图六 生成的TIN模型 图七 TIN数据与栅格数据表面对比 四、要素、栅格图形与地表面贴合与拉伸 启动ArcScene,新建Scene文档(.sxd),加载上步生成的地表面模型和各个要素类。一般地形图中,各地物要素类均不带高程,为表现其起伏状况,需要将其贴合在地表面上。具体操作方式为,右键打开各要素类的“图层属性”对话框→“基本高度”选项卡,勾选“在自定义表面上浮动”,并选中已生成的地表面,则该要素将基于该地表面进行显示(图八~图九)。若要素自身带有高程数据,可选择“从要素获取高程”。若要素无需贴合地表面(如标记点),在“图层偏移”中添加偏移单位,则要素将在图形中悬浮显示。 图八 “基本高度”选项卡设置 图九 地物要素贴合前和贴合后对比 对于房屋等自身具有一定高度的要素,可以通过要素拉伸来表现其立体效果,“拉伸”是一种基于二维要素创建三维符号系统的简单方法。右键打开“房屋”面图层的“图层属性”窗口,选择“拉伸”选项卡,勾选“拉伸图层中的要素”,然后在“填充拉伸值或表达式”栏中填写拉伸值或计算表达式。拉伸值或表达式的选择是基于该图层属性中的房屋高度数据来填写的,本例中,属性表中已有楼层数据,假设层高为3米,则可构建“楼层×3”的表达式,作为每栋房子的拉伸值(图十)。“拉伸方式”是根据不同要素在Z方向上的不同表现形式选择不同的部位进行拉伸,例如梯田的层叠状分布,采用“将其添加到各要素的最大高度”,能够获得比较逼真的表现效果(图十一)。拉伸方法也可用于拉伸墙体,还能结合其他统计数据(如人口、年龄等)形成更为形象的统计标识。 图十 “拉伸”选项卡设置 图十一 不同拉伸方式效果 在此基础上,通过各种途径获得的栅格图形,如航拍图、卫星图、遥感图等,在进行地理配准后,也可使用这种方法将其贴合在地表面上,使地表景观和相关数据表现更加直观(图十二)。 图十二 贴图表面与未贴图表面对比 五、小 结 三维模型与二维图纸相比,具有直观、形象的特点,包含信息量大,能让使用者快速获取地形地貌特征和各地物要素之间的位置关系,对于地形地貌复杂、起伏变化较大的地区尤其具有优势。ArcGIS三维模拟技术能够通过交互式操作较快捷地构建出遗产地的地形地貌和地物特征,操作简单,构建效果较好,在此基础上,可以通过ArcGIS自带的工具箱(ArcToolbox)进行多种多样的空间数据分析,还能结合Sketchup、3Dmax等软件,构建更为精细的三维模型,应用前景广泛。但ArcGIS对空间数据质量要求很高,现有条件下,前期数据规整工作往往占据了建模过程的大部分时间,今后仍有必要加强对原始数据和元数据的规范与管理。 (责任编辑:admin) |