Как отредактировать консольный вызов GDAL / OGR в QGIS 3.0?


13

В QGIS 2.XX инструменты в выпадающем меню были внизу с редактируемым окном вызова, в котором команды, недоступные в графическом интерфейсе, можно было вводить вручную (нажатием кнопки карандаша). В 3.0 инструменты панели меню совпадают с инструментами GDAL, которые есть в наборе инструментов обработки, что имеет больше смысла, но сейчас я не вижу способа добавления простых команд к операции инструмента. Пример, который я прилагаю, является warp (reproject)инструментом, я хочу добавить команду " -wo CUTLINE_ALL_TOUCHED=TRUE". Как мне это сделать?

Warp2.18.17 Warp3.0.0


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

3
Да, это был я. Так что теперь единственный способ добавить дополнительные команды - через консоль python? Скорее, регрессия для QGIS, фокус должен быть на
графическом интерфейсе,

1
Это плачущий позор. Я вижу, что запрос функции был сделан несколько раз и отклонен. Вы правы, это ретроградный шаг, так как было очень удобно настроить команду GDAL - что часто было необходимо, поскольку значения по умолчанию часто бывают неправильными (сейчас я хотел выводить байт вместо Float32 из процесса клипа - и теперь у меня есть сделать два шага вместо одного).
MappaGnosis

Стыдно видеть, что через год в QGIS 3.4.2-Мадейра я сталкиваюсь с той же проблемой
Марко

Ответы:


3

Разочаровывает, что вы не можете легко редактировать команды GDAL в последней версии QGIS. Одним из вариантов является использование оболочки OSGeo4W, которая устанавливается вместе с QGIS. Вы можете использовать это для непосредственного запуска команд GDAL.


Откройте это из меню Пуск: Пуск> QGIS 3.x> OSGeo4W shell
vinh

Я полагаю, что люди, которые устанавливают с использованием установщика только для QGIS, а не через OSGeo4W, этого не имеют (хотя я не уверен).
foo barbecue

2

Это можно сделать с помощью консоли Python.

Сначала скопируйте (или напишите) команду GDAL и отредактируйте в программе просмотра текста. Например:, gdaldem hillshade C:/MyInputFile.tif C:/MyOutputFile.tif -of GTiff -b 1 -z 1.0 -s 1.0 -az 315.0 -alt 45.0 -multidirectionalгде нам нужно удалить -az 315.0(не может сделать это в интерфейсе ...)

Затем откройте консоль Python и введите:

import subprocess

cmd = "gdaldem hillshade C:/MyInputFile.tif C:/MyOutputFile.tif -of GTiff -b 1 -z 1.0 -s 1.0 -alt 45.0 -multidirectional"

subprocess.run ([x for x in cmd.split(" ") if x != ""])

Команда cmdдолжна быть заключена в кавычки "". Обратите внимание, что вам нужно будет вручную загрузить созданный файл.

Я согласен, что отключение редактирования команд gdal - это шаг назад, надеюсь, он будет реализован в будущих версиях.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.