web gis 杂烩

基本架构

客户端把http请求发送给web服务器,web服务器会把有关gis的功能、请求发送给gis服务器,gis服务器会从gis数据库服务器中读取需要的数据,并对请求进行相应的处理,比如生成地图,执行查询相关的分析等等,然后会将数据、地图、其他操作结果通过http响应返回给客户端中来进行显示。

如下图所示

组成部分

地理数据库

地理数据库是webgis应用重要的基础支撑,一个web gis应用的价值往往取决于其数据的质量

地理数据库能以集中式或者分布式来存储多种类型的空间数据,如矢量数据和栅格数据,专业gis数据库还支持:CAD、3D、交通网络、激光雷达等数据格式,除此之外,还支持空间数据之间复杂的空间关系和约束规则

一个优秀的地理数据库还支持多用户访问和在线编辑环境,以及在数据增加,用户增多时依然保持高的性能

webgis服务器

一个好的web gis服务器决定了应用的质量和能力。

web服务接口类型

rest

gis web服务功能

基础功能

 数据功能

分析功能 

三维功能

其他功能

web服务规范

WMS

 Web地图服务(Web Map Service)利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。这个规范定义了三个操作:GetCapabilities返回服务级元数据,它是对服务信息内容和要求参数的一种描述; GetMap返回一个地图影像,其地理空间参考和大小参数是明确定义了的;GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息

WMTS

  WMTS(Web Map Tile Service)提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案。WMTS弥补了WMS不能提供分块地图的不足WMS针对提供可定制地图的服务,是一个动态数据或用户定制地图(需结合SLD标准)的理想解决办法。WMTS牺牲了提供定制地图的灵活性,代之以通过提供静态数据(基础地图)来增强伸缩性,这些静态数据的范围框和比例尺被限定在各个图块内。这些固定的图块集使得对WMTS服务的实现可以使用一个仅简单返回已有文件的Web服务器即可,同时使得可以利用一些标准的诸如分布式缓存的网络机制实现伸缩性。

适用于数据在不断更新的地图服务 

WFS

Web矢量服务(WFS)返回的是矢量级的GML编码,并提供对矢量的增加、修改、删除等事务操作,是对Web地图服务的进一步深入。OGC Web矢量服务允许客户端从多个Web矢量服务中取得使用地理标记语言(GML)编码的地理空间数据,这个服务定义了五个操作:GetCapabilites返回Web矢量服务性能描述文档(用XML描述);DescribeFeatureType返回描述可以提供服务的任何矢量结构的XML文档;GetFeature为一个获取矢量实例的请求提供服务;Transaction为事务请求提供服务;LockFeature处理在一个事务期间对一个或多个矢量类型实例上锁的请求。

WMS、WMTS、WFS比较

WMTS相比WMS,牺牲掉灵活性来换取性能,返回的都是基础地图,所有静态数据的范围框和比例尺统统被限定在各个图块(瓦片)中。然后这些图块集使得对WMTS的实现只需要一个仅仅返回简单已有文件的web服务器即可。WFS与两者都不同,返回的是矢量数据,用于增删改操作

WMS - 地图是在服务器绘制的

WFS - 地图是在客户端绘制的 

rest服务地址结构

wmts服务地址结构 

地图缓存技术

好处

提高地图服务性能和用户体验

 缓存技术(用时间换空间)降低了服务器端的压力,不再需要动态出图

支持众多客户端并发浏览

矢量瓦片和栅格瓦片的区别

由于矢量瓦片在前端需要实时的渲染,所以它对前端的技术要求是比较高的。

矢量瓦片 

矢量瓦片结构

fonts存放pbf格式字体,sprite存放精灵图sprite.png,styles存放sprite.json精灵图位置、名称等信息,tiles存放切片的mvt文件,sci是存放的矢量切片的元信息文件,记录了投影信息、层级比例尺、地图范围等等

矢量瓦片剖分

矢量瓦片采用全球剖分的层级,即按照四叉树的方式进行划分

gis投影

墨卡托(Mercator)投影(85%),Lambert等角正割圆锥投影(5%),Albers等积正割圆锥投影,等距圆锥投影,最为常用的是横轴墨卡托投影

我们常用的墨卡托投影就是圆柱投影。

以下内容参考:(26 封私信 / 80 条消息) 地图常用的投影方法有哪些? - 知乎 (zhihu.com)

Mercator 

号称传奇的荷兰地图学家墨卡托(Gerardus Mercator)于1569年首次通过数学投影与赤道相切的垂直圆柱体创建了墨卡托投影。由于它没有角度变形,任何直线都是恒向线(方向不变的线),能够相对准确地显示地点之间的真实方向,所以在大海航行方面得到了广泛应用。

比较3857和4326

1. EPSG:3857是球面投影(投影坐标系),EPSG:4326是平面投影(地理坐标系)

2. 地球上的图形投影到3857上,形状不变,但是两级图形会被等比例放大,参考冰岛;而在4326上采用等距投影,物体大小不会改变,但是会被拉长,还是参考冰岛。

3.3857数值一般较大,如[12914838.35,4814529.9],而4326的数值往往比较小[114.23,22.56],所以一般数据存储用4326。而为了避免地图被压缩变形,一般我们会采用3857坐标系的地图进行展示。如openlayers、mapbox等都是默认的3857墨卡托投影。

ps:我们也可以新建一个openlayers项目,通过代码进行比较

4326

let view = new View({
    projection: "EPSG:4326", //使用4326坐标系
    center: [104.912777, 34.730746], //地图中心坐标
    zoom: 4.5 //缩放级别
});

3857

let view = new View({
    // projection: "EPSG:3857", //默认为 3857,可以不写
    center: fromLonLat([104.912777, 34.730746]), // 数据格式4326转为3857
    zoom: 4.5 //缩放级别
});

Albers

阿尔伯斯等面积圆锥投影通常用于显示需要等面积表示的大国。例如,USGS将这种圆锥投影用于显示美国本土地图。HC Albers于1805年引入这种地图投影,使用两条标准纬线(分割线),将地图中的所有区域按比例投影到地球上的所有区域。阿尔伯斯投影的地图距离和比例仅在两个标准纬线上都是正确的,且方向相当准确,投影面积与实地相等。

Lambert Conformal Conic 

兰伯特等角圆锥投影是Lambert 于1772 年创造的众多作品之一,至今仍在广泛使用。它看起来像阿尔伯斯等面积圆锥投影,但标线间距不同,它是保形而非等面积的,在两个标准平行线(通常为 33°和 45°)处使用可展开的圆锥曲面割线,以最大限度地减少失真。我国1:100万地形图采用兰伯特投影。

GIS坐标系

北斗坐标系

北斗坐标系和WGS84坐标系类似,属于导航坐标系,其坐标是观测历元的动态坐标,与CGCS2000坐标系有2500多个框架点不同,北斗坐标系只有几个框架点,其更新周期短,测量精度低,而CGCS2000属于国家基础坐标系,更新周期往往长达几十年。但CGCS2000坐标系与北斗坐标系的定义、椭球是一致的。【科普】CGCS2000与WGS84、北斗坐标系的区别,值得学习! - 知乎 (zhihu.com)

北斗采用CGS2000坐标系,GPS采用WGS84坐标系。对精度要求不高的普通用户可以认为WGS84坐标系和CGS2000坐标系属于同一个坐标系,不需要进行坐标转换。对于高精度用户必须考虑系统间坐标系的转换。

北斗和GPS的差异有哪些_北斗坐标系与gps坐标系-CSDN博客  

三维基础

场景

3D Tiles

3D瓦片技术是基于gltf和大数据量网络传输的一种解决方案。较一般意义上的三维格式有了进一步的集成和扩展,这也形成了3D Tiles不同于一般3D数据格式的特点。

3D Tiles 是在glTF的基础上,加入了分层LOD的概念(可以把3D Tiles简单地理解为带有 LOD 的 glTF ),专门为流式传输和渲染海量 3D 地理空间数据而设计的。

3D Tiles是针对三维地理空间数据进行流处理和渲染而开发的数据格式。它基于传输可渲染的层级数据结构和瓦片格式集。

文件类型:

批处理3D模型(b3dm),3D模型实例(i3dm),点云(pnts),合成图像(cmpt)

瓦片集(Tileset)文件和瓦片集格式文件都用.json扩展,MIME类型application/json

图层

屏幕图层

 普通图层

地形缓存

三维场景构建

 矢量数据,如果是需要进行拉高的面图层,可以先将其线性拉伸建模,生成模型数据集,按照模型数据集的方式进行处理、优化成s3m格式在切缓存

粒子特效是在CAD里面绘制的,绘制好后再加到CAD图层中

在超图中,后三种在web端都不能直接通过服务的方式进行加载,只能通过代码的方式进行呈现,如CAD,需要前端去实例化一个粒子对象,然后在代码去调试它所有的属性;KML前端有加载KML文件的方法。

超图三维缓存策略

 iServer服务

架构

Map Component 地图组件

Data Component 数据组件 

Realspace Component 三维组件

概念

三维rest服务组成

 数据feature服务组成

viewer组成

 通过结构可知,在一个web场景当中,可以有多个影像图层(ImageLayers)但只能有一个地形图层(TerrainLayer)

三维服务

服务地址格式

空间大数据与实时GIS 

空间大数据对GIS的挑战

空间大数据的关键技术

分布式数据存储系统

分布式存储技术从各自不同的技术角度进行扩展创新,各有所长

分布式技术框架

spark可以独立运行,兼容像Hadoop、Hbase等等的相关技术,支持多种开发环境,特别是更好的支持实时流计算这些,让主流gis平台选择spark作为分布式计算架构来实现融合。

流数据处理使用的技术框架

spark streaming

可以支持Kafka、flume、HDFS等数据来源,spark streaming处理后可以存储到HDFS(分布式文件系统)中,也可以存储到database数据库里面,也可以直接在大屏dashboard上展示

传统空间可视化面临的问题

 1.海量数据直接加载性能比较低

2.不能实时监控汽车

分布式存储引擎

Hbase支持前端4.5亿级数据实时展示

流数据处理解析

流数据接入
 空间过滤

三维空间分析之可视域分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值