未能 parse/project 坐标到 JSON
Fail to parse/project coordinates onto JSON
我只是想在 json 地图上绘制一堆圆圈,根据我通过.csv.
不管怎样,我已经很久没有遇到过这个问题了,几乎从我完全不熟悉 d3 开始。我通读了所有相关的帖子,回头看了看初学者的教程(毫不羞愧),但我仍然无法理解我做错了什么。请看,很短,重点是67-68行。您可以在这里找到我的 json 地图:
http://bl.ocks.org/diggetybo/a2ace75c8ea89ab0da996154d3df7f5c
您会注意到,没有附加圆圈。据我所知,我开始以正统的 D3.js 方式附加圆圈:
- 创建一个空选择。
- 绑定数据到doms
- 从数据中追加视觉效果
如果我做了什么蠢事,无论如何,把它灌输给我——我心理强大,我能承受。
您的数据包含一些不在 AlbersUSA 投影的 well-defined 区域内的坐标。有关详细信息,请参阅我的 to "D3 albersUsa projection funtion return null"。因为投影会 return null
这些,你会得到一个错误,这会破坏圆的创建。
一种天真的方法是过滤掉 non-valid 坐标:
var data = rawData.map(function(d)
{
return {
Latitude: +d.latitude,
Longitude: +d.longitude,
Place: d.place
};
})
.filter(d => projection([d.Longitude, d.Latitude])); // filter out null values
这将 display the circles 显示在地图上。但是,您可能需要先检查您的数据并尝试事先筛选它们。
我只是想在 json 地图上绘制一堆圆圈,根据我通过.csv.
不管怎样,我已经很久没有遇到过这个问题了,几乎从我完全不熟悉 d3 开始。我通读了所有相关的帖子,回头看了看初学者的教程(毫不羞愧),但我仍然无法理解我做错了什么。请看,很短,重点是67-68行。您可以在这里找到我的 json 地图:
http://bl.ocks.org/diggetybo/a2ace75c8ea89ab0da996154d3df7f5c
您会注意到,没有附加圆圈。据我所知,我开始以正统的 D3.js 方式附加圆圈:
- 创建一个空选择。
- 绑定数据到doms
- 从数据中追加视觉效果
如果我做了什么蠢事,无论如何,把它灌输给我——我心理强大,我能承受。
您的数据包含一些不在 AlbersUSA 投影的 well-defined 区域内的坐标。有关详细信息,请参阅我的 null
这些,你会得到一个错误,这会破坏圆的创建。
一种天真的方法是过滤掉 non-valid 坐标:
var data = rawData.map(function(d)
{
return {
Latitude: +d.latitude,
Longitude: +d.longitude,
Place: d.place
};
})
.filter(d => projection([d.Longitude, d.Latitude])); // filter out null values
这将 display the circles 显示在地图上。但是,您可能需要先检查您的数据并尝试事先筛选它们。