#!/usr/bin/env python # -*- coding: utf-8 -*- import urllib2 import os import math import subprocess # borra los archivos que tuvieras de otras bajadas anteriores #os.system('rm /ruta/a los/archivos/MDA*') def hacerListadoCoordMDAsIDEE(xmin,ymin,xmax,ymax): listax=[] listay=[] listaxy=[] tira=[] #calcula rectángulos de 13000x11000 de la zona de interés Le añade un trozo para que sean iguales dif=xmax-xmin resto=dif%13000 xmaxi=xmax+resto dif=ymax-ymin resto=dif%11000 ymaxi=ymax+resto tx=xmin ty=ymin while tx<=xmaxi-13002: listax.append(tx) tx=tx+13000 listax.append(xmaxi) while ty<=ymaxi-11002: listay.append(ty) ty=ty+11000 listay.append(ymaxi) # crea una lista. Cada item es una lista de lcon las coordenadas de los límites de cada rectángulo (xmin,ymin,xmax,ymax) en el orden que hay que hacer el pedido al IDEE for coorx in listax: for coory in listay: try: tira=[coorx,coory,listax[listax.index(coorx)+1],listay[listay.index(coory)+1]] textoTira=str(tira[0])+','+str(tira[1])+','+str(tira[2])+','+str(tira[3]) listaxy.append(textoTira) except: print "ya esta" return listaxy def pedirMDAsIDEE(listaCoord): listaMDTs='' a=1 # por cada rectángulo se crea la frase del pedido y se crea un archivo de texto donde se va a guardar cada archivo de. for coor in listaCoord: # Si lo dejas así en Linux te deja los archivos en la carpeta de usuario. Debes poner una ruta en nombre si quieres que los lleve a una carpeta concreta nombre='MDT'+coor+'.txt' arch = open ( nombre ,'w') try: print 'vamos a bajar: '+nombre pedido="http://www.idee.es/wcs/IDEE-WCS-UTM30N/wcsServlet?SERVICE=WCS&REQUEST=GetCoverage&VERSION=1.0.0&CRS=EPSG:23030&BBOX="+coor+"&COVERAGE=MDT25_peninsula_ZIP&RESX=25&RESY=25&FORMAT=AsciiGrid&EXCEPTIONS=XML" f = urllib2.urlopen(pedido) texto=f.read() time.sleep(10) arch.write(texto) time.sleep(5) except : print "Ocurrió un error" arch.close() # aquí tienes que poner las coordenadas límite de la zona que te interesa. (Están puestas las que aparecen en tu correo) lista=hacerListadoCoordMDAsIDEE(768104,4467007,801269,4520071) pedirMDAsIDEE(lista)