最近一直在研究gis方法的技术,研究最多的就是smallworld,对于smallworld的研究了1个月 有点心得就发上来给大家分享一下。
刚进来这个领域的时候知道 arcgis用的是比较多的,但我发现公司所对应的企业以及政府用的大多都是smallworld,而且公司的人说smallworld在处理网络拓扑,点线之类的是非常优秀的 是no.1,下面大致说下smallworld的特点吧,对于刚刚学习一个月的了解的比较皮毛,还希望和大家共同学习。
magik 是smallworld提供的在他自己的平台基础上开发的一个解释性语言,效率非常差,对于set的循环200000数据要2秒,我用java做了测试 1000000的set要循环只要 50毫秒。。
不过magik的语言功能是比较强大的,smallworld只公开magik接口 他底层的C接口是根本没有开放的,而且如果把smallworld作为底层数据库来存储的话 对client进行提供服务的时候要慎重的考虑他的tics性能以及magik对几何字段处理的性能,对于magik,他提供一种标准话的tics服务用于对于非magik客户端进行通信传输。
smallwolrd有自己的面向对象的数据库,感觉很牛啊 80年代就自己开发了自己的面向对象的数据库啊。
上面说的好像都是没有用的啊哈哈。。。。
我用magik写了一个类似java的logger 非常简单就是能显示时间错误信息到文件呵呵。。。
然后又写了一个类似smallworld提供的sias的service provider
我把这压缩文件放到附件里面了有兴趣的朋友可以看看,
顺便说下 magik有eclipse的插件 mdt 但感觉用于写代码可以但测试运行我建议还是用emacs 用习惯了,感觉听好的