Как конвертировать тип колонки linestring в multilinestring

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
Tereha
Завсегдатай
Сообщения: 419
Зарегистрирован: 15 май 2010, 06:13
Репутация: 4

Как конвертировать тип колонки linestring в multilinestring

Сообщение Tereha » 05 дек 2020, 00:40

Уважаемые Гуру!
Есть шейп файл дорог. Импортировал его в базу данных postgres
ogr2ogr -f "PostgreSQL" PG:"dbname=my_database user=postgres" "source_data.shp" -skip-failures
Но тип геометрии шейп файла - MultiLineString , а в базе данных появилось поле геометрии linestring.
При это часть строк не попало в базу данных.
1. Как правильно импортировать в postgis шейп? Чтобы и тип получился multilinestring и строки не пропали?
2. Как в Postgres преобразовать тип геометрии LineString в MultiLineString?
Спасибо

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Как конвертировать тип колонки linestring в multilinestring

Сообщение Игорь Белов » 07 дек 2020, 07:59

Попробуйте так:

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

-nlt PROMOTE_TO_MULTI
The purpose of computing is insight, not numbers

Dezmond
Участник
Сообщения: 72
Зарегистрирован: 03 ноя 2017, 11:33
Репутация: 5
Откуда: Москва

Re: Как конвертировать тип колонки linestring в multilinestring

Сообщение Dezmond » 07 дек 2020, 11:29

В версии qgis 2.18.28:
Изображение

Dezmond
Участник
Сообщения: 72
Зарегистрирован: 03 ноя 2017, 11:33
Репутация: 5
Откуда: Москва

Re: Как конвертировать тип колонки linestring в multilinestring

Сообщение Dezmond » 07 дек 2020, 11:34

или в самом постгресе

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

ALTER TABLE shema.layer ALTER COLUMN geom type geometry(MultiLineString, 3857) using ST_Multi(geom);

Ответить

Вернуться в «QGIS»

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

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