Our new Geographic Browser has been deployed for the whole world. And we really, really hope you’ll enjoy it. It currently exists in a fairly basic form. Many features are planned to be added to this new system. So let me explain what’s available.
The Browse button on the front page of the site is the gateway to the Geographic Browser. You can pick a continent, a country, and even a state, region or province. When you do, you’ll see a display that looks like this at the top:
Anywhere that you see a map or a flag in the upper left corner of a locomotive list, as above, it is clickable. Clicking it will get you a display that looks like this:
The markers indicate the locations of locomotives within the state or locale you’ve selected. Green markers indicate locomotives where we have sufficiently accurate location data to generate a map to the locomotive’s precise location. Red markers are used for locomotives where we know the location loosely (no more precisely than the city). Blue markers are an attempt to reduce the amount of clutter on the map. If you hover your mouse over a green or red marker, a flag will appear identifying the locomotive represented by the marker. For blue markers, if you’ll click the blue marker you’ll get a pop up window listing the locomotives at that location.
All About Borders
These maps are drawn by programmatic calls to the Google Maps API, as are the markers and country and regional borders. When I began this project, I hadn’t given a great deal of (or any) thought to country and regional borders. I assumed that they would be a part of any map drawn with the API, but they aren’t. And the API isn’t consistent about it. Generally country borders are visible at some zoom settings and faint or non-existent at others. Provincial, state and regional borders simply aren’t directly available.
There is a solution, of course. The programmer creating a page containing a map can add layers of information to a map. The borders you see around states, provinces and countries are created in this way. There is a programming language called KML (or Keyhole Markup Language) that can be used to draw the borders of almost anything.
We generated the KML files for each locale by extracting data from vastly more complex and comprehensive KML files available from gadm.org. There are several countries for which that approach wasn’t possible, and they will remain borderless or display a crude blue border for the near future was we work on fixing this problem in our data.
Multiple (or Blue Markers)
You’ve doubtless noticed that if you mouseover a green or red marker you get a flag that identifies the locomotive, and if you click on those markers, you get more information. The problem we’re trying to solve with the blue markers is this: If there are 20 locomotives in Left Overshoe, Nebraska, you’ll only see one marker, the last one created, as the other 19 are stacked beneath it, and cannot be separated. Thus was born the Multiple Marker. If you click a blue marker, you’ll get a list of every locomotive in that particular location. Not a perfect solution, I guess, but it’ll have to do until I come up with a better one.
And now for the bad news: I’ve only done the multiple markers for the 50 states, the Canadian provinces and about two dozen other countries. It is a clumsy, manual process. I am writing a tool for me (and the other editors) to use that does a reasonable job of automating this process.
The Problem of Strays
And what, you may ask, is a stray? This is a problem which I discovered after I started putting borders around things. A stray is a locomotive whose record says that it somewhere, and its stored latitude/longitude say that it some where else. You can see an example of this problem by going to the following URL: https://www.steamlocomotive.info/locomap.cfm?locale=Novosibirsk&ucountry=Russia
There you will see the Novosibirsk Oblast of Russia, and a bunch of little red markers. Now zoom out, way, way out. And you’ll see that there are 3 locomotives that are identified as being in Novosibirsk (go ahead, click the markers, I’ll wait). But they are located elsewhere by latitude/longitude. One or the other is wrong, and somebody (me, I guess) will have to sit down and clean up this mess.