// based on: // playground.wrashid.parkingSearch.withindayFW.controllers.kti.HUPCControllerKTIzh.getHouseHoldIncomeCantonZH public static DoubleValueHashMap<Id> getHouseHoldIncomeCantonZH(Population population) { DoubleValueHashMap<Id> houseHoldIncome = new DoubleValueHashMap<Id>(); for (Id<Person> personId : population.getPersons().keySet()) { double rand = MatsimRandom.getRandom().nextDouble(); if (rand < 0.032) { houseHoldIncome.put(personId, 1000 + MatsimRandom.getRandom().nextDouble() * 1000); } else if (rand < 0.206) { houseHoldIncome.put(personId, 2000 + MatsimRandom.getRandom().nextDouble() * 2000); } else if (rand < 0.471) { houseHoldIncome.put(personId, 4000 + MatsimRandom.getRandom().nextDouble() * 2000); } else if (rand < 0.674) { houseHoldIncome.put(personId, 6000 + MatsimRandom.getRandom().nextDouble() * 2000); } else if (rand < 0.803) { houseHoldIncome.put(personId, 8000 + MatsimRandom.getRandom().nextDouble() * 2000); } else if (rand < 0.885) { houseHoldIncome.put(personId, 10000 + MatsimRandom.getRandom().nextDouble() * 2000); } else if (rand < 0.927) { houseHoldIncome.put(personId, 12000 + MatsimRandom.getRandom().nextDouble() * 2000); } else if (rand < 0.952) { houseHoldIncome.put(personId, 14000 + MatsimRandom.getRandom().nextDouble() * 2000); } else { houseHoldIncome.put(personId, 16000 + MatsimRandom.getRandom().nextDouble() * 16000); } } return houseHoldIncome; }