Skip to content

Engineering note

8DB | Turn an Offline Map into a Field Investigation

A map becomes more valuable when it connects a place to readings, observations and history. Our Calgary spatial experiment shows the local-query foundation for that opportunity.

Published
Updated
Reading time6 minutes
OpenStreetMap on iPhoneZero-copy mmap database mobilePlanet-scale map renderingLevel of detail map engineOffline maps binary formatMobile spatial databaseEngineering post-mortemPost-quantum database

Your field application's map should lead straight to the work: the asset, its readings and the evidence behind an alert. 8DB's local spatial reader supplies one part of that design. It selects relevant geometry from a retained region, creating a foundation for field software that connects what is on the map to what needs attention.

In one recorded Calgary query, our experimental iOS reader selected one of 1,375 spatial cells and emitted 5,916 shapes for the downtown viewport. The retained dataset contained about 13.5 million primary records. Spatial organization gave the application a smaller place to look.

That is a useful result for teams building maps into field software. A region can stay available locally while the application selects relevant geometry. This May 2026 result came from an iOS simulator diagnostic, and the geometry query took about 783 milliseconds. It demonstrates locality; physical-device responsiveness needs its own measurement.

Where this fits among offline map tools

Offline maps already have strong foundations. MapLibre Native stores the resources for an offline region. PMTiles organizes tiles in a single archive and supports selective retrieval. OGC GeoPackage puts spatial features, tiles and attributes in a portable SQLite database suitable for limited-connectivity environments.

Our experiment explores a particular building block within 8DB, our omnimodal database: a spatial representation whose layout is directly usable by a geometry reader. The useful comparison is how each approach delivers local spatial information. This campaign provides no matched speed ranking against those alternatives.

Choose by workflow · documented capabilities, not speed rankings

Four ways to bring spatial data closer

Rendering toolkit

MapLibre Native

Download a region's map resources for offline display.

Offline-pack documentation
Tile archive

PMTiles

Keep a tile pyramid in one file; retrieve the relevant byte ranges.

Format and access model
Portable spatial database

OGC GeoPackage

Carry spatial features, tiles and attributes in a SQLite container.

Standard overview
8DB research demonstration

GNSE-Spatial

Select cells, inspect binary feature bounds and reconstruct geometry for the viewport.

Calgary iOS simulator · May 2026
These approaches address overlapping jobs at different layers. The Calgary campaign did not benchmark them head-to-head. Standard offline maps and selective access are established capabilities.

Organize the work before the user asks

The Calgary path prepared its geometry ahead of time in GNSE-Spatial, our binary spatial format. It divided the region into cells and stored fields such as identifiers and bounding boxes in columns. A spatial ordering placed nearby records together.

The reader then used three levels of selection. First, it chose cells intersecting the viewport. Within those cells, it checked feature bounds. Finally, zoom and visible-size rules decided which kinds of shapes were worth drawing. A small building can remain available in the data while disappearing from a city-wide view where it would occupy less than a pixel.

The recorded reader accessed memory-mapped binary columns without a JSON parsing step on the frame path. Geometry still required reconstruction before emission. Memory mapping also leaves real memory and I/O costs: pages must become resident when accessed, and decoded output needs space.

The distinction matters. Selecting one cell avoided scanning the primary records in the other cells, but that selected cell still involved 190,513 primary records. One cell out of 1,375 is a selection count, not a 1,375-fold speedup or a measurement of RAM saved.

One recorded downtown query · iOS simulator · 14 May 2026

A local question inside a large dataset

1 of 1,375 cells selected. The grid illustrates the count, not Calgary's geography or relative cell sizes.

13.54 millionPrimary records in the retained dataset
190,513Primary records visited in the selected cell
5,916Shapes emitted: 641 polygons + 5,275 lines

Where the geometry query spent its time

Approximately 783 ms total for this diagnostic query.

Cull
546 ms
Decode
225 ms
Other
~12 ms

All bars start at 0; each track spans the complete 782.692 ms query. “Other” is calculated as total minus the two rounded reported components.

Source: retained May 14 Calgary diagnostic log. Counts describe different stages, not a speedup ratio. Query time is not display refresh rate or measured physical-phone performance. Selecting fewer cells does not by itself quantify RAM, energy or I/O savings.

