OpenLS Assisting Government

An Open GIS Consortium (OGC) White Paper



Will Wilbrink

MapInfo Corporation

Open GIS - Open Location Services Chairman

May 25, 2004


1         Abstract

The Open Location Services Specification (OpenLS) facilitates the use of geospatial technology in the wireless internet industry. These services provide real time location information combined with location enabled content to help answer basic questions such as: Where am I? , What is around me? And, how do I get there?


Understanding these services can help when making decisions regarding the enterprise and the wireless internet. Security, response and preparedness all contain real time location considerations when evaluating government initiatives.

2         Introduction

Consider a scenario that involves the delivery of a highly sensitive package. The ability to track the location of this package at any time helps to ensure it does not fall into the wrong hands. One method for determining if an alert is warranted is to pre-compute a route for the package, continually monitor in transit and if the location falls outside the known corridor, or if it falls behind a predetermined timetable, issue an alert. The response to the alert could include local resources dispatched to handle the event. OpenLS provides the services to create an application that meets these requirements.

Figure 1 – Sensitive Package Monitoring

3         How it works

OpenLS defines 6 core services that satisfy the most common requirements of these applications:


Note that the Geocoder and Reverse Geocoder services are combined in a single logical service known as Location Utility.




3.1        OpenLS Services

3.1.1      Gateway

The Gateway service is the interface between the GeoMobility Server and Location Server that resides in the Gateway Mobile Location Center (GMLC) or Mobile Positioning Center (MPC) through which other services fetch the position of a known mobile terminal (cell phone or personal digital assistants) from the network. This interface is modeled after the Mobile Location Protocol specified in LIF 3.0 for Standard Location Immediate Service (SLIS).






Figure 2 – Gateway processing


The Mobile Location Protocol (MLP) is an application-level protocol for getting the position of mobile stations, such as mobile phones and wireless personal digital assistants, independent of underlying network technology. The MLP serves as the interface between a Location Server and a Location Services (LCS) Client. This specification defines the core set of operations that a Location Server should be able to perform.



3.1.2      Location Utility

This service performs as a geocoder by determining a geographic position, given a place name, street address or postal code. It also returns a complete, normalized description of the place (which is useful, say, when only partial information is known). The service also performs as a reverse geocoder by determining a complete, normalized place name/street address/postal code, given a geographic position. Both the geocoder and reverse geocoder may return zero, one, or more responses to a service request, depending on the request preferences, the algorithm being employed, and the match criteria. The Location Utility Service also has a Gazetteer functionality (world/country/city geocoder), which can geocode a partial address containing only a city, state, or a place name or landmark, airport, etc.


Geocoder Functionality

The Geocoding service converts a text address to an x and y location (e.g., Longitude/Latitude). The task is to provide a list of candidates whose geographic location are matched or closely matched to the input address. Multiple addresses can be submitted in a single request document. The following operations are supported by the Geocoder Service:

·         Given an Address, the service is capable of using an address matching Geocoding algorithm to determine a position for the specified address.

·         The Geocode service is able to geocode an incomplete address and return a complete set of address information (i.e., a normalized address).

·         The service is able to indicate the number of matches (exact or close matches) in the response (possibly zero) for a particular address supplied in the geocoding request.

·         The service is capable of processing one or more addresses in a single geocoding request.

