当前位置: 首页 > news >正文

geoserver-manager(java操作geoserver发布服务)

geoserver rest接口文档:https://osgeo.cn/geoserver-user-manual/rest/index.html

geoserver-manager文档:https://github.com/geosolutions-it/geoserver-manager/wiki

获取连接

private GeoServerRESTManager connect(){try {return new GeoServerRESTManager(new URL("http://localhost:8080/geoserver"),"admin","geoserver");} catch (MalformedURLException e) {return null;}
}

工作空间

创建工作空间

public AjaxResult createWorkSpace(){GeoServerRESTManager manager = connect();GeoServerRESTPublisher publisher = manager.getPublisher();GeoServerRESTReader reader = manager.getReader();String workSpaceName = "test";try {if(!reader.existsWorkspace(workSpaceName)){
//                publisher.createWorkspace(workSpaceName);boolean success = publisher.createWorkspace(workSpaceName,new URI("http://test"));if(success){return AjaxResult.success("工作空间创建成功!");}else{return AjaxResult.success("工作空间创建失败!");}}else{return AjaxResult.error("工作空间已经存在!");}} catch (URISyntaxException e) {throw new RuntimeException(e);}
}

更新工作空间

public AjaxResult updateWorkSpace(){GeoServerRESTManager manager = connect();GeoServerRESTPublisher publisher = manager.getPublisher();GeoServerRESTReader reader = manager.getReader();String workSpaceName = "test";try {if(!reader.existsWorkspace(workSpaceName)){return AjaxResult.error("工作空间不存在!");}else{boolean success = publisher.updateNamespace(workSpaceName,new URI("http://test123"));if(success){return AjaxResult.success("更新工作空间成功!");}else{return AjaxResult.error("更新工作空间失败!");}}} catch (URISyntaxException e) {throw new RuntimeException(e);}
}

删除工作空间

public AjaxResult removeWorkSpace(){GeoServerRESTManager manager = connect();GeoServerRESTPublisher publisher = manager.getPublisher();GeoServerRESTReader reader = manager.getReader();String workSpaceName = "test";if(!reader.existsWorkspace(workSpaceName)){return AjaxResult.success("删除成功!");}else{boolean success = publisher.removeWorkspace(workSpaceName);if(success){return AjaxResult.success("删除成功!");}else{return AjaxResult.error("删除失败!");}}
}

存储仓库

shp文件夹(Directory of spatial files (shapefiles) )

创建存储仓库

public AjaxResult createDataSource(){GeoServerRESTManager manager = connect();GeoServerRESTStoreManager storeManager = manager.getStoreManager();GeoServerRESTReader reader = manager.getReader();String workSpaceName = "test";String storeName = "testStore";try {if(!reader.existsDatastore(workSpaceName,storeName)){// shp文件目录GSDirectoryOfShapefilesDatastoreEncoder encoder = new GSDirectoryOfShapefilesDatastoreEncoder(storeName,new URL("file:E:/data"));encoder.setName(storeName);encoder.setCharset(Charset.forName("UTF-8"));encoder.setDescription("测试demo");encoder.setCreateSpatialIndex(true);encoder.setCacheAndReuseMemoryMaps(true);encoder.setMemoryMappedBuffer(true);boolean success = storeManager.create(workSpaceName,encoder);return success ? AjaxResult.success("数据仓库创建成功!") : AjaxResult.error("数据仓库创建失败!");}else{return AjaxResult.error("数据仓库已经存在!");}} catch (MalformedURLException e) {throw new RuntimeException(e);}
}

更新存储仓库

public AjaxResult updateDataSource(){GeoServerRESTManager manager = connect();GeoServerRESTStoreManager storeManager = manager.getStoreManager();GeoServerRESTReader reader = manager.getReader();String workSpaceName = "test";String storeName = "testStore";try {if(!reader.existsDatastore(workSpaceName,storeName)){return AjaxResult.error("数据仓库已经存在!");}else{// shp文件目录GSDirectoryOfShapefilesDatastoreEncoder encoder = new GSDirectoryOfShapefilesDatastoreEncoder(storeName,new URL("file:E:/data"));encoder.setName(storeName);encoder.setCharset(Charset.forName("UTF-8"));encoder.setDescription("测试demo123");encoder.setCreateSpatialIndex(true);boolean success = storeManager.update(workSpaceName,encoder);return success ? AjaxResult.success("数据仓库更新成功!") : AjaxResult.error("数据仓库已经存在!");}} catch (MalformedURLException e) {throw new RuntimeException(e);}
}

删除存储仓库

public AjaxResult deleteDataSource(){GeoServerRESTManager manager = connect();GeoServerRESTStoreManager storeManager = manager.getStoreManager();GeoServerRESTPublisher publisher = manager.getPublisher();GeoServerRESTReader reader =
http://www.dtcms.com/a/545818.html

相关文章:

  • 网站不能访问的原因成都市装修公司前十强
  • 前端怎么做网站发布网站需要备案
  • LSS论文阅读
  • 论文阅读——Segment Anything(Meta AI)——SAM
  • 关于网站建设需要了解什么东西个人网站 平台
  • 基于启发式的多模态风险分布越狱攻击,针对多模态大型语言模型(ICCV 2025) - 论文阅读和解析
  • 对我单位网站进行改版wordpress 打包app
  • python使用Pygame库实现避障小人行走游戏
  • 安徽网站建站系统平台百度竞价排名事件分析
  • 餐馆网站怎么做微信开放平台网站应用
  • Docker篇2-用python运行项目和docker运行冲突问题
  • Linux SDIO驱动框架深度解析与技术实践
  • 被禁止访问网站怎么办网站建设怎么支付款项
  • 公司有网站有什么好处东莞网页设计制作公司
  • 做外贸 网站网易免费企业邮箱登录入口
  • 自己怎么做网站免费的做网站用discuz还是wp
  • windows系统连接docker desktop启动的mysql
  • 个人信息网站汾阳网站建设
  • 惠州市两学一做网站网站建设归工商局管还是工信局管
  • 仓储服务 东莞网站建设 技术支持做网站报价单
  • 自助建站信息网中国做二手房最大的网站有哪些
  • 四川省安监站网址团员关系没转就作废吗
  • 【零基础学MySQL】第二章:SQL类型
  • 程序员做网站给女朋友帝国后台网站如何设置自动刷新首
  • 仓颉语言变量声明与赋值深度解析
  • 宁波网站建设与推广方案安徽元鼎建设公司网站
  • Spring AI Alibaba 【三】
  • C++继承机制:面向对象编程的基石
  • 公司网站设计很好的怎么看一个网站是什么时候做的
  • pc不同网段间的通信过程