crossfilter.js中的未定义值d3.js

时间:2017-01-31 05:54:46

标签: d3.js dc.js crossfilter

我是crossfilter的新手,我正在尝试“计算”每个位置(LatLng)的元素数量,然后将其用作我的d3圈子的半径:

d3.tsv("DH_Doigv2.tsv", function (data) {
var ndx = crossfilter(data);
var all = ndx.groupAll();
dc.dataCount(".dc-data-count")
.dimension(ndx)
.group(all);
data.forEach(function (d) {
  d.year = +d.Date
  d.id = d.Item;
  d.LatLng = new L.LatLng(+d.SoundLat, +d.SoundLon);
});

var stateCount = ndx.dimension(function (d) {return d.LatLng;});
var stateCountGroup = stateCount.group();
var dataTablesm = dc.dataTable("#data-table-sm");
var allDim = ndx.dimension(function(d) {return d;});

var feature = g.selectAll("circle")
 .data(data)
 .enter().append("circle")
 .style("stroke", "black")
 .style("opacity", .6)
 .style("fill", "red")
 .attr("r", function(d) {
   console.log(stateCountGroup.all().value);
   return stateCountGroup.all()[d].value*5; })
 .attr("transform", function(d){
   //console.log(d.values[0].LatLng, d.values.length);
   var coor = map.latLngToLayerPoint(d.LatLng);
   return "translate(" +
       coor.x + "," +
       coor.y + ")";
 })

但是我在控制台中收到“未定义”消息以及“TypeError:stateCountGroup.all(...)[d]未定义”。这应该是Leaflet地图上的d3层。最后,我希望能够点击圆圈并让另一个区域只显示那些特定的项目(jpeg),如下所示:http://photogrammar.yale.edu/labs/crossfilter/california/虽然我没有使用chloropleth,而是我正在使用Leaflet地图这个:https://github.com/austinlyons/dcjs-leaflet-untappd他有数据表驱动一切,我想让地图驱动一切。

与此问题相关:Not all d3 points are showing in correct position on leaflet map

0 个答案:

没有答案