All Projects → mapbox → pxm-manifest-specification

mapbox / pxm-manifest-specification

Licence: MIT license
File specification for PXM (Pixel Monster)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pxm-manifest-specification

untiler
Stitch image tiles into larger composite TIFs
Stars: ✭ 35 (+150%)
Mutual labels:  satellite, imagery, pxm
snuggs
Snuggs are s-expressions for Numpy
Stars: ✭ 15 (+7.14%)
Mutual labels:  satellite, imagery, pxm
supermercado
Supercharger for mercantile
Stars: ✭ 100 (+614.29%)
Mutual labels:  satellite, imagery, pxm
grib-doctor
Utilities for handling quirks of weather data grib files.
Stars: ✭ 20 (+42.86%)
Mutual labels:  satellite, imagery
rio-rgbify
Encoded arbitrary bit depth rasters in psuedo base-256
Stars: ✭ 62 (+342.86%)
Mutual labels:  satellite, imagery
rio-hist
Histogram matching plugin for rasterio
Stars: ✭ 71 (+407.14%)
Mutual labels:  satellite, imagery
rio-pansharpen
pansharpening landsat scenes
Stars: ✭ 42 (+200%)
Mutual labels:  satellite, imagery
rio-toa
Top Of Atmosphere (TOA) calculations for Landsat 8
Stars: ✭ 38 (+171.43%)
Mutual labels:  satellite, imagery
rio-glui
Explore CloudOptimized geotiff on your browser using Mapbox GL JS
Stars: ✭ 47 (+235.71%)
Mutual labels:  satellite, imagery
sentinel-tiler
A serverless Sentinel-2 tiles server using AWS Lambda
Stars: ✭ 59 (+321.43%)
Mutual labels:  satellite, imagery
Look4sat
Amateur radio and weather satellite tracker and passes predictor for Android inspired by Gpredict
Stars: ✭ 160 (+1042.86%)
Mutual labels:  satellite
Gps.js
A NMEA parser and GPS utility library
Stars: ✭ 171 (+1121.43%)
Mutual labels:  satellite
Mercantile
Spherical mercator tile and coordinate utilities
Stars: ✭ 253 (+1707.14%)
Mutual labels:  satellite
kubos-old
An open source platform for satellites
Stars: ✭ 68 (+385.71%)
Mutual labels:  satellite
Himawari.js
Download real-time images of Earth from the Himawari-8 satellite
Stars: ✭ 1,763 (+12492.86%)
Mutual labels:  satellite
Pyskel
Skeleton of a Python package
Stars: ✭ 244 (+1642.86%)
Mutual labels:  satellite
Rio Cogeo
Cloud Optimized GeoTIFF creation and validation plugin for rasterio
Stars: ✭ 128 (+814.29%)
Mutual labels:  satellite
R2cloud
Decode satellite signals on Raspberry PI or any other 64-bit intel.
Stars: ✭ 125 (+792.86%)
Mutual labels:  satellite
Pyorbital
Orbital and astronomy computations in python
Stars: ✭ 119 (+750%)
Mutual labels:  satellite
self-propelled-satellites
The system is formed by self-propelled satellites influenced by the Sun whose objective is not to leave the domain maintaining the maximum possible speed.
Stars: ✭ 18 (+28.57%)
Mutual labels:  satellite

Build Status

pxm-manifest-specification

pixelmonster

Pixelmonster (PXM) is a service for processing remotely-sensed images and rendering them to raster tiles on the Mapbox platform.

This document describes the PXM manifest file - the interchange format for specifying the source images and processing parameters.

Specification

The Manifest file is a JSON file (typically with a .json extension) described in this specification:

https://github.com/mapbox/pxm-manifest-specification/blob/master/pxm-manifest-spec.md

Example:

{
  "sources": [
    "s3://my-bucket/20171101/17RLL630825.tif",
    "s3://my-bucket/20171101/17RLL675930.tif",
    "s3://my-bucket/20171101/17RLL675720.tif",
    "s3://my-bucket/20171101/17RLL705780.tif"
  ],
  "info": {
    "tilesets": [
      "customer1.aerials"
    ],
    "date": "2018",
    "license": "cc by-sa 4.0",
    "account": "customer1",
    "product": "november_aerial_photos",
    "notes": "Aerial photos from November 2017, Northern California",
    "crs": "EPSG:26910"
  }
}

Usage

1. Create manifest file

To create a PXM manifest file, read the specification and

  • Create the JSON file manually or with tools of your choice.

  • Use the included command line script, manifest.py.

1.1 Tools

Python 3.6+ is required and it is recommended to use a venv.

pip install -r requirements.txt
python manifest.py --help

And example of its usage would be

# source-list.txt is a line-delimited list of s3 URLs
python manifest.py source-list.txt \
    -t accountname.tileset \
    --license "CC BY-SA" \
    --account accountname \
    --product productname \
    --date 2018 \
    --output render1.json

which would generate the following output;

{
    "info": {
        "account": "accountname",
        "date": "2018",
        "license": "CC BY-SA",
        "notes": "",
        "product": "productname",
        "tilesets": [
            "accountname.tileset"
        ]
    },
    "sources": [
        "s3://my-bucket/test.tif"
    ],
    "version": "0.5.1"
}

A more advanced usage would be;

# List files in a AWS S3 bucket and pipe them into the python CLI
aws s3 ls mybucket/mydata/ --recursive | grep -E '.tif$' | awk '{print "s3://mybucket/"$NF}' | python manifest.py \
    -t accountname.tileset \
    --license "CC BY-SA" \
    --account accountname \
    --product productname \
    --date 2018 \
    --output render1.json

2. Manifest validation

PXM manifest uses JSON Schemas to validate manifest files.

The file schemas/pxm-manifest-0.5.1.json is used to validate the PXM manifest file.

An example of using jsonschema from the command line is

jsonschema -i render1.json schemas/pxm-manifest-0.5.1.json

3. Use manifest files to initiate a render

Currently, we review the manifest file and run the processing using an internal workflow. Please contact the sales team and mention PXM cc: team-satellite.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].