Skip to content
Octo × Systematic PT Request an assessment

Octo for systematic mapping

The sheets come out in batch. The one who signs the map is you.

From the 1:1,000,000 map down to 1:25,000, each sheet is a fixed subdivision of the one above it. That is why a script can compute the index code, the UTM zone and the bounds of any sheet, cross-check them against the Digital Index Map collection and generate dozens of sheets with the QGIS atlas without opening the interface. Map design, PEC class, ART and approval stay with licensed people and with the agencies of Brazil's National Cartographic System (SCN).

Cascade of systematic-mapping sheet subdivisions: sheet SD-23 at 1:1,000,000 divided into V, X, Y and Z; Y divided into A, B, C and D; C divided into I to VI; IV divided into 1 to 4; 3 divided into NO, NE, SO and SE; alongside, Octo and a terminal that returns the sheet's index code and MI number 1:1.000.000 · 4° × 6° VX YZ SD-23 1:500.000 · 2° × 3° AB CD 1:250.000 · 1° × 1°30' IIIIII IVVVI 1:100.000 · 30' × 30' 12 34 MI 2215 1:50.000 · 15' × 15' NONE SOSE NO = 1:25,000 · 7'30" × 7'30" $ INOM and MI calculation SD-23-Y-C-IV-3-NO MI 2215-3-NO zone 23 qgis_process run native:atlaslayouttomultiplepdf OCTO × CARTOGRAPHY SYSTEMATIC C-02
Standard scales6from 1:1,000,000 to 1:25,000 (DL 243/1967)
1:100,000 sheets3036MI from 1 to 3036 (IBGE, 1999)
BC2502025seventh version, ET-EDGV 3.0
Sources15listed at the end of the page
01

What Octo does in systematic mapping.

Six possible deliverables, drawn from the research. All of them work by reading the official datasets, and all of them go to review by whoever is accountable for the map.

Sheet indexing

Computes every sheet at a given scale that covers a municipality, a watershed or a parcel, with the index code, bounds, UTM zone and the percentage of each sheet inside the area.

Deliverable: sheet layer + review spreadsheet

INOM and MI checked

Finds mistyped index codes in collection spreadsheets, computes the bounds from the code and looks up the MI in the Digital Index Map table, because the MI can't be derived from a formula.

Deliverable: list of discrepancies per sheet

Batch sheets with the atlas

Runs the approved map layout through qgis_process, one PDF per sheet, filtered by batch and review status, with a dry run before and a count after.

Deliverable: batch of PDFs + log + hashes

Sheet index diagram

Computes the eight neighboring sheets of each map for the margin, as article 18 of Decree 89.817/1984 requires, and checks that the printed diagram matches the sheet.

Deliverable: neighbors per sheet, ready for the layout

Coverage inventory

Cross-checks the 4th edition of the Digital Index Map collection with the municipal boundaries: best available scale, age of the latest sheet and legacy datum, by municipality.

Deliverable: table and map of outdated coverage

Correct zone and projection

Flags areas that cross UTM zones, gives the SIRGAS 2000 EPSG code for each sheet and sets aside older sheets in SAD 69 or Córrego Alegre for separate handling.

Deliverable: sheet by sheet, zone, EPSG and datum
02

Eight arms, one batch of sheets.

The same Octo cycle, applied to systematic mapping. Each arm has a narrow role; the people who design the map, approve the sheets, classify them under the PEC and sign are people.

  1. Discovery

    Surveys what already exists

    Scales in use, the current layout, the sheet collection, the software (QGIS, ArcGIS or other) and the client's own sheet system for scales larger than 1:25,000.

  2. Data

    Pins down references

    The area's CRS, each sheet's zone, the Digital Index Map table, municipal boundaries and the version of each dataset, with dates.

  3. Security

    Takes care of access and data

    Respects each sheet's confidentiality category, uses read-only access to the official datasets and no database password in the script. Confidential data doesn't go to an outside service without agreeing on handling with the client.

  4. Architecture

    Picks the path

    QGIS atlas, PyQGIS or ArcPy; GPKG or PostGIS; one projection per sheet, or a single mosaic when the area crosses zones.

  5. Development

    Writes the scripts

    Indexing, batch and inventory, with simulation, dry run, log and the source of each rule (decree, IBGE manual) noted in the file.

  6. Review

    Checks on a known case

    SD-23-Y-C-IV ↔ MI 2215, the example from the IBGE manual, and a sample sheet from the client. Checks by the content of the PDF, not by the absence of errors.

  7. Release

    Delivers for review

    Only with your OK, it delivers the batch and the report. It doesn't publish, approve or send anything to the client agency.

  8. Documentation

    Records what applies to your project

    Scale, zone, QGIS version, layout, sheet list and hashes for each delivery. A batch from one contract is not assumed ready for another.

Octo works with read access and as support. It does not sign maps, classify under the PEC or approve products: that belongs to a licensed cartographic engineer, with an ART, and to the SCN agencies.

03

Each task, its own path.

The criteria Octo uses to choose. Always with the documentation for the version installed at the client.

TaskPathNote
Find the sheet for a pointinom.folha_do_ponto(lat, lon, escala)Calculations in arc seconds
Bounds from the INOMinom.folha_do_inom("SD-23-Y-C-IV")Check against the manual's example
Sheets covering an areaarticulacao_folhas.pyDiscards what only touches the bounding box
MI of a sheetDIM 4th ed. table (indNomenclatura, mi)Not derived from a formula
Neighboring sheets for the margininom.vizinhas(folha)Art. 18 of Decree 89.817/1984
Generate sheets in batchqgis_process run native:atlaslayouttomultiplepdfLayout approved by a person
A single sheetnative:printlayouttopdf or PyQGISSame check
Coverage by municipalityPostGIS (cobertura_mapeamento.sql)Area as geography
Download vector sheetsIBGE geoftp, folder for the scaleCheck each sheet's datum
Scale larger than 1:25,000The client's own sheet systemNo confirmed national standard
04

From the sheet spreadsheet to the monitored batch.

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

A proposal, not a promise

1 Today

Indexing and checking

You give the area and the scale; Octo returns the sheets, the INOM, the MI and what exists in the collection, with the manual's example as a test.

  • Sheet layer with a review spreadsheet
  • INOM check in old spreadsheets
  • Warnings for zones and legacy datums
Benefit: the sheet list is right the first time
2 Next

Sheets in batch

The approved layout runs through the atlas without the interface, with a dry run, a status filter and checks by count and hash.

  • One PDF per released sheet
  • Computed sheet index diagram
  • Log of each batch
Benefit: the team reviews sheets instead of redoing layouts
3 Later

Inventory and planning

The collection becomes a table you can query by municipality, with age, scale and datum, to support the agency's update plan.

  • Coverage and outdated areas by municipality
  • Map of gaps
  • Priority criteria set by the agency
Benefit: the plan starts from numbers, not memory
05

Confirmed by sources.

Every point below has a source published by the responsible body (Planalto, IBGE, the Brazilian Army, CONCAR), by the project or by the standards organization. The sources are in the next section.

5

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

ConfirmedScales and who standardizes them
The standard scales are 1:1,000,000, 1:500,000, 1:250,000, 1:100,000, 1:50,000 and 1:25,000; series at 1:250,000 and larger fall to the DSG (the Army's Geographic Service Directorate) and smaller ones to IBGE.Source: Decree-Law 243/1967, art. 8 and art. 15
ConfirmedINOM and MI
The index code starts from the 1:1,000,000 sheet and goes down to 1:25,000; SD-23-Y-C-IV corresponds to MI 2215, and the 1:50,000 and 1:25,000 sheets get 1 to 4 and NO, NE, SO or SE.Source: IBGE, Noções Básicas de Cartografia (1999), sections 2.5 and 2.6
ConfirmedSheet collection in the DIM
The 5th edition of the Digital Index Map (2021) left out the topographic sheets from the DSG and other agencies; they remain in the 4th edition (2011), which has the fields indNomenclatura, mi, anoEdicao and datumHorizontal.Source: technical note 01/2021 and the 4th edition readme (IBGE)
ConfirmedCONCAR became Congeo
Decree 12.402/2025 amended the INDE decree: the functions previously assigned to CONCAR pass to Congeo, to be established by act of the Minister of Planning and Budget (art. 6), with support from IBGE.Source: Decree 6.666/2008 as amended (planalto.gov.br)
ConfirmedAtlas from the command line
native:atlaslayouttomultiplepdf accepts a coverage layer, filter, sort order, folder and file name by expression, DPI and georeferencing; qgis_process runs without a display with QT_QPA_PLATFORM=offscreen.Source: QGIS 3.44 documentation
06

What Octo does and what stays with you.

Octo prepares everything, but 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, sheets, 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

Who signs

Octo does not sign. Designs, technical reports, ART/RRT (Brazil's professional responsibility records), accountability reports and any official document are still signed by the company's or agency's licensed professional: here, the cartographic engineer or another licensed professional, with an ART; official data goes into the INDE only after approval by the competent authority.

Sign-off: licensed professional, with ART
07

Sources.

Legislation, IBGE and DSG documentation and software documentation used in the research, accessed on October 31, 2026.

Your sheet indexing, right the first time.

The assessment starts with an area and a scale your team already works with, without touching any official dataset. You get the sheet list, what exists in the collection and a proposal for what can be generated in batch, and decide with it in hand.