winnow
Version:
Apply sql-like filters to GeoJSON
23 lines (17 loc) • 568 B
JavaScript
const transformCoordinates = require('../../helpers/transform-coordinates')
module.exports = function (geometry, precision) {
if (!geometry) return
const { type, coordinates } = geometry
if (!coordinates) return geometry
return {
type,
coordinates: reducePrecision(coordinates, precision)
}
}
function reducePrecision (coordinates, precision) {
return transformCoordinates(coordinates, { precision }, (coordinates, { precision }) => {
return coordinates.map(position => {
return parseFloat(position.toFixed(precision))
})
})
}