[GRASS-SVN] r73876 - grass-addons/grass7/raster/r.in.srtm.region

svn_grass at osgeo.org svn_grass at osgeo.org
Thu Dec 27 14:03:52 PST 2018


Author: neteler
Date: 2018-12-27 14:03:52 -0800 (Thu, 27 Dec 2018)
New Revision: 73876

Modified:
   grass-addons/grass7/raster/r.in.srtm.region/r.in.srtm.region.py
Log:
r.in.srtm.region addon: fix tab/space indentation mess; tabs are to be avoided, see https://trac.osgeo.org/grass/wiki/Submitting/Python?version=19#Editorsettingsfor4-spaceindentation

Modified: grass-addons/grass7/raster/r.in.srtm.region/r.in.srtm.region.py
===================================================================
--- grass-addons/grass7/raster/r.in.srtm.region/r.in.srtm.region.py	2018-12-27 21:36:30 UTC (rev 73875)
+++ grass-addons/grass7/raster/r.in.srtm.region/r.in.srtm.region.py	2018-12-27 22:03:52 UTC (rev 73876)
@@ -102,33 +102,33 @@
 def import_local_tile(tile, local, pid, srtmv3, one):
     output = tile + '.r.in.srtm.tmp.' + str(pid)
     if srtmv3:
-	if one:
-	    local_tile = str(tile) + '.SRTMGL1.hgt.zip'
-	else:
-	    local_tile = str(tile) + '.SRTMGL3.hgt.zip'
+        if one:
+            local_tile = str(tile) + '.SRTMGL1.hgt.zip'
+        else:
+            local_tile = str(tile) + '.SRTMGL3.hgt.zip'
     else:
         local_tile = str(tile) + '.hgt.zip'
     
     path = os.path.join(local, local_tile)
     if os.path.exists(path):
-	path = os.path.join(local, local_tile)
-	if one:
-	    grass.run_command('r.in.srtm', input = path, output = output, flags = '1', quiet = True)
-	else:
-	    grass.run_command('r.in.srtm', input = path, output = output, quiet = True)
-	return 1
+        path = os.path.join(local, local_tile)
+        if one:
+            grass.run_command('r.in.srtm', input = path, output = output, flags = '1', quiet = True)
+        else:
+            grass.run_command('r.in.srtm', input = path, output = output, quiet = True)
+        return 1
 
     # SRTM subdirs: Africa, Australia, Eurasia, Islands, North_America, South_America
     for srtmdir in ('Africa', 'Australia', 'Eurasia', 'Islands', 'North_America', 'South_America'):
-	path = os.path.join(local, srtmdir, local_tile)
+        path = os.path.join(local, srtmdir, local_tile)
 
-	if os.path.exists(path):
-	    path = os.path.join(local, srtmdir, local_tile)
-	    if one:
-		grass.run_command('r.in.srtm', input = path, output = output, flags = '1', quiet = True)
-	    else:
-		grass.run_command('r.in.srtm', input = path, output = output, quiet = True)
-	    return 1
+        if os.path.exists(path):
+            path = os.path.join(local, srtmdir, local_tile)
+            if one:
+                grass.run_command('r.in.srtm', input = path, output = output, flags = '1', quiet = True)
+            else:
+                grass.run_command('r.in.srtm', input = path, output = output, quiet = True)
+            return 1
 
     return 0
 
@@ -135,10 +135,10 @@
 def download_tile(tile, url, pid, srtmv3, one, username, password):
     output = tile + '.r.in.srtm.tmp.' + str(pid)
     if srtmv3:
-	if one:
-	    local_tile = str(tile) + '.SRTMGL1.hgt.zip'
-	else:
-	    local_tile = str(tile) + '.SRTMGL3.hgt.zip'
+        if one:
+            local_tile = str(tile) + '.SRTMGL1.hgt.zip'
+        else:
+            local_tile = str(tile) + '.SRTMGL3.hgt.zip'
     else:
         local_tile = str(tile) + '.hgt.zip'
 
@@ -145,54 +145,54 @@
     urllib.urlcleanup()
 
     if srtmv3:
-	remote_tile = str(url) + local_tile
-	goturl = 1
+        remote_tile = str(url) + local_tile
+        goturl = 1
 
-	try:
-	    password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm()
-	    password_manager.add_password(None, "https://urs.earthdata.nasa.gov", username, password)
+        try:
+            password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm()
+            password_manager.add_password(None, "https://urs.earthdata.nasa.gov", username, password)
 
-	    cookie_jar = CookieJar()
+            cookie_jar = CookieJar()
 
-	    opener = urllib2.build_opener(
-			urllib2.HTTPBasicAuthHandler(password_manager),
-			#urllib2.HTTPHandler(debuglevel=1),    # Uncomment these two lines to see
-			#urllib2.HTTPSHandler(debuglevel=1),   # details of the requests/responses
-			urllib2.HTTPCookieProcessor(cookie_jar))
-	    urllib2.install_opener(opener)
+            opener = urllib2.build_opener(
+                        urllib2.HTTPBasicAuthHandler(password_manager),
+                        #urllib2.HTTPHandler(debuglevel=1),    # Uncomment these two lines to see
+                        #urllib2.HTTPSHandler(debuglevel=1),   # details of the requests/responses
+                        urllib2.HTTPCookieProcessor(cookie_jar))
+            urllib2.install_opener(opener)
 
-	    request = urllib2.Request(remote_tile)
-	    response = urllib2.urlopen(request)
+            request = urllib2.Request(remote_tile)
+            response = urllib2.urlopen(request)
 
-	    fo = open(local_tile, 'w+b')
-	    fo.write(response.read())
-	    fo.close
-	    time.sleep(0.5)
-	except:
-	    goturl = 0
-	    pass
-	
-	return goturl
-	
+            fo = open(local_tile, 'w+b')
+            fo.write(response.read())
+            fo.close
+            time.sleep(0.5)
+        except:
+            goturl = 0
+            pass
+        
+        return goturl
+        
     # SRTM subdirs: Africa, Australia, Eurasia, Islands, North_America, South_America
     for srtmdir in ('Africa', 'Australia', 'Eurasia', 'Islands', 'North_America', 'South_America'):
-	remote_tile = str(url) + str(srtmdir) + '/' + local_tile
-	goturl = 1
+        remote_tile = str(url) + str(srtmdir) + '/' + local_tile
+        goturl = 1
     
-	try:
-	    response = urllib2.urlopen(request)
-	    fo = open(local_tile, 'w+b')
-	    fo.write(response.read())
-	    fo.close
-	    time.sleep(0.5)
-	    # does not work:
-	    #urllib.urlretrieve(remote_tile, local_tile, data = None)
-	except:
-	    goturl = 0
-	    pass
-	
-	if goturl == 1:
-	    return 1
+        try:
+            response = urllib2.urlopen(request)
+            fo = open(local_tile, 'w+b')
+            fo.write(response.read())
+            fo.close
+            time.sleep(0.5)
+            # does not work:
+            #urllib.urlretrieve(remote_tile, local_tile, data = None)
+        except:
+            goturl = 0
+            pass
+        
+        if goturl == 1:
+            return 1
 
     return 0
     
@@ -199,7 +199,7 @@
     
 def cleanup():
     if not in_temp:
-	return
+        return
     os.chdir(currdir)
     grass.run_command('g.region', region = tmpregionname)
     grass.run_command('g.remove', type = 'region', name = tmpregionname, flags = 'f', quiet = True)
@@ -226,33 +226,33 @@
     res = '00:00:03'
     if srtmv3:
         fillnulls = 0
-	if one:
-	    res = '00:00:01'
+        if one:
+            res = '00:00:01'
     else:
-	one = None
+        one = None
         
     if len(local) == 0:
-    	if len(url) == 0:
-    	    if srtmv3:
-		if one:
+        if len(url) == 0:
+            if srtmv3:
+                if one:
                     url = 'https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL1.003/2000.02.11/'
-		else:
-		    url = 'https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/'
-	    else:
-		url = 'http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/'
+                else:
+                    url = 'https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/'
+            else:
+                url = 'http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/'
 
     if len(local) == 0:
-	local = None
+        local = None
 
     # are we in LatLong location?
     s = grass.read_command("g.proj", flags='j')
     kv = grass.parse_key_val(s)
     if kv['+proj'] != 'longlat':
-	grass.fatal(_("This module only operates in LatLong locations"))
+        grass.fatal(_("This module only operates in LatLong locations"))
 
     if fillnulls == 1 and memory <= 0:
-	grass.warning(_("Amount of memory to use for interpolation must be positive, setting to 300 MB"))
-	memory = '300'
+        grass.warning(_("Amount of memory to use for interpolation must be positive, setting to 300 MB"))
+        memory = '300'
 
     # make a temporary directory
     tmpdir = grass.tempfile()
@@ -265,7 +265,7 @@
     os.chdir(tmpdir)
     in_temp = True
     if local is None:
-	local = tmpdir
+        local = tmpdir
 
     # get extents
     reg = grass.region()
@@ -272,46 +272,46 @@
     tmpregionname = 'r_in_srtm_tmp_region'
     grass.run_command('g.region', save = tmpregionname, overwrite=overwrite)
     if options['region'] is None or options['region'] == '':
-	north = reg['n']
-	south = reg['s']
-	east = reg['e']
-	west = reg['w']
+        north = reg['n']
+        south = reg['s']
+        east = reg['e']
+        west = reg['w']
     else:
-	west, south, east, north = options['region'].split(',')
-	west = float(west)
-	south = float(south)
-	east = float(east)
-	north = float(north)
+        west, south, east, north = options['region'].split(',')
+        west = float(west)
+        south = float(south)
+        east = float(east)
+        north = float(north)
 
     # adjust extents to cover SRTM tiles: 1 degree bounds
     tmpint = int(north)
     if tmpint < north:
-	north = tmpint + 1
+        north = tmpint + 1
     else:
-	north = tmpint
-	
+        north = tmpint
+        
     tmpint = int(south)
     if tmpint > south:
-	south = tmpint - 1
+        south = tmpint - 1
     else:
-	south = tmpint
+        south = tmpint
 
     tmpint = int(east)
     if tmpint < east:
-	east = tmpint + 1
+        east = tmpint + 1
     else:
-	east = tmpint
+        east = tmpint
 
     tmpint = int(west)
     if tmpint > west:
-	west = tmpint - 1
+        west = tmpint - 1
     else:
-	west = tmpint
-	
+        west = tmpint
+        
     if north == south:
-	north += 1
+        north += 1
     if east == west:
-	east += 1
+        east += 1
 
     rows = abs(north - south)
     cols = abs(east - west)
@@ -322,97 +322,97 @@
     srtmtiles = ''
     valid_tiles = 0
     for ndeg in range(south, north):
-	for edeg in range(west, east):
-	    grass.percent(counter, ntiles, 1)
-	    counter += 1
-	    if ndeg < 0:
-		tile = 'S'
-	    else:
-		tile = 'N'
-	    tile = tile + '%02d' % abs(ndeg)
-	    if edeg < 0:
-		tile = tile + 'W'
-	    else:
-		tile = tile + 'E'
-	    tile = tile + '%03d' % abs(edeg)
-	    grass.debug("Tile: %s" % tile, debug = 1)
-	    
-	    if local != tmpdir:
-		gotit = import_local_tile(tile, local, pid, srtmv3, one)
-	    else:
-		gotit = download_tile(tile, url, pid, srtmv3, one, username, password)
-		if gotit == 1:
-		    gotit = import_local_tile(tile, tmpdir, pid, srtmv3, one)
-	    if gotit == 1:
-		grass.verbose(_("Tile %s successfully imported") % tile)
-		valid_tiles += 1
-	    elif dozerotile:
-		# create tile with zeros
-		if one:
-		    # north
-		    if ndeg < -1:
-			tmpn = '%02d:59:59.5S' % (abs(ndeg) - 2)
-		    else:
-			tmpn = '%02d:00:00.5N' % (ndeg + 1)
-		    # south
-		    if ndeg < 1:
-			tmps = '%02d:00:00.5S' % abs(ndeg)
-		    else:
-			tmps = '%02d:59:59.5N' % (ndeg - 1)
-		    # east
-		    if edeg < -1:
-			tmpe = '%03d:59:59.5W' % (abs(edeg) - 2)
-		    else:
-			tmpe = '%03d:00:00.5E' % (edeg + 1)
-		    # west
-		    if edeg < 1:
-			tmpw = '%03d:00:00.5W' % abs(edeg)
-		    else:
-			tmpw = '%03d:59:59.5E' % (edeg - 1)
-		else:
-		    # north
-		    if ndeg < -1:
-			tmpn = '%02d:59:58.5S' % (abs(ndeg) - 2)
-		    else:
-			tmpn = '%02d:00:01.5N' % (ndeg + 1)
-		    # south
-		    if ndeg < 1:
-			tmps = '%02d:00:01.5S' % abs(ndeg)
-		    else:
-			tmps = '%02d:59:58.5N' % (ndeg - 1)
-		    # east
-		    if edeg < -1:
-			tmpe = '%03d:59:58.5W' % (abs(edeg) - 2)
-		    else:
-			tmpe = '%03d:00:01.5E' % (edeg + 1)
-		    # west
-		    if edeg < 1:
-			tmpw = '%03d:00:01.5W' % abs(edeg)
-		    else:
-			tmpw = '%03d:59:58.5E' % (edeg - 1)
+        for edeg in range(west, east):
+            grass.percent(counter, ntiles, 1)
+            counter += 1
+            if ndeg < 0:
+                tile = 'S'
+            else:
+                tile = 'N'
+            tile = tile + '%02d' % abs(ndeg)
+            if edeg < 0:
+                tile = tile + 'W'
+            else:
+                tile = tile + 'E'
+            tile = tile + '%03d' % abs(edeg)
+            grass.debug("Tile: %s" % tile, debug = 1)
+            
+            if local != tmpdir:
+                gotit = import_local_tile(tile, local, pid, srtmv3, one)
+            else:
+                gotit = download_tile(tile, url, pid, srtmv3, one, username, password)
+                if gotit == 1:
+                    gotit = import_local_tile(tile, tmpdir, pid, srtmv3, one)
+            if gotit == 1:
+                grass.verbose(_("Tile %s successfully imported") % tile)
+                valid_tiles += 1
+            elif dozerotile:
+                # create tile with zeros
+                if one:
+                    # north
+                    if ndeg < -1:
+                        tmpn = '%02d:59:59.5S' % (abs(ndeg) - 2)
+                    else:
+                        tmpn = '%02d:00:00.5N' % (ndeg + 1)
+                    # south
+                    if ndeg < 1:
+                        tmps = '%02d:00:00.5S' % abs(ndeg)
+                    else:
+                        tmps = '%02d:59:59.5N' % (ndeg - 1)
+                    # east
+                    if edeg < -1:
+                        tmpe = '%03d:59:59.5W' % (abs(edeg) - 2)
+                    else:
+                        tmpe = '%03d:00:00.5E' % (edeg + 1)
+                    # west
+                    if edeg < 1:
+                        tmpw = '%03d:00:00.5W' % abs(edeg)
+                    else:
+                        tmpw = '%03d:59:59.5E' % (edeg - 1)
+                else:
+                    # north
+                    if ndeg < -1:
+                        tmpn = '%02d:59:58.5S' % (abs(ndeg) - 2)
+                    else:
+                        tmpn = '%02d:00:01.5N' % (ndeg + 1)
+                    # south
+                    if ndeg < 1:
+                        tmps = '%02d:00:01.5S' % abs(ndeg)
+                    else:
+                        tmps = '%02d:59:58.5N' % (ndeg - 1)
+                    # east
+                    if edeg < -1:
+                        tmpe = '%03d:59:58.5W' % (abs(edeg) - 2)
+                    else:
+                        tmpe = '%03d:00:01.5E' % (edeg + 1)
+                    # west
+                    if edeg < 1:
+                        tmpw = '%03d:00:01.5W' % abs(edeg)
+                    else:
+                        tmpw = '%03d:59:58.5E' % (edeg - 1)
 
-		grass.run_command('g.region', n = tmpn, s = tmps, e = tmpe, w = tmpw, res = res)
-		grass.run_command('r.mapcalc', expression = "%s = 0" % (tile + '.r.in.srtm.tmp.' + str(pid)), quiet = True)
-		grass.run_command('g.region', region = tmpregionname)
+                grass.run_command('g.region', n = tmpn, s = tmps, e = tmpe, w = tmpw, res = res)
+                grass.run_command('r.mapcalc', expression = "%s = 0" % (tile + '.r.in.srtm.tmp.' + str(pid)), quiet = True)
+                grass.run_command('g.region', region = tmpregionname)
 
 
     # g.list with sep = comma does not work ???
     pattern = '*.r.in.srtm.tmp.%d' % pid
     srtmtiles = grass.read_command('g.list', type = 'raster',
-				   pattern = pattern,
-				   sep = 'newline',
-				   quiet = True)
+                                   pattern = pattern,
+                                   sep = 'newline',
+                                   quiet = True)
 
     srtmtiles = srtmtiles.splitlines()
     srtmtiles = ','.join(srtmtiles)
 
     if valid_tiles == 0:
