Geoserver提供许多服务的发布,我们可以通过控制台进行手动发布,至于至于如何在程序中利用代码发布服务,这如何做?可以通过两种思路进行一通过后台通过请求rest接口进行发布或者前端通过ajax,另一种通过xml方式详细的请参考该篇文章简析GeoServer服务的内部文件组织以及GeoServer自动化服务发布工具的开发思路本文主要介绍地第一种方式(java语言)如何发布,开始进入正题。
效果图
1、postgis数据
2、shapefile数据
一、maven中构造
通过Java构造请求我们需要用到geoserver-manager类库(api文档)
1、添加依赖
GeoSolutions
http://maven.geo-solutions.it/
it.geosolutions
geoserver-manager
1.7.0
2、几个重要的类对象
GeoServerRESTManager该对象是一个最大的管理者可以获取以下两个对象,创建数据存储
GeoServerRESTPublisher,发布对象,用来发布各种数据和创建工作空间(主要用来创建对象)
GeoServerRESTReader,获取数据存储、图层、样式、图层组等(主要用来获取信息)
二、demo示例(发布postgis数据和shapfile数据)
package com.hpu.geoserver;
import it.geosolutions.geoserver.rest.GeoServerRESTManager;
import it.geosolutions.geoserver.rest.GeoServerRESTPublisher;
import it.geosolutions.geoserver.rest.decoder.RESTDataStore;
import it.geosolutions.geoserver.rest.decoder.RESTLayer;
import it.geosolutions.geoserver.rest.encoder.GSLayerEncoder;
import it.geosolutions.geoserver.rest.encoder.datastore.GSPostGISDatastoreEncoder;
import it.geosolutions.geoserver.rest.encoder.datastore.GSShapefileDatastoreEncoder;
import it.geosolutions.geoserver.rest.encoder.feature.GSFeatureTypeEncoder;
import it.geosolutions.geoserver.rest.encoder.coverage.GSCoverageEncoder;