OpenLS Assisting Government
An Open GIS Consortium (OGC)
White Paper
Will Wilbrink
MapInfo Corporation
Open GIS - Open Location Services Chairman
May 25, 2004
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.
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
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.
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).
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
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
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
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.
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
Turn-by-turn
instructions and advisories for presentation
Figure 5 Route Processing
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.
Request
The Presentation request is composed of
the following list of objects:
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
·
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.
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 providers 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.