geoserver发布图层与数据库入库

所需工具

geoserver

qgis

navicat

瀚高数据库(可选)(目前我知只有orical和瀚高支持存储地理空间数据)

部署发布步骤

在目标ip上部署数据库和geoserver

数据库推荐使用pgsql软件;

部署geoserver需要用到java环境和tomcat,

如果我们使用Java8环境,那么GeoServer的适配版本在2.9.x到2.22.x之间。关于这一点一定要注意,理论上总是说可以向下兼容,但进行实践的时候似乎总是很难做到。因此我们进入GeoServer的官方下载页geoserver.org/download/ ,选择最新的2.22.5版本进行下载,如下图所示:

如果已经配置好了Java环境与下载好了tomcat,我们只需要下载GeoServer的Web Archive,也就是Java Web项目的war包。下载成功后,将这个war包放置在Tomcat安装目录下的webapps文件夹中启动comcat,访问地址打开geoserver操作管理页面;

用qgis导入图层数据到指定ip数据库

下载qgis并安装完成后进入首页

找到postgresql并右键新建连接

新建连接信息

新建完成之后下拉postgresql找到刚刚加入的连接

展开后可以看到里面的结构与表,然后选择顶部菜单数据库并选择数据库管理器

打开数据库管理页面之后找到postgis并展开可以看到刚刚连接的数据库

如果没有架构就创建一下架构,有的话跳过此步

点击架构并选择创建架构然后输入名称确定

然后点击导入图层或文件

导入图层或文件

在主页找到架构和自己创建的表,可以看到已经有痕迹了,字段是自己在数据库定的。

利用navicat查看数据

下载navicat并打开桌面图像版

打开之后点击左上角连接并选择postgresql填写信息后确定连接

连接之后可以看到架构与表结构和刚才上传的shp图层数据了

geoserver发布服务

登录之后找到首页里的工作空间并选择,然后点击添加新的工作空间

填写并保存信息

可以看到新增的信息了

然后点击进入之后勾选服务类型并保存

 找到存储仓库选择后点击添加新的存储舱库

选择矢量数据源的postgis

输入信息点击保存

点击保存后进入此页面后点击发布

点击发布之后跳转至编辑图层页面,前面不用管往下翻,选择然后计算完成之后点击保存

保存之后就会调转到图层页面,可以看到刚刚添加的资源了,

这里演示的是首次添加存储仓库,会自动地往下跳,如果是已经添加过存储仓库了,那就点击添加新的资源也可以

到这里图层就已经发布完成,可以通过图层预览访问

点击之后网址栏里的地址其实也就是数据地址了,

根据自己使用的webgis框架要求请求就行,稍微那mars3d举个例子:

export function drawWmsLayer(map, option) {
  let tileLayer = new mars3d.layer.WmsLayer({
    url: option.url, //这里是访问路径就是网址栏里那一段http://192.168.10.110:8899/geoserver/zytest/wms
    name: option.name,
    layers: option.layers,//这里应该填geoserver里的图层预览中的图层名称见下图
    crs: "EPSG: 4326",
    parameters: {
      tiled: true,
      VERSION: "1.1.1",
      transparent: true,
      FORMAT: "image/png",
    },
    getFeatureInfoParameters: {
      feature_count: 10,
      INFO_FORMAT: "text/plain",
    },
    // popup: "all",
    flyTo: true,
    show: true,
  });
  map.addLayer(tileLayer);
  return tileLayer;
}

  • 14
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现Spring Boot与GeoServer的整合,需要进行以下步骤: 1. 配置GeoServer 首先需要安装并配置好GeoServer。可以从GeoServer的官网下载安装包,然后按照官方文档进行配置。 2. 创建一个Spring Boot工程 使用Spring Initializr创建一个Spring Boot工程,并添加必要的依赖,例如Spring Web和Spring Boot DevTools等。 3. 添加GeoServer的REST API依赖 在pom.xml文件中添加GeoServer的REST API依赖: ```xml <dependency> <groupId>org.geoserver</groupId> <artifactId>gs-restconfig</artifactId> <version>2.17.2</version> </dependency> ``` 4. 配置GeoServer的REST API客户端 在Spring Boot的配置文件中,配置GeoServer的REST API客户端: ```yaml geoserver: rest: endpoint: http://localhost:8080/geoserver/rest username: admin password: geoserver ``` 其中,endpoint是GeoServer的REST API的地址,username和password是GeoServer的管理员账号和密码。 5. 创建一个图层发布服务 创建一个图层发布服务,将数据发布GeoServer。可以使用GeoServer的REST API来完成这个过程。以下是一个简单的实现示例: ```java @Service public class LayerPublishService { @Autowired private GeoServerRESTPublisher publisher; public void publishLayer() throws Exception { // 创建一个数据存储 String workspaceName = "test"; String storeName = "test-store"; URL url = new URL("file:///path/to/shapefile"); DataStoreInfo store = new DataStoreInfo(url, storeName); store.setEnabled(true); store.setType(DataStoreInfo.Type.SHAPEFILE); publisher.createWorkspace(workspaceName); publisher.publishDatastore(workspaceName, store); // 创建一个图层 String layerName = "test-layer"; String styleName = "Default"; String typeName = "test-store:test-layer"; publisher.publishFeatureType(workspaceName, storeName, layerName, typeName, styleName, null); } } ``` 需要注意的是,这里的GeoServerRESTPublisher是由gs-restconfig依赖提供的,可以通过Spring的依赖注入来获取。 6. 测试图层发布服务 在Spring Boot的控制器中,添加一个测试图层发布服务的接口: ```java @RestController public class TestController { @Autowired private LayerPublishService layerPublishService; @GetMapping("/publishLayer") public String publishLayer() throws Exception { layerPublishService.publishLayer(); return "success"; } } ``` 启动Spring Boot应用,并访问http://localhost:8080/publishLayer,即可测试图层发布服务。 以上就是整合Spring Boot和GeoServer发布图层的步骤。需要注意的是,这里只是一个简单的示例,实际上还需要进行更多的配置和优化才能投入生产环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值