Skip to content

developmentseed/label-maker-dask

Repository files navigation

label-maker-dask

Library for running label-maker as a dask job

Acknowledgements

This work was undertaken with support from Microsoft to be run on the Planetary Computer. With access to the Planetary Computer Hub, you can find an interactive notebook tutorial for running this library.

Basic Example

Instantiate a distributed dask cluster

from dask.distributed import Client
cluster = ...
client = Client(cluster)

Create a label maker job

from label_maker_dask import LabelMakerJob
lmj = LabelMakerJob(
    zoom=13,
    bounds=[-44.4836425781, -23.02665962797, -43.412719726, -22.5856399016],
    classes=[
        { "name": "Roads", "filter": ["has", "highway"] },
        { "name": "Buildings", "filter": ["has", "building"] }
      ],
    imagery="http://a.tiles.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.jpg?access_token=ACCESS_TOKEN",
    ml_type="segmentation",
    label_source="https://qa-tiles-server-dev.ds.io/services/z17/tiles/{z}/{x}/{y}.pbf"
)

Build & execute the job

lmj.build_job()
lmj.execute_job()

View or otherwise use the results (by passing to a machine learning framework)

for result in lmj.results:
    ...