# Output GeoJSON of Detection Algorithms¶

GeoJSON with a `FeatureCollection`

where each `Feature`

represents an
individual detection. All features have geometry of type `Polygon`

and
`properties`

which are specific to algorithm which this is result of.

`geometry`

of each region is its minimum-area bounding rectangle.

Note

Minimum-area bounding rectangles can have any orientation, i.e. they are
not necessarily aligned with parallels and meridians or the feature’s
`orientation`

property.

Note

Detections are included if their centroid lies in requested area. This removes the need for detection de-duplication when the tiles are aggregated on client side.

```
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"class": "cars",
"area": 7.6,
"count": 1,
"orientation": -28.5,
"aspectRatio": 0.22,
"confidence": 0.95
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[153.12104687732085, -27.388643101636596],
[153.12137530696452, -27.389043532193686],
[153.12076821186633, -27.389436088316238],
[153.12043978372787, -27.389035658966332],
[153.12104687732085, -27.388643101636596]
]
]
}
}
]
}
```

## Object Detection Feature Properties¶

`area`

– area of detected object in \(m^2\);*always present*.`areaPercentage`

– ratio of the object area and the area of its bounding box;*may be unavailable*.`aspectRatio`

– ratio between longer side and shorter side of the minimum-area enclosing oriented rectangle;*may be unavailable*.`bboxArea`

– area of the object’s bounding box in \(m^2\);*may be unavailable*.`class`

– determines object classification;*always present*.`confidence`

– a number between 0 and 1;*may be unavailable*.`count`

– number of objects represented by the`Feature`

;*always present*.`eccentricity`

- a float number between 0 and 1 (inclusive). It measures region linearity, where 1 means the region has very linear (eccentric) shape (e.g. narrow straight road).*may be unavailable*.`latLonCenter`

– latitude and longitude of the region’s centroid;*may be unavailable*.`max`

– maximum over pixel probabilities of the region;*may be unavailable*.`mean`

– mean of region’s pixel probabilities;*may be unavailable*.`median`

– median of region’s pixel probabilities;*may be unavailable*.`min`

– minimum over pixel probabilities of the region;*may be unavailable*.`orientation`

– angle between y-axis of an image and axis of a detected object given in degrees (counter-clockwise); present only if`count`

is 1;*may be unavailable*.`solidity`

- a float number between 0 and 1 (inclusive). It measures compactness, where 1 means the attention region has fully convex shape (e.g. circle);*may be unavailable*.`std`

– standard deviation of region’s pixel probabilities;*may be unavailable*.

# Attention Regions¶

Attention regions are areas within the analyzed extent where a potentially interesting change has happened. Attention regions GeoJSON has following properties:

`meanHeatmap`

- Average value of the change heatmap inside the attention region;*may be unavailable*..`solidity`

- a float number between 0 and 1 (inclusive). It measures compactness, where 1 means the attention region has fully convex shape (e.g. circle);*may be unavailable*..`eccentricity`

- a float number between 0 and 1 (inclusive). It measures region linearity, where 1 means the attention region has very linear (eccentric) shape (e.g. narrow straight road);*may be unavailable*..

# Metadata¶

Metadata file contains one or more of following parts:
`areasM2`

, `bandStatistics`

and `analysisMetadata`

depending on Map Type.
For imagery and heat maps only `bandStatistics`

are provided. For
segmentation Map Types `analysisMetadata`

and `areasM2`

are provided. For change
heat maps `bandStatistics`

and `areasM2`

are provided.

Example of WRUNC Map Type:

```
{
"areasM2":
{
"water": 1161.74,
"roads": 0.0,
"urban": 0.0,
"nonurban": 2857.35,
"clouds": 0.0
},
"analysisMetadata":
{
"sScore": 1.22,
"algoVersion": "148"
}
}
```

## Area of Segmentation and Change Algorithms¶

Area calculated by segmentation algorithms contains square meters of area covered by each segmentation class.

Area calculated by change algorithms contains the area in square meters of significant change between the subsequent image acquisitions.

Example:

```
{
"areasM2":
{
"water": 1161.74,
"roads": 0.0,
"urban": 0.0,
"nonurban": 2857.35,
"clouds": 0.0
}
}
```

## Statistics for Band Pixel Intensities¶

Per band statistics computed from band pixel intensities (currently, only
arithmetic mean). Note that mean might not be available if the analyzed area
does not contain any valid data (i.e. `analyzedAreaM2`

is equal to zero).

Example:

```
{
"bandStatistics":
{
"heatmap":
{
"analyzedAreaM2": 932515.2,
"meanHeat": 0.013828165152889
}
}
}
```

`analyzedAreaM2`

- Area of analyzed region in \(m^2\).`meanRadiance`

- Mean flux power per unit of solid angle (see Radiance and Reflectance) computed inside the analyzed area.*Only available for datasets with radiance coefficients.*`meanHeat`

- Arithmetic mean of structural dissimilarity (in range \([0, 1]\)) for change detection or normalized difference index, e.g. NDVI, (in range \([-1,1]\)) computed inside the analyzed area.*Available for all heatmap map types except for ``nl-change``.*`meanAbsChange`

- Arithmetic mean of absolute values of relative change (in range \([0, 1]\)).*Available for ``nl-change``.*

## Analysis Metadata¶

Analysis Metadata has the following properties:

`sScore`

– s-score is a value between 0 and infinity that indicates suitability of imagery for analysis by the particular algorithm; s-score lower than 1 signifies imagery of superior quality. Values higher than 3.5 indicate imagery of inferior quality and less representative results.`algoVersion`

– version of the algorithm that produced this analysis. Note that each algorithm (potentially on each dataset) is versioned independently.`binarizationMethod`

– method determines process of converting probabilities into predictions. Possible choices are [“bepThreshold”, “argmax”, “argmaxBackground”, “adaptiveThreshold”, “fixedThreshold”].`bepThreshold`

– break even point threshold. Must be in <0, 1> when binarizationMethod is set to “bepThreshold”, not specified otherwise.`adaptiveThreshold`

– thresholding with respect to the scene statistics. Is a multiple of standard deviation. Must be of type`float`

when binarizationMethod is set to “adaptiveThreshold”, not specified otherwise.`fixedThreshold`

– threshold directly specified by value. Used when binarizationMethod is set to “fixedThreshold”, not specified otherwise.`binarized`

– boolean flag indicating if the SKI went through binarization process.

Example:

```
{
"analysisMetadata":
{
"sScore": 1.22,
"algoVersion": "148",
"bepThreshold": 0.55,
"binarizationMethod": "bepThreshold"
}
}
```

# Segmentation SKI¶

Segmentation SKI files have a separate band for each detection
class. The bands are named after the classes, for example band with cloud
segmentation is called `clouds`

. Bands are `uint8`

where “1” means that the
particular pixel belongs to the class and “0” means the opposite.

Apart from geo-referencing metadata the SKI may also contain analysis metedata.

# Analysis GeoTIFF¶

Analysis GeoTIFFs can be used as a standard output of our algorithms. GeoTIFFs are created from our proprietary SKI file format.

# Visualization GeoTIFF¶

Visualizations are created as colored version of results of our algorithms, GeoTIFFs have 4 (RGBA) or 2 bands (grayscale, alpha) based on input imagery. JPEG lossy compression is used, thus the visualization GeoTIFFS should be used only for viewing purposes, not analytical ones.