Skip to content
Octo × GDAL and Python PT Request an assessment

Octo for GDAL, GeoPandas, Shapely and rasterio

Every format comes in. What comes out checked is what counts as data.

GDAL 3.13 (3.13.3, from Aug 18, 2026) is the layer that QGIS, map servers and geospatial Python use to read and write. Octo converts entire collections to GeoPackage and GeoParquet, generates COGs with overviews, audits geometry and CRS and calculates indices per field plot, all in batch and with a log. Declaring a CRS, accepting a geometry fix and signing the map stay with the technical lead.

On the left, five input formats (shapefile, FileGDB, CSV with coordinates, GeoTIFF and KML) go into a central GDAL 3.13 block with the steps read, reproject, validate and write; on the right come out a GeoPackage, a GeoParquet with row groups and a COG with an overview pyramid; below, a check panel with the same feature count before and after and three invalid geometries to review lotes_2009.shp cadastro.gdb pocos.csv (x,y) orto_18GB.tif app.shp no .prj GDAL 3.13 ogr2ogr · gdal vector pipeline ! read -oo ENCODING ! reproject 31983 ! make-valid ! write --overwrite no CRS: awaiting decision acervo.gpkg 8 layers · spatial index lotes.parquet row groups ZSTD · WKB SORT_BY_BBOX orto_cog.tif 512 blocks · overviews Content check · conversao.log OKlotes_2014 before=48,211 after=48,211 OKquadras_2014 before=1,906 after=1,906 REVedificacoes 3 invalid fixed by make-valid SKIPapp_margens source CRS not declared FICTITIOUS DATA · 2 items awaiting the technical lead
Illustration: input formats, GDAL pipeline, outputs and check; fictitious data.
GDAL3.13.3Aug 18, 2026, MIT license
GeoPandas1.2.0Sep 28, 2026, BSD-3-Clause
COG driver3.1since GDAL 3.1; GeoParquet 1.1 since 3.9
Sources11listed at the end of the page
01

What Octo does with GDAL and Python.

Six possible deliverables, taken from the survey. All of them start by reading the collection without changing the original, and all go through the technical lead before becoming official data.

Inventory of the collection

Lists layers, formats, CRS, encoding, count and extent with ogrinfo, gdalinfo -json and pyogrio, without touching the files.

Deliverable: collection CSV + questions for whoever knows the data

Batch conversion

Shapefile, FileGDB and CSV to GeoPackage and GeoParquet with ogr2ogr, explicit encoding, PROMOTE_TO_MULTI and a log per file.

Deliverable: converted files + log with before-and-after counts

Geometry and CRS audit

Flags layers with no CRS, invalid, empty and duplicate geometries and mixed types with vectorized Shapely 2, across millions of features.

Deliverable: table by layer to decide what to fix

COG with overviews

Generates COGs with chosen blocks, compression and overviews, and checks the generated file: structure, CRS, band statistics against the original.

Deliverable: checked COG + report of the options used

Reprojection with judgment

Chooses the transformation between SIRGAS 2000 and older datums with pyproj and shows the expected shift before applying it.

Deliverable: reprojected layer + note on the transformation used

Indices per field plot

Clips the scene by field plots with rasterio, applies a cloud mask, calculates NDVI and summarizes by polygon with the fraction of valid pixels.

Deliverable: index COG + CSV per plot for the agronomist
02

Eight arms, data checked before moving on.

The same Octo cycle, applied to conversion and processing. Each arm has a narrow role; people decide the datum, the fixes and the use of the data.

  1. Discovery

    Maps the collection

    GDAL version, available drivers, folders, formats, layers, sizes and what each in-house system reads.

  2. Data

    Looks at CRS, fields and geometry

    Each layer's datum, encoding, field types, invalid geometries and what is lost in conversion.

  3. Security

    Separates what is sensitive

    Layers with personal data (LGPD), cloud storage credentials kept out of scripts and the license of each source.

  4. Architecture

    Chooses the format

    GeoPackage for delivery and editing, GeoParquet for analysis, COG for remote raster; compression and blocks.

  5. Development

    Writes the batch

    Conversion, audit and index scripts with a dry-run mode, a log per file and the library version recorded.

  6. Review

    Checks by content

    Count before and after, extent, area, COG structure, band statistics. Exit code zero is not a check.

  7. Release

    Only with your OK

    Replacing a collection, publishing a COG or a shared GeoParquet happens with the lead's approval.

  8. Documentation

    Records the lineage

    Where each file came from, with which version and options it was converted, what was fixed and who approved.

Octo works with read access and as support. It does not declare a CRS, replace the original or publish without approval, and it does not sign maps or reports.

03

Each task, its own path.

The criteria Octo uses to choose, with the documentation for the installed version.

TaskPathNote
Inventory a collectionogrinfo -so -al, gdalinfo -jsonRead-only
Shapefile to GeoPackageogr2ogr -f GPKG -nlt PROMOTE_TO_MULTIExplicit source encoding
Vector to GeoParquetogr2ogr -f Parquet or to_parquetThe driver depends on Arrow; check the specification version
Reproject and validate in one passgdal vector pipelineProvisional command since 3.11
Raster to COGgdal raster convert --of COGLossy compression is a human decision
Clip raster by polygongdalwarp -cutline or rasterio.maskSame CRS first
Audit geometryShapely 2 (is_valid, is_empty)Flag, don't fix without sign-off
Batch spatial joingeopandas.sjoinProjected CRS for measuring
Transform between datumspyproj.TransformerCheck the chosen operation
Check a COGrasterio: blocks, overviews, statisticsBy the file, not by the command
04

From one-off conversion to a collection with lineage.

Three steps. Each one only makes sense after the previous one has shown results on your team.

A proposal, not a promise

1 Today

Inventory of the collection

Octo shows what exists, in which format and datum, without changing anything.

  • Layers, formats and sizes
  • Files with no CRS and doubtful encoding
  • List of questions for the lead
Benefit: know what exists before converting
2 Next

Batch conversion and audit

GeoPackage, GeoParquet and COG generated by script, each file checked against the source.

  • Log per file with count and hash
  • Report of fixed geometries
  • COG with checked structure
Benefit: the team reviews exceptions, not file by file
3 Later

Routine with lineage

When new data arrives, the same batch runs, compares with the previous version and records what changed.

  • Incremental collection update
  • Indices by harvest or by campaign
  • History of versions, options and approvals
Benefit: data with a traceable origin
05

Confirmed in a source.

Each point below has a source published by the project or by the organization responsible for the standard. The sources are in the next section.

4

points with a published source, each with its reference shown alongside.

ConfirmedGDAL 3.13.3
Stable release from Aug 18, 2026; the project maintains only the latest release branch, with fixes roughly every two months.Source: gdal.org/download and OSGeo/gdal releases
ConfirmedProvisional gdal command
Since 3.11, offered as an alternative to the traditional tools; names and behavior may change until a major release.Source: GDAL programs index
ConfirmedCOG and GeoParquet
COG driver since 3.1, with BLOCKSIZE 512 and LZW by default; GeoParquet 1.0 since 3.8 and 1.1 since 3.9.Source: COG and Parquet driver pages
ConfirmedGeoPandas 1.2.0
From Sep 28, 2026, with GeoParquet 2.0 and reading over HTTP; pyogrio has been the default engine since 1.0.Source: GeoPandas changelog
06

What Octo does and what stays with you.

Octo prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.

Octo prepares

Surveys, calculates, organizes and produces the documents: spreadsheets, reports, maps and drafts.

Deliverable: material ready to check

Your team checks

The licensed professional checks what Octo delivered before signing. If something doesn't add up, it goes back to Octo with the correction.

Step: review by the signer

The signer

Octo does not sign. Projects, technical reports, ART/RRT, accountability reports and any official document are still signed by the company's or agency's licensed professional: here, the technical lead for the map or the survey.

Signature: technical lead for the map or survey
07

Sources.

GDAL documentation, GeoPandas changelog, the Python package index and project repositories, consulted on Oct 31, 2026.

Your geographic collection, checked file by file.

The assessment starts with an inventory of the collection, without changing anything: formats, datums, problem geometries and what would be lost in a conversion. You get the list and the decisions only your team makes, and you decide with it in hand.