Как сделать карту рельефа в qgis

Добавил пользователь Евгений Кузнецов
Обновлено: 29.08.2024

Anonim

Я хочу сделать центральную линию, взяв за основу два ряда. Мне удалось построить центральную линию с большим трудом, создав несколько линий от одного края до другого реки, а затем используя центроид, но это решение очень утомительно, и мне приходится делать это в нескольких областях.


  • 1 Я думаю, что через 6 лет новый вопрос станет правильным, а предоставленные ответы не актуальны для версии 3
  • Да, но этому вопросу уже 5 лет.
  • @Erik спросили 3 дня назад (2019-04-14)
  • Ага, я думал 14 апреля = апрель 2014 -.-

Самый верный способ решения вашего вопроса с точки зрения картографического подхода - использование Многоугольников Вороного.

Предлагаю одно из решений вашего вопроса с помощью инструментов QGIS.

Итак, исходные данные - это река как площадный объект, см. Рисунок ниже.


2) Вектор> Обработка геометрии> Преобразование полигонов в линии, см. Изображение ниже



или запустить плагин с названием на скриншоте ниже, что удобнее .


4) Вырежьте исходные полигоны Вороного из результата с помощью Vector> Geoprocessing> Trim, а затем выберите только одну половину области реки, см. Рисунок ниже, используя клавишу Ctrl и инструмент выделения.


подробнее Вектор> Геообработка> Слияние по основанию . > По всем признакам.



5) Вырежьте из исходного слоя результат выделенной левой или правой области, см. Рисунок ниже.


6) Затем из результата резки создайте линию, взорвите ее, удалите ненужные части и оставьте центральную линию реки, см. Рисунок ниже


Это основной подход к решению вашего вопроса, и ясно, что различные инструменты позволяют решить ваш вопрос по-разному, но идея остается той же, удачи .

Плагин HCMGIS говорит, что делает это:

Пространственная обработка: создание каркаса / средней оси / центральной линии для дорожных / речных сетей и аналогичных линейных структур

QGIS – это бесплатная географическая информационная система с открытым исходным кодом. С ее помощью можно создавать, редактировать, визуализировать, анализировать и публиковать гео информацию в операционных системах Windows, Mac, Linux, BSD. Планируется реализация на Android. В программе происходит работа со слоями, где нижним своем, как правило, выступает карта. На верхние слои можно добавлять маркеры, линии, полигональные фигуры. Дизайн этих элементов регулируется в настройках слоя.

Чтобы быстро войти в суть работы с программой поставим себе небольшую задачу: нарисовать на карте полигон и экспортировать его координаты в один из стандартных форматов геоданных, который потом можно передать в другое приложение или геосервис.

QGIZ

Инсталляция

1. Выберите установщик для своей операционной системы на этой странице:

2. Скачанный exe файл запустите на исполнение.

3. Следуйте рекомендациям установщика, соглашаясь с предложениями по умолчанию. (Установка совсем не быстрая, на компьютере средней мощности занимает минут 20)

4. После завершения установки следует запускать файл c:\OSGeo4W64\bin\qgis-bin.exe

5. Для удобства рекомендуем сделать на него ярлык на Рабочем столе:
- найти этот файл в вашем файловом менеджере;
- схватить его при нажатой правой клавише мыши и перетащить на Рабочий стол;
- после отпускания правой клавиши мыши выбрать пункт "Создать ярлык";
На рабочем столе появится иконка для запуска приложения QGIS

Настройки

Прежде всего вам нужно обеспечить для программы нижний слой непосредственно с географической картой. Установив и настроив модуль Quick Map Services вы получите доступ к нескольким десяткам поставщиков карт. Итак, что для этого надо сделать:

1. Установите модуль Quick Map Services, для чего:
- меню: Модули > Управление модулями > Не установленные;
- выделите в списке QuickMapServices и нажмите кнопку [Установить модуль];
(На панели инструментов появится 2 кнопки нового модуля)

3. Выберите пункт Настройки.

4. Перейдите на закладку Загрузить сервисы.

6. Закройте окно настроек модуля.

7. Снова нажмите кнопку .

8. Выберите Яндекс > Карта Яндекс. (В центральной области появится карта Яндекса, на панели Слои появится слой Yandex Map)

Рисование полигона

Нарисуйте полигон (замкнутый ломанный контур), для чего:

1. Создайте новый временный слой по кнопке :
- в окне создания слоя дайте ему любое имя;
- выберите Тип геометрии: Polygon / CurvePolygon;
- система координат должна быть EPSG:3395 - WGS 84 / Word Mercator;
(В дальнейшем систему координат можно изменить в настройках слоя, которые открываются по двойному клику на слое, а Тип геометрии поменять нельзя)

2. При активном новом слое активизируйте режим редактирования слоя по кнопке .

3. Выберите инструмент Добавить полигон .

4. Нарисуйте полигон в виде ломаной замкнутой линии:
- вершины полигона отмечайте кликом левой кнопки мыши;
- чтобы замкнуть полигон совершите двойной клик левой кнопкой мыши;
- чтобы закончить рисовать полигон нажмите правую кнопку мыши;
- чтобы отменить нарисованный, но незаконченный полигон нажмите клавишу Esc.

5. Если вас не удовлетворит стиль (внешний вид) полигона по умолчанию, то стиль можно изменить таким образом:
- откройте настройки слоя по двойному клику мыши;
- выберите закладку Стиль;
- выберите один из предложенных стилей в нижней части закладки, например, outline blue;
- нажмите [Применить], чтобы увидеть изменения стиля без закрытия окна настройки;
- нажмите [OK] чтобы сохранить стиль и закрыть окно настройки.

Должно получиться примерно так, как на скриншоте выше.

Чтобы при рисовании полигона курсор "прилипал" к ближайшей вершине уже нарисованного контура:
- В открытом приложении зайдите в установки через меню: Установки > Параметры > Оцифровка.
- Поставьте флажок в пункте Enable snapping by default.

Сохранение координат полигона

Сохраните координаты полигона в файл, для чего:

1. Кликните на имени слоя на панели Слои правой кнопкой мыши.

2. Выберите Export > Save Features As.

3. Выберите формат Comma Separeted [CSV].

4. Выберите местоположение выходного файла на вашем диске и дайте имя.

5. Снимите флажок Добавить слой в проект.

6. Выберите геометрию AS_WKT в поле GEOMETRY.

На диске будет сохранен файл с расширением csv примерно с таким текстовым содержимым:

WKT, "POLYGON ((4333167.1746828 5945837.55662736,4333171.93513311 5945523.36690631,4333557.53160895 5945565.0208466, 4333557.53160895 5945565.0208466,4333514.68755607 5945848.26764057,4333514.68755607 5945848.26764057,4333167.1746828 5945837.55662736))"

Добавление данных высот из горизонталей в точечный слой с помощью QGIS?

Я хочу посчитать количество свободных участков в пределах 300 м от данного здания. Мой исходный файл содержит точечные слои зданий и пустырей.

Вот краткое описание моего рабочего процесса. Я успешно выполнил шаги 1 и 2. Как выполнить шаг 3?

Зачем преобразовывать пустыри в тепловую карту? Это проще:

  • Создайте 300-метровый буфер вокруг каждого здания (не используйте опцию растворения);
  • Используйте пространственное соединение, чтобы определить, какие точки участков находятся в каждом строительном буфере;
  • Используйте плагин групповой статистики или растворение, чтобы подсчитывать, суммировать . атрибуты точек при построении.

Предлагаю другой алгоритм:

Окружите каждое здание круговым многоугольником радиусом 300 м. Если ваше здание точечное - это просто. Иначе - извлеките каждое здание до точки в его центроиде.

Подсчитайте, сколько свободных участков существует в каждом здании, окружающем 300-метровый многоугольник. Опять же, если участок полигональный - извлеките его, чтобы он указывал на его центроид.

[Обычно инструменты ГИС, такие как ArcGis, GM . имеют встроенный инструмент для всего этого вместе. Не знаком с QGIS. Обычно это строится как тепловая карта].

