请指教 基于Java平台的 WEBGIS最简方案

Posted on 2007-08-07 15:07 小李飞刀 阅读(1634) 评论(5)  编辑  收藏 所属分类: 开发经验
坦白的说,这是规划中的一个测试工程,也是准备用于形象工程的,因此并不希望它有多么复杂的功能,也不想提供太炫的效果,那是有代价的。

我所希望得到的是一个简单的、能以低成本部署的简单方案,并在上面开发出一些简单的显示功能,例如,把光标移到某些地图上的热点上,能够把相关联的数据显示出来。


基于本人对开源GIS系统的初浅认识,准备采用如下方案。

数据库  :  PostgreSQL + PostGIS (MySQL 好像也有空间数据支持,没看过)

服务器 :  GeoServer

地图编辑: MapBuilder 或 uDig

开发语言: Java 1.5 or over

项目管理: Maven2

但对开发具体框架和人员配置搞不太清楚,请指教:

表现层: 所需技术xthml, ajax,JavaScript,最好在美工方面也有些经验,这一块应该要求高一点,系统慢,性能不好关系都不太大,老实说,以我的估计,基本上不会有多少人用,并发人数5个了不起了。

业务逻辑: 这一层应该很简单,但要求对Java WEB开发比较有经验的人担当,尤其是对常用WEB框架有所了解,GeoServer内部用的Spring,struts都应该清楚一点。

数据库和空间数据的维护:这一块没概念,数据应该是现成的shape,需要转换一下吧,我试过shape到postgis的转换,好像也还容易,只是中文字符问题有点麻烦。

另外,如果想要在现在的大屏幕手机上支持地图查看,可能得利用GeoServer生成相应的图片或者矢量图吧,个人比较倾向于SVG,目前流行手机的支持不知道怎么样?J2ME手机对SVG的支持应该还比较好实现,nokia的对JSR标准的支持好像还不错,另外还有个tinyline能支持,以前自己也写过类似的J2ME上的矢量绘图的东西,客户端的问题应该不大,主要是在架构上如何把这个也考虑进去,适当地减少开发工作量。

还有什么呢?  

欢迎有经验人士指正!



Feedback

# re: 请指教 基于Java平台的 WEBGIS最简方案  回复  更多评论   

2007-09-20 11:58 by sinoly
一点,
如果使用svg作为地图现实方式,问题是相当的大。。
呵呵,你的技术选型和我现在在做的差不多,
我也想用svg作为显示,但是尝试了很多次,问题很多。
特别是在手机客户端上,目前智能手机应该说以PPC为主,
WM下的IE本来编码就不是很好,加上svg对中文的支持。。。感觉很困难
不过值得一试,呵呵

# re: 请指教 基于Java平台的 WEBGIS最简方案  回复  更多评论   

2007-09-21 14:25 by 小李飞刀
有没有考虑过JAVA手机或其他智能手机平台呢?

微软总是想自搞一套,在W3C的系列标准上都不太配合

中文的确是一个问题,不过既然是SVG,中文也可以考虑矢量图的形式来处理,直接当图形来处理也许还更简便些。

# re: 请指教 基于Java平台的 WEBGIS最简方案[未登录]  回复  更多评论   

2007-10-24 13:15 by LEE
GEOserver 没用过.都是2次开发,基本的地图操作功能难度都不大,把自己特有的业务逻辑和需求结合空间数据和地图进行交互式操作就显得有点麻烦了.

# re: 请指教 基于Java平台的 WEBGIS最简方案[未登录]  回复  更多评论   

2007-10-24 13:29 by LEE
如果你的平台作为手机客户端的服务器的话,GeoServer是否支持svg格式的图片输出,流量大小,都是要考虑的事情.有的时候,如果地图上面地理要素多,几何特征复杂的话,一个svg格式的图片可以达到1m多,这样无线传输的时候,就没意义了,我还不如叫用户下个城市的矢量数据呢.中移现在的北京城市地图矢量数据就只有500多k.他们肯定是把矢量数据下过来,然后在手机端不知道采用什么技术本地渲染的

# re: 请指教 基于Java平台的 WEBGIS最简方案  回复  更多评论   

2007-10-24 14:31 by 小李飞刀
对,这是一个问题,不过既然是移动应用,小屏幕手持设备,图层肯定是有些限制的,要素也不可能太多,我想的解决方式是通过地理位置,图层的放大比例等因素综合考虑,如何裁剪、组织最终传到终端的SVG内容,而不是单纯地传送所有信息,之所以用矢量数据,主要原因还是因为在几何计算和缩放上有很多方便,要充分利用这些信息来简化传输量,当然这样还是有一个比较大的问题要解决,就是一个终端可能需要频繁地跟服务器通讯,不断地在更新数据请求,另外还有的问题就是如何处理掉或者过滤到用户操作过程中间的一些无效了(或过时了)的请求,这个响应过程应该有些类似于PC机上的鼠标消息的处理,只是在手持设备和服务器两个层面都要实现部分功能,技术难点应该是在这个地方。

谢谢各位的宝贵意见!

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 44, comments - 43, trackbacks - 0, articles - 5

Copyright © 小李飞刀

涉足江湖,广交朋友
寻找有共同兴趣爱好者一起开创掌上移动应用!


欢迎光临!您是第 hit counter 位访客。