相关博文原文地址:

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支持的不同输出格式。

Geoserver+Openlayers+MySQL设计思想,GeoServer服务器搭建(Docker构建镜像)的更多相关文章

  1. 架构师成长之路6.6 DNS服务器搭建(构建企业级DNS)

    点击返回架构师成长之路 架构师成长之路6.6 DNS服务器搭建(构建企业级DNS) 采用LVS-DR模式负载均衡,多IDC,多套DNS集群,通过master-slave技术保证dns配置的一致性. 1 ...

  2. 阿里云服务器搭建Docker版AWVS

    本文严重参考该文章:https://www.sqlsec.com/2020/04/awvs.html 阿里云服务器搭建Docker版AWVS,因为之前有使用Docker的经验,所以本文只是简述一下安装 ...

  3. 微服务架构 - 搭建docker本地镜像仓库并提供权限校验及UI界面

    搭建docker本地镜像仓库并提供权限校验及UI界面 docker本地镜像仓库的作用跟maven私服差不多,特别是公司级或者是小组级开发好的docker仓库可以上传到本地镜像仓库中,需要用时,直接从本 ...

  4. 基于 registry 搭建 Docker 私有镜像仓库

    今天主要介绍使用 registry 来搭建 Docker私有镜像仓库,方便在公司内部项目中使用,registry 也是 Docker 官方提供的一个镜像,操作也很简单. dockerhub: http ...

  5. 关于mysql集群主从服务器搭建

    在高并发流量下,数据库往往是服务端的瓶颈,由于数据库数据需要确保落地,同时保证数据同步,数据即时性,有效性的问题,导致数据库不能像平常后端程序一样负载均衡. 那么在大并发下,该如何缓解数据库的压力呢? ...

  6. mysql在一台服务器搭建主从

    注:本环境事先执行rm -rf /usr/local/mysql   以方便实验. 1. 主与从,类似于A机器和B机器的连接,通过bin_log和rpel_log 进行数据连接 2. 如图所示: 3. ...

  7. mysql在一台服务器搭建主从1

    1. 登录mysq的方法:  mysql-S /tmp/mysql.sock 登录3306  mysql -S /tmp/mysql_slave.sock 登录3307 mysql -h 127.0. ...

  8. centos7系统下搭建docker本地镜像仓库

    ## 准备工作 用到的工具, Xshell5, Xftp5, docker.io/registry:latest镜像 关于docker的安装和设置加速, 请参考这篇博文centos7系统下 docke ...

  9. 搭建docker 私有镜像仓库

    前期准备 服务器:centos 7.3 docker-ce: 18.06.1-ce docker-compose: 1.22.0 docker 安装 首先,更新系统 yum update yum up ...

随机推荐

  1. Nginx压力测试问题

    [root@aa~]# This is ApacheBench, Version 2.3 <Revision:655654Revision:655654> Copyright 1996 A ...

  2. python在线练习

    不管学习那门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言一定要做项目才行. 这里整理了70个Python实战项目列表,都有完整且详细的教程,你可以从中选择自 ...

  3. linux hosts_access

    linux hosts_access 概要 tcp连接的访问控制功能,通过libwrap提供,即编译到代码里的访问控制功能 可以通过ldd 命令查看程序是否链接了libwrap库 主要根据程序名称,以 ...

  4. 一文教你轻松搞定ANR异常捕获与分析方法

    1. ANR 产生原理 关于 ANR 的触发原因,Android 官方开发者文档中 "What Triggers ANR?" 有介绍,如下: Generally, the syst ...

  5. 史上最全的pycharm快捷键!快进来点个收藏吧

    Alt+Enter 自动添加包 Ctrl+t SVN更新 Ctrl+k SVN提交 [编辑类:](https://link.zhihu.com/?target=https://www.jianshu. ...

  6. 数据库的查询(结合YGGL.sql)

    (如有错误,欢迎指正!) 1.select 语句查询 (1)查询employees表员工部门号和性别,要求消除重复行. mysql> select distinct 员工部门号,性别 from ...

  7. Redis守护进程作用+数据类型

    Redis开启守护进程的作用: 在 linux 中,每一个系统与用户进行交流的界面称为终端 如果没有开启守护进程,相当于知识在前台开启了Redis,当终端关闭时,Reids服务也会跟着关闭 而开启守护 ...

  8. shellSyntax.md

    shell #! /bin/bash 头文件 echo -e 若字符串出现特殊字符,则特别处理      -n 不要在最后自动换行     ./filename.sh sh filename.sh r ...

  9. Go语言从入门到放弃(设置 go get 为国内源)

    前言 Go语言学到 Gin 框架了, 其实每天学习是比较辛苦的事情, 坚持下去! 在使用 Go 过程中发现, 最无奈的是Go的一些模块下不下来, 即便挂了V, 油管2k不卡的那种, 依旧是 time ...

  10. Linux Bash Shell常用快捷键

    Linux Bash Shell常用快捷键 table { margin: auto } 快捷键 功能 tab 补全 ctrl + a 光标回到命令行首 ctrl + e 光标回到命令行尾 ctrl ...