首页|行业资讯|企业名录|周边产品|数字城市|增强现实|工业仿真|解决方案|虚拟医疗|行业仿真|图形处理|军事战场
资讯首页
行业资讯 >> 学习教程>>正文
基于ArcGIS创建三维虚拟城市流程
2015年12月20日    评论:    分享:

    来源:Esri中国信息技术有限公司

    一、 ArcGIS 结合 SketchUp 建模

    1. 流程概括

    (1)使用 ArcGIS 桌面,即 ArcMap,加载矢量数据;

    (2)在 ArcMap 环境中,利用 SketchUp 插件工具,将所需要建模的区域导入 SketchUp 中。

    (3)在 SketchUp 创建模型。

    (4)在 SketchUp 中将模型转成 ArcGIS 的 Multipatch 模型要素文件并保存于 Personal GeoDatabase(后面统称为 PGDB)中。



    2. 软件环境



    软件安装及配置步骤如下:

    (1)安装 ArcGIS Desktop 软件,如 ArcInfo。(过程略)

    (2)安装草图大师 Goolge SketchUp 软件。(过程略)

    (3)安装 SketchUp6 ESRI 插件,过程如下,

    双击“SketchUp6ESRI.exe”,开始安装,



    接受协议,点击“Next”,



    第一个组件“GIS Plugin”,使用户能够在 SketchUp 中将模型以Multipatch 要素的形式导入 GDB。



    第二个组件“3D Analyst SketchUp 3D Symbol Support”,用户可以在ArcMap 中将 GIS 数据导入 SketchUp 中。



    上述两个组件的安装位置尽量不要改变,可能会导致在 SketchUp中导出 3D 模型失败。

    执行组件安装,





    (4)在 ArcGIS 环境中激活 SketchUp6 ESRI 插件,过程如下,启动 ArcMap 界面,在工具栏上右键,单击“Customize”,



    点击“Add from file”,加载 SketchUp 插件安装后,为 ArcGIS 产品添加的动态库文件“FeaturesToSkp.dll”,该动态库的位置在 ArcGIS安装目录下,



    添加插件动态库后,在 Toolbars 项中可以找到 SketchUp6 的功能项,



    选中“SketchUp 6 Tools”组件以后,在桌面上会弹出组件的功能按钮



    二、 具体步骤

    安装完“SketchUp6ESRI”插件以后,我们来开始实际的建模过程。

    在利用 ArcGIS 结合 SketchUp 建模的过程,根据原始 ArcGIS 数据质量的不同,我们的整个建模过程中的每一环细节上也有所变化。将原始 ArcGIS 数据分为如下三类:

    ■ 有属性的矢量数据:属性中包含建筑物的高度值、高程值等参数。

    ■ 无属性的矢量数据:属性中不包括对建筑物的关键性描述。

    ■ 影像数据:基本能够反映出地表建筑物轮廓。

    根据原始 ArcGIS 数据不同,实际的操作步骤也会有所调整,如下将分类介绍。

    1. 矢量数据建模

    数据简要说明:数据使用 ESRI 官方授权的美国首府华盛顿市区建筑物二维轮廓矢量数据;该 FeatureClass 的名称为 jmd;要素类型为 Polygon;

    (1)在 ArcMap 中加载矢量数据,如下图,



    (2)单击“Select Features”,在当前图上选择需要建模的矢量数据,



    (3)点击之前添加的 SketchUp 插件“Export selected items to SketchUp 6”按钮,将弹出数据导出选项对话框,如下图,



    系统将自动读出所选择矢量要素所在的 FeatureClass,并且提供自动建模选项。

    ■ Elevate by field:依据属性字段,设置建筑物高程。

    ■ Extrude by field:依据属性字段,设置建筑物高度。

    ■ Name Group using:为导出数据,选择分组名称。

    ■ Launch SketchUp on completion:操作结束后,模型自动在SketchUp 运行程序中打开。

    ■ Filename:指定导出模型文件的路径和名称。

    单击确定,导出结束,弹出成功导出的提示对话框,如下图,



    导出时候,原始的空间参考将被带入到 SketchUp 环境中。

    同时,关联到 SketchUp 建模工具,将导出模型自动加载到建空间内,如下图,



    (4)在 SketchUp 中添加适当的纹理,如下图,



    需要特别注意的是,在 SketchUp 中贴纹理的标准单元是模型个体。

    (5)在 SketchUp 中选择模型,并导出生成 Multipatch。

    该步骤需要用户谨慎对待,只有在 SketchUp 操作空间中被选中的模型,才能以独立 Multipatch 要素导出。未被选中的模型也会被导出成 Multipatch 要素导出,但是将作为一个整体要素存在于 Multipatch图层中。

    同时,SketchUp 中支持模型组合功能,一旦模型被组合后,将丢失对应矢量数据源的 ID 值信息,这样就无法在后期添加原始矢量数据的属性信息。该问题后面会介绍。

    选择需要导出的模型,点击“文件——导出——3D 模型”,如下图,



    在指定导出模型的保存路径时,需选择的文件类型为“ESRI MultiPatch(*.mdb)”,

    单击导出后,系统将弹出导出高级选项,如下图,



    单击导出后,系统将弹出导出高级选项,如下图, 



    该对话框中主要有三个重要选项,介绍如下,

    “Store SketchUp Data in Feature”:将 SketchUp 模型,对应的存储于 Multipatch 模型要素中。

    “Use Selected Items Only”:仅导出及转换被选中的模型。

    “Create”:创建 PGDB(.mdb)。

    单击“Create”,系统将弹出提示对话框,提示用户创建 Multipatch图层(Feature Class),此时,我们可以看到,原始数据的空间参考确实带入到了 SketchUp 环境中,并且在整个过程中将一直延续该空间参考。



    如果需要增加额外字段,可单击“Add Field”,



    基本的字段类型,均可以在“Type”下拉菜单中找到(该插架对Type 下拉菜单中的 Geometry 和 Raster 两种字段类型支持不好,一旦选择,系统将会报错)。本例中,新建三个字段,如下图,



    单击“OK”后,字段添加完毕,返回到导出模型的初始窗口,



    再次点击“OK”,导出完成,



    (6)Multipatch 说明

    上面操作,已经将SketchUp模型导入GDB中,并生成了Multipatch模型图层,如下图,



    在 ArcCatalog 中可直接浏览 Multipatch 要素,通过图层的属性查看,可以知道,在创建 Multipatch 模型时,SketchUp 插件自动为数据创建了几个关键字段,如下图所示,



    上述字段说明如下,

    “OIDField”:系统自动分配的唯一 ID。

    “SUSourceFeatureID”:原始数据的 ObjectID 值。

    “SUInstanceName”:在 SketchUp 环境中的图层名称。

    “SketchUpData”:SketchUp 模型的二进制形式存储字段。

    “a/b/c”:自定义字段。



    上图红色外边框的数据为 Multipatch 数据,下层为原始矢量图层,首先,需要建立这两个数据的关联性,在目标层 Multipatch 层上右击后依次选择“Joins and Relates——Join”,弹出如下窗口,



    上图中,“2”项为属性图层,“1”和“3”项中选择属性值能够匹配的关联字段。点击“OK”后,查看关联结果如下,



    这一操作的目的在于通过两个图层的公共字段,为目标层关联属性表,但值得注意的是,这个属性的关联仅仅是关系上的链接,并没有对实际数据作出改动。

    此时,需要在 Multipatch 图层上右击,选择“Data——Export Data”,将模型重新输出一次即可,如下图,



    “OK”后 Multipatch 模型要素图层就创建完毕了。我们可以检验一下,Multipatch 模型的几个显示效果。


ArcCatalog 的 3D View 预览


ArcScene 展示


ArcGlobe 展示


ArcGIS Explorer 展示

    (8)补充 ArcGIS9.3 桌面环境下建模过程

    SketchUp6ESRI 插架是针对 ArcGIS9.2 定制的。目前广大用户的ArcGIS 版本几乎都是 ArcGIS9.3 或更高级版本。该插件与 ArcGIS9.3 软件的兼容性和数据的兼容性成为用户关注的焦点。

    下面将介绍,该插件在 ArcGIS9.2 与 9.3 这两个版本中使用的不同。

    ■ ArcGIS9.3 桌面创建的 PGDB 无法被 ArcGIS9.2 桌面支持。因此,在 SketchUp6ESRI 插架在创建无法正常创建 PGDB。首先,需要通过 ArcCatalog 手工创建一个 PGDB,同时新建一个 Multipatch 的 Feature Class,如下图,


新建一个 MultiPatch 图层

    ■ 字段设置:在新建 MultiPatch 图层后,需要设置该图层的必要字段,需要添加的字段如下图所示,



    特别说明:如果原始数据中的属性需要加载到创建的的模型中去,SUSourceFeatureID 字段的建立非常有必要。

    ■ 纹理添加,要精确到面。

    在 SketchUp 中为模型添加纹理时,需要选中建筑物的面,逐一添加,否则在导出 Multipatch 数据使,纹理将不被继承。

    ■ 空间参考

    ArcGIS9.3 环境下,通过 SketchUp 插件导出的 Multipatch 图层没有空间参考,需要手工添加空间参考(建议选择数据源空间参考)。否则,将无法加载到 ArcGlobe 的三维场景中。

    2. 借助影像数据建模

    在 ArcGIS 环境下,从影像中提取矢量信息,再根据矢量信息模的方式处理。

标签:ArcGIS
上一篇:科幻小说里的VR,近在眼前了?
下一篇:地震现场救援虚拟仿真想定编辑器的研究与实现
网友评论:基于ArcGIS创建三维虚拟城市流程
评论
留名: 验证码:
您可能还需要关注一下内容:
·基于ArcGIS创建三维虚拟城市流程
·三维虚拟地球的海洋信息适用性分析及原型研究
·组件式 GIS 技术在军事仿真系统中的应用
·海岛礁及周边复杂环境动态三维建模
·基于虚拟环境的黄河仿真系统构建
·超大规模分布式虚拟现实系统
·用 GIS与虚拟现实技术模拟火灾过程
·地理信息科学研究进展
·论虚拟地理实验思想与方法
·论天地一体化对地观测网与新地理信息时代
☏ 推荐产品

Ladybug5全景
商家:力方国际

ProJet®
商家:力方国际

ProJet®
商家:视科创新

Premium1.5
商家:视科创新

巴可HDX主动立体投
商家:德浩科视

巴可HDF-W26投
商家:德浩科视

巴可30000流明2
商家:德浩科视

巴可4万流明2K投影
商家:德浩科视
☞ 外设导航
☏ 企业名录
【广州】中科院广州电子技术有限公司
【北京】第二空间(北京)科技有限公司
【北京】幻维世界(北京)网络科技有限公司
【厦门】厦门惠拓动漫科技有限公司
【厦门】厦门幻眼信息科技有限公司
【深圳】深圳南方百捷文化传播有限公司
【北京】北京思源科安信息技术有限公司
【上海】上海殊未信息科技有限公司
【北京】北京赢康科技开发有限公司
【武汉】武汉科码软件有限公司
友情链接 关于本站 咨询策划 行业推广 广告服务 免责声明 网站建设 联系我们 融资计划
北京第三维度科技有限公司 版权所有 京ICP备09001338
2008-2016 Beijing The third dimension Inc. All Rights Reserved.
Tel:010-57255801 Mob:13371637112(24小时)
Email:d3dweb@163.com  QQ:496466882
扫一扫 第三维度
官方微信号