地理时空大数据概论
导读:
我们已经开始习惯在线搜索附近的美食、通过位置共享找到周边的好友、打开导航获取通往目的地的最优路线、或在地图上浏览卫星影像、俯瞰城市全貌等。
所有这些服务都与我们今天的主题-地理数据相关。
本文将通过以下几点来系统概述地理大数据,揭秘时空的奥秘:
1、什么是地理数据
2、地理大数据的来源
3、地理大数据的实践
4、怎么做地理大数据分析
5、华为云数据湖探索服务(DLI)的地理大数据分析
更多优质内容请关注微信公众号“智能数据湖”
作者 | 赵贤威
责编 | 云湖湖
地理数据是直接或间接关联着地球上某个空间位置的数据,表示着地理位置,分布特点的自然或社会现象。地理数据最常见的表示模型有两种:栅格数据模型和矢量数据模型。
栅格数据就是将空间分割成有规律的网格,每一个网格称为一个单元,并在各单元上赋予相应的属性值来表示实体的一种数据形式。每一个单元(像素)的位置由它的行列号定义,所表示的实体位置隐含在栅格行列位置中。
例如一张遥感影像就是一种栅格数据的表示,每一个像素就是一个单元,像素的灰度值代表该单元区域地物对特定电磁波的光谱反射强度,不同地物(如植被、水、冰川等)对特定电磁波的反射强度不一样,因此遥感影像的灰度值是对地表特定区域地物特征的真实反映。
矢量数据是通过记录空间对象的坐标及空间关系表达空间对象的几何位置,利用欧几里得几何学中的点、线、面及其组合体来表示地理实体空间分布的一种数据组织方式,这种数据表达方式能最好地逼近地理实体的空间分布特征。
例如店铺可以表示为点,河流、公路可以表示为一条线,园区、湖泊表示为多边形或者带孔洞的多边形,在三维空间中可以将山丘表达为体。
通常,一个点由x, y坐标构成,线由一系列的点串组成,面由首尾相连的点串构成。除了位置信息外,矢量数据通常还包括非空间属性,描述地理实体的其他信息,如名称、数量、颜色、面积等。在主流的空间数据库中,矢量数据按照不同的实体类型组织成独立的图层,如杭州市的道路可以组织成路网线状图层,城市的地铁站可以组织成一个点状图层。
图1 反映全球二氧化碳浓度的遥感影像
图2 卫星云图遥感影像
图3 浙江省杭州市路网线状矢量数据
空天地立体观测与移动互联网技术的蓬勃发展使得地理数据的获取周期越来越短,精度越来越高,手段越来越丰富。著名地理信息学家Goodchild曾说,世界上80%的信息与地理位置有关。地理大数据的来源主要包括两个方面:
空天地立体观测技术的飞速发展解放了空间数据生产力,促进了国土、测绘、林业、交通、海洋、水利、地理国情等传统领域原始数据资料的积累。在国土领域,从2007年第二次土地大调查开始,平均每年生产出1.5亿个地块面状对象;全国林地“一张图”区划了6,800多万个林地落界图斑,3亿多组调查数据;全国第一次地理国情普查形成地理要素总量超过323.5GB,其中道路、水体、地理单元等矢量要素约2,500万个,地表覆盖多边形超过2.6亿个;中国气象局所保存的地理影像资料在4~5PB左右,每年大概增加数百TB,包含地面观测、卫星、雷达和数据预报产品等几大类观测数据以及地图和地理位置数据;在遥感领域,我国已经发射了一系列的资源环境卫星,其中仅ZY-3卫星一天就可以获取10TB的影像数据。
移动互联网是以无线网络为通信手段,利用智能移动终端获取信息和服务的业务,据统计数据显示,过去的2018年,中国移动互联网用户规模达到8.9亿,空间定位与移动互联网技术的结合将现实世界与数字空间世界紧密地连接在了一起。移动互联网全球每天都在产生海量的空间数据。根据2018年eMarketer统计,中国有5.251亿人使用移动支付,占总人口的45.2%;在1分钟内,Facebook会产生35万条推文,Google搜索需要处理200万次查询请求;百度地图每天要处理300亿次请求。这些数据大部分是全世界网民在移动终端产生的,均带有位置标签和能够反映人类基本行为的宝贵信息。人们越来越习惯通过手机叫车、订餐、交通导航、共享单车等。2015年纽约市黄包车载客记录高达3亿多条,其中包含大量旅客的上下车位置、距离、时间信息;在武汉,有超过11,000辆出租车安装了GPS导航设备,出租车在间隔20-60秒内持续不断地收集车辆的位置、速度与方向信息。在OpenStreetMap上有超过600,000名注册的数据贡献者,他们通过定位等形式在全球范围内形成了几十亿的兴趣点、旅游轨迹等。早在2017年3月底,摩拜共享单车累计骑行就突破5亿人次。
图4 27亿全球兴趣点频率图(数据来自OpenStreetMap)
目前,地理大数据已经广泛应用在了各行各业,如出行服务、物联网、传统3S行业应用等。
出行服务涉及到运力的调度、拼车、供需预测、热力图等业务。以供需预测为例,基于对历史轨迹数据的分析,并结合实时订单数据,预测当前乘车密集区域的时空分布,提高接单概率并减少司机空驶时间,乘客等待时间等。
图5 基于2015年出租车轨迹点数据计算纽约市工作日内各时间段出租车上车热点分布变化,该数据可用于指导出租车每个时段的运力调度与供需预测
物联网行业产生的地理数据兼具时序和空间特征。以车联网为例,海量的车辆终端在不断地产生轨迹数据,轨迹数据包含了时间和空间位置。基于这些地理数据实时监测车辆的行驶轨迹、是否偏航、是否进入某个限制区域等。除了实时监控外,还可以进行实时时空查询,如查询某段时间的轨迹,某段时间进入该区域的车辆等。结合大数据分析平台还可以进行穿越分析、区域分布热力图、交通热力图等。
在环保、气象、水利、航空监测等领域,需要通过各种传感器获取天、空、地、海不同地理现象、事件、要素的全生命周期多尺度监测指标。例如地理国情常态化检测中需要统计统计耕地、林地、园地等各类地表覆盖要素的面积、周长以获取地类变化情况,气象部门需要高时间分辨率的气象影像资料预测台风轨迹,农业部门基于人工智能方法利用高精度遥感影像对农作物地块进行自动化精准提取可快速获取各类地块的种植类型产品,进而提供作物种植规划决策依据;环保部门通过高分辨率卫星影像进行排污检测、水质检测、焚烧秸秆检测等。
图6 环保部门通过高分辨率卫星影像进行排污检测
地理数据与传统的一维结构化数据不同的是地理数据包含空间位置属性,数据之间的关联关系体现在空间位置上的关联。空间关系通常包括相等(Equals)、脱离(Disjoint)、接触(Touches)、重叠(Overlaps)等,针对地理对象可以进行缓冲区分析、空间裁切、空间合并、距离分析、面积计算等。地理大数据分析可以认为是各种空间操作的组合。例如统计各行政区耕地面积是将行政区面状图层与耕地面状图层进行空间裁切,然后将裁切的多边形进行面积计算汇总。相比一维数据,地理数据的空间操作是对复杂的几何对象做操作,是非常耗时的计算过程。例如在没有空间索引的情况下对两个大面状图层做叠加分析,需要对图层的面状对象做两两几何相交判断,其计算时长是无法容忍的。地理大数据具有数据体量大、计算复杂度高的特点,最直接的解决方案是利用大数据分析平台(如Spark)进行并行空间计算。并行空间计算需要解决海量空间数据的存储组织、并行任务划分等问题。
在大数据领域,为了加快数据计算、检索速度,数据通常是分区组织的,即将大规模的数据集按照分区键分成许多小的子集,分区规则通常有范围分区和哈希分区等。当计算仅涉及到部分特定分区的数据时,只需加载特定分区进行计算,避免了全局数据扫描。地理数据的分区相对复杂,其目标是将空间上临近的对象划分至相同的分区(如以格网为单位划分地理对象)。这需要将二维或三维的空间坐标进行降维编码,并保证空间邻近的对象的编码也是临近或相同的。最常见的降维编码有Z曲线编码、Hilbert编码和GeoHash编码等。
基于空间降维编码分区后,相同分区(或格网)内的地理对象拥有相同的编码,每个分区的地理对象可基于大数据执行引擎(如Spark)进行独立的空间分析。
图7 基于Z曲线的空间降维编码,行列号相近的格网的Z编码值也是临近的(图片引自网络)
图8 Geohash编码,空间上临近的地理对象拥有相同的Geohash前缀,公共前缀的长度越长,这两个地理对象距离越近,编码越长表示的地理位置越精细。Geohash 编码就常常被用来作为地理对象唯一标识符用于地理大数据检索
图9 (a)未经空间分区地理数据并行计算,每个任务计算的地理对象分布在全局;(b)经过格网分区后的地理数据并行计算,每个任务计算的地理对象仅分布在所属格网内
数据湖探索(Data Lake Insight,简称DLI)是华为云上基于Apache Spark生态,完全托管的大数据处理分析服务,同时具备标准SQL与批处理的并发执行能力。DLI能够满足矢量、栅格、时空流地理大数据的快速查询分析与并行处理,为各行各业的各类地理大数据分析计算场景提供高效的支撑。其在地理大数据处理方面满足如下技术特性:
DLI支持多种数据格式( CSV、JSON、Parquet、ORC、CarbonData等)数据读取,数据无需搬迁,即可实现对云上多个数据源进行联邦分析,用户只需将地理对象以WKT或GeoJSON表示成上述格式中的字段即可完成地理对象的读取、转换分析。
DLI天然支持基于CloudTable(华为云基于Apache HBase提供的全托管NoSQL服务,集成时序、时空数据存储特性)作为地理数据存储源,地理数据(如点、线、面等地理对象)入库即可基于Z曲线对地理对象进行Z2编码(x,y),Z3编码(x,y,时间)进行分区组织,优化地理数据存储组织模型,方便快速进行时空数据并发检索、计算。
DLI支持丰富的地理空间查询函数,主要包括地理构造函数、访问函数、转换函数、分析函数、关系函数和处理函数等,为各类空间分析提供有力支撑。地理构造函数可以实现从WKT、WKB、GeoHash编码等输入中构造出地理对象;地理访问函数用于获取地理对象的内部结构,如边界、维度、外包矩形框等;转换函数将几何对象转换成具体的点、线、面等;地理关系函数包括空间包含、空间临近、空间覆盖、空间穿越等几何关系判断。
DLI始终保持与开源生态的主流时空大数据处理套件(如Geomesa、Geotrellis)保持兼容,方便用户的地理计算模型线上线下搬迁,无需代码修改,支持基于上述组件的地理数据模型构建,如大规模影像数据的ETL、Map Algebra、直方图计算、时空序列分析等。
参考链接:
有关空间降维编码的原理介绍请参考:https://halfrost.com/go_spatial_search
具体有关DLI支持的空间查询函数请参考:https://support.huaweicloud.com/devg-dli/dli_09_0050.html
喜欢这篇文章吗?请关注本博主呗~
- 点赞
- 收藏
- 关注作者
评论(0)