Skip to main content

Run tile-reduce map jobs in Python

Project description

tilereduce
==========

A framework for writing [tile-reduce](https://github.com/mapbox/tile-reduce)
map scripts in Python.

NOTE: This library is experimental and under active development. No official
release has been created.


Usage
-----
First read the documentation at [tile-reduce](https://github.com/mapbox/tile-reduce).

`tile-reduce-py` allows you to write the map script in Python. The reducer is
still Javascript.

```
import mapbox_vector_tile

import tilereduce


class BuildingRoadCount(tilereduce.TR):
def mapper(self, x, y, zoom, data):
if data is None:
return 0

# Decode the raw binary protocol buffer data
td = mapbox_vector_tile.decoder.TileData(2048)
tile = td.getMessage(data)

count = 0
if tile.get('buildings'):
count += len(tile['buildings'])
if tile.get('roads'):
count += len(tile['roads'])

return count


if __name__ == '__main__':
BuildingRoadCount.main()
```

The reduce script is identical as the original Node example except the `map`
argument is now the path to the Python map script.

Project details


Supported by

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