spacer1
spacer2 1_1 1_2
2_1
 Subscribe
 The MP2K Update!
 
 
 
 Magazine
Front Cover
What's New
Articles
News
Sample Data
Gallery
Advertise
About
 Features
MapPoint 2009
Press Releases
MapPoint Forums
Companies
Link to MP2Kmag
Wish List
MapPoint Trial
Authors
 Earlier Content
Past News Items
Past What's New Announcements
 Sponsors
 Order

MapPoint 2009

Programming MapPoint in .NET

MapPoint Book

  Spatial Community
ViaVirtualEarth
SVG Tutorials
MapPoint

Map Visitors

 Direct Media

Travel Insurance Compare over 450 travel insurance policies (inc. annual multi-trip, single trip & winter sports)

  ARTICLES  


Merging Multiple Routes

In this article, Chip Pearson demonstrates a method to merge several MapPoint files in to a single "Master" route programmatically with VBA.

I had the situation in which I wanted to merge the routes from each of several MapPoint files in to a single "master" route. I had taken an 8 day driving trip through New Mexico and Colorado, and had each day's route in a separate file. I wanted to create a single Map that described my entire trip.

So, being a VBA junkie, I wrote some VBA code to automate the process. The VBA consists of two modules. The first, a standard code module called modRouteMerge contains the code that does the actual work. The second, a class module called CWayPointX, defines the "holding" object in which we store information about each way point.

As the various maps are read, each waypoint's information is stored in an instance of CWayPointX, and each instance of CWayPointX is stored in a collection. The individual map routes are read by a procedure called GetRoutes. Then, a new blank map is created, and a route is created by looping the collection object, pulling information from each CWayPointX object stored in the collection. This is done by the procedure called CreateNewMapRoute.

The CWayPointX class contains a procedure called CalcPos, written by Gilles Kohl, which I got from this web site, in the article "A More Compact Method For Obtaining Lat/Long" (18-July-2001). This procedure calculates the latitude and longitude from a Location object.

The CWayPointX class preserves only the Name, latitude, and longitude of the original WayPoint object. Other properties (e.g., Overnights) are not preserved. However, the source code provides detailed instructions about how one can modify the class to preserve any WayPoint property.

The code was developed the code under Excel 2002, but it does not use any Excel-specific features, and therefore should work under any "host" application that supports VBA (e.g., Excel, Word or PowerPoint). Any VBA-enabled host application can run the code. The user will have to set a reference to the MapPoint 2002 (version 9) object library. I have not tested this code under any version of MapPoint prior to 2002, but doubt it will work.

The code is very completely commented, and can easily be customized by anyone with a basic understanding of VBA.

To use the code, simply import the two modules in to any application that supports VBA (e.g., Excel or Word), change the file names in the GetRoutes procedure to the files you want to merge, and execute GetRoutes. The builds the collection of WayPoints. Then, execute CreateNewRouteMap to build a new map with the "merged" route. The original files are not modified in any way.

The code is explicitly granted to the Public Domain.

Discuss this story in the forum.

Author: Chip Pearson
Email: chip(AT)cpearson.com
URL: http://www.cpearson.com
Chip Pearson is an independent software developer, specializing in applications written on the Microsoft Excel platform. He has been awarded the Most Valuable Professional (MVP) award from Microsoft for each of the last 4 years. Prior to working in the Excel world, Chip was a consultant to Tandem Computers in Cupertino, CA. He has a degree in mathematics from the University Of Kansas, and currently lives in Kansas City with his cat, Sadie.



Google
 
MP2Kmag Internet


 Recent Discussion
-bingmaps: Great video of Estradas de Portugal's use of #BingMaps for highways and traffic portal http://bit.ly/9O2HkA
-bingmaps: 4 easy steps to embed #BingMaps Twitter maps on your website http://bit.ly/9d0jEX
-bingmaps: RT @ChrisPendleton: After much ado, the Bing Twitter Maps EMBED feature is LIVE (for real, this time!): http://bit.ly/cUslPQ. @BingMaps
-bingmaps: @USAToday talks to @ChrisPendleton about #BingMaps http://bit.ly/cdzZqJ
-MapPoint 2010 optimize gives different results
-Mappoint on an access form
-blank screen when searching place or address
-Embed Bing Maps Twitter Maps On Your Site
-bingmaps: RT @JohannesKebeck: New blog post: http://tinyurl.com/ygmlayc - Spatial Data Management and Data Visualization with SQL Server 2008 & Bi ...
-Getting 2006 symbols in 2010?
-bingmaps: At #wherecampeu today? Look out for @johanneskebeck and @mrtea72 from the #BingMaps team
-Using MapPoint to see Deaths
-Spatial Data Management and Data Visualization with SQL Server 2008 & Bing Maps
-bingmaps: Join the UK #BingMaps team for the finance and insurance sector webcast tomorrow http://bit.ly/chMYcb
-Bing Maps at MIX10!
-Bing Maps at MIX10!
-bingmaps: Want live Twitter and Maps on your website, use the new widget from Bing Maps: http://bit.ly/9KkFSa
-linked files
-Criteria for extracting postcodes in Mappoint Euro Ver
-Spatial Data Import COM Add-in / Shapes (SHP file)
-BingMapsDev: @jont87 For Silverlight I would start here: http://is.gd/a4BAq and then look at the Bing Maps iSDK: http://is.gd/a4C4y
-bingmaps: Channel 5's Gadget Show are impressed by #BingMaps Birds Eye (forward to 24 mins) http://bit.ly/9Cn6sY
-bingmaps: #BingMaps SXSW Panel Announced http://bit.ly/9GWSeT
-bingmaps: Bing Maps retail and supply chain webcast starts in 10 minutes. Register here: http://bit.ly/dsNNJD
-Bing Maps SXSW Panel Announced
 Resources
Browse GIS books and periodicals
Best Car Contract Hire Lease Save
Find a MapPoint Partner or Consultant
Real Estate Columbia Homes for Sale by Owner


Want Your Site To Appear Here?

   © 1999-2009 MP2K. Questions and comments to: website@mp2kmag.com
  Microsoft and MapPoint 2002/2004/2006/2009 are either trademarks or registered trademarks of Microsoft.

• Replacement Cordless Phone Batteries from DSMiller
Improve your career with a computer degree LocalEDU.com
• Tim Cohn's Marketing Strategy Consultancy
• Buy Toner Cartridges at Marquee Office Solutions
• Looking for Dry Erase Boards? See Dry Erase Boards • The Search Starts Here Used Cars
• 5339 - We Know Bikes: Road Bikes / Triathlon Bikes / Mountain Bikes / BMX Bikes
• Buy Your Car Used Cars UK, Car Lease and Contract Hire