Я использую QGIS 2.0.1 и подключен к пространственно включенной базе данных MS SQL Server (не ESRI). Я могу подключиться к слою и загрузить его в свой TOC просто отлично. Я спрятал ряд полей, которые не важны для видимости.
Теперь я хочу экспортировать эти данные в другой тип данных (для этого примера мы будем использовать шейп-файл). Когда я щелкаю правой кнопкой мыши по слою, выбираю «Сохранить как» и определяю выходной файл, я получаю следующую ошибку:
Экспорт в векторный файл не удался. Ошибка: неподдерживаемый тип для поля GlobalID
Примечание 1 : Если я отмечу «Пропустить создание атрибута» в диалоговом окне, шейп-файл будет создан без ошибок.
Примечание 2 : ArcGIS не имеет этой проблемы, он просто преобразует поле GUID в тип «TEXT».
Глядя на таблицу, одним из полей, которые я скрыл, является GUID типа SQL < uniqueidentifier >, который, по всей вероятности, является виновником. В попытке решить эту проблему я сделал поле «скрытым». Я предположил бы, что, поскольку поле было скрыто, QGIS не будет пытаться экспортировать это поле, но это оказалось не так.
Можете ли вы определить поля, которые вы хотите экспортировать из QGIS?
Может ли QGIS экспортировать только поля «Видимые»? Или есть другой альтернативный способ сделать это из QGIS (возможно, определить поля с помощью запроса ogr2ogr)? Это кажется недостатком QGIS, если я не могу определить, какие поля экспортировать.
ОБНОВЛЕНИЕ: я сделал тест, используя образец шейп-файла, чтобы увидеть, могу ли я ограничить поля вывода. Следующая командная строка ogr2ogr сработала и удалила все поля, кроме «name»:
ogr2ogr -f "ESRI Shapefile" test.shp city.shp -sql "select name from city"
но используя QGIS и добавив:
-sql "select name from city"
чтобы раздел «слой» диалогового окна «Сохранить как» не приводил к шейп-файлу только с одним полем. Так что я не вижу, как я могу манипулировать выводом файла, чтобы показать только несколько выбранных полей. Любая помощь приветствуется.
-sql "select <fields> from <table>"
(исключая поле GlobalID из <fields>) в раздел «Слой» диалогового окна «Сохранить как», но та же ошибка все еще появлялась. Я неправильно использовал этот блок кода или это ошибка?