AFA Documentation
Breadcrumbs

GeoJSON Specification (2.9.0)


Our upload feature accepts FeatureCollection GeoJSON files with optional CRS definitions and multiple geometry types.


1. Overview

Users can upload spatial data into Map View using a simple, structured GeoJSON format.

Supported objects include:

  • Points (well locations)

  • LineString (paths, pipelines)

  • Polygon (leases, tenements, areas)

  • MultiLineString

  • MultiPolygon

💡 Tip: If you are unsure how to create GeoJSON, use common GIS tools such as QGIS, ArcGIS, or http://geojson.io .


2. Supported GeoJSON Structure

All uploads must follow the FeatureCollection → Features → Geometry → Properties pattern.

JSON
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": { "well_name": "ABC123" },
      "crs": { "type": "name", "properties": { "name": "EPSG:4326" }},
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [138.6, -34.92],
            [138.7, -34.92],
            [138.7, -34.95],
            [138.6, -34.95],
            [138.6, -34.92]
          ]
        ]
      }
    }
  ]
}

3. Required Elements

Element

Requirement

Notes

type

Must be "FeatureCollection"

Required top-level field

features

Must be an array

Contains one or more Features

Feature.type

Must be "Feature"

GeoJSON standard

properties

Must be an object

Must include at least well_name

geometry

Must be an object

Must contain valid type + coordinates

geometry.type

One of:Point, LineString, Polygon, MultiLineString, MultiPolygon

Shapes displayed in Map View

geometry.coordinates

Must be valid for chosen geometry type

See examples below

Coordinates

Must be decimal degrees

Format: [longitude, latitude]


4. Coordinate Reference System (CRS)

The CRS section is optional.

If included, it must follow the format below:

JSON
"crs": {
  "type": "name",
  "properties": {
    "name": "EPSG:xxxx"
  }
}

Supported CRS values

CRS

Description

EPSG:4326

WGS84 (default)

EPSG:4283

GDA94

EPSG:7856

GDA2020

⚠️ If no CRS is provided, the system assumes WGS84 (EPSG:4326).


5. Geometry Examples

5.1 Point

JSON
"geometry": {
  "type": "Point",
  "coordinates": [138.601, -34.928]
}

5.2 LineString

JSON
"geometry": {
  "type": "LineString",
  "coordinates": [
    [138.60, -34.92],
    [138.65, -34.93],
    [138.70, -34.94]
  ]
}

5.3 Polygon

JSON
"geometry": {
  "type": "Polygon",
  "coordinates": [
    [
      [138.6, -34.92],
      [138.7, -34.92],
      [138.7, -34.95],
      [138.6, -34.95],
      [138.6, -34.92]
    ]
  ]
}

5.4 MultiLineString

JSON
"geometry": {
  "type": "MultiLineString",
  "coordinates": [
    [
      [138.60, -34.92],
      [138.65, -34.93]
    ],
    [
      [138.61, -34.91],
      [138.63, -34.90]
    ]
  ]
}

5.5 MultiPolygon

JSON
"geometry": {
  "type": "MultiPolygon",
  "coordinates": [
    [
      [
        [138.6, -34.9],
        [138.7, -34.9],
        [138.7, -34.95],
        [138.6, -34.95],
        [138.6, -34.9]
      ]
    ],
    [
      [
        [138.8, -34.8],
        [138.9, -34.8],
        [138.9, -34.85],
        [138.8, -34.85],
        [138.8, -34.8]
      ]
    ]
  ]
}

6. Optional: Map Bounds

You may include a suggested map bounding box for zooming:

"mapBound": [minLon, minLat, maxLon, maxLat]

Example:

"mapBound": [-102.55, 30.71, -99.98, 33.64]

7. Behaviour When Extra Data Exists

To avoid unpredictable behaviour, the AFA will ignores:

Ignored Feature Fields

  • Unknown or extra root-level fields

  • Additional fields inside properties other than well_name

  • Any metadata not explicitly listed (e.g., id, timestamp, owner, custom JSON objects)

Ignored Geometry Elements

  • Unsupported geometry types

  • Extra geometry keys

  • Z-values or M-values (e.g., [lon, lat, elevation])

Ignored CRS Forms

  • Non-standard CRS formats

  • Embedded CRS definitions inside properties unrelated to crs.type = "name"

Ignored Non-GeoJSON Content

  • Anything outside the standard FeatureCollection structure

This ensures the upload system remains fast, secure, and predictable.


8. Common Errors & How to Fix Them

Error Message

Cause

Fix

“Invalid FeatureCollection”

Missing type: "FeatureCollection"

Add the top-level type

“Unsupported geometry type”

Typo in geometry type

Use only supported types

“Coordinates must be decimal degrees”

Using UTM or projected coords

Switch to EPSG:4326 / GDA formats

“Polygon must close itself”

First and last coordinate don’t match

Repeat the first coordinate at the end


9. Best Practices

  • Use short property names (e.g., well_name, field).

  • Avoid unnecessary nesting.

  • Keep coordinates below 1,000 points for performance.

  • Prefer EPSG:4326 unless your organisation uses GDA2020.

  • For polygons, always ensure first = last coordinate.