What do you do if you have a dataset, say an Excel file and you need to map that data. Maybe you plan to do a ModestMaps application but the data doesn’t have any geolocations. Let’s see how you could go about the problem and how you can use a new application called Mapspread for this purpose.
You you’re savvy enough you could write a custom script (maybe with Python or Ruby) that goes through your rows in your file, makes a request to one of geolocation APIs (like Yahoo! or Google) with the address data and write the longitude & latitude in your file. An experienced developer can write such a script in a manageable time. But how do you handle such a task if you haven’t the needed programming skills? Here comes Mapspread to the rescue.
Mapspread from Poly9 let’s the user import data in various formats like KML, CSV, XLS or Shapefiles. The data can be collaboratively edited and address data gets geocoded automatically. The user can then publish the enhanced data as GeoJSON, GeoRSS, CSV, KML etc. The keyfeature of Mapspread might be the creation of Google Maps applications with the edited data plotted on it. This is perfect if you quickly want to create an interactive map to include in your website but let’s see a short use-case that only needed the geocoding part of Mapspread.
I received an Excel file from a client containing a ZIP code, country abbreviation, and some more data needed for our application per row. The end result is a custom ModestMaps application built with Adobe Flex that runs in the intraned of the company so I needed this data extended with longitude & latitude per entry.
- First, I opened the Excel file in Google Spreadsheets to make some small changes like translating the table headers from german to english so Mapspread would understand what type of data is in the columns.
- I exported the Google Spreadsheet as a CSV file and saved it locally.
- Then I uploaded the modified file to Mapspread and imported the data as a new datalayer (the geocoding process may take some time depending on the size of the uploaded file).
- Finally I was able to publish the datalayer as a CSV file which I download back to my machine.
- Now I simply imported the CSV file in my Flex application and used it to plot the data on the map.
For me, the process of geocoding data without having to write a custom script has just been simplyfied using Mapspread. Do you have experiences with Mapspread or know any other services that provide similar functionality? Please share them in the comments.