1. A method for navigating a mobile system, the method implemented on one or more computer systems, comprising the steps of: matching landmarks in a mobile device by: retrieving features from a global database, wherein the global database comprises a plurality of landmarks and each landmark corresponds to a collection of 3-D features and corresponding 2-D features from which the 3-D features are computed; ranking landmarks by visual similarity; selecting a plurality of candidate landmarks; for each of the plurality of candidate landmarks: retrieving features in a local database, wherein the local database comprises a collection of 3-D features and corresponding 2-D features from which the 3-D features are computed for a specific landmark from the plurality of landmarks in the global database; performing robust pose estimation; performing bundle adjustment; determine an observation pose and covariance; selecting the best candidate as the matching landmark.