Giter VIP home page Giter VIP logo

iconem / search-satellite-imagery Goto Github PK

View Code? Open in Web Editor NEW
43.0 43.0 2.0 3.17 MB

Search satellite Imagery Archive on aggregators like UP42, skywatch, EOS via their respective APIs

Home Page: http://search-eo-imagery.iconem.com/

License: MIT License

HTML 0.42% TypeScript 96.46% JavaScript 3.12%
earth-observation eo gis javascript map mapbox react satellite satellite-imagery ts visualization visx

search-satellite-imagery's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

search-satellite-imagery's Issues

Fix UP42 API v2 by May 30, 2024

We are writing to inform you that the deprecated version of the ordering endpoint that you have been actively using will become unavailable on May 30, 2024. Upon review, we noted over 600 POST /workspaces/workspace_id/orders/estimate API calls in the last 30 days from your account.
These endpoints are scheduled to become unavailable on May 30, 2024.

Action Required:
To ensure uninterrupted access to our services, we kindly request that you migrate to the new v2 endpoints.
Key Information:
• Current API endpoints (deprecated and scheduled to be removed on May 30, 2024): List orders, Create an order, Get order and Estimate the cost of an order.
• New API endpoints (v2): List orders v2, Create an order v2, Get order v2 and Estimate the cost of an order v2

Deep-links/Permalinks to imagery items on original platform

Helps order making/deep-links when available (no deep-links for any platform when checked unfortunately): make selection, export requests email with scene IDs, permalinks.

Tasks

Integrate more platforms

Integrate other satellite imagery providers in the list: (might require paid account for high-res search and api),

Tasks

search-eo-improvements

  • deep linking to assets on each commercial provider
  • skyfi broken
  • opacity slider tooltip centered on right/left
  • up42 Price pneo/airbus-phr
  • be the stac endpoint middleware / module

Check CORS error on tiles fetch

Can be modified via the transformRequest function, eg on this link

Goal is to remove the need for an Allow-CORS plugin.

Code-sample from the doc:

// Use `transformRequest` to modify requests that begin with `http://myHost`.
transformRequest: (url, resourceType) => {
  if (resourceType === 'Source' && url.startsWith('http://myHost')) {
    return {
      url: url.replace('http', 'https'),
      headers: {'my-custom-header': true},
      credentials: 'include'  // Include cookies for cross-origin requests
    };
  }
}

Request/Promise cancellation

When a search is performed, it would be cool to allow the user to cancel it, to avoid reloading the page when search hangs.
Offer ability to Cancel ongoing request/promise cancellation.
Promise resolve will always execute after ky get/post request finally resolves

Search any STAC catalog

Search any new STAC catalog (UP42 is one):

  • UI element to give the STAC API URL (probably a STAC category within the aggregators list, with a button to add to the list or remove existing
  • parse results and columns to display in datagrid.

Could use existing STAC js tooling like m-mohr/stac-js , but there does not seem to be any JS search client library - only full-fledged apps like stac-server or leaflet layer and stac-search (to deploy a stac, these are the go-to resource: stac-fastapi and pystac)

Analytics + proxy

  • Setup Privacy preserving analytics - only aggregated stats like page views, country of origin, referral. eg vercel or cloudflare. github page provides no analytics, only repo analytics.
  • Use CloudFlare Proxy to avoid bandwidth usage to go up. See the official doc or here

Module-arization / STAC and Clean-up

  • Important Feature: Proxy server middleware when app will not be client only, to remove the need for Allow-CORS plugin. Would be great to be a complete STAC catalog endpoint - translating each aggregator API into a fully compliant STAC API.

  • Put API search in its own typescript module

  • eventually yield results the way loaders.gl does it, via a stream, especially for multi-page or multi-providers searches on each api

  • Cleanup: search-utilities, make each search extends a search object class, polygon aoi be a single feature search param, each geojson feature be a real geojson feature (search input, results)

Differentiating feature: Notifications (paradigm shift)

Implement notification system, which does not exist on other existing platforms.

  • possible simplified flow: user defines aoi and search params (providers selection, settings etc) and enables notifications. Then query is performed server-side, and the user receives one of weekly notifications, or as soon as result appears.
  • Would require user accounts and db and not be purely client-side. Or store user searches and let user access it when connecting to the UI to see if there is anything new.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.