Interface PathSpatialSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface PathSpatialSession extends OsidSession

This session defines methods for retrieving paths 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 path methods in this session operate, retrieve and pertain to paths defined explicitly in the current map.
  • federated map view: All path lookup methods in this session operate, retrieve and pertain to all paths defined in this map and any other paths 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.

  • 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.
    • canLookupPaths

      boolean canLookupPaths()
      Tests if this user can perform Path 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.
    • useComparativePathView

      void useComparativePathView()
      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.
    • usePlenaryPathView

      void usePlenaryPathView()
      A complete view of the Path 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 paths 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.
    • getPathsAtCoordinate

      PathList getPathsAtCoordinate(Coordinate coordinate) throws OperationFailedException, PermissionDeniedException
      Gets the paths at the given coordinate. In plenary mode, all paths are returned or an error results. In comparative mode, the returned list may omit inaccessible paths or reorder them.
      Parameters:
      coordinate - a coordinate
      Returns:
      the returned PathList
      Throws:
      NullArgumentException - coordinate is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - coordinate not supported
      Compliance:
      mandatory - This method must be implemented.
    • getPathsAtCoordinates

      PathList getPathsAtCoordinates(CoordinateList coordinates) throws OperationFailedException, PermissionDeniedException
      Gets the paths at the given coordinate list. In plenary mode, all paths are returned for each supplied coordinate or an error results. In comparative mode, the returned list may omit inaccessible paths or reorder them.
      Parameters:
      coordinates - a coordinate list
      Returns:
      the returned Paths
      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.
    • getPathsInSpatialUnit

      PathList getPathsInSpatialUnit(SpatialUnit spatialUnit) throws OperationFailedException, PermissionDeniedException
      Gets the paths that are included inside the given spatial unit. In plenary mode, all paths are returned or an error results.
      Parameters:
      spatialUnit - a spatial unit
      Returns:
      the returned Paths
      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.
    • getPathsOverlappingSpatialUnit

      PathList getPathsOverlappingSpatialUnit(SpatialUnit spatialUnit) throws OperationFailedException, PermissionDeniedException
      Gets the paths that are included inside or touch the given spatial unit. In plenary mode, all paths are returned or an error results.
      Parameters:
      spatialUnit - a spatial unit
      Returns:
      the returned Paths
      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.
    • getPathSpatialUnits

      Gets a list of spatial units between the given coordinates along a path inclusive.
      Parameters:
      pathId - a path Id
      from - a coordinate
      to - a coordinate
      Returns:
      the returned SpatialUnits
      Throws:
      NotFoundException - no Path found
      NullArgumentException - pathId, from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - from or to not supported
      Compliance:
      mandatory - This method must be implemented.
    • getPathSpatialUnitsAtResolution

      SpatialUnitList getPathSpatialUnitsAtResolution(Id pathId, Coordinate coordinate, Distance distance, Distance resolution) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets a list of spatial units at the given given distance from a coordinate along a path inclusive at the given resolution.
      Parameters:
      pathId - a path Id
      coordinate - a coordinate
      distance - a distance
      resolution - the resolution
      Returns:
      the returned SpatialUnits
      Throws:
      NotFoundException - no Path found
      NullArgumentException - pathId, coordinate, distance or resolution is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - from or to not supported
      Compliance:
      mandatory - This method must be implemented.