GeoServer常见问题及解决方案
常见问题
由mysql迁移数据
数据从mysql以前的经度,纬度;经度,纬度;经度,纬度;经度,纬度;的格式,改为现在的geometry格式,需要加geometry(polygon,4326)类型字段,并做如下转换。
-- 迁移面数据
UPDATE geo_pro_pool_fence
SET geo_polygon = ST_GeomFromText(CONCAT('POLYGON((', REPLACE(REPLACE(polygon, ',', ' '), ';', ', '), '))'), 4326) where 1=1;
-- 迁移点位数据
UPDATE geo_pro_pool_fence
SET geo_center_point = ST_GeomFromText(CONCAT('POINT(', center_longitude, ' ', center_latitude, ')'), 4326) where 1=1;
使用ElasticSearch作为数据源
-
增加es插件
https://build.geoserver.org/geoserver/2.19.x/community-latest/ -
增加geoJson的jar包
官网插件缺失一geojson依赖包,如果不添加将无法使用wms地图服务
https://mvnrepository.com/artifact/org.geotools/gt-geojsondatastore/25.0
解压es插件的zip包和geoJson.jar一起放入GeoServer的lib目录下,如
D:\software\devSoftware\GeoServer\webapps\geoserver\WEB-INF\lib
版权声明:本文为CSDN博主「yangdengxian」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yangdengxian/article/details/117598707
3. 连接数据源
后续操作一致,发布图层。
局域网连接不到本地数据库
- 在pg安装目录/data/pg_hba.conf中,最后加入一行
host all all 0.0.0.0/0 md5
- 检查pg安装目录/data/postgresql.conf
listen_addresses是否为如下配置:
listen_addresses = '*' # 修改监听地址,允许所有ip
- 如果是Windows机器,安装为了Windows服务,添加防火墙安全组入站规则
如果是其他平台,思路相同,新增防火墙规则,或添加安全组配置即可。
镜像方式启动geoserver
docker方式启动geoserver
docker run -it -p9988:8080 -d --name geoserver docker.osgeo.org/geoserver:2.24.x
Dockerfile文件内容
FROM docker.osgeo.org/geoserver:2.22.4
# 包含es插件
COPY plugins/* /opt/apache-tomcat-9.0.75/webapps/geoserver/WEB-INF/lib
CMD ["/bin/sh", "/opt/startup.sh"]
构建镜像
docker build -t fuxi_geoserver:1.0.1 .
镜像打包
docker save -o image.tar swr.cn-south-1.myhuaweicloud.com/fuxi_geoserver:1.0.1
登录镜像仓库
docker login -u cn-south-1@FGGYMWA2B6W9O0W80CN9x -p a640aaf798b45dd34eb6a937f7e2dd23368b7d1b3a9fefe5b4fbd25b8cd2d21ax swr.cn-south-1.myhuaweicloud.com
推送镜像
docker push swr.cn-south-1.myhuaweicloud.com/swgc/fuxi_geoserver:1.0.1