如何在D3地图中进行时间数据处理
How to do time-data in D3 maps
我有一个时间序列数据集,我想把它放在地图上——这是一个不规则的国家事件时间序列,按日期和国家索引。我使用D3做了一些简单的事情,但不确定如何在这里组织数据,即使是在概念上。我查过了。。。
- http://bl.ocks.org/mbostock/4060606
- http://bl.ocks.org/mbostock/3306362
- http://bl.ocks.org/jasondavies/4188334
用于地图制作,并且很乐意生成.json地图本身:
wget "http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/50m/cultural/ne_50m_admin_0_countries.zip"
unzip ne_50m_admin_0_countries.zip
ogr2ogr -f "GeoJSON" output_features.json ne_50m_admin_0_countries.shp -select iso_a3
topojson -o topo.json output_features.json --id-property iso_a3
然而,当我的数据看起来像这样时。。。
incidents.csv
date, iso3, eventtype
2001-05-21, ABW, a
2002-01-01, ABW, a
2005-07-31, ABW, b
2003-02-21, AFG, b
2008-02-21, AFG, c
2000-03-09, AGO, a
2010-06-11, AGO, c
我甚至不知道如何将它"附加"到地图上——时间是另一个维度。每个国家形状是否都有一个时间向量,其中也包括一个"事件类型"?所有事件类型?怎样
一方面,我可以看到提前聚合某些东西的效用,达到。。。
ABW, a, 2
ABW, b, 1
ABW, c, 0
AFG, a, 0
AFG, b, 1
AFG, c, 1
AGO, a, 1
AGO, b, 0
AGO, c, 1
以某种方式连接这个和那个可能会产生一个很好的合唱。
但我真的很想保留时间部分。理想情况下,我希望在地图的底部有两个滑动条,我可以使用它只显示在给定开始日期和结束日期之间发生的事件类型的聚合。
我擅长python和时间序列数据,但我意识到我在D3方面有点超出了我的技能——我该如何开始,在D3中,在topojson中附加和处理分类的、不规则的时间序列数据的首选方式是什么?我该如何解决这个问题?
(我还有一个关于不那么复杂的gis stackexchange上的工作流的相关问题。)
我想我会为其他人填写一个临时答案:
地图上的时间真的很难,而且有点不通用。您将花费大量时间进行正确的界面设计。
相关文章:
- 使用setTimeout可以在进行数据输入时推迟时间密集型处理
- 更新网页上的计时器,并保持经过的时间--如何处理
- PHP 显示存储的时间数据,并在考虑不同时区的同时存储时间数据
- PHP/MySQL 时间数据检索和创建倒计时
- EmberJS 应用程序中列表 + 详细信息 + 编辑视图的数据处理
- 如何在D3地图中进行时间数据处理
- JavaScript函数数据处理
- 画布已被跨源数据处理所污染
- jQuery:抓取日期&来自网页的时间数据
- 如何将全局状态数据处理到Redux中的深度嵌套组件中
- 日期在Highcharts图中显示不正确,时间数据不规则
- jqGrid需要很长时间才能处理大型记录
- 如何在D3.js线形图上绘制时间数据
- 具有不规则间隔和文本的高架图时间数据
- D3js奇怪的日期和数据处理
- 在发布到客户端之前使用Meteor.js重新采样时间数据
- 图片上传和操作API需要更多的时间来处理更高分辨率的图片
- 为DOM元素引用创建常数时间数据结构
- 用它的数据处理数组中的每一项
- 如何在加载页面的同时等待长时间的处理方法完成