regionsJSTS = regionsFiltered.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;
})