location-formats: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m (Reverted edits by ABIDEEN10 (Talk) to last version by Tantek)
 
(65 intermediate revisions by 26 users not shown)
Line 1: Line 1:
= Location Formats =
<h1>location formats</h1>
__TOC__
{{TOC-right}}
This is a list of previous efforts at location / geographic ("Geo") data formats and protocols, as background research for developing a location format.
 
This is a list of previous efforts at location / geographic ("Geo") data formats and protocols, as background research for developing [[location]] microformats. Continuation of work from [[location-examples]], and following onto [[location-brainstorming]].
 
== Authors ==
* [[User:Tantek|Tantek Çelik]]
* Bud Gibson
* Ryan King
* Eron Wright
* ...
* please add yourself if you help(ed) with this document.


== vCard & hCard ==
== vCard & hCard ==
vCard (RFC2426) and [[hcard]] includes 'adr', a way to markup addresses. There is also a field called 'geo' for lat/long.
vCard (RFC2426) and [[hcard]] include 'adr', a way to markup addresses. They also have a field called 'geo' for lat/long.
 
== UPU S42 & OASIS xNAL ==
UPU S42 is a standard for representing postal addresses.  UPU, the Universal Postal Union, is the consortium of all national posts. See [http://xml.coverpages.org/ni2003-06-17-a.html UPU S42 Announcement].  xNAL, the XML Name
and Address Language, is an earlier attempt to standardize on the components of addresses developed by OASIS,
a consortium of business-process weenies.  The distinction between vCard/hCard and S42/xAL/xNAL comes down to
whether the address line elements themselves are decomposed.  For example, in xNAL you can specify components like
street number, street prefix directional, street name, street type, street postfix directional, subaddress type (Suite), subaddress number.
 
It is not always possible to conclusively determine these components from an address line, even in the US where addresses are more canonical than others.  "A 4TH ST W STE 10" is a legal address line in the US.  The street number and name are required (in the US) so this could be canonically decomposed as streetnumber="A", streetname="4TH", streettype="ST", postdirectional="W", subtype="STE", subtypenumber="10". 
 
UPU S42 and OASIS xNAL standards are likely overkill for tagging general web content.  However, they are important standards that should be considered in web-services involving both geocoding and reverse-geocoding. Perhaps standards
related to decomposed addresses is something that should be placed on another page.
 
In addition, there should be pointers to national address standards.
 
USPS publishes a complete list of canonical abbreviations for both streettypes and subtypes.  Their publications are self-inconsistent, but it is easy to infer the correct mappings.  See [http://www.usps.com/ncsc/lookups/usps_abbreviations.htm USPS Acronyms &amp; Abbreviations]
 
New Zealand apparently adopted a variant of xNAL [http://www.e-government.govt.nz/docs/xnal-guidelines-1-0/index.html NZ xNAL Guidelines Release 1.0].


== ICBM ==
== ICBM ==
Comma seperated list of lat/long <code><meta name="ICBM" content="XXX.XXXXX, XXX.XXXXX"></code>
One comma seperated pair of lat/long <code><meta name="ICBM" content="XXX.XXXXX, XXX.XXXXX"></code>
[http://www.catb.org/~esr/jargon/html/I/ICBM-address.html]
[http://www.catb.org/~esr/jargon/html/I/ICBM-address.html]
This is incorrect. It is one pair, not a list.


== GeoUrl ==
== GeoUrl ==
* [http://geourl.org/ GeoURL]
* [http://geourl.org/ GeoURL]
** This seems to have a decent amount of geeky adoption, though there are lots of typical invisible metadata problems, coordinates reversed, postive instead of negative etc.
* [http://www.multimap.com/ Multimap.com] provides similar functionality to GeoUrl, searching for websites and weblogs which are geotagged or ICBM tagged, and adding them to local information databases.


== Flickr Geotags ==
== Flickr Geotags ==
Line 22: Line 49:
* [http://mappr.com mappr], [http://brainoff.com/worldkit/flick mapping flickr] also support these geotags.
* [http://mappr.com mappr], [http://brainoff.com/worldkit/flick mapping flickr] also support these geotags.
* flickr also supports [http://www.flickr.com/services/api/flickr.photos.getExif.html EXIF headers], which can be used for storing location.
* flickr also supports [http://www.flickr.com/services/api/flickr.photos.getExif.html EXIF headers], which can be used for storing location.
* [http://beta.plazes.com plazes] also allows flickr photos to be tagged with geotags
This is somewhat of a problem though, as mechanically generated "tags" are not really tags.  Including/setting Flickr "Geotags" could be considered pollution of truly user entered text, since the text of geotags is merely an encoding for a point on a map.


== Geotagging ==
== Geotagging ==
* Geotagging has been employed in other hosted services: [http://brainoff.com/worldkit/delicious/ delicious], [http://worldkit.typepad.com/ Typepad], [http://blog.360.yahoo.com/blog-yRZQpvY8cq2kWXBO5ZrxEmrwsg--?p=9 Yahoo 360]
* Geotagging has been employed in other hosted services: [http://brainoff.com/worldkit/delicious/ delicious], [http://worldkit.typepad.com/ Typepad], [http://blog.360.yahoo.com/blog-yRZQpvY8cq2kWXBO5ZrxEmrwsg--?p=9 Yahoo 360], [http://www.zoto.com/users/geotags/ Zoto]


== A2B ==
But what do these references to "geotagging" mean?
[http://www.a2b.cc/ A2B] is a location based search engine. Lat and long only. Seems to pick stuff up from geo meta tags. Pages can either be manually entered or [http://www.a2b.cc/help-searching-addurl-blogping.a2b pinged]. They support lat/long and ICBM meta tags.


== RSS ==
== RSS ==
Line 37: Line 66:
* [http://earthquake.usgs.gov/recenteqsww/rss.html USGS earthquake feed] - most widely used geocoded RSS feed
* [http://earthquake.usgs.gov/recenteqsww/rss.html USGS earthquake feed] - most widely used geocoded RSS feed
* [http://brainoff.com/worldkit/doc/polygon.php Polygons and lines in polygons] - A simple format for expressing polygons and lines is defined for worldKit
* [http://brainoff.com/worldkit/doc/polygon.php Polygons and lines in polygons] - A simple format for expressing polygons and lines is defined for worldKit
* [http://developer.yahoo.net/maps/ Yahoo Maps API] - uses "geo" ( http://www.w3.org/2003/01/geo/wgs84_pos# ) and "ymaps" ( http://api.maps.yahoo.com/Maps/V1/AnnotatedMaps.xsd ) namespaces to spatially-reference RSS as part of its API, specifically geo:lat, geo:long, ymaps:Address, ymaps:CityState, ymaps:Zip
* [http://georss.org GeoRSS]


== Address2Coordinates ==
== RDF ==
Both of these systems are freely available sources of address to lat/long mappings (US only). I think they're based on US Census data, so they might be up to date.
* [http://www.census.gov/geo/www/tiger/ TIGER]
* [http://www.itl.nist.gov/fipspubs/55new/nav-top-fr.htm FIPS]
* [http://geocoder.us/ geocoder]
* You can get coordinates from UK post-codes from [http://www.streetmap.co.uk streetmap]
* Worldwide city level location data (over 4 million entries) is available from the [http://earth-info.nga.mil/gns/html/ GNS]. This is accessible as a REST service from the [http://brainoff.com/geocoder/ worldkit geocoder]
 
== Plazes ==
[http://plazes.com Plazes] is a system that does geo-info based on the network access point that the user's computer is connected to. They use tagging to identify locations.
 
== Mapping Sites ==
* [http://www.multimap.com Multimap]
* [http://maps.google.com Google Maps]
* [http://www.mapquest.com MapQuest]
* [http://maps.yahoo.com Yahoo Maps]
* [http://www.mapblast.com MapBlast]
* [http://mapufacture.com mapufacture]
 
== Semantic Web ==
* [http://www.geosemantics.org/ Geosemantics Interest Group]
* [http://www.geosemantics.org/ Geosemantics Interest Group]
* [http://www.opengeospatial.org/ Open GeoSpatial Consortium]
* [http://esw.w3.org/topic/GeoOnion GeoOnion] - a SW vocuabulary for relating items by distance from each other.
* [http://esw.w3.org/topic/GeoOnion GeoOnion] - a SW vocuabulary for relating items by distance from each other.
* [http://www.mapbureau.com/rdfmap1.0/index.html RDFMap]
* [http://www.mapbureau.com/rdfmap1.0/index.html RDFMap]
Line 65: Line 76:


== GML ==
== GML ==
[http://www.opengeospatial.org/docs/02-023r4.pdf Geographic Markup Language] - a "600 page standard"
[http://www.opengeospatial.org/docs/02-023r4.pdf Geographic Markup Language] provides the most complete XML descriptiono of geographic information available.  Fortunately, it is also in wide-spread use, so a commonly-used subset of the 600-page specification has emerged.  GML is used in the OGC WFS payload described below.
 
<blockquote style="background: white; border: 1px solid black; padding: 1em;">
== Open Geospatical Consortium - OGC ==
Since 1994, [http://www.opengeospatial.org/ Open Geospatial Consortium] has been developing open specifications to enable the exchange of geographic information between applications.  While some GIS vendors opposed OGC initially, essentially all commercial GIS software companies have broken down their proprietary "stovepipes" by embracing OGC specifications.  The recent groundswell of ajax mapping applications can benefit tremendously from using OGC specs.
 
=== WMS ===
The [http://portal.opengeospatial.org/files/?artifact_id=5316 OGC Web Map Service (WMS) specification] makes it easy to request map images from a map rendering engine, such as the [http://mapserver.gis.umn.edu/ UMN Map Server].  It is straightforward to build dynamic tiling ("slippy map") ajax applications that pull in OGC map tiles.  At Where 2.0, [http://www.metacarta.com MetaCarta] demonstrated such an OGC-capable ajax GIS client.  The portal map providers (yahoo/gmaps/msn/map quest) do not yet offer WMS interfaces, so someone should wrap their proprietary interfaces in a WMS wrapper to encourage them :-)
 
=== WCS ===
 
Web Coverage Service extends WMS to enable attribute information about large area overview maps.
 
 
=== WFS ===
The [https://portal.opengeospatial.org/files/?artifact_id=8339 OGC Web Feature Service (WFS) specification] is the best way to express geographic information about Web content.  It is more complex than the <i>ad hoc</i> geoURL syntax, and for good reason:  it can be loaded directly into any OGC-capable GIS even if the coordinate information is in a different projection/datum or is more complex than just a point.
 
WFS provides a robust means of querying for geographic entities, such as points, polygons, and more complex feature types.  One can define new feature types simply by describing them.  One can even specify the visual appearance of the geographic features using the [https://portal.opengeospatial.org/files/?artifact_id=1188 OGC Styled Layer Description (SLD) specification].
 
WFS is to vector map data, as WMS is to raster map data.
 
Geographic search results, such as the yellow page information from the portals, could be presented in WFS.  John Battelle commented that RSS forces publishers to attach their business model to their content, instead of to the web site holding the content, so that they can make money no matter where their content flows.  The search portals will probably be forced to do the same, e.g. putting click-through ads in the RSS search results or WFS yellow page results, so that even when you display them in your customized ajax mapping application, the portal publishing the search results can still make money.
 
</blockquote>


== Google ==
== Google ==
Line 72: Line 106:
  "Google Earth has an XML schema for describing a place on the earth. Will be releasing today or tomorrow."  
  "Google Earth has an XML schema for describing a place on the earth. Will be releasing today or tomorrow."  
   - John Hanke of Google/Keyhole.
   - John Hanke of Google/Keyhole.
Official KML  [http://www.keyhole.com/kml/kml_doc.html Docs] and [http://www.keyhole.com/kml/kml_tut.html Tutorial]
[http://bbs.keyhole.com/ubb/showthreaded.php/Cat/0/Number/16076/an/khGlobe/page/0#16076 Reverse-Engineered KML Schema] (deprecated now that KML 2.0 is officially released)
Note that KML supports the ''altitude'' component of a coordinate to support 3D terrain.
== NMEA ==
[http://www.gpsinformation.org/dale/nmea.htmhttp://www.gpsinformation.org/dale/nmea.htm Standard and Proprietary NMEA Sentances]
== Wikipedia ==
[http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Geographical_coordinates Geo:Coordinates in Wikipedia Project]
== ISO6709 ==
[http://en.wikipedia.org/wiki/ISO_6709 : ISO6709 Alpha-numerical representation of Latitude,Longitude,(Altitude)]
== Other Formats ==
* GPX = GPS XML format
* [http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Geographical_coordinates Wikipedia markup styles]
* [http://openguides.org/ OpenGuides] and [http://b.evnt.org evnt] are both looking into real-world/folksonomic location name mappings
== Location APIs ==
=== Google Maps API ===
=== Google Maps API ===
* [http://www.google.com/apis/maps/ Google Maps API documentation]
* [http://www.google.com/apis/maps/ Google Maps API documentation]
* KML = keyhole markup language [http://bbs.keyhole.com/boards/showflat/Board-features-Number-16076-Forum-All_Forums-Words-schema-Match-Entire%20Phrase-Searchpage-0-Limit-100-Old-allposts-Main-16076-Search-true KML Reverse Engineered Schema]


== Yahoo Maps API ==
=== Yahoo Maps API ===
* [http://developer.yahoo.net/maps/ Yahoo Maps API documentation]
* [http://developer.yahoo.net/maps/ Yahoo Maps API documentation]
== Location Data, Tools and Sites ==
=== Address2Coordinates ===
These systems are freely available sources of address to lat/long mappings (US only). The first few are based on US Census data, so they might be up to date.
* [http://www.census.gov/geo/www/tiger/ TIGER]
* [http://www.itl.nist.gov/fipspubs/55new/nav-top-fr.htm FIPS]
* [http://geocoder.us/ geocoder]
* You can get coordinates from UK post-codes from [http://www.streetmap.co.uk streetmap]
* Worldwide city level location data (over 4 million entries) is available from the [http://earth-info.nga.mil/gns/html/ GNS]. This is accessible as a REST service from the [http://brainoff.com/geocoder/ worldkit geocoder]
* [http://www.mysociety.org/?p=83 mysociety.org] is providing an interesting name-based location look-up services.  The results are returned as a CSV file! &nbsp; For instance, the query [http://gaze.mysociety.org/gaze-rest?f=find_places&country=US&state=CA&query=sunnyvale http://gaze.mysociety.org/gaze-rest?f=find_places&country=US&state=CA&query=sunnyvale] returns
<pre>
"Name","In","Near","Latitude","Longitude","State","Score"
"Sunnyvale","Santa Clara County","","37.36889","-122.03528","CA","100"
</pre>
but with a mime-type (text/csv) that browsers don't understand.
=== A2B ===
[http://www.a2b.cc/ A2B] is a location based search engine. Lat and long only. Seems to pick stuff up from geo meta tags. Pages can either be manually entered or [http://www.a2b.cc/help-searching-addurl-blogping.a2b pinged]. They support lat/long and ICBM meta tags.




== OGC ==
=== Plazes ===
[http://plazes.com Plazes] is a system that does geo-info based on the network access point that the user's computer is connected to. They use tagging to identify locations.


[http://www.opengeospatial.org/ Open Geospatial Consortium]
=== Mapping Sites ===
* [http://www.multimap.com Multimap]
* [http://maps.google.com Google Maps]
* [http://www.mapquest.com MapQuest]
* [http://maps.yahoo.com Yahoo Maps]
* [http://www.mapblast.com MapBlast]
* [http://mapufacture.com mapufacture]
* [http://www.mister-map.com Mister-Map]


== WCS ==
== see also ==
* [[location]]
* [[location-examples]]
* [[location-brainstorming]]

Latest revision as of 04:58, 7 April 2013

location formats

This is a list of previous efforts at location / geographic ("Geo") data formats and protocols, as background research for developing location microformats. Continuation of work from location-examples, and following onto location-brainstorming.

Authors

  • Tantek Çelik
  • Bud Gibson
  • Ryan King
  • Eron Wright
  • ...
  • please add yourself if you help(ed) with this document.

vCard & hCard

vCard (RFC2426) and hcard include 'adr', a way to markup addresses. They also have a field called 'geo' for lat/long.

UPU S42 & OASIS xNAL

UPU S42 is a standard for representing postal addresses. UPU, the Universal Postal Union, is the consortium of all national posts. See UPU S42 Announcement. xNAL, the XML Name and Address Language, is an earlier attempt to standardize on the components of addresses developed by OASIS, a consortium of business-process weenies. The distinction between vCard/hCard and S42/xAL/xNAL comes down to whether the address line elements themselves are decomposed. For example, in xNAL you can specify components like street number, street prefix directional, street name, street type, street postfix directional, subaddress type (Suite), subaddress number.

It is not always possible to conclusively determine these components from an address line, even in the US where addresses are more canonical than others. "A 4TH ST W STE 10" is a legal address line in the US. The street number and name are required (in the US) so this could be canonically decomposed as streetnumber="A", streetname="4TH", streettype="ST", postdirectional="W", subtype="STE", subtypenumber="10".

UPU S42 and OASIS xNAL standards are likely overkill for tagging general web content. However, they are important standards that should be considered in web-services involving both geocoding and reverse-geocoding. Perhaps standards related to decomposed addresses is something that should be placed on another page.

In addition, there should be pointers to national address standards.

USPS publishes a complete list of canonical abbreviations for both streettypes and subtypes. Their publications are self-inconsistent, but it is easy to infer the correct mappings. See USPS Acronyms & Abbreviations

New Zealand apparently adopted a variant of xNAL NZ xNAL Guidelines Release 1.0.

ICBM

One comma seperated pair of lat/long <meta name="ICBM" content="XXX.XXXXX, XXX.XXXXX"> [1]

GeoUrl

  • GeoURL
    • This seems to have a decent amount of geeky adoption, though there are lots of typical invisible metadata problems, coordinates reversed, postive instead of negative etc.
  • Multimap.com provides similar functionality to GeoUrl, searching for websites and weblogs which are geotagged or ICBM tagged, and adding them to local information databases.

Flickr Geotags

This is somewhat of a problem though, as mechanically generated "tags" are not really tags. Including/setting Flickr "Geotags" could be considered pollution of truly user entered text, since the text of geotags is merely an encoding for a point on a map.

Geotagging

But what do these references to "geotagging" mean?

RSS

Several people have tried putting geographic information into RSS.

RDF

  • Geosemantics Interest Group
  • GeoOnion - a SW vocuabulary for relating items by distance from each other.
  • RDFMap
  • GeoRDF similar effort to collect prior art, for an effort in interoperability between OGC standards and various lightweight geo formats.

GML

Geographic Markup Language provides the most complete XML descriptiono of geographic information available. Fortunately, it is also in wide-spread use, so a commonly-used subset of the 600-page specification has emerged. GML is used in the OGC WFS payload described below.

Open Geospatical Consortium - OGC

Since 1994, Open Geospatial Consortium has been developing open specifications to enable the exchange of geographic information between applications. While some GIS vendors opposed OGC initially, essentially all commercial GIS software companies have broken down their proprietary "stovepipes" by embracing OGC specifications. The recent groundswell of ajax mapping applications can benefit tremendously from using OGC specs.

WMS

The OGC Web Map Service (WMS) specification makes it easy to request map images from a map rendering engine, such as the UMN Map Server. It is straightforward to build dynamic tiling ("slippy map") ajax applications that pull in OGC map tiles. At Where 2.0, MetaCarta demonstrated such an OGC-capable ajax GIS client. The portal map providers (yahoo/gmaps/msn/map quest) do not yet offer WMS interfaces, so someone should wrap their proprietary interfaces in a WMS wrapper to encourage them :-)

WCS

Web Coverage Service extends WMS to enable attribute information about large area overview maps.


WFS

The OGC Web Feature Service (WFS) specification is the best way to express geographic information about Web content. It is more complex than the ad hoc geoURL syntax, and for good reason: it can be loaded directly into any OGC-capable GIS even if the coordinate information is in a different projection/datum or is more complex than just a point.

WFS provides a robust means of querying for geographic entities, such as points, polygons, and more complex feature types. One can define new feature types simply by describing them. One can even specify the visual appearance of the geographic features using the OGC Styled Layer Description (SLD) specification.

WFS is to vector map data, as WMS is to raster map data.

Geographic search results, such as the yellow page information from the portals, could be presented in WFS. John Battelle commented that RSS forces publishers to attach their business model to their content, instead of to the web site holding the content, so that they can make money no matter where their content flows. The search portals will probably be forced to do the same, e.g. putting click-through ads in the RSS search results or WFS yellow page results, so that even when you display them in your customized ajax mapping application, the portal publishing the search results can still make money.

Google

Google Earth XML

20050629 at Where 2.0 conference:

"Google Earth has an XML schema for describing a place on the earth. Will be releasing today or tomorrow." 
  - John Hanke of Google/Keyhole.

Official KML Docs and Tutorial

Reverse-Engineered KML Schema (deprecated now that KML 2.0 is officially released)

Note that KML supports the altitude component of a coordinate to support 3D terrain.

NMEA

Standard and Proprietary NMEA Sentances

Wikipedia

Geo:Coordinates in Wikipedia Project

ISO6709

: ISO6709 Alpha-numerical representation of Latitude,Longitude,(Altitude)

Other Formats

Location APIs

Google Maps API

Yahoo Maps API

Location Data, Tools and Sites

Address2Coordinates

These systems are freely available sources of address to lat/long mappings (US only). The first few are based on US Census data, so they might be up to date.

"Name","In","Near","Latitude","Longitude","State","Score"
"Sunnyvale","Santa Clara County","","37.36889","-122.03528","CA","100"

but with a mime-type (text/csv) that browsers don't understand.

A2B

A2B is a location based search engine. Lat and long only. Seems to pick stuff up from geo meta tags. Pages can either be manually entered or pinged. They support lat/long and ICBM meta tags.


Plazes

Plazes is a system that does geo-info based on the network access point that the user's computer is connected to. They use tagging to identify locations.

Mapping Sites

see also