Как преобразовать шейп-файл в WKT?

12

Я пытаюсь преобразовать шейп-файл в простой формат общеизвестного текста (WKT) в следующем примере (с http://en.wikipedia.org/wiki/Well-known_text ).

MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),
((20 35, 45 20, 30 5, 10 10, 10 30, 20 35),
(30 20, 20 25, 20 15, 30 20)))

Я знаю, что я использую QGIS для сохранения шейп-файла в формате CSV, и я могу использовать ogr2ogr для любого количества преобразований. На самом деле, ogr2ogr -f CSV out.wkt source.shp -lco GEOMETRY=AS_WKTя настолько близко, насколько я зашел, но не совсем так. Какие-либо предложения?

ps Как отмечает Mapperz, эта тема очень похожа на эту . Этот поток, хотя и обеспечивал подход ogr2ogr, который я отмечал выше, не решил эту конкретную проблему. Вывод ogr2ogr, который я получаю, выглядит следующим образом (я обрезал строки). Видимо, я просто не понял, как заставить ogr2ogr использовать мультиполигон.

WKT,AREA,PERIMETER,PINUPOND_,PINUPOND_I,CODE
"POLYGON ((-120.630531650950061 50.838562484449184, . . .
"POLYGON ((-123.206067372148397 51.038984074378327, . . .
Грегори
источник
В чем проблема с выводом ogr2ogr?
til_b
@til_b: в редакции.
Григорий
1
Твоя форма МУЛЬТИПОЛИГОН?
Юрген Цорниг
@ JürgenZornig: Как я могу сказать? Было бы целесообразно, чтобы это был мультиполигон, но я бы хотел это проверить.
Григорий

Ответы:

10

Хорошо известный текст не предназначен для сохранения слоев, таких как файлы форм, состоящие из множества объектов. WKT определяет, как представлять геометрию одного объекта. Эта геометрия может быть одной или несколькими частями. Геометрия, состоящая из нескольких частей, означает, что геометрия одного объекта состоит из множества частей. Например, Гавайские острова могут быть представлены как один объект, но он состоит из множества геометрий.

Файл формы представляет собой набор объектов такого типа. Объекты обычно имеют также некоторую атрибутивную информацию, которая также является частью файла формы.

Ваш подход ogr2ogr преобразует эти объекты в формат csv с геометрией WKT (и текстовыми представлениями атрибутов). Если вы действительно хотите объединить все геометрии в один МНОГОПОЛИГОН, вы должны сначала преобразовать все объекты в одну мульти геометрию. Вы можете сделать это в QGIS. Выберите в меню «Вектор» «Инструменты геометрии», а затем «Отдельные части - несколько частей». Затем вы можете преобразовать это в WKT с ogr2ogr.

Надеюсь, это имеет смысл.

LauriK
источник
Это имеет смысл, и у меня будет шанс попробовать это в ближайшее время.
Грегори
Хорошо, в QGIS я использовал Vector / Geometry Tools / Single parts для составной части. Я сохранил вывод как новый шейп-файл, но когда я загрузил этот файл в QGIS, он кажется пустым, а таблица атрибутов полностью пуста (возможно, void будет лучшим описанием, так как заголовков тоже нет).
Грегори
Вы @pyrogerg выбрали какое-либо уникальное поле, когда инструмент запросил это? Это означает, что инструмент «группирует» все объекты, имеющие одинаковое значение в этом поле. Если у вас нет поля, которое вы хотите уникальным, вы можете просто создать его с помощью Калькулятора полей. Вы можете получить доступ к нему из таблицы атрибутов. Убедитесь, что слой находится в режиме редактирования (значок пера). Затем выберите Калькулятор поля и «вычислите», например, значение 1 для каждой строки нового поля.
LauriK
1
+1 Я позволил себе уточнить ваше редактирование, явно упомянув, что вывод будет включать атрибуты.
whuber
5

Я написал плагин QGIS, который сразу сохраняет активный слой в файл .wkt.

Название плагина "WktExport". Вы можете найти его в стандартной панели плагинов QGIS.

Кстати, ссылка на страницу плагина:

https://plugins.qgis.org/plugins/wktexport/

Плагин «WktExport» для QGIS создает папку с именем «WktExport», в которой находится исходный SHP, и вставляет в папку файл .wkt, содержащий элементы в формате WKT ascii для всех объектов SHP (но также и KML, или другой оригинальный файл. формат).

Имя .wkt содержит дату и время сохранения, поэтому при многократном сохранении у вас будет много версий одного и того же файла.

Это может быть полезно для создания анимации хода работ по картографии или для документирования текущего состояния файла.

Пожалуйста, отправьте сообщение в список qgis-developer, особенно если вы найдете wktexport полезным.

Geo DrinX
источник
Ссылка на проект не работает.
Люк Хатчисон