Fork me on GitHub Stitch

Stitch




Stitch is a Python script to assemble large Google maps. A rectangle of latitude and longitude is specified (or generated via the coordinates tool below), as well as the desired map dimensions. The appropriate tiles are then automatically downloaded and stitched together into a single map (which is cropped to precisely match the specified rectangle). An examples of the large maps you can make is shown above.

Three map types are supported: satellite, hybrid (i.e. roads/boundaries overlaid on the satellite map), and terrain. The map dimensions are specified either as the number of pixels desired along the long edge of the rectangle (which will only be matched approximately by the stitched map, since no resampling is done), or alternatively by entering the zoom level of the Google tiles directly.

Note that Google may temporarily block your IP if you download too many tiles. To combat this use a VPN to switch proxy server on being blocked, then on restarting Stitch, the tiles already downloaded do not need to be downloaded again (provided the generated tiles/ directory is not deleted). This way extremely large maps can be generated.

Installation

To run Stitch you just need to install the following Python libraries (all available via pip): wx, urllib, urllib2, PIL

Coordinates tool

You can enter latitude and longitude coordinates directly, or use the tool below to convert a rectangle drawn in google maps into a text string code which can be copied and pasted into the GUI. The resulting stitched map will match exactly the red rectangle.

Dragging the markers around updates the coordinates shown below the map (note, the blue marker doesn't necessarily have to lie below and to the left of the red one, any rectangle defined by the corners is valid for Stitch input). The "Reset markers" button relocates the markers to lie at the default positions in the current viewport. The markers can also be moved via entering latitude and longitude coordinates directly in the text fields &mdash refresh the marker positions via the "Update markers" button (or just press return after entering the values).

The coordinates thus obtained can be entered conveniently into the Stitch GUI by copying and pasting the text field below (enable the 'Use code?' option, and paste into the 'Code' field):



Blue marker Red marker
Lat:
Lng:
Lat:
Lng: