regionsJSTS = regionsSbd.map((r) => {
r.getJTSGeom = () => {
if (!r.jtsGeom__) r.jtsGeom__ = GJreader.read(r.geometry);
return r.jtsGeom__;
};
r.getJTSGeomSimplified = () => {
if (!r.jtsGeomSimplified__) {
r.jtsGeomSimplified__ = r.getJTSGeom();
const d = r.getJTSGeom().getEnvelopeInternal().getDiameter();
const res = (0.7 * d) / regionWidth;
r.jtsGeomSimplified__ = jsts.simplify.DouglasPeuckerSimplifier.simplify(
r.jtsGeomSimplified__,
0.5 * res
);
r.jtsGeomSimplified__ = r.jtsGeomSimplified__.buffer(2 * res);
r.jtsGeomSimplified__ = jsts.simplify.DouglasPeuckerSimplifier.simplify(
r.jtsGeomSimplified__,
1 * res
);
r.jtsGeomSimplified__ = r.jtsGeomSimplified__.buffer(-2 * res);
r.jtsGeomSimplified__ = jsts.simplify.DouglasPeuckerSimplifier.simplify(
r.jtsGeomSimplified__,
1 * res
);
}
return r.jtsGeomSimplified__;
};
return r;
})