三赢律说:有态度,有能力,有温度;赢诉讼,赢口碑,赢未来。共同关注青年律师成长!

ABOUT ARCVIEW & ARCINFO经验交流

大学本科时代的纪念

 二维码 8
作者:张明湖 三赢律说来源:原创

   

ABOUT ARCVIEW & ARCINFO

--01GIS Zhang MingHu

*写在前面:本文主要小结了本人使用ARCVIEW & ARCINFO开发《广州大学数字校园》中的一些心得,希望对同学们有所帮助。

      作品《广州大学数字校园》,主要由:1)平面查询子系统,2)三维虚拟现实展示子系统,3)信息管理子系统(未完成)三部分组成。以下将会重点就用ARCVIEW & ARCINFO进行三维建模、ARCINFO进行数字化等方面的一些技巧和大家分享,其他方面在这里我就不再展开了。     

    整个课件从信息采集(档案资料收集,数码摄影及图片预处理等)、计划拟订,ArcInfo前期平面图形处理,ArcView中期平面及3D视图效果处理,以及后期的Flash动画处理,历时近两个月,总计耗时将近400小时,作品总的文件大小达到了120MBit,其中光是AcInfo矢量图形文件就已将近20Mbit,如此庞大的工程如何才能达到预期的效果呢?由于当时接触ArcInfoArcView这两个软件时间不长,加上ArcView3D只不过是其中一个功能并不强大的扩展模块,中间也着实吃了不少苦头,通过自己的不断摸索,其中也发现了不少小窍门:首先就是刚开始时一定要先制订一个大纲,   可能多的估算可能遇到的困难,然后按步骤按计划地实施;再者要注意ArcInfoArcView两个软件的结合使用,最大的问题就是ArcInfo在视图方面不尽完善,ArcView在矢量数据的处理上也不够严密而在视图方面更突出,因此最佳的做法就是先在ArcInfo做平面图形处理、赋值,然后回到ArcView做视图效果处理,这中间三维想象力就显得尤为重要;在ArcInfo中还得注意分拆图层时特别要注意公用边界的问题。

    为了减少工作量,Copy命令是一个重要的手段,但是在使用中也许会出现很多意想不到的小问题,如把图形复制移动到指定位置后会出现莫名其妙的变形,在执行Put to cover命令的时候有时也会出现类似的情况,尤其当构图比较复杂,线段分段和接点较多时都比较容易出现类似错误,一般表现为自动构建成一些小三角形,扭曲变形等,当线段距离过近时还会出现线段的重合,线段过短时出现线段缺失等情况……总结其规律,最好的解决方法是:1)在画线时尽量避免不必要的相交线,以减少对线段的分割(在删除多余线段时用到Inter命令就会出现线段分割,如有必要,可以先复制然后依次选定执行Inter命令再作删除);2)如果是比较细小的结构,除了要尽量减少接点还要注意线与线的距离不能太小……另外,在把线图层1的单元Put to cover到面的图层2中,也要注意,在打开2图层时最好先选Arc方式打开,检查错误后在转回Playground方式保存再编辑(否则有可能无法选定新加的单元)。还有在刻画一些细部结构的时候,由于ArcInfo的纠错功能,常会使一些线头会莫名其妙的相交,比如在画台阶时就很容易出现几级台阶两端的线头接成一个楔形,在画走廊栏杆时也会出现类似情况,明明是在柱边画的垂直线,画线结束以后就是会和另一个边线相接成小三角形。对于类似情况,建议可以采用多边形构图(就是在画线时要把线的首尾相连),然后用Inter命令求相交,再删除多余线段以上这些,都只不过是在使用ArcInfo画图中的一些比较简单的小技巧,所谓实践出真知,很多东西都只能够靠自己去摸索、去发现。

    另外,系统化的思维和处理模式也许可以让你的工作事半功倍。那就是说在处理的时候我们不要光是盯着一个局部,而要先从大局着眼,这就像画画一样,我们是先把事物的主要轮廓特征画出来,再进行局部的勾画,然后是全局和局部的刻画,最后是……总之,我们只有时时有全局,做出来东西才能有一个好的整体效果。由于我把主要的建筑物都分割成了很多的小板块(最多一个图层多达近1200个小平面,光是一个标志性建筑物就分成了300多个小平面),整个课件又被分成20多个图层,怎样才能使图层之间比较好的组合在一块呢?为了解决这个问题,我在每个小板块上都加了两个属性字段HighHinghts,分别赋予高度值和一个提升高度值,后者在中期的ArcView处理中有着十分重要的意义。因为在3D展示方面,ArcView只是提供了对其最简单模式的支持:对于赋予一定高度值的物体令其在Base(TIN)面上垂直升高,而我在增加了Hinghts字段后还可以控制让其悬浮一定的高度,虽然这样的功能在3D制作方面真的简单的有些可怜,但我还是很快就找到了解决的方法。那就是把主要建筑物拆分成在TIN层表面的一个基础层和多个不同的附加层,这里也有一些小技巧得讲究,我基本上是按照附加部分对于整体效果的重要程度不同分成几个图层,主要有建筑物主体、阳台层,附属装饰物层……为了方便编辑,我把玻璃单独分放在9个图层中(编号19,分别是19层的玻璃),做的时候就选择了先做第三层,先赋值在Copy到其他图层,然后根据各层的情况做些修改。其实整个课件,最麻烦的还是赋值,Hinghts字段的使用更加大了其复杂性,为此,我在赋值之前就先推算出了一系列的计算公式,然后通过一系列的计算得到各个板块的Hinghts字段值,再统一输入,然后回到ArcView检查3D效果,再做局部的调整。所以过程虽然复杂,但总的来说,倒没有走太多的弯路。

