`
jdw
  • 浏览: 162601 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多

历经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 的经典资料库,两者的合并和今后的发展无疑会吸引众多地理信息开发者的目光。

分享到:
评论

相关推荐

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

    GeoServer 搭建高效的 WebGIS 开发平台 GeoServer 是一个基于 Java 语言的开源地理信息系统(GIS),可以帮助开发者快速搭建高效的 WebGIS 开发平台。本文将详细介绍如何使用 GeoServer 搭建高效的 WebGIS 开发平台...

    基于GeoServer的WebGIS开发.pdf

    开发者可以利用GeoServer来搭建后端地图服务,然后通过开发前端应用,实现复杂的功能,如地图缩放、图层控制、数据查询等。 4. GeoServer的数据管理 GeoServer能够管理多种格式的地理空间数据,包括矢量数据和栅格...

    geoserver开发手册

    在开发GeoServer时,开发者需要熟练掌握Java编程语言,理解Maven的构建和依赖管理机制,熟悉版本控制系统的使用,并能够利用IDE来高效开发。同时,了解GeoServer的Web服务架构,特别是RESTful接口,对开发和集成是至...

    免费开源WEBGIS框架搭建步骤(图文)

    本文将详细介绍一个完全免费开源的WebGIS框架搭建步骤,包括所需的主要工具:Tomcat、PostgreSQL、GeoServer、Eclipse和uDig,并通过图文并茂的形式来指导用户完成整个搭建过程。 #### 二、准备工作 1. **下载安装...

    开源架构Webgis解决方案开发指南视频教程

    本教程涵盖了前端开发、后端服务、数据库管理等多个领域,是学习WebGIS开发的宝贵资料。 【WebGIS基础知识】 1. 地理信息系统(GIS)概述:了解GIS的基本概念、功能和应用领域,包括空间数据的获取、存储、处理、...

    开源WebGIS

    在本案例中,重点讨论的是一个名为"GeoExt"的开源库,它为WebGIS开发提供了强大的JavaScript工具。 GeoExt是一个基于OpenLayers和Ext JS的JavaScript库,用于构建富交互性的WebGIS应用。OpenLayers是一个流行的开源...

    开源GIS架构实现思路.docx

    - **服务器BS端**:利用GeoServer、OpenLayer、PostGIS、GeoWebCache等技术栈,搭建高效稳定的WebGIS服务。 - **移动端**:采用GeoServer与MapBox/LeafLet结合HTML5的技术组合,实现移动设备上的地图显示和交互。 - ...

    WebGIS系统架构实现方法研究 (2014年)

    例如,使用QGIS、GeoServer等开源工具可以快速搭建起一个功能丰富的WebGIS平台。这种方式有助于降低总体拥有成本(TCO),并促进了技术创新。 #### 基于地理信息公共服务平台API 随着云计算技术的发展,许多地理信息...

    Python库 | c2cgeoform-2.0.dev20180425.tar.gz

    3. **WebGIS应用开发**:在构建WebGIS应用时,可以使用c2cgeoform快速搭建表单部分,节省开发时间。 总结来说,c2cgeoform是一个强大的工具,尤其对于那些需要处理地理数据并构建WebGIS应用的开发者而言。通过其...

    c2cgeoportal:c2cgeoportal应用程序

    Docker 可以帮助开发者快速地搭建和管理c2cgeoportal环境,便于测试、开发和生产环境的迁移。Docker映像通常会包含Web服务器、数据库、GIS服务器以及Python运行时等组件,确保应用的完整性和一致性。 **Python...

Global site tag (gtag.js) - Google Analytics