A competing standard

Although I think we’re the first to publish a standard for geotagging SMSes, we weren’t the first to start developing one. The Open GeoSMS standard was first proposed by ITRI (Taiwan’s Industrial Technology Research Institute) in 2008, and is currently being developed by the Open GeoSMS Standards Working Group within the Open Geospatial Consortium. Their current discussion paper describes version 2 of the standard, and they have a Facebook page for news and announcements (mostly written in Chinese).

There is a reference application called Open GeoSMSer, which is available for Android, Windows Mobile 5/6, Symbian S60, and the iPhone. Unfortunately the Android version is compiled under a pre-1.6 environment, so it won’t install on my HTC Tattoo.

Open GeoSMS messages are encoded using the following format –


The latitude and longitude are encoded using NMEA0183 (a National Marine Electronics Association standard). Their format is DDMM.mmmm,H, where DD is degrees, MM is minutes, mmmm is decimal minutes, and H is the bearing (N, S, E or W). For example, the longitude 121.566277 would be encoded as 12133.9766,E

The format can be B (Basic), A (AGPS), E (Extended), P (Point of Interest), or Q (Query), and the data component of the message will depend on this format.

Here’s a sample message –

GeoSMS/2;2230.978,N;12123.566,E;E;My car has broken down

Let’s be honest, I don’t think this is a very good standard. There are four broad criteria that a geotagging SMS standard should satisfy –

  1. It must contain location data. Latitude and longitude at a minimum, altitude and accuracy if possible.
  2. It must be machine-readable. Software should be able to unambiguously spot geotagged messages from all the millions of SMSes sent every day.
  3. It should be human-readable. Many messages will arrive on phones that don’t recognise the standard, so they should make sense to a human reading them as straight text.
  4. It should be compact. An SMS is limited to 160 characters, so the location data should be represented in as few characters as possible.

Now, the Open GeoSMS format is certainly machine-readable, and it specifies latitude and longitude. But it performs poorly on the other criteria.

Leaving out altitude and accuracy looks like an oversight. When there’s no GPS signal, many smartphones estimate their location using mobile phone towers, which can have an accuracy of a kilometre or more. If you’re requesting a taxi or an ambulance for example, it’s very important to include an accuracy estimate so they know if the location is reliable. Altitude is less important, but might be useful for finding someone in a multi-storey building.

The use of NMEA0183 is a big mistake in my opinion. Compared with good old base-10 encoding it’s less compact, it’s much less human-readable, and it’s more difficult for software to parse (base-10 parsing is built in to all software libraries).

I also think the use of pre-defined formats (B, A, E, etc) is a mistake, since it forces the standardization of every possible application of geotagging up-front. Standards should confine themselves to a core requirement (embed a location in an SMS) and leave application-specific requirements to separate standards that build on it.

But as I said, it’s a work-in-progress, and these issues may be addressed by the time it’s finally ratified as a standard.


About geosms

A PhD Candidate in Geospatial Sciences, at RMIT's School of Mathematical and Geospatial Sciences.
This entry was posted in Uncategorized. Bookmark the permalink.

4 Responses to A competing standard

  1. There is an OGC meeting in Sydney later next month, why don’t you try and attend and you could provide some useful feedback on Open GeoSMS?
    http://www.opengeospatial.org/event/1011tc (scroll down for agenda)

  2. geosms says:

    I’m going to be at a conference on the Gold Coast that week, but I’ll ask around and see if anyone else from the department is attending.

  3. Doc. says:

    Thank you very much for your work on GeoSMS and some of the very intriguing blogs.

    I have a unique situation that I am currently struggling to wrap my head around.

    I would like partially trained or semi-literate field workers, to send an SMS to me and for the SMS to contain their geolocations without them needing to actively write in anything. The phones they will be provided are not smart phones and have no access to the internet.

    So for example, the field worker sends an sms saying “Work has commenced,” but because of the phone it is being sent from, or because of an SMS hook that I have created, I can receive their exact location.

    I have tried using Twilio, but the locations are hazarded guesses more than actual geolocstions.

    Would you be able to share some thoughts, on this?

  4. geosms says:

    It really depends on the operating system of the phones you’ll be using. Do they allow custom apps, and what phone features can those apps access? If an app can access the ID of the current cell tower, potentially that could be embedded in an SMS, giving you accuracy of a few kilometres. Failing that, you’d have to do a deal with the carrier – they record the cell ID in their billing records, and maybe they’d provide it to you.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s