def write_points(plants, output, efficiency, min_power): # create vetor segment new_vec = VectorTopo(output) #TODO: check if the vector already exists new_vec.layer = 1 new_vec.open('w', tab_cols=COLS_points) reg = Region() # import ipdb; ipdb.set_trace() for pla in plants: power = pla.potential_power(efficiency=efficiency) if power > min_power: new_vec.write(pla.line[-1], (pla.restitution.id, pla.id, 'restitution', pla.id_stream, float(pla.restitution.elevation), float(pla.restitution.discharge), power)) for ink in pla.intakes: new_vec.write( pla.line[0], (ink.id, pla.id, 'intake', pla.id_stream, float(ink.elevation), float(ink.discharge), power)) new_vec.table.conn.commit() new_vec.comment = (' '.join(sys.argv)) new_vec.write_header() #pdb.set_trace() new_vec.close()
def conv_segpoints(seg, output): segments, mset = (seg.split('@') if '@' in seg else (seg, '')) # convert the map with segments in a map with intakes and restitution new_vec = VectorTopo(output) #TODO: check if the vector already exists new_vec.layer = 1 new_vec.open('w', tab_cols=COLS_points) reg = Region() seg = VectorTopo(segments, mapset=mset) seg.layer = 1 seg.open('r') for pla in seg: #import ipdb; ipdb.set_trace() new_vec.write(pla[-1], (2, pla.attrs['plant_id'], 'restitution', pla.attrs['stream_id'], pla.attrs['elev_down'], pla.attrs['discharge'], pla.attrs['pot_power'])) #import ipdb; ipdb.set_trace() new_vec.write(pla[0], (1, pla.attrs['plant_id'], 'intake', pla.attrs['stream_id'], pla.attrs['elev_up'], pla.attrs['discharge'], pla.attrs['pot_power'])) new_vec.table.conn.commit() new_vec.comment = (' '.join(sys.argv)) new_vec.write_header() #pdb.set_trace() new_vec.close() return new_vec
def conv_segpoints(seg, output): segments, mset = seg.split("@") if "@" in seg else (seg, "") # convert the map with segments in a map with intakes and restitution new_vec = VectorTopo(output) # TODO: check if the vector already exists new_vec.layer = 1 new_vec.open("w", tab_cols=COLS_points) reg = Region() seg = VectorTopo(segments, mapset=mset) seg.layer = 1 seg.open("r") for pla in seg: # import ipdb; ipdb.set_trace() new_vec.write( pla[-1], ( 2, pla.attrs["plant_id"], "restitution", pla.attrs["stream_id"], pla.attrs["elev_down"], pla.attrs["discharge"], pla.attrs["pot_power"], ), ) # import ipdb; ipdb.set_trace() new_vec.write( pla[0], ( 1, pla.attrs["plant_id"], "intake", pla.attrs["stream_id"], pla.attrs["elev_up"], pla.attrs["discharge"], pla.attrs["pot_power"], ), ) new_vec.table.conn.commit() new_vec.comment = " ".join(sys.argv) new_vec.write_header() # pdb.set_trace() new_vec.close() return new_vec