¿Cómo volver a proyectar archivos shape?


10

Quería volver a proyectar un proyecto QGIS, pero no existe tal opción. Cuando busco una respuesta, veo ogr2ogrsugerencias para esta tarea, al volver a proyectar cada capa vectorial (shapefile en este ejemplo). Sin embargo, no obtengo el resultado esperado:

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)

Entonces, el nuevo archivo ha cambiado el sistema de coordenadas geográficas, pero no está proyectado.
¿Como hacer eso?


¿Estás tratando de reproyectar un shapefile? Un archivo de proyecto tiene un .qqsfinal, un archivo de forma termina con .shp. No creo que pueda volver a proyectar un archivo de proyecto, pero podría estar equivocado.
djq

1
Supongo que ya conoce la reproyección "sobre la marcha" en QGIS que permite reproyectar cualquier capa vectorial.
steko

@steko: Si "sobre la marcha" es lo que responde djq, sí, eso ya lo sabía.
zetah

1
No, esa es otra forma y cambiará permanentemente los datos. La reproyección sobre la marcha solo se define en el proyecto QGIS y afectará cómo se visualizan las capas pero no toca los archivos subyacentes.
steko

Gracias, no lo sabía, y buscar en Google me mostró lo que querías decir. Es exactamente lo que necesitaba. Si pudieras haber publicado tu último comentario ayer ...
escribí

Respuestas:


20

Suponiendo que desea volver a proyectar un QGISarchivo de forma, una forma es cargar el archivo, right-clicken la capa, seleccionar Save As…y luego aparece la siguiente ventana:

ingrese la descripción de la imagen aquí

Si hace clic browseal lado CRS, puede elegir una nueva proyección para guardar su archivo.

EDITAR:

Para volver a proyectar todos los shapfiles en una carpeta, algo como esto podría funcionar:

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

(No he probado esto y no estoy familiarizado con la concatenación de cadenas en Windows, ni estoy resolviendo el problema de ogr2ogr, pero este fragmento de código recorre una carpeta y ejecuta algo en cada archivo).


Sí, eso es genial, pero tendría que hacer eso para cada capa, lo que lleva mucho tiempo. Al usar la línea de comando, esperaba volver a proyectar todos los archivos de forma a la vez (con bucle for)
zetah

¿Están todos los archivos de forma en una carpeta?
djq

Sí, están en la misma carpeta
zetah

gracias por tu esfuerzo, pero ¿realmente leíste mi pregunta?
zetah 12/12/12

3
sí ... no puedes volver a proyectar un archivo de proyecto qgis, por eso di mi primera respuesta. Entonces me di cuenta de que querías volver a proyectar los archivos de forma a granel. Una forma de hacerlo es recorrer todos los archivos en una carpeta usando la línea de comando con ogr (otra sería ver si puede pasar ogr una carpeta de archivos de forma).
djq
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.