目录
2.2 在系统变量区域新建一个JAVA_HOME,变量值为上一步JDK安装目录
2.3 编辑PATH变量,新增环境变量%JAVA_HOME%\bin
2.4 新增系统变量CLASSPATH,变量值输入.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)
2.5 连续点击确定保存之后,打开命令提示符窗口,输入“java -version”,按回车键之后,出现jdk的版本,代表jdk环境变量配置成功
4.1 部署postgres,基本下一步下一步确定就好了,密码自定义
4.2 部署postgis,安装在postgres同目录下,基本下一步下一步是是是确定就好了,密码,空间库名称自定义
4.3 重启电脑,然后链接postgres以及postgis,看是否成功
6.3 geoserver跨域,要么修改web.xml,要么部署nginx代理转发
1 准备的软件
1.1 主要软件
tomcat+postgres+postgis+jdk+qgis+geoserver;
1.2 辅助软件
解压包+浏览器+cesiumLab+npp
2 部署jdk以及环境变量
下一步下一步,点点点,然后关闭
2.1 右击我的电脑->属性->高级系统设置->环境变量
2.2 在系统变量区域新建一个JAVA_HOME,变量值为上一步JDK安装目录
2.3 编辑PATH变量,新增环境变量%JAVA_HOME%\bin
2.4 新增系统变量CLASSPATH,变量值输入.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)
2.5 连续点击确定保存之后,打开命令提示符窗口,输入“java -version”,按回车键之后,出现jdk的版本,代表jdk环境变量配置成功
3 部署tomcat以及环境变量
3.1 下载后解压
3.2 找到 tomcat 解压路径,配置三个环境变量
(注意红色区域都要拷贝放进去)
新建 CATALINA_HOME 环境变量,CATALINA_HOME = C:\Users\54061\Desktop\apache-tomcat-8.5.61
新建 CATALINA_BASE 环境变量,CATALINA_BASE = C:\Users\54061\Desktop\apache-tomcat-8.5.61
修改 Path ,在 Path 后添加 ;%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;
3.3 启动tomcat,查看到8080页面说明成功
4 部署postgres以及postgis以及环境变量
4.1 部署postgres,基本下一步下一步确定就好了,密码自定义
倘若遇见An error occured executing the Microsoft VC++ runtime installer警告窗体
则cmd该存放安装包的目录,输入如下命令:postgresql-9.6.18-1-windows-x64.exe --install_runtimes 0
4.2 部署postgis,安装在postgres同目录下,基本下一步下一步是是是确定就好了,密码,空间库名称自定义
4.3 重启电脑,然后链接postgres以及postgis,看是否成功
5 部署安装QGIS,设置中文以及链接PostGIS空间库
5.1 部署安装QGIS,基本是下一步下一步确定点点点
5.2 设置中文,选择完成重启该软件
重启该软件
5.3 链接PostGIS空间库
5.4 数据通过QGIS导入PostGIS空间库
5.5 通过QGIS设置图层的样式sld
6 部署安装geoserver以及注意事项
6.1 部署安装geoserver
把geoserver包复制进该文件夹目录下,点击tomcat目录中bin文件夹下的startup.bat文件,启动该项目
安装谷歌浏览器,能访问该页面说明成功,账号密码:admin/geoserver
6.2 geoserver自定义切片地址
安装npp辅助软件,geoserver设置切片缓存路径:
"C:\Users\administrator\Desktop\apache-tomcat-8.5.61\webapps\geoserver\WEB-INF\web.xml"
<!--配置切片存放路径 -->
<context-param>
<param-name>GEOWEBCACHE_CACHE_DIR</param-name>
<param-value>C:\Users\54061\Desktop\geoserverData</param-value>
</context-param>
6.3 geoserver跨域,要么修改web.xml,要么部署nginx代理转发
一般各版本的windows安装包中会包含跨域需要的jar包,所以可以把该jar包(一般是2个)拷贝到各个lib!具体如下:
安装成功后在安装目录可以看到如下结构:
复制jetty-servlets-9.4.18.v20190429.jar、jetty-util-9.4.18.v20190429.jar两个包至geoserver\webapps\geoserver\WEB-INF\lib文件夹中
打开WEB-INF下的web.xml进行如下配置
将下面注释调的内容取消注释,大概在170行和225行。
<filter>
<filter-name>cross-origin</filter-name>
<filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
<init-param>
<param-name>chainPreflight</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>allowedOrigins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>allowedMethods</param-name>
<param-value>GET,POST,PUT,DELETE,HEAD,OPTIONS</param-value>
</init-param>
<init-param>
<param-name>allowedHeaders</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>cross-origin</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
或者将上述内容复制过去也可。
然后重启geoserver服务即可解决跨域问题。(我本身2.17.2,用了2.18.0的jar包 有用)
7 geoserver发布地图
进入geoserver界面,把图层,存储,工作区,样式能删除的全部删除
7.1 geoserver发布wms以及wfs
7.1.1 先建立工作区
7.1.2 添加数据存储
7.1.3 点击图层添加新资源并发布数据
7.1.4 点击图层预览,选择openlayer
7.1.5 选择样式,添加样式,并验证无问题
7.1.6 点击图层->发布
7.1.7 样式加载请注意: 倘若遇到这种问题
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE ServiceExceptionReport SYSTEM "http://localhost:8080/geoserver/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd"> <ServiceExceptionReport version="1.1.1" > <ServiceException>
The requested Style can not be used with this layer. The style specifies an attribute named 'YDXZ', not found in the 'GHSJ_TDGH_MBNGH_GTKJZTGH' layer
</ServiceException></ServiceExceptionReport>
一般是QGIS图层生成的sld为大写的字段名称,而geoserver为小写的,所以要替换成小写的,把sld打开,例如字段名称:YDDM替换成yddm,解决!
7.1.8 WFS查看
图层预览中->所有格式->中选择GeoJson
7.2 geoserver发布wmts
就是基于发布得WMS进行切片
7.2.1 切片之前建立自己的对应坐标系网格集
7.2.2 缓存默认修改
7.2.3 切片图层点击Seed/Truncate
7.2.4 GWC填写提交
7.3 注意:Geoserver发布影像时黑背景问题
在图层数据中修改如下:
7.4 注意:Geoserver发布存在的几个问题
其中部署tomcat8和9两个版本
部署geoserver好几个版本,分别测试
第一:windows安装版本 在windows上安装 无论windows10还是windows server服务器都能正常运行,比如发布wms wmts wfs一切正常;
第二:windows10部署tomcat包 启动geoserver.war包会存在若干问题!有时候删除本身首次启动自带图层,样式,图层组,存储区,工作区,重启一下 这些又回来了,等于是重启了,初始化了所有参数,但是windows server服务器部署tomcat包 启动geoserver.war就不存在这些问题,一切都正常;
第三:linux部署tomcat包 启动geoserver.war包会存在若干问题!但是不能切片,也就是wmts,报错找不到该图层!其他功能目前测试正常!
这是折腾了我三天找到的不同地方!起初吓我一跳,以为哪里出了问题!后面确定是软件或环境会导致不同的功能差异!
7.5 注意:Geoserver发布存切片谨慎注意的过程
存在一个按需切片或者预制切片
(1)发布wfs没问题,不用管,但是在Tile Layers中点击Seed/Truncate,在提交的submit过程中默认是按需切片,就是你点击它会无效,不执行切片工作
(2)你要在GeoServer的Web管理页面窗口的左边单击"Tile Caching"中的"Tile Layers"链接,在右边窗口进入Tile Layers页面。
单击"Add a new cached layer",进入New Cached Layer页面,再勾选"mymvt:CSZTGH",并点击“Configure selected layers with caching defaults"。(如果Tile Layers已经存在该mymvt:CSZTGH选项,那么先移除它Remove selected cached layers,再来单击"Add a new cached layer",进入New Cached Layer页面,再勾选"mymvt:CSZTGH",并点击“Configure selected layers with caching defaults",后面submit就执行预制切片,就没有什么问题了)