NUMBEO

Sobre Indicadores de Poluição Neste Website

Esta secção é baseada em questionários a visitantes deste website. As perguntas destes questionários são semelhantes a muitos inquéritos científicos e governamentais.

Cada entrada no questionário é guardada como um número no intervalo [-2, +2], em que -2 significa fortemente negativo e +2 significa fortemente positivo.

Filtramos as respostas de modo a eliminar potencial spam, tal como pessoas que inserem uma elevada quantidade de dados que diferencia significativamente do valor mediano.

Para apresentar resultados dos inquéritos, utilizamos a escala [0, 100] para os valores, para uma mais fácil leitura dos utilizadores.

Para gerar o indicador atual (que está sempre atualizado) utilizamos dados até 36 meses de idade. Incluímos apenas cidades para as quais existem pelo menos um certo número de colaboradores. O nosso indicador semi-anual é refeito duas vezes por ano, empurrando o indicador atual para a vista histórica.

A maior parte dos nossos dados são baseados em opiniões dos visitantes deste website. Para a secção da população, incluímos alguns dados relevantes da Organização Mundial de Saúde e de outras instituições se acharmos apropriado.

Indicador de Poluição é uma estimativa da poluição geral na cidade. O maior peso é dado à população do ar, do que à população/acessibilidade da água, os dois principais fatores de poluição. Pesos mais pequenos são dados a outros tipos de poluição.

Escala Exp de Poluição utiliza uma escala exponencial para mostrar números muito elevados para cidades muito poluídas, e números muito pequenos para cidades sem poluição. A fórmula de cálculo usa então uma função exponencial para calcular o indicador.

As fórmulas atuais para calcular estes indicadores estão sujeitas a alterações e, neste momento, são utilizadas fórmulas empíricas bastante complexas.

Estas fórmulas escritas na linguagem de programação Java são as seguintes:

   public void calculateIndex() {
     //assumes air_quality and other entries from user are in the range [-2, 2], where -2 means perceived as very low, and +2 means very high
     //PollutionDbEntry.IS_POLLUTION_AIR_QUALITY and similar are constant variables which are either -1 and 1; i.e. IS_POLLUTION_AIR_QUALITY = -1.0
     //These constant variables in PollutionDbEntry class are 1 for values which represent pollutions and -1 for values which represent opposite (purity, cleanliness)
     index = new PollutionIndex();
     double overall = 0.0;
     overall += 7 * getIndexPartPreCalc(PollutionDbEntry.IS_POLLUTION_AIR_QUALITY * air_quality);
     overall += 2 * getIndexPartPreCalc(PollutionDbEntry.IS_POLLUTION_DRINKING_WATER_QUALITY_ACCESSIBILITY * drinking_water_quality_accessibility);
     overall += 2 * getIndexPartPreCalc(PollutionDbEntry.IS_POLLUTION_WATER_POLLUTION * water_pollution);
     overall += getIndexPartPreCalc(PollutionDbEntry.IS_POLLUTION_GARBAGE_DISPOSAL_SATISFACTION * garbage_disposal_satisfaction);
     overall += getIndexPartPreCalc(PollutionDbEntry.IS_POLLUTION_CLEAN_AND_TIDY * clean_and_tidy);
     overall += getIndexPartPreCalc(PollutionDbEntry.IS_POLLUTION_NOISE_AND_LIGHT_POLLUTION * noise_and_light_pollution);
     overall += getIndexPartPreCalc(PollutionDbEntry.IS_POLLUTION_GREEN_AND_PARKS_QUALITY * green_and_parks_quality);
     overall += 2 * getIndexPartPreCalc(PollutionDbEntry.IS_POLLUTION_COMFORTABLE_TO_SPEND_TIME * comfortable_to_spend_time);

     double overallExpScale = 0.0;
     overallExpScale += 7 * getIndexPartPreCalcExpScaleStandard(PollutionDbEntry.IS_POLLUTION_AIR_QUALITY * air_quality);
     overallExpScale += 2 * getIndexPartPreCalcExpScaleStandard(PollutionDbEntry.IS_POLLUTION_DRINKING_WATER_QUALITY_ACCESSIBILITY * drinking_water_quality_accessibility);
     overallExpScale += 2 * getIndexPartPreCalcExpScaleStandard(PollutionDbEntry.IS_POLLUTION_WATER_POLLUTION * water_pollution);
     overallExpScale += getIndexPartPreCalcExpScaleStandard(PollutionDbEntry.IS_POLLUTION_GARBAGE_DISPOSAL_SATISFACTION * garbage_disposal_satisfaction);
     overallExpScale += getIndexPartPreCalcExpScaleStandard(PollutionDbEntry.IS_POLLUTION_CLEAN_AND_TIDY * clean_and_tidy);
     overallExpScale += getIndexPartPreCalcExpScaleStandard(PollutionDbEntry.IS_POLLUTION_NOISE_AND_LIGHT_POLLUTION * noise_and_light_pollution);
     overallExpScale += getIndexPartPreCalcExpScaleStandard(PollutionDbEntry.IS_POLLUTION_GREEN_AND_PARKS_QUALITY * green_and_parks_quality);
     overallExpScale += 2 * getIndexPartPreCalcExpScaleStandard(PollutionDbEntry.IS_POLLUTION_COMFORTABLE_TO_SPEND_TIME * comfortable_to_spend_time);

     index.main = overall / 14.5; //max 17
     index.expScale = calcScaleStandardIndexFromSum(overallExpScale, 12);
   }

  protected double getIndexPartPreCalc(double internalValue) {
    return (internalValue + 2) * 25;
  }

  protected double getIndexPartPreCalcExpScaleStandard(double internalValue) {
    return getIndexPartPreCalcExpScale(internalValue, Math.E);
  }

  protected double getIndexPartPreCalcExpScale(double internalValue, double exp) {
    return Math.pow((internalValue + 2) * 25, exp);
  }

  protected double calcScaleStandardIndexFromSum(double scaleSum, int elems) {
    return Math.pow(scaleSum / elems, 1 / (Math.E * 8.8 / 10));
  }
Para estimar o número de árvores para cobrir o consumo de CO2, assumimos 240 dias de comuta durante o ano e utilizamos a citação "Uma árvore apenas consegue absorver CO2 à taxa de 22 kg. por ano." - Arbor Enviromental Alliance.
Como fórmula Java:
    double co2CommuteConsumptionYearly = 240 * index.co2;
        double treesNeededForCommute = (co2CommuteConsumptionYearly / 1000) / 21.77;  //each tree absorbs about 21.77kg of CO2

 

Esta página foi traduzida a partir do inglês. Improve translation of this page