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 b29254549dcb049c4f4de1590d1849ac3770ee23..98e58a04aac219f3e9e8db2f74d15723e4aa1489 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 4f0234b740f05f5fea063c066acf3a5266b3ee9c..1ebe1ac23d9b1d34bb0114fb9ddd0c2acc769423 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 9cfbeab96ecb4cd4425017a98d7d3af3d0f1eda8..1826633d7e60046869d4618f88a03d03038a7cf7 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 3dce8f60a7e709150bdd7e120aae95bc8e9c90d8..4e003560a1ad75b4a39bd8f19e6a95a55a6196b7 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"); } }