¿Descargar y procesar archivos ráster en Python? [cerrado]

11

Soy bastante nuevo en Python y busco orientación para una pregunta que puede parecer trivial para muchos.

¿Hay alguna manera de usar 'wget' en un script de Python para descargar archivos ráster de un servidor y procesarlos en el mismo script?

Ibe
fuente

Respuestas:

14

Python tiene urllib2 incorporado, que abre un objeto tipo puntero de archivo desde un recurso IP (HTTP, HTTPS, FTP).

import urllib2, os

# See http://data.vancouver.ca/datacatalogue/2009facetsGridSID.htm
rast_url = 'ftp://webftp.vancouver.ca/opendata/2009sid/J01.zip'
infp = urllib2.urlopen(rast_url)

Luego puede transferir y escribir los bytes localmente (es decir, descargarlo):

# Open a new file for writing, same filename as source
rast_fname = os.path.basename(rast_url)
outfp = open(rast_fname, 'wb')

# Transfer data .. this can take a while ...
outfp.write(infp.read())
outfp.close()

print('Your file is at ' + os.path.join(os.getcwd(), rast_fname))

Ahora puedes hacer lo que quieras con el archivo.

Mike T
fuente
1
+1 Puede parecer un poco más complicado hacerlo de esta manera, pero será más portátil y será más fácil de depurar porque no tienes dependencias externas.
Sean