9 votos

¿Cómo reproyectar los shapefiles?

Quería reproyectar un proyecto de QGIS, pero no existe esa opción. Al buscar una respuesta veo ogr2ogr sugerido para esta tarea, reproyectando 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)

Así que el nuevo archivo ha cambiado el sistema de coordenadas geográficas, pero no está proyectado.
¿Cómo hacerlo?

19voto

djq Puntos 7670

Suponiendo que se quiera reproyectar un shapefile, una forma dentro de QGIS es cargar el archivo, right-click en la capa, seleccione Save As… y luego aparece la siguiente ventana:

enter image description here

Si hace clic en browse junto a CRS puede elegir una nueva proyección para guardar su archivo.

EDITAR:

Para reproyectar 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 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).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X