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

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

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

Сообщение Tereha »

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

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

Сообщение Игорь Белов »

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

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

-nlt PROMOTE_TO_MULTI
The purpose of computing is insight, not numbers
Dezmond
Участник
Сообщения: 72
Зарегистрирован: 03 ноя 2017, 11:33
Репутация: 5
Откуда: Москва

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

Сообщение Dezmond »

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

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

Сообщение Dezmond »

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

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

ALTER TABLE shema.layer ALTER COLUMN geom type geometry(MultiLineString, 3857) using ST_Multi(geom);
Ответить

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

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

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