2021-05-21
geoserver初探
gis 评论:0 浏览:75

转载请注明出处:https://oldnoop.tech/c/211.html

安装geoserver

在geoserver的官网或者sourceforge下载geoserver的bin.zip压缩包

解压缩
目录结构包括
|--bin 命令目录
|--data_dir 数据目录
|--etc 环境参数配置目录
|--lib jar包目录
|--logs 日志目录
|--resources 资源文件目录
|--webapps web资源文件目录

运行bin目录下的startup.bat

浏览器访问 http://localhost:8080/geoserver

右上角,使用默认的用户名和密码登录, 用户名:admin 密码: geoserver

也可以下载war包,放在tomcat容器中运行

源代码运行

下载源代码,导入IDE,maven编译失败,一共200多个工程,特别是早期版本

很多的依赖jar包的所在仓库已经废弃,或者仓库中的jar包版本号已经被修改,导致无法下载,

改动的地方非常多,200多个工程的pom文件,暂时踩坑

换种思路, 

创建普通web工程

在IDE中创建普通的web工程,这里命名工程为geoserver, 

准备源代码

下载源代码,在github下载,选择指定的tag下载带有小版本号的版本,

下载后的src文件夹重命名为source,将source文件夹复制到IDE的geoserver工程根目录下

依次将source文件夹下的各个模块的src/main/java,和src/main/resources文件夹,设置为源代码目录

对于community和extension两个文件夹,如果没有用到,可以暂不加入源代码目录

准备web资源文件

下载对应版本的war包,在sourceforge下载,解压缩,再将geoserver.war

将geoserver中的 data文件夹, WEB-INF 文件夹 和 index.html 都复制到IDE中的web根目录下,eclipse中默认是WebContent

这里说明一下, geoserver的数据目录, 在bin.zip包中默认是data_dir文件夹, 在war包中是默认data文件夹

运行源代码工程

添加tomcat的web运行时环境, 

可以修改 启动超时时间timeout 为600秒,以便以debug模式启动可以进行调试

可以修改 端口号不使用8080,这里设置为38080,避免和现有的开发使用的端口冲突

浏览器访问 http://localhost:38080/geoserver, 使用默认的用户名和密码 admin , geoserver 登录

自动发布

通过geoserver的web页面,来发布工作区,命名空间,数据存储,样式,图层,图层组,切片等都需要手工操作,

这里提出自动发布的概念,有什么意义?

目的

1)测试,提高数据准备阶段的效率, 进而为自动化测试提供支持

2)批量发布场景,采用流水线作业, 运维操作 代码化, 流水线操作支持

3)容器服务编排,制作docker镜像等提供支持

手工发布的操作流程

在geoserver的web页面,进行各种发布的操作,都会生成对应的文件,这里采用的思想 和jenkins 的实现思想一样,生成的文件,可以复制到别的server上复用

所以,这里,只要分析,各种操作,生成了哪些文件,以及文件的内容是哪些,就可以 实现 自动发布

这里针对一个系统自带的例子,工作空间tiger,存储nyc,图层组tiger-ny,图层 tiger:giant_polygon,tiger:poi,tiger:poly_landmarks,tiger:tiger_roads为例

1) 创建工作区

数据目录(data_dir)/workspaces/工作区名称tiger/workspace.xml,namespace.xml

2)创建数据存储

在数据目录(data_dir)/data/数据存储名nyc,这个可以随意,为统一管理,一般为一种地图数据指定一个见名知意的文件夹

数据目录(data_dir)/workspaces/工作区名tiger/数据存储名nyc/datastore.xml

3)创建样式

数据目录(data_dir)/styles/样式名.sld

数据目录(data_dir)/styles/样式名.xml

这个例子中没有使用新的样式,记录在这里,在实际用到的场景可以考虑

4)创建图层

数据目录(data_dir)/gwc-layers/LayerInfoImpl--xxx-yyy1.xml

这里有4个文件

5)创建图层组

数据目录(data_dir)/gwc-layers/LayerGroupInfoImpl--xxx-yyy5.xml

LayerGroupInfoImpl--570ae188_124761b8d78_-7fad.xml

通过上面的文件名称,以及文件中的内容,发现是很有规律可循的,

可以按照这些规律,自动生成以上的文件,并存放到对应的文件夹,完成自动发布



  • 转载请注明出处:https://oldnoop.tech/c/211.html
验证码

Copyright © 2018 oldnoop.tech. All Rights Reserved

鄂ICP备18003018号