Humans identify location and directions based on visual cues, such as landmarks,
rather than a precise coordinate grid. A database of landmarks can be used to determine
the location of a user who can merely describe their location in the same manner
they would to any human contact. The location of the user can be determined based
on the landmarks described in the input, and the areas from which all of those
landmarks are visible. Various databases can be used, including text-based and
three-dimensional. Similarly, various mechanisms can be used to determine the user's
location, including hierarchical approaches, query optimization approaches, and
visibility percentage approaches. Ultimately, the user's location can be determined
without the need for expensive, dedicated infrastructure, without compromising
the user's security, and without subjecting the user to system outages.