It can be frustrating when analyzing a long address list if one or more of the addresses can't be found in MapPoint. Instead of returning the answer you need, CDXZipStream may return an error message stating that the address is ambiguous or invalid. You can verify this by entering the address directly in MapPoint and checking the possible locations that return. If MapPoint can’t find a good match for the address, it will pop up a “Find” dialog and ask you to select the best match.
There are many reasons for this. The most obvious is that the address is not included in the MapPoint database. This data is only updated when MapPoint releases a new version, so a new address may not be in the database yet. Another possibility is a different spelling (such as “Ln” vs “Lane”) or a generic address (such as “P.O. Box 58”) is being used. There are also situations where MapPoint finds two or more good matches, or ambiguous data, and needs you to decide. Finally, it just may be due to the address being invalid. You can find out more about how CDXZipStream treats this in the support article: CDXZipStream Returns "Address is Ambiguous or Invalid" Error.
In the CDXLocateMP geocoding function you can set the ambiguous flag to a value of 1 to allow ambiguous data. (Set this flag by entering the desired value at the end of the formula in the worksheet.) CDXZipStream will then return data for the first location it finds. Setting the ambiguous flag to 2 allows you to return any data that MapPoint finds, even if it is a bad match. Since completely inaccurate data can be returned in this case, it should be used with caution.
Using the CDXRouteMP function will only return data when an exact or ambiguous match is found. So how should you proceed in cases where you have a valid address but MapPoint can’t find it? The first step is to get a valid latitude and longitude from another source such as Google or Bing Maps. Once you have this information you can reverse geocode using the CDXLocateMP function to find the closest valid address in MapPoint.
For cases where the reverse geocoded coordinates aren't close enough to the desired location, we’ve added the ability in CDXZipStream 10.3.1 to use latitude and longitude into the CDXRouteMP function. Latitude and longitude should be entered in a single worksheet cell as decimal values in a text string and be separated by a pipe character, like this: 40.8480 | -74.5851. If MapPoint can find a road close to this location, it will be able to calculate driving distance or optimize a route.
With CDXZipStream you now have all the tools you need to analyze complex routes, even for locations MapPoint can’t directly find.