Skip to content

Commit 71b8e47

Browse files
tkchouakiTarek Chouaki
and
Tarek Chouaki
authored
feat: extensive csv trip outputs (#172)
Co-authored-by: Tarek Chouaki <[email protected]>
1 parent 7cbe85b commit 71b8e47

File tree

1 file changed

+12
-20
lines changed

1 file changed

+12
-20
lines changed

ile_de_france/src/main/java/org/eqasim/ile_de_france/RunModeChoice.java

+12-20
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
import com.google.inject.Injector;
44
import com.google.inject.Key;
55
import com.google.inject.name.Names;
6+
import org.eqasim.core.analysis.DistanceUnit;
67
import org.eqasim.core.analysis.PersonAnalysisFilter;
78
import org.eqasim.core.analysis.trips.TripItem;
89
import org.eqasim.core.analysis.trips.TripReaderFromPopulation;
10+
import org.eqasim.core.analysis.trips.TripWriter;
911
import org.eqasim.core.misc.InjectorBuilder;
1012
import org.eqasim.core.scenario.validation.ScenarioValidator;
1113
import org.eqasim.core.simulation.analysis.EqasimAnalysisModule;
@@ -184,7 +186,11 @@ public void install() {
184186
cmd.getOption("base-csv-path").ifPresent(s -> {
185187
//We write the initial trip modes
186188
Collection<TripItem> trips = tripReader.readTrips(population);
187-
writeTripModesToCsv(trips, s);
189+
try {
190+
new TripWriter(trips, DistanceUnit.meter, DistanceUnit.meter).write(s);
191+
} catch (IOException e) {
192+
throw new RuntimeException(e);
193+
}
188194
});
189195

190196

@@ -202,25 +208,11 @@ public void install() {
202208
outputPlansPath.ifPresent(s -> new PopulationWriter(population).write(s));
203209
outputCsvPath.ifPresent(s -> {
204210
Collection<TripItem> trips = tripReader.readTrips(population);
205-
writeTripModesToCsv(trips, s);
206-
});
207-
}
208-
209-
public static void writeTripModesToCsv(Collection<TripItem> trips, String outputPath) {
210-
try {
211-
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputPath)));
212-
213-
writer.write( "personId;tripId;mode\n");
214-
writer.flush();
215-
216-
for (TripItem trip : trips) {
217-
writer.write( String.join(";", trip.personId.toString(), trip.personTripId+"", trip.mode) + "\n");
218-
writer.flush();
211+
try {
212+
new TripWriter(trips, DistanceUnit.meter, DistanceUnit.meter).write(s);
213+
} catch (IOException e) {
214+
throw new RuntimeException(e);
219215
}
220-
writer.flush();
221-
writer.close();
222-
} catch (IOException e) {
223-
throw new RuntimeException(e);
224-
}
216+
});
225217
}
226218
}

0 commit comments

Comments
 (0)