Skip to main content

Tiled map viewer and track editor, using cached offline map tiles and track files

Project description

This is PyTopo, an application for exploring tiled maps cached locally.

See the project home page at http://shallowsky.com/software/topo for more information, examples, screenshots, hints on creating custom maps, and more.

It can download data from OpenStreetMap or other map servers, which may or may not require API keys; or you can use tiles from commercial programs like the Topo! or tiles you've generated yourself.

It can also display GPX, KML or KMZ track logs, and can measure distances and angles between points or give you the coordinates of a point.

It uses GTK for its user interface, so you will need libGTK plus either PyGTK (Python 2), or python-gi plus pygtkcompat (Python 3). Linux users can't install these from PyPI, but they can get these through their distro, or by compiling from source; on Debian or Raspbian, you'll probably need the following packages and their dependencies:

sudo apt-get install python-gi python-gi-cairo gir1.2-gtk-3.0 \
                     python-simplejson python-numpy python-pkg-resources

(or the python3- version of each of those packages, if you prefer). Windows users should be able to install these packages from pip. I don't have a good answer for Python and GTK on Mac; one possible solution is to install GIMP (follow the install links from https://gimp.org) then munge paths so that other programs can find the PyGTK that comes with GIMP.

If you want to read from a GPS, you'll need gpsd and python-gps.

You can install PyTopo with pip install pytopo (that doesn't include the GTK requirement because pip can't install GTK on Linux or Mac). Or install it from the source directory: python setup.py install

You can test-run it from the project directory if you have the pytopo directory in your PYTHONPATH: pytopo/MapViewer.py But if you want to see pin images, create a directory /usr/share/pytopo and copy pytopo-pin.png into it. Or just have pytopo-pin.png in the current directory when you run pytopo.

The first time you run pytopo, it will create a ~/.config/pytopo directory for its configuration files, and a ~/Maps directory for map data.

pytopo -h gives usage examples.

If you need custom maps., edit ~/.config/pytopo/pytopo.sites to add new map Collections (see examples in that file or on the project home page).

Code contributions appreciated!

Also in this project: ellie, a little script for reporting and plotting statistics (distance and elevation change) from a GPX track log. More information: http://shallowsky.com/software/ellie/

There are some unit tests in the test/ directory; run them with python -m unittest discover from the top-level directory.

The docs directory contains documentation on the two apps and the API. To build the documentation:

python setup.py build_sphinx

or

cd sphinxdoc
make html

Happy mapping!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytopo-1.6.1.tar.gz (70.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytopo-1.6.1-py3-none-any.whl (79.4 kB view details)

Uploaded Python 3

File details

Details for the file pytopo-1.6.1.tar.gz.

File metadata

  • Download URL: pytopo-1.6.1.tar.gz
  • Upload date:
  • Size: 70.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.1.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.7.5

File hashes

Hashes for pytopo-1.6.1.tar.gz
Algorithm Hash digest
SHA256 bd6c2bf87bf962c142096e99c23a890f0526602c47eed9e3fd7e6777812456cd
MD5 f5fe82440576939ce4995a2aaf8db8de
BLAKE2b-256 a041303a9baa8d143ee09eeb4b02fb2b740eb5c06656d4a78a4c9d16dc208f26

See more details on using hashes here.

File details

Details for the file pytopo-1.6.1-py3-none-any.whl.

File metadata

  • Download URL: pytopo-1.6.1-py3-none-any.whl
  • Upload date:
  • Size: 79.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.1.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.7.5

File hashes

Hashes for pytopo-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d046e06c8c3e0aa6685caea0b59140aaa412e2f190d46b35a1e95b92169474c2
MD5 12ed26419ead0ccff946ff18cc741c12
BLAKE2b-256 3bc1039ee2fb76b6d75d87bef378de530dd93f0f809c8ccf6e3a5cc22398cdaa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page