def _parse_area_km2(valor):
    """O campo ``area_km2`` é uma string com um número em formato pt-br, com
    casas decimais que representam m2.

    Exemplos: "331,401", "248.222,801"
    """
    if valor is None:
        return None
    elif isinstance(valor, Decimal):
        return valor
    try:
        int_, dec = valor.split(',', 1)
    except ValueError:
        # valor não tem separador decimal
        int_, dec = valor, '000'

    # remove os separadores de milhar
    int_ = int_.replace('.', '')

    return Decimal('%s.%s' % (int_, dec))