Land Transport Authority
The Land Transport Authority (LTA) is a statutory board under the Ministry of Transport, that spearheads land transport developments in Singapore.
LTA plans the long-term transport needs of Singapore, taking care of those who drive as well as those who take public transport. The ultimate goal – a smooth and seamless journey for all.
Datasets Available
The above links are access to Sample Traffic datasets only.
For developers who would like to request for the full traffic datasets, click here to submit an automated request to LTA.
Code Snippet
.NET – How do I access a complete list of incidents near me
public List<IncidentEntry> GetIncidentFromNimbusLTA(string AccountKey, string UniqueUserID)
{
System.Net.WebRequest wr=
HttpWebRequest.Create(
"https://api.projectnimbus.org/ltaodataservice.svc/IncidentSet?Latitude=1.3&Longitude=103.85&Distance=2000");
wr.Headers.Add("AccountKey",AccountKey);
wr.Headers.Add("UniqueUserID",UniqueUserID);
wr.Method = "GET";
WebResponse res = wr.GetResponse();
string resStr
= new System.IO.StreamReader(res.GetResponseStream()).ReadToEnd();
XNamespace atomNS
= "http://www.w3.org/2005/Atom";
XNamespace dNS
= "http://schemas.microsoft.com/ado/2007/08/dataservices";
XNamespace mNS
= "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata";
List<IncidentEntry> results
= (from item in XElement.Parse(resStr).Descendants(atomNS + "entry")
let incident = item.Element(atomNS + "content").Element(mNS +"properties")
select new IncidentEntry() {
IncidentID incident.Element(dNS +"IncidentID").Value,
Message = incident.Element(dNS +"Message").Value,
Lat = incident.Element(dNS + "Latitude").Value,
Lon = incident.Element(dNS + "Longitude").Value
}).ToList();
return results;
}
Java – How do I access a complete list of incidents near me
public ArrayList<ISTraffic> getCameras(String accountKey, String uniqueId) {
trafficList = new ArrayList<CISTraffic>();
try {
URL _url = new URL("https://api.projectnimbus.org/ltaodataservice.svc/IncidentSet?Latitude=1.3&Longitude=103.85&Distance=2000");
URLConnection _urlConn = _url.openConnection();
_urlConn.setRequestProperty("accept", "*/*");
_urlConn.addRequestProperty("AccountKey", accountKey);
_urlConn.addRequestProperty("UniqueUserID", uniqueId);
BufferedReader br = new BufferedReader(new InputStreamReader(_urlConn.getInputStream()));
String line = null;
StringBuilder strBuilder = new StringBuilder();
while ((line = br.readLine()) != null) {
strBuilder.append(line);
System.out.println(line);
}
String[] IProperties = strBuilder.toString().split("<m:properties>");
for (String str : IProperties) {
ISTraffic traffic = new ISTraffic();
traffic.setIncidentID(Utils.getStringBetween(str, "<d:IncidentID m:type=\"Edm.Int32\">", "</d:IncidentID>"));
traffic.setMessage(Utils.getStringBetween(str, "<d:Message>", "</d:Message>"));
traffic.setCLatitude(Utils.getStringBetween(str, "<d:Latitude m:type=\"Edm.Double\">", "</d:Latitude>"));
traffic.setCLongitude(Utils.getStringBetween(str, "<d:Longitude m:type=\"Edm.Double\">", "</d:Longitude>"));
trafficList.add(traffic);
}
} catch (MalformedURLException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
return trafficList;
}
Helpers Available
.NET – C# Proxy Classes: click here | Read this blog post for more information to use these proxy classes.
JAVA – Read this blog post for more information to use JAVA to connect to the data service.
PHP & AJAX – Read this blog post for more information to use PHP/AJAX to connect to the data service.
obj C / xcode – coming soon
Terms of Use
The datasets:
- Are here as a community technology preview for a period of time (TBD).
- Cannot be used in any public offering.
- Are offered as-is with no official support.
Support
None at this time.

Pingback: What is Project Nimbus? How do I get started? « Project Nimbus
Hello
May I inquire the meaning of “public offering” that you referred to when you mentioned that the datasets “Cannot be used in any public offering.”? Thank you.
Regards
Jensen
Hey there Jensen,
The current datasets available are intended as a community technical preview. We may change things throughout this preview based on the feedback from the community. As such, we do not want people to ‘go live’ with a commercial or large public offering as things may break when we shift things around.
That said… we would love for people to play with what is available here and send us feedback on what works / what doesn’t work / what will work better. This will help the dataset owners in shaping their offerings to better fit your needs.
Hey,
Im a student doing a school project. And Im having alot of difficulty with Nimbus. Is there any open-source codes or tutorials available for my study?
Rgds,
Caden
Hi Caden,
Do check out http://projectnimbus.org/2010/04/04/what-is-project-nimbus-how-do-i-get-started/
On the second table in the post, there are links to source codes to some sample application we have.
Do take a look to the links at the end of the description for each of the data set. There are some quick guide to the use of the API.
Cheers!
Yes. I have check that link many times. but i am unable to find the needed sources. Would it help if i told you i needed to use project nimbus for an android application?
Hi, just want to know if you have the full list of the ERP zone? Because it’s quite confusing by jus looking at the zone ID.
We are working towards getting latitude and longitude for these entities.
Will keep everyone informed.
will the bus/mrt route be available anytime soon?
Hi Bryan,
We are currently working with other providers as LTA dataset does not cover Bus and MRT route data.
Pingback: Musings Words 2.0
The LTA seems to be quite static and stale, will it be updated or else it’ll not be too useful.