Geocoding with MapPoint

Microsoft's MapPoint product is a high quality "atlas" mapping program that is popular for many consumer applications. MapPoint also has the ability to geocode street addresses within the region covered by the edition of MapPoint in use. The North American edition of MapPoint can geocode street addresses in Canada and the United States. The European edition of MapPoint can geocode street addresses in eleven European countries (Austria, Belgium, Denmark, France, Germany, Italy, Luxembourg, the Netherlands, Spain, Switzerland and United Kingdom).


If the Manifold Geocoding Tools package is installed, Manifold System can use MapPoint as a geocoding data source to enable the Manifold geocoding engine to provide street address geocoding capabilities. See the Geocoding Tools topic for information on the capabilities provided by the Geocoding Tools package. If the Geocoding Tools package is not installed, the capabilities provided by this topic will not be available.


If a recent edition of Microsoft MapPoint (from 2002 onward) is installed on the same computer as Manifold System, Manifold can use the database within MapPoint to provide a geocoding data source for Manifold. MapPoint can be used as an adjunct to the Manifold Geocoding Database or it can be used as a replacement for the Manifold Geocoding Database. See the Geocoding Data Sources topic.


Most geocoding functions, including geocoding extensions in SQL, programming and use within IMS will work (IMS usage will require correct configuration of user permissions - see below). However, note that functions with MapPoint will be limited to those that use a full street address.


Although the Manifold Geocoding Database enables geocoding down to the centroid of the lowest resolvable entity (state, city, zip code) if a full street address is not available, MapPoint cannot geocode to, say, the centroid of a postal code if no more detailed street address is known. In general, MapPoint will not return the centroid of a postal code. It will return the location of a valid street address, and will "jump" to the location of a postal code in the MapPoint user interface when used interactively. However, MapPoint will not return the location of a postal code when it is called programmatically as is the case when it is used as a data source for Manifold.


Because MapPoint is much less expensive than buying proprietary geocoding data sets for Canada or European countries, using MapPoint as a geocoding data source is the least expensive way of getting Canadian or European street address geocoding within a true GIS like Manifold. Since both the North American and European editions of MapPoint may be simultaneously installed, Manifold users who have both editions installed can simultaneously geocode street addresses in the US, Canada and in the European countries supported by MapPoint.


MapPoint may also be used as the default geocoder for US street addresses and MapPoint may be used as a geocoding data source for Manifold even if the Manifold Geocoding Database is not installed. Although MapPoint does cost more than the Manifold Geocoding Database, which is provided for free download on the web site, it provides more extensive and more up-to-date street address matching capability for US street addresses. The downside of using MapPoint is that geocoding will run slower because accessing information within MapPoint as a geocoding data source is slower than using the Manifold Geocoding Database.


Installation and Use


Using MapPoint as a geocoder is easy: simply install the edition(s) of MapPoint desired, and then in the Tools - Options - Geocoding dialog check the Use MapPoint … option and in the same dialog choose whether MapPoint is to have priority over the Manifold geocoding database. Most users with large geocoding tasks in the US will give the Manifold geocoding data priority (the default setting) so that geocoding can run as fast as possible with only those addresses not found in the Manifold geocoding data subjected to the slower MapPoint data lookup.


With MapPoint installed and used as the geocoder, the geocoding process works just as it would when using a Manifold street address data product or when using your own geocoding data extensions. Standardization works the same as well, with any auxiliary information returned by MapPoint in the process of standardizing an address being appended to the appropriate column.


When using MapPoint for geocoding, country names are specified as follows:


§      If a single field is used for addresses the various parts of the address (street address, city, etc.) must be separated by commas. The MapPoint address parser in general cannot extract address parts (street address, city, state, zip/postal code or country) from a single field unless they are separated by commas.

§      If separate fields are used, then the State field must contain the state/province name and the Country field should contain the country name.

§      The Tools - Options - Geocoding dialog allows specification of a default country if there is no country name specified in the table to be geocoded.


To geocode Canadian or European Addresses using MapPoint


1. Install the required edition(s) of MapPoint.

2. Launch Manifold and in Tools - Options - Miscellaneous check the Use MapPoint … option. Check the Give MapPoint priority… box if MapPoint is to be the primary (or only) geocoder and uncheck that box if the Manifold geocoder is to be used as the primary geocoder.

