基于python实现geoserver发布shp

目录

 

一、使用 REST 接口操作 Geoserver

二、基于python实现geoserver发布shp


一、使用 REST 接口操作 Geoserver

Geoserver 拥有 rest 接口,实现在外部程序中对GeoServer进行管理操作、发布服务。rest 接口使用HTTP调用的方式,无需登录Web管理界面就可以对GeoServer进行简单的调用和配置。

Geoserver官网的REST API使用教程(CURL对rest接口的调用):https://docs.geoserver.org/stable/en/user/rest/index.html

二、基于python实现geoserver发布shp

1. 导入python所需的库

os 用来执行DOS指令,tkinter.filedialog 用来打开窗口选择路径。

import os
import tkinter.filedialog

 

2. 名称命名

# 工作空间命名
namespace = 'china'

# 数据存储名称
datastore_name = 'mychina'

通过 tkinter.filedialog 打开弹窗,便于选择文件,从而获得文件路径和文件名。

# 文件对话框 默认打开路径
default_dir = r'文件路径'

# 文件路径
fpname = tkinter.filedialog.askopenfilename(title=u'选择文件', initialdir=(os.path.expanduser((default_dir))))

# 文件名称
fname = os.path.split(fpname)[-1]

3. 创建工作空间

workspaces通过Web界面转到该部分创建的新工作区,-u 表示验证的用户名和密码,-v 表示输入版本,-X 表示请求的方式,-H 表示输入的请求头信息

# 创建工作空间
os.system('curl -v -u admin:geoserver -X POST -H "Content-type: text/xml" -d "<workspace><name>' + namespace + '</name></workspace>" http://localhost:8081/geoserver/rest/workspaces')

4. 新建图层,上传shapefile

上传的shapefile必须要先打包成zip,注意打包时shapefile不能包含在文件夹中,就是说把shapefile的一系列文件选中后右键“添加到压缩文件…”而不是把shapefile放到文件夹中再压缩。

# 新建图层,上传shapefile
os.system('curl -u admin:geoserver -X PUT -H "Content-type: application/zip" --data-binary @' + fpname + ' http://localhost:8081/geoserver/rest/workspaces/' + namespace + '/datastores/' + datastore_name + '/file.shp')

运行python文件,弹出窗口,选择要上传的文件。(china-latest-free.shp.zip下载地址:https://blog.csdn.net/qq_912917507/article/details/81736041

 

5.发布成功,图层展示

点击 Layer Preview>OpenLayers。

 

6. 遇到的问题已解决

运行python出现

 
发布shp文件到GeoServer,首先需要确保GeoServer支持shp数据源。根据引用中的信息,我们可以知道GeoServer是支持shp数据源的。接下来,可以按照以下步骤来发布shp文件到GeoServer: 1. 安装GeoServer:根据引用中的指引,首先需要安装和配置Java环境,然后将GeoServer部署在Tomcat服务器上。 2. 登录GeoServer:使用默认用户名和密码(admin/geoserver),登录到GeoServer管理界面。根据引用中的信息,在网页的右上角输入用户名和密码即可登录。 3. 创建工作区(Workspace):在GeoServer管理界面中,点击"工作区"选项卡,然后点击"添加新工作区"按钮。根据需要填写工作区的名称和命名空间URI,然后点击"保存"按钮。 4. 创建数据存储(Data Store):在GeoServer管理界面中,点击"存储"选项卡,然后点击"添加新数据存储"按钮。在数据存储类型中选择"Shapefile",然后根据需要填写数据存储的名称和工作区,点击"下一步"按钮。 5. 上传shp文件:在数据存储配置界面中,点击"选择文件"按钮,选择要发布shp文件,并点击"上传"按钮。填写shp文件的坐标系信息,然后点击"下一步"按钮。 6. 确认发布信息:在数据存储配置界面中,确认发布的信息,并根据需要进行其他配置。点击"保存"按钮完成shp文件的发布。 现在,你已经成功将shp文件发布到了GeoServer。你可以在GeoServer管理界面中查看发布的图层,并根据需要进行其他操作,如样式设置、图层权限管理等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [JavaWeb和WebGIS学习笔记(三)——GeoServer 发布shp数据地图](https://blog.csdn.net/u012685544/article/details/125760484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值