def save_matrix_R(filename, matrix):

    rmatrix = npr.numpy2ri(matrix)

    r.assign('data', rmatrix)

    r.save('data', file=filename)
Ejemplo n.º 2
0
def save_matrix_R(filename, matrix):

    rmatrix = npr.numpy2ri(matrix)

    r.assign('data', rmatrix)

    r.save('data', file=filename)    
Ejemplo n.º 3
0
def main(args):
    ws_shape = os.path.join(args.tempdir, 'ws.shp')
    polygonize = ['gdal_polygonize.py', args.catchment, '-f', 'ESRI Shapefile', ws_shape]
    call(polygonize)

    acc_cut = ['gdalwarp', '-cutline', ws_shape, args.accumulation, os.path.join(args.output, 'direction.asc')]
    call(acc_cut)
    exit()
        
    from rpy2.robjects import r
    raster = importr('raster')
    rgdal = importr('rgdal')

    print 'Loading Catchement Raster'
    catch = raster.raster(args.catchment)

    print 'Clipping accumulation raster to watershed area'
    acc = raster.raster(acc)
    acc_masked = raster.mask(acc, catch)
    r.assign('acc_masked', acc_masked)
    r('acc_masked[is.na(acc_masked)] <- -9999')
    raster.NAvalue(acc_masked) = -9999

    print 'Saving clipped accumulation file'
    raster.writeRaster(acc_masked, filename=os.path.join(tempdir, 'acc_masked.asc'), format='ascii', overwrite=True, NAFlag=-9999)

    print 'Selecting stations in watershed area'
    hydat = r'/home/data/gis/basedata/HYDAT_STN/Canada Hydat/canada_hydat_gt_500km2_catch_wgs84.shp'
    d = os.path.dirname(args.hydat)
    f = os.path.splitext(os.path.basename(args.hydat))[0]
    hydat = rgdal.readOGR(d, f, stringsAsFactors=False)
    r.assign('hydat', hydat)
    watershed_poly = raster.rasterToPolygons(catch)
    r.assign('watershed_poly', watershed_poly)
    
    sp = importr('sp')
    station = sp.over(watershed_poly, hydat)

    # correct invalid edge flows
    correct_edge_flows(r)
    print 'Invalid Directions Fixed'
    outfile = os.path.join(args.outdir, args.watershed, 'flow_vic.asc')
    r.change_nodata('-9999')
    r.save(outfile)

    # Load as direction raster
    r = DirectionRaster(outfile)
    r.save_arcgis(os.path.join(args.outdir, args.watershed, 'flow_arcgis.asc'))
    print 'Loading Stations'
    stns = load_stations(args.stations)
    stns = generate_shortnames(stns)

    print 'Generating Subbasin Masks'
    generate_subbasin_masks(stns, r, os.path.join(args.outdir, args.watershed))

    print 'Done generating masks'
def save_simmat_R(filename, simmat):

    rmatrix = npr.numpy2ri(simmat.matrix)

    r.assign('data', rmatrix)

    r("rownames(%s) <- c%s" % ('data', tuple(simmat.labels)))

    r("colnames(%s) <- c%s" % ('data', tuple(simmat.labels)))

    r.save('data', file=filename)
Ejemplo n.º 5
0
def save_simmat_R(filename, simmat):

    rmatrix = npr.numpy2ri(simmat.matrix)

    r.assign('data', rmatrix)
    
    r("rownames(%s) <- c%s" % ('data', tuple(simmat.labels)))

    r("colnames(%s) <- c%s" % ('data', tuple(simmat.labels)))

    r.save('data', file=filename)