Страница 1 из 1

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

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

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

UPD: Добавил файлы csv и csvt.

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

Добавлено: 24 фев 2012, 11:33
Voltron
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]

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

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

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

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

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

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

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

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

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

Добавлено: 24 фев 2012, 12:11
Voltron
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>

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

Добавлено: 24 фев 2012, 17:03
bolotoved
Набросал статейку
Наверняка, там как обычно куча технических изъянов.