Все залежить від того, де ви проведете лінію. Незважаючи на те, ця проблема виглядає так, що її можна легко вирішити за допомогою морфологічних функцій, доступних у Spatial Analyst, особливо порогів (виконуються з локальними операціями "<" і ">") та "RegionGroup" для виявлення та вилучення компонентів.
Хоча я не маю доступу до DEM для ілюстрації, перше зображення майже досить добре, щоб зробити роботу в будь-якому випадку. Наприклад, ось послідовність обласних версій червоної смуги (зі значеннями масштабуються від 0,0 = чорні до 1,0 = білі), починаючи з порогу 0 і рухаючись зліва направо, зверху вниз, з кроком 0,02:
(Ці зображення були зменшені для відтворення тут: весь аналіз був зроблений за роздільною здатністю вихідного зображення.)
Накопи виникають навколо межі чорної області до початку другого ряду (поріг = 0,08). На початку третього ряду (поріг = 0,16) дамби утворюють власні компоненти (темно-синього кольору) і в цей момент їх можна легко витягти як окремі сітки або багатокутники (а їх межі можуть бути вилучені як полілінії після кроку виявлення краю ). Останнім рядом залишаються лише найширші дамби (поріг = 0,24 і більше). Вам потрібно буде вибрати відповідний поріг , щоб отримати саме те, що ви хочете.
У початковій ДЕМ підйоми відіграють роль інтенсивності, тому ці процедури повинні бути аналогічно ефективними із самою ДЕМ. Якщо DEM має велику міру (включаючи функції, далекі від річки або дамб), відповідні функції можуть бути обрані як ті, що примикають до компонента, в якому знаходиться річкова особливість.
Тонкі небажані регіони, знайдені RegionGroup, можна усунути, застосувавши невелику ерозію (негативний буфер) з наступною еквівалентною дилатацією (позитивний буфер). Невеликі небажані регіони можуть бути виключені за критерієм розміру (загальна кількість комірок або площа). Найвищі бали на кожній дамбі (якщо це дійсно потрібно) можна знайти, порівнявши DEM з максимальними зональними сітками (використовуючи дамби як зони).
До речі, ця послідовність зображень була створена в Mathematica 8. Ось команди для тих, хто може скористатися цим варіантом.
original = Import["http://i.stack.imgur.com/gV7Du.jpg"];
{r, g, b} = ColorSeparate[original];
frames = ParallelTable[Colorize[MorphologicalComponents[Binarize[r, t/100]],
ColorFunction -> "ThermometerColors"], {t, 0, 30, 2}];
Rasterize @ TableForm[Partition[frames, 4]]
Загальний годинний час (після імпорту зображення) становив 0,94 секунди, з них половина була потрібна для зменшення та експорту всіх 16 зображень: морфологічні операції, як правило, швидкі (що добре, тому що ЛІДАР ДЕМ може бути величезним).