Some of the work I do for school and my job requires that I make maps. I’ve never taken a class on how to make maps or analyze data sets featured in maps (what GIS does), so I learn as I go.

There’s no one around me I can call upon when I have questions that need immediate answers. Well, there’s me! Because of this, I must quickly find a solution or workaround myself.

Today I had to import a list of Chicago Transit Authority and Metra rail stations into ArcGIS so I could plot them on a map that also showed Chicago’s boundary and our bikeways. I could do this in Google Earth, but then I would have less control over the printed map I wanted to make, or the image output. ArcGIS has a built-in geocoder and I learned how to use it six months ago, but a skill not practiced is lost – and I forgot how to do it.

That’s okay – what follows is how I overcame this barrier:

Because I know how to use PHP to instantly create Keyhole Markup Language (KML) files (the format which Google Earth and Maps speaks fluently). Then, with this user-contributed KML to SHP plugin for ArcGIS, I was able to convert my KML files to Shapefiles and display them on my map. Unfortunately, my custom “fancy” icons were lost in the translation. Supposedly this alternate user-contributed script does the same thing.

Other tools I used to get my map created:

  • BatchGeocode.com – This site is indispensable for turning a list of addresses (with names, descriptions, and URLs) into the same list but with latitude and longitude coordinates! It will even create a KML file for you.
  • KML Generator (PHP class) – This class allows you to quickly and easily create KML files from any array and array source of coordinates. I store the transit stations in a database and run a query on the database and loop through them to generate the points in a KML file.

I’d like to thank James Fee’s GIS Blog for the links to the ArcGIS scripts/plugins I used in my project. To everyone else who must confront software, technology and mapping roadblocks, there’s almost always a solution for you.

Read about how I got around QGIS’s lack of geocoding.