geoserver 发布热力图

1,385 阅读2分钟

geoserver

版本

  • geoserver

geoserver-2.21.1

gs-gwc-2.21.1

gwc-arcgiscache-1.15.2

  • pgsql

psql (PostgreSQL) 9.2.24

postgis.x86_64 2.0.7-2.el7

事前准备

  1. pg 数据库 + postgis 插件安装

在服务器 postgres 用户(先创建 postgres 用户)执行的命令如下:

sudo yum install -y postgresql-server postgresql postgis
​
sudo yum -y upgrade
​
替换 yum 源头为 163:
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo(不存在wget命令则 yum install wget)
mv CentOS6-Base-163.repo CentOS-Base.repo
yum clean all 
yum makecache
yum update
​
linux系统yum源中已经没有对应的安装包,需安装 EPEL(Extra Packages for Enterprise Linux)企业版Linux额外包,PHEL分布非标准包的社区类库。安装如下:
yum install -y epel-release
​
sudo yum install -y postgis
  1. 初始化 pg 数据库

安装后需要初始化 pg,才能 navicat 连接到 pg 数据库。

mkdir /var/lib/psql/data
​
postgresql-setup initdb
​
sudo systemctl start postgresql
​
sudo systemctl status postgresql 
​
netstat -nlp | grep 5432
​
# 看到 状态为 active 且端口起了即可
​
su - postgres
​
alter role postgres with password 'postgres'
​
\q
​
# 修改监听地址
vi /var/lib/pgsql/data/postgresql.conf
​
#listen_addresses='localhost'
# 将上面这行改成如下
listen_addresses='*'# 设置所有网段IP可以访问
vi /var/lib/pgsql/data/pg_hba.conf
​
# IPv4 remote address connections:
host    all         all         0.0.0.0/0                 trust
  1. 创建数据表并造数据

测试数据库:

ip 5432 postgres/postgres

heatmap 表结构:

类型长度
idint432
logitudefloat853
latitudefloat853
countint432
geomgeometry0

注意:字段 longitude,latitude,count,geom是必须项。其中 geom 对象类型是 geometry,且其值由经纬度生成,执行如下sql生成:

update heatmap set geom=(ST_GeomFromText('POINT(' || longitude || ' ' || latitude || ')', 4326))
  1. 启动 geoserver

image-20220902113226800.png

# 在如图目录下,执行命令:
./startup.sh

等待一会,即可打开页面:

http://localhost:8080/geoserver/web

image-20220902113444246.png

如图所圈是经常使用的功能。

  • 工作空间:用于归类。
  • 存储仓库:创建矢量数据源、栅格数据源或其他。一般用于引入 .shp 文件,引入 postgis 数据表,引入 .tiff 瓦片图等。
  • 图层:创建存储仓库并发布生成。

发布热力图

Geoserver可以读取 pg 数据表数据,然后通过设置sld(geoserver的样式文件),能够将图层显示成热力图的效果。

具体过程参考:www.freesion.com/article/244…

参考

geoserver 官网-快速开始

  • 热力图:

空间数据入库及GeoServer生成热力图过程(推荐,实测可行)

OPENLAYERS 添加 GEOSERVER发布的HEATMAP(推荐)

官方热力图生成方案

  • 瓦片篇:

geoserver发布arcgis瓦片服务(实测可行,但显示空白)

geoserver集成以及部署arcgis server瓦片数据

使用GeoServer(GeoWebCache插件)发布ArcGIS切片地图

geoserver 发布地图瓦片影像数据(tif后缀)

使用 geoserver 创建瓦片