·         The service provides information on the quality of the result using a `match code'.


Geocoding turns ordinary data records containing address information into geographic objects that can be displayed on a map. This helps you better visualize the relationship among your data. For example, once your records are geocoded you can display them as driving directions between two addresses (locations) using the Route service. You can perform a wide variety of functions such as query and find, and analyze your data in geographic terms. Data that once was only readable in column and row format offers a whole new way of looking at the same information.


Gazetteer Functionality

The Gazetteer service performs a world, country, or city geocode operation which can find the position of a partial address containing only the city, state, or a place name (landmark or airport) The following operations are supported by the Gazetteer Service:

·         Search, based on country, country subdivision, city, city subdivision, landmark, or airport to return the position.

·         The pattern search capability supports a wildcard character (*) as a search value in one or more fields to return all available values for that particular field.

The Gazetteer service requires various input parameters for different types of searches in order to obtain accurate information:

·         Country search - Must specify countryCode.

·         Country subdivision search - Must specify countryCode and CountrySubdivision.

·         Country secondary subdivision search - Must specify countryCode and CountrySecondarySubdivision, and should specify CountrySubdivision. If the CountrySubdivision is not specified then multiple unwanted candidates may be returned.

·         City Municipality search - Must specify countryCode and Municipality, and should specify CountrySubdivision and CountrySecondarySubdivision. If the CountrySubdivision and CountrySecondarySubdivision are not specified then multiple unwanted candidates my be returned.

·         Municipality Subdivision search - Must specify countryCode and MunicipalitySubdivision, and should specify CountrySubdivision, CountrySecondarySubdivision, and Municipality. If the CountrySubdivision, CountrySecondarySubdivision, and Municipality are not specified then multiple unwanted candidates my be returned.

·         Landmark search - Must specify countryCode and PlaceName (Landmark), and should specify CountrySubdivision, CountrySecondarySubdivision, and Municipality. If the CountrySubdivision, CountrySecondarySubdivision, and Municipality are not specified then multiple unwanted candidates may be returned.


Reverse Geocoding Functionality

Reverse-Geocoding is one of the basic services provided with the Location Utility deployment. This service returns a postal code, city, city subdivision, MSA, region type (urban, suburban, rural), street intersections, and street addresses associated with a given geographic location (position or geometry). Multiple locations can be submitted in a single request document. The following operations are supported by the Reverse Geocoder Service:

·         Given a Position, the service is able to return one or more locations (i.e., Addresses with associated Point geometries), and optionally, the address ranges of these locations from the given position, as it is defined in the Position ADT.

·         The form of the returned addresses is based upon the user's preference, as stated in the request. The user is able to specify a preference of street address, street intersection, or point of interest (Place and/or PostalCode). If not specified, the service defaults to street address.

·         The service is capable of returning all location information of a preferred type within an area of interest (AOI - Circle, CircularArc, Ellipse, Polygon, and Point).

·         The service is able to indicate the number of matches in the response (possibly zero) for a given request.




Figure 3 – Location Utility Processing


3.1.3      Directory

This service provides consumers with access to an online directory to find the nearest or a specific place, product, or service. It offers a wide variety of searching capability to find a Point of Interest (POI) for a user (e.g., landmarks, police station, power plant, etc.). The searching capability include pinpoint search for the attributes of a POI (e.g., address, phone number, menu, etc.), find the Nearest POI, find POIs within a certain distance of a location, find POIs within a boundary, and find POIs nearest to an address. The directory type (catalogue), such as Yellow Page, can also be specified in the request. The service then returns a list of the POI candidates with attribute information that satisfies the search requirement.


The user starts to formulate the search criteria in the service request, identifying the place, product or service that they seek by entering the name, type, category, keyword, phone number, or some other `user-friendly' identifier. A location must also be defined in the request when the user is seeking the nearest place, product or service, or if they desire a specific place, product or service within a specific area. The location may be the current Mobile Terminal position, as determined through the Gateway Service, or a remote position determined in some other manner. Given the formulated request, the Directory Service searches the appropriate online directory to fulfill the request, finding the nearest or specific place, product or service, depending on the search criteria. The service returns one or more responses to the query (with locations and complete descriptions of the place, product, or service, depending upon directory content), where the responses are in ranked order based upon the search criteria.

Figure 4 – Directory Service Processing



Pinpoint and Proximity

