Enterprise IT Consultant Views on Technologies and Trends

Mar 17 2011   2:37AM GMT

Understanding GeoRSS – GML – Geographic Markup Language

Sasirekha R Profile: Sasirekha R

Understanding GeoRSS – GML – Geographic Markup Language

GeoRSS is a standard for providing location information as part of a data feed. Compared to GeoRSS-Simple, GeoRSS GML (or Pro GeoRSS) goes to the next level of complexity allowing different coordinate reference systems (CRS).

According to http://www.opengeospatial.org/projects/groups/gmlwg, GML, Geography Markup Language, is an XML grammar written in XML Schema for the modelling, transport, and storage of geographic information. GML is originally based on Resource Description Framework (RDF developed by W3C) and retains many features including intelligent agents and a standard syntax for describing and querying data. According to http://www.w3.org/Mobile/posdep/GMLIntroduction.html, for the first time spatial information will have a truly public encoding standard and the inherent transformability and accessibility of GML will open a whole new domain in geo-spatial information management.

GML provides a variety of objects including features, coordinate reference systems, geometry, topology, time, units of measure and generalized values for describing geography. A geographic feature is associated with a location relative to the Earth and is “an abstraction of a real world phenomenon”. In GML, geographic features like lakes, rivers, mountains as well as buildings, parks and cities are described by using geometry (referred to as GeoTagging).

GeoRSS GML representatation are follows:

  • A point consists of a <Point> element with a child <coords> element. Within <coords> the latitude and longitude values are separated by a space.
  • A line consists of a <LineString> element with a child <coordList> element. Within <coordList> the coordinates of the points on the line are entered as pairs of latitude and longitude values, separated by spaces.
  • A polygon consists of a <Polygon> element with a child <exterior>, <LinearRing> and <coordList> elements. <Exterior> specifies this shape as defining the outside of an area, and <LinearRing> states that the coordinates should be connected with straight lines.
  • A bounding box defines a rectangular region used to define the extents of a map or define a rough area of interest. A GML box is called an Envelope. It consists of an <Envelope> element with a child <lowerCorner> element and a child <upperCorner> element. .

Of course, as in Simple, the default CRS is WGS84 with coordinates written in decimal degrees. From simplistic point of view, locations can be described using familiar features like postal codes, street names, address, landmarks and assigned points, lines or boundaries. Upper and lower elevation limits can be used if three-dimensional data is needed. Also while defining polygons, the edge may be a geodesic – a line representing the shortest distance between two points on the earth’s surface.

When inches or centimeter accuracy are required, then the latitude/longitude coordinates supported by WGS84 is not sufficient. Other coordinate reference systems – like UTM or Stateplane – are used especially by engineers, surveyors, scientists and by specific communities that share specialized information.

If your GeoRSS GML data is in a coordinate reference system other than WGS84, add in an srsName attribute to your geometry.  To use 3D decimal degrees, specify the srsDimension attribute, and include a third number in your coordinate tuple.




       <gml:Point srsName=”urn:ogc:def:crs:EPSG:6.6:4979″ srsDimension=”3″>

          <gml:pos>42.3453 -156.2342 45</gml:pos>




Some of the points worth noting about GML are:

  • The state of a feature is defined by a set of properties (number of properties determined by the feature), where each property is a {name, type, value} triple.
  • Geographic features with geometry are those with properties that may be geometry-valued.
  • Geographic features in GML include coverages and observations as subtypes.

1. A coverage has a coverage function with a spatial domain and a value set range of homogeneous two to n dimensional tuples. It can represent a collection of features “to model and make visible spatial relationships between, and the spatial distribution of, earth phenomena.”

2. An observation models the act of observing, often with a camera, a person or some form of instrument. An observation is considered to be a GML feature with a time at which the observation took place, and with a value for the observation.

  • A reference system provides a scale of measurement for assigning values “to a location, time or other descriptive quantity or quality”.

1. A coordinate reference system (CRS) is a set of coordinate system axes that is related to the earth through a datum that defines the size and shape of the earth. The “parent” geometry element of a geometric complex or geometric aggregate indicates the CRS in which the measurements are made for it as well as its constituent geometries.

2. A temporal reference system provides standard units for measuring time and describing temporal length or duration. Following ISO 8601, the Gregorian calendar with UTC is used in GML as the default temporal reference system.

  • A Units of Measure (UOM) dictionary provides definitions of numerical measures of physical quantities, such as length, temperature, and pressure, and of conversions between UOMs

GML is a large and complex language which is also defined by XML schema. The application schema defines <georss:where> as the tag that signals geographic content–either in GeoRSS Simple or GML. Refer http://www.georss.org/xml/1.1/geoss.xsd. Profiles that contain only those elements of GML needed (subsets) are defined for the encoding job at hand (e.g., http://www.georss.org/xml/1.1/gmlgeorss.xsd).

GeoRSS is a method of describing and pinpointing the physical locations of Internet content. GeoRSS is designed for use with Atom 1.0, RSS 2.0 and RSS 1.0 and can also be easily used in non-RSS XML encodings. The following are some of the examples of GeoRSS feed is used:

  • To describe places of interest in a boat trip or a hike, you can specify the trip’s path with a line and the specific locations of interest with points.
  • To create a calendar of events along with its specific geographic locations
  • To represent road hazards like Potholes, Traffic Light, Flood etc. in a city (ref. http://msdn.microsoft.com/en-us/library/aa907682.aspx)
  • Using GeoRSS, it is possible to search for Websites or items based on relevant geographic locations.
  • To pass on or search for information on the specific geographic areas, say veterinarians getting details of a spread of a wild life disease among a specific breed in a certain area.
  • GeoRSS facilitates the immediate dissemination of RSS feeds to specific users based on event type and location. For example, during an outbreak of severe weather in Minnesota, all tornado-related alerts and warnings can be delivered to computers, PDAs, mobiles or other communications devices within 100 kilometers of a specified location (say by using postal ZIP code).
  • To map your photos in MapQuest

GeoRSS GML is an evolving standard and is adopted by standard names like Google, IBM and Microsoft. The Folksonomy is emerging and in the current state quite flexible. GML forms a good backbone on which Mashups can be built easily.

 Comment on this Post

There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when other members comment.

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

Share this item with your network: