コード例 #1
0
ファイル: utils.py プロジェクト: wiesnerfriedman/grass-addons
def grass_read_vect(vect):
    """
    Read a GRASS GIS vector map into a Geopandas GeoDataFrame

    Occurs via an intermediate tempfile

    Parameters
    ----------
    vect : str
        Name of GRASS GIS vector map

    Returns
    -------
    geopandas.GeoDataFrame
    """
    try:
        import geopandas as gpd
    except ImportError:
        gs.fatal("Geopandas python package is required")

    temp_out = ".".join([tempfile.NamedTemporaryFile().name, "gpkg"])
    gvect.out_ogr(input=vect, output=temp_out, format="GPKG")

    return gpd.read_file(temp_out)
コード例 #2
0
for i, reach_no in enumerate(reaches):
    # make the directory for this reach
    this_dir = DataDirectory + 'Upper_Miss_reach' + str(reach_no) + '/'
    try:
        os.mkdir(this_dir)
    except:
        pass

    # set the region
    g.region(n=str(n[i]), s=str(s[i]), e=str(e[i]), w=str(w[i]), flags='p')

    # now output the ENVI bil file
    r.out_gdal(input="Upper_Miss_filled",
               format="ENVI",
               type="Float32",
               nodata=-9999,
               output=this_dir + 'Upper_Miss_reach' + str(reach_no) + '.bil')

    # clip the baseline to this region
    v.in_region(output='region_tmp', overwrite=True)
    v.overlay(ainput='Mississippi_River',
              atype='line',
              binput='region_tmp',
              output='Mississippi_River_clip_tmp',
              operator='and',
              overwrite=True)
    v.out_ogr(input='Mississippi_River_clip_tmp',
              output=this_dir + 'Upper_Miss_baseline_reach' + str(reach_no) +
              ".shp",
              overwrite=True)
コード例 #3
0
ファイル: lcp_grass.py プロジェクト: ealiasannila/lcpc
def exportPoints():
    v.out_ogr(targetmap, output=path + start_shp, format='ESRI_Shapefile', overwrite=True)
    v.out_ogr(startmap, output=path + targets_shp, format='ESRI_Shapefile', overwrite=True)
コード例 #4
0
                overwrite=True)

# Generate a vector of the full basin area
# "value" column is empty
v.dissolve(input=basins_inbasin, output=basin, column='label', overwrite=True)

# Export shapefiles of all vector files
try:
    os.mkdir('shapefiles')
except:
    pass
os.chdir('shapefiles')
for _vector_file in [HRUs, gravity_reservoirs, MODFLOW_grid, basin]:
    v.out_ogr(input=_vector_file,
              output=_vector_file,
              type='area',
              quiet=True,
              overwrite=True)
for _vector_file in [segments, reaches]:
    v.out_ogr(input=_vector_file,
              output=_vector_file,
              type='line',
              quiet=True,
              overwrite=True)
for _vector_file in [pour_point, bc_cell]:
    v.out_ogr(input=_vector_file,
              output=_vector_file,
              type='point',
              quiet=True,
              overwrite=True)
#os.chdir('..')
コード例 #5
0
                overwrite=True)

# Generate a vector of the full basin area
# "value" column is empty
v.dissolve(input=basins_inbasin, output=basin, column='label', overwrite=True)

# Export shapefiles of all vector files
try:
    os.mkdir('shapefiles')
except:
    pass
os.chdir('shapefiles')
for _vector_file in [HRUs, gravity_reservoirs, MODFLOW_grid, basin]:
    v.out_ogr(input=_vector_file,
              output=_vector_file,
              type='area',
              format='ESRI_Shapefile',
              quiet=True,
              overwrite=True)
for _vector_file in [segments, reaches]:
    v.out_ogr(input=_vector_file,
              output=_vector_file,
              type='line',
              format='ESRI_Shapefile',
              quiet=True,
              overwrite=True)
for _vector_file in [pour_point, bc_cell]:
    v.out_ogr(input=_vector_file,
              output=_vector_file,
              type='point',
              format='ESRI_Shapefile',
              quiet=True,
コード例 #6
0
grd = GridModule('r.contour',
                 width=width,
                 height=height,
                 overlap=20,
                 processes=cpus,
                 input=grassfile,
                 output=grasscontoursfile,
                 minlevel=200,
                 maxlevel=800,
                 step=10,
                 overwrite=True)
grd.run()

#Write output to file
v.out_ogr(input=grasscontoursfile, output=contoursfile, overwrite=True)

# These can be left out, just debug info
print("\n\n ***DEBUG INFO***")
print("GRASS version")
print(g.version())

print("GRASS env settings: gisdatabase, location, mapset")
g.gisenv()

print("Available datasets:")
g.list(type="all", flags='m')

print("Input file info")
r.info(map=grassfile, verbose=True)
        points=Points,  # Trip_1
        output=JR,
        operation='connect',
        threshold='100',
        flags=O)

    #v.db_addtable(map=JR, layer=2)
    #v.db_update(map=JR, column='cat', value=1, where="Block like 'Start'")
    #v.db_update(map=JR, column='cat', value=L, where="Block like 'End'")
    #for ix,i in enumerate(sorted(block), start=2):
    #v.db_update(map=Points, column='cat', value=ix, where="Block like '%s'"%i)

    v.net_salesman(input=JR, output=Path, center_cats='1-61', flags=O)

    v.out_ogr(input=Path,
              output=Path + '.shp',
              format='ESRI_Shapefile',
              flags=O)

    # Export Trip
    #if not os.path.exists('Trips'): os.mkdir('Trips')

    #for lyr in (Path, Points):
    #v.out_ogr(input=lyr,
    #output=Join('Trips',lyr),
    #format='ESRI_Shapefile',
    #flags=O)

    #g.remove(type='vector', name=(Points,JR,Path), flags=['f'])
    #break

#g.remove(type='vector', name=('nBlocks', 'nPoints'), flags=['f'])