При экспорте атрибутов в csv NULL становится "0"
- SS_Rebelious
- Гуру
- Сообщения: 1304
- Зарегистрирован: 24 фев 2009, 16:51
- Репутация: 99
- Ваше звание: GIS pro-fan
- Откуда: Lahti / Газ-ПУТИНбург
- Контактная информация:
При экспорте атрибутов в csv NULL становится "0"
Если экспортировать атрибуты в 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!
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: При экспорте атрибутов в csv NULL становится "0"
ИМХО, не ошибка. NULL это специальная сущность в БД, соответственно, вне их она смысла не имеет. Ведь среди атрибутов могут быть и строки, в том числе и со значением "NULL"
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: При экспорте атрибутов в csv NULL становится "0"
Зачем же так категорично, в таблицах с данными типа CSV вполне может быть свой NULL (ну или NaN, если угодно). Было бы недурно разграничить "0" и "NULL" при экспорте атрибутов в CSV (например, сделать выбор символа(ов), который будет за NULL).Voltron писал(а):ИМХО, не ошибка. NULL это специальная сущность в БД, соответственно, вне их она смысла не имеет.
Редактор материалов, модератор форума
- SS_Rebelious
- Гуру
- Сообщения: 1304
- Зарегистрирован: 24 фев 2009, 16:51
- Репутация: 99
- Ваше звание: GIS pro-fan
- Откуда: Lahti / Газ-ПУТИНбург
- Контактная информация:
Re: При экспорте атрибутов в csv NULL становится "0"
Думаю, было бы логично при экспорте в 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!
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: При экспорте атрибутов в csv NULL становится "0"
Потому что NULL или NaN в CSV это обычное строковое значение, а не NULL в том понимании, которое используется в БД. Возможно, я не прав, в таком случае прошу ткнуть меня в соответствующие доки.amuriy писал(а):Зачем же так категорично, в таблицах с данными типа CSV вполне может быть свой NULL (ну или NaN, если угодно).
Экспортом занимается OGR, так что вам сюдаamuriy писал(а):Было бы недурно разграничить "0" и "NULL" при экспорте атрибутов в CSV (например, сделать выбор символа(ов), который будет за NULL).
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: При экспорте атрибутов в csv NULL становится "0"
так может тогда просто "пусто" вставлять было бы правильнее, а не 0?
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: При экспорте атрибутов в csv NULL становится "0"
Для числовых полей это вариант, а вот со строковыми опять проблема. Может, у меня там и должна быть пустая строка, что тогда?Максим Дубинин писал(а):так может тогда просто "пусто" вставлять было бы правильнее, а не 0?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: При экспорте атрибутов в csv NULL становится "0"
Тест.
Шейп со значениями "0" и "NULL" в атрибутах: Сохраняем через QGIS в CSV:
Делаем через OGR:
???
Шейп со значениями "0" и "NULL" в атрибутах: Сохраняем через QGIS в CSV:
Код: Выделить всё
id,N
1,0
2,0
3,0
5,0
7,0
8,0
Код: Выделить всё
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"
Может, конечно, дело в версиях 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"
Хотелось бы всё-таки услышать комментарии по поводу нулей и NULL'ей. Проблема есть, или мне показалось?
Редактор материалов, модератор форума
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: При экспорте атрибутов в csv NULL становится "0"
спасибо за тесты, я попробовал сделать тоже самое в QGIS и ogr2ogr, у меня точно такие же результаты, причем QGIS собран с 1.9, так что видимо то что у тебя 1.6 - не важно.
Я бы тоже хотел увидеть резюме по этому вопросу от кого-то, кто может поковыряться в исходниках QGIS/GDAL
Я бы тоже хотел увидеть резюме по этому вопросу от кого-то, кто может поковыряться в исходниках QGIS/GDAL
пристегивайтесь, турбулентность прямо по курсу
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя