Package es.situm.sdk.model.cartography
Class Point
java.lang.Object
es.situm.sdk.model.cartography.Point
- All Implemented Interfaces:
android.os.Parcelable,BuildingResource,FloorResource,MapperInterface
Associate geographical coordinate (Location) with Building and Floor (Cartography) and cartesian coordinate relative to that building.
Instances are immutable.
-
Nested Class Summary
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final android.os.Parcelable.Creator<Point>static final Pointstatic final PointFields inherited from interface es.situm.sdk.model.MapperInterface
ACCESSIBILITY_MODE, ACCURACY, ADDRESS, ALTITUDE, ASSET_TRACKING_OPTIONS_BEACON_FILTERS, ASSET_TRACKING_OPTIONS_ENABLED, ASSET_TRACKING_OPTIONS_ITERATIONS_TO_UPLOAD, ASSET_TRACKING_OPTIONS_SCANNING_INTERVAL, BEACON_FILTER_UUID, BEARING, BEARING_FROM, BEARING_QUALITY, BOUNDS, BOUNDS_ROTATED, BUILDING, BUILDING_IDENTIFIER, BUILDING_NAME, CARTESIAN_BEARING, CARTESIAN_COORDINATE, CENTER, CLOSEST_LOCATION_IN_ROUTE, CODE, CONVERSION, COORDINATE, CREATED_AT, CURRENT_INDICATION, CURRENT_STEP_INDEX, CUSTOM_FIELDS, dateFormat, DEGREES, DEGREES_CLOCKWISE, DEVICE_ID, DIAGNOSTICS_OPTIONS_UPLOAD_DIAGNOSTICS_DATA, DIMENSIONS, DISTANCE, DISTANCE_TO_CHANGE_FLOOR_THRESHOLD, DISTANCE_TO_CHANGE_INDICATION_THRESHOLD, DISTANCE_TO_CLOSEST_POINT_IN_ROUTE, DISTANCE_TO_END_STEP, DISTANCE_TO_GOAL, DISTANCE_TO_GOAL_THRESHOLD, DISTANCE_TO_IGNORE_FIRST_INDICATION, DISTANCE_TO_NEXT_LEVEL, DURATION_MINUTES, EDGES, EVENTS, EXCLUDED_TAGS, EXTERNAL_NAVIGATION_PAYLOAD, EXTERNAL_NAVIGATION_TYPE, FIRST_STEP, FLOOR, FLOOR_IDENTIFIER, FLOORS, FOREGROUND_SERVICE_NOTIFICATION_MESSAGE, FOREGROUND_SERVICE_NOTIFICATION_SHOW_STOP_ACTION, FOREGROUND_SERVICE_NOTIFICATION_STOP_ACTION_TEXT, FOREGROUND_SERVICE_NOTIFICATION_TAP_ACTION, FOREGROUND_SERVICE_NOTIFICATION_TITLE, FROM, GEOFENCES, HAS_BEARING, HAS_CARTESIAN_BEARING, HEIGHT, HUMAN_READABLE_MESSAGE, ID, IDENTIFIER, IGNORE_LOW_QUALITY_LOCATIONS, INCLUDED_TAGS, INDICATION_TYPE, INDICATIONS, INDICATIONS_INTERVAL, INDOOR_POIS, INFO_HTML, IS_FIRST, IS_INDOOR, IS_LAST, IS_OUTDOOR, IS_PUBLIC, LAST_STEP, LATITUDE, LONGITUDE, MAP_URL, MINIMIZE_FLOOR_CHANGES, NAME, NEEDED_LEVEL_CHANGE, NEXT_INDICATION, NEXT_LEVEL, NODES, NORTH_EAST, NORTH_WEST, ORIENTATION, ORIENTATION_TYPE, OUTDOOR_BUILDING_DETECTOR_BLE, OUTDOOR_POIS, OUTSIDE_ROUTE_THRESHOLD, PICTURE_THUMB_URL, PICTURE_URL, POI_CATEGORIES, POI_CATEGORY, POI_CATEGORY_CODE, POI_CATEGORY_ICON_SELECTED, POI_CATEGORY_ICON_UNSELECTED, POI_CATEGORY_IDENTIFIER, POI_CATEGORY_IDENTIFIERS, POI_CATEGORY_iNAME, POI_CATEGORY_NAME, POI_NAME, POI_TO, POI_TO_IDENTIFIER, POINTS, POLYGON_POINTS, POSITION, PROVIDER, QUALITY, RADIANS, RADIANS_MINUS_PI_PI, RADIUS, REALTIME_UPDATE_INTERVAL, ROTATION, ROUND_INDICATIONS_STEP, ROUTE, ROUTE_STEP, SCALE, SEGMENTS, SOUTH_EAST, SOUTH_WEST, STATUS_NAME, STATUS_ORDINAL, STEP_IDX_DESTINATION, STEP_IDX_ORIGIN, STEPS, TIME_TO_END_STEP, TIME_TO_FIRST_INDICATION, TIME_TO_GOAL, TIME_TO_IGNORE_UNEXPECTED_FLOOR_CHANGES, TIMESTAMP, TO, TO_LEGACY, TRIGGER, UPDATED_AT, USER_IDENTIFIER, WIDTH, X, YFields inherited from interface android.os.Parcelable
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE -
Constructor Summary
ConstructorsConstructorDescriptionPoint(Building building, String floorIdentifier, CartesianCoordinate cartesianCoordinate) Create a point placed indoors.Point(Building building, String floorIdentifier, Coordinate coordinate) Create a point placed indoors.Point(Coordinate coordinate) Create a point placed outdoors.Point(String buildingIdentifier, Coordinate coordinate) Create a point placed outdoors.Point(String buildingIdentifier, String floorIdentifier, Coordinate coordinate, CartesianCoordinate cartesianCoordinate) Create a point placed indoors. -
Method Summary
Modifier and TypeMethodDescriptionintbooleanstatic PointReturn a newPointinstance object containing the data at the given map.final StringReturns unique identifier for the building to which this point belongsfinal CartesianCoordinateReturns cartesian coordinate (in meters) relative to theBoundsof building's base.final CoordinateReturns geographic coordinate (latitude, longitude) of the point, regardless of whether it's placed inside or outside the building You can obtain this value fromCartesianCoordinateusingCoordinateConverter.final StringReturns floor identifier (inside the building) where this point is placed.inthashCode()final booleanisIndoor()Return if the POI is inside the building.final booleanReturn if the POI is outside the building.final booleantoMap()Method to transform object into Map<String, Object>toString()voidwriteToParcel(android.os.Parcel dest, int flags)
-
Field Details
-
EMPTY_INDOOR
-
EMPTY_OUTDOOR
-
CREATOR
-
-
Constructor Details
-
Point
Create a point placed outdoors. It has no cartesian coordinate nor floor, because it's placed outside the building.- Parameters:
coordinate-
-
Point
Create a point placed outdoors. It has no cartesian coordinate nor floor, because it's placed outside the building.- Parameters:
buildingIdentifier-coordinate-
-
Point
public Point(@NonNull String buildingIdentifier, @NonNull String floorIdentifier, @NonNull Coordinate coordinate, @NonNull CartesianCoordinate cartesianCoordinate) Create a point placed indoors.- Parameters:
buildingIdentifier-floorIdentifier-coordinate-cartesianCoordinate-
-
Point
public Point(@NonNull Building building, @NonNull String floorIdentifier, @NonNull CartesianCoordinate cartesianCoordinate) Create a point placed indoors. The geographical coordinate is calculated using the building -
Point
public Point(@NonNull Building building, @NonNull String floorIdentifier, @NonNull Coordinate coordinate) Create a point placed indoors. The cartesian coordinate is calculated using the building -
Point
-
-
Method Details
-
getCartesianCoordinate
Returns cartesian coordinate (in meters) relative to theBoundsof building's base. If this point is outdoors (isOutdoor== true), this field has no meaning.Use
isOutdoor()to check if the poi is indoors or outdoors- Returns:
Coordinateof this point, or (0,0) if it's outdoors.
-
getCoordinate
Returns geographic coordinate (latitude, longitude) of the point, regardless of whether it's placed inside or outside the building You can obtain this value fromCartesianCoordinateusingCoordinateConverter.- Returns:
Coordinateof this point.
-
getBuildingIdentifier
Returns unique identifier for the building to which this point belongs- Specified by:
getBuildingIdentifierin interfaceBuildingResource
-
getFloorIdentifier
Returns floor identifier (inside the building) where this point is placed. If this point is outdoors, this field has no meaning.See
isOutdoor()to check if the poi is indoors or outdoors- Specified by:
getFloorIdentifierin interfaceFloorResource- Returns:
String. If the point is outdoors, the value is unexpected.
-
isOutdoor
public final boolean isOutdoor()Return if the POI is outside the building.- Returns:
- true if the building is outdoors. Otherwise, false.
-
isIndoor
public final boolean isIndoor()Return if the POI is inside the building.- Returns:
- true if the building is indoors. Otherwise, false.
-
sameFloor
-
equals
-
hashCode
public int hashCode() -
toString
-
lookupKey
-
describeContents
public int describeContents()- Specified by:
describeContentsin interfaceandroid.os.Parcelable
-
writeToParcel
public void writeToParcel(android.os.Parcel dest, int flags) - Specified by:
writeToParcelin interfaceandroid.os.Parcelable
-
toMap
Description copied from interface:MapperInterfaceMethod to transform object into Map<String, Object>- Specified by:
toMapin interfaceMapperInterface- Returns:
- Map<String, Object> with the information of the object mapped
-
fromMap
Return a newPointinstance object containing the data at the given map. UseMapperInterfaceto populate the Map. The expected fields are those defined at this class.- Parameters:
map- Map containing the data used to populate the new object.- Returns:
- New instance.
- Throws:
IllegalArgumentException- If there is not enough information at the given map or it is incorrect.
-