| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// index.ts
- var _distance = require('@turf/distance');
- var _intersect = require('@turf/intersect');
- var _helpers = require('@turf/helpers');
- function triangleGrid(bbox, cellSide, options = {}) {
- var results = [];
- var xFraction = cellSide / _distance.distance.call(void 0, [bbox[0], bbox[1]], [bbox[2], bbox[1]], options);
- var cellWidth = xFraction * (bbox[2] - bbox[0]);
- var yFraction = cellSide / _distance.distance.call(void 0, [bbox[0], bbox[1]], [bbox[0], bbox[3]], options);
- var cellHeight = yFraction * (bbox[3] - bbox[1]);
- var xi = 0;
- var currentX = bbox[0];
- while (currentX <= bbox[2]) {
- var yi = 0;
- var currentY = bbox[1];
- while (currentY <= bbox[3]) {
- var cellTriangle1 = null;
- var cellTriangle2 = null;
- if (xi % 2 === 0 && yi % 2 === 0) {
- cellTriangle1 = _helpers.polygon.call(void 0,
- [
- [
- [currentX, currentY],
- [currentX, currentY + cellHeight],
- [currentX + cellWidth, currentY],
- [currentX, currentY]
- ]
- ],
- options.properties
- );
- cellTriangle2 = _helpers.polygon.call(void 0,
- [
- [
- [currentX, currentY + cellHeight],
- [currentX + cellWidth, currentY + cellHeight],
- [currentX + cellWidth, currentY],
- [currentX, currentY + cellHeight]
- ]
- ],
- options.properties
- );
- } else if (xi % 2 === 0 && yi % 2 === 1) {
- cellTriangle1 = _helpers.polygon.call(void 0,
- [
- [
- [currentX, currentY],
- [currentX + cellWidth, currentY + cellHeight],
- [currentX + cellWidth, currentY],
- [currentX, currentY]
- ]
- ],
- options.properties
- );
- cellTriangle2 = _helpers.polygon.call(void 0,
- [
- [
- [currentX, currentY],
- [currentX, currentY + cellHeight],
- [currentX + cellWidth, currentY + cellHeight],
- [currentX, currentY]
- ]
- ],
- options.properties
- );
- } else if (yi % 2 === 0 && xi % 2 === 1) {
- cellTriangle1 = _helpers.polygon.call(void 0,
- [
- [
- [currentX, currentY],
- [currentX, currentY + cellHeight],
- [currentX + cellWidth, currentY + cellHeight],
- [currentX, currentY]
- ]
- ],
- options.properties
- );
- cellTriangle2 = _helpers.polygon.call(void 0,
- [
- [
- [currentX, currentY],
- [currentX + cellWidth, currentY + cellHeight],
- [currentX + cellWidth, currentY],
- [currentX, currentY]
- ]
- ],
- options.properties
- );
- } else if (yi % 2 === 1 && xi % 2 === 1) {
- cellTriangle1 = _helpers.polygon.call(void 0,
- [
- [
- [currentX, currentY],
- [currentX, currentY + cellHeight],
- [currentX + cellWidth, currentY],
- [currentX, currentY]
- ]
- ],
- options.properties
- );
- cellTriangle2 = _helpers.polygon.call(void 0,
- [
- [
- [currentX, currentY + cellHeight],
- [currentX + cellWidth, currentY + cellHeight],
- [currentX + cellWidth, currentY],
- [currentX, currentY + cellHeight]
- ]
- ],
- options.properties
- );
- }
- if (options.mask) {
- if (_intersect.intersect.call(void 0, _helpers.featureCollection.call(void 0, [options.mask, cellTriangle1])))
- results.push(cellTriangle1);
- if (_intersect.intersect.call(void 0, _helpers.featureCollection.call(void 0, [options.mask, cellTriangle2])))
- results.push(cellTriangle2);
- } else {
- results.push(cellTriangle1);
- results.push(cellTriangle2);
- }
- currentY += cellHeight;
- yi++;
- }
- xi++;
- currentX += cellWidth;
- }
- return _helpers.featureCollection.call(void 0, results);
- }
- var turf_triangle_grid_default = triangleGrid;
- exports.default = turf_triangle_grid_default; exports.triangleGrid = triangleGrid;
- //# sourceMappingURL=index.cjs.map
|