Last week I started discussing extracting pushpin data from Microsoft MapPoint 2004.
Pushpins in MapPoint are markers that you can place anywhere on a MapPoint map. There are several hundred visual styles for pushpins to choose from (dots, flags, etc.) and they can simply name a location (you can use up to 128 characters) or you can also add additional text, URLs and links to local or remote files.
Pushpins are created directly through the MapPoint interface or you can import them from Excel or CSV files, and pushpins can be assigned to categories, what MapPoint calls "sets."
Here's where we meet our first problem. Moving pushpins between sets can only be done by editing the properties for each pushpin individually. This makes for a very tedious job when you have many pushpins to change, and if you don't consolidate all your pushpins, when you export pushpins to Excel they'll be listed on multiple spreadsheets -- a different sheet for each set of pushpins created in a different session.
But there's a bigger problem with exporting to Excel: The exported pushpin data doesn't include the latitude and longitude of each pushpin. This is ridiculous. You have to wonder how the engineers at Microsoft could be so naive as to not allow the export of the most important pushpin data of all.
The reason I found myself needing to extract the latitude and longitude data from my MapPoint pushpins is I have hundreds of pushpins in multiple maps and I want to export them to Google Maps. Once moved I will not only be able to view them from anywhere I can get access to a computer, but I will also be able to publish them for other people to use.
Anyway, I just found a tool that will export MapPoint pushpins with their names and their latitude and longitude: It's called Pushpin Tools and is available for a very reasonable $75.
Pushpin Tools also includes some neat features that help manage the MapPoint environment, such as the ability to open or close all pushpin label balloons or set all of them to display only the name field of all push pins. But what really matters is Pushpin Tool's ability to export.
You can export any specific single set of pushpins or select all pushpins ("all" pushpins is another concept that Microsoft engineers appear to have not understood) and with a click of your mouse, voilá! All of your pushpin data will be in Excel awaiting manipulation.
But if like me, you wish to migrate your pushpins to Google Maps you'll need to do a little work to convert your Excel data to Google's KML format (it's also used for Google Earth and Google Maps for mobile).
Converting to KML is actually pretty easy, as your Pushpin Tools data consists of a line for each pushpin with separate fields for pushpin name, latitude and longitude.
KML defines entities called "placemarks" (essentially the same concept as pushpins) that need to be in the following format:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>Placemark_name_text</name>
<description>Description_text</description>
<Point>
<coordinates>longitude, latitude, altitude</coordinates>
</Point>
</Placemark>
</kml>
The code above is almost the simplest form of a KML file -- the only simpler form would leave out the description tags.
Modifying your Pushpin Tools generated spreadsheet to create KML content is pretty straightforward, and Google has a good online tutorial on the finer points of the KML XML format.
At last, freed from the chains of MapPoint!
Read more about software in Network World's Software section.