由于ArcView没有像3Dmax软件那样强大的材质粘贴编辑功能,所以颜色的搭配对于整个课件的整体效果就有着相当重要的意义了。可是,对于如此复杂的构图,用什么方法能够更加有效呢?我在信息收集阶段的时候就为后面这一步做好了准备——记下了各个主要建筑物的主体颜色并给以一系列的编号,编制了一个调色板,如用R1,R2,R3分别表示浅红,中红和深红,用Y1,Y2…表示浅黄,中黄……然后在各个图层的每个单元后面增加一个Colourkind 字段,参照调色板上的记录给予赋值(要注意各层的值要一致),最后回到ArcView里面细心调试好一个主要图层后,以此为准在调色板上记录以后,其他图层我们就可以不用再看是哪个单元,只要按调色板红黄蓝数值输入就可以了。当然,到了这一步,剩下的已经不再是一个技术的问题而是艺术的较量了,我在最后整理调色这一步也花了五六个小时,好在还是中学时期积累的美术基础帮了我大忙,但是由于ArcView功能所限,没有能够调出材质的效果,多少还是有些遗憾……

还有一个做法是逼出来的,那就是平面查询部分有几个最庞大的图层我不得不几近重做。因为3D部分是我重点做的,为了保证3D的效果,我把大部分图层都弄得支离破碎了,最重要的一个建筑物层就分成了将近1200块,做连接怎样做得来?所以我选择了把其另存以后再删除那些过于细小的板块,起工作量一点也不亚于重做。为了确保另存图层以后不会出现意外的变形,也有一个小技巧:先把一些单元用Put to cover命令Copy到一个新建图层new,然后把建筑物图层文件夹Copy到另一文件夹orther,改为和新建图层同名(new)再移回原文件夹,系统提示是否替代,选,最后回到ArcInfo再打开新建图层即可。在ArcView中,还有一个比较麻烦的问题就是它的每个工程文件保存的信息里面有一个很重要的部分是各文件的路径,每次打开时都会自动检查文件名和路径是否正确,该路径错误就会使得那部分图层不能正常打开。这就是说我们把她从这个机器移植到另一台机器时,必须把文件放到同一个盘符里的同一个路径下面,有时就会造成一些不必要的麻烦。所以我在做ArcView课件时,都会放到虚拟M盘上面去做(建立虚拟M盘过程如下:任意在一个盘符下新建一个文件夹,如d:\hero,然后在桌面上单击右键,选择新建快捷方式,输入“subst.exem: d:\hero”,其他默认,也可以在cmd里面建),因为虚拟M盘可一建立在任何一个路径下,你把文件移植到其他机器,只要建一个快捷方式就解决了,而不用担心会否弄乱别人的文件,也能确饱路径严格一致(在做图片连接时也方便)。

最后要说的一句就是做这样的大制作,过程中一定要注意建立多个备份,最好就是按进度备份,这样在发现问题的时候还可以找到相关的历史记录,可以便于恢复,到完成后再整理文件,而且文件夹的管理也要注意分好类。

后期的Flash动画制作是我后来才想到要做的,3D效果部分好不容易弄完了,但我总觉得好像还是缺了点什么——哎?就是视频的展示啦,总比一幅幅单独的图片有看头吧?无奈本人Flash功力尚浅,倾尽全力也只能做到如此简单的效果——惟有自我安慰:此乃维纳斯之美罢了!