从美丽的地图到可操作的见解:介绍开普勒。gl, Uber的开源地理空间工具箱

0
从美丽的地图到可操作的见解:介绍开普勒。gl, Uber的开源地理空间工具箱

地图是基于我们的物理世界。我们用抽象的形状和颜色创建地图,揭示地理模式,讲述人类存在的故事。

在优步,我们利用数据可视化来更好地理解城市的移动。我们的解决方案使我们能够嵌入具有丰富位置数据的地图,眨眼之间渲染数百万个GPS点,最重要的是,从这些点中获得洞察。

图1:创建数据可视化的常见过程包括数据收集、数据处理、可视化探索,然后是分层。

无论使用什么框架或工具,创建交互式可视化都遵循一个类似的过程:数据收集、数据处理、通过基于web的工具进行可视化探索,例如QGIS纸箱包装,Mapbox工作室,然后将可视化移植到Javascript中反应D3.js,Three.js建立原型。这个过程不仅冗长乏味,而且可能会得到有用的可视化结果。在很多情况下,可视化的想法比时间和人要多。

为了让具有不同经验和技能水平的用户更容易创建有意义的数据可视化,我们自豪地宣布kepler.gl,我们的开源地理分析工具。建在deck.glWebGL数据可视化框架,开普勒。Gl通过从地理空间数据中快速获得洞察力和验证可视化想法,来缩放地图创建过程。

什么是kepler.gl?

图2:开普勒。Gl是一个数据不可知的、高性能的基于web的大规模地理空间可视化应用程序。

kepler.glis a data-agnostic, high-performance web-based application for visual exploration of large-scale geolocation data sets. Built on top ofdeck.gl开普勒。gl可以渲染代表数千次旅行的数百万个点,并动态执行空间聚合,如下图4所示:

图3:开普勒。Gl可以渲染数百万个点,并动态地执行空间聚合。

在一个单一的网络界面中显示地理空间数据,开普勒。Gl帮助用户快速验证想法,并从这些可视化中收集见解。使用开普勒。gl中,用户可以将CSV或GeoJSON文件拖放到浏览器中,用不同的地图层对其进行可视化,通过过滤和聚合对其进行探索,最终将最终的可视化输出为静态地图或动画视频。整个尝试和错误过程发生在一个用户界面上,而不是跨越多个浏览器,一次花费数周的工作,可能只需要10分钟!

图4:开普勒。gl UX流程由五层组成,包括六边形、圆弧和点。

kepler.gluses layers as building blocks to create interactive maps, supporting customizable layer creation and encoding data (e.g., fares, ETA, and timestamps) to visual channels (e.g., circle size, arc color, and circle color) with scale functions (e.g., linear, quantile, and quantize).

图5:开普勒。Gl的点、弧和热图层(上图)和网格、hexbin和多边形层(下图)提供了丰富的地理空间数据分析。

在开普勒。Gl,映射层,用于编码位置数据的常见可视化类型,使用户能够进行地理空间分析和探索。制图层的分类学。gl提供了2D和3D的基本点、弧线、路径、多边形、网格和hexbins,如图6所示。例如,点层可以用来绘制事件和地点的位置;圆弧层可以用来可视化出发地-目的地的相关性;hexbin或网格层可用于聚合显示其分布的点的集合;多边形层可以用来可视化显示地理区域的汇总统计数据的choropleth地图。

所有的层几何计算都是gpu加速,使我们能够顺利渲染数百万个点,使开普勒。Gl是一个比传统制图软件更强大的网络工具。

图6:开普勒。gl用3D hexbin层聚合点。

超越传统的二维x和y制图平面,开普勒。Gl引入了第三维来编码数据,支持等距透视图中的点高度和网格/六边形/多边形高度。启用高度后,用户可以更快地检测聚合映射中的异常,如下面的图7所示:

图7:开普勒。Gl可以让您回放时间序列,以可视化时空数据。

kepler.gllets users apply filters to any metric in their dataset. Typical uses of filtering include adding time playbacks to visualize spatio-temporal data, excluding outliers using histograms, and refining data to a smaller set for comparison. Figure 8, below, shows how a filter enables a time playback of data on a map:

图8:开普勒。Gl允许您使用刷刷来探索出发地-目的地的相关性。

除了常见的基于度量的滤波,开普勒。gl提供了一个独特的地理过滤功能:刷屏,如图8所示。通过刷屏,用户可以在地图上当前鼠标位置的一定半径内突出显示弧线和点。这个函数对于可视化出发地-目的地的相关性非常有用,可以更好地理解不同区域之间是如何相互连接的。

图9:用户可以用减法混合(左)和加法混合(右)渲染图层。

不仅仅是开普勒。Gl让用户快速探索数据,但它也赋予他们创建美丽地图的能力。该软件提供了一组低对比度的基础地图,适合基于地图的可视化,以及各种调色板,包括来自ColorBrewer.类似于照片编辑工具,开普勒。gl使用不同的颜色混合技术(例如,法线混合、加法混合和减法混合)向地图添加电影效果,如图9所示。

kepler.glalso gives users the freedom to customize base maps by selectively hiding and showing features (including labels, roads, and terrains), or moving them on top of existing data layers. This array of techniques and special effects makes map creation with kepler.gl incredibly fun and full of surprises.

kepler.gl背后

kepler.glis built on top ofdeck.gl,一个webgl支持的数据可视化库,以及react-map-gl是Mapbox-gl的React包装器,两者都包含在开源中Vis.gl套件由Uber的数据可视化团队内部开发。

kepler.glis a React component that uses Redux to manage its state and data flow. It can easily be embedded into other React-Redux applications and customized like any other Redux state.

开发人员可以用开普勒构建应用程序。只需安装开普勒。UI和开普勒中的React组件。Gl减速器中的根减速器。它的前向调度系统允许多个开普勒。Gl组件被安装到一个单独的应用程序中,并支持从开普勒外部调度自定义动作。Gl分量本身。kepler.glis built on top of a component dependency injection system, which lets the developer swap default UI components with customized ones at initialization.

在优步,开普勒。Gl在多个仪表板应用程序中被用作地图组件,开发人员可以根据自己的需求构建其他组件。我们希望其他人能找到开普勒。Gl多才多艺,也很有用!

使用kepler.gl创建的示例地图

地理分析需要特定领域的知识,并包含许多抽象的术语。有时,对于数据可视化初学者和非技术从业者来说,很难理解如何处理数据。为了帮助用户开始使用开普勒。Gl提供了我们团队创建的一组示例地图。

图10:开普勒。gl描绘了旧金山和金银岛/Yerba岛的海拔轮廓。

我们的旧金山等高线图的轮廓数据DataSF.它使用一个多边形层来绘制等高线,并根据高程为其着色,如图11所示。这个例子展示了在地理信息系统(GIS)研究中常用的典型地图的创建。

图11:纽约市人口普查区人口地图,描述了2010年城市某一地区的人口情况。

一个纽约市人口地图,如图12所示,是根据2010年人口普查区数据制作的。其从蓝到橙的分位数色标与种群大小由小到大相关。该地图还根据人口增加多边形的高度,使它更容易发现异常值。

图12:英格兰和威尔士居民的出发地-目的地地图,使用3D弧线可视化通勤模式。

另一个术语叫做地图使用英格兰和威尔士居民的通勤数据创建,如图13所示。这张地图使用双色弧线连接市民的住所(黄色)和工作地点(洋红色)。它的鸟瞰图显示了一些令人惊讶的长距离通勤,比如从伦敦到北部300-400公里的城镇。

前进

两年前,开普勒作为内部产物被创造出来。Gl已经从一个单页应用发展成为一个强大的地理分析和可视化框架。它创建了一个一体化的地理空间数据探索和可视化环境,在Uber内部已被广泛用于工程师、分析师和数据科学家的高级地理空间分析。

通过开源的开普勒。Gl,不同经验和技术水平的用户现在可以使用免费软件,帮助他们建立和定制有影响力的、数据驱动的地图。更重要的是,回馈软件使我们能够培养一个支持开普勒的开发人员社区。Gl的未来发展。

在接下来的几个月里,我们设想对kepler.gl进行两个主要的增强:

  • 更强大的探索功能:为了产生更深入的见解,我们计划构建框架,以支持可视化仪表板上额外的自定义图表和小部件。这一新增功能将促进类似于桌面的探索,将地图和图表之间的交互联系起来。
  • 扩展其地理分析能力:通过添加地理空间数据操作,如连接、缓冲、交叉和联合;支持多边形点聚合等层操作;通过绘制地图来过滤特征,开普勒。Gl将能够支持更大的数据集。

在我们今年早些时候发布的beta版本中,世界各地的公司都采用了开普勒。Gl为他们自己的研究。雷竞技是骗人的

来自Mapbox、Limebike、Airbnb、Sidewalk Labs、HERE technologies、Atkins Global、citswifter、UBILabs和300000kms等公司的数据科学家、建筑师、可视化专家和工程师都发现了开普勒的巨大价值。Gl的简单性、功能和速度。

我们也看到一些学者在使用这个软件,比如建筑系的学生迭戈CrescencioEstácio de Sá在里约热内卢de Janeiro。在他的研究中,D雷竞技是骗人的iego使用kepler.gl中的公开犯罪数据更好的了解城市设计研究的建筑环境。雷竞技是骗人的他一直在使用二维和三维可视化的城市犯罪率数据来了解城市设计如何提高内部安全贫民窟.迭戈说,巴西的城市规划师很少使用地理分析软件。自从采用开普勒。gl, Diego,他的教授和其他合作者UNIGIS网络已经能够为这个项目实现强大而快速的数据分析。

图13:Diego和他的团队使用开普勒。gl为他们的城市设计研究在巴西可视化开放数据:雷竞技是骗人的

图14:CitySwifter的数据科学家Will Geary使用的是开普勒。gl的刷牙互动探索在纽约的家到工作通勤。

我们希望您喜欢使用开普勒。Gl和期待创造美丽的,数据驱动的地图!请加入kepler.gl社区,关注我们的GitHub库并在推特上使用#keplergl标签。

如果您有兴趣帮助我们创建下一代的Uber数据可视化套件,可以考虑申请我们团队的一个职位。

映射快乐!

确认

开普勒。没有全社会的贡献,就不可能有今天的成就超级可视化的团队

Uber的可视化团队已经开放了以下项目:deck.glkepler.glluma.glreact-vis,react-map-gl.如果你想了解所有Uber的开源项目,请查看我们的Github页面如果您有兴趣加入我们的团队,请访问优步职业页面

订阅我们的通讯以跟上优步工程的最新创新。

评论