Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ungarj/tilematrix
helps handling tile pyramids
https://github.com/ungarj/tilematrix
geospatial mercator-projection pyramid tile tilesets web-mapping wgs84
Last synced: 15 days ago
JSON representation
helps handling tile pyramids
- Host: GitHub
- URL: https://github.com/ungarj/tilematrix
- Owner: ungarj
- License: mit
- Created: 2015-08-26T15:06:39.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2024-11-11T08:16:53.000Z (about 2 months ago)
- Last Synced: 2024-12-06T17:52:20.655Z (27 days ago)
- Topics: geospatial, mercator-projection, pyramid, tile, tilesets, web-mapping, wgs84
- Language: Python
- Homepage:
- Size: 4.67 MB
- Stars: 21
- Watchers: 6
- Forks: 3
- Open Issues: 18
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
README
==========
Tilematrix
==========Tilematrix handles geographic web tiles and tile pyramids.
.. image:: https://badge.fury.io/py/tilematrix.svg
:target: https://badge.fury.io/py/tilematrix.. image:: https://travis-ci.org/ungarj/tilematrix.svg?branch=master
:target: https://travis-ci.org/ungarj/tilematrix.. image:: https://coveralls.io/repos/github/ungarj/tilematrix/badge.svg?branch=master
:target: https://coveralls.io/github/ungarj/tilematrix?branch=master.. image:: https://anaconda.org/conda-forge/tilematrix/badges/version.svg
:target: https://anaconda.org/conda-forge/tilematrix.. image:: https://img.shields.io/pypi/pyversions/mapchete.svg
The module is designed to translate between tile indices (zoom, row, column = ZYX) and
map coordinates (e.g. latitute, longitude).Tilematrix supports **metatiling** and **tile buffers**. Furthermore it makes
heavy use of shapely_ and it can also generate ``Affine`` objects per tile which
facilitates working with rasterio_ for tile based data reading and writing.It is very similar to mercantile_ but besides of supporting spherical mercator
tile pyramids, it also supports geodetic (WGS84) tile pyramids... _shapely: http://toblerity.org/shapely/
.. _rasterio: https://github.com/mapbox/rasterio
.. _mercantile: https://github.com/mapbox/mercantile------------
Installation
------------Use ``conda`` to install the latest stable version:
.. code-block:: shell
conda install -c conda-forge -y tilematrix
Use ``pip`` to install the latest stable version:
.. code-block:: shell
pip install tilematrix
Manually install the latest development version
.. code-block:: shell
pip install -r requirements.txt
python setup.py install-------------
Documentation
-------------* `API documentation `_
* `examples `_CLI
---This package ships with a command line tool ``tmx`` which provides the following
subcommands:* ``bounds``: Print bounds of given Tile.
* ``bbox``: Print bounding box geometry of given Tile.
* ``tile``: Print Tile covering given point.
* ``tiles``: Print Tiles covering given bounds.Geometry outputs can either be formatted as ``WKT`` or ``GeoJSON``. For example
the following command will print a valid ``GeoJSON`` representing all tiles
for zoom level 1 of the ``geodetic`` WMTS grid:.. code-block:: shell
$ tmx -f GeoJSON tiles -- 1 -180 -90 180 90
{
"type": "FeatureCollection",
"features": [
{"geometry": {"coordinates": [[[-90.0, 0.0], [-90.0, 90.0], [-180.0, 90.0], [-180.0, 0.0], [-90.0, 0.0]]], "type": "Polygon"}, "properties": {"col": 0, "row": 0, "zoom": 1}, "type": "Feature"},
{"geometry": {"coordinates": [[[0.0, 0.0], [0.0, 90.0], [-90.0, 90.0], [-90.0, 0.0], [0.0, 0.0]]], "type": "Polygon"}, "properties": {"col": 1, "row": 0, "zoom": 1}, "type": "Feature"},
{"geometry": {"coordinates": [[[90.0, 0.0], [90.0, 90.0], [0.0, 90.0], [0.0, 0.0], [90.0, 0.0]]], "type": "Polygon"}, "properties": {"col": 2, "row": 0, "zoom": 1}, "type": "Feature"},
{"geometry": {"coordinates": [[[180.0, 0.0], [180.0, 90.0], [90.0, 90.0], [90.0, 0.0], [180.0, 0.0]]], "type": "Polygon"}, "properties": {"col": 3, "row": 0, "zoom": 1}, "type": "Feature"},
{"geometry": {"coordinates": [[[-90.0, -90.0], [-90.0, 0.0], [-180.0, 0.0], [-180.0, -90.0], [-90.0, -90.0]]], "type": "Polygon"}, "properties": {"col": 0, "row": 1, "zoom": 1}, "type": "Feature"},
{"geometry": {"coordinates": [[[0.0, -90.0], [0.0, 0.0], [-90.0, 0.0], [-90.0, -90.0], [0.0, -90.0]]], "type": "Polygon"}, "properties": {"col": 1, "row": 1, "zoom": 1}, "type": "Feature"},
{"geometry": {"coordinates": [[[90.0, -90.0], [90.0, 0.0], [0.0, 0.0], [0.0, -90.0], [90.0, -90.0]]], "type": "Polygon"}, "properties": {"col": 2, "row": 1, "zoom": 1}, "type": "Feature"},
{"geometry": {"coordinates": [[[180.0, -90.0], [180.0, 0.0], [90.0, 0.0], [90.0, -90.0], [180.0, -90.0]]], "type": "Polygon"}, "properties": {"col": 3, "row": 1, "zoom": 1}, "type": "Feature"}
]
}Print ``WKT`` representation of tile ``4 15 23``:
.. code-block:: shell
$ tmx bbox 4 15 23
POLYGON ((90 -90, 90 -78.75, 78.75 -78.75, 78.75 -90, 90 -90))Also, tiles can have buffers around called ``pixelbuffer``:
.. code-block:: shell
$ tmx --pixelbuffer 10 bbox 4 15 23
POLYGON ((90.439453125 -90, 90.439453125 -78.310546875, 78.310546875 -78.310546875, 78.310546875 -90, 90.439453125 -90))Print ``GeoJSON`` representation of tile ``4 15 23`` on a ``mercator`` tile
pyramid:.. code-block:: shell
$ tmx -output_format GeoJSON -grid mercator bbox 4 15 15
{"type": "Polygon", "coordinates": [[[20037508.342789203, -20037508.3427892], [20037508.342789203, -17532819.799940553], [17532819.799940553, -17532819.799940553], [17532819.799940553, -20037508.3427892], [20037508.342789203, -20037508.3427892]]]}----------------
Conda Publishing
----------------Use bot pull requests generated with every release at tilematrix-feedstock_ repository for releasing new versions on ``conda-forge``.
-------
License
-------MIT License
Copyright (c) 2015-2022 `EOX IT Services`_
.. _`EOX IT Services`: https://eox.at/
.. _`tilematrix-feedstock`: https://github.com/conda-forge/tilematrix-feedstock