The TatukGIS Developer Kernel and desktop GIS Editor (via scripting) products support geocoded street address querying (finding the approximated map location of a given street address), reverse geocoding (finding the street address closest to a given point, such as defined by GPS coordinates), and advanced street address name parsing.
The logic of geocoded address querying with vector polyline layers (like TIGER data in the U.S.) is the location of a given street address is approximated based on the map locations of the first and last street address on each side of each street segment, i.e., the portion of the street between intersections with other streets. Geocoded street map data in which each street address is represented by a point (set of x,y coordinate values) is also supported.
Because the format of the street address naming (use of abbreviations for road, street, etc., street naming conventions such as “south”, “east”, "NW", "NE", etc., spelling variations, positioning of street number before or after the street name, etc.) varies considerably by geographic location, country, language, and map dataset vendor, TatukGIS products support sophisticated address parsing to logically match the address information entered by the user to how the address is actually recorded in the map data. Due, however, to differences between each geocoded data set, it is not possible to provide a single set of final-user features that work correctly, right out-of-the-box, with every geocoded dataset. The TatukGIS default functionality must be customized to work correctly with each given geocoded dataset.
The geocoding search rules are based on regular expressions and address search formulas which are defined by the developer. For example, the developer might choose to query using the zip code, city name, and/or state name in the search, or to omit any of these information types from the search. The search could be based just on the proper street name (Main, Elm, etc. ) or based on the street name AND the street type, e.g., street, road, turnpike, avenue, court, circle, way, lane, etc. The DK TigerGeocoding source code sample in DK sample set #6 demonstrates geocoded address parsing using the .ParseEx method, which provides advanced address generalization via a template formula. For instances of multiple address matches for given query, the .ParseEx method offers a choice between i) first match, ii) all match, or iii) match based on geographical pattern, e.g., zip code, city, state, etc.
A second source code sample, the Geocoding sample in DK sample set #2, demonstrates the older .Parse method, which is still supported for the benefit of customers who have not yet updated their DK based geocoding applications to reflect the newer .ParseEx method.
Other knowledge base items relevant to this topic are KB10461, KB10273, KB10772. Is not unusual for geocoding or reverse geocoding to be used in combination with other supported functionality such as GPS, live joining of the geocoded map to external databases, spatial queries, etc. Use of SQL database map layers, as opposed to shape files, is recommended for best address query performance with large datasets.
The .ParseEx method and other geocoding related functionality are available in the desktop Editor product via its built-in scripting environment that exposes within the Editor the full DK object API.