geoserver 发布栅格图叠加矢量图的遥感图

本贴最后更新于 1981 天前,其中的信息可能已经东海扬尘

在完成基础的矢量文件图层叠加图层组功能成功发布后,我们还需要使用 shp 文件与 tif 文件共同形成遥感地图进行发布

在参考了大量网络教程后,目前还是只实现了 shp 文件从数据库读取,而 tif 栅格文件需要从文件目录一个个读取

遥感图的国家统一坐标系 是 CSCG2000/EPSG:4546 ,所以,为了保证 shp 文件与 tif 文件能一起展示,必须要保证 shp 文件和 tif 文件的坐标系是一致的 !!!

geoserver 从 Postgis 中读取 shp 文件可以参考上一篇文章

geoserver 发布 tif 文件教程如下
geoserver 默认支持读取 tif 栅格文件,但是文件必须在 geoserver 服务器本地目录下
image.png
image.png
image.png
此处的路径是我在 docker-compose 文件中共享的文件目录,所以 docker 中的服务可以访问
image.png
image.png
配置完成后即可在 Layer Preview 中查看到显示效果
image.png

再配置图层组与矢量网格图叠加
image.png
看到那个小黑点了吗,那就是我们的栅格图...
image.png
至此,基本的图层叠加已经完成,但是....看这密密麻麻的格子,总得有个批量导入栅格图的途径吧

原本是想要统一数据源,让 shp 和 tif 数据都从数据库读取,降低服务器存储空间的压力
在参考文档 GeoServer 发布 PostGIS 数据库中的栅格数据
经过大量尝试,虽然 tif 文件入库成功,geoserver 的 imageMosaicJdbc 插件也成功安装,但是在使用 imageMosaicJdbc 读取数据库数据的时候却一直无法连接,并一直报错
image.png
经过问题排查和参数检查后,确认不是配置的问题,在百度和 google 之后终于在一个官方错误报告邮件记录上找到类似的错误
Image Mosaic failing to create reader again
结果发现
image.png
大致意思是...有 10 多年历史的设计错误,改起来很麻烦..所以就没改了.........
总而言之,使用插件的方式基本是宣告失败

但是栅格图的发布总不能真的一个一个的通过 UI 界面去操作吧
经过大量的搜索以及资料翻阅,终于在 csdn 上找到了一个号称可以操作 geoserver 批量导入栅格图的 Java 项目代码

该项目下载下来后,能直接在 idea 中打开,但是却报了一个依赖错误
总的来说就是找不到这个依赖的 jar
image.png

经过修改 Maven 版本,重新导包,重新下包等一系列操作后发现问题根深蒂固,依旧存在,于是我决定去 Maven 仓库里面一探究竟
果然,依赖的 jar 包没有下载下来,只有几个 lastupdated 文件
image.png

这就好办了,去 maven 官网找爹去
image.png

结果一找, 又懵逼了, 人家 maven 只有 1.7 的版本,还是 16 年发布的,现在都 2020 年了啊 !!!
我抱着死马当活马医的态度试着测试修改版本号,依旧不行

好吧, 那我找 geoserver-manager 的仓库去!!
image.png
乍一看好像来对地方了,但事实却是十分残酷的
image.png
image.png

Maven 仓库里的文件夹仍在,文件也能看到,但就是下载不了 !!!

但我不信, 一定还有其他解决方案, google 一番后,发现 github 上好像有一个同名的开源项目

下载下来后,经过一键 Maven 构建打包四连后
image.png
果然在仓库里出现了想要的画面
image.png

回去一看批量导入项目的依赖问题也解决了

仔细一看这套批量导入的项目代码,其实就是调用了 geoserver 的 rest 接口
通过代码实现了 UI 界面上的一套操作

创建工作区---轮询文件目录,创建数据源---发布图层

通过修改项目中的相关参数,成功实现了轮询本地目录读取 tif 文件,发布栅格图的功能
image.png

其中存在的问题:

  • 该项目读取的目录与 geoserver 服务器需要是同一目录, 因此导致无法远程操作 linux 服务器下的 geoserver 批量发布
  • 该项目没有一套成型的 web 操作界面,只能通过开发工具右键 run java 运行

目前来讲较好的解决方案:

  • 使用带有 GUI 操作界面的 Linux 服务器,并安装 IDEA 开发环境,方便操作栅格批量发布,及文件传输
  • 使用 windows server 服务器发布 geoserver,并安装 IDEA 开发环境,方便操作栅格批量发布,及文件传输
  • GIS
    10 引用 • 23 回帖
3 操作
Hawkpool 在 2020-01-10 14:37:00 更新了该帖
Hawkpool 在 2020-01-10 14:35:41 更新了该帖
Hawkpool 在 2020-01-10 14:30:55 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 615 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1251 回帖 • 395 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 233 回帖 • 3 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 65 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 1 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    228 引用 • 476 回帖 • 1 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    10 引用 • 15 回帖 • 8 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 640 关注
  • Access
    1 引用 • 3 回帖 • 3 关注
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25917 引用 • 107412 回帖 • 2 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 57 关注
  • OneDrive
    2 引用 • 3 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 184 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    92 引用 • 122 回帖 • 619 关注
  • 浅吟主题

    Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper

    1 引用 • 28 回帖 • 1 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 1 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3455 回帖 • 152 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 734 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 4 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    89 引用 • 150 回帖 • 1 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    693 引用 • 537 回帖
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    127 引用 • 169 回帖 • 1 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 557 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 384 关注
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    172 引用 • 534 回帖