pickpj/big-b-router

Ipynb to edit out ALPR exposed roads from PBF files. This can then be converted into an OBF file for use in OsmAnd. Enabling, offline and mobile, map routing and navigation that avoids ALPRs.

6

stars

35

commits

Jupyter Notebook

primary language

Sep 4, 2026

updated

alpr
comaps
editing
ipynb
mapping
osmand-maps
osmium
pbf-format
routing

README

big-b-router

Offline Anti-ALPR routing and navigation for your phone.

Ipynb to edit out ALPR exposed roads from PBF files. This can then be converted into an OBF file for use in OsmAnd.

nav-example

Other variations:
⭐ For those that want weighted routing with penalties. There is now bbr-weights
⭐ There is also the Comaps branch for producing a pbf file that works with Comaps (repo). Also some tips to get the pbf converted to an mwm and working here. It should also work with Organic Maps due to the similarities with Comaps.
OsmAnd is available for iOS as well, although I have not tested.

Finished OBF file demo

bigbrouter.webm

Usage

I wrote a step by step guide showing the whole process. Link here

TLDR:

  • Download Requirements (env), pbf map data from geofabrik or other providers
  • Prep the pbf data with the pbf-prep.ipynb
  • Process the data with big-b-router.ipynb
  • Plug in the output to OsmAndMapCreator
  • Transfer OBF file to phone and import with OsmAnd

Requirements

Tested with:
conda create -n gis-py312 -c conda-forge geopandas folium pyrosm pyosmium notebook ipyleaflet osmium-tool

cli tool:

python env:

  • notebook
  • geopandas
  • folium
  • pyrosm
  • pyosmium
  • ipyleaflet

My recommendation for what app to use:

  1. The paid Osmand+ (G-Play) option if you need/want Android Auto
  2. Osmand~ from F-Droid and mounting the phone (Osmand~ has extra features compared to the G-Play version)
  3. Lastly, if you really want Android Auto AND do not want to pay, I would recommend Comaps (G-Play). Although, I should warn that the setup process for comaps is harder and the routing can be suboptimal.

Comparison matrix:

Application [🟢Rec]Free?Navigation/Re-routingWorks offlineAndroid AutoEasy?
Osmand (G-Play)
🟢Osmand+ (G-Play)1
🟢Osmand~ (F-Droid)2
🟡Comaps (G-Play)3
Comaps (F-Droid)23
  1. Osmand+ (Maps+) costs ~15$/year or 70$/once, giving AA/Carplay access (sometimes goes on sale)
  2. It seems like it is possible to enable AA by pretending/faking the app is installed through G-Play. You will likely need a rooted device with Gapps, and to use Kinginstaller. If "rooted" or "Gapps" doesn't make sense to you, then I would advise against doing this.
  3. Comaps uses a different mapgen, which is in the comaps branch. Getting the comaps repo setup for map conversion is difficult, but I have some helpful advice

Future Ideas:

  • Maybe scaling up mapgen and distributing map files

Credits

  • Impossible without OpenStreetMap data & contributors
  • pyosmium / osmium - nothing else worked for editing osm data and keeping/returning it as a pbf
  • OsmAnd and OsmAndMapCreator
  • pyrosm for reading pbfs to geopandas

fIock

Contributors

pickpj

35 commits

pickpj/big-b-router

Ipynb to edit out ALPR exposed roads from PBF files. This can then be converted into an OBF file for use in OsmAnd. Enabling, offline and mobile, map routing and navigation that avoids ALPRs.

6

stars

35

commits

Jupyter Notebook

primary language

Sep 4, 2026

updated

alpr
comaps
editing
ipynb
mapping
osmand-maps
osmium
pbf-format
routing

README

big-b-router

Offline Anti-ALPR routing and navigation for your phone.

Ipynb to edit out ALPR exposed roads from PBF files. This can then be converted into an OBF file for use in OsmAnd.

nav-example

Other variations:
⭐ For those that want weighted routing with penalties. There is now bbr-weights
⭐ There is also the Comaps branch for producing a pbf file that works with Comaps (repo). Also some tips to get the pbf converted to an mwm and working here. It should also work with Organic Maps due to the similarities with Comaps.
OsmAnd is available for iOS as well, although I have not tested.

Finished OBF file demo

bigbrouter.webm

Usage

I wrote a step by step guide showing the whole process. Link here

TLDR:

  • Download Requirements (env), pbf map data from geofabrik or other providers
  • Prep the pbf data with the pbf-prep.ipynb
  • Process the data with big-b-router.ipynb
  • Plug in the output to OsmAndMapCreator
  • Transfer OBF file to phone and import with OsmAnd

Requirements

Tested with:
conda create -n gis-py312 -c conda-forge geopandas folium pyrosm pyosmium notebook ipyleaflet osmium-tool

cli tool:

python env:

  • notebook
  • geopandas
  • folium
  • pyrosm
  • pyosmium
  • ipyleaflet

My recommendation for what app to use:

  1. The paid Osmand+ (G-Play) option if you need/want Android Auto
  2. Osmand~ from F-Droid and mounting the phone (Osmand~ has extra features compared to the G-Play version)
  3. Lastly, if you really want Android Auto AND do not want to pay, I would recommend Comaps (G-Play). Although, I should warn that the setup process for comaps is harder and the routing can be suboptimal.

Comparison matrix:

Application [🟢Rec]Free?Navigation/Re-routingWorks offlineAndroid AutoEasy?
Osmand (G-Play)
🟢Osmand+ (G-Play)1
🟢Osmand~ (F-Droid)2
🟡Comaps (G-Play)3
Comaps (F-Droid)23
  1. Osmand+ (Maps+) costs ~15$/year or 70$/once, giving AA/Carplay access (sometimes goes on sale)
  2. It seems like it is possible to enable AA by pretending/faking the app is installed through G-Play. You will likely need a rooted device with Gapps, and to use Kinginstaller. If "rooted" or "Gapps" doesn't make sense to you, then I would advise against doing this.
  3. Comaps uses a different mapgen, which is in the comaps branch. Getting the comaps repo setup for map conversion is difficult, but I have some helpful advice

Future Ideas:

  • Maybe scaling up mapgen and distributing map files

Credits

  • Impossible without OpenStreetMap data & contributors
  • pyosmium / osmium - nothing else worked for editing osm data and keeping/returning it as a pbf
  • OsmAnd and OsmAndMapCreator
  • pyrosm for reading pbfs to geopandas

fIock

Contributors

pickpj

35 commits

Languages

Jupyter Notebook

100.0%