Geoserver+Openlayers+MySQL设计思想,GeoServer服务器搭建(Docker构建镜像)



相关博文原文地址:
CSDN:龙泉太阿:GIS解决方案(1):geoserver+openlayers+mysql设计思想
简书:ZWalter:Docker 制作geoserver镜像
CSDN:不睡觉的怪叔叔:GeoServer一:GeoServer的安装与初步使用



一、geoserver+openlayers+mysql主要设计思想

GIS服务端geoserver和GIS客户端openlayers技术,数据源关注Shapefile文件。

在这里插入图片描述

1.1 Geoserver

点击跳转官网官网

  1. 地理信息系统服务器,是 OpenGIS Web 服务器规范的 J2EE 实现,开源项目;
  2. 兼容 WMS 和 WFS 特性;
  3. 支持 PostGIS 、 Shapefile 、 ArcSDE 、 Oracle 、 VPF 、 MySQL 、 MapInfo数据源;
  4. 支持上百种投影,能够将网络地图输出为 jpeg 、 gif 、 png 、 SVG 、 KML 等格式;
  5. 能够运行在任何基于 J2EE/Servlet 容器之上;
  6. 嵌入 MapBuilder 支持 AJAX 的地图客户端OpenLayers;

1.2 Openlayers

点击跳转官网

  1. 专为Web GIS 客户端开发提供的JavaScript 类库包,用于实现标准格式发布的地图数据访问,开源项目;
  2. 支持的地图来源包括Google Maps、Yahoo、 Map、微软Virtual Earth 等,用户还可以用简单的图片地图作为背景图,与其他的图层在OpenLayers 中进行叠加;
  3. 实现访问地理空间数据的方法都符合行业标准。支持Open GIS 协会制定的WMS(Web Mapping Service)和WFS(Web Feature Service)等网络服务规范;
  4. 可以通过远程服务的方式,将以OGC 服务形式发布的地图数据加载到基于浏览器的OpenLayers客户端中进行显示;

1.3 shapefile

  1. Shapefile文件是描述空间数据的几何和属性特征的非拓扑实体矢量数据结构的一种格式;
  2. 一个Shapefile文件包括一个主文件(.shp),一个索引文件(.shx),一个dBASE表文件(.dbf)和一个空间参考文件(.prj)。

二、Geoserver服务器搭建

GeoServer是基于Java开发的。因此在安装之前,必须确保安装了Java。

2.1 Docker 制作geoserver镜像

  1. 提前下载好jdk和tomcat,通过ftp移动到虚拟机 /home/mydocker 下
  2. 新建目录dock-geoserver
  3. 解压相关文件到对应文件夹,并修改文件夹名称以便后续操作。
# 解压到指定目录
unzip geoserver-2.11.0-bin.zip -d dock-geoserver/

# 重命名
mv geoserver-2.11.0 geoserver

# 修改geoserver的监听端口,默认8080,防止冲突
# cd 到geoserver目录下,修改start.ini中的监听port为9090.保存退出

2.1.1 编写Dockfile制作jdk1.8镜像

  1. 在dock-jdk1.8下新建Dockerfile
# 基础镜像,基于openjdk:8-jre-alpine操作系统
FROM openjdk:8-jre-alpine
# 移动geoserver文件夹到/usr/local/geoserver 下
ADD geoserver /usr/local/geoserver
# 配置环境变量
ENV GEOSERVER_HOME /usr/local/geoserver
# 暴露9090端口
EXPOSE 9090
# 设置镜像启动时执行的命令
ENTRYPOINT ["sh","/usr/local/geoserver/bin/startup.sh"]

保存并退出,执行 build 操作,制作镜像。

# 注意最后有一个 . 代表在当前目录执行操作
docker build -t mydocker/geoserver .

最后显示build successfully,即表示镜像制作成功。

2.1.2 通过docker镜像运行geoserver

# 可以看到刚生成的geoserver镜像
docker images
# 执行geoserver镜像
docker run -d --name geoserver -p 9090:9090 mydocker/geoserver 
# 查看geoserver镜像是否运行
docker ps

然后我们就可以访问虚拟机ip:9090/geoserver看到geoserver。

2.2 GeoServer初试

GeoServer的控制和管理是基于网页形式,所有和GeoServer相关的操作都要通过这个Web管理界面来进行,包括全局设置、数据发布与服务配置等。

在GeoServer的Web管理页面中输入用户名与密码进行登录。如果是默认安装,那么用户名为"admin",密码为"geoserver"。

http://localhost:9090/geoserver/web/

登录以后,可看到如下所示页面:
在这里插入图片描述
GeoServer使用的是图层与图层组的概念。将在服务器上准备发布为服务的数据定义为一组数据集,然后规定在发布为Web服务时的一些参数。

2.2.1 图层预览

在GeoServer的Web管理页面的左边菜单的”数据“部分,单击”Layer Preview"菜单项,将在页面的右边部分列出了所有可预览的图层。向下滚动滚动条,滚动到topp:tasmania_state_boundaries,如下图所示,然后单击OpenLayers链接。

在这里插入图片描述
这会将地图显示为可漫游的Web服务。该服务满足OGC的WMS规范。地图的框架与漫游按钮都是基于OpenLayers JavaScript框架创建的。

在这里插入图片描述
此外,还可以从每行的最右边的下拉列表框中选择"WMS>OpenLayers",实现同样的功能。仔细查看下拉列表框中的内容,了解GeoServer支持的不同输出格式。
在这里插入图片描述

原文地址:https://www.cnblogs.com/aixing/p/13327229.html