Conversion de .shp en .gpx avec QGIS?

34

Je voudrais convertir .shp en .gpx.

À l’aide de SIG, j’ouvre mon fichier de formes et j’ai essayé de "sauvegarder en tant que" gpx mais cela donne une erreur OGR:

la création du champ ObjectId a échoué (erreur OGR: le champ du nom 'ObjectId' n'est pas pris en charge dans le schéma GPX. Utilisez l'option de création GPX_USE_EXTENSIONS pour autoriser l'utilisation de l'élément).

Comment puis-je réparer cette erreur?

ePascoal
la source
J'ai essayé cela dans un autre PC avec le même système d'exploitation et cela fonctionne! André Joost a raison! Je ne sais toujours pas pourquoi cela fonctionne ici et ne fonctionne pas dans l'autre PC. Devrais-je installer le pilote GPX? : | Merci André Joost!
ePascoal
Dans une situation comme celle-ci, où l'erreur mentionne un paramètre ou un paramètre avec lequel vous n'êtes pas familier, consultez la page des formats GDAL ou OGR associée au pilote que vous utilisez, par exemple GPX . Dans certains scénarios, vous ne voudrez pas appliquer une option à l'aveuglette car cela pourrait endommager vos données. Cas en point, vous ne voulez appliquer indiscriminantly -skipfailuresdans ogr2ogrsans rechercher pourquoi il ne en premier lieu.
Elrobis

Réponses:

30

Faites juste ce qu'on vous dit: sur le Data sourceterrain, entrez

GPX_USE_EXTENSIONS=YES

ou cochez "ignorer la création d'attributs" ci-dessous (ou son nom dans votre langue).

Sur le Layerterrain, vous pouvez également entrer

FORCE_GPX_TRACK=YES

pour obtenir des pistes au lieu d'itinéraires.

AndreJ
la source
Merci, ça marche vraiment, mais quand j'ai converti shp en gpx, j'ai perdu mon champ Id. Tous mes champs gpx sont nuls. Comment puis-je faire correspondre mon champ "id" (fichier shp) au champ "nom" (fichier gpx).
ePascoal
5
Je crains que ce ne soit pas possible sur l'exportation. il est possible avec ogr2ogr.exe à partir du paquet gdal: ogr2ogr -f GPX -dsco GPX_USE_EXTENSIONS = NO shpexport.gpx D: \ chemin \ vers \ votre \ test.shp -lco FORCE_GPX_TRACK = YES -sql "SELECT id AS name FROM nom "
AndreJ
2
Vous pouvez utiliser le plug-in du gestionnaire de tables pour renommer le champ id du fichier-forme en "nom" avant de l'exporter, puis le modifier à nouveau. Si nécessaire, vous devez ajouter pyqgis.org/repo/contributed à la liste de vos référentiels.
AndreJ
1
J'ai essayé de renommer le champ id dans shapefile pour le nommer avant l'exportation, mais cela ne fonctionne pas. Je cherche une application qui ajoute une application python nommée PostGPS, mais ne fonctionne pas. J'ai essayé avec ogr2ogr d'utiliser votre script aussi sans succès: / Est-ce que je fais quelque chose de mal. Il n'y a aucune autre solution possible?
ePascoal
Étrange, ça a marché ici. Vous devez définir "GPX_USE_EXTENSIONS = YES" dans le champ supérieur de la boîte de dialogue Enregistrer sous. Avec la case à cocher cela ne fonctionne pas. Pour ogr2ogr, vous devez utiliser le nom de couche, pas nécessairement le même que le nom du fichier de formes.
AndreJ
1

Sinon, vous pouvez essayer les étapes suivantes:

  1. Ouvrez votre fichier SHP avec QGIS
  2. Sélectionnez votre couche SHP
  3. Couche> Enregistrer sous ...> GPX
Michael Fayad
la source
1

Un truc simple a fonctionné pour nous. Dans le fichier csv principal, le premier champ (ID / libellé) doit être nommé "nom". puis importez ce fichier et enregistrez-le au format .gpx

pooja
la source
0

Vous pouvez également utiliser DNRGarmin du département des ressources naturelles du Minnisota. C'est un outil gratuit qui vous permet d'importer et d'exporter beaucoup de données GPS.

Ryan Garnett
la source
0

Vous pouvez forcer:

GPX_USE_EXTENSIONS=YES

Comme indiqué ci-dessus. Toutefois, si vous ne comprenez pas ou ne gérez pas vos projections, vous rencontrerez des problèmes supplémentaires. Vous trouverez des erreurs dans les données - imprécision dans les points ou les pistes si votre CRS est différent de ce que vos fichiers de formes sont projetés ou de la manière dont votre espace de travail est projeté; WGS84 est nécessaire pour les unités GPS.

La meilleure solution que j'ai trouvée consiste à sélectionner "Reprojeter la couche" dans votre boîte à outils de traitement. Cela vous donne la possibilité de convertir par lots plusieurs couches, de reprojeter les données correctement et de les enregistrer en tant que fichier gpx.Reprojeter la couche dans gpx

Le seul problème que je n'ai pas appris à résoudre est de savoir comment conserver les étiquettes. J'espère que quelqu'un saura comment faire ou aura un truc pour le faire - cela ne semble pas être une option. J'ai dû soit utiliser le logiciel maladroit de Garmin BaseCamp pour cliquer et réviser les étiquettes individuellement, soit entrer dans le code gpx et taper le code manuellement - les deux prennent beaucoup de temps.

Mark Thompson
la source