A computer implemented method of operating a navigation system to provide geographic location information, the method comprising: receiving a text string query for a geographic location ; providing a plurality of candidate geographic locations for the queried geographic location from a geographic database ; receiving a selection of one of the provided candidate geographic locations from a user, wherein the selected candidate geographic location is a child geographic location; recording the candidate child geographic location that was selected in a use history database ; increasing a usage pattern weight for the recorded candidate child geographic location ; characterized in that the method further comprises: increasing a usage pattern weight for a parent geographic feature that includes the recorded candidate child geographic location using the usage pattern weight of the recorded candidate child geographic location, the usage pattern weights representing a frequency of demand for, respectively, the parent geographic feature and the recorded candidate child geographic location; and providing the increased usage pattern weight of the parent geographic feature for use in subsequent text string queries , wherein the parent geographic feature is a composite geographic feature having an associated parent geographical area that includes the recorded candidate child geographic location located within the geographic boundaries of the parent geographical area and at least one other child geographic feature also located within the geographic boundaries of the parent geographical area. receiving a text string query for a geographic location ; providing a plurality of candidate geographic locations for the queried geographic location from a geographic database ; receiving a selection of one of the provided candidate geographic locations from a user, wherein the selected candidate geographic location is a child geographic location; recording the candidate child geographic location that was selected in a use history database ; increasing a usage pattern weight for the recorded candidate child geographic location ; characterized in that the method further comprises: increasing a usage pattern weight for a parent geographic feature that includes the recorded candidate child geographic location using the usage pattern weight of the recorded candidate child geographic location, the usage pattern weights representing a frequency of demand for, respectively, the parent geographic feature and the recorded candidate child geographic location; and providing the increased usage pattern weight of the parent geographic feature for use in subsequent text string queries , wherein the parent geographic feature is a composite geographic feature having an associated parent geographical area that includes the recorded candidate child geographic location located within the geographic boundaries of the parent geographical area and at least one other child geographic feature also located within the geographic boundaries of the parent geographical area. increasing a usage pattern weight for a parent geographic feature that includes the recorded candidate child geographic location using the usage pattern weight of the recorded candidate child geographic location, the usage pattern weights representing a frequency of demand for, respectively, the parent geographic feature and the recorded candidate child geographic location; and providing the increased usage pattern weight of the parent geographic feature for use in subsequent text string queries , wherein the parent geographic feature is a composite geographic feature having an associated parent geographical area that includes the recorded candidate child geographic location located within the geographic boundaries of the parent geographical area and at least one other child geographic feature also located within the geographic boundaries of the parent geographical area. <EOS>