JOIN обрезка длины строки при сохранении в SHP
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
JOIN обрезка длины строки при сохранении в SHP
Тоже пожалуюсь на JOIN: При прикреплении таблицы с длинными строками, в самой синтезированной таблице длинные поля отображаются адекватно, а вот при экспорте в шейп, обрезаются до 80-ти символов (кодировка CP-1251). Вроде бы это не ограничение dbf, т.к. мне попадались более длинные названия в атрибутивных стоблцах шейп-файлов.
- Вложения
-
- vegetation_legend.7z
- (8.09 КБ) 338 скачиваний
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: JOIN обрезка длины строки при сохранении в SHP
Читаем на странице GDAL-драйвера ESRI Shapefile:
Дело в этом? Как в QGIS при сохранении в шейп из файла с разделителем задать количество символов в строке в атрибут. таблице?String fields without an assigned width are treated as 80 characters.
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: JOIN обрезка длины строки при сохранении в SHP
Видимо да, дело в этом. Тогда это скорее всего касается не только JOIN.
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: JOIN обрезка длины строки при сохранении в SHP
Тэкс... В эфире передача «Скандалы, интриги, расследования» .
На первый взгляд, все выглядит так, как описано в стартовом посте. Загружаем слой и CSV, соединяем их, экспортируем и получаем поле Name1 в 80 символов. Беда...
Прозвучало предположение о том, что причина всех бед — GDAL. Так ли это? Проверим. Для начала откроем в QGIS любой шейп с длинным атрибутивным полем, символов на 100-200. И сохраним его еще раз как shape-файл. А теперь сравним эти два файла. Сюрприз! Разработчики QGIS тоже не дураки, и на умолчательное поведение драйвера не полагаются. Все на месте, обвинение несостоятельно и снимается.
Тогда почему мы имеем то, что имеем? Ответ находится на странице описания драйвера CSV и в диалоге свойств слоя на вкладке «Поля». Читаем описание драйвера
На первый взгляд, все выглядит так, как описано в стартовом посте. Загружаем слой и CSV, соединяем их, экспортируем и получаем поле Name1 в 80 символов. Беда...
Прозвучало предположение о том, что причина всех бед — GDAL. Так ли это? Проверим. Для начала откроем в QGIS любой шейп с длинным атрибутивным полем, символов на 100-200. И сохраним его еще раз как shape-файл. А теперь сравним эти два файла. Сюрприз! Разработчики QGIS тоже не дураки, и на умолчательное поведение драйвера не полагаются. Все на месте, обвинение несостоятельно и снимается.
Тогда почему мы имеем то, что имеем? Ответ находится на странице описания драйвера CSV и в диалоге свойств слоя на вкладке «Поля». Читаем описание драйвера
Теперь смотрим свойства слоя. Упс... длина всех полей неопределена, что равносильно использованию значений по умолчанию при записи (те самые 80 символов, да). Решение простое — создать файл с описанием полей, где и указать тип и размерность каждого поля. Тогда все экспортируется (с учетом ограничения на длину строки в 255 символов).The OGR CSV driver returns all attribute columns with a type of string if no field type information file (with .csvt extension) is available.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей