Skip to content

Populate providersDict programmatically when available and enable user-choice for constellations to impact saerches performed #26

@jo-chemla

Description

@jo-chemla

See search-utilities.tsx code below, for now providersDict which states which constellation is available on which provider is hard-coded manually.
On top of that, the user-selection on the tree list is not enabled for constellations (only for provider) because it is not mapped to search params or API calls.

It would be useful for aggregators that do support it to populate it/update it at init on app load/first render. It would also be useful to let the user trim down searches by selecting which satellites or constellation he wants to perform the search against.

Use filtered providers selection

  • Use filtered providers dict to search only API requested by user or use as query search param. So if user selects pleiades neo and maxar in Up42, only perform searches against these 2 and not all the others offered by up42.

Implement these APIs

API seem to exist to get providers/satellites/suppliers

Hardcode newer lists

API do not exist, hard-code or ask team if plan to implement API

  • Ask the teams if plan to implement API for this field
  • SkyWatch: request sent to support also regarding API v2 because v1 slow. Probably an undocumented API do exist, could read product-library list, but don't seem to be used in filtering, so only a visual feedback to the user to know which providers skyfi do offer searching capabilities. Probably better to just hard-code it with newest list.
  • EOS request sent to support - satellites is obfuscated see below screen, hard-code it and update manually eventually. otherwise, could look for supportedSatellites in chunk which are grouped by provider eg SuperView 1 for 1A, 1B, 1C, 1D. current list on 2025-08-22: "satellites" = [ "KOMPSAT-2", "KOMPSAT-3A", "KOMPSAT-3", "SuperView 1A", "SuperView 1B", "SuperView 1C", "SuperView 1D", "Gaofen 1", "Gaofen 2", "Ziyuan-3", "TripleSat Constellation-1", "TripleSat Constellation-2", "TripleSat Constellation-3", "BJ3N", "BJ3A", "SuperView-2", "SuperView Neo-1 01", "SuperView Neo-1 02"]
  • Arlula supplier probably best to filter on it after search performed since it seems to only accept a single supplier in request payload, to check. Like EOS, no official API to get suppliers available, so could scrape index and look for divs following input id="suppliers-input"
EOS obfuscated chunk Details

Image

const providersDict = {
[Providers.UP42]: [
Constellation.Pleiades,
Constellation.PleiadesNeo,
Constellation.TripleSat,
Constellation.SPOT,
Constellation.NearSpace,
Constellation.CapellaSpace,
// Constellation.NearMap,
// Constellation.HxGN,
],
[Providers.MAXAR_DIGITALGLOBE]: [Constellation.GeoEye, Constellation.WorldView_1_2, Constellation.WorldView_3_4, Constellation.QuickBird2, Constellation.Ikonos1],

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions