Exemplo n.º 1
0
def set_environmental_summaries(tree):
    from treemap.models import TreeResource, ClimateZone

    species = tree.species
    dbh = tree.dbh

    if not species or not dbh:
        return None

    dbh_cm = convert_dbh_to_inches(dbh) * INCHES_PER_CM

    tr = TreeResource.objects.filter(tree=tree)

    # Determine which region the tree is currently in:
    if settings.MULTI_REGION_ITREE_ENABLED:
        target_region = tree.plot.itree_region()

        if target_region is None:
            return False

        resources = species.resource.filter(region=target_region)
    else:
        resources = species.resource.all()

    if not resources:
        if tr:
            tr.delete()

        return False

    region = resources[0].region
    code = resources[0].meta_species

    if tr:
        tr = tr[0]
    else:
        tr = TreeResource(tree=tree)

    base_resources = calc_base_resources(code, dbh_cm, RESOURCE_NAMES, region)
    results = calc_resource_summaries(base_resources)

    if not results:
        if tr.id:
            tr.delete()
        return None

    for k,v in results.items():
        setattr(tr, k, v)

    tr.save()
    return True
Exemplo n.º 2
0
def set_environmental_summaries(tree):
    from treemap.models import TreeResource, ClimateZone

    species = tree.species
    dbh = tree.dbh

    if not species or not dbh:
        return None

    dbh_cm = convert_dbh_to_inches(dbh) * INCHES_PER_CM

    tr = TreeResource.objects.filter(tree=tree)

    # Determine which region the tree is currently in:
    if settings.MULTI_REGION_ITREE_ENABLED:
        target_region = tree.plot.itree_region()

        if target_region is None:
            return False

        resources = species.resource.filter(region=target_region)
    else:
        resources = species.resource.all()

    if not resources:
        if tr:
            tr.delete()

        return False

    region = resources[0].region
    code = resources[0].meta_species

    if tr:
        tr = tr[0]
    else:
        tr = TreeResource(tree=tree)

    base_resources = calc_base_resources(code, dbh_cm, RESOURCE_NAMES, region)
    results = calc_resource_summaries(base_resources)

    if not results:
        if tr.id:
            tr.delete()
        return None

    for k, v in results.items():
        setattr(tr, k, v)

    tr.save()
    return True
Exemplo n.º 3
0
def set_environmental_summaries(tree):
    from treemap.models import TreeResource

    species = tree.species
    dbh = tree.dbh

    if not species or not dbh:
        return None

    dbh = convert_dbh_to_inches(dbh)

    tr = TreeResource.objects.filter(tree=tree)
    resources = species.resource.all()

    if not resources:
        if tr:
            tr.delete()

        return False


    resource = resources[0]

    if tr:
        tr = tr[0]
    else:
        tr = TreeResource(tree=tree)

    base_resources = calc_base_resources(resource, RESOURCE_NAMES, dbh)
    results = calc_resource_summaries(base_resources)

    if not results:
        if tr.id:
            tr.delete()
        return None 

    for k,v in results.items():
        setattr(tr, k, v)

    tr.save()
    return True
Exemplo n.º 4
0
def set_environmental_summaries(tree):
    from treemap.models import TreeResource

    species = tree.species
    dbh = tree.dbh

    if not species or not dbh:
        return None

    dbh = convert_dbh_to_inches(dbh)

    tr = TreeResource.objects.filter(tree=tree)
    resources = species.resource.all()

    if not resources:
        if tr:
            tr.delete()

        return False

    resource = resources[0]

    if tr:
        tr = tr[0]
    else:
        tr = TreeResource(tree=tree)

    base_resources = calc_base_resources(resource, RESOURCE_NAMES, dbh)
    results = calc_resource_summaries(base_resources)

    if not results:
        if tr.id:
            tr.delete()
        return None

    for k, v in results.items():
        setattr(tr, k, v)

    tr.save()
    return True