3
3
import com .google .inject .Injector ;
4
4
import com .google .inject .Key ;
5
5
import com .google .inject .name .Names ;
6
+ import org .eqasim .core .analysis .DistanceUnit ;
6
7
import org .eqasim .core .analysis .PersonAnalysisFilter ;
7
8
import org .eqasim .core .analysis .trips .TripItem ;
8
9
import org .eqasim .core .analysis .trips .TripReaderFromPopulation ;
10
+ import org .eqasim .core .analysis .trips .TripWriter ;
9
11
import org .eqasim .core .misc .InjectorBuilder ;
10
12
import org .eqasim .core .scenario .validation .ScenarioValidator ;
11
13
import org .eqasim .core .simulation .analysis .EqasimAnalysisModule ;
@@ -184,7 +186,11 @@ public void install() {
184
186
cmd .getOption ("base-csv-path" ).ifPresent (s -> {
185
187
//We write the initial trip modes
186
188
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
+ }
188
194
});
189
195
190
196
@@ -202,25 +208,11 @@ public void install() {
202
208
outputPlansPath .ifPresent (s -> new PopulationWriter (population ).write (s ));
203
209
outputCsvPath .ifPresent (s -> {
204
210
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 );
219
215
}
220
- writer .flush ();
221
- writer .close ();
222
- } catch (IOException e ) {
223
- throw new RuntimeException (e );
224
- }
216
+ });
225
217
}
226
218
}
0 commit comments