Я хотел бы получить достаточно точный профиль высот для трека, записанного с помощью GPS (который часто имеет очень ненадежные данные о высоте, а иногда и вовсе совсем не зависит от модели).
У кого-нибудь есть намеки на самый простой способ сделать это. Два метода, которые я рассматриваю до сих пор:
Использование Google Elevation API
Этот API относительно прост в использовании, но все же требует нескольких шагов, которые не являются тривиальными из-за его ограничений использования: максимум 512 выборок, возвращаемых за запрос, и количество точек вдоль пути также ограничено (длиной URL).
Я ожидаю, что фильтр упрощения gpsbabel можно придумать, чтобы уменьшить трек до подходящего количества точек (ни одна точка в них не будет ближе, чем 100 м или около того вместе из-за разрешения данных о высоте), но тогда остается проблема того, как отобразить этот упрощенный трек обратно на исходный путь, так как длины будут отличаться.
Или, если это не подходит для автоматизации, наилучшим подходом может быть предоставление пользователю возможности выбирать точки пересечения на карте вручную.
Загрузка данных топографической миссии Shuttle Radar Mission (SRTM) и выполнение запроса локально.
У меня нет такого опыта, поэтому любые предложения о том, насколько это возможно, приветствуются. Насколько большой набор данных? Какое программное обеспечение ГИС требуется, и может ли оно быть написано соответствующим образом? Я бы предпочел не писать алгоритм выборки и интерполяции, это звучит как боль . Какова вероятная эффективность такого подхода? (Мне нужно, чтобы он был довольно быстрым и работал на веб-сервере VPS с ограниченным объемом памяти ...)
Некоторые подробности, которые можно найти в ответе @ MerseyViking о загрузке данных с http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp :
Имеется 72 x 24 фрагмента, каждый размером около 20 МБ, который распаковывается в 72,1 МБ 16-битный TIF-файл (6001 x 6001 пикселей).
Это ~ 120 ГБ, что больше, чем я могу хранить. Оставив его сжатым и игнорируя океаны, вы уменьшите его до 10 Гб, что все еще слишком велико. Загрузка данных по требованию значительно сократила бы необходимое пространство для хранения, но исходный сайт работает медленно (я получал только 10 КБ / с), что делало это довольно непрактичным.