Arcgis выбирает полигоны из нерегулярной сетки для удаления изолированных ячеек - PullRequest
2 голосов
/ 27 апреля 2020

У меня неправильная сетка треугольников в одном файле формы многоугольника. Эти клетки тематически показывают только треугольники выше моего порогового уровня для «интереса». Смежные треугольники, которые видны, считаются реальными. Пространственно изолированные треугольники необходимо удалить, поскольку они могут быть ложными.

Я могу отфильтровать с помощью запроса определения, чтобы удалить треугольники ниже порогового значения, но я не могу понять, как удалить изолирующие треугольники.

I я знаю, что мне, вероятно, нужно использовать соседей полигонов

снимок экрана от Arcgis

, пожалуйста, пришлите помощь!

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Я столкнулся с подобной проблемой, поэтому я сделал обходной путь и установил соответствующий порог

from shapely.geometry import Polygon

coords1 = [(54.950899, 60.169158), (54.953492, 60.169158), (54.950958, 60.169990)]
poly1 = Polygon(coords1)

coords2 = [(24.950899, 60.169158), (24.953492, 60.169158), (24.950958, 60.169990)]
poly2 = Polygon(coords2)


poly1.distance(poly2)

# 29.997407

poly1.distance(poly1)

#0.0

Вы можете установить пороговое значение для определения пространственно изолированных треугольников

PS Этот обходной путь работал для меня. Это решение для вашей справки. Здесь взяты случайные многоугольники.

Ссылка: https://automating-gis-processes.github.io/site/index.html

0 голосов
/ 30 апреля 2020

Я бы использовал инструмент Near, используя те же функции, что и Input Input и Near Features. После запуска if проверьте таблицу атрибутов для нового поля NEAR_DIST, сохраняя расстояния до ближайших объектов.

Все записи с NEAR_DIST = 0 касаются многоугольника. Где NEAR_DIST> 0 будет пространственно изолированных полигонов, которые вы ищете.

...