diff --git a/pom.xml b/pom.xml
index 1e3edf3..f795425 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
de.stklcode.pubtrans
juraclient
- 1.0.0
+ 1.1.0-SNAPSHOT
UTF-8
diff --git a/src/main/java/de/stklcode/pubtrans/ura/UraClient.java b/src/main/java/de/stklcode/pubtrans/ura/UraClient.java
index 39f7cc1..b59aad1 100644
--- a/src/main/java/de/stklcode/pubtrans/ura/UraClient.java
+++ b/src/main/java/de/stklcode/pubtrans/ura/UraClient.java
@@ -31,11 +31,11 @@ import java.util.List;
/**
* Client for URA based public transport API.
*
- * @author Stefan Kalscheuer [stefan@stklcode.de]
+ * @author Stefan Kalscheuer
*/
public class UraClient {
- private static final String DEFAULT_INSTANT_URL = "/interfaces/ura/instant_V2";
- private static final String DEFAULT_STREAM_URL = "/interfaces/ura/stream_V2";
+ private static final String DEFAULT_INSTANT_URL = "/interfaces/ura/instant_V1";
+ private static final String DEFAULT_STREAM_URL = "/interfaces/ura/stream_V1";
private static final String PAR_STOP_ID = "StopID";
private static final String PAR_STOP_NAME = "StopPointName";
@@ -54,7 +54,7 @@ public class UraClient {
private static final Integer RES_TYPE_STOP = 0;
private static final Integer RES_TYPE_PREDICTION = 1;
-
+ private static final Integer RES_TYPE_URA_VERSION = 4;
private static final String[] REQUEST_STOP = {PAR_STOP_NAME, PAR_STOP_ID, PAR_STOP_INDICATOR, PAR_STOP_STATE, PAR_GEOLOCATION};
private static final String[] REQUEST_TRIP = {PAR_STOP_NAME, PAR_STOP_ID, PAR_STOP_INDICATOR, PAR_STOP_STATE, PAR_GEOLOCATION,
@@ -181,12 +181,17 @@ public class UraClient {
List trips = new ArrayList<>();
try (InputStream is = requestInstant(REQUEST_TRIP, query.stopIDs, query.stopNames, query.lineIDs, query.lineNames, query.direction);
BufferedReader br = new BufferedReader(new InputStreamReader(is))) {
+ String version = null;
String line;
while ((line = br.readLine()) != null && (limit == null || trips.size() < limit)) {
List l = mapper.readValue(line, List.class);
/* Check if result exists and has correct response type */
- if (l != null && l.size() > 0 && l.get(0).equals(RES_TYPE_PREDICTION))
- trips.add(new Trip(l));
+ if (l != null && l.size() > 0) {
+ if (l.get(0).equals(RES_TYPE_URA_VERSION))
+ version = l.get(1).toString();
+ else if (l.get(0).equals(RES_TYPE_PREDICTION))
+ trips.add(new Trip(l, version));
+ }
}
} catch (IOException e) {
e.printStackTrace();
@@ -215,6 +220,7 @@ public class UraClient {
try (InputStream is = requestInstant(REQUEST_STOP, query.stopIDs, query.stopNames, query.lineIDs, query.lineNames, query.direction);
BufferedReader br = new BufferedReader(new InputStreamReader(is))) {
String line;
+ String version;
while ((line = br.readLine()) != null) {
List l = mapper.readValue(line, List.class);
/* Check if result exists and has correct response type */
diff --git a/src/main/java/de/stklcode/pubtrans/ura/model/Stop.java b/src/main/java/de/stklcode/pubtrans/ura/model/Stop.java
index 444fd46..060476a 100644
--- a/src/main/java/de/stklcode/pubtrans/ura/model/Stop.java
+++ b/src/main/java/de/stklcode/pubtrans/ura/model/Stop.java
@@ -22,7 +22,7 @@ import java.util.List;
/**
* Entity for a single stop.
*
- * @author Stefan Kalscheuer [stefan@stklcode.de]
+ * @author Stefan Kalscheuer
*/
public class Stop {
private final String id;
@@ -55,6 +55,8 @@ public class Stop {
throw new IOException("Field 2 not of expected type String, found " + raw.get(2).getClass().getSimpleName());
if (raw.get(3) instanceof String)
indicator = (String)raw.get(3);
+ else if (raw.get(3) == null)
+ indicator = null;
else
throw new IOException("Field 3 not of expected type String, found " + raw.get(3).getClass().getSimpleName());
if (raw.get(4) instanceof Integer)
diff --git a/src/main/java/de/stklcode/pubtrans/ura/model/Trip.java b/src/main/java/de/stklcode/pubtrans/ura/model/Trip.java
index 379cad3..a9dd7c2 100644
--- a/src/main/java/de/stklcode/pubtrans/ura/model/Trip.java
+++ b/src/main/java/de/stklcode/pubtrans/ura/model/Trip.java
@@ -22,7 +22,7 @@ import java.util.List;
/**
* Entity for a single trip.
*
- * @author Stefan Kalscheuer [stefan@stklcode.de]
+ * @author Stefan Kalscheuer
*/
public class Trip {
private final Stop stop;
@@ -56,6 +56,10 @@ public class Trip {
}
public Trip(List raw) throws IOException {
+ this(raw, null);
+ }
+
+ public Trip(List raw, String version) throws IOException {
if (raw == null || raw.size() < 16)
throw new IOException("Invalid number of fields");
@@ -73,8 +77,11 @@ public class Trip {
lineName = (String)raw.get(9);
else
throw new IOException("Field 9 not of expected type String, found " + raw.get(9).getClass().getSimpleName());
- if (raw.get(10) instanceof Integer)
- directionID = (Integer)raw.get(10);
+ if (raw.get(10) instanceof Integer) {
+ directionID = (Integer) raw.get(10);
+ if (directionID < 0 || directionID > 2)
+ throw new IOException("Direction out of range. Expected 1 or 2, found " + directionID);
+ }
else
throw new IOException("Field 10 not of expected type Integer, found " + raw.get(10).getClass().getSimpleName());
if (raw.get(11) instanceof String)
@@ -85,14 +92,15 @@ public class Trip {
destinationText = (String)raw.get(12);
else
throw new IOException("Field 12 not of expected type String, found " + raw.get(12).getClass().getSimpleName());
- if (raw.get(13) instanceof String)
- vehicleID = (String)raw.get(13);
+ /* TFL and ASEAG deliver different types with the same API version, so this field is a little more tolerant */
+ if (raw.get(13) instanceof String || raw.get(13) instanceof Integer || raw.get(13) instanceof Long)
+ vehicleID = raw.get(13).toString();
else
- throw new IOException("Field 13 not of expected type String, found " + raw.get(13).getClass().getSimpleName());
- if (raw.get(14) instanceof String)
- id = (String)raw.get(14);
+ throw new IOException("Field 13 not of expected type String/Integer/Long, found " + raw.get(13).getClass().getSimpleName());
+ if (raw.get(14) instanceof String || raw.get(14) instanceof Integer || raw.get(14) instanceof Long)
+ id = raw.get(14).toString();
else
- throw new IOException("Field 14 not of expected type String, found " + raw.get(14).getClass().getSimpleName());
+ throw new IOException("Field 14 not of expected type String/Integer/Long, found " + raw.get(14).getClass().getSimpleName());
if (raw.get(15) instanceof Long)
estimatedTime = (Long)raw.get(15);
else
diff --git a/src/test/java/de/stklcode/pubtrans/ura/UraClientTest.java b/src/test/java/de/stklcode/pubtrans/ura/UraClientTest.java
index ee82654..f6746f4 100644
--- a/src/test/java/de/stklcode/pubtrans/ura/UraClientTest.java
+++ b/src/test/java/de/stklcode/pubtrans/ura/UraClientTest.java
@@ -36,9 +36,10 @@ import static org.hamcrest.core.Is.is;
/**
* Unit test for the URA Client.
- * Tests run against mocked data collected from hte ASEAG API (http://ivu.aseag.de/)
+ * Tests run against mocked data collected from ASEAG API (http://ivu.aseag.de) and
+ * TFL API (http://http://countdown.api.tfl.gov.uk)
*
- * @author Stefan Kalscheuer [stefan@stklcode.de]
+ * @author Stefan Kalscheuer
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest({ UraClient.class, URL.class })
@@ -94,7 +95,7 @@ public class UraClientTest {
/* Mock the HTTP call */
URL mockURL = PowerMockito.mock(URL.class);
PowerMockito.whenNew(URL.class).withAnyArguments().thenReturn(mockURL);
- PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_trips_all.txt"));
+ PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_V1_trips_all.txt"));
/* Get trips without filters and verify some values */
List trips = new UraClient("mocked").getTrips();
@@ -110,8 +111,24 @@ public class UraClientTest {
assertThat(trips.get(8).getVisitID(), is(30));
assertThat(trips.get(9).getStop().getId(), is("100002"));
+ /* Repeat test for API V2 */
+ PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_V2_trips_all.txt"));
+ /* Get trips without filters and verify some values */
+ trips = new UraClient("mocked").getTrips();
+ assertThat(trips, hasSize(10));
+ assertThat(trips.get(0).getId(), is("27000165015001"));
+ assertThat(trips.get(1).getLineID(), is("55"));
+ assertThat(trips.get(2).getLineName(), is("28"));;
+ assertThat(trips.get(3).getDirectionID(), is(1));
+ assertThat(trips.get(4).getDestinationName(), is("Verlautenheide Endstr."));
+ assertThat(trips.get(5).getDestinationText(), is("Aachen Bushof"));
+ assertThat(trips.get(6).getVehicleID(), is("247"));
+ assertThat(trips.get(7).getEstimatedTime(), is(1482854580000L));
+ assertThat(trips.get(8).getVisitID(), is(30));
+ assertThat(trips.get(9).getStop().getId(), is("100002"));
+
/* Get limited number of trips */
- PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_trips_all.txt"));
+ PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_V1_trips_all.txt"));
trips = new UraClient("mocked").getTrips(5);
assertThat(trips, hasSize(5));
@@ -132,7 +149,7 @@ public class UraClientTest {
/* Mock the HTTP call */
URL mockURL = PowerMockito.mock(URL.class);
PowerMockito.whenNew(URL.class).withAnyArguments().thenReturn(mockURL);
- PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_trips_stop.txt"));
+ PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_V1_trips_stop.txt"));
/* Get trips for stop ID 100000 (Aachen Bushof) and verify some values */
List trips = new UraClient("mocked")
@@ -146,7 +163,7 @@ public class UraClientTest {
assertThat(trips.get(3).getStop().getIndicator(), is("H.15"));
/* Get trips for stop name "Uniklinik" and verify some values */
- PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_trips_stop_name.txt"));
+ PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_V1_trips_stop_name.txt"));
trips = new UraClient("mocked")
.forStopsByName("Uniklinik")
.getTrips();
@@ -163,7 +180,7 @@ public class UraClientTest {
/* Mock the HTTP call */
URL mockURL = PowerMockito.mock(URL.class);
PowerMockito.whenNew(URL.class).withAnyArguments().thenReturn(mockURL);
- PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_trips_line.txt"));
+ PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_V1_trips_line.txt"));
/* Get trips for line ID 3 and verify some values */
List trips = new UraClient("mocked")
@@ -177,7 +194,7 @@ public class UraClientTest {
assertThat(trips.get(3).getStop().getIndicator(), is("H.4 (Pontwall)"));
/* Get trips for line name "3.A" and verify some values */
- PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_trips_line_name.txt"));
+ PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_V1_trips_line_name.txt"));
trips = new UraClient("mocked")
.forLinesByName("3.A")
.getTrips();
@@ -189,24 +206,24 @@ public class UraClientTest {
assertThat(trips.get(3).getStop().getName(), is("Aachen Gartenstraße"));
/* Get trips for line 3 with direction 1 and verify some values */
- PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_trips_line_direction.txt"));
+ PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_V1_trips_line_direction.txt"));
trips = new UraClient("mocked")
- .forLines("3")
- .forDirection(1)
+ .forLines("412")
+ .forDirection(2)
.getTrips();
assertThat(trips, hasSize(10));
- assertThat(trips.stream().filter(t -> !t.getLineID().equals("3")).findAny(), is(Optional.empty()));
- assertThat(trips.stream().filter(t -> !t.getDirectionID().equals(1)).findAny(), is(Optional.empty()));
+ assertThat(trips.stream().filter(t -> !t.getLineID().equals("412")).findAny(), is(Optional.empty()));
+ assertThat(trips.stream().filter(t -> !t.getDirectionID().equals(2)).findAny(), is(Optional.empty()));
/* Test lineID and direction in different order */
- PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_trips_line_direction.txt"));
+ PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_V1_trips_line_direction.txt"));
trips = new UraClient("mocked")
- .forDirection(1)
- .forLines("3")
+ .forDirection(2)
+ .forLines("412")
.getTrips();
assertThat(trips, hasSize(10));
- assertThat(trips.stream().filter(t -> !t.getLineID().equals("3")).findAny(), is(Optional.empty()));
- assertThat(trips.stream().filter(t -> !t.getDirectionID().equals(1)).findAny(), is(Optional.empty()));
+ assertThat(trips.stream().filter(t -> !t.getLineID().equals("412")).findAny(), is(Optional.empty()));
+ assertThat(trips.stream().filter(t -> !t.getDirectionID().equals(2)).findAny(), is(Optional.empty()));
}
@Test
@@ -214,7 +231,7 @@ public class UraClientTest {
/* Mock the HTTP call */
URL mockURL = PowerMockito.mock(URL.class);
PowerMockito.whenNew(URL.class).withAnyArguments().thenReturn(mockURL);
- PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_trips_stop_line.txt"));
+ PowerMockito.when(mockURL.openStream()).thenReturn(getClass().getResourceAsStream("instant_V1_trips_stop_line.txt"));
/* Get trips for line ID 25 and 25 at stop 100000 and verify some values */
List trips = new UraClient("mocked")
diff --git a/src/test/java/de/stklcode/pubtrans/ura/model/StopTest.java b/src/test/java/de/stklcode/pubtrans/ura/model/StopTest.java
index f962ccd..f5c5880 100644
--- a/src/test/java/de/stklcode/pubtrans/ura/model/StopTest.java
+++ b/src/test/java/de/stklcode/pubtrans/ura/model/StopTest.java
@@ -31,7 +31,7 @@ import static org.junit.Assert.fail;
/**
* Unit test for the Stop metamodel.
*
- * @author Stefan Kalscheuer [stefan@stklcode.de]
+ * @author Stefan Kalscheuer
*/
public class StopTest {
@Test
diff --git a/src/test/java/de/stklcode/pubtrans/ura/model/TripTest.java b/src/test/java/de/stklcode/pubtrans/ura/model/TripTest.java
index a93e7d5..e3fa8ff 100644
--- a/src/test/java/de/stklcode/pubtrans/ura/model/TripTest.java
+++ b/src/test/java/de/stklcode/pubtrans/ura/model/TripTest.java
@@ -31,7 +31,7 @@ import static org.junit.Assert.fail;
/**
* Unit test for the Trip metamodel.
*
- * @author Stefan Kalscheuer [stefan@stklcode.de]
+ * @author Stefan Kalscheuer
*/
public class TripTest {
@Test
@@ -73,7 +73,7 @@ public class TripTest {
raw.add("destination name");
raw.add("destination text");
raw.add("vehicle");
- raw.add("id");
+ raw.add(9876543210L);
raw.add(123456789123456789L);
try {
@@ -91,12 +91,22 @@ public class TripTest {
assertThat(trip.getDestinationName(), is("destination name"));
assertThat(trip.getDestinationText(), is("destination text"));
assertThat(trip.getVehicleID(), is("vehicle"));
- assertThat(trip.getId(), is("id"));
+ assertThat(trip.getId(), is("9876543210"));
assertThat(trip.getEstimatedTime(), is(123456789123456789L));
} catch (IOException e) {
fail("Creation of Trip from valid list failed: " + e.getMessage());
}
+ /* Test with V2 style list */
+ raw.set(14, "id");
+ try {
+ Trip trip = new Trip(raw, "2.0");
+ assertThat(trip.getId(), is("id"));
+ } catch (IOException e) {
+ fail("Creation of Trip from valid list failed: " + e.getMessage());
+ }
+ raw.set(14, 9876543210L);
+
/* Excess elements should be ignored */
raw.add("foo");
try {
@@ -180,7 +190,7 @@ public class TripTest {
invalid = new ArrayList<>(raw);
invalid.remove(14);
- invalid.add(14, 123);
+ invalid.add(14, 1.2);
try {
new Trip(invalid);
fail("Creation of Trip with invalid id field successfull");
@@ -206,5 +216,14 @@ public class TripTest {
} catch (Exception e) {
assertThat(e, is(instanceOf(IOException.class)));
}
+
+ invalid = new ArrayList<>(raw);
+ invalid.set(10, 3);
+ try {
+ new Trip(invalid);
+ fail("Creation of Trip with direction ID 3 successfull");
+ } catch (Exception e) {
+ assertThat(e, is(instanceOf(IOException.class)));
+ }
}
}
diff --git a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_all.txt b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_all.txt
similarity index 100%
rename from src/test/resources/de/stklcode/pubtrans/ura/instant_trips_all.txt
rename to src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_all.txt
diff --git a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_line.txt b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_line.txt
similarity index 50%
rename from src/test/resources/de/stklcode/pubtrans/ura/instant_trips_line.txt
rename to src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_line.txt
index d10daaa..2280776 100644
--- a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_line.txt
+++ b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_line.txt
@@ -1,11 +1,11 @@
[4,"2.0",1482854839773]
-[1,"Seffenter Weg","100643","",0,50.7820069,6.0644119,19,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","317","27000154004001",1482855824000]
-[1,"Normaluhr","100009","H.5 (Wilhelmstr.)",0,50.7680616,6.094883,9,"3","3.A",1,"Ponttor-Unikl.-Schanz","Ponttor-Unikl.-Schanz","226","27000134003001",1482855960000]
-[1,"Uniklinik","100600","H.1",0,50.7756388,6.04425,5,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","226","27000134002001",1482854820000]
-[1,"Ponttor","100005","H.4 (Pontwall)",0,50.7808611,6.0779722,15,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","226","27000134003001",1482856500000]
-[1,"Stiewistraße","100630","",0,50.78029,6.05058,25,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","226","27000134004001",1482859800000]
-[1,"Misereor","100010","",0,50.7685583,6.0833027,7,"3","3.A",1,"Hbf.-Ponttor-Uniklinik","Hbf.-Ponttor-Uniklinik","0","27000134005001",1482861060000]
-[1,"Wendlingweg","100646","",0,50.7773216,6.0504405,26,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","338","27000128004001",1482858060000]
-[1,"Hörn Brücke","100627","",0,50.7871194,6.051875,22,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","0","27000141015001",1482861420000]
-[1,"Forckenbeckstraße","100628","",0,50.78534,6.05054,23,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","338","27000128003001",1482855127000]
-[1,"Hörn Brücke","100627","",0,50.7871194,6.051875,22,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","338","27000128003001",1482855067000]
+[1,"Seffenter Weg","100643","",0,50.7820069,6.0644119,19,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","317",27000154004001,1482855824000]
+[1,"Normaluhr","100009","H.5 (Wilhelmstr.)",0,50.7680616,6.094883,9,"3","3.A",1,"Ponttor-Unikl.-Schanz","Ponttor-Unikl.-Schanz","226",27000134003001,1482855960000]
+[1,"Uniklinik","100600","H.1",0,50.7756388,6.04425,5,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","226",27000134002001,1482854820000]
+[1,"Ponttor","100005","H.4 (Pontwall)",0,50.7808611,6.0779722,15,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","226",27000134003001,1482856500000]
+[1,"Stiewistraße","100630","",0,50.78029,6.05058,25,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","226",27000134004001,1482859800000]
+[1,"Misereor","100010","",0,50.7685583,6.0833027,7,"3","3.A",1,"Hbf.-Ponttor-Uniklinik","Hbf.-Ponttor-Uniklinik","0",27000134005001,1482861060000]
+[1,"Wendlingweg","100646","",0,50.7773216,6.0504405,26,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","338",27000128004001,1482858060000]
+[1,"Hörn Brücke","100627","",0,50.7871194,6.051875,22,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","0",27000141015001,1482861420000]
+[1,"Forckenbeckstraße","100628","",0,50.78534,6.05054,23,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","338",27000128003001,1482855127000]
+[1,"Hörn Brücke","100627","",0,50.7871194,6.051875,22,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","338",27000128003001,1482855067000]
diff --git a/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_line_direction.txt b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_line_direction.txt
new file mode 100644
index 0000000..4bb7eaf
--- /dev/null
+++ b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_line_direction.txt
@@ -0,0 +1,11 @@
+[4,"1.0",1483806258560]
+[1,"Lower Barn Road","16637",null,0,51.330106,-0.093099,1,"412","412",2,"Purley","Purley",3469,653171,1483807114000]
+[1,"Sanderstead Plantation","23493",null,0,51.339851,-0.069809,1,"412","412",2,"Purley","Purley",2161,653155,1483807649000]
+[1,"Christchurch Road / Purley Hospital","10825","E",0,51.340668,-0.113337,1,"412","412",2,"Purley","Purley",3146,653175,1483806540000]
+[1,"Ridge Langley","20396",null,0,51.346848,-0.072013,1,"412","412",2,"Purley","Purley",2161,653155,1483807260000]
+[1,"Purley / Downlands Precinct","4396","D",0,51.339165,-0.116083,1,"412","412",2,"Purley","Purley",3469,653171,1483807453000]
+[1,"Coombe Road","10829","W",0,51.368209,-0.099175,1,"412","412",2,"Purley","Purley",2161,653155,1483806733000]
+[1,"Ruskin Parade / South Croydon Station","4415","F",0,51.363068,-0.097132,1,"412","412",2,"Purley","Purley",1554,653151,1483807590000]
+[1,"Sussex Road","18810","GP",0,51.359344,-0.093811,1,"412","412",2,"Purley","Purley",1554,653151,1483807686000]
+[1,"Farley Road","26185","Z",0,51.342569,-0.063937,1,"412","412",2,"Purley","Purley",1554,653151,1483808161000]
+[1,"Sanderstead Plantation","23493",null,0,51.339851,-0.069809,1,"412","412",2,"Purley","Purley",3469,653171,1483806820000]
diff --git a/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_line_name.txt b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_line_name.txt
new file mode 100644
index 0000000..7011d26
--- /dev/null
+++ b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_line_name.txt
@@ -0,0 +1,11 @@
+[4,"2.0",1483362794677]
+[1,"Westbahnhof","100641","H.2",0,50.7805372,6.0719672,17,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","0",92000288014001,1483367880000]
+[1,"Aachen Gartenstraße","100601","",0,50.7704169,6.0695841,4,"3","3.A",1,"Schanz-Hbf.-Ponttor","Schanz-Hbf.-Ponttor","0",92000058014001,1483368360000]
+[1,"Schanz","100012","H.2 (Boxgraben)",0,50.76891,6.074498,5,"3","3.A",1,"Hbf.-Ponttor-Uniklinik","Hbf.-Ponttor-Uniklinik","0",92000288015001,1483369380000]
+[1,"Aachen Gartenstraße","100601","",0,50.7704169,6.0695841,4,"3","3.A",1,"Schanz-Hbf.-Ponttor","Schanz-Hbf.-Ponttor","327",92000289012001,1483363045000]
+[1,"Kastanienweg","100631","",0,50.7854908,6.0547602,21,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","0",92000058014001,1483369860000]
+[1,"Eurogress","100007","",0,50.7807852,6.0900738,13,"3","3.A",1,"Ponttor-Unikl.-Schanz","Ponttor-Unikl.-Schanz","327",92000289012001,1483363994000]
+[1,"Augustastraße","100008","",0,50.7731333,6.0959027,10,"3","3.A",1,"Ponttor-Unikl.-Schanz","Ponttor-Unikl.-Schanz","0",92000288014001,1483367280000]
+[1,"Hörn Brücke","100627","",0,50.7871194,6.051875,22,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","0",92000279013001,1483369020000]
+[1,"Audimax","100029","",0,50.7802655,6.0752138,16,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","0",92000058014001,1483369560000]
+[1,"Aachen Hauptbahnhof","100004","H.1",0,50.7687027,6.0906277,8,"3","3.A",1,"Ponttor-Unikl.-Schanz","Ponttor-Unikl.-Schanz","0",92000288014001,1483367040000]
diff --git a/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_stop.txt b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_stop.txt
new file mode 100644
index 0000000..51edee5
--- /dev/null
+++ b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_stop.txt
@@ -0,0 +1,11 @@
+[4,"2.0",1482854457011]
+[1,"Aachen Bushof","100000","H.13",0,50.7775936,6.0908191,20,"1","1",1,"Schevenhütte","Schevenhütte","565",27000158010001,1482854446000]
+[1,"Aachen Bushof","100000","H.2",0,50.7775936,6.0908191,8,"7","7",1,"Aachen Bushof","Aachen Bushof","514",27000210017001,1482854400000]
+[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,30,"25","25",1,"Vaals Busstation","Vaals Busstation","0",27000171010001,1482854460000]
+[1,"Aachen Bushof","100000","H.15",0,50.7775936,6.0908191,17,"47","47",1,"Aachen Bushof","Aachen Bushof","258",27000139003001,1482854460000]
+[1,"Aachen Bushof","100000","H.15",0,50.7775936,6.0908191,1,"7","7",1,"Aachen Diepenbenden","Aachen Diepenbenden","257",27000089026001,1482854454000]
+[1,"Aachen Bushof","100000","H.12",0,50.7775936,6.0908191,17,"2","2",1,"Eilendorf Schubertstr.","Eilendorf Schubertstr.","221",27000039021001,1482854445000]
+[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,28,"12","12",1,"Campus Melaten","Campus Melaten","298",27000062010001,1482854451000]
+[1,"Aachen Bushof","100000","H.1",0,50.7775936,6.0908191,27,"51","51",1,"Aachen Bushof","Aachen Bushof","603",27000230015001,1482854801000]
+[1,"Aachen Bushof","100000","H.15",0,50.7775936,6.0908191,1,"43","43",1,"Hüls Schulz+Elleter F.","Hüls Schulz+Elleter F.","258",27000139004001,1482854520000]
+[1,"Aachen Bushof","100000","H.15",0,50.7775936,6.0908191,25,"33","33",1,"Aachen Fuchserde","Aachen Fuchserde","286",27000033017001,1482854459000]
diff --git a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_stop_line.txt b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_stop_line.txt
similarity index 51%
rename from src/test/resources/de/stklcode/pubtrans/ura/instant_trips_stop_line.txt
rename to src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_stop_line.txt
index 5e1c3e5..a65237e 100644
--- a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_stop_line.txt
+++ b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_stop_line.txt
@@ -1,11 +1,11 @@
[4,"2.0",1482855134910]
-[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,32,"35","35",1,"Vaals Grenze","Vaals Grenze","346","27000078014001",1482855350000]
-[1,"Aachen Bushof","100000","H.12",0,50.7775936,6.0908191,15,"25","25",1,"Stolberg Mühlener Bf.","Stolberg Mühlener Bf.","334","27000268014001",1482856194000]
-[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,30,"25","25",1,"Vaals Busstation","Vaals Busstation","242","27000270010001",1482856248000]
-[1,"Aachen Bushof","100000","H.12",0,50.7775936,6.0908191,14,"35","35",1,"Breinig Entengasse","Breinig Entengasse","248","27000074012001",1482856740000]
-[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,32,"35","35",1,"Vaals Grenze","Vaals Grenze","294","27000076010001",1482857507000]
-[1,"Aachen Bushof","100000","H.12",0,50.7775936,6.0908191,15,"25","25",1,"Stolberg Mühlener Bf.","Stolberg Mühlener Bf.","0","27000171011001",1482857640000]
-[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,30,"25","25",1,"Vaals Busstation","Vaals Busstation","191","27000032012001",1482858057000]
-[1,"Aachen Bushof","100000","H.12",0,50.7775936,6.0908191,14,"35","35",1,"Breinig Entengasse","Breinig Entengasse","346","27000078015001",1482858540000]
-[1,"Aachen Bushof","100000","H.12",0,50.7775936,6.0908191,15,"25","25",1,"Stolberg Mühlener Bf.","Stolberg Mühlener Bf.","242","27000270011001",1482859440000]
-[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,30,"25","25",1,"Vaals Busstation","Vaals Busstation","187","27000060013001",1482859860000]
+[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,32,"35","35",1,"Vaals Grenze","Vaals Grenze","346",27000078014001,1482855350000]
+[1,"Aachen Bushof","100000","H.12",0,50.7775936,6.0908191,15,"25","25",1,"Stolberg Mühlener Bf.","Stolberg Mühlener Bf.","334",27000268014001,1482856194000]
+[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,30,"25","25",1,"Vaals Busstation","Vaals Busstation","242",27000270010001,1482856248000]
+[1,"Aachen Bushof","100000","H.12",0,50.7775936,6.0908191,14,"35","35",1,"Breinig Entengasse","Breinig Entengasse","248",27000074012001,1482856740000]
+[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,32,"35","35",1,"Vaals Grenze","Vaals Grenze","294",27000076010001,1482857507000]
+[1,"Aachen Bushof","100000","H.12",0,50.7775936,6.0908191,15,"25","25",1,"Stolberg Mühlener Bf.","Stolberg Mühlener Bf.","0",27000171011001,1482857640000]
+[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,30,"25","25",1,"Vaals Busstation","Vaals Busstation","191",27000032012001,1482858057000]
+[1,"Aachen Bushof","100000","H.12",0,50.7775936,6.0908191,14,"35","35",1,"Breinig Entengasse","Breinig Entengasse","346",27000078015001,1482858540000]
+[1,"Aachen Bushof","100000","H.12",0,50.7775936,6.0908191,15,"25","25",1,"Stolberg Mühlener Bf.","Stolberg Mühlener Bf.","242",27000270011001,1482859440000]
+[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,30,"25","25",1,"Vaals Busstation","Vaals Busstation","187",27000060013001,1482859860000]
diff --git a/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_stop_name.txt b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_stop_name.txt
new file mode 100644
index 0000000..c9a4dc9
--- /dev/null
+++ b/src/test/resources/de/stklcode/pubtrans/ura/instant_V1_trips_stop_name.txt
@@ -0,0 +1,11 @@
+[4,"2.0",1483362959788]
+[1,"Uniklinik","100600","H.2",0,50.7756388,6.04425,11,"33","33",1,"Aachen Fuchserde","Aachen Fuchserde","318",92000043013001,1483362935000]
+[1,"Uniklinik","100600","H.1",0,50.7756388,6.04425,1,"5","5",1,"Driescher Hof-Brand","Driescher Hof-Brand","312",92000282009001,1483362936000]
+[1,"Uniklinik","100600","H.4",0,50.7756388,6.04425,33,"45","45",1,"Uniklinik","Uniklinik","317",92000285009001,1483363294000]
+[1,"Uniklinik","100600","H.3",0,50.7756388,6.04425,28,"10","3.B",1,"Uniklinik-Ponttor-Hbf.","Uniklinik-Ponttor-Hbf.","347",92000053015001,1483363039000]
+[1,"Uniklinik","100600","H.3",0,50.7756388,6.04425,29,"33","33",1,"Uniklinik","Uniklinik","529",92000209014001,1483363288000]
+[1,"Uniklinik","100600","H.2",0,50.7756388,6.04425,1,"73","73",1,"Aachen Bf.Rothe Erde","Aachen Bf.Rothe Erde","315",92000291016001,1483363080000]
+[1,"Uniklinik","100600","H.3",0,50.7756388,6.04425,29,"10","3.B",1,"Uniklinik-Ponttor-Hbf.","Uniklinik-Ponttor-Hbf.","347",92000053015001,1483363099000]
+[1,"Uniklinik","100600","H.1",0,50.7756388,6.04425,28,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","325",92000288012001,1483363080000]
+[1,"Uniklinik","100600","H.2",0,50.7756388,6.04425,6,"70","70",1,"Aachen Adenauerallee","Aachen Adenauerallee","588",92000225009001,1483363346000]
+[1,"Uniklinik","100600","H.1",0,50.7756388,6.04425,1,"3","3.A",1,"Schanz-Hbf.-Ponttor","Schanz-Hbf.-Ponttor","325",92000288013001,1483363380000]
diff --git a/src/test/resources/de/stklcode/pubtrans/ura/instant_V2_trips_all.txt b/src/test/resources/de/stklcode/pubtrans/ura/instant_V2_trips_all.txt
new file mode 100644
index 0000000..6b11344
--- /dev/null
+++ b/src/test/resources/de/stklcode/pubtrans/ura/instant_V2_trips_all.txt
@@ -0,0 +1,11 @@
+[4,"2.0",1482850556146]
+[1,"Fischbachstraße","215812","",0,50.73893,6.2666311,6,"8","8",1,"Eschweiler Bushof","Eschweiler Bushof","0",27000165015001,1482856620000]
+[1,"Wolferskaul","100322","",0,50.7439086,6.1594241,19,"55","55",1,"Aachen Elisenbrunnen","Aachen Elisenbrunnen","619",27000229015001,1482852180000]
+[1,"Lindenallee","213227","",0,50.8271524,6.3194636,8,"28","28",1,"Alsdorf Annapark","Alsdorf Annapark","519",27000190012001,1482853140000]
+[1,"Karlsgraben","100024","",0,50.7728605,6.0766513,6,"5","5",1,"Driescher Hof-Brand","Driescher Hof-Brand","0",27000283012001,1482855960000]
+[1,"Eilendorf Bahnhof","100246","",0,50.7855477,6.1521783,61,"57","57",1,"Verlautenheide Endstr.","Verlautenheide Endstr.","528",27000200015001,1482855908000]
+[1,"Elisenbrunnen","100001","H.1",0,50.7747372,6.0879925,24,"34","34",1,"Aachen Bushof","Aachen Bushof","670",27000237013001,1482854520000]
+[1,"Schneidmühle","215602","",0,50.7847038,6.2190627,42,"22","22",1,"Stolberg Mühlener Bf.","Stolberg Mühlener Bf.","247",27000118005001,1482855180000]
+[1,"Dechant-Brock-Str.","215824","",0,50.7592927,6.2735355,22,"1","1",1,"Lintert Friedhof","Lintert Friedhof","268",27000102007001,1482854580000]
+[1,"Am Tiergarten","100382","",0,50.755833,6.1689597,30,"34","34",1,"Brand","Brand","0",27000224012001,1482854040000]
+[1,"Hansemannplatz","100002","H.1",0,50.7784794,6.0959816,26,"51","51",1,"Aachen Bushof","Aachen Bushof","603",27000230015001,1482854400000]
diff --git a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_line_direction.txt b/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_line_direction.txt
deleted file mode 100644
index 6a532e3..0000000
--- a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_line_direction.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-[4,"2.0",1483363349461]
-[1,"Westbahnhof","100641","H.2",0,50.7805372,6.0719672,17,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","325","92000288014001",1483367880000]
-[1,"Aachen Gartenstraße","100601","",0,50.7704169,6.0695841,4,"3","3.A",1,"Schanz-Hbf.-Ponttor","Schanz-Hbf.-Ponttor","229","92000058014001",1483368360000]
-[1,"Schanz","100012","H.2 (Boxgraben)",0,50.76891,6.074498,5,"3","3.A",1,"Hbf.-Ponttor-Uniklinik","Hbf.-Ponttor-Uniklinik","0","92000288015001",1483369380000]
-[1,"Kastanienweg","100631","",0,50.7854908,6.0547602,21,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","229","92000058014001",1483369860000]
-[1,"Eurogress","100007","",0,50.7807852,6.0900738,13,"3","3.A",1,"Ponttor-Unikl.-Schanz","Ponttor-Unikl.-Schanz","327","92000289012001",1483363996000]
-[1,"Augustastraße","100008","",0,50.7731333,6.0959027,10,"3","3.A",1,"Ponttor-Unikl.-Schanz","Ponttor-Unikl.-Schanz","325","92000288014001",1483367280000]
-[1,"Hörn Brücke","100627","",0,50.7871194,6.051875,22,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","0","92000279013001",1483369020000]
-[1,"Audimax","100029","",0,50.7802655,6.0752138,16,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","0","92000288015001",1483370460000]
-[1,"Misereor","100010","",0,50.7685583,6.0833027,7,"3","3.A",1,"Hbf.-Ponttor-Uniklinik","Hbf.-Ponttor-Uniklinik","0","92000154003001",1483370460000]
-[1,"Audimax","100029","",0,50.7802655,6.0752138,16,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","229","92000058014001",1483369560000]
diff --git a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_line_name.txt b/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_line_name.txt
deleted file mode 100644
index dddfa85..0000000
--- a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_line_name.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-[4,"2.0",1483362794677]
-[1,"Westbahnhof","100641","H.2",0,50.7805372,6.0719672,17,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","0","92000288014001",1483367880000]
-[1,"Aachen Gartenstraße","100601","",0,50.7704169,6.0695841,4,"3","3.A",1,"Schanz-Hbf.-Ponttor","Schanz-Hbf.-Ponttor","0","92000058014001",1483368360000]
-[1,"Schanz","100012","H.2 (Boxgraben)",0,50.76891,6.074498,5,"3","3.A",1,"Hbf.-Ponttor-Uniklinik","Hbf.-Ponttor-Uniklinik","0","92000288015001",1483369380000]
-[1,"Aachen Gartenstraße","100601","",0,50.7704169,6.0695841,4,"3","3.A",1,"Schanz-Hbf.-Ponttor","Schanz-Hbf.-Ponttor","327","92000289012001",1483363045000]
-[1,"Kastanienweg","100631","",0,50.7854908,6.0547602,21,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","0","92000058014001",1483369860000]
-[1,"Eurogress","100007","",0,50.7807852,6.0900738,13,"3","3.A",1,"Ponttor-Unikl.-Schanz","Ponttor-Unikl.-Schanz","327","92000289012001",1483363994000]
-[1,"Augustastraße","100008","",0,50.7731333,6.0959027,10,"3","3.A",1,"Ponttor-Unikl.-Schanz","Ponttor-Unikl.-Schanz","0","92000288014001",1483367280000]
-[1,"Hörn Brücke","100627","",0,50.7871194,6.051875,22,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","0","92000279013001",1483369020000]
-[1,"Audimax","100029","",0,50.7802655,6.0752138,16,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","0","92000058014001",1483369560000]
-[1,"Aachen Hauptbahnhof","100004","H.1",0,50.7687027,6.0906277,8,"3","3.A",1,"Ponttor-Unikl.-Schanz","Ponttor-Unikl.-Schanz","0","92000288014001",1483367040000]
diff --git a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_stop.txt b/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_stop.txt
deleted file mode 100644
index 0068950..0000000
--- a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_stop.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-[4,"2.0",1482854457011]
-[1,"Aachen Bushof","100000","H.13",0,50.7775936,6.0908191,20,"1","1",1,"Schevenhütte","Schevenhütte","565","27000158010001",1482854446000]
-[1,"Aachen Bushof","100000","H.2",0,50.7775936,6.0908191,8,"7","7",1,"Aachen Bushof","Aachen Bushof","514","27000210017001",1482854400000]
-[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,30,"25","25",1,"Vaals Busstation","Vaals Busstation","0","27000171010001",1482854460000]
-[1,"Aachen Bushof","100000","H.15",0,50.7775936,6.0908191,17,"47","47",1,"Aachen Bushof","Aachen Bushof","258","27000139003001",1482854460000]
-[1,"Aachen Bushof","100000","H.15",0,50.7775936,6.0908191,1,"7","7",1,"Aachen Diepenbenden","Aachen Diepenbenden","257","27000089026001",1482854454000]
-[1,"Aachen Bushof","100000","H.12",0,50.7775936,6.0908191,17,"2","2",1,"Eilendorf Schubertstr.","Eilendorf Schubertstr.","221","27000039021001",1482854445000]
-[1,"Aachen Bushof","100000","H.11",0,50.7775936,6.0908191,28,"12","12",1,"Campus Melaten","Campus Melaten","298","27000062010001",1482854451000]
-[1,"Aachen Bushof","100000","H.1",0,50.7775936,6.0908191,27,"51","51",1,"Aachen Bushof","Aachen Bushof","603","27000230015001",1482854801000]
-[1,"Aachen Bushof","100000","H.15",0,50.7775936,6.0908191,1,"43","43",1,"Hüls Schulz+Elleter F.","Hüls Schulz+Elleter F.","258","27000139004001",1482854520000]
-[1,"Aachen Bushof","100000","H.15",0,50.7775936,6.0908191,25,"33","33",1,"Aachen Fuchserde","Aachen Fuchserde","286","27000033017001",1482854459000]
diff --git a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_stop_name.txt b/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_stop_name.txt
deleted file mode 100644
index 113c256..0000000
--- a/src/test/resources/de/stklcode/pubtrans/ura/instant_trips_stop_name.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-[4,"2.0",1483362959788]
-[1,"Uniklinik","100600","H.2",0,50.7756388,6.04425,11,"33","33",1,"Aachen Fuchserde","Aachen Fuchserde","318","92000043013001",1483362935000]
-[1,"Uniklinik","100600","H.1",0,50.7756388,6.04425,1,"5","5",1,"Driescher Hof-Brand","Driescher Hof-Brand","312","92000282009001",1483362936000]
-[1,"Uniklinik","100600","H.4",0,50.7756388,6.04425,33,"45","45",1,"Uniklinik","Uniklinik","317","92000285009001",1483363294000]
-[1,"Uniklinik","100600","H.3",0,50.7756388,6.04425,28,"10","3.B",1,"Uniklinik-Ponttor-Hbf.","Uniklinik-Ponttor-Hbf.","347","92000053015001",1483363039000]
-[1,"Uniklinik","100600","H.3",0,50.7756388,6.04425,29,"33","33",1,"Uniklinik","Uniklinik","529","92000209014001",1483363288000]
-[1,"Uniklinik","100600","H.2",0,50.7756388,6.04425,1,"73","73",1,"Aachen Bf.Rothe Erde","Aachen Bf.Rothe Erde","315","92000291016001",1483363080000]
-[1,"Uniklinik","100600","H.3",0,50.7756388,6.04425,29,"10","3.B",1,"Uniklinik-Ponttor-Hbf.","Uniklinik-Ponttor-Hbf.","347","92000053015001",1483363099000]
-[1,"Uniklinik","100600","H.1",0,50.7756388,6.04425,28,"3","3.A",1,"Uniklinik-Schanz-Hbf.","Uniklinik-Schanz-Hbf.","325","92000288012001",1483363080000]
-[1,"Uniklinik","100600","H.2",0,50.7756388,6.04425,6,"70","70",1,"Aachen Adenauerallee","Aachen Adenauerallee","588","92000225009001",1483363346000]
-[1,"Uniklinik","100600","H.1",0,50.7756388,6.04425,1,"3","3.A",1,"Schanz-Hbf.-Ponttor","Schanz-Hbf.-Ponttor","325","92000288013001",1483363380000]