Geoserver

news2024/12/25 23:36:25

Geoserver

GIS工具


文章目录

  • Geoserver
  • 前言
  • 一、Geoserver是什么?
  • 二、概念
    • 1.Geoserver结构图
    • 2.相关概念
    • 3.Geoserver相关站点
    • 4.Geoserver安装
    • 5.PostgreSQL安装
      • 1.拉取镜像
      • 2.创建挂载卷
      • 3.安装
    • 6 Docker 环境安装postgres+postgis扩展
  • 总结
  • 其他参考资料


前言

GeoServer,顾名思义,是一个“服务器”,用于编辑和发布地理控件数据。它是一款基于Java语言开发的,实现OGC标准的,支持用户浏览、编辑和发布地理空间数据的开源软件。它也是一款支持在Web上渲染显示二维地图,并且能够对其进行平移、缩放操作的GIS工具。


一、Geoserver是什么?

GeoServer项目基于J2EE平台,实现OpenGIS联合会的WFS(Web Feature Server)和WCS(Web Coverage Server)标准,并提供集成的WMS(Web Map Server)。同时,作为服务器,GeoServer的功能一般通过与OpengLayers、Google Earth、uDig、GVSig等客户程序结合使用表现出来。
GeoServer,是一个把信息连接到地理空间网络的开源服务器。用它可以依照开放标准来编辑和发布地理空间数据,这样信息就以很多种形式如地图、图象或者实际的地理空间数据来被使用,并且可以通过地图的外观来完全的控制这些信息。GeoServer的转换功能提供了对多人编辑的强大支持。GeoServer的核心是简化对标准的使用和支持,来作为地理空间网络中的数据库和多种客户的粘合剂。。

二、概念

1.Geoserver结构图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.相关概念

  • WMS: Web Map Service(Web地图服务)利用具有地理空间位置信息的数据制作地图。Web 地图服务返回的是图层级的地图影像,这个规范定义了三个操作:
    GetCapabitities 返回服务级元数据,它是对服务信息内容和要求参数的一种描述;
    GetMap 返回一个地图影像,其地理空间参考和大小参数是明确定义了的;
    GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息
  • WFS: Web Feature Service(Web要素服务)
    Web 要素服务(WFS)返回的是要素级的GML编码,并提供对要素的增加、修改、删除等事务操作,是对Web地图服务的进一步深入。OGC Web要素服务允许客户端从多个Web要素服务中取得使用地理标记语言(GML)编码的地理空间数据,定义了五个操作:
    GetCapabilites 返回Web要素服务性能描述文档(用XML描述);
    DescribeFeatureType 返回描述可以提供服务的任何要素结构的XML文档;
    GetFeature 一个获取要素实例的请求提供服务;
    Transaction 为事务请求提供服务;
    LockFeature 处理在一个事务期间对一个或多个要素类型实例上锁的请求。
  • WFS-T: Web Map Service-Transactional. 允许用户以可传输的块编辑地理数据。
  • WCS:Web Coverage Service (Web覆盖服务)Web 覆盖服务(WCS)面向空间影像数据,它将包含地理位置值的地理空间数据作为“覆盖(Coverage)”在网上相互交换。
    网络覆盖服务由三种操作组成: GetCapabilities,GetCoverage和DescribeCoverageType。 GetCapabilities 操作返回描述服务 和数据集的XML文档。
    GetCoverage 操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能够获取 之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。
    DescribeCoverageType 操作允许客户端请求由具体的WCS服务器提供的任一 覆盖层的完全描述。
  • GML: Geography Markup Language. 一种用于描述地理数据的XML。
  • OGC——Open Geospatial Consortium——开放地理信息联盟
    总之,GeoServer 是您需要显示地图在网页的那些工具的当中一个,用户可以缩放并且移动。可以与一些客户端联合使用,比如: MapBuilder (for web pages), UDig, GVSig,等等。 对标准的使用允许信息从GeoServer 到其它地理信息可以很容易地被结合。

3.Geoserver相关站点

1、Geoserver官网:
https://geoserver.org
2、Geoserver文档:
https://docs.geoserver.org
https://www.osgeo.cn/geoserver-tutorial/data-config.html
3、Geoserver源码:
https://github.com/geoserver/
4、Docker安装:
https://docs.geoserver.org/latest/en/user/installation/docker.html
5、入门指南:
https://docs.geoserver.org/latest/en/user/gettingstarted/index.html#getting-started
6、Geoserver源码学习资料:
https://blog.csdn.net/xiangshangdemayi/article/details/122419885
7、介绍geoserver rest配置API
https://www.osgeo.cn/geoserver-user-manual/rest/api/index.html
8、openlayers文档
https://openlayers.org/en/latest/apidoc/
9、在线工具
Geojson官网(可验证geojson文件):https://geojson.io/#map=5.68/22.89/113.424
Geojson文件演示/转换网站:https://mapshaper.org

4.Geoserver安装

Docker安装命令如下(参考文档):

docker run -it -p8080:8080 \
  --mount type=bind,src=/MY/DATADIRECTORY,target=/opt/geoserver_data \
  docker.osgeo.org/geoserver:2.26.x

访问地址:http://localhost:8080/geoserver
默认账号密码:admin/geoserver

5.PostgreSQL安装

Docker安装命令如下(参考文档)

1.拉取镜像

docker pull postgres:latest

2.创建挂载卷

mkdir /usr/local/postgresql/data

3.安装

docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -v /usr/local/postgresql/data:/var/lib/postgresql/data -d postgres:latest

6 Docker 环境安装postgres+postgis扩展

Docker安装postgres+postgis扩展(参考资料)

docker run --name postgis --restart=always -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=123456 -e POSTGRES_DBNAME=gis_db -p 5432:5432 -v //Users/zhangming/Documents/data/postgis/data:/var/lib/postgis/data -v /Users/zhangming/Documents/data/postgresql/data:/var/lib/postgresql/data -d postgis/postgis:12-3.2

postgis拓展上针对database的,如果新建database,需要执行拓展postgis的命令

create EXTENSION postgis;

总结

其他参考资料

QGIS安装和入门使用:https://blog.csdn.net/hhy321/article/details/136437615
1、基于geoserver的地图库和可视化库的服务商:
https://iclient.supermap.io/examples/leaflet/examples.html#iServer

2、Geoserver发布shp、tiff等地图服务及配置样式:
https://blog.csdn.net/qq_27816785/article/details/132754740?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-1-132754740-blog-132021760.235%5Ev43%5Epc_blog_bottom_relevance_base3&spm=1001.2101.3001.4242.2&utm_relevant_index=4

3、GIS开发实战图谱:https://blog.csdn.net/sinat_41310868/article/details/107010972
4、WebGIS文章汇总:https://zhuanlan.zhihu.com/p/67232451
5、 PostGIS矢量瓦片创建:
PostgreSQL+Postgis MapboxVectorTile应用:
https://blog.csdn.net/gery1990/article/details/110471047
基于springboot+postgis的矢量切片:
https://blog.csdn.net/zhaoquanfeng/article/details/81874270
pgsql+postgis 实时返回mvt(Mapbox Vector Tiles) 矢量瓦片:
https://blog.csdn.net/qq_35997793/article/details/108145550
6、其他矢量地图解决方案
发布自己的mapbox矢量地图:
https://blog.csdn.net/xinlingjun2007/article/details/80846826
Mapbox-GL矢量地图样式参考:
https://blog.csdn.net/wan_yanyan528/article/details/48465403
7、网路分析(路径导航)
pgRouting官方教程介绍:
https://blog.csdn.net/qq_35732147/article/details/88633598
PostGIS 结合Openlayers以及Geoserver实现最短路径分析:
https://blog.csdn.net/guzicheng1990/article/details/102524923
PostGis+GeoServer+OpenLayers最短路径分析:
https://blog.csdn.net/qgbihc/article/details/108635912
8、GDAL读取gdb
java 调用gdal读取gdb数据:
https://blog.csdn.net/weixin_53853459/article/details/120954597
9、GeoServer地图开发解决方案:
https://wenku.baidu.com/view/7a619ab9c77da26925c5b0a8?aggId=80b0de0f4b2fb4daa58da0116c175f0e7dd11947&fr=catalogMain_text_ernie_recall_v1%3Awk_recommend_main3&wkts=1715419443982&bdQuery=geoserver简介
10、ShapeFile文件格式
https://blog.csdn.net/m0_58742205/article/details/132012699

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1679243.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从开发板导出根文件系统并修改(Ubuntu)

前面提到过基于ubuntu-base去构建根文件系统基于Ubuntu-base构建根文件系统-CSDN博客,但是有时候我们并不需要重头开始,可以基于现有的根文件系统做调整。又或者我们直接在出厂的系统上去搭建好自己的运行环境并且编译出自己想要的程序,现在要…

Web浏览器的兼容性测试需要考虑哪些测试点?

测试web网站兼容性时,可以使用各种测试用例来确保网站在不同浏览器中的良好兼容性。以下是一些常见的兼容性测试用例示例: 1. 页面加载测试: - 确保网站在不同浏览器中正常加载,没有加载错误。 - 检查页面加载时间,…

Kivy UI界面

一、版本介绍 Ubuntu:18.04.6 LTS Conda:4.5.12 Python:3.6.15 Kivy:2.0.0 二、安装Kivy # 更新系统包列表 sudo apt-get update# 安装Kivy的依赖项 sudo apt-get install -y python-pip libsdl2-dev libsdl2-image-dev li…

【机器学习】:基于决策树与随机森林对数据分类

机器学习实验报告:决策树与随机森林数据分类 实验背景与目的 在机器学习领域,决策树和随机森林是两种常用的分类算法。决策树以其直观的树形结构和易于理解的特点被广泛应用于分类问题。随机森林则是一种集成学习算法,通过构建多个决策树并…

Galxe已投资Pencils Protocol,投资者阵营正不断扩大

近日,Scroll 生态项目 Penpad 将品牌进一步升级为 Pencils Protocol,全新升级后其不仅对 LaunchPad 平台进行了功能上的升级,同时其也进一步引入了 Staking、Vault 以及 Shop 等玩法,这也让 Pencils Protocol 的叙事方向不再仅限于…

“图生视频”技术创新:剪贴画秒变动画生成的实验验证与分析

在最近的研究进展中,AniClipart系统的问世标志着文本到视频生成技术的一个重要里程碑。这一系统由香港城市大学和莫纳什大学的研究者们共同开发,旨在解决将静态剪贴画图像根据文本提示自动转换成动画序列的挑战。传统的动画制作流程繁琐且耗时&#xff0…

Python 小抄

Python 备忘单 目录 1.语法和空格 2.注释 3.数字和运算 4.字符串处理 5.列表、元组和字典 6.JSON 7.循环 8.文件处理 9.函数 10.处理日期时间 11.NumPy 12.Pandas 要运行单元格,请按 ShiftEnter 或单击页面顶部的 Run(运行)。 1.语法和空格…

「每日跟读」英语常用句型公式 第15篇

