J'utilise QGIS 2.0.1 et je suis connecté à une base de données activée spatialement MS SQL Server (pas ESRI). Je peux me connecter à la couche et la charger très bien dans ma table des matières. J'ai caché un certain nombre de champs qui ne sont pas importants pour la visibilité.
Maintenant, je veux exporter ces données vers un autre type de données (nous utiliserons le fichier de formes pour cet exemple). Lorsque je clique avec le bouton droit sur le calque, choisissez "Enregistrer sous" et définissez le fichier de sortie, j'obtiens l'erreur suivante:
L'exportation vers un fichier vectoriel a échoué. Erreur: type non pris en charge pour le champ GlobalID
Remarque 1 : si je coche "Ignorer la création d'attributs" dans la boîte de dialogue, le fichier de formes est créé sans erreur.
Remarque 2 : ArcGIS n'a pas ce problème, il convertit simplement le champ GUID en type "TEXT".
En regardant la table, l'un des champs que j'ai caché est un GUID de type SQL < uniqueidentifier >, qui est vraisemblablement le coupable. Pour tenter de résoudre ce problème, j'ai rendu le champ «masqué». J'aurais supposé que parce que le champ était caché, QGIS n'essaierait pas d'exporter ce champ, mais cela s'est avéré ne pas être le cas.
Pouvez-vous définir les champs que vous souhaitez exporter à partir de QGIS?
Est-il possible pour QGIS d'exporter uniquement les champs "Visibles"? Ou existe-t-il une autre façon de procéder à partir de QGIS (peut-être définir les champs via une requête ogr2ogr)? Cela semble être une lacune de QGIS si je ne peux pas définir les champs à exporter.
MISE À JOUR: J'ai fait un test en utilisant un exemple de fichier de formes pour voir si je pouvais limiter les champs de sortie. La ligne de commande ogr2ogr suivante a fonctionné et a supprimé tous les champs à l'exception de "nom":
ogr2ogr -f "ESRI Shapefile" test.shp city.shp -sql "select name from city"
mais en utilisant QGIS et en ajoutant:
-sql "select name from city"
à la section "calque" de la boîte de dialogue "Enregistrer sous" n'a pas abouti à un fichier de formes avec uniquement le champ unique. Je ne vois donc pas vraiment comment je peux manipuler la sortie du fichier pour n'afficher que quelques champs. Toute aide est appréciée.
-sql "select <fields> from <table>"
(en excluant le champ GlobalID des <champs>) à la partie "Couche" de la boîte de dialogue "Enregistrer sous", mais la même erreur est toujours apparue. Ai-je mal utilisé ce bloc de code ou s'agit-il d'un bug?