Showing posts with label workflow. Show all posts
Showing posts with label workflow. Show all posts

27/09/2021

Как выудить в точки рельеф из SRTM или AW3D30

Иногда данных о рельефе территории исследования так мало, что приходится прибегать к помощи космических технологий. Точность у этой информации, прямо скажем, не ахти, особенно на  застроенных или лесистых территориях, но уж что есть —  дарёному коню, как говорится. Знаю, уже есть алгоритмы, которые с помощью нейросетей умеют удалять с этих массивов дома и небольшие лесочки, но пока не встречал их в открытом доступе, пригодном к тому же для использования неквалифицированному пользователю.
Конечной целью предполагается получение CSV файла вида X, Y, Z.  Потребуется следующий инструментарий:
  1. QGIS
  2. Плагины к нему:
    • Какой-нибудь плагин для подгрузки подложек типа QuickMapServices. Ну или загрузить их вручную через XYZ Connections.
    • SRTM-Downloader
    • Point sampling tool
  3. Аккаунты как минимум на одном из сайтов с рельефом со спутников:
Сразу предупрежу, что выудить данные с японского сайта — тот еще квест, но в детали вдаваться не буду. В сети есть инструкции. С NASA возни гораздо меньше, особенно если вам повезло и SRTM-Downloader работает как надо.
Итак, алгоритм следующий:
  1. В QGIS любым известным способом открываем картографическую подложку. Это не обязательно, но как правило сильно облегчает работу.
  2. Создаем временный слой типа Polygon. Рисуем в нем полигон по контуру территории, для которой нам нужен рельеф. Зуммируемся так, чтоб нарисованный полигон занимал большую часть экрана (Zoom to Layer).
  3. С помощью строенного в QGIS инструмента Vector/Random points in polygons генерируем достаточное количество точек в пределах нарисованного в предыдущем пункте полигона. При этом создается новый временный слой с точками.
  4. С помощью SRTM-Downloader скачиваем растры с рельефом для области, показанной на экране. Для чего жмём последовательно Set Canvas Extend и Download. Для данных ALOS придется скачивать данные через сайт и подгружать в QGIS вручную.
  5. Запускаем Point sampling tool, указываем слой с точками из пункта 3 в качестве Layer containing sampling points, а в качестве Layers with fields/bands to get values from — растры (можно указать сразу несколько) из пункта 4. Тут важно отметить, что точки и растры должны быть в одной системе координат (WGS 84 -  EPSG 4326 в случае если мы работаем с SRTM). 
  6. На выходе получаем векторный слой с точками с атрибутами в виде значений рельефа. Если область интереса попадает сразу на несколько растров, то столбцов с атрибутами будет несколько. Надеюсь, не надо рассказывать, как из нескольких столбцов получить один — это можно сделать как через Field Calculator в самом QGIS, так и в Excel или любом другом табличном редакторе.
  7. Пересохраняем полученный точечный слой в виде CSV, не забывая выбрать нужную нам систему координат (если не выбирать, то по умолчанию  координаты будут представлены в виде градусов) и указать, что GEOMETRY сохраняется в виде AS_XY.

29/04/2021

Отчеты в редактируемом формате

Довольно долгое время я передвал заказчикам отчеты исключительно в формате “doc”. Мне казалось, что это удобно — в случае чего там самостоятельно смогут добавить титульный лист или подправить что-нибудь в тексте по-мелочи. Все было отлично, пока сразу две организации независимо друг от друга за весьма короткий промежуток времени не подставили меня перед экспертами, переиначив втихаря мои выводы на фактичекски противоположные. Покумекав, я решил, что теперь только формат “pdf” — мой единственный друг. Пришлось поступиться некоторыми удобствами — оформлять титульные листы приходится самостоятельно и с мелкими правками воевать тоже.
Потом я и вовсе отказался от MSO в пользу LibreOffice и если заказчик вдруг просит текст отчета в т.н. «редактируемом формате» (хотя и “pdf” вполне себе редактируемый), то отдаю ему “docx” без формления (рамочек, штампа — которые из LibreOffice в этот формат нормально все-равно не сохраняются).
Для копирования в свои отчеты клиентам этого будет достаточно, а вот для переделки выводов придется покорячиться. В копилку к известной мудрости не передавать заказчикам предварительные результаты — не отдавать им отчеты в «легко фальсифицируемом формате».

15/12/2011

О прикладных моментах workflow

Занятный психологический момент заметил тут на днях. Раньше, когда я работал в большой гидрогеологической компании, я сначала проводил все расчеты, рисовал графику, а уж потом начинал писать текст записки. Это несомненно наиболее правильная постановка workflow. Однако, на вольных хлебах, в силу особенностей распределения рабочего времени, мне часто приходится  «плясать от двери» — начинать работу с написания «рыбы» записки. Это не очень удобно и не совсем правильно с методической точки зрения, но так уж сложилось.
И тут возникает забавный момент: поскольку раньше на написании записки работа заканчивалась, то сейчас, дописав «рыбу», я подсознательно переключаюсь из состояния «а-а-а, все попало, ничего не успеваю» в состояние «все нормально, еще куча времени». Хотя объективной причины к этому совершенно не наблюдается, даже наоборот.