MCPcopy Create free account
hub / github.com/microsoft/SandDance / separateGeojsonFeatures

Function separateGeojsonFeatures

docs/app/js/sanddance-app.js:104726–104749  ·  view source on GitHub ↗
(features, wrapFeature)

Source from the content-addressed store, hash-verified

104724 }
104725}
104726function separateGeojsonFeatures(features, wrapFeature) {
104727 var dataRange = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
104728 var separated = {
104729 pointFeatures: [],
104730 lineFeatures: [],
104731 polygonFeatures: [],
104732 polygonOutlineFeatures: []
104733 };
104734 var _dataRange$startRow = dataRange.startRow, startRow = _dataRange$startRow === void 0 ? 0 : _dataRange$startRow, _dataRange$endRow = dataRange.endRow, endRow = _dataRange$endRow === void 0 ? features.length : _dataRange$endRow;
104735 for(var featureIndex = startRow; featureIndex < endRow; featureIndex++){
104736 var feature = features[featureIndex];
104737 (0, _core.log).assert(feature && feature.geometry, "GeoJSON does not have geometry");
104738 var geometry = feature.geometry;
104739 if (geometry.type === "GeometryCollection") {
104740 (0, _core.log).assert(Array.isArray(geometry.geometries), "GeoJSON does not have geometries array");
104741 var geometries = geometry.geometries;
104742 for(var i = 0; i < geometries.length; i++){
104743 var subGeometry = geometries[i];
104744 separateGeometry(subGeometry, separated, wrapFeature, feature, featureIndex);
104745 }
104746 } else separateGeometry(geometry, separated, wrapFeature, feature, featureIndex);
104747 }
104748 return separated;
104749}
104750function separateGeometry(geometry, separated, wrapFeature, sourceFeature, sourceFeatureIndex) {
104751 var type = geometry.type, coordinates = geometry.coordinates;
104752 var pointFeatures = separated.pointFeatures, lineFeatures = separated.lineFeatures, polygonFeatures = separated.polygonFeatures, polygonOutlineFeatures = separated.polygonOutlineFeatures;

Callers

nothing calls this directly

Calls 2

separateGeometryFunction · 0.70
assertMethod · 0.45

Tested by

no test coverage detected