呵呵,因为工作上面的原因,开始学习ArcGIS软件,刚好学习了一个月的时间,因为以前只会用国产的GIS软件(只是其中一种),称为S吧,别的国产软件也没有用过,而且本人主要是负责Web方面的,所以,对很多东西都不是很了解,里面难免有很多说的不正确的地方,欢迎大家一块讨论。
1。关于数据的编辑,S的编辑太过简单了,直接就可以编辑数据,而没有任何版本的问题,我曾经遇到一个用户,他想随便编辑几下,之后可能觉得不太合适,就退回去,如果觉得合适就保存,在S中,需要通过创建一个用户锁定才可以,不知道可不可以多个用户同时编辑,最后通过某种规则解决冲突的问题。而ArcGIS中,每个人的编辑都会是类似CVS、SubVersion类似的管理,每个用户都是可以编辑数据的。在常事务管理中,S采用的是悲观的锁定,通过锁定某个区域,某个记录集来实现的(用Objects测试好像不管用),ArcGIS则采用的乐观的锁定(versioning)来实现的,感觉S是不是也可以考虑这种情况。
2。关于B/S上面的编辑,这里觉得S里面的WebGIS实现,仅仅是一个噱头而已,并没有考虑用户多并发的情况,可能在精准编辑上面,S将来会有做一些吧,但是ArcGIS因为编辑的工作本来就是通过版本来实现的,所以在B/S上面的编辑,个人觉得要强的比较多,但是ArcGISServer的编辑功能是在高级版本中的,成本比较大。
3。ModelBuilder VS D-Builder,D-Builder这个产品,已经有很多年的历史了,只是发展的比较慢吧,而且D-Builder里面,可能是用的比较少,个人觉得只能解决一些简单的问题,例如数据入库、投影转换等,但是如果我有中间数据的情况,好像就不知道如何处理了!譬如,我把CAD数据经过提取成GIS数据,然后再和栅格数据一起分析,把这个结果再和某些其它的处理结果放在一起做空间分析,最后将分析结果输出成特定格式、特定投影的数据,D-Builder可能就不可以实现了,然而,ModelBuilder还可以做的更加复杂。
4。关于科学数据的存储,最近接触一个项目中才了解到的ArcGIS中netCDF的存储方式,可以非常方便的存储科学数据,根据时间维度来存放空间数据,如果用SO来实现,估计要费些脑筋,还有就是S不能直接浏览栅格数据,必须要创建一个数据源,之后把栅格数据倒入进来,虽然采用了某些压缩的算法,但是还是带来了数据存储的冗余。
5。关于学习成本,S中的c/s部分和b/s部分的接口差距非常大,因为本来就是重新封装的,带来学习成本的增加,而ArcGIS Server和Engine的接口比较类似吧,因为自己还没有开发过,所以说的不是很有把握,但是文档是这么说的,呵呵。
6。ArcGIS Server超级强大,不仅仅可以提供地图服务,还可以提供很多很多中服务,甚至可以将一个数据处理的流程作为一个服务发布出来。这个S的B/s产品好像很困难实现,当然了,你通过将本地的SO对象用.NET的WebService包装一下,提供一个服务理论上面也是可行的,呵呵。
其它的分析功能、3维的展现方面,就不说了,差距确实比较大。但是,S里面B/S产品的Ajax部分绝对是可圈可点的!在这里对国产软件贡献的朋友致以最高程度的崇敬,当然了,出图性能不行,肯定也不能有那么好的效果,所以SO部分的朋友,更加崇敬。
综上所述,国产软件以S为例,感觉和ArcGIS为代表的国外软件还有比较大的差距,以上几点仅仅是非常微小的部分,所以,希望能看到这篇文章的朋友可以有点收获,当然对于那些盲目自大的国产软件产品的个别销售人员也有一定的警示作用,对于国产软件的开发朋友,也希望能有点小小的激励,希望痛定思痛,做出来更加出色的软件来!
浙公网安备 33010602011771号