使用那种方案开发WebGIS(NetGIS)?(50分)

分析 wtang 描述的 空间数据引擎。

1.服务器端:把 GIS 数据库的内容写成 GML 问题不大,只要 GIS 制作者愿意就可以。

2.传输:XML 给 web 带来的最大好处是数据和显示格式的分离,而不是用来解决图形或
者多媒体数据网络传送的问题的。 目前得益于 XML 的是 html。XML 是 unicode
编码的,对 html 影响不大,但是把 GIS 数据转换成这种文本,增大1-2个数量级
的传送量,到了客户端还要重新解析 ...。这恐怕不是个好主意。

3.客户端:存在一个 GML 插件的问题,因为现在还没有。技术上讲,基于 XML 是没有
效率的,所以矢量地图插件的核心问题是矢量的压缩/动态综合以及递增传输,而不是
GML 的解析。具有这些技术的公司必定会使用自己的传送格式,一是专用格式效率高,
二是技术保密和数据保密的要求。估计很少可能性会用 GML 传数据。
商业上讲,做 GML 插件是吃力不讨好的。试想 Macromedia 为什么公布 Flash SWF 的
格式,以及 Flash Player 的源码?因为它的技术优势不在这些,而在Flash制作系统上,
SWF 和 Player 传播越广,人家越是依赖这些东西,对它的 Flash 就越是有利。
如果谁推出了新一代 Flash Player,把功能效率提高几倍,则自己没有多大的好处,
而 Macromedia 则乘机为 Flash 猛加功能,结果 Flash 卖得更好。

同理,如果一家公司全力研发 GML 插件,就是等于那些现有的 GIS 公司做嫁衣。因为
我们在第一点中就说了很容易把 GIS 数据库的内容写成 GML。

4.开放和标准 不等于 无私奉献,而绝对是霸占市场,限制对手的手段。
 
感谢孙老师。
谈谈我的看法。
目前业界似乎对Internet GIS的性能提升不抱大的热情,起码不象各位在此精细于图形
显示的速度与效果的艺术,而是极力推广诸如Location service solution等新概念,抢占新
市场,强行将Phone Location,PDA Map,WAP和GPS糅在一起灌输给客户,而忽略上层的应用。
这是GIS面对无线时代的一次变革,厂家希望能重新洗牌,但是如果没有一个实质的应用内
容,没有更贴近用户的服务,融入用户具体业务中,去解决具体问题,切实提高用户效率,
用户就会觉得“好倒是好,只是对我用处不大”,那么这一切可能成为过眼云烟。国内的
WAP风头过去,大家也清醒不少。

我个人看好Java前端的应用,希望能在Java前端良好地支持如GML等在内的Special representation
of GeoInfo。

<a href="http://sh.chinaquest.com/MAP2/IE_MAP.ASP?MapNo=2&amp;MapSymbolID=4328&amp;Label1=@774.738098%2C1919.774414%3A%BB%AA%B6%AB%CA%A6%B7%B6%B4%F3%D1%A7&amp;Address=@774.738098%2C1919.774414%3A%BB%AA%B6%AB%CA%A6%B7%B6%B4%F3%D1%A7&amp;LabelName=@774.738098%2C1919.774414%3A%BB%AA%B6%AB%CA%A6%B7%B6%B4%F3%D1%A7&amp;MapLineID=&amp;MapRectMinX=639.602963&amp;MapRectMaxX=909.873233&amp;MapRectMinY=1802.657297&amp;MapRectMaxY=2036.891531&amp;DrillDown=">华东师范大学</a>
 
说到前端,使用Python的效果要比Java要优秀。(http://www.python.org)
Python源码开放,解释执行,面向对象,“一次编译,到处运行”,相同功能的程序,Python最后生成的代码大大少于Java
相信您一旦接触了Python,必定爱不释手。
尽管当前Python还不像Java那样风行,相信不久的将来,Python之与Java就像Linux之与Windows
当前国内很少有网站讨论有关Python的,这里问一下孙老师:可否有意开一个讨论Python的分论坛?



 
去年,一个纽约的家伙就向我吹嘘了 Python,我还在这个论坛粒专门发了个贴子。
目前,Python 和 Java 是不能相比的,因为 Python 是语言而 Java 是已经是平台。
J2EE, J2SE, J2ME ...,能和 Java 叫板的也只有 MS 的 .NET 了。
 
前面有听孙老师说JAVA是一平台,
但是总不能理解,总是把它当成一种语言来看,
怎么也没办法把它提升到平台的高度来认识,
Java的东西太多了,我不知怎么理解它的方方面面,
对j2ee,j2se,j2me,是有听说 ,
但是不知它们的概念是什么,用来做什么的?
请高手介绍介绍啊
 
Java 是平台这句话的意思是:

1.Java VM 是操作系统中的操作系统。它有自己的进程调度、内存(heap)管理、对象载入
和垃圾回收等功能。远非一般P-code解释器可比。例如,MS 是做解释器的老泰斗了,但是它
的 vb 解释器也还做不了多线程和面向对象的很多特性,于是 .NET 正是一种承上启下的
产物,很多方面可以看出它吸收了 Java VM 的长处。

2.Java 的虚拟操作系统,因此Java就能扩展到上至Unix,下及手机、电视机、smart card
的几乎所有设备。C/C++是几乎所有设备的开发工具,但是不同设备的类库、编译器差别
太大了,代码几乎没有可以移植的可能了。而用Java开发者面对的是一致的语言、结构,
只需要做裁减或者扩充类库。
(看过美国打仗电影的人想必知道美国鬼子脖子上有个不锈钢牌子,上面是他的姓名和
身份标志,目前鬼子们正在增加一块小的 smart card,数字式存储鬼子的身份,用Java技术)

3.Java 语言虽然没有了多继承、静态和动态对象之分,以及操作符重载,但是基本上Java的
对象模式几乎就是现在OOP的规范了(Delphi也是这种模式、C#也是)。美国的大学教数据结构、
数据库原理、操作系统等课程都用Java作为实现语言了(以前是C/C++为主)。

因此Java似乎是一种必备的计算机知识,而它本身确实提供了开发者和设备之间的一层
保持着良好一贯性的虚拟OS平台。

 
目前基于Java的开发在国外已经成为事实上的跨平台开发标准,这也是微软想通过.net找回
重心的一个原因。Java是实现代码重用率最高的平台,如孙老师所讲,目前各种各样的
Java平台不断推出,甚至还有手表等(本来Java的初始目标就是家用电器开发语言),微
软VJ的失败就是走私有化道路的结果。知道国外Java的应用水平非常高了,只是感性认识,
不知道高到什么程度,普及到什么程度,反正国内是不行的,主要是用户还没有这方面的认
识,Win平台占主流的市场,你的确也不能作到Java能超过C/C++的效率。自我感觉还是Java
开发工具的缺乏,很多公司都因为推出产品或专有平台而推出开发工具,如MOT手机平台上的
K-Java开发工具。如果能多一些Delphi/Kylix此类的组合,就会少一些.Net对大家的折腾,
VBer们的眼泪也可以少流一些,我也可以多赚一些硬币。
 
由于是毕设,我自己写了一个演示电子地图的程序,地图格式是自己定的包括三个文件、图元
文件,对象文件,控制文件,前台是用JAVA的APPLET演示的,用了5个线程加载这几个文件、
并用JDBC连接后台的数据库。后台的绘图软件是我用VC编写的。现要进行毕业答辩,各位
能不能给我一点资料(我用自己的绘图工具画了一副我们学校的地图作为演示的用例)
 
其实语言并不是最主要的, 关键还是一个思想问题,如同J2EE的整个体系,结构,从WEB GIS方向看,
究竟,WEB GIS的主要功能和作用是什么,总不是查询道路那么简单吧,我看WEB GIS主要还是
应该是分析问题,解决问题,我做的一个项目关于欧洲的噪音控制和图表规划,基于INTRANET,
所以究竟怎么更好的利用WEB,现在看来还有问题
 
现在的技术已经远远走在了用户需求前面了。看看招聘广告吧,要“销售经理”的比
“技术经理”和“资深程序员”多得多。
 
多人接受答案了。
 
多人接受答案了。
 
顶部