L7 2.9: 炫酷的瓦片数据可视化

简介: L7 是由蚂蚁集团 AntV 数据可视化团队推出的基于 WebGL 的开源大规模地理空间数据可视分析开发引擎。L7 专注于空间数据的可视化表达。图形符号学为理论基础,将抽象复杂的空间数据转化成 2D、3D 符号,通过颜色、大小、体积、纹理等视觉变量实现丰富的可视化表达。欢迎关注和 star 我们的 GitHub:https://github.com/antvis/L7官网:https://l7.a

L7 是由蚂蚁集团 AntV 数据可视化团队推出的基于 WebGL 的开源大规模地理空间数据可视分析开发引擎。L7 专注于空间数据的可视化表达。图形符号学为理论基础,将抽象复杂的空间数据转化成 2D、3D 符号,通过颜色、大小、体积、纹理等视觉变量实现丰富的可视化表达。

欢迎关注和 star 我们的 GitHub:https://github.com/antvis/L7

官网https://l7.antv.vision/zh

背景

地理数据本身具有大数据属性,对数据计算、存储、网络传输、前端渲染都有较高要求。瓦片方案是依据空间分层、平面分块原则对大量空间数据处理、分发、呈现的经典方案。

瓦片切分示意

随着数据智能、数据挖掘技术的不断发展,位置数据巨大价值得到释放和应用。在互联网领域可以借助位置数据实现线上、线下一体化区域化运营;在社区疫情防控等区块治理问题可以借助位置数据实现数字化、精细化管理;在卫星遥感领域,遥感数据使用深度和广度逐步增强,特别是遥感图像与 AI 技术的结合使得遥感数据的价值得到了充分挖掘,在农业、环保、碳中合、产业金融等领域开始广泛应用发挥巨大价值。这些应用场景都具有共性的问题数据量大、数据更精细化,数据分析诉求强,如何满足这类场景的需求?

遥感数据应用案例

L7 发布了面向数据可视分析的瓦片数据可视化解决方案,为用户提供了开箱即用的可视化瓦片图层能力,极大地降低瓦片数据的可视化展示成本。

瓦片数据可视化

L7 瓦片数据可视化方案支持矢量和栅格两种瓦片数据两种类型,满足大数据量可视化数据按需加载、栅格数据的动态可视化,增加可视化图层的性能和交互体验。

等高线矢量瓦片绘制

  • 矢量瓦片数据可视化支持点、线、面和文字标注等基础图层,同时提供和 L7 普通图层一致的语法规范、函数调用、数据映射机制,事件管理。
  • 栅格瓦片数据可视化支持加载多种栅格数据,同时支持可视化效果的动态配置。
  • 对染色结果的动态配置
  • 对染色区间的动态调整

矢量瓦片 Vector Tiles

  • 支持 Mapbox MVT 开源瓦片数据标准,瓦片生态工具完善。
  • 接口设计、可视化能力与L7 普通图层保持一致。
  • 侧重于瓦片数据可视化表达,支持属性数据与框架数据动态挂载,支持数据可视化映射。

基础可视化能力

L7 的矢量瓦片支持绘制点、线、面和文字等基础图层绘制,同时为了降低用户的使用成本,矢量瓦片图层的创建使用和对应的普通 L7 图层保持一致。在不同的图层之间还可以共用 source 数据模块,从而减少瓦片的请求。

矢量点

矢量线

矢量面

大数据量动态渲染

矢量瓦片可以将大数据量的地理数据分片按需加载,降低对网络带宽和前端渲染的压力,减少等待时间,让数据加载绘制更加流畅。

美国街区矢量瓦片渲染

栅格瓦片 Raster Tiles

L7 的栅格瓦片图层支持图片栅格和数据栅格数类型,图片栅格更多用作于地图底图,数据栅格侧重于业务数据交互与视分析。

图片栅格

图片栅格常用场景是地图底图和卫星底图等基础地图服务,支持加载第三方瓦片数据源如高德地图、天地图、Google 第三方数据服务。同时用户自定义发布底图服务,实现离线部署。

const tileSource = new Source( 'https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer/tile/{z}/{y}/{x}',{
  parser: {
    type: 'rasterTile',
    tileSize: 256,
    zoomOffset: 0
  })

高德卫星瓦片

高德街道影像

Mapbox Street

天地图卫星影像

天地图街道影像

OpenStreetMap

高程数据的动态染色

数据栅格瓦片动态调整渲染区间

全球夜光遥感数据可视化

栅格数据交互拾取

L7 的栅格图层支持在鼠标事件中拾取对应位置的栅格数据。

ESRI LandCover 10 米分辨率栅格数据动态渲染

支持多种栅格数据类

用户可自定义栅格数据的解析方法、实现支持多种类型数据只支持,常见的数据格式如 GeoTIFF、Lerc、Mapbox Terrain-RGB ,用户可以根据实际技术栈生产瓦片数据格式,不受技术平台技术选型影响。

// Lerc
const image = Lerc.decode(buffer);

// Tiff
const tiff = await GeoTIFF.fromArrayBuffer(buffer);
const image = await tiff.getImage();
const width = image.getWidth();
const height = image.getHeight();
const values = await image.readRasters();

// jpg/png
const blob: Blob = new Blob([new Uint8Array(buffer)], {type: 'image/png'});
const img = await createImageBitmap(blob);
ctx.clearRect(0, 0, 256, 256);
ctx.drawImage(img, 0, 0, 256, 256);
let imgData = ctx.getImageData(0, 0, 256, 256).data;
let arr = [];
for (let i = 0; i < imgData.length; i += 4) {
  const R = imgData[i];
  const G = imgData[i + 1];
  const B = imgData[i + 2];
  arr.push(-10000 + (R * 256 * 256 + G * 256 + B) * 0.1); // Mapbox dem
}

Lerc 数据格式

GeoTIFF 数据格式

Mapbox Terrain-RGB 数据格式

Mask 数据掩模

遥感数据是离散、连续分布的无边界概念,实际应用场景中更多是通过矢量数据进行区域化管理,有明确的范围。如行政区划边界可以省份或城市进维度行划分,在农业场景中会根据地块范围划分土地,区域化管理。

传统方案需要服务端对数据进行裁剪前端显示、服务端计算占用大量计算和存储资源,一旦区块发生变更需要重新计算。L7 提供了基于前端渲染的 Mask 方案,可实现前端灵活控制栅格数据显示内容。

卫星图瓦片 & 行政区划掩模

高程栅格瓦片 & 行政区划掩模

查看在线案例《卫星图 + Mask 掩模》

时序数据可视化

针对大数据时序可视化场景,需要根据时间频繁的更新数据,如何做到数据层现效果更流畅,数据变化趋势更直观。L7 提供了一种数据更新机制,解决时序数据高效渲染问题。目前暂支持了点、线、面、热力图等基础图层。

某市人口流动时序热力图

某市人口流动时序气泡图

结语

目前 L7 瓦片数据可视化刚刚起步,很多能力需要持续完善和丰富,多线程数据解析、3D瓦片可视化、面向栅格数据瓦片分析能力增强、栅格数据与AI 端智能结合提供更丰富的可视分析能力以及更好的交互体验。无论是矢量和栅格瓦片可视化在不同的业务场景与有不同诉求,欢迎有相关领域的同学参与进来共同建设完备瓦片数据可视化解决方案。

最后,欢迎广大开发者参与技术交流、合作共建、提 Issue、Star


附录

L7 生态

L7Draw 基于 L7 封装的地理绘制库

  • L7Plot

https://github.com/antvis/l7plot

L7Plot 是基于 L7 封装的简单易用、图表丰富、支持定制的地理空间数据可视化地理图表库。

L7 答疑群

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
8月前
|
自然语言处理 数据可视化 算法
第5章 数据可视化——5.4 四维图形可视化
第5章 数据可视化——5.4 四维图形可视化
|
Web App开发 数据可视化 BI
数据可视化D3系列——饼状图
饼状图是数据统计中经常用到的另一类图表,饼图可以直观地显示一个数据系列中各项的大小与各项总和的比例,本文将使用D3上手制作一个简单的饼状图 什么是布局 布局是D3中非常重要的内容,有了布局D3才能画出复杂的矢量图。但布局并不是直接绘制图形,只是将初始数据转换成容易画图的图形语言,画图工具能读懂图形语言来进行绘制。 在绘制饼状图中,例如有一组数据[1, 2, 3],只依靠这些数据是画不出的,需要将这些数据转化为圆形的起始角度和终止角度,第一块的角度区域为[0, π/3],第二块的角度区域为[π/3, π]……绘制工具能根据这些角度值进行绘制。「布局只进行数据转换」 D3还提供其他常用图表的
数据可视化D3系列——饼状图
|
11天前
|
数据可视化 测试技术 定位技术
数据可视化——如何绘制地图
数据可视化——如何绘制地图
|
10月前
|
JavaScript 数据可视化 定位技术
漏刻有时数据可视化Echarts组件开发(24):本地离线的地图下钻与散点图
漏刻有时数据可视化Echarts组件开发(24):本地离线的地图下钻与散点图
88 0
漏刻有时数据可视化Echarts组件开发(24):本地离线的地图下钻与散点图
|
7月前
|
数据可视化 搜索推荐 定位技术
GIS地图服务数据可视化
GIS地图服务数据可视化
137 0
|
8月前
|
数据可视化
第5章 数据可视化——5.3 三维图形绘制
第5章 数据可视化——5.3 三维图形绘制
|
8月前
|
数据可视化
第5章 数据可视化——5.1 图形绘制
第5章 数据可视化——5.1 图形绘制
|
8月前
|
数据可视化 C#
第5章 数据可视化——5.2 二维图形绘制(2)
第5章 数据可视化——5.2 二维图形绘制(2)
|
8月前
|
数据可视化 关系型数据库
第5章 数据可视化——5.2 二维图形绘制(1)
第5章 数据可视化——5.2 二维图形绘制(1)
|
8月前
|
自然语言处理 数据可视化
第5章 数据可视化——5.2 二维图形绘制(4)
第5章 数据可视化——5.2 二维图形绘制(4)