2 min read

I need a SkyFi Python Package

I need a SkyFi Python Package
Boulder-Lafayette Timelapse via SkyFi APIs

šŸ‘‹ Hello! I am a computer nerd exploring geospatial data as a side passion.

āœ… Progress: Recently, I've been exploring the creation of satellite timelapses using SkyFi. Fascinating stuff!

šŸ¤– Opinion: Access to remote sensing data should be simpler for the public. While there are several platforms out there, like Google Earth Engine and Microsoft Planetary Computer, SkyFi stands out for its user-friendly signup process with a mobile app. It's incredibly straightforward to fetch an image using SkyFi's web app/mobile app. However, at the moment, navigating the APIs for image downloads can get tricky, especially with the requirement for AWS/Google Cloud Storage for image delivery. I hope to see presigned URLs implemented!

šŸ¤” Reflection: Should SkyFi datasets adopt the STAC (SpatioTemporal Asset Catalog) specification? I'm not sure. The increasing adoption of STAC might suggest this is the way!

āœļø By Hand

āœļø Step-by-step loosely:

ā–¶ Draw an Area of Interest ā–¶ Order an Image

šŸ¤– Programmatically

šŸ’» Step-by-step loosely:

ā–¶ Search the Catalog

{
	"aoi": "POLYGON ((-105.334514 39.947519, -105.022739 39.947519, -105.022739 40.066972, -105.334514 40.066972, -105.334514 39.947519))",
	"fromDate": "2023-11-15T00:00:00",
	"toDate": "2024-01-28T00:00:00",
	"productTypes": [
		"MULTISPECTRAL"
	],
	"resolutions": [
		"LOW"
	]
}

POST https://app.skyfi.com/platform-api/archives

ā–¶ Order Archive Image

{
    "aoi": "POLYGON ((-105.334514 39.947519, -105.022739 39.947519, -105.022739 40.066972, -105.334514 40.066972, -105.334514 39.947519))",
    "deliveryDriver": "GS",
    "deliveryParams": {
        "gs_project_id": "",
        "gs_bucket_id": "",
        "gs_credentials": {
            "type": "service_account",
            "project_id": "",
            "private_key_id": "",
            "private_key": "",
            "client_email": "",
            "client_id": "",
            "auth_uri": "https://accounts.google.com/o/oauth2/auth",
            "token_uri": "https://oauth2.googleapis.com/token",
            "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
            "client_x509_cert_url": ""
        }
    },
    "archiveId": "ca98d1c5-08d7-4f35-a5b7-6f75bdece079"
}

POST https://app.skyfi.com/platform-api/order-archive

ā–¶ Get Order Status

GET https://app.skyfi.com/platform-api/orders/78584747-c4e7-4498-bfe2-4cc9cf1f061c

ā–¶ Download Images from Google Cloud Storage