Экспорт shape файла в CVS файл

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Экспорт shape файла в CVS файл

Сообщение Voltron » 29 июн 2012, 20:02

drug писал(а):А где в qgis задаются параметры на этапе сохранения в csv? Я сохраняю через Слой-Сохранить как и выбираю формат csv, больше никаких опций не доступно.
Неправда. Что по вашему такое блок «OGR creation options»?

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Экспорт shape файла в CVS файл

Сообщение Александр Мурый » 29 июн 2012, 22:26

Voltron писал(а): Тогда шаг с ogr2ogr тут явно лишний. Задать параметры можно из QGIS на этапе сохранения в CSV
Пробовал -- не прокатывает. А вот через <ogr2ogr> всё ок. ЧЯДНТ?

Мне приятней поискать путь, как избавиться от QGIS на первом этапе.. :) Да, я понимаю, что можно скрипт на питоне с гдаловскими функциями, но так пока не умею, поэтому надеюсь на кривой шелл-скриптинг.
Редактор материалов, модератор форума

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

Re: Экспорт shape файла в CVS файл

Сообщение Voltron » 29 июн 2012, 22:39

amuriy писал(а):Пробовал -- не прокатывает. А вот через <ogr2ogr> всё ок. ЧЯДНТ?
Ммм... не туда пихаешь GEOMETRY=AS_XY? Это надо в раздел «Layer» писать.
amuriy писал(а):Мне приятней поискать путь, как избавиться от QGIS на первом этапе.. :) Да, я понимаю, что можно скрипт на питоне с гдаловскими функциями, но так пока не умею, поэтому надеюсь на кривой шелл-скриптинг.
Ну вот, сам спросил, сам ответил :-) Питон спасет отца русской демократии. ogr2ogr, насколько знаю, пока еще не умеет геометрию туда-сюда конвертировать, так что для bash и компании надо, скорее всего, еще и дополнительные приблуды искать.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Экспорт shape файла в CVS файл

Сообщение Александр Мурый » 29 июн 2012, 22:48

Voltron писал(а): Ммм... не туда пихаешь GEOMETRY=AS_XY? Это надо в раздел «Layer» писать.
Спасибо, кэп. Я иногда таки читаю доки и в курсе про разницу между -dsco и -lco :)
Voltron писал(а):ogr2ogr, насколько знаю, пока еще не умеет геометрию туда-сюда конвертировать, так что для bash и компании надо, скорее всего, еще и дополнительные приблуды искать.
Всё, что надо для счастья, есть в выводе <ogrinfo> -- осталось это разобрать по кусочкам..
Редактор материалов, модератор форума

drug
Участник
Сообщения: 99
Зарегистрирован: 17 июн 2012, 11:11
Репутация: 1
Откуда: Новосибирск
Контактная информация:

Re: Экспорт shape файла в CVS файл

Сообщение drug » 30 июн 2012, 08:25

Voltron писал(а): Неправда. Что по вашему такое блок «OGR creation options»?
И правда - неправда. :) Просто было не понятно, что туда писать. Пока сделал через ogr2ogr, но как понимаю, там те же самые опции должны быть, попробую.

Nule
Завсегдатай
Сообщения: 276
Зарегистрирован: 26 дек 2011, 12:26
Репутация: 3

Re: Экспорт shape файла в CVS файл

Сообщение Nule » 30 июн 2012, 11:28

Есть такая открытая квазиГИС http://www.mapwindow.org/
Там довольно удобный плагин для конвертации cvs в shp и обратно.

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

Re: Экспорт shape файла в CVS файл

Сообщение Voltron » 30 июн 2012, 14:22

amuriy писал(а):Спасибо, кэп. Я иногда таки читаю доки и в курсе про разницу между -dsco и -lco :)
Ну тогда не знаю, а libastral пересобирать лень. Но оно работает, проверено

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Экспорт shape файла в CVS файл

Сообщение Александр Мурый » 30 июн 2012, 23:02

Не про QGIS, зато по теме.

Как выяснилось, конвертирование "SHP с геометрией любого типа --> CSV" решается с помощью утилиты shp2text и лёгкого допилинга выходного файла (замена табуляции на запятые и т.п.)

shp2text работает из командной строки (Windows / Linux), текстовый файл "табличного" вида из шейп-файла получается так:

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

shp2text --spreadsheet shapefile.shp > shapefile.csv
Пример с OSM-данными под линуксом (почти 300 тыс. полигонов обработано на средней по мощности машине за 10 сек.):

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

shp2text --spreadsheet building-polygon.shp | tr '\t' ',' | sed -e 's/, /,/g' -e 's/,$//g' > building-polygon.csv
Результат:

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

id,X-Coordinate,Y-Coordinate,Z,M,OSM_ID,BUILDING,A_STRT,A_SBRB,A_HSNMBR,NAME
0,36.59894290,45.19726890,0,0,91245417,yes,,,,
0,36.59907280,45.19727880,0,0,91245417,yes,,,,
0,36.59908640,45.19719040,0,0,91245417,yes,,,,
0,36.59895650,45.19718050,0,0,91245417,yes,,,,
0,36.59894290,45.19726890,0,0,91245417,yes,,,,
Редактор материалов, модератор форума

Ответить

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

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

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