[GeoTalleres-dev] taller de python

Jorge Gaspar Sanz Salinas jsanz at osgeo.org
Wed Jun 18 01:12:05 PDT 2014


El 18/06/14 09:43, Gonzalez, Fernando (FOM) escribió:
> Hola, he estado jugueteando con el tema de python para el taller que 
> tengo... la semana que viene.
> 
> Os comento mi idea. Cualquier comentario es bienvenido:
> 
> 
> Como es poco tiempo (2h), mi idea es dar una intro brevísima a las 
> distintas librerías que hay en base a todos los links que circularon por 
> la lista (10').
> 
> Como raster es la parte más floja, empezaría con eso: uso de 
> rasterio[1], algún ejemplo tonto y listo. (25')
> 
> Fiona. Carga de shapefiles, tal vez alguna conexión a base de datos. 
> Filtramos alguna capa. (15')
> 
> Nos metemos con Shapely y procesamos algún shape. Típico búffer (15')
> 
> Hacemos un merge de un shapefile por código. (15')
> 
> Hacemos una join por código. No sé si hay algún proyecto que haga este 
> tipo de operaciones con shapefiles. (15')
> 
> Generalizo lo anterior: filtros, procesado, joins, agrupados. El código 
> está aquí: http://pastebin.com/tNab2Fcm. Se recomienda la lectura de 
> abajo a arriba. (10')
> 
> Haciendo uso de la librería anterior muestro algunos ejercicios 
> prácticos.  (10')
> 
> 
> [1] 
> http://www.spatiallyadjusted.com/2013/11/25/sean-gillies-makes-fiona-for-rasters/

Está muy bien, vas a tener que ir rápido y sospecho que no te dará
tiempo a acabar pero si se llevan un buen material el taller será un
exitazo (si no te llega gente MUY verde).

El código del pastebin que he revisado, yo lo entiendo, pero sospecho
que ellos no lo van a entender, unos comentarios mínimos en qué hace
cada cosa les ayudarán.

Por decir algo, ¿comentarás que se pueden filtrar los inputs
directamente en fiona? Lo digo porque me parece que te creas tu propio
filtro (FeatureFilter) pero tal vez sea interesante contar el filtro por
BBox en el input que imagino será un filtro en OGR que hará el proceso
más rápido. Algo como

with fiona.collection(shpCarto,"r","ESRI Shapefile") as input:
	for line in input.filter(bbox=(721453.0960983511,
		4354890.876018914,731158.168470065,
		4375826.485151727)):
     		#do something...

Por otro lado en shapely supongo contarás que se pueden hacer cosas tan
finas como esta de encadenar operaciones.

result = aPoint.buffer(aDist).boundary.intersection(aLine)


Bueno yo me sentaré por ahí detrás en eagle eye row, a ver qué hace la
gente y te echo una mano allí si tengo oportunidad.

¿Vienes al geocamp?


-- 
Jorge Gaspar Sanz Salinas
http://es.osgeo.org
http://jorgesanz.net

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.osgeo.org/pipermail/geotalleres-dev/attachments/20140618/717d5d79/attachment.pgp>


More information about the GeoTalleres-dev mailing list