package com.github.pfichtner.jrunalyser.base.showcase;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collections;
import com.github.pfichtner.jrunalyser.base.data.jaxb.GpxMarshaller;
import com.github.pfichtner.jrunalyser.base.data.jaxb.GpxUnmarshaller;
import com.github.pfichtner.jrunalyser.base.data.segment.DefaultSegment;
import com.github.pfichtner.jrunalyser.base.data.stat.DefaultStatistics;
import com.github.pfichtner.jrunalyser.base.data.track.DefaultTrack;
import com.github.pfichtner.jrunalyser.base.data.track.Metadata;
import com.github.pfichtner.jrunalyser.base.data.track.Track;
import com.github.pfichtner.jrunalyser.base.data.track.comparator.TrackComparators;
import com.google.common.collect.Lists;
public class MoveToZeroZeroShowcase {
public static void main(String[] args) throws IOException {
String dir = "/home/xck10h6/gpx/";
Track track = loadTrack(new File(dir, "07_04_2013 16_02.gpx"));
Track result = new DefaultTrack(
null,
createMetadataStub(),
track.getWaypoints(), Collections.singletonList(new DefaultSegment(
GpxUnmarshaller.toLinked(Lists
.newArrayList(TrackComparators
.bearingZeroZeroDecorater(
com.github.pfichtner.jrunalyser.base.data.stat.Functions.Tracks.trackpoints)
.apply(track))), null)),
null);
GpxMarshaller.writeTrack(new PrintWriter(System.out), result);
}
private static Metadata createMetadataStub() {
return new Metadata() {
@Override
public Long getTime() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getName() {
// TODO Auto-generated method stub
return null;
}
@Override
public double getMinLongitude() {
// TODO Auto-generated method stub
return 0;
}
@Override
public double getMinLatitude() {
// TODO Auto-generated method stub
return 0;
}
@Override
public double getMaxLongitude() {
// TODO Auto-generated method stub
return 0;
}
@Override
public double getMaxLatitude() {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getDescription() {
return "desc";
}
};
}
private static Track loadTrack(File file) throws IOException {
Track track = GpxUnmarshaller.loadTrack(file);
return new DefaultTrack(track.getId(), track.getMetadata(),
track.getWaypoints(), track.getSegments(),
DefaultStatistics.ofTrack(track));
}
}