Профиль высоты вычисляет пересечение двух поверхностей . Одним из них является вертикальный лист, определяемый путем. (То есть он состоит из всех координат (x, y, z), где (x, y) находится на пути, а z - любое число.) Другой является поверхность, представленная растровой ЦМР. Таким образом, это равносильно нахождению значений z, лежащих выше точек на кривой. Это делает его идентичным проблеме интерполяции значений из растра. В частности, хотя он разделяет многие характеристики более простой одномерной задачи подгонки кривой к данным (расстояние, высота), он нета же ситуация. Просмотр его как такового может привести к неоптимальным профилям высот, поскольку вы не воспользуетесь информацией в полном 2D-экстенте растровых данных по обе стороны кривой.
Очевидно, что все соображения, которые относятся к интерполирующим поверхностям, здесь актуальны . Существует много конкурирующих методов, каждый из которых имеет свои преимущества и недостатки, каждый из которых подходит для различных областей применения, и каждый имеет свое собственное «качество». Они включают (но не ограничиваются ими):
Все это алгоритмы для оценки значения z (x, y) по данным, заданным произвольным местоположением (x, y), которое не обязательно совпадает с какой-либо точкой данных. Вот как нарисован набор растровых данных : для определения цвета в определенном пикселе (u, v) на экране или бумаге (карте) вычисляются мировые координаты (x, y) пикселя, значение z (x, y) вычисляется с использованием интерполятора, и это значение преобразуется в цвет с использованием линейного изменения или таблицы соответствия. (Для эффективности я подозреваю, что многие ГИС не выполняют эту процедуру для каждого пикселя: вместо этого они берут регулярную подвыборку пикселей, выясняют их цвета, а затем выполняют некоторую простую интерполяцию цвета по экрану или бумаге.)
Мы можем думать о пикселях как об определении регулярной выборки плоских местоположений для интерполяции. Создание профиля высот предполагает аналогичное рассмотрение: где расположить «пиксели» вдоль пути? Ответ разрабатывается так же, как мы отвечаем на соответствующий вопрос для картографирования: какой масштаб вам нужен? В больших масштабах (увеличенный путь) вам нужно гораздо более близкие выборки; в небольших масштабах вы можете пробовать с большим интервалом. Если вы сообразительны, вы можете даже использовать адаптивные или рекурсивные методы, чтобы сосредоточить выборку на том, где значения z меняются наиболее быстро, имеют наибольшую кривизну или достигают экстремальных значений. Если вы не настолько умны или не нуждаетесь в лучшем представлении, вы можете создать набор одинаково разнесенных значений вдоль пути на расстояниях d (0) <d (1) <... <d (n) вдоль пути и, из близлежащих растровых значений, интерполируют соответствующие отметки z (0), z (1), ..., z (n). Затем вы должны построить пары (d (0), z (0)), ..., (d (n), z (n)) и справедливо в некоторой кривой вокруг них - обычно сплайне - при условии, что вариации z (i + 1) - z (i) достаточно малы, и то, как кривая подгоняется, не имеет значения. (Адаптивные методы проверяют эти вариации и получают больше интерполированных значений на промежуточных расстояниях, где, по-видимому, имеются большие вариации.)
Это подводит нас к сути вопроса: какими должны быть начальные расстояния выборки? Ответ зависит от предполагаемого масштаба профиля высот, точности значений матрицы высот, точности, с которой кривая регистрируется для местоположений матрицы высот, и скорости изменения высот вдоль и около профиля. В целом, более крупные масштабы (то есть увеличение), лучшая точность в возвышениях и географических привязках и более высокие скорости вариации требуют более близких расстояний. Поскольку они взаимодействуют сложным образом, не существует общего правила для лучшего расстояния . Однако для начала вы можете ожидать, что любой интервал, меньший, чем размер растровых ячеек, не принесет вам большой выгоды. Таким образом,если вы можете позволить себе рассчитать профиль высот, используя это относительно узкое расстояние, вы можете пойти дальше и сделать это . Это может быть излишним, но что с того?
Обратите внимание, что такие методы в лучшем случае будут точно воспроизводить интерполированные значения высот. Это почти всегда ухудшенная версия возвышений, которые представляет растр. Например, многие ЦМР в горных районах не достигают высоты пиков, потому что пики обычно попадают между растровыми ячейками. Когда вы производите интерполяцию между возвышениями подпика, вы обычно получаете какое-то средневзвешенное значение, которое все равно будет меньше высоты пика. Таким образом, профиль высоты пути, проходящего точно над горной вершиной, редко достигает высоты пика. (Кубическая свертка и некоторые формы кригинга (включая стохастическое моделирование с кригингом) может преодолеть легкие формы этой проблемы. Посмотрите на них, если вы хотите воспроизвести статистические характеристики профиля высот, а не соглашаться на «наилучшее соответствие», которое усредняет крайние значения.