我的WebGis终于完成了框架。从开始写这个项目的代码算起,已经一年多了,然而零零落落的写法,真正用心的时间却不算多。
最早的想法其实不是WebGis,而是一个Gis查看工具,这样的设想没有多少激情,更多是工薪职工业余苦恼之余无奈无聊的作为,所以散慢也就可以想见了。
直到今年的某一天,突然想把它定位为WebGis的服务端,需要做成一次服务一个进程吗?需要做复杂的前端吗?哈,不需要那么冗余了,作为服务器端让它一直存在/运行就好了,一个进程就让一个中间程序来充当好了,而它要起的作用就是中转,从web前端得到请求,转发请求给服务端,从服务端得到回复,包含一些输出的地图图片数据,返还给web前端。就算这个中间程序是一个从产生到运行到消亡的进程,但它是那么的简单,不用担心它的消耗了,避免了采用服务端做为独立进程服务的苦恼--繁杂的初始化和消亡,如果每次都进行,显然是无意义的损耗。而现在是共用整个地图数据,尽可能的放在内存,服务启动后初始一次,直到地图服务关闭才会结束而消亡。
这样说也许太乱了,我想,我需要图解,需要更多的思路整理,来更有效的走下去。
但是,这是之后的事,现在,还是上图吧。
前端(JS)<--->cgi<--->exe服务端
Update(2009.01.09):
乐维WebGis定位:
1.乐维WebGis是个人软件作品。
2.乐维WebGis目标为跨平台(windows+linux)、高性能、良好表现效果的WebGis。
3.目前win32版本已经可以投入使用。
4.目前仅为实时生成图片模式。
乐维WebGis设计特点:
1.服务与地图数据分离,共用地图数据。
2.服务可制定独立的数据显示和样式表现。(预生成图片模式做不到或者仅可提供固定的几套)
3.“Web<->CGI<->WebGis服务器”模式,向.net说不,提供高效的Web服务性能。
4.每请求一线程,并行性能优秀。
5.可选基本绘制功能库:GDI、GDI+、AGG、Lwis,AGG和Lwis提供高性能的反走样功能。
6.美观并可定制的样式,点线面样式均可以定制。
更多信息,请查看新随笔《发布乐维Webgis0.8 Demo》中"乐维Webgis介绍.ppt".