Raw (L0)

Product description
The L0 Product is the rawest product from Satellogic’s products family. It is composed by the raw frames coming directly from the sensor of the payloads without any modification or processing, along with the necessary metadata. The frames are simple packaged in a standardized format to create the L0 product. The units of each raster are in DNs directly from the sensor.
Given the nature of our payload design and operations, the L0 product is a set of overlapping frames, each with 4 areas corresponding to each of the RGBNir bands of the sensor.
There can be also a 2x (almost identical) overlap for MarkV satellites due to the HDR capture strategy
Each of the frames is 16-bit or 8-bit single band Grayscale GeoTIFF. The GeoTiff location is coarsely defined by the onboard satellite telemetry to help with the fine location process. Each of the frames contains 4 regions, corresponding to RGBNIR as depicted in the following image:
| Mark IV | Mark V |
|---|---|
![]() |
![]() |
The size of each frame varies by platform being 5120x5120 for Mark IV and 9344x7000 for Mark V.
The position of each band varies slightly between satellites and the exact position is defined in the metadata file for each frame.
Technical characteristics
| Parameter | Mark IV |
Mark V |
|
|---|---|---|---|
| Spectral bands | Blue : 450 - 510 nm |
Blue : 450 - 517 nm |
|
| Frame size | 5120 x 5120 pix |
7000 x 9344 pix |
|
| GSD | 1.03m 1 |
0.73m 1 |
|
| Swath | 5.2 Km 1 |
6.9 Km 1 |
|
| Image bit depth | 8 bit DNs |
16 bit DNs |
|
| Algorithms applied | None |
| |
| Geolocation Accuracy | <= 300m TBC CE90 |
| |
| Image format | GeoTiff, LZW loseless compression |
| |
| Ancilliary files | Metadata (JSON), preview (PNG), and thumbnail (PNG). |
| |
STAC item
Assets
Each L0 product/item contains the following assets/components:
Non documented files or parameters should be ignored.
All assets follow the same basename template.
{DATE}_{TIME}_{SECOND_DECIMALS}_SN{SATELLITE}_{PRODUCT}_{PAYLOAD}_{SUFFIX}.{EXTENSION}
- DATE: Year(4 digits)month(2 digits)day(2 digits)
- TIME: Hour(2 digits)minute(2 digits)second(2 digits)
- SECOND_DECIMALS: All the decimal part from the timestamp seconds
- SATELLITE: Satellite number
- PRODUCT: L0
- PAYLOAD: MS for multispectral (4 bands)
- SUFFIX: depends on the asset, can be empty.
- EXTENSION: depends on the asset type.
All time values refer to the capture time in UTC. Hence the string 20220619_153346_938represent actually 2022-06-19 15:33:46.938.
Raster, preview and thumbnail
The full resolution raster as well as downsampled versions for preview and thumbnails.
![]()
Metadata file
The Metadata file is a JSON file that contains metadata about the satellite, the payload and the capture at the moment of taking that specific frame. The following parameters are expected in a JSON metadata file of an L0 product.
| Field Name | Description | Example |
|---|---|---|
| supplier | The name of the supplier of the imagery. | Satellogic |
| productname | The product name | L0 |
| scene_id | The ID of the individual frame this metadata file corresponds to. | 20240902_125109_614_SN30_L0_MS |
| sceneset_id | The UUID of the entire capture this individual frame is part of. | f1c8eeb1-f5fc-4a17-b107-2e5174c25b68 |
| satellite_class | The satellite class this individual frame is from. | NewSat |
| satellite_name | The name of the satellite that took this frame. Format: newsat<N>, with N>0 | newsat30 |
| timestamp | The timestamp of the corresponding individual frame, in ISO8601 | 2024-09-02T12:51:09.614415+00:00 |
| footprint | The estimated footprint of the individual frame. Each coordinate is a longitude/latitude pair. Together they define a closed loop. |
{
"type": "Polygon",
"coordinates": [
[
[20.54603184801816, 50.891245456320085],
[20.619985731541103, 50.885050659712675],
[20.602281516301147, 50.83972901918288],
[20.528327632778204, 50.84592984054603],
[20.54603184801816, 50.891245456320085]
]
]
}
|
| metadata → telemetry → estimated_error | The estimated errors of the measurements provided in this document in deg, deg, deg, m, m |
{
"payload_attitude_roll_error": 0.003702757106596987,
"payload_attitude_pitch_error": 0.004066871556403458,
"payload_attitude_yaw_error": 0.00370383974827634,
"satellite_position_error_xyz": 47,
"satellite_altitude_error": 47.2
}
|
| metadata → telemetry → payload_attitude | LVLH (“Local Vertical Local Horizontal” reference frame) to Payload. The rotation between the Payload Reference Frame and Orbit Reference. |
{
"roll": -17.462713685533394,
"pitch": -18.067429384447212,
"yaw": 86.52986737766115,
"qi": -0.21553685507321207,
"qj": -0.010262212318849226,
"qk": 0.6863838826293411,
"qr": 0.6944895368327322
}
|
| metadata → telemetry → payload_attitude_ecef | The estimated payload attitude with respect to ECEF. Roll/pitch/yaw are angles in degrees; qi/qj/qk/qr are the attitude quaternion. |
{
"roll": -156.61375353315677,
"pitch": 23.59771692117737,
"yaw": 67.4330283878286,
"qi": 0.7743188266460452,
"qj": -0.5665504480556272,
"qk": 0.056430855917892694,
"qr": -0.2761639060591265
}
|
| metadata → telemetry → satellite_attitude_calculated_ecef2body | The estimated satellite attitude with respect to ECEF. Calculated using internal tools. |
{
"qr": 0.27514077557430466,
"qi": 0.7782452895749822,
"qj": -0.5617941488731234,
"qk": 0.054946857623027784
}
|
| metadata → telemetry → body2sensor_quaternion | The satellite body to sensor quaternion (for MSI / HSI). Default identity value if calibration isn’t performed. |
{
"qr": 0.999984273632398,
"qi": -0.0012972240863929375,
"qj": 0.0009388672449488652,
"qk": 0.005374776818772846
}
|
| metadata → telemetry → satellite_altitude | The satellite altitude at the moment of the capture, in meters. | 404433.6369 |
| metadata → telemetry → satellite_nadir | The estimated Nadir point in WGS84 at the moment of the capture. |
{
"latitude": 51.726390395199196,
"longitude": 22.905864473166723
}
|
| metadata → telemetry → satellite_posvel | The position and velocity of the satellite with respect to ECEF. |
{
"pos_x": 3877487.1114285714,
"pos_y": 1638382.3979910715,
"pos_z": 5301508.870535714,
"vel_x": 6158.478503069196,
"vel_y": 540.6382928030831,
"vel_z": -4662.158263462611
}
|
| metadata → telemetry → location_calculated | The longitude/latitude/altitude of the boresight of the satellite. |
{
"latitude": 50.86553282927114,
"longitude": 20.57425280453569,
"altitude": -0.1888151979073882
}
|
| metadata → telemetry → attitude | Satellite attitude information, currently contains only the ecef2body data. |
{
"ecef2body": [
0.27514077557430466,
0.7782452895749822,
-0.5617941488731234,
0.054946857623027784
]
}
|
| metadata → telemetry → position | Satellite position information, currently contains only the gps_ecef_meter data (position with respect to ECEF). |
{
"gps_ecef_meter": [
3877487.1114285714,
1638382.3979910715,
5301508.870535714
]
}
|
| metadata → sun_elevation | The estimated sun elevation measured at the target at the moment of the capture. Value in degrees. | 39 |
| metadata → frame_index | Internal assigned index to the individual frame in the capture. | 195 |
| metadata → exposure_sec | Exposure time in seconds. | 0.0018245 |
| metadata → binning | Low level configuration for sensor binning. | [1, 1] |
| metadata → subsampling | Sensor level configuration for subsampling. |
[1, 1] |
| metadata → advance_vector | The advance vector of the satellite. Either 1 (when the satellite advances with its body +Y face) or -1 (when the satellite advances with its body -Y face). |
1 |
| metadata → off_nadir | The angle from the sensor between nadir (straight down) and the scene center. Measured in degrees (0-90). In case this angle cannot be computed, a value of -1 will be reported. |
24.9490357122 |
| metadata → viewing_azimuth | Viewing azimuth angle. The angle measured from the sub-satellite point (point on the ground below the platform) between the scene center and true north. Measured clockwise from north in degrees (0-360). |
166.1138701133 |
| metadata → sun_azimuth | Sun azimuth angle. From the scene center point on the ground, this is the angle between truth north and the sun. Measured clockwise in degrees (0-360). | 72.333 |
| metadata → incidence_angle | The incidence angle is the angle between the vertical (normal) to the intercepting surface and the line of sight back to the satellite at the scene center. Measured in degrees (0-90). In case this angle cannot be computed, a value of -1 will be reported. | 26.55467459 |
| metadata → payload | Options are MS for multispectral and HS for hyperspectral. |
MS |
| metadata → gsd | Ground Sampling Distance (in meters). Greatest value from metadata -> gsd_x and metadata -> gsd_y reported. | 1.024893091 |
| metadata → gsd_x | Ground Sampling Distance in x direction (in meters). Average value at the center of the frame. | 1.024893091 |
| metadata → gsd_y | Ground Sampling Distance in y direction (in meters). Average value at the center of the frame. | 1.015058561 |
| metadata → product_version_L0 | Product Version aligned with ICD version. | 1.0.0 |
| metadata → software_version_L0 | Internal software version used to process the product. | 0.6.22 |
| metadata → sensor_position | Sensor position for the frame, in millimeters. |
{
"pos_x": 0.0,
"pos_y": 0.0,
"pos_z": 0.0
}
|
| metadata → nss_version | Internal satellite specs database version. | 0.71.0 |
| metadata → last_modified | Timestamp when the product was last processed. | 2024-09-02T14:34:07.826922+00:00 |
| metadata → image_dimensions | Dimension of frame in pixels. |
{
"height": 5120,
"width": 5120
}
|
| metadata → valid_pixel | Percentage of pixels that are valid, from 0 to 100. | 100 |
| metadata → product_metadata → satellite_serial_number | Internal satellite serial number. Format: FM<sat_id> | FM32 |
| metadata → product_metadata → time_range | Start and end timestamps, in Unix time format, for the entire associated capture. |
[ 1725281465.564875, 1725282199.607398 ] |
| metadata → product_metadata → rois | Internal data describing the captured ROIs by the sensor. |
[
{
"bitmask": "MSB",
"coord": [0, 0, 5119, 5119],
"roi_id": 0
}
]
|
| metadata → product_metadata → category | Internal identification of the capture. Possible values: (production, engineering, no_process) | production |
| metadata → product_metadata → bands | Position and information of each of the bands present on the raw frame. |
"blue": {
"band_field_of_view": {
"x_fov": 0.6286165523911111,
"y_fov": 0.13652765747244444
},
"band_indices": {
"y_max": 5075,
"y_min": 45
},
"center_of_band": {
"cob_x_px": 2560,
"cob_y_px": 1899
}
}
|
| metadata → product_metadata → satellite | Internal satellite serial number. Format: FM<sat_id> | FM32 |
| metadata → camera | Internal camera name. | micro |
| metadata → satellite_model | Satellite generation category, mainly to differentiate between MarkIV and MarkV. | MarkIV |
| metadata → satellite_attitude_calculated_ecef2body | The estimated satellite attitude with respect to ECEF. Same as metadata → telemetry → satellite_attitude_calculated_ecef2body. | [ 0.27514077557430466, 0.7782452895749822, -0.5617941488731234, 0.054946857623027784 ] |
| metadata → satellite_position_calculated_ecef | The position of the satellite with respect to ECEF. Values are X/Y/Z positions in meters. See also: metadata → telemetry → satellite_posvel. | [ 3877487.1114285714, 1638382.3979910715, 5301508.870535714 ] |
| metadata → source_frame_type | Reserved for future internal use. | standard |
| metadata → satellite_generation | Satellite generation category, mainly to differentiate between MarkIV and MarkV. Same as metadata → model. | MarkIV |
| Attachments | Reserved for internal use. | [
{
"file_name": "20240902_125109_614_SN30_L0_MS_thumbnail.tiff",
"metadata": {},
"url": "../image_20240902-125109-614_0221_thumbnail.tiff",
"source": "internal"
}
] |
| Rasters | Reserved for internal use. | [
{
"file_name": "20240902_125109_614_SN30_L0_MS_analytic.tiff",
"bands": ["raw"],
"url": "../image_20240902-125109-614_0221.tiff",
"source": "internal"
}
] |
Item metadata
The L0 product can be found in our STAC archives. Each frame of a capture is a single Item in the corresponding collection. The following metadata and assets are available for each.
The following table shows the description of each field and an example corresponding to the capture used in previous section. (see STAC Common Metadata)
| Prefix | Field Name | Description | Example |
|---|---|---|---|
| n/a | id | Unique identifier for the STAC item | 20250930_025801_143_SN45_L0_MS_1_0_0 |
| n/a | bbox | Item bounding box | [ 119.56896495671906, 23.62805912936759, 119.65730868533569, 23.690097800133774 ], |
| n/a | assets | List of the assets available for a given item | {
"preview": {
"href": "link to the file",
"type": "image/png",
"roles": [
"overview"
]
},
"analytic": {...},
"metadata": {...},
"thumbnail": {...},
"internal_metrics": {...}
}
|
| n/a | collection | Collection name | l0 |
| properties | gsd | Ground sample distance in meters | 0.90 |
| properties | proj : shape | Dimension of image in pixels (Height x Width) | [7000, 9344] |
| properties | instruments | Options are MS for multispectral and HS for hyperspectral | ms |
| properties | platform | Satellite name | newsat45 |
| properties | view : azimuth | Viewing azimuth angle. The angle measured from the sub-satellite point (point on the ground below the platform) between the scene center and true north. Measured clockwise from north in degrees (0-360) | 166.1138 |
| properties | view : off_nadir | The angle from the sensor between nadir (straight down) and the scene center. Measured in degrees (0-90). In case this angle cannot be computed, a value of -1 will be reported | 24.9490 |
| properties | view : sun_elevation | The estimated sun elevation measured at the target at the moment of the capture. Value in degrees. | 60 |
| properties | view : sun_azimuth | Sun azimuth angle. From the scene center point on the ground, this is the angle between truth north and the sun. Measured clockwise in degrees (0-360) | 72.3332 |
| properties | view : incidence_angle | The incidence angle is the angle between the vertical (normal) to the intercepting surface and the line of sight back to the satellite at the scene center. Measured in degrees (0-90). In case this angle cannot be computed, a value of -1 will be reported. | 26.55467459 |
| properties | satl : outcome_id | The UUID of the entire capture this individual frame is part of | ffbabb4f-3a97-45ec-bca3-0e4d56608c1c |
| properties | satl : satellite_generation | Satellite generation category, mainly to differentiate between MarkIV and MarkV | MarkV |
| properties | satl : nss_version | Internal satellite specs database version | 0.89.6 |
| properties | satl : valid_pixel | Percentage of pixels that are valid, from 0 to 100 | 100 |
| properties | satl : exposure_sec | Exposure time of capture in seconds | 0.002769 |
| properties | satl : product_name | The product name | L0 |
| properties | satl : last_modified | Timestamp when the product was last processed | 2025-09-30T04:30:38.122305+00:00 |
| properties | satl : transaction_id | Internal processing transaction identifier | l0-pipeline-cw5td |
| properties | satl : product_version | Product Version aligned with ICD version | 1.0.0 |
| properties | satl : software_version | Internal software version used to process the product | 0.6.22 |
| properties | satl : satellite_altitude | Satellite altitude in meters | 498240.1195991831 |
| properties | satl-qa : dr_blue | Dynamic Range for the blue band2, In case this metric cannot be computed, a value of -999 will be reported | 96.728 |
| properties | satl-qa : dr_green | Dynamic Range for the green band2, In case this metric cannot be computed, a value of -999 will be reported | 123.545 |
| properties | satl-qa : dr_red | Dynamic Range for the red band2, In case this metric cannot be computed, a value of -999 will be reported | 150.386 |
| properties | satl-qa : dr_nir | Dynamic Range for the NIR band2, In case this metric cannot be computed, a value of -999 will be reported | 81.207 |
| properties | satl-qa : snr_blue | Signal To Noise Ratio for the blue band, In case this metric cannot be computed, a value of -999 will be reported | 64.353 |
| properties | satl-qa : snr_green | Signal To Noise Ratio for the green band, In case this metric cannot be computed, a value of -999 will be reported | 56.291 |
| properties | satl-qa : snr_red | Signal To Noise Ratio for the red band, In case this metric cannot be computed, a value of -999 will be reported | 38.133 |
| properties | satl-qa : snr_nir | Signal To Noise Ratio for the NIR band, In case this metric cannot be computed, a value of -999 will be reported | 23.073 |
| properties | satl-qa : burnt_blue | Burnt pixels percentage for the blue band, In case this metric cannot be computed, a value of -999 will be reported | 0 |
| properties | satl-qa : burnt_green | Burnt pixels percentage for the green band, In case this metric cannot be computed, a value of -999 will be reported | 0 |
| properties | satl-qa : burnt_red | Burnt pixels percentage for the red band, In case this metric cannot be computed, a value of -999 will be reported | 0 |
| properties | satl-qa : burnt_nir | Burnt pixels percentage for the NIR band, In case this metric cannot be computed, a value of -999 will be reported | 0 |
| properties | satl-qa : sharpness_fwhm_act_blue | Full Width Half Maximum across-track value in pixels for blue band1, In case this metric cannot be computed, a value of -999 will be reported | -999 |
| properties | satl-qa : sharpness_fwhm_act_green | Full Width Half Maximum across-track value in pixels for green band1, In case this metric cannot be computed, a value of -999 will be reported | 3.675 |
| properties | satl-qa : sharpness_fwhm_act_red | Full Width Half Maximum across-track value in pixels for red band1, In case this metric cannot be computed, a value of -999 will be reported | 3.241 |
| properties | satl-qa : sharpness_fwhm_act_nir | Full Width Half Maximum across-track value in pixels for NIR band1, In case this metric cannot be computed, a value of -999 will be reported | -999 |
| properties | satl-qa : sharpness_fwhm_alt_blue | Full Width Half Maximum along-track value in pixels for blue band1, In case this metric cannot be computed, a value of -999 will be reported | -999 |
| properties | satl-qa : sharpness_fwhm_alt_green | Full Width Half Maximum along-track value in pixels for green band1, In case this metric cannot be computed, a value of -999 will be reported | 3.008 |
| properties | satl-qa : sharpness_fwhm_alt_red | Full Width Half Maximum along-track value in pixels for red band1, In case this metric cannot be computed, a value of -999 will be reported | 2.846 |
| properties | satl-qa : sharpness_fwhm_alt_nir | Full Width Half Maximum along-track value in pixels for NIR band1, In case this metric cannot be computed, a value of -999 will be reported | -999 |
| properties | satl-qa : qa_software_version | Quality Control project SW version | 2.11.2 |
| properties | satl-insights : lulc_snow | Land use/land cover percentage for snow | 0 |
| properties | satl-insights : lulc_urban | Land use/land cover percentage for urban areas | 8.1 |
| properties | satl-insights : lulc_water | Land use/land cover percentage for water | 77.3 |
| properties | satl-insights : lulc_forest | Land use/land cover percentage for forest | 12.6 |
| properties | satl-insights : lulc_bareland | Land use/land cover percentage for bare land | 0.5 |
| properties | satl-insights : lulc_cropland | Land use/land cover percentage for cropland | 0 |
| properties | satl-insights : lulc_grassland | Land use/land cover percentage for grassland | 1.5 |
Packaging specification
If delivered as a package scene (via S3, FTP, or Zip download link) an L0 capture is packaged in the following format:
Scenes are delivered as a single folder. The file name follow the following format:
{DATE}_{TIME}_{SECOND_DECIMALS}_SN{SATELLITE}_{PRODUCT}_{PAYLOAD}_{SUFFIX}.{EXTENSION}, for example like "20240902_125109_614_SN30_L0_MS".
Inside each package, a flat structure can be found with all corresponding frames and their associated ancillary files.
The following files and folders can be found in a typical scene:
.
├── {date_hour_ms}_SN{sn}_{product_name}_{payload}_preview.png
├── {date_hour_ms}_SN{sn}_{product_name}_{payload}_analytic.tiff
├── {date_hour_ms}_SN{sn}_{product_name}_{payload}_metadata.json
├── {date_hour_ms}_SN{sn}_{product_name}_{payload}_thumbnail.png
Additionally, every L0 package includes a digital signature to ensure data authenticity and integrity. Each package contains a manifest file and cryptographic signature that allows verification that the delivered data has not been tampered with. Learn more about Digital Signature verification.
Known issues
No issue to be reported here
Changelog
| Version | Release date | Change log |
|---|---|---|
| 1.1.0 | 17/11/2025 |
|
| ICD 1.0.0 | 03/09/2024 |
|
Imagery End User Rights Agreement and Terms of Use
All imagery products are delivered under Satellogic Imagery End User License Agreement. The terms and conditions of the agreement are available to customers and accessible online on the website under License Agreement.

