This article describes our popular MPMileCharter product. After being on the market for over six years, Winwaed Software Technology LLC recently released a major new version "MPMileCharter 3.0". This represents a major rewrite for the .NET platform, allowing a smoother and more responsive user interface, and enabling support for future versions of Windows. MPMileCharter 3 includes a number of new features. The most significant is the support for text file outputs. Microsoft Excel continues to be supported, but MPMileCharter can also write mileage charts to text files separated by commas, semi-colons, or tabs. Previous versions of MileCharter have supported all of Microsoft MapPoint’s routing options, but MPMileCharter v3.0 also adds the ability to explicitly set all of these options directly through its user interface. A free fourteen day trial and purchase options can be found at the MPMileCharter Home Page.
The article is in two parts. The first part describes the very basic use of MPMileCharter, and is intended for someone with little or no familiarity with Microsoft MapPoint. The second part demonstrates a most sophisticated application where MPMileCharter is used to find the three closest stores for each customer.
Getting started with Microsoft MapPoint and MPMileCharter
This initial example is aimed at people who are new to Microsoft MapPoint. Before using MPMileCharter, it is recommended that you spend some time experimenting with MapPoint and working through the tutorials provided by Microsoft.
I shall use the North America edition of Microsoft MapPoint, but the European edition works in the same manner. The screenshots were created using MapPoint 2010, but MapPoint 2009 and 2011 will both appear identical. MPMileCharter also works with MapPoint 2006.
When you start MapPoint you will be presented with a display that looks like this:
The above MapPoint window has been reduced in size to improve the article’s readability. It is recommended that you maximize MapPoint so that you take full advantage of your screen.
Notice all the toolbars across the top. The slider is a zoom slider. Try sliding this and you will see that MapPoint zooms in and out. You can move (pan) the map by "grabbing" it (click on the map with the left mouse button) and dragging it. You can also select a zoom rectangle by right-click dragging a rectangle with the mouse and then pressing the left button to zoom.
The legend and overview is to the left. The overview shows you which part of the Earth you are currently looking at. In the above map this might be obvious, but when you zoom in, it is easy to get lost. The legend also lists the datasets that are displayed, along with their color and/or symbol encoding.
There is an optional Drawing Tools tool bar along the bottom. This has a variety of shapes and a pushpin symbol. This can be enabled by using the View | Toolbars menu.
To the left of the zoom slider is the Find box. Click on this and type "San Francisco" and press "Enter". You will be presented with the Find Dialog Box:
This dialog box lists the possible matches for "San Francisco", with the most likely option first. Notice that the main MapPoint display has zoomed to the selected option (the city of San Francisco). This is a very useful dialog box. It can also be used to find locations by address (try finding your house) or by longitude,latitude coordinate (try entering a coordinate from a GPS unit).
We were looking for the city of San Francisco. Make sure that "San Francisco" is selected and press OK. The map remains zoomed to San Francisco, with the city selected.
MPMileCharter uses the MapPoint concepts of Pushpins and Pushpin Sets. A pushpin is a marker for a particular location. There are a variety of different symbols available for pushpins. They can also have names and text associated with them. If the pushpins were loaded from an external data source such as a database, then they may also have additional data fields. A pushpin set is simply a group of pushpins. Typically they have been loaded into MapPoint from the same source, but this is not necessarily the case.
MPMileCharter uses pushpins to identify the required input locations. MPMileCharter also requires two pushpin sets: one holding the pushpins for the start locations, and one holding the pushpins for the end locations. You may use the same pushpin set for both the start and end locations, and this is what we will do here. This will produce a "road atlas" style mileage chart with the same pushpins being used for both the start and end locations.
Click on the pushpin symbol on the top tool bar. Then click on San Francisco's circle symbol. This will insert a pushpin on San Francisco. MapPoint should now look like this:
The pin has an open window giving the name and text. Click on the word "Untitled" in the gray bar. Replace this with the much more informative "San Francisco". You can click on the white area and enter some notes here, but MPMileCharter will ignore them.
Add a few more pushpins for locations that you would like to find. For this example, I have added pins for Laramie (WY), Microsoft Redmond (WA), and the University of Dallas (TX):
As well as adding locations that are already in MapPoint's database, you can add pins for individual addresses and GPS coordinates. You can also import them from an external source using MapPoint's Data Import wizard. In fact, the wizard is the fastest way to add this data to MapPoint if you have more than a small number of locations.
When you are satisfied with the pins that you have added, start MPMileCharter by selecting it on the Tools menu item. You will be presented with a display that looks like this:
MPMileCharter has two lists that let you select where the routes start and finish. These lists are filled with the available pushpin sets. We only have one pushpin set, the default 'My Pushpins'. If you have a pushpin selected when MPMileCharter is started, then this will also be included in the lists. This allows you to find distances to or from a specific location.
In this example, I had 'Laramie' selected when I started MPMileCharter.
Select "My Pushpins" in the two lists. We will produce a distance mileage chart using miles. Uncheck all of the check boxes except for "Distances" and "Sort Names". This will produce a distance mileage chart with the names sorted in alphabetical order. Also select "Fastest Routes" and "Miles". Select "Calculate lower left only" to produce a triangular "road atlas" style chart. MPMileCharter should now look like this:
Press the "Compute" button to start processing. During processing, MPMileCharter will display a progress dialog box to indicate processing. When processing is complete, Excel should show a worksheet that looks like this:
Some of the columns have been widened so that all of the names can be seen. The distances are in miles and are not rounded.
Congratulations! You have created your first mileage chart in using MPMileCharter!
Read MPMileCharter Example: Finding only the Three Closest Stores to each Customer for another example using MPMileCharter.