From 870db54ea7af87e28088f0a3512a7c268402bd85 Mon Sep 17 00:00:00 2001 From: Qinnnnn Date: Thu, 7 Jul 2022 14:36:44 +0200 Subject: [PATCH 1/3] Add HBR in matsim population generator --- src/main/java/de/tum/bgu/msm/io/output/SummarizeData.java | 8 +++++--- .../modules/plansConverter/MatsimPopulationGenerator.java | 4 +++- .../de/tum/bgu/msm/trafficAssignment/ConfigureMatsim.java | 8 ++++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/tum/bgu/msm/io/output/SummarizeData.java b/src/main/java/de/tum/bgu/msm/io/output/SummarizeData.java index 86fe1299..895649b8 100644 --- a/src/main/java/de/tum/bgu/msm/io/output/SummarizeData.java +++ b/src/main/java/de/tum/bgu/msm/io/output/SummarizeData.java @@ -39,7 +39,7 @@ public static void writeOutSyntheticPopulationWithTrips(DataSet dataSet) { } pwh.print(hh.getId()); pwh.print(","); - pwh.print(homeZone); + pwh.print(homeZone.getZoneId()); pwh.print(","); pwh.print(hh.getHomeLocation().x); pwh.print(","); @@ -62,7 +62,7 @@ public static void writeOutSyntheticPopulationWithTrips(DataSet dataSet) { LOGGER.info(" Writing person file"); Path filepp = Resources.instance.getOutputPersonsPath(); PrintWriter pwp = MitoUtil.openFileForSequentialWriting(filepp.toAbsolutePath().toString(), false); - pwp.println("id,hhID,hhSize,hhTrips,avTrips"); + pwp.println("id,hhID,hhSize,hhTrips,avTrips,bicycle"); for(MitoHousehold hh: dataSet.getHouseholds().values()) { for (MitoPerson pp : hh.getPersons().values()) { pwp.print(pp.getId()); @@ -74,7 +74,9 @@ public static void writeOutSyntheticPopulationWithTrips(DataSet dataSet) { long hhTrips = Arrays.stream(Purpose.values()).mapToLong(purpose -> hh.getTripsForPurpose(purpose).size()).sum(); pwp.print(hhTrips); pwp.print(","); - pwp.println(hhTrips / hh.getHhSize()); + pwp.print(hhTrips / hh.getHhSize()); + pwp.print(","); + pwp.println(pp.getHasBicycle().get()); } } pwp.close(); diff --git a/src/main/java/de/tum/bgu/msm/modules/plansConverter/MatsimPopulationGenerator.java b/src/main/java/de/tum/bgu/msm/modules/plansConverter/MatsimPopulationGenerator.java index 75d6d8f0..dc4541ca 100644 --- a/src/main/java/de/tum/bgu/msm/modules/plansConverter/MatsimPopulationGenerator.java +++ b/src/main/java/de/tum/bgu/msm/modules/plansConverter/MatsimPopulationGenerator.java @@ -133,7 +133,9 @@ private static String getDestinationActivity(MitoTrip trip){ return "education"; } else if (purpose.equals(Purpose.HBS)){ return "shopping"; - } else if (purpose.equals(Purpose.AIRPORT)) { + } else if (purpose.equals(Purpose.HBR)) { + return "recreation"; + }else if (purpose.equals(Purpose.AIRPORT)) { if (trip.getTripDestination().getZoneId() == Resources.instance.getInt(Properties.AIRPORT_ZONE)) { return "airport"; } else { diff --git a/src/main/java/de/tum/bgu/msm/trafficAssignment/ConfigureMatsim.java b/src/main/java/de/tum/bgu/msm/trafficAssignment/ConfigureMatsim.java index 5f41df70..955f93de 100644 --- a/src/main/java/de/tum/bgu/msm/trafficAssignment/ConfigureMatsim.java +++ b/src/main/java/de/tum/bgu/msm/trafficAssignment/ConfigureMatsim.java @@ -74,6 +74,10 @@ public static Config configureMatsim() { shoppingActivity.setTypicalDuration(1 * 60 * 60); config.planCalcScore().addActivityParams(shoppingActivity); + PlanCalcScoreConfigGroup.ActivityParams recreationActivity = new PlanCalcScoreConfigGroup.ActivityParams("recreation"); + recreationActivity.setTypicalDuration(1 * 60 * 60); + config.planCalcScore().addActivityParams(recreationActivity); + PlanCalcScoreConfigGroup.ActivityParams otherActivity = new PlanCalcScoreConfigGroup.ActivityParams("other"); otherActivity.setTypicalDuration(1 * 60 * 60); config.planCalcScore().addActivityParams(otherActivity); @@ -162,6 +166,10 @@ public static void setDemandSpecificConfigSettings(Config config) { shoppingActivity.setTypicalDuration(1 * 60 * 60); config.planCalcScore().addActivityParams(shoppingActivity); + PlanCalcScoreConfigGroup.ActivityParams recreationActivity = new PlanCalcScoreConfigGroup.ActivityParams("recreation"); + recreationActivity.setTypicalDuration(1 * 60 * 60); + config.planCalcScore().addActivityParams(recreationActivity); + PlanCalcScoreConfigGroup.ActivityParams otherActivity = new PlanCalcScoreConfigGroup.ActivityParams("other"); otherActivity.setTypicalDuration(1 * 60 * 60); config.planCalcScore().addActivityParams(otherActivity); From d6dd362065282e21122317efaa6d7ede862265bb Mon Sep 17 00:00:00 2001 From: Qinnnnn Date: Thu, 7 Jul 2022 14:41:11 +0200 Subject: [PATCH 2/3] Add HBR in matsim population generator --- .../modules/plansConverter/MatsimPopulationGenerator.java | 4 +--- .../de/tum/bgu/msm/trafficAssignment/ConfigureMatsim.java | 8 -------- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/src/main/java/de/tum/bgu/msm/modules/plansConverter/MatsimPopulationGenerator.java b/src/main/java/de/tum/bgu/msm/modules/plansConverter/MatsimPopulationGenerator.java index dc4541ca..75d6d8f0 100644 --- a/src/main/java/de/tum/bgu/msm/modules/plansConverter/MatsimPopulationGenerator.java +++ b/src/main/java/de/tum/bgu/msm/modules/plansConverter/MatsimPopulationGenerator.java @@ -133,9 +133,7 @@ private static String getDestinationActivity(MitoTrip trip){ return "education"; } else if (purpose.equals(Purpose.HBS)){ return "shopping"; - } else if (purpose.equals(Purpose.HBR)) { - return "recreation"; - }else if (purpose.equals(Purpose.AIRPORT)) { + } else if (purpose.equals(Purpose.AIRPORT)) { if (trip.getTripDestination().getZoneId() == Resources.instance.getInt(Properties.AIRPORT_ZONE)) { return "airport"; } else { diff --git a/src/main/java/de/tum/bgu/msm/trafficAssignment/ConfigureMatsim.java b/src/main/java/de/tum/bgu/msm/trafficAssignment/ConfigureMatsim.java index 955f93de..5f41df70 100644 --- a/src/main/java/de/tum/bgu/msm/trafficAssignment/ConfigureMatsim.java +++ b/src/main/java/de/tum/bgu/msm/trafficAssignment/ConfigureMatsim.java @@ -74,10 +74,6 @@ public static Config configureMatsim() { shoppingActivity.setTypicalDuration(1 * 60 * 60); config.planCalcScore().addActivityParams(shoppingActivity); - PlanCalcScoreConfigGroup.ActivityParams recreationActivity = new PlanCalcScoreConfigGroup.ActivityParams("recreation"); - recreationActivity.setTypicalDuration(1 * 60 * 60); - config.planCalcScore().addActivityParams(recreationActivity); - PlanCalcScoreConfigGroup.ActivityParams otherActivity = new PlanCalcScoreConfigGroup.ActivityParams("other"); otherActivity.setTypicalDuration(1 * 60 * 60); config.planCalcScore().addActivityParams(otherActivity); @@ -166,10 +162,6 @@ public static void setDemandSpecificConfigSettings(Config config) { shoppingActivity.setTypicalDuration(1 * 60 * 60); config.planCalcScore().addActivityParams(shoppingActivity); - PlanCalcScoreConfigGroup.ActivityParams recreationActivity = new PlanCalcScoreConfigGroup.ActivityParams("recreation"); - recreationActivity.setTypicalDuration(1 * 60 * 60); - config.planCalcScore().addActivityParams(recreationActivity); - PlanCalcScoreConfigGroup.ActivityParams otherActivity = new PlanCalcScoreConfigGroup.ActivityParams("other"); otherActivity.setTypicalDuration(1 * 60 * 60); config.planCalcScore().addActivityParams(otherActivity); From 16107dc01bb174d83a7f022877fd733d50597171 Mon Sep 17 00:00:00 2001 From: Qinnnnn Date: Thu, 7 Jul 2022 14:41:25 +0200 Subject: [PATCH 3/3] Add HBR in matsim population generator --- src/main/java/de/tum/bgu/msm/io/output/SummarizeData.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/tum/bgu/msm/io/output/SummarizeData.java b/src/main/java/de/tum/bgu/msm/io/output/SummarizeData.java index 895649b8..86fe1299 100644 --- a/src/main/java/de/tum/bgu/msm/io/output/SummarizeData.java +++ b/src/main/java/de/tum/bgu/msm/io/output/SummarizeData.java @@ -39,7 +39,7 @@ public static void writeOutSyntheticPopulationWithTrips(DataSet dataSet) { } pwh.print(hh.getId()); pwh.print(","); - pwh.print(homeZone.getZoneId()); + pwh.print(homeZone); pwh.print(","); pwh.print(hh.getHomeLocation().x); pwh.print(","); @@ -62,7 +62,7 @@ public static void writeOutSyntheticPopulationWithTrips(DataSet dataSet) { LOGGER.info(" Writing person file"); Path filepp = Resources.instance.getOutputPersonsPath(); PrintWriter pwp = MitoUtil.openFileForSequentialWriting(filepp.toAbsolutePath().toString(), false); - pwp.println("id,hhID,hhSize,hhTrips,avTrips,bicycle"); + pwp.println("id,hhID,hhSize,hhTrips,avTrips"); for(MitoHousehold hh: dataSet.getHouseholds().values()) { for (MitoPerson pp : hh.getPersons().values()) { pwp.print(pp.getId()); @@ -74,9 +74,7 @@ public static void writeOutSyntheticPopulationWithTrips(DataSet dataSet) { long hhTrips = Arrays.stream(Purpose.values()).mapToLong(purpose -> hh.getTripsForPurpose(purpose).size()).sum(); pwp.print(hhTrips); pwp.print(","); - pwp.print(hhTrips / hh.getHhSize()); - pwp.print(","); - pwp.println(pp.getHasBicycle().get()); + pwp.println(hhTrips / hh.getHhSize()); } } pwp.close();