Petición usuario sistema de coordenadas
Publicado por Isis22 (3 intervenciones) el 23/10/2020 12:02:29
Hola,
Estoy tratando de hacer un script que solicite al usuario el sistema de coordenadas al que quiere reproyectar las capas y que el script las reproyecte a ese sistema.
Creo que no olvidé nada en el script, pero da un error al ejecutar el programa que no consigo resolver. ¿Alguna idea?
Gracias.
Estoy tratando de hacer un script que solicite al usuario el sistema de coordenadas al que quiere reproyectar las capas y que el script las reproyecte a ese sistema.
Creo que no olvidé nada en el script, pero da un error al ejecutar el programa que no consigo resolver. ¿Alguna idea?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import glob
import processing
pth = r'C:\Python/Ejercicio/'
listaArch = glob.glob(pth + '*.shp')
print (listaArch)
rutaIn = listaArch
lista = ['4326', '25830', '4230', '23030']
epsg, ok = QInputDialog.getItem(None,
'REPROYECCION A', u'Introduce el EPSG',(lista))
crsDestino = QgsCoordinateReferenceSystem(int(epsg))
listaCapas = []
for n in range(len(listaArch)):
arch = listaArch[n]
ind1 = arch.find('\\') + 1
ind2 = len(arch)- 10
titulo = arch[ind1:ind2] + 'EPSG' + epsg
capa= QgsVectorLayer(arch, titulo,'ogr')
rutaOut = r'C:\Python/Ejercicio/'+ titulo +'.shp'
QgsVectorFileWriter.writeAsVectorFormat(capa, rutaOut, 'utf-8', crsDestino, driverName = "ESRI Shapefile")
processing.run("native:reprojectlayer",{'INPUT':arch,'TARGET_CRS':crsDestino,'OUTPUT':rutaOut})
capaProyectada = QgsVectorLayer(rutaOut, titulo,'ogr')
listaCapas.append(capaProyectada)
QgsProject.instance().addMapLayers(listaCapas)
Gracias.
Valora esta pregunta


0