При экспорте атрибутов в csv NULL становится "0"

Здесь нужно сообщать об ошибках в QGIS, с подробным описанием шагов и версии ПО.
Ответить
Аватара пользователя
SS_Rebelious
Гуру
Сообщения: 1304
Зарегистрирован: 24 фев 2009, 16:51
Репутация: 99
Ваше звание: GIS pro-fan
Откуда: Lahti / Газ-ПУТИНбург
Контактная информация:

При экспорте атрибутов в csv NULL становится "0"

Сообщение SS_Rebelious » 10 май 2012, 00:32

Если экспортировать атрибуты в csv, то те значения которые были NULL принимают значение "0". Не особенно приятная вещь, особенно если среди атрибутов действительно присутствуют нули.
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: При экспорте атрибутов в csv NULL становится "0"

Сообщение Voltron » 10 май 2012, 10:37

ИМХО, не ошибка. NULL это специальная сущность в БД, соответственно, вне их она смысла не имеет. Ведь среди атрибутов могут быть и строки, в том числе и со значением "NULL"

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: При экспорте атрибутов в csv NULL становится "0"

Сообщение Александр Мурый » 10 май 2012, 11:16

Voltron писал(а):ИМХО, не ошибка. NULL это специальная сущность в БД, соответственно, вне их она смысла не имеет.
Зачем же так категорично, в таблицах с данными типа CSV вполне может быть свой NULL (ну или NaN, если угодно). Было бы недурно разграничить "0" и "NULL" при экспорте атрибутов в CSV (например, сделать выбор символа(ов), который будет за NULL).
Редактор материалов, модератор форума

Аватара пользователя
SS_Rebelious
Гуру
Сообщения: 1304
Зарегистрирован: 24 фев 2009, 16:51
Репутация: 99
Ваше звание: GIS pro-fan
Откуда: Lahti / Газ-ПУТИНбург
Контактная информация:

Re: При экспорте атрибутов в csv NULL становится "0"

Сообщение SS_Rebelious » 10 май 2012, 11:20

Думаю, было бы логично при экспорте в csv NULL заменять на пустое значение.
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: При экспорте атрибутов в csv NULL становится "0"

Сообщение Voltron » 10 май 2012, 15:29

amuriy писал(а):Зачем же так категорично, в таблицах с данными типа CSV вполне может быть свой NULL (ну или NaN, если угодно).
Потому что NULL или NaN в CSV это обычное строковое значение, а не NULL в том понимании, которое используется в БД. Возможно, я не прав, в таком случае прошу ткнуть меня в соответствующие доки.
amuriy писал(а):Было бы недурно разграничить "0" и "NULL" при экспорте атрибутов в CSV (например, сделать выбор символа(ов), который будет за NULL).
Экспортом занимается OGR, так что вам сюда

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: При экспорте атрибутов в csv NULL становится "0"

Сообщение Максим Дубинин » 10 май 2012, 16:03

так может тогда просто "пусто" вставлять было бы правильнее, а не 0?
пристегивайтесь, турбулентность прямо по курсу

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: При экспорте атрибутов в csv NULL становится "0"

Сообщение Voltron » 10 май 2012, 16:08

Максим Дубинин писал(а):так может тогда просто "пусто" вставлять было бы правильнее, а не 0?
Для числовых полей это вариант, а вот со строковыми опять проблема. Может, у меня там и должна быть пустая строка, что тогда?

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: При экспорте атрибутов в csv NULL становится "0"

Сообщение Александр Мурый » 10 май 2012, 16:25

Тест.

Шейп со значениями "0" и "NULL" в атрибутах:
test_csv.zip
(1.08 КБ) 398 скачиваний
test_csv.png
test_csv.png (10.8 КБ) 9614 просмотров
Сохраняем через QGIS в CSV:

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

id,N
1,0
2,0
3,0
5,0
7,0
8,0
Делаем через OGR:

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

ogr2ogr -f "CSV" test_csv.csv test_csv.shp

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

id,N
1,0
2,
3,0
5,
7,0
8,
???
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: При экспорте атрибутов в csv NULL становится "0"

Сообщение Александр Мурый » 10 май 2012, 16:37

Может, конечно, дело в версиях GDAL (консольный у меня 1.9.0), QGIS из репозитория собрана с 1.6.3
Проверил:

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

$ ldd /usr/bin/qgis | grep libgdal
libgdal1.6.0.so.1 => /usr/lib/libgdal1.6.0.so.1
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: При экспорте атрибутов в csv NULL становится "0"

Сообщение Александр Мурый » 12 май 2012, 13:03

Хотелось бы всё-таки услышать комментарии по поводу нулей и NULL'ей. Проблема есть, или мне показалось?
Редактор материалов, модератор форума

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: При экспорте атрибутов в csv NULL становится "0"

Сообщение Максим Дубинин » 12 май 2012, 13:47

спасибо за тесты, я попробовал сделать тоже самое в QGIS и ogr2ogr, у меня точно такие же результаты, причем QGIS собран с 1.9, так что видимо то что у тебя 1.6 - не важно.

Я бы тоже хотел увидеть резюме по этому вопросу от кого-то, кто может поковыряться в исходниках QGIS/GDAL
пристегивайтесь, турбулентность прямо по курсу

Ответить

Вернуться в «Ошибки QGIS»

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

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