利用GeoServer搭建高效的WebGIS开发平台

历经3,4个月终于利用Geoserver搭建起了一个高效的WebGIS平台。能谈得上高效当然不能只用Geoserver,在对Geoserver研究了一段时间后,知道Geoserver的效率瓶颈在地图的生成浏览上。而地图的浏览这是webgis的基本功能,几乎所有的GeoServer中文资料在提到GeoServer的时候都指出不仅仅需jdk的支持,更要安装JAI和JAII/O,包括我自己翻译自refractions "Walking Through"系列文档的《Windows平台下GeoServer安装与使用》也犯了这个错误。

事实上从GS1.4.1版本开始,GeoServer不仅不需要JAI,而且额外的JAI会使GS报错,造成1.4.1版WMS服务不可用、1.5.0版更是无法启动。细心的朋友可以注意到,在GS的WEB-INF/lib目录下的库中,已经包含了jai1.3.jar等文件。

至此,今天GS的问题已经成功解决了,我也可以继续完成“中国地图”这样一个简单的WebGIS了。虽然为此活活浪费了一个下午,但是总结起来也是有几点收获:
1. 不要轻信Google给出的答案。第一资料的实效性有限,第二可靠性也不足:我的那篇翻译文章已经排到Google关键字为geoserver的结果页面中非常靠前的位置,不知又要害苦多少初学者。而我今天仔细看了GS官方的UserGuide之后也发现官方的wiki也没有要求安装jJAI。因此,这篇文章的标题也尽可能写得详细些,希望再次借助Google挽回这种损失。

2.出现错误要仔细看log。log的重要性不用再说了,虽然有时候它提供的信息并不明确,但是大多数情况下,log总能给出最佳答案。今天就是因为着急,把问题怪罪的WMS的url上,才忽视了JAI的问题。(不过有一点我又不清楚了,我的所有地图在MapBuilder中倒是都能查看,也难怪我会去怪罪WMS的url)。

明天继续工作,希望这个经验能对大伙有所帮助,我马上也要修改那个出错的文章,删去安装JAI的部分。
Geoserver的工程部署说明
No Tags
isalie WEBGIS 没有评论 安装环境:Windows 2003 Server SP1+Sun Java 2 SDK 1_4_2_11+Tomcat 5.0.28
如果你希望试用Geoserver,建议下载Windows Installer文件geoserver-1.3.3.exe,安装程序中包含
Jetty应用服务器,将为你自动创建测试环境。
部署一个Geoserver项目(WAR文件包),大致需要以下六个步骤:
1、安装Sun Java 2 SDK,到sun网站下载j2sdk-1_4_2_11-windows-i586-p.exe(版本可能有变化)。
注意:必须下载JDK,而不是JRE。你也可以使用IBM或BEA公司的JDK,经过测试表明BEA的Jrocket在Windows x86平台上比Sun的JVM有更快的速度。
(安装JDK 5.0可能遇到问题,请参考Geoserver帮助文档。)
2、安装Sun Java Advance Image SDK,到sun网站下载jai-1_1_2_01-lib-windows-i586-jdk.exe(版本可能有变化),安装程序自动将Java Advance Image安装到Sun Java 2 SDK所在目录。
注意:必须安装JDK版本。
3、安装Sun Java Advance ImageIO SDK,到sun网站下载jai_imageio-1_0_01-lib-windows-i586-jdk.exe(版本可能有变化),安装程序自动将Java Advance ImageIO安装到Sun Java 2 SDK所在目录。
注意:必须安装JDK版本。
4、安装Tomcat应用服务器,到Apache网站下载jakarta-tomcat-5.0.28.exe,安装到指定目录,默认使用8080端口。你也可以安装其他J2EE应用服务器,经过Geoserver项目组测试的应用服务器包括:JBoss、Jetty、Tomcat、Resin。
注意:Tomcat 5.5需要JDK 5.0支持。
5、安装Apache服务器,到Apache网站下载apache_2.2.3-win32-x86-no_ssl.msi,安装到指定目录,服务器名为本机IP地址,默认使用80端口。如果Apache Server无法正常启动,检查你的系统上是否正在运行IIS服务器。
(该步骤可选,我们使用Apache处理普通http请求,Tomcat处理OGC WMS,WFS-T地图服务请求,这样做的目的是分担Tomcat的工作压力,提高Geoserver的地图处理速度。)
6、关闭Tomcat,复制geoserver.war包到Tomcat的webapp目录,启动Tomcat。Tomcat将自动部署geoserver。启动完毕,使用http://ip:8080/geoserver进入geoserver图形配置页面。第一次进入geoserver,应用服务器需要编译jsp,请耐心等待。
提示:geoserver需要高速CPU和大量内存才能流畅运行,建议配置至少为P4 1.6A 512M内存。在低配置的机器上运行速度将非常缓慢,参见以下的测试报告。

测试中我们同时渲染了15个地图图层,数据全部取自Oracle数据库,记录每次地图刷新所需时间。
服务器A P4 1.7(2级Cache 256K) 内存 512M(DDR266) 耗时6-8秒
服务器B P4 1.6A(2级Cache 512K) 内存 1G(DDR400) 耗时3-5秒
服务器C P4 2.8E(2级Cache 1M) 内存 512M(DDR400) 耗时1-2秒


按照开发指南,用geoserver1.3.0配置好了一个arcsde9.0的 DS,创建了一个featuretype
地理信息系统服务器 GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。

GeoServer 主要特性包括:兼容 WMS 和 WFS 特性;支持 PostGIS 、 Shapefile 、 ArcSDE 、 Oracle 、 VPF 、 MySQL 、 MapInfo ;支持上百种投影;能够将网络地图输出为 jpeg 、 gif 、 png 、 SVG 、 KML 等格式;能够运行在任何基于 J2EE/Servlet 容器之上;嵌入 MapBuilder 支持 AJAX 的地图客户端;除此之外还包括许多其他的特性。

GeoServer 最新的版本 1.3.1 beta 增加了 GeoTools 2.2.x , GeoTools 是一款基于 Java 的开源 GIS 工具集,允许用户对地理数据进行基本操作。通过 GeoTools 的各种接口和 helper 类,可以写入新的数据格式,通过 GeoTools 为 GeoServer 提供的插件,在不进行重新编译的情况下,可以让 GeoServer 支持更多的数据格式,甚至只需要通过 GUI 的 option 设置即可。

一直都比较关注 GeoServer 和 GeoTools 的发展情况, GeoServer 提供了一个相对简易的地理信息服务系统, GeoTools 包含地理信息数据基本操作的源码实现,是学习地理信息基础研发和 WebGIS 的经典资料库,两者的合并和今后的发展无疑会吸引众多地理信息开发者的目光。

你可能感兴趣的:(jdk,tomcat,应用服务器,windows,sun)