В qgis в меню растра есть пункт « конвертировать вектор в растр ».
Это ведет себя странно — я не понимаю, как это должно работать.
Я могу выбрать векторный файл, атрибут и выходной растр. Но по какой-то причине выходной файл принимается только в том случае, если он существует, и даже если я выбираю существующий растр, кажется, ничего не происходит.
Также я не понимаю, как программа знает, какой растр создать, какой размер ячейки, проекцию и т. Д.
Как я могу конвертировать вектор в растр?
Преобразование Vector в растр обертывает GDAL gdal_rasterize , который до версии 1.8.0 не создавал выходной растр. Таким образом, размер ячейки, проекция и т. Д. Определяются растром, а не параметрами командной строки.
Это что-то вроде Catch-22, потому что у GDAL нет простого способа создания пустого изображения. Вы можете попробовать создать два однопиксельных изображения для верхнего левого и нижнего правого краев в программе рисования, запустить gdal_translate для них, чтобы геопривязать их, затем создать VRT из них и, наконец, использовать gdal_translate для преобразования из VRT в GeoTIFF или аналогичный. , но это точно боль!
Лучшей альтернативой было бы перейти на GDAL> = 1.8.0 и использовать новые -tr и -te параметры gdal_rasterize.
ubuntugis/+archive/ubuntugis-unstable .Затем я мог бы получить правильный синтаксис командной строки-из QGIS растровой меню -> Преобразовать -> Rasterize. В командной строке linux я добавил -tr и -te и получил растр, не создавая сначала «пустой».
Вы также можете использовать SAGA GIS (также с открытым исходным кодом, как QGIS) — в Modules / Grid / Gridding / Shapes для грида есть инструмент . Я не знаком с GRASS, и растровых инструментов мне недостаточно, QGIS, поэтому я использую QGIS вместе с SAGA, и он работает очень хорошо.
Видео:Векторизация растра землепользования в границах муниципального образования в QGIS 3.16Скачать
Преобразование вектора в растр
Как преобразовать векторную графику в вышивку
Я использую GRASS, но я также знаком с R и QGIS.
Пытаюсь преобразовать карту векторной области в растровую. Моя проблема в том, что разрешение растра слишком низкое (и я не могу его изменить по другим причинам), поэтому многие области исчезают.
Мне нужно, чтобы каждая растровая ячейка, покрытая вектором, была преобразована и ассоциировалась с ячейкой покрытия (т.е. если 20% ячейки покрыто векторной картой, ее значение будет 20).
На вашем месте я бы сначала создал растр с более высоким разрешением (скажем, в 10 раз больше ширины и в 10 раз больше высоты с теми же размерами, что и ваш целевой растр) и растеризовал бы в него ваш многоугольник.
Теперь у вас есть растр с высоким разрешением, который затем понижается до желаемого разрешения. Вы можете использовать инструмент для субдискретизации среднего / суммы или, если вы чувствуете себя комфортно в R, составить свою собственную сумму скользящего окна (10 на 10, сдвиг 10 каждый раз). Сумма для каждого патча 10 на 10, затем назначенного пикселю 1 на 1 на вашем конечном растре, будет просто пропорцией (удобно из 100) площади, покрытой многоугольником.
Спасибо user1269942. Я действительно как ты сказал.
Я отвечаю на свой вопрос только для того, чтобы опубликовать код R, который я сделал для решения проблемы. Это не быстро и можно было бы сделать лучше, но это работает.
Прежде всего, я увеличил разрешение целевого растра в 20 раз (в обоих направлениях), а затем растеризовал векторный слой с этим разрешением. «Vegetazione.asc» — это экспортированная растровая карта в формате AAIGrid с заголовком из 6 строк. «scala» — это соотношение между растеризованной картой и исходным разрешением (в данном случае 20). Файл «progress.txt», который я пишу, предназначен только для проверки хода выполнения кода.
«target» — это результат, который нужно сохранить.
PS: в моем случае карта «Vegetazione» имеет 16540 * 3360 ячеек и запускается около 3 часов. Возможно, его можно распараллелить, чтобы улучшить производительность
Видео:QGIS 2 - № 12. ВекторизацияСкачать
Растрировать (вектор в растр) QGIS 3.4
Зональная статистика с помощью Python — Часть 4: Растеризация многоугольника
Я пытаюсь растрировать вектор с помощью инструмента растеризации QGIS 3.4 (не инструментов саги или травы). Я предпочитаю использовать этот инструмент, потому что он намного быстрее. Значения, которые я хотел бы записать, находятся в поле «cost_value» (в данном случае есть только одно значение — 2934). Значение без данных должно быть -9999. После запуска инструмента все значения растра получают значения из поля «cost_value». Проще говоря: все пиксели имеют значение из «cost_value», и ни один из них не получает -9999, хотя я растеризирую только одну линейную геометрию.
Вы создаете растр размером 1 пиксель и высотой 1 пиксель.
Ваш растр имеет 1 ячейку, которой касается вектор, и принимает это значение.
Пикселей должно быть достаточно, чтобы найти ячейки, которые не соответствуют условию касания вектором.
- Ты прав. Я только что понял, что мне нужно изменить это на единицы с географической привязкой. Спасибо за ответ.
- Да, разрешение работает по-другому, если оно выражено в пикселях или единицах с географической привязкой. Добро пожаловать.
💡 Видео
Converting Raster to Vector in QGISСкачать
# 34 QGIS - Convert a Raster to Vector 2Скачать
QGIS 3 - № 24. Редактирование векторных слоев (Векторизация)Скачать
КАК ПЕРЕВЕСТИ РАСТРОВУЮ КАРТУ В ВЕКТОРСкачать
#8 QGIS - Vector to RasterСкачать
QGIS - Polygonize - Raster to VectorСкачать
Обрезка изображений в QGIS 3.16Скачать
QGIS Создание карты Установка и привязка растраСкачать
#33 QGIS - Convert Raster to VectorСкачать
QGIS 2 - № 35. Обрезка растровых изображений.Скачать
Полуавтоматическая трассировка растровых линий в QGISСкачать
QGIS 2 - № 41. Свободная привязка растров.Скачать
QGIS 3 - № 21. Обрезка изображений.Скачать
QGIS 3 - № 6. Объединение растровых изображений.Скачать
Polygon to Raster (Rasterize) with QGISСкачать
Vector a Raster - QGISСкачать
Convert raster to polygon qgisСкачать
QGIS 3 - № 43. Получение вектора из NDVIСкачать