我有一个带有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
答案 0 :(得分:0)
它没有返回正确的值,因为经度值是字符串,而不是数字。
如果您使用var lngDimension = data.dimension(function(d){return parseInt(d.longitude);});
,它应该可以正常工作。