Herramientas de usuario

Herramientas del sitio


instrumentos:codigos:tuyo_shp

Construcción de capa esri shape a partir de datos tuyo

generico: tuyo2shp.py

# librerias
import sys
import fiona
import pandas as pd
# definir la capa
# campos en el csv alt,dop,vdop,hdop,sat,lat,lon,dia,mes,anno,hora,min,seg,pm25,pm10
schema = {
    'geometry':'Point',
    'properties':[('PM25','float'),('PM10','float'),('ALT','float'),('VDOP','float'),('HDOP','float'),('SAT','int'),('LAT','float'),('LON','float')]
}
pointDf = pd.read_csv('../data/csv/'+sys.argv[1]+".txt",header=0)
#considerar como valido aquel dato con mas de 3 satelites a la vista
filtro=pointDf['dop']<10
pointDf_f=pointDf[filtro]
pointShp = fiona.open('../data/shp/'+sys.argv[1]+".shp", mode='w', driver='ESRI Shapefile',
          schema = schema, crs = "EPSG:4326")
#iterar sobre cada fila del dataframe y guardar el registro
for index, row in pointDf_f.iterrows():
    rowDict = {
        'geometry' : {'type':'Point',
                     'coordinates': (row.lon,row.lat)},
        'properties': {'PM25' : row.pm25,'PM10':row.pm10,'ALT':row.alt,'VDOP':row.vdop,'HDOP':row.hdop,'SAT':row.sat,'LAT':row.lat,'LON':row.lon},
    }
    pointShp.write(rowDict)
#cerrar el objeto fiona
pointShp.close()
instrumentos/codigos/tuyo_shp.1659225363.txt.gz · Última modificación: 2022/07/30 20:56 por cherranz