1.Linux服务器安装Geoserver
注:确保系统已经有Java环境,GeoServer要求具备Java8或Java11环境
进入下载界面 /release/stable/ 选择独立于平台的二进制版本下载
官方推荐安装路径为/usr/share/geoserver
添加环境变量,给当前用户添加文件权限
echo "export GEOSERVER_HOME=/usr/share/geoserver" >> ~/.profile. ~/.profile# USER_NAME 当前用户名sudo chown -R USER_NAME /usr/share/geoserver/
编辑start.ini文件修改端口号,这里修改为8787端口,默认是8080
启动geoserver服务
# 进入到bin目录,授予执行 .sh的权限cd /usr/share/geoserver/binchmod u+x *.sh# 后台执行启动的.sh脚本并保持一直运行nohup ./startup.sh &# 打开服务器的对应8787端口firewall-cmd --add-port=8787/tcp --permanent# 重新加载防火墙firewall-cmd --reload
在浏览器中访问服务器的8787端口加geoserver就能访问了
示例 : http://172.16.42.178:8787/geoserver/
初始账号密码: admin/geoserver
2. 安装 postgresql数据库及Postgis 扩展
注:本文以linux CentOS7 x86架构系统为例,其他类型的操作系统的安装请参考官网:
/download/
2.1 postgresql数据库安装及使用
下载、安装、启动
# 下载安装包 repository RPM:sudo yum install -y /pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 下载 PostgreSQL:sudo yum install -y postgresql14-server# 初始化数据库 以服务方式自启动:sudo /usr/pgsql-14/bin/postgresql-14-setup initdbsudo systemctl enable postgresql-14sudo systemctl start postgresql-14
配置、创建数据库
使用postgres用户登录(PostgresSQL安装后会自动创建postgres用户,无密码, 不用担心放心大胆走), 然后登录数据库
# 用postgres用户su - postgres # 登录数据库psql
创建用户和数据库并授权
# 创建用户create user jmzhsq_tx with password 'giseryin'; # 创建数据库 create database jmzhsq_tx owner jmzhsq_tx; # 授权, 就是把创建的数据库授权给你创建的用户 grant all privileges on database jmzhsq_tx to jmzhsq_tx; # 退出psql(输入 \q 再按回车键即可), 就是进入一个bash了\q
开启远程访问
修改/var/lib/pgsql/14/data/postgresql.conf文件,取消 listen_addresses 的注释,将参数值改为“*”, 原本是localhost的, 改成 *
修改/var/lib/pgsql/14/data/pg_hba.conf 文件
开放postgresql远程访问端口
# 打开数据库的对应5432端口firewall-cmd --add-port=5432/tcp --permanent# 重新加载防火墙firewall-cmd --reload
重启postgresql服务 ,测试数据库连接
systemctl restart postgresql-14.service
2.2 Postgis 安装及使用
# PostGIS从2.0之后,要安装很多依赖组件,为了便于依赖组件的安装,先安装`epel (Extra Packages for Enterprise Linux)`yum install epel-release # 查看可用的postgis的包,选择和postgresql-14对应的所有版本,建议安装:postgis32_14.x86_64 yum list postgis*# 安装postgis组件,全部确定、继续yum install postgis32_14.x86_64 # 安装成功后可以利用命令查看安装信息rpm -qi postgis32_14
登录数据库,添加postgis 扩展
#切换数据库系统用户 postgressu - postgres# 登录创建的数据库 -U 用户名 -h 数据库IP -p 数据库端口 -d 数据库名称# psql -U jmzhsq_tx1 -d jmzhsq_tx1 -h 192.168.10.224 -p 5432# psql -# 添加Postgis扩展# Enable PostGIS (as of 3.0 contains just geometry/geography)CREATE EXTENSION postgis;# enable raster support (for 3+)CREATE EXTENSION postgis_raster;# Enable TopologyCREATE EXTENSION postgis_topology;# Enable PostGIS Advanced 3D# and other geoprocessing algorithms# sfcgal not available with all distributionsCREATE EXTENSION postgis_sfcgal;# fuzzy matching needed for TigerCREATE EXTENSION fuzzystrmatch;# rule based standardizerCREATE EXTENSION address_standardizer;# example rule data setCREATE EXTENSION address_standardizer_data_us;# Enable US Tiger GeocoderCREATE EXTENSION postgis_tiger_geocoder;
验证Postgis扩展
select postgis_version();
2.3 pg 数据库导入shp图形数据
QGIS安装
qgis官网下载对应系统版本的安装包 /en/site/forusers/download.html ,按步骤下载安装即可
新建数据库连接
添加本地矢量图层
打开工具箱,使用 【Export to Postgresql】工具将图形导入到pg数据库中
刷新数据库,看到刚导入的数据
3. GeoServer 发布wms、wmts地图服务
3.2 wms 矢量要素发布
添加新的工作空间
添加新的存储仓库,选择数据源,这里选择数据源为postgis,填写数据库基本信息,保存
添加新的图层,并发布
发布栏选择图层样式
图层预览查看发布图层
3.3 wmts 切片服务发布
**wmts服务的发布基于wms,在此基础上进行切片并在服务器上存储为栅格图片 提高地图加载效率,本文以GeoTiff格式的卫星影像为例进行 wmts服务的发布**