From 911aaa105e51c110fe3ce475c5ac87fe7a4aae2d Mon Sep 17 00:00:00 2001 From: Gjorgji <g.noveski@yahoo.com> Date: Wed, 29 Mar 2023 16:29:57 +0200 Subject: [PATCH] Added messina parameters, nm_inhabitants_travel demand and updated simulation iteration count --- .../simserver/scripts/ScriptsService.java | 2 ++ .../simulation/SimulationRunService.java | 6 ++--- .../simulation/SimulationWithParamsDTO.java | 24 +++++++++++++++++++ .../TravelDemandGenerationMessina.java | 7 ++++-- 4 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/main/java/si/ijs/urbanite/simserver/scripts/ScriptsService.java b/src/main/java/si/ijs/urbanite/simserver/scripts/ScriptsService.java index b292545..98e58a0 100644 --- a/src/main/java/si/ijs/urbanite/simserver/scripts/ScriptsService.java +++ b/src/main/java/si/ijs/urbanite/simserver/scripts/ScriptsService.java @@ -101,6 +101,7 @@ public class ScriptsService { try { switch (city_name) { case "amsterdam": { + //use TravelDemandAmsterdamCyclistsCut instead TravelDemandAmsterdam.generateTravelDemand(net_id, plan_id); break; } @@ -109,6 +110,7 @@ public class ScriptsService { break; } case "helsinki": { + //use TravelDemandHelsinkiCut instead TravelDemandGenerationHelsinki.generateTravelDemand(net_id, plan_id, paramsDTO); break; } diff --git a/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationRunService.java b/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationRunService.java index 4f0234b..1ebe1ac 100644 --- a/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationRunService.java +++ b/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationRunService.java @@ -136,7 +136,7 @@ public class SimulationRunService { break; } case "messina": { - TravelDemandGenerationMessina.generateTravelDemand(String.valueOf(networkId), String.valueOf(planId)); + TravelDemandGenerationMessina.generateTravelDemand(String.valueOf(networkId), String.valueOf(planId), params); break; } } @@ -381,8 +381,8 @@ public class SimulationRunService { controler.getConfig().controler() .setEventsFileFormats(Collections.singleton(ControlerConfigGroup.EventsFileFormat.xml)); - controler.getConfig().controler().setWriteEventsInterval(1); - controler.getConfig().controler().setLastIteration(1); + controler.getConfig().controler().setWriteEventsInterval(5); + controler.getConfig().controler().setLastIteration(50); controler.getConfig().network().setInputFile(Paths.get(city,"original_input","networks",String.valueOf(networkId),"network.xml").toString()); controler.getConfig().plans().setInputFile(Paths.get(city,"original_input","networks",String.valueOf(networkId),"plans",String.valueOf(planId),"plans.xml").toString()); diff --git a/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationWithParamsDTO.java b/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationWithParamsDTO.java index 9cfbeab..1826633 100644 --- a/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationWithParamsDTO.java +++ b/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationWithParamsDTO.java @@ -176,4 +176,28 @@ public class SimulationWithParamsDTO { all_helsinki_districts.put("Ă–stersundom", 7); return all_helsinki_districts; } + + + //messina districts + public ArrayMap<String, Integer> messina_districts(){ + ArrayMap<String, Integer> all_messina_districts = new ArrayMap<>(); + all_messina_districts.put("1_Circoscrizione", percentage_population_change_1_Circoscrizione); + all_messina_districts.put("2_Circoscrizione", percentage_population_change_2_Circoscrizione); + all_messina_districts.put("3_Circoscrizione", percentage_population_change_3_Circoscrizione); + all_messina_districts.put("4_Circoscrizione", percentage_population_change_4_Circoscrizione); + all_messina_districts.put("5_Circoscrizione", percentage_population_change_5_Circoscrizione); + all_messina_districts.put("6_Circoscrizione", percentage_population_change_6_Circoscrizione); + return all_messina_districts; + } + + public ArrayMap<String, Integer> messina_districts_index(){ + ArrayMap<String, Integer> all_messina_districts = new ArrayMap<>(); + all_messina_districts.put("1_Circoscrizione", 0); + all_messina_districts.put("2_Circoscrizione", 1); + all_messina_districts.put("3_Circoscrizione", 2); + all_messina_districts.put("4_Circoscrizione", 3); + all_messina_districts.put("5_Circoscrizione", 4); + all_messina_districts.put("6_Circoscrizione", 5); + return all_messina_districts; + } } diff --git a/src/main/java/si/ijs/urbanite/simserver/travel_demand/TravelDemandGenerationMessina.java b/src/main/java/si/ijs/urbanite/simserver/travel_demand/TravelDemandGenerationMessina.java index 3dce8f6..4e00356 100644 --- a/src/main/java/si/ijs/urbanite/simserver/travel_demand/TravelDemandGenerationMessina.java +++ b/src/main/java/si/ijs/urbanite/simserver/travel_demand/TravelDemandGenerationMessina.java @@ -12,6 +12,7 @@ import org.matsim.core.scenario.ScenarioUtils; import org.matsim.core.utils.geometry.CoordinateTransformation; import org.matsim.core.utils.geometry.transformations.TransformationFactory; import org.poly2tri.geometry.polygon.PolygonPoint; +import si.ijs.urbanite.simserver.simulation.SimulationWithParamsDTO; import java.io.BufferedReader; import java.io.FileReader; @@ -21,7 +22,9 @@ import java.util.ArrayList; import java.util.Random; public class TravelDemandGenerationMessina { - public static void generateTravelDemand(String net_id, String plan_id) throws IOException { + public static void generateTravelDemand(String net_id, String plan_id, SimulationWithParamsDTO paramsDTO) throws IOException { + + ChangeNumberInhabitants.changeNumberInhabitants("messina",paramsDTO.messina_districts(),paramsDTO.messina_districts_index()); Integer scale_facotr = 10; // 10% of the full population Random random = new Random(); @@ -317,6 +320,6 @@ public class TravelDemandGenerationMessina { } public static void main(String[] args) throws IOException { - generateTravelDemand("2","2"); +// generateTravelDemand("2","2"); } } -- GitLab