2016-03-10 5 views
2

Здравствуйте ГИС/JavaScript человек,Удалить Щепка Полигоны с JSTS

Я разрабатываю небольшой проект Historical географической информационной системы и в настоящее время работает над геометрическими операциями. Я развиваюсь в CoffeeScript/JavaScript и использую библиотеку JSTS для получения справки. Хотя у меня отличная функциональность, я борюсь с документацией ...

Вот проблема: у меня есть геометрия страны из NaturalEarthData. Я хочу объединить соседние страны. Так как прилегающие районы не всегда идеальны, иногда эти маленькие щелевые многоугольники между двумя областями при объединении, что довольно уродливо. Я хочу избавиться от них, но просто не знаю, как.

QGIS обладает отличной функцией «Удалить многоугольники», которую я очень хочу иметь. Кто-нибудь знает, как это сделать в JTS/JSTS/GEOS (что, я думаю, все они основаны на одной и той же кодовой базе?)

Любая помощь приветствуется.

example: Sliver Polygons

ответ

2

Через некоторое время думать об этом, то ответ на этот вопрос на самом деле очевидно: То, что вы хотите, конечно, чтобы удалить эти мычки многоугольники. Их можно легко определить по своим размерам: они невероятно маленькие, лишь часть площади Ватикана, которая является самой маленькой страной в мире.

После объединения они внутренние кольца многоугольника и могут быть идентифицированы и удалены, как это:

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 
Смежные вопросы