GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。GeoServer是社区开源项目,可以直接通过社区网站下载。
使用Geoserver可以代替Arcgis Server等商业的数据发布软件,并且按照OGC的标准发布,能够兼容大部分的客户端软件访问。Geoserver支持的服务有wmts,wms,wcs,wfs。
在平常的概念中,Geoserver只是发布数据,供客户端进行调用,客户端调用Geoserver中的方法显示信息,其实不然,Geoserver也提供了不少的内置服务接口,可以设置参数进行查询,这和Arcgis Server有同样的原理,这些Server中都集成开发了不少服务,而且Arcgis Server在客户端做了相当多的工作,可以使用JavaScript的api能够调用,在Geoserver中,我们也可以根据url的请求,进行这些服务的调用,这需要熟悉常用客户端web请求的调用。
下边根据一个简单的wfs请求来说明,比如我们在Geoserver中发布了一个shp数据的服务,不止要在地图中看到数据,还要能请求到其中的数据信息。
http://localhost:8977/geoserver/wfs?service=wfs&version=2.0.0&propertyName=cat&request=GetFeature&typeNames=sf:archsites&outputFormat=application/json
这就是一个请求wfs的服务,返回图层指定属性信息和坐标信息:
service=wfs&version=2.0.0&request=GetFeature是固定的参数;
typeNames=sf:archsites是Geoserver发布的图层名称,Geoserver读取图层名称一般要加工作区的前缀;
propertyName=cat可以控制返回的属性,多个属性中间用逗号隔开;
outputFormat=application/json返回数据的类型,可指定json,xml等
部分返回数据效果:
在系统的开发中,可以根据规则拼接以上的url,通过web请求,返回json数据进行处理,这样有些服务就不需要单独进行开发了,而且在Geoserver的手册中,有其他不同种类的服务请求,可以根据需求进行查找。
Geoserver doc:
http://docs.geoserver.org/stable/en/user/services/wfs/index.html