怎么开通地图服务 自己搭建地图服务器



文章插图
怎么开通地图服务 自己搭建地图服务器

文章插图

一、前言
在2020年之前 , 从未接触过相关Gis的开发技术 , 和大家一样 , 只是调用过百度地图、谷歌地图开放的API , 实现地图的展示功能 。对于GIS的理解 , 只在效果上 , 从来不知道 , 地图是如何实现的 。2020年 , 本人有幸参与国家铁路设计院 , 对于全国铁路及地理空间矢量化、路径搜索、铁路大数据分析的项目需求 , 才对Gis进行深入的学习 , 通过学习指导实践 , 最终完成系统的设计和开发 。基于此项目的理解 , 将所学到的知识做下总结 , 同时分享给大家 。
二、概念
? GIS:全称Geographic Information System , 中文:地理信息系统
? OGC标准: 开放地理联合会是一个参与一致进程以开发公开地理处理规格的384家公司、政府机构、大学和个人组成的国际行业联合会 。由OpenGIS规格定义的开放接口和协议 , 支持可互操作的解决方案 , 网络、无线和定位服务和主流IT 。让复杂的空间信息和服务在各种应用可以被授权技术开发人员使用 。开放地理联合会协议包括网络地图服务WMS和网络功能服务WFS 。地理信息系统由OGC产品划分为两大类型,基于遵循OGC规格的完整准确的软件 。地理信息系统技术标准促进GIS工具进行交流 。兼容的产品是符合OpenGIS规范的软件产品 。当一个产品经过测试,并通过OGC测试项目证明是兼容的,这个产品就在这个地点上自动注册为“兼容” 。现实软件产品,即实现OpenGIS规格但还没有通过兼容测试的软件产品 。合规测试不可作用于所有的规格 。开发者可以注册他们的产品为实施草案或经核准的规范 , 而OGC有权审查和确认每个条目 。
? WMS地图服务(OpenGIS Web Map Service) , 将地图数据发布为WEB服务 , 提供网络地图图片 , 有三个基本操作:
l GetCapabitities 返回服务级元数据 , 它是对服务信息内容和要求参数的一种描述;
l GetMap 返回一个地图影像 , 其地理空间参考和大小参数是明确定义了的;
l GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息
? WMTS:访问已经切成瓦片分层的数据
? WFS要素服务(Web Feature Service)目的是提供对矢量地图的查询、编译等操作 。
l GetCapabilites 返回Web要素服务性能描述文档(用XML描述);
l DescribeFeatureType 返回描述可以提供服务的任何要素结构的XML文档;
l GetFeature 一个获取要素实例的请求提供服务;
l Transaction 为事务请求提供服务;
l LockFeature 处理在一个事务期间对一个或多个要素类型实例上锁的请求 。
? WCS地理覆盖服务(Web Coverage Service) , 目标是发布原始栅格数据 。(栅格数据就是将空间分割成有规律的网格 , 每一个网格称为一个单元 , 并在各单元上赋予相应的属性值来表示实体的一种数据形式)
l GetCapabilities 操作返回描述服务和数据集的XML文档 。
l n GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能够获取之后执行的 , 它使用通用的覆盖格式返回地理位置的值或属性 。
l DescribeCoverageType 操作允许客户端请求由具体的WCS服务器提供的任一覆盖层的完全描述 。
? GML: Geography Markup Language. 一种用于描述地理数据的XML 。
【怎么开通地图服务 自己搭建地图服务器】三、搭建地图服务器(geoserver)
本人拙见:geoserver是一个开源的地图服务引擎 , 能够发布和管理地理空间数据(即图层数据) , 同时提供丰富的API服务 , 供用户进行地理空间数据的增删改查 。
Geoserver内置Openlayers库(用于开发WebGIS客户端的JavaScript包 , 最初基于BSD许可发行 , OpenLayers是一个开源的项目 , 其设计之意是为互联网客户端提供强大的地图展示功能 , 包括地图数据显示与相关操作 , 并具有灵活的扩展机制) 。如果前端项目集成OpenLayers库 , 即可通过API调用方式 , 获取到Geoserver发布的地理空间数据 。
官方定义:GeoServer是用Java编写的开放源代码软件服务器 , 允许用户共享和编辑地理空间数据 。为实现互操作性而设计 , 它使用开放标准发布来自任何主要空间数据源的数据 。
GeoServer允许您向世界显示您的空间信息 。实施Web地图服务(WMS)标准 , GeoServer可以创建各种输出格式的地图 。一个免费的地图库OpenLayers已集成到GeoServer中 , 从而使地图生成快速简便 。GeoServer基于GeoTools(一种开放源Java GIS工具包)构建 。
除了精美的地图外 , GeoServer还有更多功能 。GeoServer符合Web Feature Service(WFS)标准和Web Coverage Service(WCS)标准 , 该标准允许共享和编辑用于生成地图的数据 。GeoServer还使用Web Map Tile Service标准将发布的地图拆分为图块 , 以方便Web地图和移动应用程序使用 。
GeoServer是一个模块化应用程序 , 通过扩展添加了附加功能 。Web Processing Service扩展扩展了丰富的处理选项 , 您甚至可以编写自己的处理选项 , 使其他人可以将您的数据整合到他们的网站和应用程序中 , 从而释放您的数据并提高透明度 。
(1)、安装包获取
方式1:官网下载geoserver安装包:http://geoserver.org/release/stable/
方式2:下载源码进行编译
java源码地址:https://github.com/geoserver/geoserver.git,编译出geoserver.war的安装包 。
没有学过编程的同学 , 也可在此处下载官方安装包 。
(2)、linux服务端部署
必备条件:linux安装jdk1.8以上 , 安装tomcat8.0以上 , 将tomcat包名修改成GisServer 。
将打好的geoserver.war包放在tomcat/ webapps下
在geoserver/bin 目录下 , 执行./startup.sh启动地图服务 。
将8080端口加入防火墙 , 同时在安全组中进行8080端口入规则放行 。
然后浏览器访问:http://ip:8080/geoserver/web/  , 进入geoserver欢迎页
使用默认账号、密码登录(admin,admin)
(3)官方图层预览
本章简单介绍了 , GIS服务相关概念、地图服务器geoserver搭建的全过程 。感兴趣的朋友可以尝试下 , 如有问题 , 可以私信沟通 。