Пакетный экспорт отдельных контуров в формате mif из векторного слоя в программе Q-gis

Не знаете, где задать вопрос? Задавайте здесь.
ustreb
Интересующийся
Сообщения: 43
Зарегистрирован: 06 июл 2023, 04:41
Репутация: 3
Откуда: календарь

Re: Пакетный экспорт отдельных контуров в формате mif из векторного слоя в программе Q-gis

Сообщение ustreb » 09 апр 2026, 09:14

Елена2026 писал(а):
09 апр 2026, 08:41
Спасибо за совет, но с АркГисом, боюсь, не получится, так как у нас в гос.организации нельзя устанавливать "крякнутые" программы и вообще всё проверяется ((( Ку-Гис, по идее, тоже нельзя использовать, но хоть это пока разрешили. Покупать лицензию точно не станут ради экспорта файлов... Вот проявляем изобретательность, как можем, чтобы имеющимися средствами ускорить работу.
Если есть свой ноутбук или ПК, то можно) вам шашечки или ехать? :lol:

AlexRomantsov
Завсегдатай
Сообщения: 446
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 168
Ваше звание: хм, сам не знал
Откуда: Томск

Re: Пакетный экспорт отдельных контуров в формате mif из векторного слоя в программе Q-gis

Сообщение AlexRomantsov » 09 апр 2026, 13:32

забавный вариант пришел в голову:
таблица атрибутов, калькулятор выражений, создаем виртуальное поле (txt), подставляем выражение типа:

'Version 2
Delimiter ","
CoordSys NonEarth Units "m" Bounds (-3274.9999, 2524.9995) (2224.99976, -5225.0005)
Columns 1
None Char(5)
DATA

Region 1' ||
'
' ||
num_points( $geometry ) ||
'
' ||
replace(
replace(
replace( geom_to_wkt( $geometry), 'Polygon ((', '')
,',','\n')
,'))','')

Выполняем, появляется поле с содержимым mif файла. Затем экспорт слоя например в csv, и поискать как текстовый файл разделить на множество
Значение атрибута:
mif.JPG
mif.JPG (13.64 КБ) 326 просмотров

Елена2026
Интересующийся
Сообщения: 19
Зарегистрирован: 26 мар 2026, 19:26
Репутация: 0
Откуда: Россия

Re: Пакетный экспорт отдельных контуров в формате mif из векторного слоя в программе Q-gis

Сообщение Елена2026 » 09 апр 2026, 15:20

Интересная идея, спасибо! Это почти mif-файл получается))) Однако при разбивке векторного слоя в экспортируемых файлах только по 3 точки от всего полигона почему-то отображается. Однако, если бы хоть координаты выгружались, проще было бы вручную мифки делать копипастом, чем экспортировать с ку-гиса через привычный "экспорт - сохранить выбранные объекты как..."

Елена2026
Интересующийся
Сообщения: 19
Зарегистрирован: 26 мар 2026, 19:26
Репутация: 0
Откуда: Россия

Re: Пакетный экспорт отдельных контуров в формате mif из векторного слоя в программе Q-gis

Сообщение Елена2026 » 09 апр 2026, 15:37

Сначала подумала, что дело в том, что малое количество символов задала, но нет - пробовала и миллион символов задавать. И что интересно: когда я ввожу выражение, сохраняю, то в столбце с новым атрибутом для каждого объекта появляется весь нужный текст со всеми координатами всех точек полигона. После того, как я делаю разбивку векторного слоя, экспортируются в csv уже урезанные координаты (3-4 точки от полигона). И в таблице атрибутов тоже исчезают все необходимые координаты, остаются урезанные. В чём же тут фокус?

gamm
Гуру
Сообщения: 4184
Зарегистрирован: 15 окт 2010, 08:33
Репутация: -445565593
Ваше звание: программист
Откуда: Казань

Re: Пакетный экспорт отдельных контуров в формате mif из векторного слоя в программе Q-gis

Сообщение gamm » 09 апр 2026, 16:21

Елена2026 писал(а):
08 апр 2026, 11:17
Спасибо за помощь, но всё равно не выполняется скрипт, выдает ошибку.
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "Untitled-0", line 82, in <module>
ValueError: too many values to unpack (expected 2)
Последняя попытка ...
Железный Мозг говорит, что строку

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

