Создание CSV с геометрией как WKT в QGIS (с выбором разделителя полей)

13

Есть ли способ выбрать разделитель полей при экспорте CSV с геометрией как wkt в QGIS?

У меня есть шейп-файл с отверстиями для пончиков, и я хотел бы экспортировать его в формате CSV. Это для партнера, чья БД не поддерживает пространственные данные.

Я следовал методологии Грега Кракова, чтобы добавить поле WKT в мой экспортируемый файл (при экспорте в csv добавьте GEOMETRY=AS_WKTв поле «Слой», но разделитель экспортируемого поля - запятая: CSV с полем WKT

Проблема в том, что каждая пара координат моих полигонов (и я подозреваю, что это будет одинаково для линий) тоже разделена запятой, поэтому я не могу импортировать данные обратно в QGIS

С точечным шейп-файлом он работает как шарм.

Кто-нибудь знает, могу ли я выбрать свое поле с разделителями при экспорте в CSV? Например, выберите точку с запятой?

Я ищу в Интернете и документации QGIS, но ничего не нашел.

fgcartographix
источник
2
Вы уже проверили страницу справки: gdal.org/ogr/drv_csv.html . Он описывает, как изменить разделитель.
Подземье
Я искал QGIS специально ... не думал о поиске помощи GDAL. Благодарность!!
fgcartographix

Ответы:

17

Я смог экспортировать в CSV, используя не запятую, разделив параметры создания слоя в диалоговом окне «Сохранить как ...» с переносами строк.

Ни запятая, ни разделение пробелами (даже когда они были в кавычках) не работали, но разрывы строк сделали свое дело. Подчеркнуть..

ЭТОТ ПОДХОД РАБОТАЛ (разделенный переводом строки):

GEOMETRY=AS_WKT
SEPARATOR=SEMICOLON
LINEFORMAT=CRLF

Но эти подходы не сработали ...

(разделенные пробелами опции):

GEOMETRY=AS_WKT SEPARATOR=SEMICOLON

(через запятую):

GEOMETRY=AS_WKT, SEPARATOR=SEMICOLON

(в кавычках и пробелах или LCO через запятую):

"GEOMETRY=AS_WKT", "SEPARATOR=SEMICOLON"

Как отметил @underdark, на странице драйвера OGR CSV обсуждаются некоторые дополнительные параметры, о которых вы, возможно, захотите знать. В частности, SEPARATORпараметр будет принимать либо SEMICOLONили TABв дополнение к COMMA. Также вы можете поэкспериментировать с LINEFORMATпараметром, который поддерживает либо CRLF(dos / windows), либо LF(unix).

Картинка говорит тысячу слов, так что вот захват экрана. :)

введите описание изображения здесь

elrobis
источник
Благодарность! Работает. Хотя я не знаю почему, но когда я пытаюсь импортировать мой CSV в QGIS, он говорит, что это недопустимый слой и его можно добавить на карту ...? Я попытался с простым многоугольником (линейной линией и многоугольником), и он тоже не сработал :( Так что я думаю, что это уже другой вопрос ...;)
fgcartographix
...интересный. Я не уверен, как это объяснить. Я попытался добавить созданный мной на карту, и это сработало. Затем я попытался добавить новый, так как он был создан (т.е. с помощью опции «Добавить сохраненный файл на карту»), и это также сработало. Какая версия QGIS? 1,8?
elrobis
1.8.0-Лиссабон. Это работает, когда я использую «Добавить сохраненный файл на карту», ​​а не когда я использую кнопку «Добавить текстовый слой с разделителями». Точка с запятой - это проверка, а также выбрано мое поле "WKT" для геометрии ... Хотя раньше он работал с точечным слоем ...
fgcartographix
1
Ааа ... попробуйте нажать кнопку "Добавить векторный слой ..." (как если бы вы добавили шейп-файл), затем перейдите в папку с вашим .csv. В нижней части диалогового окна «Открыть векторный слой, поддерживаемый OGR» установите «Файлы типа:» в Comma Separated Value [OGR]. Тогда ваш .csvдолжен появиться, и я уверен, что это сработает.
elrobis
Вы правильно сделали ставку! Он работал с «Добавить текстовый слой с разделителями» после того, как я открыл свой CSV в Excel и сохранил его тоже ... Странно, но если он работает с кнопкой «Добавить векторный слой», я в порядке с этим. Странное поведение, хотя ...
fgcartographix
3

Настройки для QGIS 3 с помощью «Параметры слоя»:

введите описание изображения здесь

gcamargo
источник