A result you can inspect, and a clear next improvement

The diagnostic recorded a downtown viewport at zoom level 13. It emitted 641 polygons and 5,275 lines. Of the approximately 783 milliseconds spent producing that geometry, 546 milliseconds went to culling and 225 milliseconds to way decoding; the remaining time covered other work in the query.

Those measurements make the next engineering decision concrete. The outer spatial partition is doing useful work. The next opportunity is inside the selected cell: reduce repeated culling and decode work while preserving the required geometry. A repeat-query cache was proposed in the historical report, but its expected benefit was not a measured frame-rate result.

For a field application, the right acceptance test would add repeated pans, cold starts, memory pressure and battery use on the intended phone. It would also verify the features the application needs, including relation-based geometry. The recorded fixture did not include populated topology records for those relations. Wider coverage and physical-device performance remain separate qualifications from the downtown demonstration.

One spatial view within a broader database

An inspector selects a road segment after a flood. Its shape identifies the place. A photograph shows damage, a recent reading suggests whether conditions are changing, and the previous inspection explains what was already known. The decision needs all of them.

The useful division of work is explicit:

QuestionWhat supplies the answerStatus
Which geometry is in this view?Spatial cells, feature bounds and level-of-detail selectionExercised in the Calgary diagnostic
Which observation belongs to this feature?Stable feature identity connected to application recordsIntegration to demonstrate for the customer's data
What changed, and what should the inspector review?Related observations, history and native query operationsApplication opportunity built on the broader engine

8DB's opportunity is to make those questions part of one local data environment. A team could spend less effort translating between a map feature, a synchronized document and a separate relationship store. That is a reason to evaluate the complete field workflow, even when an established renderer remains the right presentation layer.

8DB is built for when you need more than a basemap. A location becomes an entry point into observations, history and connected evidence. The Calgary work supplies the spatial building block; the next evaluation connects it to your operational investigation.

The 8DB code contains the spatial encoder and reader structures, including ordered primary records, boundary references and topology fields. The Calgary demonstration exercised an exported spatial representation. Combining that map with governed observations and other modalities is a further integration to validate; this rendering measurement does not establish encryption, transaction or access-control behavior for the exported files.

We explore the broader design in our article on multiple views of the same data, and the device context in our on-device intelligence article. The practical lesson from Calgary is already useful: organize a large spatial dataset so the application can ask a local question of it.

Bring the region your application needs

Send a non-sensitive example of one map feature and the information a field worker needs after selecting it. Include the target device and expected offline period. The first output is a small integration sketch separating the map reader, connected records and presentation layer, with a clear test for the proposed benefit.

Map your first local investigation with 8Braid.

Evidence scope: the numerical example is the May 14, 2026 Calgary simulator diagnostic, not a fresh phone benchmark. It reports one viewport query rather than a distribution of frame times. Full-region storage, selected records and emitted shapes are different counts. No planet-scale capacity or competitor speed advantage is inferred. Map data: © OpenStreetMap contributors, available under the Open Database License.

Evidence scope Recorded iOS simulator diagnostic · Spatial locality demonstrated · Device performance separately qualified. Explore the evidence. Methods and retained scope notes.

Continue the technical conversation

Where could this help your work?

Bring a research question, a database workload or an application you want to build. Let’s connect the ideas in this article to an evaluation that matters to your team.

Discuss this work

Continue reading

The next layer of the argument.

Engineering note

One Protected Substrate

Keep Your Data Connected. Cut the Work Between Databases.

One customer question can cross documents, vectors and graph relationships. 8DB brings native data representations into an omnimodal engine so teams can evaluate how much copying, reconciliation and policy coordination they can remove.

5 min readImplementation-reviewed · Scoped evaluation paths · Conceptual visualRead article ↗
Engineering note

One Protected Substrate

Multimodal Databases Already Exist. So What’s Different about 8DB?

The difference becomes useful when your application needs more than several data formats. 8DB brings native operations, connected representations and reusable mathematical structures into the database, so more of the work behind a complete answer can happen there.

8 min readArchitecture and source review · linked workload measurements · conceptual visualRead article ↗