Geo-enabling Datasets

From OSF Wiki
Jump to: navigation, search

"Geo-enabling" means adding geographical locational specifications to records indexed in one or more datasets used by the open semantic framework. Geo-enabling may occur via "features" of one of three types:

  • Placemarks -- these are specific points of interest (POIs) at a given lat/long coordinate, these are often shown as "thumbtack", "teardrop" or "pushpin" type markers on Web maps
  • Polygons -- these are enclosed regions of at least four (quadrilateral) or more points, including quite complicated enclosed shapes, such as national or county boundaries
  • Polylines -- these are lines of two or more points, also potentially quite complicated, such a rivers or bus routes.

This point, polygons or polylines information described for a specific record "geo-enable" it; which means that this record, and information about this record, can be located and displayed on a [web] map.

The geo aspects of OSF are grounded in the Open Geospatial Consortium (OGC) KML specification (originally provided by Google), with a key reliance on WGS 84 and GeoNames ontologies.

Specifications

  • KML - Keyhole Markup Language (KML) is an XML schema for expressing geographic annotation and visualization within Internet-based, two-dimensional maps and three-dimensional Earth browsers. OSF accepts KML as input to OSF Web Service modules, and follows its conventions for general geo-based specifications. KML is an open standard officially named the OpenGIS® KML Encoding Standard (OGC KML). It is maintained by the Open Geospatial Consortium (OGC). See OGC KML for the complete specification for OGC KML. You can also see the complete XML schema for KML. See further the general KML API specifications
  • WGS 84 - the World Geodetic System is a standard for use in cartography, geodesy, and navigation. It comprises a standard coordinate frame for the Earth, a standard spheroidal reference surface (the datum or reference ellipsoid) for raw altitude data, and a gravitational equipotential surface (the geoid) that defines the nominal sea level. The latest revision is WGS 84 (dating from 1984 and last revised in 2004)
  • GeoNames - natural feature types and place names are based on GeoNames

Coordinate Specification

The WSG 84 specification (also used by GPS, global positioning systems) uses a coordinates format for the pair of latitude and longitude (with an optional altitude). The values are lat or long degrees, followed by a decimal number with a greater number of digits signaling more precision. The sign minus (-) is used for the direction south latitude and west longitude. The latitude and longitude are separated by the comma symbol (,), as these examples show:

  52.5163 , 13.3779
  40.7682 , -73.9816
 -22.9708 , -43.1830

The values for latitude and longitude after the digit are displayed in decimal degrees, rather than the more common degrees, minutes and seconds.[1] The decimal degrees can be converted to minutes and seconds using a simple calculation. Simply multiply the decimal portion of the degree reading by 60 to get decimal minutes. Multiplying the decimal portion of the minutes by 60 will give seconds. For example take 45.211 degrees. Multiply .211 by 60 and you get 12.66 minutes. Multiply .66 by 60 and you get 39.6 seconds. So 45.211 = 45 degrees 12 minutes 40 seconds or 45°12'40".

The acceptable coordinate format can have a varying number of decimal places, based on the accuracy available and desired:

places decimal deg. distance
0 1.0 111.319 km
1 0.1 11.131 km
2 0.01 1.113 km
3 0.001 111.3 m
4 0.0001 11.13 m
5 0.00001 1.11 m
6 0.000001 11.1 cm
7 0.0000001 1.11 cm

Getting Geocoordinates

See the separate Obtaining Geocoordinates document.

irON Specification

These specifications are then expressible in irON datasets in various serializations:

Placemarks

Also known as "points", are specific geographical positions that specify where a record can be located on a map. For example, the location of an organization would be determined by a placemark: a specific location on a World map. A placemark consists of:

A longitude, a latitude and an optional altitude coordinate. Longitude and latitude values are in degrees, where
  • longitude ≥ −180 and <= 180
  • latitude ≥ −90 and ≤ 90
  • altitude values (optional) are in meters above sea level

In OSF, the geo-enabled records should be described using these three specific attributes that come from the WGS84 ontology:

  1. http://www.w3.org/2003/01/geo/wgs84_pos#long (longitude)
  2. http://www.w3.org/2003/01/geo/wgs84_pos#lat (latitude)
  3. http://www.w3.org/2003/01/geo/wgs84_pos#alt (altitude)

An RDF+XML example of a properly specified record is:

<foaf:Organization rdf:resource="">
 <wgs84:long>-90.869489</wgs84:long>
 <wgs84:lat>48.254501</wgs84:lat>
</foaf:Organization>

In short, to have a geo-enabled record displayed on a map using a placemark, it should be described with at least a wgs84:long longitude attribute and a wgs84:lat attribute.

Polygons

Polygons are specific geographical features that specify where a record is located on a map and its boundary region; the polygon shape is what represents that region. For example, the location of a neighborhood, and the region that is compromised in that record, would be determined by a polygon: a specific location on a World map with the description of a region bounded by this record. A polygon consists of:

Four or more tuples, each consisting of floating point values for longitude, latitude, and altitude. The altitude component is optional. The elements of the tuples are delimited by a comma, and the different tuples are delimited by a space. The last coordinate must be the same as the first coordinate. Coordinates are expressed in decimal degrees only.

In OSF, the geo-enabled records using polygons should be described using this SCO Ontology attribute:

   http://purl.org/ontology/sco#polygonCoordinates

An example of a properly specified input is:

An RDF+XML example of a properly specified record is:

<foaf:Organization rdf:resource="">
  <sco:polygonCoordinates>
    -122.365662,37.826988,0 -122.365202,37.826302,0 -122.364581,37.82655,0 -122.365038,37.827237,0 -122.365662,37.826988,0 
  </sco:polygonCoordinates>
</foaf:Organization>

In short, to have a geo-enabled record that uses a polygon (which is a region with a boundary drawn as a polygon), it should be described with the sco:polygonCoordinates attribute.

Polylines

Polylines are specific geographical features that specify where a record is located in a map and a particular linear path describing the record. For example, description of a bus path record would be described using a polyline shape on a map: a specific location on a World map with the description of a linear path representing that record. A polyline consists of:

Two or more coordinate tuples, each consisting of floating point values for longitude, latitude, and altitude. The altitude component is optional. The elements of the tuples are delimited by a comma, and the different tuples are delimited by a space.

An RDF+XML example of a properly specified record is:

 <foaf:Organization rdf:resource="">
   <sco:polylineCoordinates>
     -122.364383,37.824664,0 -122.364152,37.824322,0 
   </sco:polylineCoordinates>
 </foaf:Organization>

In short, to have a geo-enabled record that uses a polyline (which is a path description of the record on a map), it should be described with the sco:polylineCoordinates attribute.


  1. For a relatively readable description of this system and its accuracy and how to express it, see the notes on http://www.rootsweb.ancestry.com/~qcchatea/placenames/latlong.htm