# WebGIStest
**Repository Path**: sunpengf/WebGIStest
## Basic Information
- **Project Name**: WebGIStest
- **Description**: 使用开源GIS技术的相关用例功能实现项目
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: http://dxnima.gitee.io/webgistest
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 26
- **Created**: 2025-03-06
- **Last Updated**: 2025-03-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
WebGIStest 是基于 Vue+SpringBoot 使用开源GIS技术的相关用例功能实现项目。
## 项目地址
- Gitee地址:https://gitee.com/dxnima/WebGIStest.git
- Github地址:https://github.com/DXnima/WebGIStest.git
## 技术:
- 前端:Vue | Element | Axios | OpenLayers | Mapbox-GL | Echarts
- 后端:SpringBoot | Mybaits | Redis | Postgres+PostGIS+PgRouting | GeoTools | GDAL v3.5.2
- 地图服务端: GeoServer
## 项目展示

## 项目说明
- 前端项目[跳转此处](/vue-ui/README.md)
- 后端项目[跳转此处](/server-web/README.md)
## 实现功能说明
1. [OpenLayers](https://openlayers.org/en/latest/apidoc/)
- [x] 实现图层切换
- [x] openStreetMap
- [x] 百度地图
- [x] 天地图
- [x] WMS Image服务
- [x] WMS Tile服务
- [x] WMS Grid服务
- [x] WMTS服务
- [x] WFS服务
- [x] 实现图层多选控件
- [x] 鼠标移动获取经纬度
- [x] 请求数据接口渲染点要素图层
- [x] 要素样式修改
- [x] 地图悬浮窗体
- [x] 地图覆盖饼状图
- [x] 加载GeoJSON数据
- [x] 加载wkts数据
- [x] 加载GeoServer发布的wms服务
- [x] 加载GeoServer发布的WFS服务
- [x] 加载WFS服务
- [x] 添加WFS服务图层
- [x] 修改WFS服务图层
- [x] 删除WFS服务
- [x] 点要素选中高亮
- [x] 点线面要素在线绘制、编辑
- [x] 点线面要素保存PostgesSQL数据库
- [x] PostGIS实现矢量切片
- [x] 综合例子:高校数据显示与查询
2. [GeoTools](http://docs.geotools.org/latest/userguide/tutorial/quickstart/maven.html)
- [x] 启动Quickstart例子
- [x] Geojson转Shapefile
- [x] Shapefile转Geojson
- [x] 读取Shapefile
- [x] Shapefile进行Intersect计算
- [x] Shapefile坐标转换
- [x] 创建XML格式的SLD
- [x] 空间关系判断
- [x] 空间分析
- [x] 叠加分析
- [x] 合并分析
- [x] 差异分析
- [x] 缓冲区分析
- [x] 最短路径分析(网络分析)
3. [Geoserver REST](https://docs.geoserver.org/stable/en/user/rest/)
- [x] 实现PostGIS数据源地图发布
- [x] 实现Shapefile数据源地图发布
- [x] 实现SLD样式发布
- [x] 实现PostGIS数据编辑
- [x] 实现Geoserver REST数据编辑
4. [GDAL](https://gdal.org/download.html)
- [x] 实现读取.gdb数据
- [x] 实现将.gdb数据转GeoJSON数据
## 快速启动
### 1. Docker Hub拉取镜像安装
```shell
# 拉取镜像
docker pull dxnima/webgistest:latest
# 启动容器
docker run -p 28080:28080 -p 28081:28081 -p 28085:28085 --name webgistest -itd dxnima/webgistest:latest
```
**容器启动后可以查看项目**:
前端打开:`http://localhost:28080`
后端打开:`http://localhost:28081/webgisapi/doc.html`
geoserver打开:`http://localhost:28085/geoserver`, 用户名:`admin` 密码:`geoserver`
**tips**:容器中还启动了postgres数据库,可以使用`-p 5432:5432`将postgres数据库映射出来
### 2. 自行创建镜像并安装
```shell
git clone https://gitee.com/dxnima/WebGIStest.git
# git clone https://github.com/DXnima/WebGIStest.git
cd WebGIStest
# 构建镜像
docker build -f Dockerfile -t dxnima/webgistest .
# 启动容器
docker run -p 28080:28080 -p 28081:28081 -p 28085:28085 --name webgistest -itd dxnima/webgistest
```
项目打开方式同上
## 编译运行
请移步:
- 前端运行说明[跳转此处](/vue-ui/README.md)
- 后端运行说明[跳转此处](/server-web/README.md)
## 文件说明
```
├─geoserver geoserver地图服务软件
├─server-web 后端项目
├─SQL 数据库恢复数据表
├─vue-ui 前端项目
```
## 相关技术参考
**1. GIS开发实战图谱**:https://blog.csdn.net/sinat_41310868/article/details/107010972
**2. WebGIS文章汇总**:https://zhuanlan.zhihu.com/p/67232451
**3. 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
**4. 其他矢量地图解决方案**
- 发布自己的mapbox矢量地图:https://blog.csdn.net/xinlingjun2007/article/details/80846826
- Mapbox-GL矢量地图样式参考:https://blog.csdn.net/wan_yanyan528/article/details/48465403
**5. 网路分析(路径导航)**
- 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
**6. GDAL读取gdb**
- java 调用gdal读取gdb数据:https://blog.csdn.net/weixin_53853459/article/details/120954597
## 一起交流
QQ群:515705676
