Abstract:
A user interface enables a user to calibrate the position of a three dimensional model with a real-world environment represented by that model. Using a device's sensor, the device's location and orientation is determined. A video image of the device's environment is displayed on the device's display. The device overlays a representation of an object from a virtual reality model on the video image. The position of the overlaid representation is determined based on the device's location and orientation. In response to user input, the device adjusts a position of the overlaid representation relative to the video image.
Abstract:
Methods, program products, and systems for monitoring a location fingerprint database are described. A location fingerprint database can store location data associated with multiple signal sources. A mobile device can use signals of the signal sources and the location data to determine a current location. A location server can monitor the location fingerprint database, including detecting if any one of the signal sources has moved or otherwise becomes unsuitable for location determination. The location server can prevent location data associated with the unsuitable signal source from being used by the mobile device to determine the current location of the mobile device
Abstract:
Methods, program products, and systems for using a location fingerprint database to determine a location of a mobile device are described. A mobile device can use location fingerprint data and readings of a sensor to obtain a location observation. The mobile device can use the location observation in a particle filter for determining a location of the mobile device at a venue. Using state of movement of the mobile device and a map of the venue, the mobile device can determine one or more candidate locations of the device. The mobile device can then update the candidate locations using a next observation, and determine a probability density function based on the candidate locations. The mobile device can then present to a user a most probable location as a current location of the device in the venue.
Abstract:
A mobile device can send a request to a server having a plurality of tiles of location data associated with a venue, each tile having location data associated with a portion of the venue, the request including data representing an estimated location of the mobile device. The mobile device can receive a first tile of location data sent from the server, the first tile being associated with a first portion of the venue that includes the estimated location. The mobile device can receive a first sensor reading and determine a first location of the mobile device at the venue using the first sensor reading and the first tile of location data. The mobile device may receive a second tile of location data sent from the server, the second tile being associated with a second portion of the venue. The mobile device may receive a second sensor reading and determine a second location of the mobile device at the venue using the second sensor reading and the second tile of location data.
Abstract:
Methods, program products, and systems for estimating a location of a mobile device in a venue are provided. The venue can have pathways represented by a path network that includes segments connected by junctions. Estimating the location can include determining a first set of candidate locations for the mobile device, and mapping some of the candidate locations to updated candidate locations that are on or closer to one or more segments of the path network based on distances between the candidate locations and respective segments, resulting in a second set of candidate locations for the mobile device. The location of the mobile device can be derived from the second set of candidate locations.
Abstract:
A method includes obtaining a first map element from a first map, identifying second map elements from a second map based on locations of the second map elements relative to the first map element, and identifying first and second point on the second map elements based on proximity to beginning and ending points of the first map element. One or more of the second map elements define a corresponding portion of the second map between the first point and the second point. The method also includes determining a registration score for the first map element relative to the corresponding portion of the second map, and in response to determining that the registration score indicates a match between the first map element and the corresponding portion of the second map, defining registration information that describes a relationship between the first map element and the corresponding portion of the second map.
Abstract:
A mobile device can provide predictive user assistance based on various sensor readings, independently of or in addition to a location of the mobile device. The mobile device can determine a context of an event. The mobile device can store the context and a label of the event on a storage device. The label can be provided automatically by the mobile device or by the external system without user input. At a later time, the mobile device can match new sensor readings with the stored context. If a match is found, the mobile device can predict that the user is about to perform the action or recognize that the user has performed the action again. The mobile device can perform various operations, including, for example, providing user assistance, based on the prediction or recognition.
Abstract:
Methods, systems, and computer program products for determining transit routes through crowd-sourcing, for determining an estimated time of arrival (ETA) of a vehicle of the transit route at a given location, and for providing predictive reminders to a user for catching a vehicle of the transit route. A server receives signal source information about wireless signal sources detected by user devices, including information about a first wireless signal source detected by some devices. The server determines that the first wireless signal source is moving. The server determines that the first wireless signal source is associated with a public transit route upon determining that the signal source information satisfies one or more selection criteria. The server stores information associating the first wireless signal source with the public transit route as transit movement data corresponding to the public transit route.
Abstract:
A user interface enables a user to calibrate the position of a three dimensional model with a real-world environment represented by that model. Using a device's sensor, the device's location and orientation is determined. A video image of the device's environment is displayed on the device's display. The device overlays a representation of an object from a virtual reality model on the video image. The position of the overlaid representation is determined based on the device's location and orientation. In response to user input, the device adjusts a position of the overlaid representation relative to the video image.
Abstract:
An event can be detected by an input device. The event may be determined to be a triggering event by comparing the event to a group of triggering events. A first prediction model corresponding to the event is then selected. Contextual information about the device specifying one or more properties of the computing device in a first context is then received, and a set of one or more applications is identified. The set of one or more applications may have at least a threshold probability of being accessed by the user when the event occurs in the first context. Thereafter, a user interface is provided to a user for interacting with the set of one or more applications.