3 votos

¿Cómo mostrar diferentes capas con diferentes CRS en un lienzo en una aplicación independiente?

Soy un novato de los pyqgis. Ahora cargo los datos raster y vectoriales en la aplicación independiente. Los dos datos son la misma área, pero en mi lienzo, están en diferentes lugares. Quiero saber cómo lidiar con el CRS.

2voto

Mue Puntos 2469

Creo que lo ideal es que las capas que cubren la misma área debe estar en el mismo CRS antes de cargarlo en su aplicación (es decir, volver a guardar los vectores y reproyectar los rasters). Esto es importante cuando se realiza un análisis espacial. Pero si es sólo para mostrando podría utilizar el siguiente código para establecer el CRS para todas las capas cargadas y la proyección del mapa ( cambiar el código EPSG para adaptarlo ):

from qgis import core
from qgis.core import QgsCoordinateReferenceSystem

for layer in QgsMapLayerRegistry.instance().mapLayers().values():
    layer.setCrs(QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId))

my_crs = core.QgsCoordinateReferenceSystem(4326, core.QgsCoordinateReferenceSystem.EpsgCrsId)
iface.mapCanvas().mapRenderer().setDestinationCrs(my_crs)

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