PlanetScope Data and Python SDK

Hi SH team,

I have a couple of questions for PlanetScope data and Python SDK.

  1. Can I order PlanetScope visual ortho tiles? https://www.planet.com/products/satellite-imagery/planetscope-visual-ortho-tile/. We do a lot of visual QA at this stage and it would be helpful to access visual products. If there is an eval script that allows us to convert the analytical product to visual and download it in COG format, that would be great.
  2. Right now, I am only using dates in the data filter when doing a post or get to the API. Is it possible to use the tile_id? That would make it easier to iterate over and do the processing.
    input = {
    “data”: [{
    “type”: “CUSTOM”,
    “dataFilter”: {
    “collectionId”: collection_id,
    “timeRange”:{
    “from”: “2020-10-20T00:00:00Z”,
    “to”: “2020-10-22T00:00:00Z”
    }
    }
    }]
    }
  3. Is it possible to use SH Python SDK to do the ordering and stuff for PlanetScope?
  4. Is there a way to add Sentinel 1 and 2 imagery to the same collection as Planet data? We try to do continuous monitoring of an area using as much imagery as possible. Having everything in one place would be great.
  5. Can I use my planet API key to authenticate directly for Planetabs API?

Thank you in advance!

Hi Chinmay,

To create a visual (RGB), you can find an example of the request here:

Or, directly, the Custom script, which you need to enter in the Configuration utility.

//VERSION=3
function setup() {
  return {
    input: [{"bands": ["B1", "B2", "B3", "dataMask"]}], output: { bands: 4}
  }; 
}
var f = 2500
function evaluatePixel(sample) {
  return [sample.B3 / f, sample.B2 / f, sample.B1 / f, sample.dataMask]; 
}

Using this you can then get true color imagery in your own tool using API direclty, e.g. OGC WMS service.
Or you can download it as GeoTiff.

  1. It is not possible to refer to tiles. Why would you want to do that? On the border of the tiles you might get parts of data…
    You can use Catalogue API, Distinct option, to get information about available imagery at some area, then simply iterate over these dates.

  2. Sentinelhub-py does not yet support ordering of Third party data. This is an open-source library, so you are welcome to submit a pull request.

  3. You cannot add Sentinel imagery to the collection as the data are of different constraints. You can however easily access both PlanetScope, Sentinel-1 and Sentinel-2 data in the same request using Data fusion capability.
    Read the documentation here:
    https://docs.sentinel-hub.com/api/latest/data/data-fusion/
    And blog post with some examples here:
    https://medium.com/sentinel-hub/data-fusion-combine-satellite-datasets-to-unlock-new-possibilities-26356c481169

  4. We have not tested this, but I believe it might work .

Thank you Grega. That was helpful.
Re: 1 - Form what I understand, the script you sent only applies the brightness correction. But the visual product also has the color curve correction applied, no? https://support.planet.com/hc/en-us/articles/212132817-What-is-the-difference-between-an-analytic-visual-and-basic-scene-

Re: 2 - I was talking about the tile id return from BYOC collection. Once I have ordered and added 3rd party imagery to a specific collection, it assigns them tile IDs. Requesting by dates is not a big hassle though.

I see. We do unfortunately not have the custom script yet for this mentioned color curve, although it should probalby not be too difficult to do it. Perhaps a good opportunity for our Custom Script Contest:

1 Like

Thanks Grega! I will look into it. Just need to check how do they apply the color curve correction.