“电子地图”技术方案一技术路线CAD2004二维地形底图SKETCHUP7.0SKYLINEARCSCENCE9.3制作三维模型纹理:真实、虚拟分层:居民地,医院、办公楼,绿化,运动场,花园VRP,虚拟现实ArcMap矢量化查询网络发布3DMAX9.0灯光:摄像机:纹理(透明)二基础软件1、autoCAD2004软件AutoCAD2004是美国Autodesk公司03年开发通用计算机辅助绘图与设计的软件。具有易于掌握、使用方便、体系结构开放等特点,广泛应用于机械、建筑、电子、航天、造船、石油化工、土木工程、冶金、农业、气象、纺织、轻工业等领域。本方案主要用于:制作地形图草图2、SKETCHUP7.0SketchUp7是直接面向设计过程而开发的三维绘图软件,操作简单,功能强大。本书从实际应用的角度出发,图文并茂地介绍了SketchUp7在建筑装饰设计领域中的广泛应用。本方案主要用于:建立三维模型3、3dMAX9.03DStudioMax,常简称为3dsMax或MAX,是Autodesk公司开发的基于PC系统的三维动画渲染和制作软件。其前身是基于DOS操作系统的3DStudio系列软件,最新版本是2012。在WindowsNT出现以前,工业级的CG制作被SGI图形工作站所垄断。3DStudioMax+WindowsNT组合的出现一下子降低了CG制作的门槛,首选开始运用在电脑游戏中的动画制作,后更进一步开始参与影视片的特效制作,例如X战警II,最后的武士等。本方案主要用于:进行渲染4、PS8.0photoshop是Adobe公司旗下最为出名的图像处理软件之一。多数人对于PHOTOSHOP的了解仅限于“一个很好的图像编辑软件”,并不知道它的诸多应用方面,实际上,PHOTOSHOP的应用领域很广泛,在图像、图形、文字、视频、出版各方面都有涉及。本方案主要用于:拼接成图5、ARCGIS10ARCGIS10代表了ArcGIS最新最主要的所有产品,将于2010年夏季发布,目的就是为了帮助用户提高GIS工作效率。更快,更准的绘图性能,包括平滑,连续的数据平移更轻松地访问最常用的geoprocessing工具等等,本方案主要用于:矢量化、配准、查询三制作过程3.1、三维建模1、初始建模采用sketchup(这里主要用sketchup7.1版本),在软件中要对模型逐面进行合理的处理,最好使正面面向我们所要观察的一面,另外尽量将已经没用的辅助面或辅助线删除,以免出现重面重线的情况。图1白面为正面,灰面、蓝面为反面2、在建模时,对于同样的模型最好建立组件,进行统一命名,以便在将来进行修改,删除,添加方便操作。3、在sketchup中建好模之后,选中模型,文件——导出——3D模型,导出格式为3ds格式,注意设置好模型的单位,再导入导出时,单位要统一。(1)二者的单位应设置一致,分别在CAD中的选项设置单位为米,导入到sketchup中时在导入对话框中设置单位为米,选择面一致即可导入,最后在软件中设置单位。(2)建立模型时,参照CASS图形以及注记信息进行建模。先将线连接成面,遇到被打断的可根据实际情况进行修改,构不成面的可检查是否有交叉的线或点。(3)构建模型时,若分层可拉起一层后按ctrl键,然后再向上拉起所要的高度,在此次建模中对于一般建模可直接按每层3米的高度一次建模。(4)问题是在起初建模时没考虑到模型转换时的问题,直接将大片的建筑物、绿地、道路以及其它模型全部未分层,这导致了后来转换时出现的麻烦问题。解决方法:将各个独立的实体分别进行群组,然后导入到ArcGIS数据库中。经验:建模时分层建立,然后将每个实体直接进行群组,这样就避免了这种麻烦的事情。(5)贴图问题,本次试验是用的3dmax的素材库,其实Sktchup本身也有自己的模型库和材质库,可以考虑在接下来的具体项目中应用这些,也可以利用它本身的材质生成器做素材库。另外实际纹理应在PS中进行处理后使用,以保证其真实性。3.2、渲染出图4、导出的3ds文件将在3DMAX中导入,导入后原来的纹理会丢失,这时候需要重新吸纹理。其步骤为:首先选取模型,将模型右键点击转换为可编辑多边形,选取面操作,点选一个面图2选取面图3吸管工具按快捷键M打开材质球,选择吸管工具,移动到所选的面点击一下之后就会出现纹理图的图名称(如下图4中的-75),点击Diffuse右边的M弹出如图5所示的对话框图4吸取纹理图5找回纹理点击图5的Bitmap,会弹出一个对话框图6错误信息点击确定,找到图片文件所在文件,选取后打开(如图7)图7找回图片图8重新附图找回图片后,将图片重新赋给所选面即可。【配置用户路径】-【外部文件】5、将所有模型都找回纹理后,就可以添加灯光,摄影机,调整好角度和灯光参数后就可以进行渲染。图9灯光阴影设置要使渲染的图具有阴影效果,需要将修改面板中的LightType的On前面打对勾,并选择高级阴影追踪(AdyRayTraced)。要想得到一幅较好的渲染图,需要进行反复的调试和参数修改。6、由于整个图区分成了几块,并且分开渲染,最后需要将所有分开渲染的图进行配准整合,在这个过程中可以将图区的CAD底图作为参考进行配准,拥有不错的效果。3.3.2.5维数据查询7、打开Arcmap,加载jpg格式的2.5维图、shp图(由CAD底图转化而来)、新的图层(用来做矢量化的图层);图10新建图层新建图层在ArcCatalog中建立,选择你要建立的文件路径。按照图示方法打开新建图层对话框,输入新图层的名称以及图层形式(点、线或面),点击OK就可以建立新图层。图11加载数据8、将2.5维图与shp图进行配准,配准后关闭shp图,打开新建图层,参考配准后的2.5维图进行矢量化;图12配准图13配准两点后图14矢量工具图15矢量化9、为矢量化的图添加属性,并且当鼠标移到目标区域可以显示相关信息。图16打开属性面板图17添加属性图18显示属性图19显示名称以上是在ArcGIS9.3中的展示,在ArcGIS9.3中只能显示一个属性,如果需要显示多个属性,则可以在ArcGIS10.0中文版中进行相应的编辑。3.4三维电子沙盘10、所需环境:sketchup+ArcGIS(主要是Arcscene)+Photoshop11、根据外业测量的CAD图形,对其进行清理分区。必须删除重复实体、清理未使用的图层(命令purge)、删除带有高程的线段、绘制断开的闭合体,以便导入到后期软件时方便建模。12、将CAD图形导入到ArcGIS中建立shp格式文件。Toolbox—conversiontools—togeodatabase—importfromCAD然后再将其geodatabase中的area要素转换成shpe文件定坐标Toolbox—conversiontools—toshapefile—featuresclasstoshapefile即可13、将shp图形导入Sktchup软件中进行建模。需要用到sktchupesri插件,具体安装略去。主要是进行坐标定位。然后直接建模贴图。14、数据转换,基于sketchup与ArcGIS软件进行数据交互。(1)首先在Arccatalog新建NewPersonalGeodatabase.mdb,在个人数据库中新建各个要素类别,坐标系选择部件坐标系。要素分类以及属性表制作。(2)将sketchup中做好的群组直接分类导入到新建的数据库中按类导入,这样就能解决导入时繁琐的工作量问题,大大提高了效率。转换时选中要转换导出的组件,然后导出到数据库中,此时不需要考虑贴图模型库大小的问题(前提是将没用到的材质模型进行清除),另外分层建模时就不用考虑最后还要把CAD转换过来的线条删除,当然在shapefile文件导出的也就不存在这个问题。(3)进行模型转换时曾想过将模型挨个导出,采取的方法是删除该实体周围的模型,此时出现的问题是材质库还是包含了所有的材质,导致数据量较大,导出时特别耗时还容易死机,浪费时间。解决办法:按照(2)步骤解决;可问题是ArcMAp转换到skp中时会丢失一些块,这部分就要利用CAD图形进行补绘,确定坐标信息会有些偏差。(4)、贴图缺失可能是软件兼容性,另外还有就是可能是材质模型与Arcscene建立的模型没在一个目录下导致的,可通过实验进行验证15、部件数据,部件数据的三维符号化,叠加到ArcScene中查看。16、属性具体分类表,与需求链接,按实际情况进行调查分析17、可行性分析,主要是数据量大,能否运行的问题。可通过二次开发进行实现。三维符号的制作如路灯、井盖都可以采取三维模型3.5、VRP制作18、在3dmax中进行人,树和花草的添加树的形式分为两种:①十字交叉:在3dmax中建立一个单面,然后透明贴图,按住shift进行复制旋转。这样就做好了一个组,然后把组在3dmax中进行插件打碎,记住,打碎后在复制,要不,导入3dmax时候你复制的得一个一个打碎,比较麻烦。②单面贴图(随着视角旋转):建好一个面,要实现随视角旋转功能,必须对其进行特殊的命名,形如bb-11**,bb-22**,然后进行透明纹理贴图,记得打碎后再复制。③同理,人和花草的添加也可以使用单面贴图来实现。19、汽车的添加为了让建立的模型更逼真,我们可以添加一些汽车的模型,这样,就更形象逼真,3dmax素材库中有汽车模型,我们可以直接通过merge命令,直接导入进来。20、动态红旗和喷泉的设置在3dmax中安装vrp后,我们会发现它附带有atx动画编辑器,我们使用一组连续的图片进行动画的合成,然后按照普通的贴图方式就可以完成动态图片的显示,只不过我们不能看到效果,只能在vrp生成的exe文件播放的时候显示,所以为了检验动态图片的效果,我们可以进行小试验来事前检验。这样,红旗和喷泉就完成了。21、对模型的打碎处理对模型完善以后,接下来我们对模型进行打碎处理:加载小脚本然后RunScript点击优化材质,然后点选所要打碎的模型,之后在优化材质下面会出现三个数字,当三个数字相同时,可以进行打碎操作。优化材质打碎模型将模型打碎后导入VRP中就可以显示出纹理。22、导入到vrp检查错误在对模型进行打碎之后,我们就可以导入到vrp中(前提是我们必须安装vrp到3dmax的路径当中)。,点斧子点击more,然后点击最后一项【vrplatform】,点击导出进行场景保存。然后调入vrp编辑器重新打开保存的场景。这样就完成了模型从3dmax到vrp的导入。接下来我们还必须在vrp中对模型进行检查,破面,纹理,悬浮(比如树飘在空中)等等。查出有问题的地方,这些问题我们需要在3dmax中进行修改。23Vrp使用帮助Vrp可以实现的功能小结:(共享版8.0对模型面数进行了限制50万以内)VRP可以实现的主要功能有:自主漫游、飞行动画、行走动画、动态图片atx、各种人或事物动画、设置天空盒(背景)、虚拟天气、虚拟阳光等;VRP中需要设置碰撞,避免漫游时发生穿透模型,超出模型的情况;在VRP中也可以对模型的纹理颜色进行适当的处理,不必在3Dmax中再次修改。第一步:开启碰撞。选择物理碰撞Ctrl+A,选择所有的模型,点击开启,成功开启碰撞后,我们的相机机器人在走动的时候碰到物体就会被挡住,不会出现穿越的现象。第二步,天空盒和太阳,点击天空盒,选择合适的天空背景,添加太阳,选择合适的角度,一般须注意的是天空盒的太阳需要与添加的太阳重合,这样就不会出现天空两个太阳。第三步,添加相机,漫游与行走都是创建相应的机器人相机来实现。动画相机的录制,在点击动画相机后,按F5,出现动画录制界面,按F11进行动画录制,录制完成后按F11结束,保存。动画按钮的设置,在ps中制作好按钮的图案,然后选择编辑界面最终实现的界面如下然后进行贴图和事件的创建开始界面的设置选择运行,项目设置,选择介绍图片如下图所示音乐的添加,菜单栏脚本,脚本编辑器,选择系统函数,新建,单击窗口函数插入语句,在下面的音乐中选择音乐的来源,保存。完成后,点击文件,生成exe文件,即