时空场景开发实践(一)|学习笔记

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 快速学习时空场景开发实践(一)

开发者学堂课程【PostgreSQL 实战进阶时空场景开发实践(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/112/detail/1905


时空场景开发实践(一)

 

内容介绍

一. 认识 Ganos

二. 如何使用 Ganos

三. 进阶实战

四.使用接口汇总

这节课的主要内容主要分三大块,第一块是认识 Ganos,介绍感染 Ganos 是什么,Ganos 支撑的产品有哪些,以及 Ganos 中包含哪些时空模型。第二大块是告诉大家如何使用 Ganos,在PB中如何创建 Ganos 的扩展,以及将如何将矢量、栅格轨迹等数据进行入库,如何在 pb Ganos 中管理 PB 级遥感影像以及轨迹数据。还有 Ganos 与空间开源生态的关系。第三块是进阶实战,会根据一个香港疫情的案例,一步步学习如何在 Ganos 中进行空间统计分析,矢栅一体化查询、轨迹追踪以及轨迹的跨区域的时空查询。这是这节课的主要内容。

 

一. 认识 Ganos

1、Ganos 是什么?

Ganos 是时空引擎,包含 SQL+NoSQL 云数据库时空引擎 

Ganos 名字来历:

·取名于大地女神盖亚(Gaea)和时间之神柯罗诺斯

(Chronos),代表“时空”结合

·时空地理信息处理融入公有云/专有云 PaaS 服务,成为一种普惠计算

以下是 Ganos 的一些特性。这些特性有数据库本身的能力,更多的是 Ganos 赋能给数据库之后的能力。

 image.png

2、Ganos 支持哪些产品

image.png 

Ganos 是时空引擎,它不是一个独立的产品,它是以赋能的方式嵌入在数据库产品中。底下从左到右看,Ganos 赋能的产品,包括 RDS PG、Polar DB、ADB PG、Lidorm/HBase 以及 DLA,其中 RDS PG 和 Polar DB 是事务型关系数据库,可以做一些简单的分析。Ganos 在这两款数据库中的模型是最全面的,功能也是最丰富的,可以把 Ganos 理解为 PostGIS++,即 PostGIS 升级版本但是又完全兼容PostGIS。其他几种数据库更多的是面向大数据分析的场景。

3、Ganos 中丰富的时空模型

 image.png

相比 PostGIS,Ganos 在时空模型上进行了较多的扩充,除了支持传统的拓扑网络模型、几何模型、栅格模型,还扩充了网格模型、时空轨迹模型以及点云模型。其中空间网格模型是在 Ganos 3.0版本推出的新特性,它编码标准遵循了自然资源部地球空间网格编码规则,在这个规则基础之上设计和实现。

 

二. 如何使用 Ganos

1、使用前先在 PG 数据库中创建 Ganos 扩展

这里列举了 Ganos 七大模型以及它们的扩展语句:

几何模型

Create extension ganos_geometry cascade; Create extension ganos_geometry_topology; 

栅格模型

Create extension ganosraster;

轨迹模型

Create extension ganos_trajectory; 

点云模型

Create extension ganos pointcloud 

路径模型

Create extension ganos_trajectory;

网格码模型

Create extension ganos_geomgrid;

矢量金字塔

Create extension ganos_geometry_pyramid;

 image.png

其中六大模型在上面已经介绍过,这里要额外补充的是关于矢量金字塔这个模型,它是在几何模型基础之上新增的一个扩展,用于对大数据的矢量数据建立系数金字塔,目的是使得异体矢量数据能够在不切片的情况下达到无障碍浏览显示的效果。创建扩展之后,在数据库中可以通过-DX 命令查询到所有已经创建的扩展。上图就是查询的结果内容,目前 Ganos是3.3版本。

2、数据如何入库

l 矢量数据入库

矢量数据主要依赖空间开源的工具,包括 Ogr2ogr、shp2pgsql、QGIS、pg_dump/pg_restore 等。

l 栅格、遥感数据入库

Ganos 提供入库接口 STimportFromSTcreateRast

支持 OSS、NAS 等外部挂载入库//原始文件放在 OSS 或者 Nas 中,然后将原数据录入到数据库,将金字塔部分数据可以选择导入到数据库,也可以选择放在 OSS

pg_dump/pg_restore 时,外部数据不需要挪动。

入库时支持金字塔内建+外建随机组合。

批量文件并行入库,支持单幅超大影像并行入库。

l 轨迹数据入库

轨迹数据入库比较特殊,它一般是数据监测点。Ganos 提供入库接口STmakeTrajectory。

支持轨迹点动态追加。

支持点表抽取为轨迹对象。

其中,矢量数据入库和栅格、遥感数据入库与 SuperMap、ArcGIS 完成对接,可借助其它平台直接入库 

3、如何管理 PB 级遥感影像

l PostgresSQL + Ganos+OSS 组合

元数据存储数据库内,原始文件保留在 OSS

金字塔可存储在数据库内,也可以保存在 OSS

降低成本

实现 PB 级数据管理

Ganos 在云上与 Oss 存储是打通的,所以 pg Ganos 加 OSS 组合即可实现PB级遥感影像的管理。元数据和部分金字塔数据可以存储在数据库内部,遥感原始数据存放在 OSS 中,因为 OSS 这种存储是非常廉价的。所以这也降低了用户的使用成本,只需要按照 SQL 语句 insert 直接写入到数据库。

image.png

l 遥感影像注册(入库)

 image.png

createrast 这个接口非常简单,它只接收一个参数,只要把 OSS 中的地址传给它。OSS组成比较复杂,有分开知识介绍,包括 OSS 的账号密码以及它的域,还有bucket,最后是数据url。

l 大范围影像拼接、镶嵌

ST_mosaicFromST_mosaicTo

4、如何管理轨迹数据

l 轨迹构造

原生轨迹模型 trajectory

Create table traj(id integer trajtrajectory) ST_makeTrajectory

在创建轨迹表的时候,可以直接用数据类型。轨迹构造有单独的 trajectory 接口,它有很多的重载版本。具体的使用方式可以在官网的用户手册里面进行查看。

l 轨迹压缩

新增 stcompress 压缩接口

压缩质量更好,保留重要特征轨迹点

l 轨迹相似性判断

ST_IcsDistance、ST_IcsSimilarity、ST_IcsSubDistance。 ST_JaccardSimilarity

image.png

5、Ganos 与开源生态

 image.png

l 无缝对接兼容 PostGIS 的各类 GIS 软件

l 显示和编辑:GeoServer、QGIS、uDig、OpenJump.....

l PGAdmin4定制,支持显示矢量、栅格、即将支持显示轨迹。在

PGAdmin4中,可以使用 Ganos 的矢量金字塔功能。

也就是在 PGAdmin4中可以直接显示上亿级的矢量数据,可以达到不切片无障碍浏览的效果。(视频看效果)

image.png

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
4月前
|
存储 分布式计算 大数据
《数据湖的时空穿越:Delta Lake如何用版本控制解锁历史迷雾》
【8月更文挑战第27天】Delta Lake作为一个开源的存储层为Apache Spark及大数据工作流带来了事务性支持与数据版本控制功能。通过将数据表视作一系列不可变的事务日志记录,Delta Lake实现了数据一致性的保障。它支持ACID事务并允许用户追踪和管理数据表的不同版本。利用提供的示例代码可以看到如何对Delta Lake表进行操作、查询特定版本甚至回滚至早期版本。随着数据湖架构的发展,Delta Lake正逐渐成为管理大规模数据集的关键工具。
69 0
|
存储 运维 DataWorks
数仓建模理论与规范(一)| 学习笔记
快速学习数仓建模理论与规范。
数仓建模理论与规范(一)| 学习笔记
|
存储 SQL DataWorks
数仓建模理论与规范(三)| 学习笔记
快速学习数仓建模理论与规范。
数仓建模理论与规范(三)| 学习笔记
|
存储 数据建模 开发者
数仓建模理论与规范(二)| 学习笔记
快速学习数仓建模理论与规范。
数仓建模理论与规范(二)| 学习笔记
|
监控 数据可视化 安全
《表的多维世界设计篇-白弦》演讲视频 + 文字版
《表的多维世界设计篇-白弦》演讲视频 + 文字版
164 0
|
存储 监控 前端开发
《表的多维世界技术篇-缨缨》演讲视频 + 文字版
《表的多维世界技术篇-缨缨》演讲视频 + 文字版
143 0
|
SQL 安全 关系型数据库
时空场景开发实践(二)|学习笔记
快速学习时空场景开发实践(二)
177 0
时空场景开发实践(二)|学习笔记
|
存储 缓存 分布式计算
大数据处理(一)|学习笔记
快速学习大数据处理(一)
209 0
大数据处理(一)|学习笔记
|
机器学习/深度学习 分布式计算 Hadoop
大数据处理(二)|学习笔记
快速学习大数据处理(二)
111 0
大数据处理(二)|学习笔记
|
存储 机器学习/深度学习 数据采集
大数据处理(三)|学习笔记
快速学习大数据处理(三)
152 0
大数据处理(三)|学习笔记

热门文章

最新文章