Geoserver+Openlayers+MySQL设计思想,GeoServer服务器搭建(Docker构建镜像)
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
- 地理信息系统服务器,是 OpenGIS Web 服务器规范的 J2EE 实现,开源项目;
- 兼容 WMS 和 WFS 特性;
- 支持 PostGIS 、 Shapefile 、 ArcSDE 、 Oracle 、 VPF 、 MySQL 、 MapInfo数据源;
- 支持上百种投影,能够将网络地图输出为 jpeg 、 gif 、 png 、 SVG 、 KML 等格式;
- 能够运行在任何基于 J2EE/Servlet 容器之上;
- 嵌入 MapBuilder 支持 AJAX 的地图客户端OpenLayers;
1.2 Openlayers
- 专为Web GIS 客户端开发提供的JavaScript 类库包,用于实现标准格式发布的地图数据访问,开源项目;
- 支持的地图来源包括Google Maps、Yahoo、 Map、微软Virtual Earth 等,用户还可以用简单的图片地图作为背景图,与其他的图层在OpenLayers 中进行叠加;
- 实现访问地理空间数据的方法都符合行业标准。支持Open GIS 协会制定的WMS(Web Mapping Service)和WFS(Web Feature Service)等网络服务规范;
- 可以通过远程服务的方式,将以OGC 服务形式发布的地图数据加载到基于浏览器的OpenLayers客户端中进行显示;
1.3 shapefile
- Shapefile文件是描述空间数据的几何和属性特征的非拓扑实体矢量数据结构的一种格式;
- 一个Shapefile文件包括一个主文件(.shp),一个索引文件(.shx),一个dBASE表文件(.dbf)和一个空间参考文件(.prj)。
二、Geoserver服务器搭建
GeoServer是基于Java开发的。因此在安装之前,必须确保安装了Java。
2.1 Docker 制作geoserver镜像
- 提前下载好jdk和tomcat,通过ftp移动到虚拟机 /home/mydocker 下
- 新建目录dock-geoserver
- 解压相关文件到对应文件夹,并修改文件夹名称以便后续操作。
# 解压到指定目录
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镜像
- 在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构建镜像)的更多相关文章
- 架构师成长之路6.6 DNS服务器搭建(构建企业级DNS)
点击返回架构师成长之路 架构师成长之路6.6 DNS服务器搭建(构建企业级DNS) 采用LVS-DR模式负载均衡,多IDC,多套DNS集群,通过master-slave技术保证dns配置的一致性. 1 ...
- 阿里云服务器搭建Docker版AWVS
本文严重参考该文章:https://www.sqlsec.com/2020/04/awvs.html 阿里云服务器搭建Docker版AWVS,因为之前有使用Docker的经验,所以本文只是简述一下安装 ...
- 微服务架构 - 搭建docker本地镜像仓库并提供权限校验及UI界面
搭建docker本地镜像仓库并提供权限校验及UI界面 docker本地镜像仓库的作用跟maven私服差不多,特别是公司级或者是小组级开发好的docker仓库可以上传到本地镜像仓库中,需要用时,直接从本 ...
- 基于 registry 搭建 Docker 私有镜像仓库
今天主要介绍使用 registry 来搭建 Docker私有镜像仓库,方便在公司内部项目中使用,registry 也是 Docker 官方提供的一个镜像,操作也很简单. dockerhub: http ...
- 关于mysql集群主从服务器搭建
在高并发流量下,数据库往往是服务端的瓶颈,由于数据库数据需要确保落地,同时保证数据同步,数据即时性,有效性的问题,导致数据库不能像平常后端程序一样负载均衡. 那么在大并发下,该如何缓解数据库的压力呢? ...
- mysql在一台服务器搭建主从
注:本环境事先执行rm -rf /usr/local/mysql 以方便实验. 1. 主与从,类似于A机器和B机器的连接,通过bin_log和rpel_log 进行数据连接 2. 如图所示: 3. ...
- mysql在一台服务器搭建主从1
1. 登录mysq的方法: mysql-S /tmp/mysql.sock 登录3306 mysql -S /tmp/mysql_slave.sock 登录3307 mysql -h 127.0. ...
- centos7系统下搭建docker本地镜像仓库
## 准备工作 用到的工具, Xshell5, Xftp5, docker.io/registry:latest镜像 关于docker的安装和设置加速, 请参考这篇博文centos7系统下 docke ...
- 搭建docker 私有镜像仓库
前期准备 服务器:centos 7.3 docker-ce: 18.06.1-ce docker-compose: 1.22.0 docker 安装 首先,更新系统 yum update yum up ...
随机推荐
- STM32串口中断的一些资料
在研究STM32串口接收发送中断的时候找到不少不错的资料,现在备份在这里.以供自己查阅,以及方便其他人. TC ====TXE 顺便预告下最近会写个有关串口处理数据的帖子,从查询和中断方面以及数据处理 ...
- python 虾米停服了...用python爬取虾米最近播放的1000首歌
1. 虾米关服 在这里插入图片描述 用了5年多的音乐软件就这么说关就关了,确实让人心里不好受 ,虽然再去一个新的app里,让它们的算法熟悉你的喜好也不是很困难,可我还是习惯虾米的界面.虾米现在可以支持 ...
- RPC框架学习+小Demo实例
一.什么是RPC协议? 全称:远程过程调度协议 效果:使消费者向调用本地方法一样调用远程服务方法,对使用者透明 目前常用:Dubbo.Thirft.Sofa.... 功能: 建立远程通信(socket ...
- 杭电OJ2007----平方和与立方和(易错题)
Problem Description 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和. Input 输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成. Out ...
- 【对线面试官】Java NIO
服务端: public class NoBlockServer { public static void main(String[] args) throws IOException { // 1.获 ...
- SpringBoot入门 简单搭建和使用
前言 差不多两年前,那个时候我准备要做毕业设计了,才第一次知道java有框架这种东西,在网上找了好多SSM的教程,那会儿真的是Spring+SpringMVC+MyBatis搭建的,印象极深的是还要写 ...
- JAR冲突问题的解决以及运行状态下如何查看加载的类
今天碰到群里小伙伴问,线上程序好像有多个不同版本的Netty包,怎么去看到底加载了哪一个? 在说如何看之前,先来说说,当你开始意识到项目里有多个不同版本的Jar包,都是因为遇到了这几个异常: java ...
- docker logs 查看容器日志操作
查看日志 官方文档:https://docs.docker.com/engine/reference/commandline/logs/ # 查看指定数量的实时日志 # docker logs -tf ...
- mysqldump 的-T参数
/usr/local/mysql/bin/mysqldump -uroot -T /tmp lina xuehao 把lina数据库中的xuehao表在tmp目录下备份出来两个文件,一个是纯数据.tx ...
- LeetCode700. 二叉搜索树中的搜索
题目 简单递归 1 class Solution { 2 public: 3 TreeNode* searchBST(TreeNode* root, int val) { 4 if(!root) re ...