isoxml-angular
Version:
JavaScript library to parse and generate ISOXML (ISO11783-10) files
24 lines (23 loc) • 974 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createGridParamsGenerator = void 0;
const turf_1 = require("@turf/turf");
function createGridParamsGenerator(targetCellWidth, targetCellHeight) {
return (geometry) => {
const [minX, minY, maxX, maxY] = (0, turf_1.bbox)(geometry);
const sizeY = (0, turf_1.lengthToDegrees)(targetCellHeight, 'meters');
// works fine for small areas
const sizeX = (0, turf_1.lengthToDegrees)(targetCellWidth, 'meters') / Math.cos((0, turf_1.degreesToRadians)((minY + maxY) / 2));
const numCols = Math.floor((maxX - minX) / sizeX);
const numRows = Math.floor((maxY - minY) / sizeY);
return {
minX,
minY,
numCols,
numRows,
cellWidth: (maxX - minX) / numCols,
cellHeight: (maxY - minY) / numRows
};
};
}
exports.createGridParamsGenerator = createGridParamsGenerator;