Creating Onramps in Street Atlas with GPSBabel

This document explains how to create an onramp for a limited access highway in Street Atlas USA using GPSBabel. It's normally not possible to connect user-drawn roads to limited access or toll highways, but with a little work, you can make something that looks and works like a new onramp. This procedure is moderately difficult, and you should have some degree of comfort with the command line or DOS prompt if you plan to attempt it. It will also help if you are familiar with the processes for adding and removing draw layers in Street Atlas and if you have some experience drawing routable roads.

map overview

Normally, when you add a user-drawn road and join it to a road that already exists, Street Atlas automatically creates "hidden" roads that duplicate the two halves of the existing road, adding a "node" where you joined the new road. That node is the yellow diamond you see when you add a new road. This process duplicates what Street Atlas does for the road types that Street Atlas doesn't allow you do that with.

The common solution for this problem from the DeLorme Forums suggests creating local roads that lie "under" the Interstate route and connect to the next ramp in either direction. This is exactly what Street Atlas would do in the same situation, so it's the right answer, but this procedure polishes the result somewhat by automatically drawing the copy of the existing road and by making the copy obey the advanced routing preferences that the user has applied to freeways.

In this example, we will create a new interchange between two existing interchanges. The interchange we're creating for this example doesn't exist in the real world, but the location works well for an example.

To the right is an overview map of the area we'll be working in. We want to add an interchange to I-69 just south of the railroad tracks. We need to connect our new interchange to the interchanges to its north and south, which are exits 126 and 129 on the map.

southbound route

GPSBabel can automate the process of drawing the copy of the existing freeway, but to do that, it needs information from Street Atlas on where the freeway lies. Fortunately, Street Atlas can provide that in the form of a route file.

So the first step is to create a route that lies on the part of the highway we want to connect to. To do that, create a route that goes from one of the desired interchanges to the other.

northbound route

That route gets us the southbound lane of the freeway. We still need the northbound lane, so create another route in the opposite direction.

Before you can do the next step, you have to save the route files you've just created. To do that, hit ctrl-S and make sure both route files are checked.

Now we come to the first of two times we'll use GPSBabel to make our lives simpler. This first step reads the two route files we've just created and outputs a routable road layer that we can edit further. To start, Get to a command prompt, and make sure that GPSBabel is in your path and that you are in the navigation folder of your DeLorme Docs directory (usually C:\DeLorme Docs\Navigation.)

gpsbabel -i saroute,split -f "SR 8 to CR 11A.anr" -f "CR 11A to SR 8.anr" -o an1,type=road -F ..\Draw\newramp-first.an1

Type this command, all on one line, replacing the names of the two route files with the names of your own route files. You may of course also rename the road layer, but don't forget that you did because we'll need to use it by name again later. Notice that we're putting the new file in the Draw folder under DeLorme Docs. This makes it easier to find for the next step.

GPSBabel will read each of the two route files, split them into separate lines based on the turn directions, and write the resulting lines to a routable road file that we can now edit.

selecting ramps

Return to Street Atlas and load your new drawing layer from the Map Files tab.

As you can see, we now have routable roads that follow the route we created earlier. We have some extra routable roads on the ramps and the side streets, but too much is better than not enough.

ramps gone

The next step is to get rid of the extra routable roads that have been created for us at each end of the route. Be careful, because it's likely that Street Atlas did not create a turn direction at the end of the onramps, so when you select an onramp you could end up selecting the entire Interstate. In that case, you'll want to delete the individual points from the ramp end one at a time until all that remains is the Interstate. Be careful not to delete too many points, though, or you'll find that the next step doesn't work as expected. In this case, you will also want to rename the remainder of the road, because the name GPSBabel gave it will be the name of the ramp.

In the picture to the right, I've accidentally deleted the entire southbound lane. If you do this, or if you make some other mistake you can't easily undo, just remove the map file without saving it and then re-add it.

attaching the ends

Once you've deleted all of the extra roads, you want to make sure that Street Atlas knows that the remaining roads are supposed to connect with the existing ramps. To do this, select each of the new roads and drag each of its ends to the yellow diamond at the end of the appropriate ramp.

drawing in the ends

Now comes the part you've been waiting for: drawing in the new ramps. Notice that you can connect to the local road that follows the interstate. In the next step, we'll get rid of that local road and you will no longer be able to see it or connect to it, so make sure you've got everything just the way you want it.

Make sure to save your drawing layer when you've finished with it, then remove it from the Map Files tab.

Now we return to GPSBabel for the next step. For this step, get to the DeLorme Docs\Draw folder and type this command, again all on one line:

gpsbabel -i an1 -f newramp-first.an1 -o "an1,road=I-69 N (US 27)!limited!I-69 S (US 27)!limited" -F newramp-second.an1

You should of course replace the parts that mention I-69 with the names you gave the lanes on your own freeway. The general format is a list of names and types separated by exclamation points. If the highway you're editing is a tollway, you should say "toll" instead of "limited".

converted interstate

Now return to Street Atlas and add your new drawing file on the Map Files tab. The local roads that covered your Interstate should now be gone...

finished route

...and you should be able to route on your new ramps.

You will find that your new ramps won't have exit numbers in the printed directions. To help with this, I put the exit number in the name of the road segment that represents the ramp.