Leaflet,geojson:过滤掉其中包含空值的整个 features/objects
Leaflet, geojson: filter out entire features/objects with a null value in them
我有一个从该网站获取的 geojson 文件,它以某种方式包含损坏的数据,坐标值 = null。
http://measuringamsterdam.nl/datalist/kijk/
我在我的代码中使用它是这样的:
//Retrieve all data and add to map
$.each(datalistObject['idlist'], function(key, value) {
$.getJSON('http://measuringamsterdam.nl/datalist/kijk/' + value['id'], function(data) {
textbox = value['name'];
var dataid = L.geoJson([data], {
style: function (feature) {
return feature.properties && feature.properties.style;
},
onEachFeature: onEachFeature,
pointToLayer: function (feature, latlng) {
return L.marker(latlng, {
icon: value['icon']
});
}
}).addTo(jsonGroup);
console.log(jsonGroup);
},function(xhr) { console.error(xhr); });
});
现在我需要以某种方式过滤掉坐标具有空值的 features/objects。
我确实需要过滤指向我代码中的数据,因为我需要 getJSON 代码中的 + 值 ['id'] 部分。
有什么想法吗?
使用以下代码您将生成一个新数组。这将仅包含过滤后的数据。
var newArray = data.filter(function (el) {
return el.value != 'null';
});
您还可以应用多个过滤器,例如:
return el.value_a != 'null' && el.value_b > 100;
希望这能奏效!
我有一个从该网站获取的 geojson 文件,它以某种方式包含损坏的数据,坐标值 = null。
http://measuringamsterdam.nl/datalist/kijk/
我在我的代码中使用它是这样的:
//Retrieve all data and add to map
$.each(datalistObject['idlist'], function(key, value) {
$.getJSON('http://measuringamsterdam.nl/datalist/kijk/' + value['id'], function(data) {
textbox = value['name'];
var dataid = L.geoJson([data], {
style: function (feature) {
return feature.properties && feature.properties.style;
},
onEachFeature: onEachFeature,
pointToLayer: function (feature, latlng) {
return L.marker(latlng, {
icon: value['icon']
});
}
}).addTo(jsonGroup);
console.log(jsonGroup);
},function(xhr) { console.error(xhr); });
});
现在我需要以某种方式过滤掉坐标具有空值的 features/objects。
我确实需要过滤指向我代码中的数据,因为我需要 getJSON 代码中的 + 值 ['id'] 部分。
有什么想法吗?
使用以下代码您将生成一个新数组。这将仅包含过滤后的数据。
var newArray = data.filter(function (el) {
return el.value != 'null';
});
您还可以应用多个过滤器,例如:
return el.value_a != 'null' && el.value_b > 100;
希望这能奏效!