в картографии река плавно меняет свою ширину
Звучит весело ;)
Вообще задача геоинформационного картографирования интересная. Действительно в традиционной отечественной картографии принято при показе внемасштабных объектов речной сети производить их утолщение от истоков к устью. Причем здесь необходимо учитывать, что толщина линии устья притока меньшего порядка не должна превышать толщину линии в месте впадения его в приток большего порядка. Такой способ показа гидрографической сети очень нагляден и понятен - реки выглядят "текучими".
При рукописном составлении карт эта задача решалась кропотливым постепенным утолщением линий. При геоинформационном (автоматизированном) картографировании мы сталкиваемся с рядом проблем. Во-первых, у линейных классов пространственных объектов есть такой физический атрибут как - ширина (толщина), который является неизменным для всех частей линии. Из этого следует, что для передачи эффекта текучести водотока он должен быть разбит на части, каждая из которых будет иметь свою толщину. Во-вторых, мы должны указать порядки всех водотоков, для того чтобы толщина устья более никого порядка не превышала толщину более высокого порядка.
Простейший алгоритм действий может быть следующим:
1. Оцифровываем главные водотоки (1-го порядка) от истока к устью, эадаем им атрибуты значений толщин линий у истоков и устьев.
2. Используя правила топологи цифруем притоки более низких порядков с автоматическим указанием порядка притока и идентификатора главного водотока.
3. Разбиваем водотоки на составляющие с автоматическим указанием толщин с учетом: порядков и топологии, заданных значений толщин истоков и устьев водотоков первого порядка, эмперически подобраннных значений длин составляющих.