-	grass.run_command('g.remove', type = 'raster', name = str(srtmtiles), flags = 'f', quiet = True)
-	grass.warning(_("No tiles imported"))
-	if local != tmpdir:
-	    grass.fatal(_("Please check if local folder <%s> is correct.") % local)
-	else:
-	    grass.fatal(_("Please check internet connection, credentials, and if url <%s> is correct.") % url)
+        grass.run_command('g.remove', type = 'raster', name = str(srtmtiles), flags = 'f', quiet = True)
+        grass.warning(_("No tiles imported"))
+        if local != tmpdir:
+            grass.fatal(_("Please check if local folder <%s> is correct.") % local)
+        else:
+            grass.fatal(_("Please check internet connection, credentials, and if url <%s> is correct.") % url)
 
     grass.run_command('g.region', raster = str(srtmtiles));
     
@@ -424,30 +424,30 @@
             grass.run_command('g.rename', raster = '%s,%s' % (srtmtiles, output ), quiet = True)
     else:
         ncells = grass.region()['cells'] 
-	if long(ncells) > 1000000000:
-	    grass.message(_("%s cells to interpolate, this will take some time") % str(ncells), flag = 'i')
-	grass.run_command('r.patch', input = srtmtiles, output = output + '.holes')
-	mapstats = grass.parse_command('r.univar', map = output + '.holes', flags = 'g', quiet = True)
-	if mapstats['null_cells'] == '0':
-	    grass.run_command('g.rename', raster = '%s,%s' % (output + '.holes', output), quiet = True)
-	else:
-	    grass.run_command('r.resamp.bspline',
-			      input = output + '.holes',
-			      output = output + '.interp',
-			      se = '0.0025', sn = '0.0025',
-			      method = 'linear',
-			      memory = memory,
-			      flags = 'n')
-	    grass.run_command('r.patch',
-	                      input = '%s,%s' % (output + '.holes',
-			      output + '.interp'),
-			      output = output + '.float',
-			      flags = 'z')
-	    grass.run_command('r.mapcalc', expression = '%s = round(%s)' % (output, output + '.float'))
-	    grass.run_command('g.remove', type = 'raster',
-			      name = '%s,%s,%s' % (output + '.holes', output + '.interp', output + '.float'),
+        if long(ncells) > 1000000000:
+            grass.message(_("%s cells to interpolate, this will take some time") % str(ncells), flag = 'i')
+        grass.run_command('r.patch', input = srtmtiles, output = output + '.holes')
+        mapstats = grass.parse_command('r.univar', map = output + '.holes', flags = 'g', quiet = True)
+        if mapstats['null_cells'] == '0':
+            grass.run_command('g.rename', raster = '%s,%s' % (output + '.holes', output), quiet = True)
+        else:
+            grass.run_command('r.resamp.bspline',
+                              input = output + '.holes',
+                              output = output + '.interp',
+                              se = '0.0025', sn = '0.0025',
+                              method = 'linear',
+                              memory = memory,
+                              flags = 'n')
+            grass.run_command('r.patch',
+                              input = '%s,%s' % (output + '.holes',
+                              output + '.interp'),
+                              output = output + '.float',
+                              flags = 'z')
+            grass.run_command('r.mapcalc', expression = '%s = round(%s)' % (output, output + '.float'))
+            grass.run_command('g.remove', type = 'raster',
+                              name = '%s,%s,%s' % (output + '.holes', output + '.interp', output + '.float'),
                   flags = 'f',
-			      quiet = True)
+                              quiet = True)
 
     grass.run_command('g.remove', type = 'raster', pattern = pattern, flags = 'f', quiet = True)
 
@@ -464,10 +464,10 @@
     else:
         source1 = 'SRTM V2.1'
     grass.run_command('r.support', map = output,
-		      loadhistory = tmphist,
-		      description = 'generated by r.in.srtm.region',
-		      source1 = source1,
-		      source2 = (local if local != tmpdir else url))
+                      loadhistory = tmphist,
+                      description = 'generated by r.in.srtm.region',
+                      source1 = source1,
+                      source2 = (local if local != tmpdir else url))
     grass.try_remove(tmphist)
 
     grass.message(_("Done: generated map <%s>") % output)



More information about the grass-commit mailing list