There are mainly two types of searches that may be performed using the Directory service: Pinpoint and Proximity. Pinpoint, provides subscribers with access to an online directory to find the specific location of a place, product, or service. This service is independent of subscriber location (e.g., the subscriber may wish to `pinpoint' a service in a distant region). The Pinpoint query will use parameters that will uniquely identify the Point of Interest. At least one of the following options may be used to identify the target location:

·         Point of Interest Name, identifying a specific location - e.g., Bellevue Hospital;

·         Point of Interest Point, identifying an exact location coordinate of the Point of Interest;

·         Point of Interest Address, identifying the street address of the Point of Interest.

Proximity provides subscribers with access to an online directory to find the nearest place, product, or service by its location relative to some other point of interest (e.g., Nearest to me, within some distance of a specified entity, within some defined boundary). The Proximity query will use parameters that will identify a shortlist of candidate locations by distance from a location that may itself be specified by a Pinpoint query (e.g., "Give me the  Police Station nearest to Bellevue Hospital".)

This may involve a combination of Proximity parameters to spatially constrain the search:

·         Proximity Type: type of proximity algorithm - e.g., Linear Distance, Bounding Polygon.

·         Source Location - point for determining proximity (possibly a POI).

·         Proximity Minimum Distance.

·         Proximity Maximum Distance.

·         Proximity WithinBoundary, a polygon for Bounding Polygon search.

It will also involve a combination of parameters to constrain the result of the search.

·         Maximum Number of elements to be returned: e.g., nearest 5 Hospitals.

·         Sort criteria (attribute to sort on; ascending/descending).

Other parameters may be used to constrain the search, resulting in a shortlist of Points of Interest:

·         List of Point of Interest Place/Product/Service types identifying a group of locations with some common attribute - e.g., Hospitals, Hospitals.Emergency, Hospitals.Emergency.BioHazard, Hospitals.Emergency.BioHazard.Virus

·         List of one or more keywords.

·         Partial street address, such as State, City or Suburb.



3.1.4      Route

The Route Service determines a route for a traveller. The traveller must indicate the start point (usually the position acquired through the Gateway Service, but this could be a planned trip from a specified location (e.g., from their home address), and the endpoint (any location, like a place for which they only have the phone number or an address, or a place acquired through a search to a Directory Service).


The Route service can also use the Presentation service to return a route map with the directions and path of the route displayed visually.


The Route Service also supports extended navigation functionality. If the user wants to know which route to take, the user can specify endpoints and waypoints based on a certain set of criteria and determine a route. The user may optionally specify waypoints, the route preference (such as fastest and shortest), and the preferred mode of transport.


Routing Functionality

·         Given a set of route criteria, determine a new route which may include Route Plan request criteria (route preferences, start/end/intermediate points, avoid list expected travel start time), a Route Geometry request criteria, or a Route Map request criteria.

·         After determining the route, return any combination of the following information:

o        Route summary information

o        Route geometry

o        Maps of the route

o        Turn-by-turn instructions and advisories for presentation

Figure 5 – Route Processing


3.1.5      Presentation

The Presentation service provides the capability of creating mapping images from geographic data. The data can be stored in MapInfo TAB files, in an RDBMS, or in an OGC Geographic Meta Language format. Multiple image formats (e.g., GIF, JPEG, and BMP) are supported. A map image may be returned as a Base64 encoded document in the response or created and deposited into an image repository and then referenced via a URL.


Any OpenLS Application may call upon this service to obtain a map of a desired area, with or without map overlays that depict one or more OpenLS ADTs, such as Route Geometry, Point of Interest, Area of Interest, Location, Position and/or Address. The service may also be employed to render route directions from Route Maneuver List ADT and/or Route Instructions List ADT.


The Presentation service also has additional functionality regarding icons or symbols. A request can include a list of icon definitions. This enables the map image returned to have features at each specified location. An icon can be a point such as a pin marker, or a polygon to represent something such as a route.



The Presentation request is composed of the following list of objects:


Must Have

Should Have

May Have

Output parameters




Context parameters




Overlays (accepted ADT's)




Base map




Named styles




User defined styles









·         Output parameters define what the size and encoding of the portrayed map should be using the following criteria: width, height, format, transparency, color, and content.

·         Context parameters define what area of the world the map is portraying. This can be defined in the following ways:

o        Bounding Box - Two-point box in a specific SRS that defines the extents of the map (WGS 84 is the default).

o        Center Point and Scale - The center point defines the center of your map at a particular scale and projection which should include the center point, scale, azimuth , DPI, spatial reference system, and display scale.

·         Overlays define a list of ADTs for portrayal on the map. The overlay is made up of two parts:

o        ADT (Abstract Data Type) - ADTs are usually obtained as outputs from other core services. To date we have Position ADT, Route ADT, POI ADT and Map ADT. The Z Order for the ADT defines the order in which the ADTs are laid on top of each other over the base map.

o        Custom Style - This is defined using a named style. A named style is a predefined style for a layer, such as a color for regions, symbol for points, or a line type for line segments or region borders.

·         Base Map provides a backdrop for the ADTs and is made up of a set of layers. The user determines the layers that are to be included or excluded from the base map in the request.

·         Styles define how the ADTs should look.

·         Get Capabilities provide the user with a list of capabilities consisting of base map layers, styles, and spatial reference systems.


4         Uses for public service


OpenLS provides a standard set of services that can be used by governments and their security forces to increase productivity and make better decisions.  A high level look at these uses includes:


Emergency management requires real time information about assets and people. These resources need to be available immediately to address a situation in the shortest time possible. Using the Gateway and Directory services allows the best-qualified and closest people to respond to an emergency situation.


Wireless internet usage is increasing amongst the general public at a rapid rate. With the proliferation of WiFi and advanced smart phones people are more and more able to connect to the web in a mobile environment. Governments can provide essential emergency notification using these new technologies. OpenLS Gateway, Directory, Route and Presentation services can help identify who should notified and provide safe exit routes in an urgent situation.


Information sharing is important for effective planning and preparedness. Data collected by department or agency may be a starting point for another group. For example, a crime analysis application may use routes and known crime scenes to determine where mobile field staff should be deployed. These routes may come from a different department that is responsible for shipping precious cargo. OpenLS provides a standard access and information model that alleviates the burden of knowing the content provider’s internal information system. This leads to more accurate and quickly developed applications.



OpenGIS, OGC, and OGC User are registered trademarks and service marks or trademarks and service marks of Open GIS Consortium, Inc.  Copyright 2003 by the Open GIS Consortium, Inc.