Я пытаюсь преобразовать шейп-файл в простой формат общеизвестного текста (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, . . .
Ответы:
Хорошо известный текст не предназначен для сохранения слоев, таких как файлы форм, состоящие из множества объектов. WKT определяет, как представлять геометрию одного объекта. Эта геометрия может быть одной или несколькими частями. Геометрия, состоящая из нескольких частей, означает, что геометрия одного объекта состоит из множества частей. Например, Гавайские острова могут быть представлены как один объект, но он состоит из множества геометрий.
Файл формы представляет собой набор объектов такого типа. Объекты обычно имеют также некоторую атрибутивную информацию, которая также является частью файла формы.
Ваш подход ogr2ogr преобразует эти объекты в формат csv с геометрией WKT (и текстовыми представлениями атрибутов). Если вы действительно хотите объединить все геометрии в один МНОГОПОЛИГОН, вы должны сначала преобразовать все объекты в одну мульти геометрию. Вы можете сделать это в QGIS. Выберите в меню «Вектор» «Инструменты геометрии», а затем «Отдельные части - несколько частей». Затем вы можете преобразовать это в WKT с ogr2ogr.
Надеюсь, это имеет смысл.
источник
Я написал плагин QGIS, который сразу сохраняет активный слой в файл .wkt.
Название плагина "WktExport". Вы можете найти его в стандартной панели плагинов QGIS.
Кстати, ссылка на страницу плагина:
https://plugins.qgis.org/plugins/wktexport/
Плагин «WktExport» для QGIS создает папку с именем «WktExport», в которой находится исходный SHP, и вставляет в папку файл .wkt, содержащий элементы в формате WKT ascii для всех объектов SHP (но также и KML, или другой оригинальный файл. формат).
Имя .wkt содержит дату и время сохранения, поэтому при многократном сохранении у вас будет много версий одного и того же файла.
Это может быть полезно для создания анимации хода работ по картографии или для документирования текущего состояния файла.
Пожалуйста, отправьте сообщение в список qgis-developer, особенно если вы найдете wktexport полезным.
источник