diff --git a/analysis/pom.xml b/analysis/pom.xml index 22061bed6..495d31fc9 100644 --- a/analysis/pom.xml +++ b/analysis/pom.xml @@ -215,7 +215,6 @@ ${buildNumber} 13.0 false - 0.10.0-SNAPSHOT 2.9.5 \ No newline at end of file diff --git a/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/MatsimData.java b/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/MatsimData.java index fa0f40733..e08575431 100644 --- a/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/MatsimData.java +++ b/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/MatsimData.java @@ -5,6 +5,7 @@ import de.tum.bgu.msm.container.DataContainer; import de.tum.bgu.msm.data.Zone; import de.tum.bgu.msm.properties.Properties; +import org.matsim.api.core.v01.Scenario; import org.matsim.api.core.v01.TransportMode; import org.matsim.api.core.v01.network.Network; import org.matsim.core.config.Config; @@ -18,6 +19,7 @@ import org.matsim.core.router.util.LeastCostPathCalculatorFactory; import org.matsim.core.router.util.TravelDisutility; import org.matsim.core.router.util.TravelTime; +import org.matsim.core.scenario.ScenarioUtils; import org.matsim.pt.transitSchedule.api.TransitSchedule; import java.util.Collection; @@ -135,8 +137,9 @@ MultiNodePathCalculator createFreeSpeedMultiNodePathCalculator() { TripRouter createTripRouter() { final RoutingModule carRoutingModule; if (config.plansCalcRoute().isInsertingAccessEgressWalk()) { + Scenario scenario = ScenarioUtils.createScenario(config); carRoutingModule = DefaultRoutingModules.createAccessEgressNetworkRouter( - TransportMode.car, PopulationUtils.getFactory(), carNetwork, leastCostPathCalculatorFactory.createPathCalculator(carNetwork, travelDisutility, travelTime), config.plansCalcRoute()); + TransportMode.car, leastCostPathCalculatorFactory.createPathCalculator(carNetwork, travelDisutility, travelTime), scenario, carNetwork, DefaultRoutingModules.createTeleportationRouter(TransportMode.walk, scenario, config.plansCalcRoute().getOrCreateModeRoutingParams(TransportMode.walk))); } else { carRoutingModule = DefaultRoutingModules.createPureNetworkRouter( TransportMode.car, PopulationUtils.getFactory(), carNetwork, leastCostPathCalculatorFactory.createPathCalculator(carNetwork, travelDisutility, travelTime)); @@ -145,7 +148,7 @@ TripRouter createTripRouter() { if (schedule != null && config.transit().isUseTransit()) { final RoutingModule teleportationRoutingModule = DefaultRoutingModules.createTeleportationRouter( - TransportMode.walk, PopulationUtils.getFactory(), config.plansCalcRoute().getOrCreateModeRoutingParams(TransportMode.walk)); + TransportMode.walk, ScenarioUtils.createScenario(config), config.plansCalcRoute().getOrCreateModeRoutingParams(TransportMode.walk)); final SwissRailRaptor swissRailRaptor = createSwissRailRaptor(RaptorStaticConfig.RaptorOptimization.OneToOneRouting); ptRoutingModule = new SwissRailRaptorRoutingModule(swissRailRaptor, schedule, ptNetwork, teleportationRoutingModule); } else { @@ -176,7 +179,7 @@ LeastCostPathCalculator createLeastCostPathCalculator() { RoutingModule getTeleportationRouter(String mode) { return DefaultRoutingModules.createTeleportationRouter( - mode, PopulationUtils.getFactory(), config.plansCalcRoute().getOrCreateModeRoutingParams(mode)); + mode, ScenarioUtils.createScenario(config), config.plansCalcRoute().getOrCreateModeRoutingParams(mode)); } SwissRailRaptorData getRaptorData(RaptorStaticConfig.RaptorOptimization optimization) { diff --git a/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/MatsimSkimCreator.java b/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/MatsimSkimCreator.java index 27af1ba90..1d0697296 100644 --- a/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/MatsimSkimCreator.java +++ b/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/MatsimSkimCreator.java @@ -186,7 +186,7 @@ public IndexedDoubleMatrix2D createTeleportedSkim(Collection zones, String if (!planElements.isEmpty()) { final Leg lastLeg = (Leg) planElements.get(planElements.size() - 1); - arrivalTime = lastLeg.getDepartureTime() + lastLeg.getTravelTime(); + arrivalTime = lastLeg.getDepartureTime().seconds() + lastLeg.getTravelTime().seconds(); } double time = arrivalTime - peakHour_s; diff --git a/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/MatsimTravelTimesAndCosts.java b/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/MatsimTravelTimesAndCosts.java index ce63890d6..4e2f272c8 100644 --- a/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/MatsimTravelTimesAndCosts.java +++ b/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/MatsimTravelTimesAndCosts.java @@ -130,7 +130,7 @@ public double getTravelTime(Location origin, Location destination, double timeOf if (!planElements.isEmpty()) { final Leg lastLeg = (Leg) planElements.get(planElements.size() - 1); - arrivalTime = lastLeg.getDepartureTime() + lastLeg.getTravelTime(); + arrivalTime = lastLeg.getDepartureTime().seconds() + lastLeg.getTravelTime().seconds(); } double time = arrivalTime - timeOfDay_s; @@ -157,10 +157,10 @@ public double getGeneralizedTravelCosts(Location origin, Location destination, d } else if (routingModule instanceof SwissRailRaptorRoutingModule || routingModule instanceof FreespeedFactorRoutingModule) { for (PlanElement pe : planElements) { if (pe instanceof Leg) { - double time = ((Leg) pe).getTravelTime(); + double time = ((Leg) pe).getTravelTime().orElse(-1); // overrides individual parameters per person; use default scoring parameters - if (Time.getUndefinedTime() != time) { + if (time >= 0) { utility += time * (cnScoringGroup.getModes().get(mode).getMarginalUtilityOfTraveling() - cnScoringGroup.getPerforming_utils_hr()) / 3600; } Double dist = ((Leg) pe).getRoute().getDistance(); diff --git a/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/accessibility/AccessibilityModule.java b/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/accessibility/AccessibilityModule.java index d33d120ab..6f4a90edc 100644 --- a/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/accessibility/AccessibilityModule.java +++ b/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/accessibility/AccessibilityModule.java @@ -13,9 +13,7 @@ import org.matsim.api.core.v01.Scenario; import org.matsim.api.core.v01.network.Network; import org.matsim.api.core.v01.network.Node; -import org.matsim.contrib.accessibility.AccessibilityAttributes; import org.matsim.contrib.accessibility.AccessibilityConfigGroup; -import org.matsim.contrib.accessibility.interfaces.FacilityDataExchangeInterface; import org.matsim.core.config.ConfigUtils; import org.matsim.core.config.groups.FacilitiesConfigGroup; import org.matsim.core.controler.Controler; @@ -68,7 +66,8 @@ public void prepareAccessibility(Scenario scenario, Controler controler) { final ActivityFacilities opportunities = scenario.getActivityFacilities(); int i = 0; for (ActivityFacility activityFacility : zoneRepresentativeCoords.getFacilities().values()) { - activityFacility.getAttributes().putAttribute(AccessibilityAttributes.WEIGHT, zonePopulationMap.get(activityFacility.getId())); + //TODO: re-implement accessibility module matsim +// activityFacility.getAttributes().putAttribute(AccessibilityAttributes.WEIGHT, zonePopulationMap.get(activityFacility.getId())); opportunities.addActivityFacility(activityFacility); i++; } @@ -108,7 +107,8 @@ public void prepareAccessibility(Scenario scenario, Controler controler) { // Accessibility module org.matsim.contrib.accessibility.AccessibilityModule module = new org.matsim.contrib.accessibility.AccessibilityModule(); - module.addFacilityDataExchangeListener((FacilityDataExchangeInterface) dataContainer.getAccessibility()); + //TODO: re-implement accessiblity module +// module.addFacilityDataExchangeListener((FacilityDataExchangeInterface) dataContainer.getAccessibility()); controler.addOverridingModule(module); // End accessibility module } diff --git a/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/accessibility/MatsimAccessibility.java b/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/accessibility/MatsimAccessibility.java index e2b9c54fa..b4b93b89a 100644 --- a/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/accessibility/MatsimAccessibility.java +++ b/extensions/matsim2silo/src/main/java/de/tum/bgu/msm/matsim/accessibility/MatsimAccessibility.java @@ -8,7 +8,7 @@ import org.apache.log4j.Logger; import org.jfree.util.Log; import org.matsim.api.core.v01.Id; -import org.matsim.contrib.accessibility.interfaces.FacilityDataExchangeInterface; +//import org.matsim.contrib.accessibility.interfaces.FacilityDataExchangeInterface; import org.matsim.core.utils.collections.Tuple; import org.matsim.facilities.ActivityFacility; @@ -20,7 +20,7 @@ /** * @author dziemke **/ -public class MatsimAccessibility implements Accessibility, FacilityDataExchangeInterface { +public class MatsimAccessibility implements Accessibility { private static final Logger logger = Logger.getLogger(MatsimAccessibility.class); private final GeoData geoData; @@ -36,14 +36,14 @@ public MatsimAccessibility(GeoData geoData) { } // FacilityDataExchangeInterface methods - @Override +// @Override public void setFacilityAccessibilities(ActivityFacility measurePoint, Double timeOfDay, Map accessibilities){ if (timeOfDay == 8 * 60. * 60.) { // TODO Find better way for this check accessibilitiesMap.put(new Tuple(measurePoint, timeOfDay), accessibilities); } } - @Override +// @Override public void finish() { } // Accessibility interface methods diff --git a/extensions/pom.xml b/extensions/pom.xml index 058f1cc32..77d4e183c 100644 --- a/extensions/pom.xml +++ b/extensions/pom.xml @@ -219,7 +219,7 @@ UTF-8 false 2.9.5 - 11.0 + 12.0 diff --git a/siloCore/pom.xml b/siloCore/pom.xml index 660b12ebf..2b5de2aa5 100644 --- a/siloCore/pom.xml +++ b/siloCore/pom.xml @@ -375,7 +375,7 @@ com.github.msmobility mito - v28102020 + master javax.media @@ -416,7 +416,7 @@ ${buildNumber} 20.2 false - 11.0 + 12.0 1.8 1.8 1.8 diff --git a/siloCore/src/main/java/de/tum/bgu/msm/utils/SiloUtil.java b/siloCore/src/main/java/de/tum/bgu/msm/utils/SiloUtil.java index 04d86e0e2..8317db8ef 100644 --- a/siloCore/src/main/java/de/tum/bgu/msm/utils/SiloUtil.java +++ b/siloCore/src/main/java/de/tum/bgu/msm/utils/SiloUtil.java @@ -12,10 +12,7 @@ import omx.OmxMatrix; import omx.hdf5.OmxHdf5Datatype; import org.apache.commons.lang3.SystemUtils; -import org.apache.log4j.Appender; -import org.apache.log4j.FileAppender; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; +import org.apache.log4j.*; import org.matsim.core.controler.Controler; import java.io.*; @@ -72,10 +69,10 @@ public static Properties siloInitialization(String propertiesPath) { */ private static void initLogging(String outputDirectory) throws IOException { Logger root = Logger.getRootLogger(); - FileAppender appender = new FileAppender(Controler.DEFAULTLOG4JLAYOUT, outputDirectory + System.getProperty("file.separator")+ LOG_FILE_NAME, false); + FileAppender appender = new FileAppender(new SimpleLayout(), outputDirectory + System.getProperty("file.separator")+ LOG_FILE_NAME, false); appender.setName(LOG_FILE_NAME); root.addAppender(appender); - FileAppender warnErrorAppender = new FileAppender(Controler.DEFAULTLOG4JLAYOUT, outputDirectory + System.getProperty("file.separator")+ LOG_WARN_FILE_NAME, false); + FileAppender warnErrorAppender = new FileAppender(new SimpleLayout(), outputDirectory + System.getProperty("file.separator")+ LOG_WARN_FILE_NAME, false); warnErrorAppender.setName(LOG_WARN_FILE_NAME); warnErrorAppender.setThreshold(Level.WARN); root.addAppender(warnErrorAppender); diff --git a/synthetic-population/pom.xml b/synthetic-population/pom.xml index 9893b4e85..4e50ba589 100644 --- a/synthetic-population/pom.xml +++ b/synthetic-population/pom.xml @@ -227,7 +227,6 @@ ${buildNumber} 13.0 false - 0.10.0-SNAPSHOT 2.9.5 \ No newline at end of file diff --git a/useCases/munich/src/test/java/de/tum/bgu/msm/transportModel/matsim/SBBTest.java b/useCases/munich/src/test/java/de/tum/bgu/msm/transportModel/matsim/SBBTest.java index bb1ab5c73..cc586723f 100644 --- a/useCases/munich/src/test/java/de/tum/bgu/msm/transportModel/matsim/SBBTest.java +++ b/useCases/munich/src/test/java/de/tum/bgu/msm/transportModel/matsim/SBBTest.java @@ -1,37 +1,28 @@ package de.tum.bgu.msm.transportModel.matsim; import ch.sbb.matsim.routing.pt.raptor.*; -import com.google.common.collect.Lists; import org.junit.Ignore; import org.junit.Test; import org.matsim.api.core.v01.Coord; import org.matsim.api.core.v01.Id; import org.matsim.api.core.v01.Scenario; import org.matsim.api.core.v01.TransportMode; -import org.matsim.api.core.v01.population.Activity; -import org.matsim.api.core.v01.population.Leg; -import org.matsim.api.core.v01.population.PlanElement; import org.matsim.api.core.v01.population.Population; import org.matsim.core.config.Config; import org.matsim.core.config.ConfigUtils; -import org.matsim.core.controler.Controler; -import org.matsim.core.controler.OutputDirectoryHierarchy; import org.matsim.core.network.io.MatsimNetworkReader; import org.matsim.core.population.PopulationUtils; -import org.matsim.core.router.*; -import org.matsim.core.router.util.LeastCostPathCalculator; +import org.matsim.core.router.RoutingModule; +import org.matsim.core.router.TeleportationRoutingModule; +import org.matsim.core.router.TripRouter; import org.matsim.core.scenario.ScenarioUtils; import org.matsim.facilities.ActivityFacilitiesFactory; import org.matsim.facilities.ActivityFacilitiesFactoryImpl; import org.matsim.facilities.ActivityFacility; import org.matsim.facilities.Facility; -import org.matsim.pt.PtConstants; import org.matsim.pt.transitSchedule.api.TransitScheduleReader; import org.matsim.pt.transitSchedule.api.TransitStopFacility; -import org.matsim.vehicles.VehicleReaderV1; -import javax.inject.Provider; -import java.util.List; import java.util.Map; public class SBBTest { @@ -91,10 +82,9 @@ public void test() { TeleportationRoutingModule teleportationRoutingModule = new TeleportationRoutingModule( TransportMode.transit_walk, - PopulationUtils.getFactory(), + ScenarioUtils.createScenario(config), 1.4, 1.3); - RaptorStaticConfig raptorConfig = RaptorUtils.createStaticConfig(config); raptorConfig.setOptimization(RaptorStaticConfig.RaptorOptimization.OneToAllRouting); SwissRailRaptorData raptorData = SwissRailRaptorData.create(scenario.getTransitSchedule(), raptorConfig, scenario.getNetwork()); diff --git a/useCases/pom.xml b/useCases/pom.xml index 0db07453e..8d3488b52 100644 --- a/useCases/pom.xml +++ b/useCases/pom.xml @@ -242,6 +242,6 @@ ${buildNumber} false 2.9.5 - 11.0 + 12.0