Ich versuche, ein GeoJSON-Objekt durch einen Wert in einer Featureeigenschaft zu filtern oder besser zu "teilen" und ein neues geoJSON zu erstellen, das sie in einem Array speichert.Filtern von GeoJSON auf einem Feature-Eigenschaftswert
hier ist die GeoJSON Ich arbeite an: http://www.brainsengineering.com/1.json
ich es Eigentum von ‚Niveau‘ aufgeteilt müssen, um so viele neue GeoJSONs Variablen wie die Anzahl der Ebenen in der ursprünglichen GeoJSON In der Schaffung über Beispieldatei gibt es 4 Ebenen. Hier
ist der Code, teilweise funktioniert:
//geoData is the variable holding the GeoJSON
var featureCount = geoData.features.length;
var maxLevel;
var geoByLevel = [];
//retrieve the maximum number of levels
for (var i = 0; i < featureCount; i++) {
if (geoData.features[i].properties.Level > maxLevel) {
maxLevel = geoData.features[i].properties.Level;
}
}
//Split geoData content into the geoByLevel array by level
for (var i = 1; i <= maxLevel; i++) {
geoByLevel[i-1] = geoData.features.filter(function (el) {
return el.properties.Level == i
});
}
Dieser Code teilweise funktioniert, weil ich richtig die Eigenschaften von Ebenen in das Array aufgeteilt, aber sie sind nicht gültig GeoJSON als ich die ersten Objekte verlieren
{ "Typ ":" FeatureCollection", "hc-Transformation ": {" default ": {" crs": "+ proj = longlat + ellps = WGS84 + Bezug = WGS84 + no_defs"}} , "Funktionen": ...
Gibt es eine Möglichkeit, die Objekte, die auch diese Elemente enthalten, neu zu erstellen?