使用GeoServer的Rest接口发布shp图层的坑

Geoserver的rest接口使用参考以下文章:
https://blog.csdn.net/weixin_40184249/article/details/87877740

在配置geoserver-manager库和slf4j-api、slf4j-log4j12库时需注意使用的版本不能有冲突,不然就会出现“NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log”的错误。
我使用Ideal进行编译,可以在ideal界面
窗口最右边一列选择Maven查看冲突的jar包版本。(geoserver-manager1.7.0版本对应slf4j-api、slf4j-log4j12库是1.5.11)

1、发布shp图层时,需要把有关文件如.dbf、.shx同.shp文件一起打包成zip格式。
2、//创建shape文件存储时,需使用正确shp路径
GSShapefileDatastoreEncoder store = new GSShapefileDatastoreEncoder(geoStoreName, urlShapefile);
3、 //发布图层时,图层名geoLayerName必须与shp文件名一致
boolean publish = manager.getPublisher().publishShp(geoWorkSpace, geoStoreName, geoLayerName, zipFile, srs);

GeoServer是一个开源的地理信息系统服务器,它可以用于发布和管理地理数据服务。通过GeoServerREST API,我们可以使用PostGIS作为数据源来发布图层。 要使用GeoServer REST API发布PostGIS图层,需要进行以下步骤: 1. 首先,确保你已经安装了GeoServerPostGIS,并且它们都正常运行。 2. 在GeoServer中创建一个工作区(Workspace),工作区是一个逻辑容器,用于组织和管理数据。 3. 创建一个数据存储(Data Store),用于连接到PostGIS数据库。在创建数据存储时,需要提供数据库连接信息,包括数据库类型、主机名、端口号、数据库名称、用户名和密码等。 4. 创建一个样式(Style),用于定义图层的渲染方式。可以使用SLD(Styled Layer Descriptor)语言来创建样式。 5. 创建一个图层(Layer),将数据存储和样式关联起来。在创建图层时,需要指定数据存储和样式的名称。 6. 最后,使用GeoServerREST API发布图层。可以使用POST请求将图层发布到指定的工作区下。 下面是一个示例的REST API请求,用于发布一个名为"my_layer"的PostGIS图层: ``` POST /rest/workspaces/{workspace_name}/datastores/{datastore_name}/featuretypes { "featureType": { "name": "my_layer", "nativeName": "my_layer", "title": "My Layer", "srs": "EPSG:4326", "enabled": true } } ``` 其中,{workspace_name}是工作区的名称,{datastore_name}是数据存储的名称。在请求体中,需要提供图层名称、标题、坐标系等信息。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值