UNPKG

geotoolbox

Version:

geotoolbox is GIS javascript library. It is based on d3geo, topojson and geos-wasm.

32 lines (25 loc) 920 B
/** * Return the geometry type contained in a GeoJSON FeatureCollection * * @param {object} x - The GeoJSON FeatureCollection * @returns {object} - The number of dimensions of the geometries (1 for punctual, 2 for lineal, 3 for zonal and -1 for composite) and the types of the geometries ("Point", "LineString", "Polygon", "MultiPoint", "MultiLineString", "MultiPolygon") * */ export function type(x) { let types = Array.from(new Set(x.features.map((d) => d.geometry.type))); let tmp = []; if (types.indexOf("Polygon") !== -1 || types.indexOf("MultiPolygon") !== -1) { tmp.push(3); } if ( types.indexOf("LineString") !== -1 || types.indexOf("MultiLineString") !== -1 ) { tmp.push(2); } if (types.indexOf("Point") !== -1 || types.indexOf("MultiPoint") !== -1) { tmp.push(1); } let result = tmp.length == 1 ? tmp[0] : -1; return { dimension: result, types: types }; }