nearby stations by coordinate for Switzerland

git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@622 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
andreas.schildbach@gmail.com 2011-05-07 20:57:15 +00:00
parent 13126655c1
commit 834ef0c03f
2 changed files with 37 additions and 17 deletions

View file

@ -75,7 +75,19 @@ public class SbbProvider extends AbstractHafasProvider
{ {
final StringBuilder uri = new StringBuilder(API_BASE); final StringBuilder uri = new StringBuilder(API_BASE);
if (location.type == LocationType.STATION && location.hasId()) if (location.hasLocation())
{
uri.append("query.exe/dny");
uri.append("?performLocating=2&tpl=stop2json");
uri.append("&look_maxno=").append(maxStations != 0 ? maxStations : 200);
uri.append("&look_maxdist=").append(maxDistance != 0 ? maxDistance : 5000);
uri.append("&look_stopclass=").append(allProductsInt());
uri.append("&look_x=").append(location.lon);
uri.append("&look_y=").append(location.lat);
return jsonNearbyStations(uri.toString());
}
else if (location.type == LocationType.STATION && location.hasId())
{ {
uri.append("bhftafel.exe/dn?near=Anzeigen"); uri.append("bhftafel.exe/dn?near=Anzeigen");
uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50);

View file

@ -38,6 +38,30 @@ public class SbbProviderLiveTest
private SbbProvider provider = new SbbProvider(Secrets.SBB_ACCESS_ID); private SbbProvider provider = new SbbProvider(Secrets.SBB_ACCESS_ID);
private static final String ALL_PRODUCTS = "IRSUTBFC"; private static final String ALL_PRODUCTS = "IRSUTBFC";
@Test
public void nearbyStations() throws Exception
{
final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 8500010), 0, 0);
System.out.println(result.status + " " + result.stations.size() + " " + result.stations);
}
@Test
public void nearbyStationsByCoordinate() throws Exception
{
final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 52525589, 13369548), 0, 0);
System.out.println(result.stations.size() + " " + result.stations);
}
@Test
public void queryDepartures() throws Exception
{
final QueryDeparturesResult result = provider.queryDepartures("8500010", 0, false);
System.out.println(result.stationDepartures);
}
@Test @Test
public void autoComplete() throws Exception public void autoComplete() throws Exception
{ {
@ -62,22 +86,6 @@ public class SbbProviderLiveTest
System.out.println(); System.out.println();
} }
@Test
public void nearbyStations() throws Exception
{
final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 8500010), 0, 0);
System.out.println(result.status + " " + result.stations.size() + " " + result.stations);
}
@Test
public void queryDepartures() throws Exception
{
final QueryDeparturesResult result = provider.queryDepartures("8500010", 0, false);
System.out.println(result.stationDepartures);
}
@Test @Test
public void shortConnection() throws Exception public void shortConnection() throws Exception
{ {