В Global Mapper это инструмент Density Grid. В QGIS я предлагаю, если возможно, работать напрямую с файлами .shp, хранить их в базе данных PostGis (все с открытым исходным кодом и бесплатно), а затем просто выполнять запросы PostGis (в любом случае это то, что инструменты сборки в GIS SW делают в фоновом режиме .. .). Например (возможно, последний выбор имеет ошибку sql, дело в демонстрации намерения . ):

Популярная OpenSource настольная ГИС – QGIS обладает широкими возможностями не только по работе с векторными данными, но обладает отличным базовым инструментарием по работе со спутниковыми растровыми данными.

В данной статье рассматривается вопрос о простейшей обработке космических снимков в QGIS, даны советы и рекомендации по эффективному использованию дискового пространства. Весь техпроцесс описан последовательно.

Загрузка космоснимка

Загрузка космоснимка

Загрузка космоснимка

В статье рассматривается пример со снимком с космического аппарата Sentinel-2A.

Подготовка

После получения космоснимка, zip-архив необходимо распаковать на локальный носитель.

Папка с космоснимком Sentinel-2 будет выглядеть таким образом:

Структура космоснимка Sentinel-2A

Структура космоснимка Sentinel-2A

Все каналы необходимые для дальнейшей работы в QGIS находятся в папке [имя_снимка] > [GRANULE] > [имя_снимка] > [IMG_DATA].

Создание виртуального растра

Основной смысл виртуального растра в том, что QGIS на лету производит смешивание (композитинг) необходимых каналов космической съёмки в модели RGB, создавая маленький (несколько килобайт) метафайл, который сохраняет информацию о комбинации каналов.

Функция [Build Virtual Raster]

Функция [Build Virtual Raster]

Вызываем функцию [Build Virtual Raster] и далее следуем инструкции:

  1. [Input layers]. Выбираем входные каналы. Добавляем каналы в том порядке, в котором хотим создать необходимый композит в модели RGB. Например для Sentinel-2 комбинация 4-3-2 соответствует цветам на привычном фотоизображении. Для получения данного композита, нужно последовательно выбрать вначале 4-й канал, затем 3-й и затем соответственно 2-й;
  2. [Resolution] = highest. Разрешение обработки, нам нужно максимальное;
  3. [[v] Place each input file into a separate band]], ставим галочку. Это важная опция, подразумевающая, что каждый отдельный канал космоснимка соответствует отдельному каналу цветовой модели RGB, в которой происходит отображение результирующего растра;
  4. [Virtual], указываем путь и имя сохранения виртуального растра (метафайл). Пути каналов прописываются относительные, поэтому при перемещении космоснимка одновременно необходимо перемещать виртуальный растр. Таким образом, чтобы не запутаться в путях и сохранять рабочим метафайл, виртуальный растр рекомендуется создавать внутри корневой папки космоснимка;
  5. принцип именования файла виртуального растра:
    • принцип формирования имени файла должен строиться на сокращённом (минимальном) имени космоснимка, можно только даты, плюс комбинации каналов;
    • рассмотрим конкретный пример: Полное имя космоснимка (директории) S2A_MSIL1C_20190118T081251_N0207_R078_T37TGL_20190118T093512.SAFE;
    • предлагаемый вариант именования виртуального растра: 2019-01-18_b432. Пояснение: дата (YYYY-MM-DD Формат ISO 8601:2004), b432 (b от слова band, в англоязычной терминологии ДЗЗ — канал), комбинация каналов 4-3-2;
  6. [Run].

Область интереса

Как правило, специалист работает лишь с узкой областью из всего огромного космоснимка, поэтому целесообразно в рамках создания целиком автономного проекта, вырезать нужный фрагмент и положить в папку с проектом. В этом случае не придётся в будущем искать куда был положен исходный космоснимок.

Если применяются снимки сверхвысокого разрешения (2м, 1м, 0,5м), желательно применение пирамид (метод создания уменьшенных копий изображения разных уровней), для достижения высокой скорости работы.

1-й способ. Полигональная вырезка

Процесс создания полигональной вырезки (клиппинг изображения):

  1. создаём полигональный слой, сохраняем его, даём условное имя bound_box;
  2. рисуем прямоугольник с помощью инструмента [Add Rectangle from Extent], находящегося на панели инструментов [Shape Digitizing Toolbar];
  3. вызываем функцию [Clip Raster by Mask Layer] и далее следуем инструкции:
    1. [Input layer] = 2019-01-11_b432, выбираем наш космоснимок — виртуальный растр;
    2. [Mask layer] = bound_box, выбираем полигональный слой, шаблон для вырезки;
    3. [[v] Match the extent of the clipped raster to the extent of the mask layer]], ставим галочку. Обязательная опция отвечающая за то, чтобы размер вырезаемой области на выходе соответствовал размеру области маски;
    4. [Run].

    На выходе получается несжатый GeoTIFF заданной области. При выполнении функции мы намерено не указали путь сохранения, поэтому по правилам QGIS, файл по-умолчанию сохранился во временной папке. Во всём нашем техпроцессе это промежуточное действие, предполагающее дальнейшую компрессию (сжатие) файла.

    Так как мы создали шаблон вырезки bound_box (полигональный слой), мы его можем в будущем применять для создания одинаковых по размеру области изображений из различных космоснимков, что бывает нужно для мониторинга или сравнения.

    2-й способ. Вырезка по выделению или экстенту

    Вызываем функцию [Clip Raster by Extent] и далее следуем инструкции:

    1. Input layer] = 2019-01-11_b432, выбираем наш космоснимок — виртуальный растр;
    2. [Clipping extent] = Select Extent on Canvas. Позволяет вручную выбрать прямоугольную область вырезаемой области космоснимка;
    3. [Run].

    На выходе получается несжатый GeoTIFF заданной области, сохранённый во временной папке. Данный способ более быстрый чем первый, т.к. меньше шагов и тут не создаётся шаблон подрезки, а производится выделение на глаз, что неудобно, если нужно произвести вырезку из серии снимков, но подходит для разовых проектов.

    Корректировка изображения

    Корректировку изображения целесообразно проводить после вырезки (клиппинга) фрагмента космоснимка. Вновь формируемое растровое изображение требует настройки и скорее всего будет выглядеть в визуальном плане довольно неприглядно — слишком тёмным или неконтрастным.

    Корректировка параметров изображения

    Корректировка параметров изображения

    Используя панель инструментов [Raster Toolbar] можно быстро выровнять необходимые яркостные параметры снимка. Удерживание клавиши клавиатуры Shift при нажатии на кнопку яркости или контрастности значительно увеличивает изменяемое значение.

    Для сохранения проделанных изменений, необходимо сохранять проект или стиль, т. к. все корректировки хранятся в стилях.

    Сохранение и компрессия

    Мы создали нужный нам фрагмент космоснимка, который сохранён во временной папке в несжатом виде, с целью дальнейшей обработки. Теперь произведём компрессию в JPEG.

    Сохранение конечного файла в GeoTIFF с JPEG-компрессией

    Сохранение конечного файла в GeoTIFF с JPEG-компрессией

    В панели [Layers] правой кнопкой мыши нажимаем по временному растровому слою [Clipped] > [Export] > [Save As] и следуем инструкции:

    На выходе получаем конечный продукт — фрагмент космоснимка в формате GeoTIFF с JPEG компрессией. Данный файл можно открыть в любом вьювере (просмотрщик) изображений, в отличие от изначального GeoTIFF, с которым в большинстве своём могут работать только специализированные ГИС инструменты.

    В качестве примера эффективности сжатия, приведём информацию. Вырезанная область космоснимка, по маске bound_box, из примера выше, занимала в несжатом файле 124,5 MB, после преобразования в GeoTIFF с компрессией JPEG, размер стал 12,3 MB, т.е. в 10 раз меньше.

    Выводы

    Создание таких сжатых фрагментов космоснимков всегда оправдано, потому что экономит дисковое пространство и делает возможным просмотр файлов штатным вьювером операционной системы, облегчая тем самым обмен такими данными.

    Сжатие в JPEG, как и любое другое сжатие растрового изображения с потерями, не подходит для тех случаев, когда планируется применение специализированных инструментов обработки ДЗЗ, растрового анализа и т.п.

    Читайте также: