UNPKG

isoxml

Version:

JavaScript library to parse and generate ISOXML (ISO11783-10) files

20 lines (19 loc) 797 B
import { bbox as turfBbox, degreesToRadians, lengthToDegrees } from '@turf/turf'; export function createGridParamsGenerator(targetCellWidth, targetCellHeight) { return (geometry) => { const [minX, minY, maxX, maxY] = turfBbox(geometry); const sizeY = lengthToDegrees(targetCellHeight, 'meters'); // works fine for small areas const sizeX = lengthToDegrees(targetCellWidth, 'meters') / Math.cos(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 }; }; }