Comment re-projeter des fichiers de formes?

10

Je voulais re-projeter un projet QGIS, mais il n'y a pas une telle option. Lors de la recherche d'une réponse, je vois ogr2ogrsuggéré pour cette tâche, en re-projetant chaque couche vectorielle (fichier de formes dans cet exemple). Cependant je n'obtiens pas le résultat attendu:

C:\temp>ogrinfo -al -so misc.shp
INFO: Open of `misc.shp'
      using driver `ESRI Shapefile' successful.

Layer name: misc
Geometry: Line String
Feature Count: 10
Extent: (21.267388, 42.015857) - (21.270225, 42.017470)
Layer SRS WKT:
PROJCS["MGI_Balkans_zone_7_deprecated",
    GEOGCS["GCS_MGI",
        DATUM["Militar_Geographische_Institute",
            SPHEROID["Bessel_1841",6377397.155,299.1528128]],
        PRIMEM["Greenwich",0],
        UNIT["Degree",0.017453292519943295]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",21],
    PARAMETER["scale_factor",0.9999],
    PARAMETER["false_easting",7500000],
    PARAMETER["false_northing",0],
    UNIT["Meter",1]]
id: Integer (10.0)

C:\temp>ogr2ogr -t_srs EPSG:4326 misc_re.shp misc.shp

C:\temp>ogrinfo -al -so misc_re.shp
INFO: Open of `misc_re.shp'
      using driver `ESRI Shapefile' successful.

Layer name: misc_re
Geometry: Line String
Feature Count: 10
Extent: (-34.004490, 0.000230) - (-34.004490, 0.000230)
Layer SRS WKT:
GEOGCS["GCS_WGS_1984",
    DATUM["WGS_1984",
        SPHEROID["WGS_84",6378137,298.257223563]],
    PRIMEM["Greenwich",0],
    UNIT["Degree",0.017453292519943295]]
id: Integer (10.0)

Le nouveau fichier a donc changé le système de coordonnées géographiques, mais il n'est pas projeté.
Comment faire ça?

zetah
la source
Essayez-vous de reprojeter un fichier de formes? Un fichier de projet a une .qqsfin, un fichier de formes se termine par .shp. Je ne pense pas que vous puissiez re-projeter un fichier de projet mais je peux me tromper.
djq
1
Je suppose que vous connaissez déjà la reprojection "à la volée" dans QGIS qui permet de reprojeter n'importe quelle couche vectorielle.
steko
@steko: Si "à la volée" est ce à quoi répond djq, oui je le savais déjà.
zetah
1
Non, c'est une autre façon et cela changera définitivement les données. La reprojection à la volée n'est définie que dans le projet QGIS et affectera la façon dont les couches sont visualisées mais pas les fichiers sous-jacents.
steko
Merci, je ne savais pas à ce sujet, et Google m'a montré ce que vous vouliez dire. C'est exactement ce dont j'avais besoin. Si vous pouviez seulement poster votre dernier commentaire hier ... J'ai fait beaucoup de dactylographie pour y arriver;)
zetah

Réponses:

20

En supposant que vous souhaitiez reprojeter un fichier de formes, vous pouvez QGIScharger le fichier right-clicksur le calque, sélectionner Save As…, puis la fenêtre suivante apparaît:

entrez la description de l'image ici

Si vous cliquez à browsecôté, CRSvous pouvez choisir une nouvelle projection pour enregistrer votre fichier.

ÉDITER:

Pour reprojeter tous les fichiers de formes dans le même dossier, quelque chose comme ça pourrait fonctionner:

set "str1=_projected"
for %f in (E:\data\*.shp) do ogr2ogr -t_srs EPSG:4326 %str1%"misc_re.shp %f

(Je n'ai pas testé cela et je ne suis pas familier avec la concaténation de chaînes sur Windows, je ne résout pas non plus le problème ogr2ogr - mais cet extrait de code parcourt un dossier et exécute quelque chose sur chaque fichier.)

djq
la source
Oui, c'est super, mais je devrais le faire pour chaque couche, ce qui prend du temps. En utilisant la ligne de commande, j'espérais re-projeter tous les fichiers de formes à la fois (avec pour la boucle)
zetah
Tous les fichiers de formes sont-ils dans le même dossier?
djq
Oui, ils sont dans le même dossier
zetah
merci pour vos efforts, mais avez-vous réellement lu ma question?
zetah
3
oui ... vous ne pouvez pas reprojeter un fichier de projet qgis c'est pourquoi j'ai donné ma première réponse. Puis j'ai réalisé que vous vouliez reprojeter les fichiers de formes en masse. Une façon de procéder consiste à parcourir tous les fichiers d'un dossier à l'aide de la ligne de commande avec ogr (une autre serait de voir si vous pouvez passer à ogr un dossier de fichiers de formes).
djq