Hemos realizado un tutorial con un procedimiento alternativo en Python con Pandas y Fiona de un proceso común pero de varios pasos para crear shapefiles de puntos a partir de hojas de cálculo de Excel. El proceso implica algunas líneas de código para leer el archivo de Excel, definir la estructura del shapefile de salida y escribir los datos de puntos.
Código
Este es el código Python completo que se usa en este tutorial:
#import required packages
import fiona
import pandas as pd
from collections import OrderedDict
#open a total coliform table
totalColi = pd.read_excel('../tab/totalColiforms.xls', index_col=0)
totalColi.head()
| X | Y | CF 4 | |
|---|---|---|---|
| ID | |||
| CAL-10 | -77.211111 | -12.063611 | 2.0 |
| CAL-11 | -77.167111 | -12.052917 | 1.8 |
| CAL-12 | -77.193944 | -12.063750 | 1.8 |
| CAL-13 | -77.175306 | -12.063639 | 2.0 |
| CAL-21 | -77.189250 | -12.100019 | 1.8 |
#check the data types
totalColi.dtypes
X float64
Y float64
CF 4 float64
dtype: object#exporting resulting data as geopackage
#create schema and define crs
schema = {'properties': OrderedDict([('obsName', 'str'),('CF 4', 'float')]), 'geometry': 'Point'}
crs = {'init': 'epsg:4326'}
#open output shapefile
coliShp = fiona.open('../shps/totalColiforms.shp',mode='w',schema=schema,driver='ESRI Shapefile',crs=crs)
for index, line in totalColi.iterrows():
feature = {
'geometry':{'type':'Point','coordinates':(line.X,line.Y)},
'properties':OrderedDict([('obsName',index),('CF 4',line['CF 4'])])
}
coliShp.write(feature)
coliShp.close()
Tutorial
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
Datos de entrada
Puede descargar los datos de entrada de este enlace.
