SuperAPI AI Directory

geohash-spatial-code-maps

Coding & development

View repository

Updated 10-16 03:46

About this skill

Geohash & Spatial Code Maps Best Practices

How to implement geohashes correctly in TypeScript and Rust, how to query and index them at scale, and how to apply them to the "codebase as a navigable 2D map" pattern — projecting code into a plane so geohash prefixes become domain regions you can fly through like Google Maps. Contains 42 rules across 8 categories, prioritised by impact.

When to Apply

Reference these guidelines when:

  • Implementing or reviewing a geohash encoder/decoder in TypeScript or Rust (bit interleaving, base32, precision, neighbours)
  • Building proximity / radius / bounding-box search on lat/lon data, or storing geohashes as index keys (SQL B-tree, Redis sorted sets)
  • Debugging the classic geohash bugs — swapped axes, wrong alphabet, border false negatives, off-by-one cells at high precision
  • Projecting a codebase (or any abstract graph) into a 2D plane and geohashing it so prefixes name business domains or features
  • Navigating a geohashed dataset like a slippy map: zoom-to-precision, viewport tile loading, level-of-detail aggregation, prefix clustering, deep links

A note on scope

Categories 1–4, 6, and 7 are textbook geohashing, drawn from authoritative sources (the geohash spec, the davetroy/geohash-js neighbour tables, Redis, Elasticsearch). Categories 5 (map-) and 8 (nav-) are a novel synthesis — there is no canonical "geohash your codebase" library, so those rules derive design principles from established techniques (deterministic graph layout, Morton/Z-order keys, slippy-map tiling, software cartography). They are honest about when the pattern is overkill.

Rule Categories by Priority

Priority Category Impact Prefix Rules
1 Encoding & Bit Interleaving CRITICAL enc- 6
2 Precision & Cell Geometry CRITICAL prec- 5
3 Neighbours & Adjacency HIGH nbr- 5
4 Proximity & Range Queries HIGH qry- 5
5 Codebase-as-Map Spatial Layout HIGH map- 7
6 Decoding & Bounding Boxes MEDIUM-HIGH dec- 4
7 Spatial Indexing & Storage MEDIUM-HIGH idx- 5
8 Navigation & Rendering MEDIUM nav- 5

Quick Reference

1. Encoding & Bit Interleaving (CRITICAL)

2. Precision & Cell Geometry (CRITICAL)

3. Neighbours & Adjacency (HIGH)

4. Proximity & Range Queries (HIGH)

5. Codebase-as-Map Spatial Layout (HIGH)

6. Decoding & Bounding Boxes (MEDIUM-HIGH)

7. Spatial Indexing & Storage (MEDIUM-HIGH)

8. Navigation & Rendering (MEDIUM)

How to Use

Read individual reference files for detailed explanations, code examples, and "when NOT to apply" guidance:

Rules cross-link via [[other-rule-slug]]; follow them when a related pattern is referenced. To build a code map end to end, the spine is: map-deterministic-projection → map-normalize-to-geohash-domain → encode (category 1) → map-prefix-as-domain-region → navigate (category 8).

Reference Files

File Description
references/_sections.md Category definitions and ordering
assets/templates/_template.md Template for new rules
metadata.json Version and reference information