Упрощение линейных объектов или границ полигонов является разновидностью операции генерализации (Esri, 1996), которая удаляет ошибочные изгибы и небольшие впадины и выступы линии или границы полигона, сохраняя его основную форму. В инструменте Упростить линию или полигон (Simplify Line Or Polygon) операторы POINT_REMOVE и BEND_SIMPLIFY упрощают как линейные объекты, так и границы неортогональных полигонов.
Выбор используемой операции
POINT_REMOVE использует усовершенствованный опубликованный алгоритм (Douglas and Peucker, 1973). Это быстрый и простой алгоритм упрощения. Он сохраняет так называемые критические точки, определяющие основную форму линии, и удаляет все остальные точки. Алгоритм соединяет конечные узлы дуги с "линией тренда". Расстояние от каждого узла до линии тренда измеряется по перпендикуляру. Вершины, которые находятся на расстоянии меньше допуска, устраняются. Дуга разделяется вершиной, наиболее удаленной от линии тренда, в результате чего создаются две новые линии тренда. Оставшиеся вершины измеряются относительно этих линий, и процесс повторяется до тех пор, пока все вершины, находящиеся в пределах допуска, не будут удалены (см. схему внизу).
POINT_REMOVE эффективно сжимает данные и удаляет избыточные детали, однако полученная линия может содержать нежелательные острые узлы и выбросы, которые ухудшают картографическое качество линии. Используйте POINT_REMOVE для сокращения или сжатия небольших объемов данных, и в тех случаях, когда не требуется высокое картографическое качество.
Алгоритм BEND_SIMPLIFY использует методики распознавания формы, которые выявляют изгибы, анализируют их характеристики и исключают незначительные детали. Слишком узкий изгиб будет немного расширен, чтобы удовлетворить требованиям допуска. Итоговая линия более точно повторяет исходную и обладает более высоким картографическим качеством.
Выбор подходящего допуска
Значение допуска, заданное с помощью Допуск очистки (Weed Tolerance), определяет степень упрощения. Чтобы получить картографические данные, задайте допуск для этих операторов равным или большим порогу сепарации (минимальному допустимому расстоянию между графическими элементами). Чтобы найти подходящий допуск для отображения другого типа или для сокращения объема данных, возможно понадобится использовать метод проб и ошибок. При одинаковом допуске упрощения алгоритм POINT_REMOVE дает более грубый и более упрощенный результат по сравнению с BEND_SIMPLIFY.
Улучшение результатов
При использовании алгоритмов POINT_REMOVE и BEND_SIMPLIFY результаты можно улучшить с помощью двух приемов. Во-первых, стройте каждую дугу с максимально возможным числом вершин, вплоть до максимального числа 500. Оба оператора обрабатывают каждую дугу отдельно, и чем дольше обрабатывается дуга, тем лучше результат. Во-вторых, размещайте узлы на длинных, гладких участках дуг, а не на резких изгибах.
Ограничения и рекомендации
Небольшой полигон вблизи большего полигона может оказаться внутри большего полигона из-за сравнительного большого значения допуска weed_tolerance. Такая топологическая ошибка не будет обнаружена программой.
Перед использованием инструмента Упростить линию или полигон исключите все ненужные полигоны и дырки (по размеру или другим критериям). Это уменьшит время обработки и снизит вероятность возникновения топологических ошибок.
Литература
Технический справочник Esri, "Automation of Map Generalization: The Cutting-Edge Technology," 1996. Документ можно найти в разделе White Papers по адресу http://downloads.esri.com/support/whitepapers/ao_/mapgen.pdf
Douglas, David H. and Thomas K. Peucker, "Algorithms for the Reduction of the Number of Points Required to Represent a Digitized Line or Its Caricature," Canadian Cartographer, 10, No. 2 (December 1973).