err_code, err_msg = QgsVectorFileWriter.writeAsVectorFormatV3(
нужно заменить на

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

err_code, _, _, err_msg = QgsVectorFileWriter.writeAsVectorFormatV3(

AlexRomantsov
Завсегдатай
Сообщения: 446
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 168
Ваше звание: хм, сам не знал
Откуда: Томск

Re: Пакетный экспорт отдельных контуров в формате mif из векторного слоя в программе Q-gis

Сообщение AlexRomantsov » 10 апр 2026, 05:04

Елена2026 писал(а):
09 апр 2026, 15:37
И в таблице атрибутов тоже исчезают все необходимые координаты, остаются урезанные. В чём же тут фокус?
Если Вы сделали физическое поле для расчета (не виртуальное), его возможная длина зависит от формата слоя, и при сохранении текст обрежет.
Например в shp (dbf) максимум - 254 символа.
Либо надо хранить слой в современных форматах или базах данных (таких как GeoPackage), либо это поле делать виртуальным, вычисляемым (не сохраняемым).
Попробовал, виртуальное поле сохранилось в csv не обрезанным, в т.ч. через Разбить векторный слой

AlexRomantsov
Завсегдатай
Сообщения: 446
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 168
Ваше звание: хм, сам не знал
Откуда: Томск

Re: Пакетный экспорт отдельных контуров в формате mif из векторного слоя в программе Q-gis

Сообщение AlexRomantsov » 10 апр 2026, 05:08

Да, и в примере моя шапка (Version 2 Delimiter "," ...) - с потолка, заменить на свои

Елена2026
Интересующийся
Сообщения: 19
Зарегистрирован: 26 мар 2026, 19:26
Репутация: 0
Откуда: Россия

Re: Пакетный экспорт отдельных контуров в формате mif из векторного слоя в программе Q-gis

Сообщение Елена2026 » 10 апр 2026, 10:28

AlexRomantsov писал(а):
10 апр 2026, 05:04
Елена2026 писал(а):
09 апр 2026, 15:37
И в таблице атрибутов тоже исчезают все необходимые координаты, остаются урезанные. В чём же тут фокус?
Если Вы сделали физическое поле для расчета (не виртуальное), его возможная длина зависит от формата слоя, и при сохранении текст обрежет.
Например в shp (dbf) максимум - 254 символа.
Либо надо хранить слой в современных форматах или базах данных (таких как GeoPackage), либо это поле делать виртуальным, вычисляемым (не сохраняемым).
Попробовал, виртуальное поле сохранилось в csv не обрезанным, в т.ч. через Разбить векторный слой
Спасибо!! Удалось экспортировать весь слой в csv, открыла с помощью блокнота - начинка как раз как у mif. Надо ещё с шапкой поэкспертиментировать и проверить, примет ли их Технокад. Многоконтурные земельные участки и с дырками вырезанными тоже надо ещё попробовать сделать) Благодарю за помощь!!

Елена2026
Интересующийся
Сообщения: 19
Зарегистрирован: 26 мар 2026, 19:26
Репутация: 0
Откуда: Россия

Re: Пакетный экспорт отдельных контуров в формате mif из векторного слоя в программе Q-gis

Сообщение Елена2026 » 10 апр 2026, 10:57

[/quote]
Последняя попытка ...
Железный Мозг говорит, что строку

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

err_code, err_msg = QgsVectorFileWriter.writeAsVectorFormatV3(
нужно заменить на

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

err_code, _, _, err_msg = QgsVectorFileWriter.writeAsVectorFormatV3(
[/quote]
Благодарю! В этот раз Питон ошибку не выдал, сделал экспорт в назначенную папку. Но! Файлы Кугис выгрузил в форматах .tab, .map, .dat, .id, а mif просто включил в название файла (например, 62_12_0010101_4.mif.map). Не любит Кугис формат mif :roll:

Елена2026
Интересующийся
Сообщения: 19
Зарегистрирован: 26 мар 2026, 19:26
Репутация: 0
Откуда: Россия

Re: Пакетный экспорт отдельных контуров в формате mif из векторного слоя в программе Q-gis

Сообщение Елена2026 » 10 апр 2026, 10:58

Последняя попытка ...
Железный Мозг говорит, что строку

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

err_code, err_msg = QgsVectorFileWriter.writeAsVectorFormatV3(
нужно заменить на

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

err_code, _, _, err_msg = QgsVectorFileWriter.writeAsVectorFormatV3(
Благодарю! В этот раз Питон ошибку не выдал, сделал экспорт в назначенную папку. Но! Файлы Кугис выгрузил в форматах .tab, .map, .dat, .id, а mif просто включил в название файла (например, 62_12_0010101_4.mif.map). Не любит Кугис формат mif :roll:

gamm
Гуру
Сообщения: 4184
Зарегистрирован: 15 окт 2010, 08:33
Репутация: -445565593
Ваше звание: программист
Откуда: Казань

Re: Пакетный экспорт отдельных контуров в формате mif из векторного слоя в программе Q-gis

Сообщение gamm » 10 апр 2026, 16:15

Мда ... странно и загадочно.
Железный Мозг говорит, что нужно указать другой драйвер
driverName = "MapInfo MIF" вместо driverName = "MapInfo file"

Ответить

Вернуться в «Я новичок!»

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

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