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