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 spreadsheetOcto for systematic mapping
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).
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.
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 spreadsheetFinds 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 sheetRuns 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.
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 layoutCross-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 coverageFlags 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 datumThe 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.
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.
The area's CRS, each sheet's zone, the Digital Index Map table, municipal boundaries and the version of each dataset, with dates.
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.
QGIS atlas, PyQGIS or ArcPy; GPKG or PostGIS; one projection per sheet, or a single mosaic when the area crosses zones.
Indexing, batch and inventory, with simulation, dry run, log and the source of each rule (decree, IBGE manual) noted in the file.
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.
Only with your OK, it delivers the batch and the report. It doesn't publish, approve or send anything to the client agency.
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.
The criteria Octo uses to choose. Always with the documentation for the version installed at the client.
| Task | Path | Note |
|---|---|---|
| Find the sheet for a point | inom.folha_do_ponto(lat, lon, escala) | Calculations in arc seconds |
| Bounds from the INOM | inom.folha_do_inom("SD-23-Y-C-IV") | Check against the manual's example |
| Sheets covering an area | articulacao_folhas.py | Discards what only touches the bounding box |
| MI of a sheet | DIM 4th ed. table (indNomenclatura, mi) | Not derived from a formula |
| Neighboring sheets for the margin | inom.vizinhas(folha) | Art. 18 of Decree 89.817/1984 |
| Generate sheets in batch | qgis_process run native:atlaslayouttomultiplepdf | Layout approved by a person |
| A single sheet | native:printlayouttopdf or PyQGIS | Same check |
| Coverage by municipality | PostGIS (cobertura_mapeamento.sql) | Area as geography |
| Download vector sheets | IBGE geoftp, folder for the scale | Check each sheet's datum |
| Scale larger than 1:25,000 | The client's own sheet system | No confirmed national standard |
Three steps. Each one only makes sense after the previous one has shown results with your mapping team.
A proposal, not a promise
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.
The approved layout runs through the atlas without the interface, with a dry run, a status filter and checks by count and hash.
The collection becomes a table you can query by municipality, with age, scale and datum, to support the agency's update plan.
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.
indNomenclatura, mi, anoEdicao and datumHorizontal.Source: technical note 01/2021 and the 4th edition readme (IBGE)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 documentationOcto prepares everything, but does not sign. The document of record stays with whoever is accountable for it.
Surveys, calculates, organizes and produces the documents: spreadsheets, reports, sheets, maps and drafts.
Deliverable: material ready to checkThe 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 signerOcto 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 ARTLegislation, IBGE and DSG documentation and software documentation used in the research, accessed on October 31, 2026.
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.