Javascript 使用JST删除条状多边形

Javascript 使用JST删除条状多边形,javascript,coffeescript,union,gis,Javascript,Coffeescript,Union,Gis,大家好,GIS/JavaScript的朋友们 我正在开发一个小型历史地理信息系统项目,目前正在进行几何运算。我正在使用CoffeeScript/JavaScript进行开发,并使用JSTS库寻求帮助。虽然它有一个伟大的功能,我正在努力与文档 问题是:我有来自NaturalLearthData的国家几何图形。我希望能够统一邻国。由于相邻的区域并不总是完美的,有时在统一的两个区域之间会出现这些小的狭长多边形,这相当难看。我想摆脱他们,但只是不知道如何摆脱 QGIS有一个很好的功能“删除狭长多边形”,

大家好,GIS/JavaScript的朋友们

我正在开发一个小型历史地理信息系统项目,目前正在进行几何运算。我正在使用CoffeeScript/JavaScript进行开发,并使用JSTS库寻求帮助。虽然它有一个伟大的功能,我正在努力与文档

问题是:我有来自NaturalLearthData的国家几何图形。我希望能够统一邻国。由于相邻的区域并不总是完美的,有时在统一的两个区域之间会出现这些小的狭长多边形,这相当难看。我想摆脱他们,但只是不知道如何摆脱

QGIS有一个很好的功能“删除狭长多边形”,这是我非常想要的。有人知道如何在JTS/JSTS/GEOS中做到这一点吗(我想它们都来自同一个代码库?)

感谢您的帮助


经过一段时间的思考,这个问题的答案其实很明显:你想要的当然是删除这些狭长多边形。它们的大小很容易辨认:它们的面积非常小,只有梵蒂冈城面积的一小部分,梵蒂冈城是世界上最小的国家

统一后,它们是多边形的内环,可以按如下方式识别和删除:

MIN_AREA_SIZE = 0.0000001
for innerRing, idx in polygon
   # the first is technically the outerRing, but that one usually has a larger area
   if (new jsts.geom.Polygon(innerRing).getArea() < MIN_AREA_SIZE
     polygon.slice(idx,1)  # delete inner ring from polygon
MIN\u AREA\u SIZE=0.0000001
对于内环,多边形中的idx
#从技术上讲,第一种是外螺纹,但这种外螺纹通常具有更大的面积
if(新jsts.geom.Polygon(innerRing).getArea()