「每日跟读」英语常用句型公式 第15篇 1. It’s only logical that __ 合理的做法/结论是__ It’s only logical that we should take a break (合理的做法是我们应该休息一下) It’s only logical that we work hard to make money(合理…

如何设计知识竞赛活动中的观众互动环节

知识竞赛活动过程中有多种方式进行观众互动,达到台上台下互动的效果,让台下观众参与到竞赛活动中,增加现场气氛。下面介绍几种常用观众互动环节设计方法。 一、台上选手对抗台下观众 此方案为台下观众和台上选手一起答题,如果台…

又双叒叕新增2本SCI期刊“On Hold“,慎投,有剔除风险!

本周投稿推荐 SSCI • 2区社科经管类,3.0-4.0(录用友好) EI • 计算机工程生物医学等(领域广,录用极快) CNKI • 3天内初审录用,随即出版(急录友好) SCI&EI …

[Bootloader][uboot]code总结

文章目录 1、U_BOOT_DRIVER2、DM框架dm_scan_platdatadm_extended_scan_fdt 1、U_BOOT_DRIVER 使用这个宏可以定义一个驱动实例,宏定义是 其中使用的struct driver结构体 使用的ll_entry_declare宏定义是 归结为 2、DM框架 1、 DM框架 DM模型抽象出了以下四个…

测试之路 - 精准而优雅

引子 这几年业内一直在做精准测试,大都使用工具 diff 代码改动、分析代码覆盖率这些平台集成的能力。 业务测试中,我们在技术设计和代码实现的基础上也做了一些精减和精准的测试实践,通过深入测试有针对的设计 case,发现隐藏问题…

智游剪辑1.5.0发布!

智游剪辑1.5.0发布了,快来看看更新了啥功能吧! 主页卡片升级 现在功能卡片新增图标,比以前更好看更直观 我的收藏 遇到自己喜欢的功能直接点击收藏就可以了,后面我们就能快速找到这个功能 批量ncm转mp3功能 目前看后台有很多人…

STC8增强型单片机开发【热敏电阻】

目录 一、引言 二、热敏电阻概述 三、STC8增强型单片机简介 四、基于STC8单片机的热敏电阻测温系统 五、热敏电阻测温系统的优化与扩展 提高测量精度 扩展系统功能 六、 温度计算步骤 通过ADC采样计算出热敏电阻位置的电压 通过欧姆定律计算热敏电阻的阻值 通过阻值…

Java微信小程序订阅消息提醒的实现与对接

文章目录 一、准备工作1. 注册微信小程序,并开通订阅消息功能。2. 获取小程序的AppID和AppSecret。3. 在微信小程序管理后台,设置提醒模板,并获取模板ID。4. 小程序端需要获取用户订阅允许提醒的权限(1)引导用户触发订…

win11快速安装mysql数据库系统

win11快速安装mysql数据库系统 1、下载 1.1 打开官网 1.2 向下滚动页面 1.3 进入下载选项 1.4 下载8.0.4 LTS 1.5 开始下载 1.6 下载中 2、解压 大家注意,此时解压后目录是没有data目录的。 3、数据库初始化 3.1 管理员身份打开CMD 开始菜单上,输入…

【找到所有数组中消失的数字】leetcode,python

很菜的写法: class Solution:def findDisappearedNumbers(self, nums: List[int]) -> List[int]:nlen(nums)#存1-Nnum_1[i for i in range(1,n1)]#预存数num_2[]nums.sort()for i in nums:num_1[i-1]0for i in num_1:if i!0:num_2.append(i)return num_2能过但是…

link.click()时浏览器报错The file at ‘data:image/png;base64,iVBORw

代码如下: const dataURL canvas.toDataURL({format: "png",width: 400,height: 400, });const link document.createElement("a"); link.download new Date().getTime();link.href dataURL; document.body.appendChild(link); link.click…

webpack优化构建速度示例-合理配置loader的include exclude:

实际上,babel-loader 在 Webpack 配置中默认并不包含 exclude 和 include 选项的默认值,通常,为了优化构建性能,开发者会显式地设置 exclude 和 include 选项,以便 babel-loader 只处理必要的文件。 src/index.js impo…

【漏洞复现】Secnet-智能路由系统弱口令

0x01 产品简介 Secnet安网智能AC管理系统是广州安网通信技术有限公司(简称“安网通信”)的无线AP管理系统 0x02 漏洞描述 攻击者可直接利用弱口令登录系统 0x03 搜索语法 fofa: title"安网-智能路由系统" || title"智能路由系统" || title"安网科…