gpt4 book ai didi

javascript - 使用 JSTS 去除银色多边形

转载 作者:行者123 更新时间:2023-11-29 21:32:07 25 4
gpt4 key购买 nike

您好 GIS/JavaScript 人员,

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

问题是:我有来自 NaturalEarthData 的国家/地区几何图形。我希望能够统一邻国。由于相邻区域并不总是完美的,有时在统一时两个区域之间会出现这些细长的多边形,这非常难看。我想摆脱它们,但不知道怎么做。

QGIS 有一个很棒的功能“Remove Sliver Polygons”,我非常想拥有它。有谁知道如何在 JTS/JSTS/GEOS 中做到这一点(我猜它们都来自相同的代码库?)

感谢任何帮助。

example: Sliver Polygons

最佳答案

想了想,这个问题的答案其实很明显:你要的当然是删除这些sliver polygons。它们的大小很容易识别:它们的面积小得令人难以置信,仅占梵蒂冈城面积的一小部分,梵蒂冈城是世界上最小的国家。

统一后它们是多边形的内环,可以像这样识别和删除:

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

关于javascript - 使用 JSTS 去除银色多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35924200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com