示例#1
0
文件: views.py 项目: gem/oq-platform
def _stream_exposure_by_sr_id_as_csv(sr_id, occupancy, currency, taxonomy_name, taxonomy_version):
    copyright = copyright_csv(COPYRIGHT_HEADER)
    yield copyright
    yield _csv_currency_and_taxonomy_header(currency, taxonomy_name, taxonomy_version)
    for row in util._stream_exposure_by_sr_id(sr_id, occupancy):
        row_str = raw_to_csv_row(row)
        yield row_str
示例#2
0
def _stream_exposure_by_sr_id_as_csv(sr_id, occupancy, currency, taxonomy_name,
                                     taxonomy_version):
    copyright = copyright_csv(COPYRIGHT_HEADER)
    yield copyright
    yield _csv_currency_and_taxonomy_header(currency, taxonomy_name,
                                            taxonomy_version)
    for row in util._stream_exposure_by_sr_id(sr_id, occupancy):
        row_str = raw_to_csv_row(row)
        yield row_str
示例#3
0
文件: views.py 项目: gem/oq-platform
def _stream_exposure_as_nrml(req_pars):
    yield XML_HEADER
    copyright = copyright_nrml(COPYRIGHT_HEADER)
    currency = req_pars['currency']
    yield copyright
    if currency is not None:
        conversions = NRML_CONVERSIONS_FMT % currency
    else:
        conversions = ""
    yield NRML_HEADER % dict(cat='buildings',
                             conversions=conversions,
                             taxonomy_name=req_pars['taxonomy_name'],
                             taxonomy_version=req_pars['taxonomy_version'])
    if req_pars['filter_by_bounding_box']:
        exposure_data = util._stream_exposure_by_bb_and_sr_id(
            req_pars['lng1'],
            req_pars['lat1'],
            req_pars['lng2'],
            req_pars['lat2'],
            req_pars['sr_id'],
            req_pars['occupancy'])
    else:  # no bounding box provided
        exposure_data = util._stream_exposure_by_sr_id(
            req_pars['sr_id'],
            req_pars['occupancy'])
    # discard column_names
    column_names = exposure_data.next()
    for (grid_id, lon, lat, bldg_type, occ_type, is_urban, dwelling_fraction,
         bldg_fraction, type_pop, day_pop, night_pop, transit_pop, bldg_count,
         bldg_count_quality, bldg_area, bldg_area_quality, bldg_cost,
         bldg_cost_quality) in exposure_data:
        occ = ''
        for tod, occupants in (('all', type_pop),
                               ('day', day_pop),
                               ('night', night_pop),
                               ('transit', transit_pop)):
            occ += NRML_OCCUPANCY_FMT % (occupants, tod)
            if bldg_cost is not None:
                costs = NRML_COSTS_FMT % bldg_cost
            else:
                costs = ""
        asset_params = dict(
            gml_id='%s_%s' % (grid_id, bldg_type),
            lon=lon,
            lat=lat,
            bldg_count=bldg_count,
            tax=bldg_type,
            costs=costs,
            occ=occ,
        )
        asset = NRML_ASSET_FMT % asset_params
        yield '%s' % asset
    # finalize the document:
    yield NRML_FOOTER
示例#4
0
def _stream_exposure_as_nrml(req_pars):
    yield XML_HEADER
    copyright = copyright_nrml(COPYRIGHT_HEADER)
    currency = req_pars['currency']
    yield copyright
    if currency is not None:
        conversions = NRML_CONVERSIONS_FMT % currency
    else:
        conversions = ""
    yield NRML_HEADER % dict(cat='buildings',
                             conversions=conversions,
                             taxonomy_name=req_pars['taxonomy_name'],
                             taxonomy_version=req_pars['taxonomy_version'])
    if req_pars['filter_by_bounding_box']:
        exposure_data = util._stream_exposure_by_bb_and_sr_id(
            req_pars['lng1'], req_pars['lat1'], req_pars['lng2'],
            req_pars['lat2'], req_pars['sr_id'], req_pars['occupancy'])
    else:  # no bounding box provided
        exposure_data = util._stream_exposure_by_sr_id(req_pars['sr_id'],
                                                       req_pars['occupancy'])
    # discard column_names
    column_names = exposure_data.next()
    for (grid_id, lon, lat, bldg_type, occ_type, is_urban, dwelling_fraction,
         bldg_fraction, type_pop, day_pop, night_pop, transit_pop, bldg_count,
         bldg_count_quality, bldg_area, bldg_area_quality, bldg_cost,
         bldg_cost_quality) in exposure_data:
        occ = ''
        for tod, occupants in (('all', type_pop), ('day', day_pop),
                               ('night', night_pop), ('transit', transit_pop)):
            occ += NRML_OCCUPANCY_FMT % (occupants, tod)
            if bldg_cost is not None:
                costs = NRML_COSTS_FMT % bldg_cost
            else:
                costs = ""
        asset_params = dict(
            gml_id='%s_%s' % (grid_id, bldg_type),
            lon=lon,
            lat=lat,
            bldg_count=bldg_count,
            tax=bldg_type,
            costs=costs,
            occ=occ,
        )
        asset = NRML_ASSET_FMT % asset_params
        yield '%s' % asset
    # finalize the document:
    yield NRML_FOOTER
示例#5
0
文件: views.py 项目: gem/oq-platform
def _stream_exposure_as_nrml(req_pars):
    yield XML_HEADER
    copyright = copyright_nrml(COPYRIGHT_HEADER)
    currency = req_pars["currency"]
    yield copyright
    if currency is not None:
        conversions = NRML_CONVERSIONS_FMT % currency
    else:
        conversions = ""
    yield NRML_HEADER % dict(
        cat="buildings",
        conversions=conversions,
        taxonomy_name=req_pars["taxonomy_name"],
        taxonomy_version=req_pars["taxonomy_version"],
    )
    if req_pars["filter_by_bounding_box"]:
        exposure_data = util._stream_exposure_by_bb_and_sr_id(
            req_pars["lng1"],
            req_pars["lat1"],
            req_pars["lng2"],
            req_pars["lat2"],
            req_pars["sr_id"],
            req_pars["occupancy"],
        )
    else:  # no bounding box provided
        exposure_data = util._stream_exposure_by_sr_id(req_pars["sr_id"], req_pars["occupancy"])
    # discard column_names
    column_names = exposure_data.next()
    for (
        grid_id,
        lon,
        lat,
        bldg_type,
        occ_type,
        is_urban,
        dwelling_fraction,
        bldg_fraction,
        type_pop,
        day_pop,
        night_pop,
        transit_pop,
        bldg_count,
        bldg_count_quality,
        bldg_area,
        bldg_area_quality,
        bldg_cost,
        bldg_cost_quality,
    ) in exposure_data:
        occ = ""
        for tod, occupants in (("all", type_pop), ("day", day_pop), ("night", night_pop), ("transit", transit_pop)):
            occ += NRML_OCCUPANCY_FMT % (occupants, tod)
            if bldg_cost is not None:
                costs = NRML_COSTS_FMT % bldg_cost
            else:
                costs = ""
        asset_params = dict(
            gml_id="%s_%s" % (grid_id, bldg_type),
            lon=lon,
            lat=lat,
            bldg_count=bldg_count,
            tax=bldg_type,
            costs=costs,
            occ=occ,
        )
        asset = NRML_ASSET_FMT % asset_params
        yield "%s" % asset
    # finalize the document:
    yield NRML_FOOTER