Как использовать параметр -f в утилите gdal_contour?

Ответить
Аватара пользователя
nextstopsun
Участник
Сообщения: 82
Зарегистрирован: 04 май 2010, 17:12
Репутация: 50
Откуда: Москва

Как использовать параметр -f в утилите gdal_contour?

Сообщение nextstopsun »

По умолчанию на выходе утилита выдает шейпфайл.
Но в описании присутствует параметр -f, который вроде бы позволяет задать выходной формат.

Примеров с этим параметром, к сожалению, нигде не нашел.

Мне нужно результат писать в базу postgresql (postgis).
Что нужно указывать в этом параметре, чтобы результат ушел сразу в базу, а не в шейп?
Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Как использовать параметр -f в утилите gdal_contour?

Сообщение Voltron »

Аватара пользователя
nextstopsun
Участник
Сообщения: 82
Зарегистрирован: 04 май 2010, 17:12
Репутация: 50
Откуда: Москва

Re: Как использовать параметр -f в утилите gdal_contour?

Сообщение nextstopsun »

Статья, конечно, полезная. Как и дока gdal собс-но.

Только вот при задании параметра -f как например в ogr2ogr
gdal_contour -i 1 -f PostgreSQL PG:"host=localhost user=iampg password=iampgpass dbname=iamgis" iamrast.tif

Получаю такую ошибку
ERROR 1: Error browsing database for PostGIS Raster tables:

И что-то мне подсказывает, что это параметр для входного формата, а не выходного.

Но в доке сказано output:
-f format:
create output in a particular format, default is shapefiles.
Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Как использовать параметр -f в утилите gdal_contour?

Сообщение Voltron »

nextstopsun писал(а):Получаю такую ошибку
ERROR 1: Error browsing database for PostGIS Raster tables:
Нескромный вопрос. А вы уверены, что gdal сейчас умеет писать растровые данные в в PostGIS? А то разработчики об этом похоже не знают :-). Пруф
nextstopsun писал(а):И что-то мне подсказывает, что это параметр для входного формата, а не выходного.
Неправильно подсказывает. В документации, конечно, бывают ошибки, но в данном случае все правильно
-f format:
create output in a particular format, default is shapefiles.
Аватара пользователя
nextstopsun
Участник
Сообщения: 82
Зарегистрирован: 04 май 2010, 17:12
Репутация: 50
Откуда: Москва

Re: Как использовать параметр -f в утилите gdal_contour?

Сообщение nextstopsun »

Утилита gdal_contour на вход принимает растровые данные, а на выходе возвращает векторные.
Как я написал, на вход я ей подаю растровый файл iamrast.tif
На выходе получаю по умолчанию шейпфайл, а хочу получить таблицу в базе данных.

"Нескромный вопрос. А вы уверены, что gdal сейчас умеет писать растровые данные в в PostGIS? А то разработчики об этом похоже не знают ."
Вопрос, конечно, к теме не относится (писать-то мне нужно векторные данные), но я в этом не уверен. Хотя может быть кто-то уже сделал патч...))
Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Как использовать параметр -f в утилите gdal_contour?

Сообщение Voltron »

nextstopsun писал(а):Утилита gdal_contour на вход принимает растровые данные, а на выходе возвращает векторные.
Я в курсе :-) Но у вас не указан выходной файл

Код: Выделить всё

gdal_contour -i 1 -f PostgreSQL PG:"host=localhost user=iampg password=iampgpass dbname=iamgis" iamrast.tif -nln contour_out
P.S.: читать посты без форматирования неудобно
Аватара пользователя
nextstopsun
Участник
Сообщения: 82
Зарегистрирован: 04 май 2010, 17:12
Репутация: 50
Откуда: Москва

Re: Как использовать параметр -f в утилите gdal_contour?

Сообщение nextstopsun »

Указываю -nln contour_out и все равно получаю ту же ошибку.

Код: Выделить всё

gdal_contour -i 1 -f PostgreSQL PG:"host=localhost user=iampg password=iampgpass dbname=iamgis" iamrast.tif -nln contour_out
ERROR 1: Error browsing database for PostGIS Raster tables:
В доке GDAL вроде бы этот параметр не обязателен.
-nln outlayername:
Provide a name for the output vector layer. Defaults to "contour".
Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Как использовать параметр -f в утилите gdal_contour?

Сообщение Александр Мурый »

А может таки стоит указывать вначале входной файл, а потом выходной? :)

Код: Выделить всё

gdal_contour -f PostgreSQL iamrast.tif PG:host=localhost user=iampg password=iampgpass dbname=iamgis  -i 1
И заодно стоит, наверное, указывать имя таблицы (флаг "-a").
Редактор материалов, модератор форума
Аватара пользователя
nextstopsun
Участник
Сообщения: 82
Зарегистрирован: 04 май 2010, 17:12
Репутация: 50
Откуда: Москва

Re: Как использовать параметр -f в утилите gdal_contour?

Сообщение nextstopsun »

И заодно стоит, наверное, указывать имя таблицы (флаг "-a").
Вот что указано в описании утилиты:

Код: Выделить всё

Usage: gdal_contour [-b <band>] [-a <attribute_name>] [-3d] [-inodata]
                    [-snodata n] [-f <formatname>] [-i <interval>]
                    [-off <offset>] [-fl <level> <level>...]
                    [-nln <outlayername>] [-q]
                    <src_filename> <dst_filename>
Как видно из описания, флаг "-a" - это флаг имени поля, в которое будет записано значение контура, а не имя таблицы.
А может таки стоит указывать вначале входной файл, а потом выходной?
Опять же из описания утилиты параметр -nln задается до указания входного файла <src_filename>
Повторюсь: на выходе мне нужен не файл, а таблица базы данных.

Вобщем я пытался менять местами параметры - ошибка от этого остается прежней.
Прошу прощения - готов перефразировать вопрос:
Приведите, пожалуйста, рабочий пример вызова утилиты gdal_contour с выходным форматом PostgreSQL
Аватара пользователя
nextstopsun
Участник
Сообщения: 82
Зарегистрирован: 04 май 2010, 17:12
Репутация: 50
Откуда: Москва

Re: Как использовать параметр -f в утилите gdal_contour?

Сообщение nextstopsun »

Решил.

Код такой:

Код: Выделить всё

gdal_contour -f PostgreSQL -i 1 -nln cont iamrast.tif "PG:host=localhost user=iampg password=iampgpass dbname=iamgis"
Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Как использовать параметр -f в утилите gdal_contour?

Сообщение Максим Дубинин »

не хочешь добавить на страницу рецептов?

UPD: поправил ссылку
пристегивайтесь, турбулентность прямо по курсу
Ответить

Вернуться в «GDAL/OGR»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость