In [ ]:
from render import view
In [ ]:
view(rasters=['elevation@PERMANENT'], vectors=['railroads@PERMANENT'], vkw={'color':'red'})
In [ ]:
view(rasters=['elevation@PERMANENT'], vectors=['railroads@PERMANENT'], vkw={'color':'red'}, meta=True)
In [ ]:
import grass.script as grass
from IPython.core.display import HTML
def dict2html(dic, keys=None, border='', prec=4):
dcont = """<tr>
<td><b>%s</b></td>
<td>%s</td>
</tr>"""
keys = keys if keys else sorted(dic.keys())
header = "<table border=%r>" % border if border else "<table>"
content = [dcont % (k,dic[k]) for k in keys]
return '\n'.join([header, ] + content + ['</table>', ])
def list2dict(inputlist, sep="=", inverse=False):
if inverse:
dictionary = dict([(i.split(sep)[1],i.split(sep)[0]) for i in inputlist])
else :
dictionary = dict([(i.split(sep)[0],i.split(sep)[1]) for i in inputlist])
return dictionary
def rlayerInfo(map):
raster_info = grass.read_command('r.info', map=map, flags='g').strip().split('\n')
raster_info = list2dict(raster_info)
map_range = grass.read_command('r.info', map=map, flags='r').strip().split('\n')
map_range = list2dict(map_range)
raster_info['range'] = map_range
return raster_info
def vlayerInfo(map,layer=1):
hist = grass.read_command('v.info', map=map, layer=1, flags='h').split('\n')
map_history = {'COMMAND' : hist[0].split(':')[1],
'GISDBASE' : hist[1].split(':')[1],
'LOCATION' : hist[2].split(' ')[1],
'MAPSET' : hist[2].split(' ')[3],
'USER' : hist[2].split(' ')[5],
'DATE' : hist[2].split(' ')[7:]}
map_table = grass.read_command('v.info', map=map, layer=1, flags='c').strip().split('\n')
map_table = list2dict(map_table[1:], sep='|', inverse=True)
map_region = !v.info map={map} layer={layer} -g
map_region = list2dict(map_region)
map_topology = grass.read_command('v.info', map=map, layer=1, flags='t').strip().split('\n')
map_topology = list2dict(map_topology)
info = {'table' : map_table,
'region' : map_region,
'history' : map_history,
'topology' : map_topology,
} #'title' : map_title
return info
In [ ]:
railroads = vlayerInfo("railroads")
In [ ]:
elev = rlayerInfo("elevation")
In [ ]:
HTML(dict2html(railroads))
In [ ]:
railroads.keys()
In [ ]:
HTML(dict2html(railroads['history']))
In [ ]:
HTML(dict2html(elev))
In [ ]: