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

使用geoserver发布shp和tiff数据

一、安装并启动geoserver服务

1.1 下载geoserver

进入官网下载

由于geoserver是使用Java语言开发的,所以运行需要java的环境,不同geoserver的版本号对java的版本要求不同,所以选择版本时需注意对应java的版本要求,由于我本地安装了java8,所以我选择的是2.20的版本,最新的2.23需要java11

同一版本号也有不同的安装形式,我这选择的是Platform Independent Binary,这个版本支持跨平台,且无需安装

1.2 启动服务

解压下载的包,进入bin目录,windows系统双击startup.bat即可启动服务,linux选择startup.sh即可

运行后会有大串的运行信息,最后能看到Started @xxxms表示服务启动成功
运行信息

1.3 访问geoserver

在浏览器输入 http://localhost:8080/geoserver 进入服务的web控制界面,初次登陆需输入账号,geoserver提供了默认的账号,用户名为 admin,密码为 geoserver

二、创建工作区

1、点击左侧数据栏中的工作区,在右侧点击添加新的工作区
创建工作区1
2、在新建工作区页面,依次输入NameURI,最后点击保存即可。注意:Name不能为数字,URI必填,具体填的内容无要求
在这里插入图片描述

二、发布shp

2.1 准备

shape数据包含很多类型的文件,发布至少需要4个文件,分别是shpshxdbfprj,其中shp存储的几何数据,shx存储的几何索引信息,dbf存储属性数据、prj存储投影信息。

将至少包含上述4个的文件放到同一目录,本文以geoserver官方提供的纽约道路数据为例。
在这里插入图片描述

2.2 发布

在左侧数据栏点击数据存储,在右侧点击添加新的数据存储
在这里插入图片描述
新建数据源点击Shapefile
在这里插入图片描述
新建矢量数据源,从上到下分别选择工作区、设置数据源名称、shp文件的路径以及dbf的字符集(一般国内都是utf-8gbk,该参数设置如果不正确,会导致拾取到的属性中文乱码,此处用的案例是国外的,所以是ISO
在这里插入图片描述
点击发布
在这里插入图片描述
发布数据页面,点击边框中的从数据计算,以及Compute from native bounds,最后点击保存
在这里插入图片描述
点击左侧图层预览,在右侧表格中可以找到发布的图层,点击OpenLayers,可以看到发布的效果
在这里插入图片描述
在这里插入图片描述

三、发布普通tiff(<2GB)

tiff影像数据比较特殊,主要是其大小差别很大,有的有4、5个GB,甚至几十GB,小的也有几百MBgeoserver自带的GeoTiff发布功能支持2GB以下的tiff发布,其实也不是说geoserver就不能发布2GB以上的,主要是发布后,访问服务会很慢,主要是数据量太大,实时计算效率低,经过试验,2GB以下的直接发布效率还可以,2GB以上的需要提前切片(参考第4节)。

普通tiff发布跟shp类似,在数据源页面中选择GeoTIFF
在这里插入图片描述
然后分别设置工作区、发布的名称、文件路径,最后点击保存,在弹出的页面继续点击发布,在新页面点击保存即可
在这里插入图片描述
在图层预览中找到对应的图层,点击OpenLayers即可看到发布的影像

四、发布大型tiff(>=2GB)

大型tiff一般会进行金字塔层级切片,即单一大型tiff会处理成多级别的小型tiff文件,这样数据源就成了目录,geoserver默认不支持文件夹的发布,需要使用插件

点此找到对应的geoserver版本,然后进入extensions下载geoserver-xxx-pyramid-plugin.zip

下载后解压,将gt-imagepyramid-xx.jar文件拷贝到{geoserverPath}\webapps\geoserver\WEB-INF\lib下,重启geoserver服务即可

刷新web页面,此时可以在新建数据源页面发现多了ImagePyramid的选项

在这里插入图片描述
点击ImagePyramid设置切片后的tiff数据信息,包括工作区、数据源名称、切片文件夹路径,最后点击保存,在弹出的页面继续点击发布,在新页面点击保存即可,查看流程同其他两种类型
在这里插入图片描述
关于如何将tiff进行切片生成金字塔目录,我将会在另一篇基于geoserver开发发布服务的文章里介绍,本篇主要是描述geoserver web端的应用操作

http://www.lryc.cn/news/91204.html

相关文章:

  • 谷歌周彦祺:LLM浪潮中的女性科学家多面手丨智源大会嘉宾风采
  • Burp模块
  • sql笔记:SQL SERVER字符串填充(标量值函数创建、标量值函数调用)
  • python使用hTTP方法
  • JavaSE常用API
  • 华为OD机试之模拟商场优惠打折(Java源码)
  • 5月VR大数据:Quest 2下跌超1%,其它变化不大
  • CW32系列模数转换器(ADC)
  • 电动力学专题:电磁场规范不变性与规范自由度
  • max delay的应用场景与常见问题
  • 非阻塞队列
  • 动力电池管理系统(BMS)
  • ChatGPT桌面客户端支持gpt4模型,附使用说明
  • Vivado下时序逻辑模块的仿真
  • ThreadLocal的使用方式
  • 全面理解:C++中的指针和迭代器,以及解引用操作符(*)和箭头操作符(->)的用法
  • Vite 使用学习指南
  • 【算法训练(day6)】双指针模板
  • 免费常用的API接口大全
  • 【HTML】第 2 节 - HTML 标签
  • MATLAB算法实战应用案例精讲-【数模应用】残差检验(附Java、python和MATLAB代码)
  • 初学Qt(Day03)
  • 皮卡丘xss之htmlspecialchars、xss之href输出、xss之js输出
  • ArrayList和LinkedList的区别
  • 记录 vue3 webpack 使用 iframe 遇到的坑
  • 华为OD机试真题 Java 实现【去除多余空格】【2023Q1 100分】
  • SAP-MM 条件类型字段解析
  • C#,码海拾贝(28)——求解“对称正定方程组”的“平方根法”之C#源代码
  • 碳纤维单丝外径测试中的纳米分辨率激光衍射法解决方案
  • 服务(第三十二篇)nginx做缓存服务器