A geocoding system comprising: a processing system; an input and an output system for inputting and outputting data coupled to said processing system; a point level address data set coupled to said processing system; a centerline address data set coupled to said processing system; and a cascade geocoding scoring and matching engine coupled to said processing system; wherein: the input system is operable to receive input address data; and the cascade geocoding scoring and matching engine is operable to: determine if the point level data set contains an exact match to the entered address data; if an exact match is found, output the exact address data match from said point level data set; if no exact match is determined as existing in said point level data set: save candidate address data matches from said point level data set; access the centerline address data set; determine candidate address data matches from said centerline address data set; add said candidate address data matches from said centerline address data set to said candidate address data matches from said point level data set to generate candidate address data matches from both data sets for further processing; and score and match said candidate address data matches from both data sets to said entered address data, and select and output the best match or matches in dependence upon the results thereof. a processing system; an input and an output system for inputting and outputting data coupled to said processing system; a point level address data set coupled to said processing system; a centerline address data set coupled to said processing system; and a cascade geocoding scoring and matching engine coupled to said processing system; wherein: the input system is operable to receive input address data; and the cascade geocoding scoring and matching engine is operable to: the input system is operable to receive input address data; and the cascade geocoding scoring and matching engine is operable to: determine if the point level data set contains an exact match to the entered address data; if an exact match is found, output the exact address data match from said point level data set; if no exact match is determined as existing in said point level data set: save candidate address data matches from said point level data set; access the centerline address data set; determine candidate address data matches from said centerline address data set; add said candidate address data matches from said centerline address data set to said candidate address data matches from said point level data set to generate candidate address data matches from both data sets for further processing; and score and match said candidate address data matches from both data sets to said entered address data, and select and output the best match or matches in dependence upon the results thereof. save candidate address data matches from said point level data set; access the centerline address data set; determine candidate address data matches from said centerline address data set; add said candidate address data matches from said centerline address data set to said candidate address data matches from said point level data set to generate candidate address data matches from both data sets for further processing; and score and match said candidate address data matches from both data sets to said entered address data, and select and output the best match or matches in dependence upon the results thereof.