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作为数据源

  1. 增加es插件
    https://build.geoserver.org/geoserver/2.19.x/community-latest/

  2. 增加geoJson的jar包
    官网插件缺失一geojson依赖包,如果不添加将无法使用wms地图服务
    https://mvnrepository.com/artifact/org.geotools/gt-geojsondatastore/25.0
    image
    解压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. 连接数据源
image
后续操作一致,发布图层。

局域网连接不到本地数据库

  1. 在pg安装目录/data/pg_hba.conf中,最后加入一行
host	all				all				0.0.0.0/0			md5

image

  1. 检查pg安装目录/data/postgresql.conf
    listen_addresses是否为如下配置:
listen_addresses = '*'		# 修改监听地址,允许所有ip
  1. 如果是Windows机器,安装为了Windows服务,添加防火墙安全组入站规则
    image
    image
    image
    如果是其他平台,思路相同,新增防火墙规则,或添加安全组配置即可。

镜像方式启动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

posted @ 2024-01-09 16:47  iiiiiiiivan  阅读(84)  评论(0编辑  收藏  举报