3. If geocoding addresses outside of the United States, include the country name in a Country field. Alternately, if only one country will be used, specify the default country name in the Tools - Options - Geocoding dialog.

4. Follow the instructions in the Street Address Geocoding topic. All Manifold geocoding functions will operate correctly using MapPoint as the geocoder.




Suppose we would like to geocode the street addresses of some hotels in Vancouver, Canada.




If our table contains the addresses in a single field, we must take care to separate the different parts of the address using commas. Before a single-field address can be used with MapPoint it must be split into multiple fields using Standardize.




If our table contains the addresses as multiple fields, we must make sure that the field to be used as the State field includes the province and country separated with a comma. Standardize will automatically split single field addresses into multiple field addresses that correctly have the province (if used) and country in the State field.




Running the geocoder will add Latitude and Longitude columns and values to the table.




Note that MapPoint can almost always find a street address even if the province is not included in the State field. However, the country name must always be included in the State field so MapPoint knows which country to use.


Postal or ZIP Codes


The Standardize command will extract address, city, state and postal/ZIP fields from an address given in a single field. It also works when MapPoint is used as a geocoder except that MapPoint will not extract and return the postal or ZIP code from a single address field. Therefore, when converting a single-field address to a multiple field address using Standardize the postal/Zip code field will be blank.


For this reason, if postal codes are required to geocode street addresses in a given area and MapPoint is the geocoder, use addresses in multiple field form. Note that usually having a street address and a city is usually enough for geocoding purposes since in most cases the postal/ZIP code is redundant if the city name and name of the street are known. In cases where the postal/ZIP code is required and addresses are in single field form, it us usually easy to use the transform toolbar token operators to manually extract postal/Zip codes from a single field address into a separate Zip field.


When using geocoding functions in SQL, the LocateZipLat and LocateZipLon functions only work for US zip codes, something to keep in mind when using MapPoint European edition in Europe.


MapPoint Versions


The Microsoft product meant by "MapPoint" in this topic is the packaged consumer application that installs on the local computer, and not the .NET service offered by Microsoft. The MapPoint geocoding facilities used by Manifold System require a reasonably current edition of MapPoint from 2002 onward and will not work with earlier MapPoint editions.


The European edition of MapPoint 2004 has enhanced support for additional European countries. Following is a list of countries covered by European editions of MapPoint 2004 and MapPoint 2002 for street address geocoding:


§      Austria (partially covered by both 2004 and 2002).

§      Belgium (fully covered by 2004, partially covered by 2002).

§      Denmark (fully covered by 2004, partially covered by 2002).

§      Finland (partially covered by 2004, not covered by 2002).

§      France (partially covered by both 2004 and 2002).

§      Germany (fully covered by both 2004 and 2002).

§      Italy (partially covered by both 2004 and 2002).

§      Luxembourg (fully covered by 2004, partially covered by 2002).

§      Netherlands (fully covered by 2004, partially covered by 2002).

§      Norway (partially covered by 2004, not covered by 2002).

§      Portugal (partially covered by 2004, not covered by 2002).

§      Spain (partially covered by both 2004 and 2002).

§      Sweden (fully covered by 2004, not covered by 2002).

§      Switzerland (fully covered by 2004, partially covered by 2002).

§      United Kingdom (partially covered by both 2004 and 2002).


MapPoint 2004 also covers Czech Republic and Ireland, but only in that those countries can be used during routing. They cannot be used for street address geocoding.


Expectations are that MapPoint editions will continue to be compatible with the interface used by Manifold to access MapPoint as a geocoding data source.


MapPoint and IMS


MapPoint geocoding will normally not work from IMS unless we map anonymous Internet connections to a user account that has more enhanced permissions than the default Internet access IUSR_xxx account.


To enhance permissions for the Internet access account:


1. Create a regular user account with default permissions that is a member of the Users group.

2. Open Control Panel - Administrative Tools - Internet Information Services (or the equivalent dialog in your version of Windows).

3. Right click the folder that contains the published website, select Properties, switch to Directory Security and click Edit under Anonymous access and authentication control.

4. Set the user account used for anonymous access to the account created in step 1 above.


See Also


About Geocoding


Street Address Geocoding

Geocoding Data Sources

Geocoding Data Extensions