Skip to content

Commit

Permalink
gis: Add multipolygon support
Browse files Browse the repository at this point in the history
  • Loading branch information
ibgreen committed Jul 9, 2020
1 parent 90e4193 commit 6211adf
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions modules/gis/src/lib/binary-to-geojson.js
Expand Up @@ -126,18 +126,27 @@ function polygonToGeoJson(data, startIndex, endIndex) {
const multi = polygonIndices.length > 2;

const coordinates = [];
// Polygon
if (!multi) {
for (let i = 0; i < primitivePolygonIndices.length - 1; i++) {
const startPolygonIndex = primitivePolygonIndices[i];
const endPolygonIndex = primitivePolygonIndices[i + 1];
const ringCoordinates = ringToGeoJson(positions, startPolygonIndex, endPolygonIndex);
const startRingIndex = primitivePolygonIndices[i];
const endRingIndex = primitivePolygonIndices[i + 1];
const ringCoordinates = ringToGeoJson(positions, startRingIndex, endRingIndex);
coordinates.push(ringCoordinates);
}

return {type: 'Polygon', coordinates};
}

// TODO handle MultiPolygon
// MultiPolygon
for (let i = 0; i < polygonIndices.length - 1; i++) {
const startPolygonIndex = polygonIndices[i];
const endPolygonIndex = polygonIndices[i + 1];
const polygonCoordinates = polygonToGeoJson(data, startPolygonIndex, endPolygonIndex)
.coordinates;
coordinates.push(polygonCoordinates);
}

return {type: 'MultiPolygon', coordinates};
}

Expand Down

0 comments on commit 6211adf

Please sign in to comment.