GeoServer

在计算领域，GeoServer是一个用Java编写的开源服务器，它允许用户共享、处理和编辑地理空间数据。为了互操作性而设计，它使用开源标准发布来自任何主要空间数据源的数据。GeoServer已经发展成为一种将现有信息与Google地球、NASA World Wind等虚拟地球仪以及OpenLayers、Leaflet、Google地图和必应地图等基于网络的地图连接起来的简单方法。GeoServer的功能是开放地理空间协会（WFS）标准的参考实现，同时也实现了（WMS）、（WCS）和（WPS）规范。

目标 
GeoServer的目标是作为自由和开放的中的一分子。正如Apache HTTP Server提供了一个免费开放的网络服务器来发布HTML一样，GeoServer也打算对地理空间数据做同样的事情。

特性 
GeoServer可以读取各种数据格式， 包括：

 PostGIS
 Oracle Spatial
 ArcSDE
 DB2
 MySQL
 MongoDB
 Apache Solr
 Shapefile
 GeoTIFF
 GTOPO30
 ECW, MrSID
 JPEG2000

通过标准协议，它可以生成KML、GML，Shapefile，GeoRSS，PDF，GeoJSON，JPEG，GIF，SVG，PNG等。 另外，可以通过WFS事务配置文件（WFS-T）编辑数据。  GeoServer内置了一个OpenLayers客户端用来预览数据图层。

另外，GeoServer还支持使用KML通过网络链接，轻松将地理空间数据发布到Google地球。Google地球输出的高级功能包括用于定制弹出窗口的模板，时间和高度的可视化效果，以及“超级叠加层”。

GeoServer依赖于GIS库GeoTools。

用途 
 MassGIS（马萨诸塞州GIS）
 MACRIS Maps（马萨诸塞州历史委员会）
 TriMet  (Transit agency for Portland, Oregon)
 英國地形測量局
 法国国家测绘局
 GBIF（全球生物多样性信息机构）
 世界银行
 
 GMOS（全球水星观测系统）
 FAO（联合国粮食及农业组织）
 
 TeamSurv
 ITU（国际电信联盟）

架构 
GeoServer使用Spring框架，为实现OGC服务的模块提供了请求分发架构。Web管理应用程序使用wicket，允许扩展程序提供其他配置屏幕。该应用程序提供了一个使用spring-mvc-framework实现的REST API。

GeoServer是一个Web应用程序，支持任何常见的Servlet容器（Jetty作为嵌入式服务器可提供独立发行版）。GeoWebCache是与TileCache相似的基于Java的缓存组件，与GeoServer捆绑在一起，但可以单独使用。 同样，GeoServer将GeoTools打包为Java库，但也可以单独使用。

GeoServer是一个长期存在的应用程序，并且经历了几项体系结构更改。 GeoServer 1.0是围绕STRUTS框架构建的，在GeoServer 2.0迁移到Spring和Wicket。REST API的早期版本在迁移到spring-mvc-framework之前使用restlet。

参见 

 开放地理空间协会
 
 
 
 MapServer
 Mapnik

参考文献

外部链接 
 GeoServer official website 

用Java編程的自由軟體
地理技术
自由GIS软件