Interface LocationSpatialSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface LocationSpatialSession extends OsidSession

This session defines methods for retrieving locations through spatial queries.

This lookup session defines several views:

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete result set or is an error condition
  • isolated map view: All location methods in this session operate, retrieve and pertain to locations defined explicitly in the current map. Using an isolated view is useful for managing Locations with the LocationAdminSession .
  • federated map view: All location lookup methods in this session operate, retrieve and pertain to all locations defined in this map and any other locations implicitly available in this map through map inheritence.

The methods useFederatedMapView() and useIsolatedMapView() behave as a radio group and one should be selected before invoking any lookup methods.

Locations may have an additional records indicated by their respective record types. The record may not be accessed through a cast of the Locations .

  • Method Details

    • getMapId

      Id getMapId()
      Gets the Map Id associated with this session.
      Returns:
      the Map Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getMap

      Gets the Map associated with this session.
      Returns:
      the map
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canLookupLocations

      boolean canLookupLocations()
      Tests if this user can perform Location lookups. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in a PERMISSION_DENIED . This is intended as a hint to an application that may not offer lookup operations to unauthorized users.
      Returns:
      false if lookup methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeLocationView

      void useComparativeLocationView()
      The returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.
      Compliance:
      mandatory - This method is must be implemented.
    • usePlenaryLocationView

      void usePlenaryLocationView()
      A complete view of the Location returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.
      Compliance:
      mandatory - This method is must be implemented.
    • useFederatedMapView

      void useFederatedMapView()
      Federates the view for methods in this session. A federated view will include locations in maps which are children of this map in the map hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedMapView

      void useIsolatedMapView()
      Isolates the view for methods in this session. An isolated view restricts retrievals to this map only.
      Compliance:
      mandatory - This method is must be implemented.
    • getLocationByCoordinate

      Location getLocationByCoordinate(Coordinate coordinate) throws OperationFailedException, PermissionDeniedException
      Gets the closest bounding location of the given coordinate.
      Parameters:
      coordinate - a coordinate
      Returns:
      the returned Location
      Throws:
      NullArgumentException - coordinate is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - coordinate not supported
      Compliance:
      mandatory - This method must be implemented.
    • getLocationsByCoordinates

      LocationList getLocationsByCoordinates(CoordinateList coordinates) throws OperationFailedException, PermissionDeniedException
      Gets the closest bounding locations in the given coordinate list. In plenary mode, all locations are returned for each supplied coodrinate or an error results. In comparative mode, the returned list may omit inaccessible locations or reorder them.
      Parameters:
      coordinates - a coordinate list
      Returns:
      the returned Locations
      Throws:
      NullArgumentException - coordinates is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - a coordinate is not supported
      Compliance:
      mandatory - This method must be implemented.
    • getLocationsInSpatialUnit

      LocationList getLocationsInSpatialUnit(SpatialUnit spatialUnit) throws OperationFailedException, PermissionDeniedException
      Gets the locations that are included inside the given spatial unit. In plenary mode, all locations are returned or an error results.
      Parameters:
      spatialUnit - a spatial unit
      Returns:
      the returned Locations
      Throws:
      NullArgumentException - spatialUnit is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - spatial unit not supported
      Compliance:
      mandatory - This method must be implemented.
    • getLocationsOverlappingSpatialUnit

      LocationList getLocationsOverlappingSpatialUnit(SpatialUnit spatialUnit) throws OperationFailedException, PermissionDeniedException
      Gets the locations that are included inside or touch the given spatial unit. In plenary mode, all locations are returned or an error results.
      Parameters:
      spatialUnit - a spatial unit
      Returns:
      the returned Locations
      Throws:
      NullArgumentException - spatialUnit is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - spatial unit not supported
      Compliance:
      mandatory - This method must be implemented.