Script de conversió C.G. a C.P.
Script de conversió de coordenades geogràfiques a coordenades planes en la projecció "EPSG:25831 - ETRS89 / UTM zone 31N". Per Andrea Gómez i Òscar Navarro (2023)unknown
python
5 months ago
2.0 kB
2
Indexable
Never
# Importem els mòduls necessaris per a treballar: from pyproj import Proj import pandas as pd # Generem un model de projecció, indicant el tipus de dades d'entrada i el tipus de dades de sortida: myProj = Proj("+proj=utm +zone=31 +north +ellps=WGS84 +datum=WGS84 +units=m +no_defs") # Eliminem una opció de seguretat del mòdul "pd" (pandas) que ens impedeix guardar contingut a cel·les pd.options.mode.chained_assignment = None # Definim la funció que rebrà la latitud (lat) i longitud (lon) de coordenades geogràfiques i que les convertirà al format desitjat def convertir(lat, lon): UTMlat, UTMlon = myProj(lon, lat) # El model myProj retorna primer la latitud i després la longitud, és per això que invertim els camps de sortida UTMlat, UTMlon = int(round(UTMlat,0)), int(round(UTMlon,0)) return(UTMlat, UTMlon) # Retornem les coordenades en format de coordenades planes en Universal Transversal Mercator # Carreguem les dades de l'Excel Activitat_Sismica.xlsx df = pd.read_excel(r"C:\Users\usuario\OneDrive\Projecte Mapa\Activitat_Sismica.xlsx") # Definim les columnes (futurs atributs) UTMLAT per a la latitud i UTMLON per a la longitud en format de coordenades planes df["UTMLAT"] = '' df["UTMLON"] = '' # Definim el marcador de la fila que estem editant a l'arxiu Excel, que inicia amb la fila 0 fila = 0 # Executem la funció "convertir()" per a cada valor de longitud i latitud de l'Excel mitjançant un bucle (for loop) # És important actualitzar el valor del número de fila en cada iteració for lat, lon in zip(df["LAT"], df["LON"]): utmlon, utmlat = convertir(lat,lon) df["UTMLAT"][fila] = utmlat df["UTMLON"][fila] = utmlon fila +=1 # Exportem les dades en un nou Excel anomenat "Activitat_Sismica_UTM" per no reemplaçar l'anterior i evitar corrompre dades. df.to_excel(r"C:\Users\usuario\OneDrive\Projecte Mapa\Activitat_Sismica_UTM.xlsx") # Aquest serà convertit a csv per al seu ús en QGIS