W3C GeoInfo - bounswe/bounswe2022group1 GitHub Wiki

W3C GeoInfo

W3C GeoInfo aims representing mapping and location data provided by geolocation APIs within the RDF graph data model which is a standard model for data interchange on the Web. RDF has features that facilitate data merging even if the underlying schemas differ, and it specifically supports the evolution of schemas over time without requiring all the data consumers to be changed. (more about RDF: https://www.w3.org/RDF/)

Geolocation API

The Geolocation API defines a high-level interface to location information associated only with the device hosting the implementation.

Common sources of location information

  • Global Positioning System (GPS)
  • Location inferred from network signals such as IP address
  • RFID
  • WiFi
  • Bluetooth MAC addresses
  • GSM/CDMA cell IDs
  • User input

However, there is no guarantee that API returns the device's actual location since Geolocation API depends on location information sources such as user input.

If an end user grants permission, the Geolocation API:

  • Provides location data as latitude, longitude, altitude, speed, and heading, as well as the accuracy of the acquired location data, and the approximate time for when the position was acquired via the GeolocationPosition interface.
  • Supports "one-shot" position updates via the getCurrentPosition() method and the ability to receive updates for when the position of the hosting device significantly changes via the watchPosition() method.
  • Using the PositionOptions's maximumAge, allows an application to request a cached position whose age is no greater than a specified value (only the last position is cached).
  • Provides a way for the application to receive updates about errors, as a GeolocationPositionError, that have occurred while acquiring a position. And through enableHighAccuracy, supports requesting "high accuracy" position data, though the request can be ignored by the user agent.

Checking permission to use the API

When checking permission to use the API, a user agent MAY suggest time-based permission lifetimes, such as "24 hours", "1 week", or choose to remember the permission grant indefinitely. However, it is RECOMMENDED that a user agent prioritize restricting the permission lifetime to a single session: This can be, for example, until the realm is destroyed, the end-user navigates away from the origin, or the relevant browser tab is closed

Sources