def get_random_areas_localisation(foret): ''' renvoie des localisations aléatoires TODO ''' id_area = foret['areas_foret'][0]['id_area'] area_foret = DB.session.query(TAreas).filter( id_area == TAreas.id_area).first() areas_localisation = [] if area_foret.id_type == get_id_type('OEASC_ONF_FRT'): area_ONF_PRF = get_random_area_onf_prf(area_foret.area_code) if area_ONF_PRF: areas_localisation.append({'id_area': area_ONF_PRF['id_area']}) area_ONF_UG = get_random_area_onf_ug(area_ONF_PRF['area_code']) if area_ONF_UG: areas_localisation.append({'id_area': area_ONF_UG['id_area']}) if area_foret.id_type == get_id_type('OEASC_SECTION'): area = get_random_area_section_cadastre(area_foret.area_code) areas_localisation.append({'id_area': area['id_area']}) if area_foret.id_type == get_id_type('OEASC_DGD'): area = get_random_area_dgd_cadastre(area_foret.area_code) areas_localisation.append({'id_area': area['id_area']}) return areas_localisation
def get_random_area_commune(): ''' get_random_area_commune ''' area = (DB.session.query(TAreas).filter( TAreas.id_type == get_id_type('OEASC_COMMUNE')).order_by( func.random()).first()) if area: return area.as_dict() return None
def get_random_area_section_cadastre(area_code_section): ''' get_random_area_section_cadastre ''' area = (DB.session.query(TAreas).filter( TAreas.id_type == get_id_type('OEASC_CADASTRE')).filter( TAreas.area_code.like(area_code_section + '-%')).order_by( func.random()).first()) if area: return area.as_dict() return None
def get_random_area_onf_ug(area_code_onf_prf): ''' get_random_area_onf_ug ''' area = (DB.session.query(TAreas).filter( TAreas.id_type == get_id_type('OEASC_ONF_UG')).filter( TAreas.area_code.like(area_code_onf_prf + '-%')).order_by( func.random()).first()) if area: return area.as_dict() return None
def get_random_area_section(area_code_commune): ''' get_random_area_section ''' area = (DB.session.query(TAreas).filter( TAreas.id_type == get_id_type('OEASC_SECTION')).filter( TAreas.area_code.like(area_code_commune + '-%')).order_by( func.random()).first()) if area: return area.as_dict() return None
def get_random_area_dgd_cadastre(area_code_dgd): ''' get_random_area_dgd_cadastre ''' res = DB.engine.execute( text("SELECT area_code_cadastre \ FROM oeasc_forets.cor_dgd_cadastre \ WHERE area_code_dgd = '{}' \ ORDER BY RANDOM() \ LIMIT 1;".format(area_code_dgd))).first()[0] area_code = res area = (DB.session.query(TAreas).filter( TAreas.id_type == get_id_type('OEASC_CADASTRE')).filter( TAreas.area_code == area_code).first()) if area: return area.as_dict() return None