Building a Basemap from Screen Captures
Objective
Find useful map data from the internet (such as satellite imagery, street map data, and contours), import it with georeferencing into an Open Orienteering Mapper file, and trace it to make a no-fieldwork map.
Example result:
Theory & philosophy– side note for the curious
Ideally, we would source up-to-date images that come with georeferencing data built in, such that we don't have to do any manual (and potentially wonky) template adjustment in Open Orienteering Mapper. I don't know yet if this is possible.
In the meanwhile, the approach is to (1) get some data from Open Street Map– not as much detail as a satellite image, but correctly georeferenced, then (2) pull satellite images for which we know the scale in meters per pixel, if not the exact positioning, then drag them visually into alignment with the georeferenced data.
What I'm presenting here is a functional and expedient approach. It works. I'd rather do it differently. I'm working in the "sat" branch of this repository on this problem if you want to track my progress.
Materials
- A computer
- Open Orienteering Mapper (0.7.0/Stable): Mac Download | Windows Download
- The ability to take screen shots (screen captures). If this is new to you, try everything in this LifeHacker article that applies to your computer (Windows/Mac) before proceeding.
Instructions
Get georeferenced
Choose an area to map, such as your house or a park. In this example, I'm mapping Brightwater Treatment Plant, which is a nice park in addition to being a water treatment plant.
Go to Open Street Map and search for your location.
Once you have the area you want to map on your screen, click the Export button near the top left of the page.
Click Export to download a file with data about the area (likely called something like "map.osm").
Leave the Open Street Maps page open on your computer; we're going to use it again later.
Now open Open Orienteering Mapper on your computer. Click "Create a new map..."
I've decided to make a sprint map, so I change the scale to 1:5000 and select the symbol set "ISSOM_5000" before clicking "Create".
Here is our new, blank map file:
Go to Templates > Open template...
Find the .osm file you just exported from Open Street Maps.
Once you click Open, it will ask you if you want your track georeferenced or not. You do!
Select "Georeferenced".
In order to georeference the template to the map, Open Orienteering Mapper needs to know how we want to georeference our map. It pops up this screen:
Click on the drop-down box next to "Coordinate reference system" and select UTM to choose the Universal Trans-Mercator coordinate system.
Here is our map, now with a georeferenced template:
It's important to start with georeferenced data so that we can use the other, GPS-based mapping techniques in this tutorial (e.g. the Runkeeper Trail Mapping) and have everything show up in correct positions.
We are going to use this Open Street Map data as a reference to line up other, more detailed images as templates to trace.
Get satellite imagery
We are going to use a free tool called GeoLocator, because it tells us scale in pixels per meter (this will come in handy soon).
Open GeoLocator.
Wow, the whole world! GeoLocator wants coordinates in order to find your location.
Tab back over to the Open Street Map page we used earlier.
At the end of the URL, you will see the coordinates of your map!
Copy the coordinates from the URL, tab back over to the GeoLocator page, and paste them into the coordinates box:
Press "Apply" to see your location centered and marked on the map.
Zoom in until you have a useful area centered on the screen:
Now take a screen shot, being sure to capture the part in the bottom right where it says "1px = ...":
Make sure you know the file location where the screen shot is saved.
Import imagery into Open Orienteering Mapper
In Open Orienteering Mapper, go to Templates > Open template...
Find your screen shot and click "Open".
It will ask for scaling information. We know how many meters per pixel! In my case, 1px - 3.2x3.2m, so I enter 3.2:
When I press "Open", I now have my two templates on top of each other, like so:
Working with multiple templates
This seems like a good moment to point you to the Open Orienteering Mapper Manual page on Templates. If you get lost in this tutorial, have a look at the manual page for more information.
Looking at your map, you may notice two issues immediately:
- One template is blocking the other
- The two templates don't line up correctly
We can fix that! All of the tools we need are in the Template Setup Window, which is probably already open.
If you're not sure if it's open, make sure there's a check mark in the Templates menu like so:
Manipulating template settings
This section fixes the problem of templates blocking each other.
Adjusting template transparency
I'd like to be able to see through my satellite image to the Open Street Map data below. Let's adjust transparency.
In the template window, I know that the satellite image is the one called Screen Shot:
Click on the "100%" number under the "Opacity" column. Type "60" to get 60% opacity.
See the result:
Hiding and showing Templates
Maybe I don't want to see my satellite image at all right now.
Uncheck the checkbox next to the satellite image template file:
It's gone!
Ok, re-check that box. We need that template visible.
Changing template order
I'm finding it a little hard to make out the lines of the street map data through the semi-opaque satellite image:
I'd prefer to have the street map data show on top of the satellite image.
Select the open street map file (.osm) in the template list:
Click the little green up-arrow at the bottom of the Templates window to change the order of the template layers:
See that the .osm layer is now listed above the screen shot layer:
Now the pink lines are on top of the satellite image:
It's still a bit hard to see, I think.
Adjust however you need to in order to see your data clearly.
Here, I've adjusted the satellite image template back to 100% opacity, but now the street map data is on top:
Here is how I left my templates:
Positioning the satellite image
Recall that our Open Street Map data is georeferenced and that our screen shot satellite imagery is not.
This means that since our two templates are not lining up, the .osm layer is correctly positioned, and the screen shot layer needs to be adjusted to match.
We are going to do this visually. Use any distinctive shapes on your templates to find a point that should be the same in both places.
In your Templates window, select the Screen Shot layer:
Click the little blue Move symbol at the bottom of the Templates window:
You can now drag your satellite image into alignment with the open street map data. Zoom in as needed to make sure you are in as tight of alignment as you can manage:
Deselect the Move symbol so that you don't move the template again by accident.
Trace from the templates
Now that your templates are correctly positioned, you can use them to draw features!
It may be helpful to use the Templates window to give your Map layer some transparency.
Here's what a map-in-progress might look like:
And here is the same map, with no templates and map transparency at 100%: