Формирование профиля
Формирование профиля высоты земной поверхности по KML полилинии, построенной в Google Earth, на основе общедоступных данных SRTM или ASTER.
Функционал:
1. Выбор файла KML
2. Подгрузка по кнопке соответствующего координатам KML полилинии фрагмента SRTM или ASTER. Полилиния может проходить через несколько тайлов данных рельефа. Содержать в ОЗУ более одного тайла нежелательно.
3. Высоту строить во всех точках исходной KML полилинии, по всем экстремумам поверхности (вершины и низины) и не реже, чем через каждые 100 м по длине KML полилинии. Равномерность не обязательна. Поверхность моделировать триангуляцией.
4. Формирование текстового файла рельефа из трех колонок с разделителем в виде табуляции:
1) длина от начала полилинии в метрах с точностью до 0,1 м. Длина считается как проекция полилинии KML на эллипсоид на уровне моря.
2) высота относительно уровня моря в метрах с точностью до 0,1 м
3) параметр точки полилинии. Если строка совпадает с точкой KML полилинии, то 2. Если нет - 0. Если вершина, то 1, если низина, то -1.
5. Разделитель десятичного числа в соответствии с системными настройками.
6. Должно работать в среде броузера независимо от операционной системы (Windows, MacOS, Unix).
7. Предпочтительнее писать на python + django.
8. Необходимо использовать архитектуру клиент-сервер с возможностью сервера быть как локальным, так и размещенным в сети (в целях будущего развития функциональности).
9. Функциональность кода должна быть документирована комментариями.
10. Срок работы - не более двух недель. Это не трудозатраты на ее выполнение, а ограничение по времени.
10. После выполнения этой работы будет дальнейшее развитие системы в сторону усложнения задачи (построение трехмерного KML (не по поверхности земли) на основе исходного по определенным правилам, использование полигонов, обработка смешанных множеств полилиний и полигонов, использование файлов настроек, статистическая обработка, формирование отчетов и т.д.).