Skip to content

Too high simplification of solution #6

@romka-chev

Description

@romka-chev

Hello!

I've try to clip some polygons but result is too simplificated. Here is the screenshots:

Original geometry

  • Light-yellow is the subj

original

Solution geometry

  • Red polygon is the clip
  • Yellow polygon is the intersection
  • Blue polygons is the diffs

solution

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions