Определение параметров полей при импорте из CSV

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Определение параметров полей при импорте из CSV

Сообщение bolotoved » 24 фев 2012, 11:24

Определение параметров полей при импорте из CSV почему-то не работает. Вот тут утверждают, что:
1. При импорте с помощью модуля "Текст с разделителями" все поля по умолчанию текстовые". Это не так, модуль каким-то образом распознает тип данных.
2. "Можно повлиять на тип и свойства полей, создаваемого векторного слоя, создав дополнительный *.csvt файл". Это тоже не работает.

Что то поменялось в GDAL? Или в самом модуле?
Проверял на сегодняшней сборке и на 1.7.3, ничего не вышло.

UPD: Добавил файлы csv и csvt.
Вложения
tpoint.7z
(426 байт) 285 скачиваний

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

Re: Определение параметров полей при импорте из CSV

Сообщение Voltron » 24 фев 2012, 11:33

bolotoved писал(а):1. При импорте с помощью модуля "Текст с разделителями" все поля по умолчанию текстовые". Это не так, модуль каким-то образом распознает тип данных.
Можно пример? А то у меня вот в таком файле все поля имеют тип String

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

id,lat,lon
1,5.5,4.5
2,5.0,4.0
3,6.0,5.5
bolotoved писал(а):2. "Можно повлиять на тип и свойства полей, создаваемого векторного слоя, создав дополнительный *.csvt файл". Это тоже не работает.
Работает. Добавляю .csvt к приведенному выше файлу

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

"Integer","Real","String"
Открываю и получаю поля трех разных типов.
bolotoved писал(а):Что то поменялось в GDAL? Или в самом модуле?
Нигде ничего не менялось.

[телепат-mode]
Вы открываете файл через модуль «Add Delimited Text Layer»
[/телепат-mode]

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Re: Определение параметров полей при импорте из CSV

Сообщение bolotoved » 24 фев 2012, 11:37

Добавил вложение с файлом, с которым ничего не выходит.

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Re: Определение параметров полей при импорте из CSV

Сообщение bolotoved » 24 фев 2012, 11:55

Voltron писал(а):[телепат-mode]
Вы открываете файл через модуль «Add Delimited Text Layer»
[/телепат-mode]
Файл да через этот модуль... А как его открыть через Add vector layer, чтобы колонки с координатами были восприняты как координаты?

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

Re: Определение параметров полей при импорте из CSV

Сообщение Voltron » 24 фев 2012, 11:59

Хм... все открылось и поля получили разные типы. Правда, из-за ошибки в CSVT (лишняя запятая) поле Name получилось стало REAL, а не STRING

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Re: Определение параметров полей при импорте из CSV

Сообщение bolotoved » 24 фев 2012, 12:06

bolotoved писал(а): А как его открыть через Add vector layer, чтобы колонки с координатами были восприняты как координаты?
Подозреваю, что алгоритм такой:
1. Импортируем Id и координаты через модуль
2. Импортируем остальные поля + Id через Add vector layer
3. Связываем таблицы
4. Сохраняем shape

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

Re: Определение параметров полей при импорте из CSV

Сообщение Voltron » 24 фев 2012, 12:11

bolotoved писал(а):Файл да через этот модуль...
Ну вот, а Анита пишет про открытие через «Add vector layer». Просто в этом случае файл открывается с использованием провайдера OGR, а модуль использует провайдер CSV. Поэтому результаты и отличаются
bolotoved писал(а):А как его открыть через Add vector layer, чтобы колонки с координатами были восприняты как координаты?
Использовать VRT, как и написано в описании драйвера. Для приложенного файла VRT будет такой

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

<OGRVRTDataSource>
    <OGRVRTLayer name="tpoint">
        <LayerSRS>WGS84</LayerSRS>
        <SrcDataSource relativeToVRT="1">tpoint.csv</SrcDataSource>
        <GeometryType>wkbPoint</GeometryType>
        <GeometryField encoding="PointFromColumns" x="Lon" y="Lat"/>
    </OGRVRTLayer>
</OGRVRTDataSource>

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Re: Определение параметров полей при импорте из CSV

Сообщение bolotoved » 24 фев 2012, 17:03

Набросал статейку
Наверняка, там как обычно куча технических изъянов.

Ответить

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

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

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