Interface LocationSpatialSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, 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
Locationswith theLocationAdminSession. - 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 Summary
Modifier and TypeMethodDescriptionbooleanTests if this user can performLocationlookups.getLocationByCoordinate(Coordinate coordinate) Gets the closest bounding location of the given coordinate.getLocationsByCoordinates(CoordinateList coordinates) Gets the closest bounding locations in the given coordinate list.getLocationsInSpatialUnit(SpatialUnit spatialUnit) Gets the locations that are included inside the given spatial unit.getLocationsOverlappingSpatialUnit(SpatialUnit spatialUnit) Gets the locations that are included inside or touch the given spatial unit.getMap()Gets theMapassociated with this session.getMapId()Gets theMapIdassociated with this session.voidThe returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error.voidFederates the view for methods in this session.voidIsolates the view for methods in this session.voidA complete view of theLocationreturns is desired.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionsModifier and TypeMethodDescriptionGets the agent authenticated to this session.Gets theIdof the agent authenticated to this session.Gets the rate of the service clock.getDate()Gets the service date which may be the current date or the effective date in which this session exists.Gets the effective agent in use by this session.Gets theIdof the effective agent in use by this session.Gets theDisplayTextformatTypepreference in effect for this session.Gets the locale indicating the localization preferences in effect for this session.booleanTests if an agent is authenticated to this session.Starts a new transaction for this sesson.booleanTests for the availability of transactions.
-
Method Details
-
getMapId
Id getMapId()Gets theMapIdassociated with this session.- Returns:
- the
Map Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getMap
Gets theMapassociated with this session.- Returns:
- the map
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canLookupLocations
boolean canLookupLocations()Tests if this user can performLocationlookups. 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 aPERMISSION_DENIED. This is intended as a hint to an application that may not offer lookup operations to unauthorized users.- Returns:
falseif lookup methods are not authorized,trueotherwise- 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 theLocationreturns 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-coordinateisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- 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-coordinatesisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- 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-spatialUnitisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- 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-spatialUnitisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- spatial unit not supported- Compliance:
mandatory- This method must be implemented.
-