-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Hello!
I've try to clip some polygons but result is too simplificated. Here is the screenshots:
Original geometry
- Light-yellow is the subj
Solution geometry
- Red polygon is the clip
- Yellow polygon is the intersection
- Blue polygons is the diffs
All of this is result of execution of this code:
var express = require('express');
var Clipper = require('jsclipper/jsclipper-adapter');
var _ = require('lodash');
var router = express.Router();
router.get('/clip', function (req, res) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
var reqSubj = req.query['subj'];
var reqClip = req.query['clip'];
var result = {
intersections: [],
diffs: []
};
_.each(reqSubj, function (subject) {
//region Ensure of array types instead of objects
var subjShape = _.toArray(subject.slice(0, 1)[0]);
var subjHoles = _.map(subject.slice(1), function(value){return _.toArray(value)});
var clipShape = _.toArray(reqClip.slice(0, 1)[0]);
var clipHoles = _.map(reqClip.slice(1), function(value){return _.toArray(value)});
//endregion
var subj = new Clipper.Polygon(subjShape, subjHoles);
var clip = new Clipper.Polygon(clipShape, clipHoles);
var intersectSolutions = subj.intersect(clip);
var diffSolutions = subj.diff(clip);
_.each(intersectSolutions, function (solution) {
result.intersections.push(solution.getPaths())
});
_.each(diffSolutions, function (solution) {
result.diffs.push(solution.getPaths())
});
});
res.type('application/json');
res.send(result);
});
module.exports = router;So here is the question: how can i reduce or even disable polygons simplifacation?
Metadata
Metadata
Assignees
Labels
No labels

