Static Map
A small, python-based library for creating map images with lines and markers.
Example
m = StaticMap(300, 400, 10)
m.add_line(Line(((13.4, 52.5), (2.3, 48.9)), 'blue', 3))
image = await m.render()
image.save('map.png')
This will create a 300px x 400px map with a blue line drawn from Berlin to Paris.
Installation
StaticMap is a small library, all it takes is python and two python packages: Pillow and request. Install staticmap via:
pip install aiostaticmap
Usage
Create a new map instance:
m = StaticMap(width, height, padding_x, padding_y, url_template, tile_size)
| parameter | description |
|---|---|
| width | width of the image in pixels |
| height | height of the image in pixels |
| padding_x | (optional) minimum distance in pixel between map features (lines, markers) and map border |
| padding_y | (optional) minimum distance in pixel between map features (lines, markers) and map border |
| url_template | (optional) the tile server URL for the map base layer, e.g. http://a.tile.osm.org/{z}/{x}/{y}.png |
| tile_size | (optional) tile size in pixel, usually 256 |
Add a line:
line = Line(coordinates, color, width))
m.add_line(line)
| parameter | description |
|---|---|
| coordinate | a sequence of lon/lat pairs |
| color | a color definition Pillow supports |
| width | the stroke width of the line in pixel |
| simplify | whether to simplify coordinates, looks less shaky, default is true |
Add a map circle marker:
marker = CircleMarker(coordinate, color, width))
m.add_marker(marker)
| parameter | description |
|---|---|
| coordinate | a lon/lat pair: e.g. (120.1, 47.3) |
| color | a color definition Pillow supports |
| width | diameter of marker in pixel |
Add a polygon:
polygon = Polygon(coordinates, fill_color, outline_color, simplify)
m.add_polygon(polygon)
| parameter | description |
|---|---|
| coordinate | a lon/lat pair: e.g. [[9.628, 47.144], [9.531, 47.270], [9.468, 47.057], [9.623, 47.050], [9.628, 47.144]] |
| fill_color | a color definition Pillow supports |
| outline_color | a color definition Pillow supports |
| simplify | whether to simplify coordinates, looks less shaky, default is true |
Samples
Show Position on Map
from src import StaticMap, CircleMarker
m = StaticMap(200, 200, url_template='http://a.tile.osm.org/{z}/{x}/{y}.png')
marker_outline = CircleMarker((10, 47), 'white', 18)
marker = CircleMarker((10, 47), '#0036FF', 12)
m.add_marker(marker_outline)
m.add_marker(marker)
image = await m.render(zoom=5)
image.save('marker.png')
Show Ferry Connection
from src import StaticMap, Line
m = StaticMap(200, 200, 80)
coordinates = [[12.422, 45.427], [13.749, 44.885]]
line_outline = Line(coordinates, 'white', 6)
line = Line(coordinates, '#D2322D', 4)
m.add_line(line_outline)
m.add_line(line)
image = await m.render()
image.save('ferry.png')
Show Icon Marker
from src import StaticMap, IconMarker
m = StaticMap(240, 240, 80)
icon_flag = IconMarker((6.63204, 45.85378), './samples/icon-flag.png', 12, 32)
icon_factory = IconMarker((6.6015, 45.8485), './samples/icon-factory.png', 18, 18)
m.add_marker(icon_flag)
m.add_marker(icon_factory)
image = await m.render()
image.save('icons.png')
Licence
StaticMap is open source and licensed under Apache License, Version 2.0
The map samples on this page are made with OSM data, © OpenStreetMap contributors
Metadata
Release files for aiostaticmap 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aiostaticmap-0.1.0.tar.gz | 8.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiostaticmap-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.6 kB
Release files / aiostaticmap-0.1.0.tar.gz
| Download URL | aiostaticmap-0.1.0.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
72df405b03e0a7fa06f2d6416cdf9d885964eeea9d73343841b6a88f92bee8af
|
|
BLAKE2b-256 checksum How to use checksums |
2c1e26405dc429a1912af3a8cae4d4103b92887261d10f5c8cd8b975c30f6e22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.7.0 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.5.9
|
Release files / aiostaticmap-0.1.0-py3-none-any.whl
| Download URL | aiostaticmap-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
265094e2bb4955276053d2c1b007952d11af6b5baea25d76d6f44ed9cd1973bb
|
|
BLAKE2b-256 checksum How to use checksums |
7dfa466a9734ec07e2fa46b7abbceed1369b3fd4359bbcbdb1b89f258f303735
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.7.0 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.5.9
|