Skip to content
View indoor-mapping-wayfinding's full-sized avatar

Block or report indoor-mapping-wayfinding

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse

Indoor Mapping & Wayfinding Automation

Indoor Mapping & Wayfinding Automation

A production-focused engineering reference for the teams building indoor maps and wayfinding systems.
Floor-plan parsing · routing graphs · beacon & Wi-Fi positioning · deployment pipelines — grounded in real, runnable Python.

🌐 Read it live → www.indoor-mapping-wayfinding.com


Why this exists

Indoor mapping is not a flavour of outdoor GIS. Sub-metre precision, vertical topology, semantic enrichment, and deterministic routing pipelines all change the engineering surface area — and most of the practical knowledge is scattered across vendor docs, half-abandoned repos, and tribal memory.

This site pulls that knowledge into one coherent, deeply interlinked reference for the engineers doing the work day to day: facilities-tech teams, GIS developers, indoor-navigation teams, and the Python automation builders who turn a one-off script into a service. Every guide ships with annotated, typed Python pulled from real pipelines — geopandas, shapely, networkx, ezdxf, rtree, pyproj, opencv, scikit-learn — plus the validation, batching, positioning, and SDK integration patterns that make it hold up in production.

52 pages · ~152,000 words · custom SVG diagrams on every overview and guide.

What's inside

The reference is organised into four connected areas:

Turn DWG, DXF, SVG, and scanned/raster drawings into routable, topologically valid GeoJSON through deterministic vectorization pipelines — parsing, wall/door detection, attribute mapping, PDF & raster extraction, and async batch processing across large portfolios.

The spatial foundations: indoor coordinate reference systems for multi-building campuses, Z-axis and level modelling, POI taxonomy, accessible & multi-profile routing, and resilient fallback routing engines for indoor GIS.

Shipping and keeping maps trustworthy: JSON schema design, CI topology gating, vector-tile serving, cache invalidation, rollback triggers & versioning, and SDK integration for MapLibre GL, Mapbox GL, Apple Maps (IMDF), and React Native.

Placing a moving user on the map: Wi-Fi RSSI radio maps, BLE beacon trilateration and placement, particle-filter sensor fusion, and snapping noisy position fixes onto the routing graph.

What makes it different

  • Runnable, not hand-wavy. Code blocks use typed signatures (PEP 484), real error handling, and logging — the kind of code you can lift into a pipeline, not pseudocode.
  • One consistent data model. Everything speaks the same GeoJSON FeatureCollection envelope and content-addressed topology_hash, so parsing, positioning, and delivery stay interoperable.
  • Hand-authored diagrams. Each overview and guide carries an original, theme-aware, accessible inline SVG that explains the hardest concept on the page — no stock art.
  • Deeply interlinked. Concepts link to their in-depth companion pages in context, so you can follow a topic from a high-level overview down to a single technique.
  • Fast & offline-first. Built as a static Progressive Web App: installable, cached for offline reading, and tuned to a mobile performance budget so you can keep the references with you on a site walk.
  • Accessible by construction. Pages are checked against WCAG 2 A/AA (contrast, alt text, link names, heading order, keyboard-scrollable regions).

Tech stack

  • Eleventy (11ty) — static site generator
  • Nunjucks + Markdown — templating and content
  • Vanilla CSS & JavaScript — no framework runtime; a small progressive-enhancement layer
  • Progressive Web App — web app manifest + service worker for offline caching
  • Cloudflare Pages — hosting and deployment

Local development

npm install        # install dependencies
npm run serve      # local dev server with live reload
npm run build      # production build into ./_site

The build output is a fully static site in _site/ that can be served by any static host.

Contributing & feedback

Issues and suggestions are welcome — corrections, new topics you'd like covered, or examples that didn't work in your environment. Open an issue on the GitHub organisation.

License

Content and code © the Indoor Mapping & Wayfinding Automation project. All rights reserved unless stated otherwise.


Explore the full reference → www.indoor-mapping-wayfinding.com

Popular repositories Loading

  1. indoor-mapping-wayfinding indoor-mapping-wayfinding Public

    Production engineering reference for indoor mapping & wayfinding automation: floor-plan parsing, routing graphs, beacon/Wi-Fi positioning, and deployment pipelines — with runnable Python. Built as …

    CSS