Формирование непрерывной сети из прерывистых линий в ArcMap
У меня есть данные о реке, которые состоят из линий (узкие участки потоков) и многоугольников (более широкие участки потоков). Я хочу, чтобы все данные были в строковом виде.

Сначала я попробовал инструмент «Свернуть двойные линии по центру». Для этого я преобразовал многоугольники реки в линии и удалил части с обоих концов, чтобы сформировать двойные линии.

Результаты были немного разными, в зависимости от настроек, но результаты не совсем удовлетворительные.


Для второго варианта я попробовал «Векторизацию по осевой линии» на панели инструментов ArcScan. Для этого я превратил полигоны в растры.

На этот раз результаты были несколько лучше.

Затем я хотел бы подключить вновь сформированные линии к существующей сети линий. Данные включают 3842 полигона, поэтому ручное редактирование нецелесообразно.
Как я могу справиться с этой и другими секциями необычной формы?
Ответы
Вы были на правильном пути с обрушившимися линиями. Почти, потому что он не обрабатывает сложные многоугольники. Итак, объедините потоки и контуры полигонов в один класс пространственных объектов и слейте их (без составных частей), чтобы получить уникальные сегменты между входами потоков:

Преобразуйте полигоны в растр с высоким разрешением 1 с и увеличьте его на 1 ячейку (EXPAND). Выберите растворенные объекты, которые разделяют сегмент с полигонами, и запустите для них евклидово распределение (OID), используя EXPAND в качестве маски:

Преобразуйте EA в полигоны, обрежьте их по исходным полигонам и примените инструмент Polygon to Line (с настройками по умолчанию). На рисунке ниже показаны красные полилинии, где
"LEFT_FID" <> -1

Вы можете привязать красные линии к концам синих линий (расстояние привязки в один размер ячейки), однако следует ожидать совершенно неправильного направления потока, то есть ребер, идущих вверх по потоку. Если вас это не устраивает, дайте мне знать, что я обновлю решение, которое будет использовать пути затрат и инструменты гидрологии.
ОБНОВИТЬ:
Есть несколько вариантов, чтобы упростить ArcGIS:
- Попробуйте увеличить размер ячейки на одном очень тонком многоугольнике
- Используйте распределение затрат - расширенный буфер - это ваша поверхность затрат. По какой-то причине CA работает лучше, чем EA
- Разделите область интереса на 4 прямоугольника, убедившись, что их контур не пересекает многоугольники.
- Обходите каждый многоугольник отдельно. Легко сделать в сценарии или даже в модели, но выглядит излишним.
В любом случае ограничьте размер среды буфером полигонов и используйте расширенный растр в качестве маски.
Если вас устраивают результаты использования подхода ArcScan, вы можете использовать инструмент SNAP , чтобы продлить линии до конечной вершины соседней линии потока.
Вам все равно нужно убедиться, что центральная линия течет в правильном направлении.
Вы не обсуждаете более сложные сценарии, в которых многоугольники являются узлами притоков или представляют собой острова. Вы можете найти этот документ, чтобы узнать, как к нему подошло британское картографическое агентство.