Crossfilter filterRange尺寸不起作用

时间:2014-08-11 21:50:22

标签: javascript crossfilter

我有一个带有coords的城市列表,我正在使用crossfilter库。我想在定义的经度范围内过滤一组城市。这样做我使用维度中描述的dimension.filterRange([min,max])。

但它不起作用。我在JSFiddle中回复了问题:http://jsfiddle.net/wc8ba/256/

// raw_data contains list of citis with lat/lng info
var data = crossfilter(raw_data);

var lngDimension = data.dimension(function(d){return d.longitude;});
lngDimension.filterRange([0.37931289062498763, 11.805094140624988]);

// printFIlter is a useful function to show dimension data
printFilter(lngDimension);

在JSFiddle中,您可以看到" Sassari"具有经度= 8.56030000000的城市未包含在过滤维度中,其中lng min = 0.37931289062498763且max = 11.805094140624988

我想知道原因。

TIA Danilo Di Moia

1 个答案:

答案 0 :(得分:0)

它没有返回正确的值,因为经度值是字符串,而不是数字。

如果您使用var lngDimension = data.dimension(function(d){return parseInt(d.longitude);});,它应该可以正常工作。