Style | StandardCards

OpenStreetMap Blogs

Thursday, 26. June 2025

OpenStreetMap User's Diaries

OsmAPP 1.7.0 released

  • URL: osmapp.org
  • Full changelog: github.com/zbycz/osmapp/releases/tag/v1.7.0

OsmAPP is the one integrated app for OpenStreetMap ecosystem for both web and mobile. It should be as easy to use as Google Maps, but fully open-source using all the great services around. It was first aimed at broad public, but now it becomes apparent, that it works best for the OpenStr

OsmAPP is the one integrated app for OpenStreetMap ecosystem for both web and mobile. It should be as easy to use as Google Maps, but fully open-source using all the great services around. It was first aimed at broad public, but now it becomes apparent, that it works best for the OpenStreetMap contributors, who want better UX or share OSM around.

Special thanks to all our 6 contributors in this release. 🎉

The new Relation editor

The main feature of this release is the reworked Edit dialog with the new Relation editor. That took a lot of work and refactoring. Now if you click (or create) a relation, you can browser through its members and its parents and easily edit metadata accross whole hierarchies.

It is the most useful on hierarchies like the climbing=area, climbing=crag and routes (example here), but it is written in general manner and can help OSM contributors in unexpected ways.

editdialog

Indoor maps 🏢 🏣 🏛️

Thanks to @francois2metz who created vector tiles for indoor features (indorequeal.com), you can now browse inside of buildings, where it is mapped with level=* and indoor=* tags. (Example). Or find some examples in your neighborhood with query: level=* and indoor=* which you can enter in the search box (or link)

indoor

Directions evolved 🚶 🚴 🚗 🚀

Directions form has evolved to the industry standard. You can add multiple destinations, drag&drop them, click the map, drag the markers or choose “My location”. Thanks to @jvaclavik for development, and @karussell for providing a free tier on the Graphhoper.com. ❤️

directions

Wikimedia Commons Category preview

One fun addition was to develop a custom “masonry-style” preview image, when an OSM feature links to a Wikimedia Commons Category. OsmAPP now download first 10 images and tries to fit them in a nice collage. You can explore OSM items in your vicinity by executing this Overpass query in the OsmAPP searchbox: op:nwr["wikimedia_commons"~"Category"] (or link).

category preview

Other notable changes

  • ⚙️ Add metric/imperial switch to settings by @Dlurak, PR
    • You can choose the system by clicking the measure component in the down left. It will be instantly propagated through the whole app.
  • 🌎 Use globe 3D projection by @jvaclavik, PR
    • Because flat-earth is so old-school. 🙂 🗺️
  • 🚌 add transport layer from Thunderforest.com + dark mode by @zbycz, PR
    • This is the only layer on OsmAPP, which follows the user setting of Dark mode / Light mode.
  • 📍 Coordinate and OLC search by @Dlurak, PR
    • Plus codes and coordinates can be pasted in the SearchBox to display it on the map. Also when you share

Climbing project update

OpenClimbing.org is a standalone app for using the rock climbing data in OpenStreetMap. It is fully based on OsmAPP and with this release we celebrate the public launch of the service.

You can read more in a dedicated blogpost: HERE

Summary of all cool features in OsmAPP 🗺 📱 🖥

  • clickable map – POIs, cities, localities, ponds, airports (more coming soon)
  • feature panel – presets and fields from iD editor
    • Display multiple images from Wikipedia, Wikidata, Commons, Mapillary, KartaView, Panoramax or Fody
    • public transport: clickable line numbers (on stops), routes on map (on stations), stop itineraries (on routes)
    • Socket types on electric vehicle charging stations
    • Runway table on airports, viewpoint direction arrow, colors as colors
  • editing – Save changes with osm login. Insert note for anonymous users.
    • Opening hours editor – use simple editor for most common cases.
    • Relation hierarchy editor - simply click through relation childs and parents. Optimized for climbing=area, climbing=crag and routes.
  • search engine – try for example “Tesco, London” (powered by Photon).
    • Category search using iD editor presets
    • For advanced users: support for overpass queries (e.g. amenity=* or op:<query>)
  • directions - everyhing you need from modern app - drag&drop destinations, drag markers, click to map to select, etc. (by GraphHopper Directions API)
  • vector maps – with the possibility of tilting to 3D (drag the compass, or do two fingers drag)
    • 3D terrain – turned on when tilted
    • tourist map – vector Outdoor map from MapTiler including marked routes
  • layer switcher – you can add your own layers, also select from editor-layer-index list
  • mobile applications – using PWA technology, see osmapp.org/install
  • permanent URLs – eg. osmapp.org/way/123557148 and shortener, eg. osmapp.org/kkjwwaw
  • creating POIs – after clicking the coordinates (see e.g. osmapp.org/50.1,14.39)
  • languages – interface in English, Czech, German, Polish, Spanish, Amharic, Italian, French, Japanese
  • undelete – undo accidental delete in osmapp or elsewhere, e.g. here
  • and a lot of little details 🙂

We are looking forward to any feedback!

Thank you for your support!

@zbycz and @jvaclavik


Openclimbing.org - climbing guides & topos in OpenStreetMap

The goal of openclimbing.org is to offer a non-commercial alternative to traditional climbing apps. Instead of filling private databases, we decided to design a structure for mapping climbing routes directly into OpenStreetMap.

This way, all data in the app is fully open and can be freely used or edited by anyone.

♦ Image: Crag with marked climbing routes in Hlubočepy, Czechia

The goal of https://openclimbing.org is to offer a non-commercial alternative to traditional climbing apps. Instead of filling private databases, we decided to design a structure for mapping climbing routes directly into OpenStreetMap.

This way, all data in the app is fully open and can be freely used or edited by anyone.

Climbing guide for climbing crag Hlubočepy, Czechia Image: Crag with marked climbing routes in Hlubočepy, Czechia

Key Features of openclimbing.org

  • Both the database and the code are completely open, so anyone can contribute with content or code. Thanks to the open data approach, anyone can create new ways to use or visualize the data.

  • Each climbing route has defined GPS coordinates, making it easier to find in the terrain. This is big advantage but also a limitation – you cannot add routes without it.

Showing climbing routes on the map Image: Climbing routes on the map

  • Optimized for mobile devices, so it can be used directly in the field.
  • Integration of the map with photo EXIF data – you can see on the map where a photo was taken and where climbing routes are located.

3D climbing maps

  • Fully mapped climbing crags can be displayed in 3D – tilt the map (ctrl/cmd+drag)

climbing crag in 3D Image: Kačák climbing area, Czechia

Climbing area Uskedalen in 3D Image: Uskedalen climbing area, Norway

  • A basic climbing logbook for tracking ascents, with the option to display them directly on the map.
  • For drawing climbing routes onto photos, we use the wikimedia_commons:path specification, and the photos are stored in Wikimedia Commons. Additionally, we use a climbing tagging scheme documented directly on the OSM Wiki, which is also supported by the iD editor.

Grade systems conversion

  • The app includes a converter for most commonly used climbing grade systems. Climbing grades table in openclimbing.org

Stats

  • We generate our own climbing tiles on the map, where we display:
    • 26,000+ climbing areas
    • 22,000+ climbing routes
    • 1,700+ climbing routes drawn on photos
    • 8,000+ artificial climbing walls
    • 200+ via ferratas

We are looking forward to any feedback!

Thank you for your support.

@zbycz and @jvaclavik


Geofabrik

Geofabrik Sponsoring State of the Map’s in 2025

Geofabrik is pleased to support the OpenStreetMap community as a bronze sponsor of two upcoming conferences in 2025: State of the Map Global – Manila, Philippines State of the Map Europe – Dundee, Scotland, UK We have been regular sponsors of SotM events for many years, including regional conferences such as FOSSGIS. Our staff have […]

Geofabrik is pleased to support the OpenStreetMap community as a bronze sponsor of two upcoming conferences in 2025:

We have been regular sponsors of SotM events for many years, including regional conferences such as FOSSGIS. Our staff have also contributed by speaking at various sessions over time.

Events like SotM offer a useful opportunity for exchange within the OpenStreetMap ecosystem. While much of the work in the OSM world happens remotely, occasional in-person meetings remain valuable for maintaining collaboration and perspective.

Sponsorship opportunities are still available for both events for those interested in supporting the community.


OpenStreetMap User's Diaries

bob

bob

bob


Alice

Alice

Alice


Unicore UM980 use with RTKLIB for

UM980 is relatively affordable chip allowing multi-constellation multi-frequency GNSS with capability to provide raw phase measurements and hence potentially suitable for use in OpenStreetMap environment for precise mapping susing RTK.

In this post (or potentially series of posts), I will document my experiences with using UM980 with RTKLIB and other open-source or free tools.

Hardw

UM980 is relatively affordable chip allowing multi-constellation multi-frequency GNSS with capability to provide raw phase measurements and hence potentially suitable for use in OpenStreetMap environment for precise mapping susing RTK.

In this post (or potentially series of posts), I will document my experiences with using UM980 with RTKLIB and other open-source or free tools.

Hardware

  • UM980 RTK GNSS USB Dongle with SMA antenna - ELT0222 (from gnss.store)
  • EM-FD700 antenna (form AliExpress)

The module can easily be configured using UPrecise tool coming with UM980. It is advisable to have faster than default COM port rate ~~~ CONFIG COM1 230400 ~~~ and use the signal group 2 (note that this leads to reset of the UM980 module ~~~ CONFIG SIGNALGROUP 2 ~~~

If you need to stop the stream of measured data, you can use ~~~ UNLOG ~~~ You can also UNLOG just specific messages.

If you want to store your config of the module so that it survives unplugging and restarting the module, use ~~~ SAVECONFIG ~~~

Software setup on Android

RTKGPS+ - collecting raw phase measurements

This is to collect the raw data in real time. The last RTKGPS+ tool is release is unfortunately relatively old and hence does not support, so the native UniCore support, which is available in demo5_b34L version of RTKLIB, is not yet available in RTKGPS+. Hence it is mostly useful for collecting raw data, rather than providing real-time solutions. If you want to collect the data, choose BINEX as the format and just log the input stream from the USB. This is how to configure the module:

CONFIG PPP DISABLE

OBSVMB 1

GPSEPHB 120
BDSEPHB 120
BD3EPHB 120
GLOEPHB 120
GALEPHB 120

GPSIONB 120
BDSIONB 120
BD3IONB 120
GALIONB 120

If you want to have faster measurements, you can use ~~~ OBSVMB 0.2 ~~~ But it may be then advisable to use at least 240kbaud rate of the COM port (which is generally well supported by RTKGPS+).

The input stream configuration is 230400/8-N-1 and format to store the data is BINEX.

RTKGPS+ - undocumented NavTel-compatible mode

Alternatively, one can attempt to use it using undocumented mode of UM980 to produce binary data compatible data: ~~~ RANGEB COM1 0.2 ~~~ However, I had problem that only very poor solutions were found, with only using GLONASS and Galileo constellation - probably due to lack of ephemeris included (use of “CONFIG ALLEPHRTCM ENABLE” option is still to be explored).

Then the input format is NovAtel OEMV/4.

RTKGPS+ - recording the base data

It is possible to use the RTKGPS+ to log also the data from the base, a nearby coming from IGS or from EUREF (both requiring a free registration) and store the data in RTCM 3 format.

SW Maps - free software on Android to read NMEA data

This is an example how to use PPP on the UM980 module and collect the data using SW Maps. ~~~ CONFIG PPP ENABLE E6-HAS CONFIG PPP DATUM WGS84 CONFIG PPP TIMEOUT 120 CONFIG PPP CONVERGE 15 30

GPGGA 0.2 GPGSA 1 GPGST 1 GPGSV 1 GPGLL 1 GPGNS 1 GPRMC 1 ~~~

Use of RTKLIB on the Windows

This assumes use of demo5_b34L version of RTKLIB or later. Once the data is captured using RTKLIB, one can process the data using convbin and rtkpost from RTKLIB to process the data

Converting from UNC and RTCM3 formats

convbin -od -os -oi -ot  rover_20250626042937.unc 
convbin -od -os -oi -ot  base_20250626042937.rtcm3

rtkpost config for postprocessing with output to pos file

# rtkpost options (2025/06/26 04:39:16, v.demo5 b34L)

pos1-posmode       =kinematic  # (0:single,1:dgps,2:kinematic,3:static,4:static-start,5:movingbase,6:fixed,7:ppp-kine,8:ppp-static,9:ppp-fixed)
pos1-frequency     =l1+l2+l5+l6 # (1:l1,2:l1+l2,3:l1+l2+l5,4:l1+l2+l5+l6)
pos1-soltype       =combined   # (0:forward,1:backward,2:combined,3:combined-nophasereset)
pos1-elmask        =15         # (deg)
pos1-snrmask_r     =off        # (0:off,1:on)
pos1-snrmask_b     =off        # (0:off,1:on)
pos1-snrmask_L1    =38,38,38,38,38,38,38,38,38
pos1-snrmask_L2    =0,0,0,0,0,0,0,0,0
pos1-snrmask_L5    =0,0,0,0,0,0,0,0,0
pos1-snrmask_L6    =0,0,0,0,0,0,0,0,0
pos1-dynamics      =on         # (0:off,1:on)
pos1-tidecorr      =0          # (1:solid+2:otl+4:spole)
pos1-ionoopt       =brdc       # (0:off,1:brdc,2:sbas,3:dual-freq,4:est-stec,5:ionex-tec,6:qzs-brdc)
pos1-tropopt       =saas       # (0:off,1:saas,2:sbas,3:est-ztd,4:est-ztdgrad)
pos1-sateph        =brdc       # (0:brdc,1:precise,2:brdc+sbas,3:brdc+ssrapc,4:brdc+ssrcom)
pos1-posopt1       =off        # (0:off,1:on)
pos1-posopt2       =off        # (0:off,1:on)
pos1-posopt3       =off        # (0:off,1:on,2:precise)
pos1-posopt4       =off        # (0:off,1:on)
pos1-posopt5       =off        # (0:off,1:on)
pos1-posopt6       =off        # (0:off,1:on)
pos1-exclsats      =           # (prn ...)
pos1-navsys        =47         # (1:gps+2:sbas+4:glo+8:gal+16:qzs+32:bds+64:navic)
pos2-armode        =fix-and-hold # (0:off,1:continuous,2:instantaneous,3:fix-and-hold)
pos2-gloarmode     =fix-and-hold # (0:off,1:on,2:autocal,3:fix-and-hold)
pos2-bdsarmode     =off        # (0:off,1:on)
pos2-arfilter      =on         # (0:off,1:on)
pos2-arthres       =3
pos2-arthresmin    =3
pos2-arthresmax    =3
pos2-arthres1      =0.1
pos2-arthres2      =0
pos2-arthres3      =1e-09
pos2-arthres4      =1e-05
pos2-varholdamb    =0.1        # (cyc^2)
pos2-gainholdamb   =0.01
pos2-arlockcnt     =0
pos2-minfixsats    =4
pos2-minholdsats   =5
pos2-mindropsats   =10
pos2-arelmask      =15         # (deg)
pos2-arminfix      =100
pos2-armaxiter     =1
pos2-elmaskhold    =15         # (deg)
pos2-aroutcnt      =20
pos2-maxage        =30         # (s)
pos2-syncsol       =off        # (0:off,1:on)
pos2-slipthres     =0.05       # (m)
pos2-dopthres      =0          # (m)
pos2-rejionno      =1          # (m)
pos2-rejcode       =10         # (m)
pos2-niter         =1
pos2-baselen       =0          # (m)
pos2-basesig       =0          # (m)
out-solformat      =llh        # (0:llh,1:xyz,2:enu,3:nmea)
out-outhead        =on         # (0:off,1:on)
out-outopt         =on         # (0:off,1:on)
out-outvel         =off        # (0:off,1:on)
out-timesys        =gpst       # (0:gpst,1:utc,2:jst)
out-timeform       =hms        # (0:tow,1:hms)
out-timendec       =3
out-degform        =deg        # (0:deg,1:dms)
out-fieldsep       =
out-outsingle      =on         # (0:off,1:on)
out-maxsolstd      =0          # (m)
out-height         =geodetic   # (0:ellipsoidal,1:geodetic)
out-geoid          =internal   # (0:internal,1:egm96,2:egm08_2.5,3:egm08_1,4:gsi2000)
out-solstatic      =all        # (0:all,1:single)
out-nmeaintv1      =0          # (s)
out-nmeaintv2      =0          # (s)
out-outstat        =residual   # (0:off,1:state,2:residual)
stats-eratio1      =300
stats-eratio2      =300
stats-eratio5      =300
stats-eratio6      =300
stats-errphase     =0.003      # (m)
stats-errphaseel   =0.003      # (m)
stats-errphasebl   =0          # (m/10km)
stats-errdoppler   =1          # (Hz)
stats-snrmax       =52         # (dB.Hz)
stats-errsnr       =0          # (m)
stats-errrcv       =0          # ( )
stats-stdbias      =30         # (m)
stats-stdiono      =0.03       # (m)
stats-stdtrop      =0.3        # (m)
stats-prnaccelh    =3          # (m/s^2)
stats-prnaccelv    =1          # (m/s^2)
stats-prnbias      =0.0001     # (m)
stats-prniono      =0.001      # (m)
stats-prntrop      =0.0001     # (m)
stats-prnpos       =0          # (m)
stats-clkstab      =5e-12      # (s/s)
ant1-postype       =llh        # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm,6:raw)
ant1-pos1          =0          # (deg|m)
ant1-pos2          =0          # (deg|m)
ant1-pos3          =0          # (m|m)
ant1-anttype       =
ant1-antdele       =0          # (m)
ant1-antdeln       =0          # (m)
ant1-antdelu       =0          # (m)
ant2-postype       =single     # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm,6:raw)
ant2-pos1          =0          # (deg|m)
ant2-pos2          =0          # (deg|m)
ant2-pos3          =0          # (m|m)
ant2-anttype       =
ant2-antdele       =0          # (m)
ant2-antdeln       =0          # (m)
ant2-antdelu       =0          # (m)
ant2-maxaveep      =1
ant2-initrst       =on         # (0:off,1:on)
misc-timeinterp    =off        # (0:off,1:on)
misc-sbasatsel     =0          # (0:all)
misc-rnxopt1       =
misc-rnxopt2       =-EPHALL
misc-pppopt        =
file-satantfile    =
file-rcvantfile    =
file-staposfile    =
file-geoidfile     =
file-ionofile      =
file-dcbfile       =
file-eopfile       =
file-blqfile       =
file-tempdir       =
file-geexefile     =
file-solstatfile   =
file-tracefile     =

rtkpost config for postprocessing with output to NMEA file

# rtkpost options (2025/06/26 06:28:15, v.demo5 b34L)

pos1-posmode       =kinematic  # (0:single,1:dgps,2:kinematic,3:static,4:static-start,5:movingbase,6:fixed,7:ppp-kine,8:ppp-static,9:ppp-fixed)
pos1-frequency     =l1+l2+l5+l6 # (1:l1,2:l1+l2,3:l1+l2+l5,4:l1+l2+l5+l6)
pos1-soltype       =combined   # (0:forward,1:backward,2:combined,3:combined-nophasereset)
pos1-elmask        =15         # (deg)
pos1-snrmask_r     =off        # (0:off,1:on)
pos1-snrmask_b     =off        # (0:off,1:on)
pos1-snrmask_L1    =38,38,38,38,38,38,38,38,38
pos1-snrmask_L2    =0,0,0,0,0,0,0,0,0
pos1-snrmask_L5    =0,0,0,0,0,0,0,0,0
pos1-snrmask_L6    =0,0,0,0,0,0,0,0,0
pos1-dynamics      =on         # (0:off,1:on)
pos1-tidecorr      =0          # (1:solid+2:otl+4:spole)
pos1-ionoopt       =brdc       # (0:off,1:brdc,2:sbas,3:dual-freq,4:est-stec,5:ionex-tec,6:qzs-brdc)
pos1-tropopt       =saas       # (0:off,1:saas,2:sbas,3:est-ztd,4:est-ztdgrad)
pos1-sateph        =brdc       # (0:brdc,1:precise,2:brdc+sbas,3:brdc+ssrapc,4:brdc+ssrcom)
pos1-posopt1       =off        # (0:off,1:on)
pos1-posopt2       =off        # (0:off,1:on)
pos1-posopt3       =off        # (0:off,1:on,2:precise)
pos1-posopt4       =off        # (0:off,1:on)
pos1-posopt5       =off        # (0:off,1:on)
pos1-posopt6       =off        # (0:off,1:on)
pos1-exclsats      =           # (prn ...)
pos1-navsys        =47         # (1:gps+2:sbas+4:glo+8:gal+16:qzs+32:bds+64:navic)
pos2-armode        =fix-and-hold # (0:off,1:continuous,2:instantaneous,3:fix-and-hold)
pos2-gloarmode     =fix-and-hold # (0:off,1:on,2:autocal,3:fix-and-hold)
pos2-bdsarmode     =off        # (0:off,1:on)
pos2-arfilter      =on         # (0:off,1:on)
pos2-arthres       =3
pos2-arthresmin    =3
pos2-arthresmax    =3
pos2-arthres1      =0.1
pos2-arthres2      =0
pos2-arthres3      =1e-09
pos2-arthres4      =1e-05
pos2-varholdamb    =0.1        # (cyc^2)
pos2-gainholdamb   =0.01
pos2-arlockcnt     =0
pos2-minfixsats    =4
pos2-minholdsats   =5
pos2-mindropsats   =10
pos2-arelmask      =15         # (deg)
pos2-arminfix      =100
pos2-armaxiter     =1
pos2-elmaskhold    =15         # (deg)
pos2-aroutcnt      =20
pos2-maxage        =30         # (s)
pos2-syncsol       =off        # (0:off,1:on)
pos2-slipthres     =0.05       # (m)
pos2-dopthres      =0          # (m)
pos2-rejionno      =1          # (m)
pos2-rejcode       =10         # (m)
pos2-niter         =1
pos2-baselen       =0          # (m)
pos2-basesig       =0          # (m)
out-solformat      =nmea       # (0:llh,1:xyz,2:enu,3:nmea)
out-outhead        =on         # (0:off,1:on)
out-outopt         =on         # (0:off,1:on)
out-outvel         =on         # (0:off,1:on)
out-timesys        =gpst       # (0:gpst,1:utc,2:jst)
out-timeform       =hms        # (0:tow,1:hms)
out-timendec       =3
out-degform        =deg        # (0:deg,1:dms)
out-fieldsep       =
out-outsingle      =on         # (0:off,1:on)
out-maxsolstd      =0          # (m)
out-height         =geodetic   # (0:ellipsoidal,1:geodetic)
out-geoid          =internal   # (0:internal,1:egm96,2:egm08_2.5,3:egm08_1,4:gsi2000)
out-solstatic      =all        # (0:all,1:single)
out-nmeaintv1      =0          # (s)
out-nmeaintv2      =0          # (s)
out-outstat        =state      # (0:off,1:state,2:residual)
stats-eratio1      =300
stats-eratio2      =300
stats-eratio5      =300
stats-eratio6      =300
stats-errphase     =0.003      # (m)
stats-errphaseel   =0.003      # (m)
stats-errphasebl   =0          # (m/10km)
stats-errdoppler   =1          # (Hz)
stats-snrmax       =52         # (dB.Hz)
stats-errsnr       =0          # (m)
stats-errrcv       =0          # ( )
stats-stdbias      =30         # (m)
stats-stdiono      =0.03       # (m)
stats-stdtrop      =0.3        # (m)
stats-prnaccelh    =3          # (m/s^2)
stats-prnaccelv    =1          # (m/s^2)
stats-prnbias      =0.0001     # (m)
stats-prniono      =0.001      # (m)
stats-prntrop      =0.0001     # (m)
stats-prnpos       =0          # (m)
stats-clkstab      =5e-12      # (s/s)
ant1-postype       =llh        # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm,6:raw)
ant1-pos1          =0          # (deg|m)
ant1-pos2          =0          # (deg|m)
ant1-pos3          =0          # (m|m)
ant1-anttype       =
ant1-antdele       =0          # (m)
ant1-antdeln       =0          # (m)
ant1-antdelu       =0          # (m)
ant2-postype       =single     # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm,6:raw)
ant2-pos1          =0          # (deg|m)
ant2-pos2          =0          # (deg|m)
ant2-pos3          =0          # (m|m)
ant2-anttype       =
ant2-antdele       =0          # (m)
ant2-antdeln       =0          # (m)
ant2-antdelu       =0          # (m)
ant2-maxaveep      =1
ant2-initrst       =on         # (0:off,1:on)
misc-timeinterp    =off        # (0:off,1:on)
misc-sbasatsel     =0          # (0:all)
misc-rnxopt1       =
misc-rnxopt2       =-EPHALL
misc-pppopt        =
file-satantfile    =
file-rcvantfile    =
file-staposfile    =
file-geoidfile     =
file-ionofile      =
file-dcbfile       =
file-eopfile       =
file-blqfile       =
file-tempdir       =
file-geexefile     =
file-solstatfile   =
file-tracefile     =

Using rtkpost

Simply select .obs and .nav data provided by your rover (generated using convbin above) and .obs data from your base (also generated using convbin above).

Next steps

  • figure out if “CONFIG ALLEPHRTCM ENABLE” option has any impact
  • explore if GPS/GNSS ephemeris can be used with RANGEB undocumented option
  • update RTKGPS+ to demo5_b34L
  • figure out if SW Maps can be used to feed RTCM3 data from base to feed the UM980 to compute RTK on the module in real time

OsmAnd

OsmAnd 5.1 (Android)

The new Android update is here!

The new Android update is here!

We've improved the interface, made settings easier to manage, and added new features to make your everyday navigation with OsmAnd even more smooth and enjoyable.

🔄 Update Now!

Thanks for using OsmAnd — safe travels!

What's new

• Added support for web and cross-platform purchases.
• Moved Temperature units to General settings for easier access.
• Added battery level indicator for BLE sensors.
• New, more intuitive UI for point selection in Navigation.
• Improved widget visibility with a new outline.
• Added Uphills/Downhills analyzer.
• Expanded Wikipedia & Wikivoyage integration for more POIs.
Bug fixes.

Cross-Platform Purchases

Maps+ and OsmAnd Pro purchases can now be used across different platforms, including Android, iOS, and the OsmAnd website. This means you can buy a subscription on one platform and use it on another without any additional cost.

Now, you can buy OsmAnd products on the OsmAnd website and use them on your Android or iOS devices, and vice versa. This feature is available for all OsmAnd products, including Maps+ and OsmAnd Pro.

Pricing

Temperature Units

The Temperature units setting has been moved to the General settings section for easier access. This change allows you to quickly adjust the temperature units without navigating through multiple menus.

Menu → Configure profile → General settings → Units & formats → Temperature

BLE Sensors Battery Level

The battery level indicator for BLE sensors has been added to the Sensors settings section. This feature allows you to monitor the battery status of your connected sensors, ensuring they are always ready for use.

New Point Selection UI

The point selection interface in Navigation has been redesigned to be more intuitive and user-friendly. The new UI allows you to easily select points on the map, making navigation smoother and more efficient.

Navi

Widget Outline

An outline has been added to widgets, improving visibility and making it easier to interact with them, especially when using transparent widgets.

Widget Outline

Uphills/Downhills Analyzer

A new Uphills/Downhills analyzer has been added to the Analyze by intervals feature. This tool provides detailed information about the elevation changes along your route, helping you better understand the terrain and plan your activities accordingly.

Analyze track Analyze track

Wikipedia & Wikivoyage Integration

Wikipedia and Wikivoyage integration has been expanded to include more Points of Interest (POIs). This means you can now access a wider range of information about places around you, enhancing your exploration experience.

Bug fixes


If you have suggestions for improving the Android version of the app, please get in touch with us. We appreciate and welcome your contribution to the further development of OsmAnd.



OsmAnd 5.1 (iOS)

OsmAnd 5.1 for iOS is out now!

OsmAnd 5.1 for iOS is out now!

We’re excited to bring you the latest update — OsmAnd 5.1 is now available on the App Store. This version includes interface improvements, easier widget configuration, and new features to make exploring even more intuitive.

🔄 Update Now

Download the update and enjoy a better, smoother OsmAnd experience.
Thanks for being with us — safe travels!

What's new

• Added support for web and cross-platform purchases
• New Route information widget
• Widgets on the Left & Right panels now include a height option
• Added a rename action for Favorite groups.
• Added "Unit of Volume" and "Fuel Tank Capacity" options.
• Added a "Coordinates Grid" overlay.
• Added the ability to assign activities to tracks
• Improved the appearance menu of Favorites
Bug fixes

Cross-Platform Purchases

Maps+ and OsmAnd Pro purchases can now be used across different platforms, including Android, iOS, and the OsmAnd website. This means you can buy a subscription on one platform and use it on another without any additional cost.

Now, you can buy OsmAnd products on the OsmAnd website and use them on your Android or iOS devices, and vice versa. This feature is available for all OsmAnd products, including Maps+ and OsmAnd Pro.

Pricing

New Route Information Widget

New Route information widget displays the estimated arrival time, remaining travel time, and distance for the current route. This widget provides essential navigation information at a glance, making it easier to plan your journey and stay informed about your progress.

Menu → Configure screen → Top panel/Bottom panel → Add widget → Navigation Points → Route information

Route information widget

Widgets on the Left & Right Panels

Widgets on the Left & Right panelslude a height option, allowing you to customize the size of the widgets to better fit your preferences and screen layout. This change improves the usability of the widgets and makes them more adaptable to different screen sizes.

Route information widget

Rename Action for Favorite Groups

You can now rename Favorite groups directly from the Favorites menu. This feature allows you to organize your favorites more effectively and quickly access the locations you need.

Route information widget Route information widget

Unit of Volume and Fuel Tank Capacity

The "Unit of Volume" and "Fuel Tank Capacity" options have been added to the settings, allowing you to customize how these measurements are displayed in the app. This change enhances the usability of OsmAnd for users who prefer specific units of measurement.

Menu → Settings → App profiles → General settings → Units & Formats → Unit of volume

Menu → Settings → App profiles → Navigation settings → Vehicle parameters → Fuel tank capacity

Coordinates Grid Overlay

A new "Coordinates Grid" overlay has been added, providing a visual reference for coordinates on the map. This feature is useful for users who need precise location information and enhances the overall map experience.

Configure map → Show on map → Coordinates grid

Grid Grid

Assign Activities to Tracks

You can now assign activities to tracks, allowing you to categorize and organize your recorded tracks more effectively. This feature is particularly useful for users who engage in multiple activities, such as hiking, cycling, or running, and want to keep their tracks organized by activity type.

Changing Appearance of Favorites

We redesigned the appearance menu of Favorites, allowing you to customize the look of your favorite locations. You can now choose from various icons and colors to make your favorites more visually appealing and easier to identify.

Grid

Bug fixes


If you have suggestions for improving the iOS version of the app, please get in touch with us. We appreciate and welcome your contribution to the further development of OsmAnd.


 Apple AppStore


15 Years of OsmAnd

Hi everyone,

Hi everyone,

Today is a special day — OsmAnd is turning 15. An incredible number! It feels like we were just writing posts about our 5th anniversary and 10th anniversary, and now, it's already been fifteen years. Time flies when you're passionate about what you do.

Looking back, I realize that the magic of OsmAnd isn't just about code or maps. Above all, it's about people. And today, I want to give a huge, sincere thank you to the three main communities without whom none of this would be possible.

15 Years of OsmAnd

Thank You for Being with Us!

To our OsmAnd Team

To the people who create, improve, and support the project every single day. Your dedication, talent, and persistence are the fuel for our shared journey. Thank you for the thousands of hours of work and for pouring your hearts into every detail.

To our GitHub Community

To everyone who sends us code, reports bugs, suggests ideas, and participates in discussions. You are our external brain and our strictest, yet fairest, critics. Your involvement is what makes OsmAnd a truly open and vibrant project. Thank you for your contributions!

To the OpenStreetMap Community

Our foundation and main source of inspiration. Every trail, every house, every detail on the map is the work of millions of volunteers from around the world. You are creating a digital copy of the planet, accessible to everyone, and we are proud to be part of this movement. Without you, there would be no us. Thank you!

Our Journey and Focus on the Future

The scale of this journey is truly humbling. Over the past 15 years, we’ve delivered more than 35 releases for the Android version — and over 25 releases for iOS since its launch.

Today, we’re proud to share these global stats:

  • 2.5 million monthly active users (MAU) across all platforms
  • Over 100,000 daily active users (DAU)
  • More than 20 million installs worldwide

All these 15 years can be roughly divided into three stages. For the first five years, we built the very basic functionality—offline maps and navigation that just worked. Over the next five years, we transformed OsmAnd into a full-fledged application with plugins, extensive settings, and professional tools. We dedicated the third five-year period to deep internal work: completely rewriting and improving key components like the rendering engine and routing algorithms.

Now, a new, fourth stage begins. We have reached functional maturity, and our main goal for the near future is to polish what we’ve already built. We will focus on stability, speed, and consolidation. User expectations are growing, and what was once considered normal must now be flawless. The application must run faster, be more stable, and feel more cohesive.

How will we achieve this? Through immense attention to detail: deep analysis, manual and automated testing. We will move in fast but very small steps, carefully monitoring the results and listening to your feedback. Our task is to consolidate existing functionality, making it more intuitive and reliable.

I believe this approach will allow us to build a solid foundation. And after that, we can focus with renewed energy on the major, long-awaited features that you constantly write to us about and for which we previously lacked the time.

15th Anniversary Specials

What's a birthday without gifts? To celebrate our anniversary, we've prepared several great surprises for you! To take advantage of them, make sure you have the latest version of the app, 5.1, installed.

  • "OsmAnd XV" Gift: We have prepared a special gift for our users, which even includes a limited series of branded T-shirts!
  • Free Cross-Platform Purchases: We have finally enabled the ability to use your purchases across different platforms at no extra cost. Buy on iOS and use on Android, Website, or vice versa.
  • Discounts on our Website: Head over to our website, where special anniversary discounts on our products are waiting for you.

Thank you for being with us all these years. Our journey continues, and the most exciting parts are still ahead!

With warmth and gratitude,

Victor Shcherb CEO of OsmAnd

Monday, 23. June 2025

Pascal Neis

From Sky to Trail: Testing GPS Accuracy with Drones, Action Cam and Smartwatch

In the early days of mapping and cartography experiments, GPS tracks were often the starting point. Contributors to the OpenStreetMap (OSM) project, especially before 2010, relied heavily on GPS devices. They would walk or cycle routes and later upload their recorded tracks and observations to OSM. Today, GNSS-capable devices are everywhere: smartphones, smartwatches, action cams, […]

In the early days of mapping and cartography experiments, GPS tracks were often the starting point. Contributors to the OpenStreetMap (OSM) project, especially before 2010, relied heavily on GPS devices. They would walk or cycle routes and later upload their recorded tracks and observations to OSM. Today, GNSS-capable devices are everywhere: smartphones, smartwatches, action cams, and drones. These tools don’t just record where things are, but also what they are, through images, videos, and other sensor inputs. This opens up new possibilities for mobile mapping. I recently tried something new: drone-based tracking in Active Mode—a self-experiment in modern mobile mapping.

What did the test setup look like, and which devices were used? For my tests mapping various paths and (MTB) trails, I used a range of devices and configurations. I flew two drones: the DJI Avata (2024) and the DJI NEO (2024). For the action cam, I used a GoPro HERO 12 Black, and I also wore a Garmin fēnix® 8 smartwatch. My overall goal was to evaluate the GPS accuracy of these different devices. The tests were conducted on closed-off field and forest paths. Differentiating between open terrain, wooded trails, and steep sections helped account for potential signal interference from satellite shading.

How can the relevant data be accessed? The GPS tracks from the DJI drones can be exported from their log files, found in the DJIFlightRecord directory of the DJI Fly App (on iOS, in my case). I used the free tool dji-log-parser to extract the GPS data. To extract the GPS track from GoPro video footage (using GPMF metadata), I used the Python package gpmf. Below is a screenshot from JOSM (an OSM editor), showing part of the recorded GPS tracks for a test route. During the test, the GoPro and Garmin watch were worn by the person. The NEO drone followed the person in Active Tracking mode, while the Avata was flown separately using FPV.

What results did these first tests yield? Both the Avata and the NEO provided GPS tracks, but compared to the “reference” route, deviations of several meters were common. The tracking mode itself influenced the recorded path, especially when the drone followed from behind or at an angle. The GoPro produced similar results, with tracks that were sometimes even farther off than the drones. In contrast, the Garmin watch delivered the most “accurate” and consistent GPS data in my forest-area tests.

My personal conclusion? A drone in tracking mode is great for YouTube videos, but due to GPS accuracy limitations, it’s only conditionally suitable for direct mobile mapping, at least with the drones I tested and at my running or cycling speeds. I was a bit disappointed by the GoPro’s positioning accuracy; I expected better performance given its capabilities. The biggest surprise? The Garmin watch—its GPS track was by far the most reliable throughout my experiments.

Side Note: The DJI Mini 4 Pro, an Insta360 One RS, and a DJI Osmo were also partially used during the tests. However, due to the Mini 4 Pro’s size and the lack of GPS in the Insta360, I haven’t included them in detail here. Otherwise, this post would have gotten way too long 😉

PS: The mapped MTB trails from the FlowTrail Heidenrod can now be found on OSM 👉 Relation

Tuesday, 24. June 2025

OpenStreetMap User's Diaries

What food is there - and can I get a wheelchair in?

I recently updated this map:

and this one:

to show different types of restaurants (the most common cuisine types cause the top part of the icon to be modified), just like that map has shown fast food for some time now. However, it’s not technically difficult to also show what wheelchair access is available - this one:

is an Italian restauran

I recently updated this map:

Some restaurants in London (raster)

and this one:

Some restaurants in London (vector)

to show different types of restaurants (the most common cuisine types cause the top part of the icon to be modified), just like that map has shown fast food for some time now. However, it’s not technically difficult to also show what wheelchair access is available - this one:

A restaurant icon with a pizza slice above (Italian) and a yellow flash below (limited wheelchair)

is an Italian restaurant with limited wheelchair access. The yellow flash for that is deliberately small so as to not dominate the view, but visible if you are looking for it.

Shouldn’t showing that information be “table stakes” for maps showing OSM data?


My MapRoulette presentation at SOTM US

I had a fantastic time at SOTM US. Thanks to all at OSM US for their work putting the event together.

I gave two presentations, one on MapRoulette and one on the new Meet Your Mappers tool. I posted annotated slides for the MapRoulette talk on my blog.

I had a fantastic time at SOTM US. Thanks to all at OSM US for their work putting the event together.

I gave two presentations, one on MapRoulette and one on the new Meet Your Mappers tool. I posted annotated slides for the MapRoulette talk on my blog.

Monday, 23. June 2025

OpenStreetMap User's Diaries

On Overture's Avoidance of the ODbL

Dear Overture Team and OpenStreetMap Community,

This diary entry is a follow-up to an in-person conversation I had with some of the Overture team at State of the Map U.S. To their credit, they were quick to admit to and apologize for some of these omissions and verbally committed to making appropriate changes. I am therefore posting this entry for the following reasons:

  • t

Dear Overture Team and OpenStreetMap Community,

This diary entry is a follow-up to an in-person conversation I had with some of the Overture team at State of the Map U.S. To their credit, they were quick to admit to and apologize for some of these omissions and verbally committed to making appropriate changes. I am therefore posting this entry for the following reasons:

  • to fully document my concerns,
  • to invite others to (respectfully please!) share their perspectives,
  • to hold the Overture team accountable for making these changes.

Clarity on Attribution Page

In my opinion, Overture does not take care to spell out the necessity of OpenStreetMap attribution on their Attribution and Licensing page. After an optional citation comes the following language:

The Overture Maps Foundation does not require text attribution or an OMF logo on maps, visualizations, and graphics created with our datasets. If you would like to credit Overture, we suggest: © Overture Maps Foundation.

So far it seems pretty easy to use Overture data. We can attribute…but only if we want. Easy peasy! After that, the potential for additional attribution requirements is raised:

Some of the data sources we use in Overture datasets do require their own attribution, according to their licenses. For example, our Explore tool displays several Overture datasets that are made wholly or in part from OpenStreetMap data, so we added the following line of attribution to adhere to the requirements of the Open Database License: © OpenStreetMap contributors, Overture Maps Foundation.

Let’s take a close look at this paragraph. In Overture’s only mention of OpenStreetMap attribution requirements (that I could find), they frame it as a passing example. It’s as if the OpenStreetMap community should feel lucky that Overture chose us as their example of potential attribution requirements. To me, this deflection of our dataset’s license comes across as deeply disrespectful.

So, how much of Overture is derived from OpenStreetMap data? Clicking into each of the dataset descriptions, four out of the six datasets are derived from OpenStreetMap and therefore distributed under the ODbL: “Base,” “Buildings,” “Divisions,” and “Transportation.”

With that in mind, Overture seems better-described as an OpenStreetMap distribution with some extra data tacked on. Great, ODbL needs to be front-and-center on their download page, release pages, and Attribution page, with a link to the official OpenStreetMap Attribution Guidelines. Overture has a responsibility to ensure its data consumers correctly attribute OpenStreetMap Contributors, and understand the legal liability they open themselves up to if they do not properly attribute. Beyond legal requirements, attribution is the respectful thing for hard-working OpenStreetMap volunteers whose work gets used in a commercial context.

The FAQ Page

The further we get from Overture’s attribution page, the worse things get. On the FAQs page, under “How Is Overture Data Licensed?” lies the following text (pasted in full):

Generally, Overture data is licensed under the Community Database License Agreement – Permissive v2 (CDLA) unless derived from a source that requires publishing under a different license, such as data derived from OpenStreetMap, that constitutes a “Derivative Database” (as defined under ODbL v1.0), which will be licensed under ODbL v1.0.

Overture considers (A) any maps or outcomes obtained by computational analysis that are created using Overture data licensed under CDLA Permissive v 2.0, or (B) the supplementing of (1) a Data Recipient’s content or (2) a third-party’s data – in either case, obtained through computational analysis – with CDLA Permissive v.2-licensed data from Overture, to be “Results” and according to Section 3, not subject to the requirement to provide the text of the license.

This seems to be purposefully misleading. As stated above, four out of six of Overture’s datasets are distributed under the ODbL, so saying Overture is “generally” CDLA is untrue. Perhaps Overture wishes to have more CDLA datasets in the future?

Secondly, this FAQ fully omits the need for attribution to OpenStreetMap, which is required for the majority of Overture datasets. Surely that is worthy of inclusion on your FAQ page.

Elsewhere on the Overture Site

The Overture homepage makes no mention of OpenStreetMap, one of their primary data sources. The two featured links at the top of its page, “Getting Started” and “Learn More” point to pages that also make no mention of OpenStreetMap.

On the aforementioned “Getting Started” page, there are many download links provided to OpenStreetMap-derived datasets, without any mention of the ODbL. That page links to this one about the Python CLI, which features a one-liner for downloading the Overture “Buildings” dataset (which includes OpenStreetMap data) without one word about attribution requirements. Not only is this disrespectful to the OSM community, but it’s dangerous to your users who need to understand what the terms of that data use are.

The “Learn More” page includes this gem from Executive Director Marc Prioleau:

With the collective insights of our expanding community, it’s not just about amassing datasets. Instead, it’s a conscious effort to lay the groundwork for a future where map data remains current and interoperable, serving a wide range of applications. Overture is about harnessing available high-quality data sources and building bridges of cooperation.

At least we could properly attribute those bridges, eh Marc?

Final Thoughts

I really like Overture’s work. They offer clean extracts of geospatial data from OpenStreetMap and other data sources, with end-users in mind. They help bridge the gap between OSM tagging madness and company X’s need for a clean map.

I want to believe that Overture cares about the OpenStreetMap community and wishes to grow with us. I met a couple of them at State of the Map U.S. and they were friendly. They helped fund the event, and expressed genuine, positive sentiment about the community who makes their work possible. Indeed, most of their datasets rely on our data.

I am concerned by Overture’s willingness to gloss over OpenStreetMap and the ODbL on their website. Overture enjoys ample funding from their corporate partners, and has a responsibility to pass some of that success on to the sources they rely on, including OpenStreetMap. I worry that when Overture is not attending SOTMUS, they might be forgetting to mention where their data comes from to all those $3M/yr members.

Overture, fix your website. Show some real enthusiasm about our community in your marketing materials. Help sustainably fund-raise for the institutions you rely on. Do the work to build those bridges you claim to build.


Best Regards,
Jacob Hall


DIARI

DIARI SAYA #AWAIT #WAITTT

DIARI SAYA #AWAIT #WAITTT

Sunday, 22. June 2025

OpenStreetMap User's Diaries

1000 edits, what have I learnt?

Just reached 1000 edits, so thought it would be good to dump what I have learnt so far.

I started using OSM during the COVID 19 lockdown living in Hampshire, there were many walks available but the routes were not always clear on google maps. OSM was far better and I used it for information about walks before proceding. The level of detail was great and really useful.

Fast forwar

Just reached 1000 edits, so thought it would be good to dump what I have learnt so far.

I started using OSM during the COVID 19 lockdown living in Hampshire, there were many walks available but the routes were not always clear on google maps. OSM was far better and I used it for information about walks before proceding. The level of detail was great and really useful.

Fast forward to 2023 and I decide to start contributing using StreetComplete and MapComplete. I drive an Electric vehicle and the information on charge points is so obscure I wanted to contribute. This led me down a rabbit hole of StreetComplete, filling in addresses, road surfaces, bus stop shelter. Anything and everything. I learnt the importance of information that would be useful to users.

Only in the last year, have I picked up mapping, this time using ID editor, chnaging tags was a little daunting but I slowly got there. I noticed some areas around me were missing house numbers. I learnt the importance of doing a survey on foot. There’s so much to learn from looking around IRL.

The last few weeks, I have been mapping out areas that had no buildings, only Residential Areas. A few thousand terraced houses later (feels like it) and quite a few places are on the map around Yarmouth (yeah I moved from Hampshire in this time!). Most imporatntly, check the alignment of background layers before starting a new edit! It is also useful to turn off layers not used, really makes things easier to see.

Latest update, I own a drone and can produce aerial images, very useful for areas not on Bing maps. This also gives me access to a 3D view of the area, very useful for double checking my survey notes!

Maybe I’ll do another one of these at 2000 edits?


weeklyOSM

weeklyOSM 778

12/06/2025-18/06/2025 [1] OSM Perfect Intersections Editor, a prototype by Mikhail Kuzin | Map data © OpenStreetMap Contributors. Mapping campaigns The OpenStreetMap Russia community has announced the completion of a recent online mapathon focused on the city of Morshansk. Over the course of two weeks, 26 participants contributed by mapping approximately 8,000 buildings, 5,000 addresses, 300&#

12/06/2025-18/06/2025

lead picture

[1] OSM Perfect Intersections Editor, a prototype by Mikhail Kuzin | Map data © OpenStreetMap Contributors.

Mapping campaigns

  • The OpenStreetMap Russia community has announced the completion of a recent online mapathon focused on the city of Morshansk. Over the course of two weeks, 26 participants contributed by mapping approximately 8,000 buildings, 5,000 addresses, 300 shops, and 150 amenities. Contributors relied primarily on Esri satellite imagery, Yandex panoramas, and the official government cadastre map as their sources.
  • In a blog post, Séverin Ménard related his experience mapping the POIs of a small town where he stayed for three days, and encourages other OSM field mappers to share their own experience with the hashtag #MakeYourStayOSM!

Community

  • [1] Mikhail Kuzin is developing OSMPIE, a What-You-See-Is-What-You-Get tool that makes adding and tagging roads and intersections in OpenStreetMap significantly easier, more precise, and more convenient. The tool is still under development and has not yet been officially released, but the developer plans to continue publishing updates through OSM diary entries to gain community feedback.
  • Volker Krause detailed how various open public transport data is integrated into the Transitous routing service through standards such as the General Transit Feed Specification, General Bikeshare Feed Specification, and OpenStreetMap. He also outlined how users can contribute to and expand transit data in their own regions.
  • Imagoiq has initiated an experimental project to map housing cooperatives in Switzerland with a GitHub repository to gather information about tagging, OSM statistics, data quality checks, and more.
  • Pongpeera Wongprasitthiporn has shared some insights on indoor mapping in OpenStreetMap, demonstrating how to use the OsmInEdit tool along with the indoor=* website to accurately represent interior spaces.
  • In a recent essay, adreamy urged (summary) the Korean OpenStreetMap community to embrace the platform’s decentralised, non-hierarchical ethos by actively participating in problem solving, guideline development, and quality control without relying on central authority.
  • OpenHistoricalMap announced that you can now log in using your OSM account, map labels are in your preferred language by default, and elements are labelled with their dates throughout the site, among other improvements.

OpenStreetMap Foundation

  • The OpenStreetMap Foundation has called for self-nominations for its upcoming board election, with submissions accepted until Saturday 5 July 2025 at 23:59:59 UTC. At least three board seats are up for election, with voting scheduled for September.

OSM research

  • A new paper from HeiGIT has evaluated the resilience of urban infrastructure, with a focus on road network connectivity and redundancy in the face of extreme weather events. The research was carried out by Sánchez and others and used OpenStreetMap data and the openrouteservice routing engine.
  • Gopinath Gnanakumar Malathi and Graham Dove are conducting a study on how OpenStreetMap contributors assess and interpret the quality of geographic data on the platform. The study includes a survey examining contributors’ perspectives on data quality, their understanding of informal community guidelines such as those on the OSM Wiki, and the factors that influence their mapping decisions.

Software

  • MysteryHike, a phone-based exploration game, allows users to discover points of interest while navigating real-world locations. The game utilises data from OpenStreetMap but currently does not provide proper attribution.
  • The OSM2World project is currently receiving support from the Prototype Fund, a funding initiative of the German Federal Ministry of Education and Research, to develop tools that simplify the contribution of 3D data to OpenStreetMap. The project focuses on creating real-time preview features that offer immediate feedback, making 3D editing more intuitive and allowing contributors to identify and correct errors before data is uploaded.
  • Christan Quest has developed Panolinker, an application designed to help users identify and select the most suitable Panoramax photo corresponding to a specific geolocated object.

Programming

  • At the 2024 FOSSGIS Conference, it was announced that centimetre-level GNSS correction data is now being freely broadcast across Germany via DAB+ digital radio, enabling offline high-precision positioning without paid services or internet access. Inspired by this, flohoff has built a working setup using a Quectel LC29H RTK-capable GNSS chip, a DAB+ USB stick, and a Raspberry Pi 5, achieving an RTK fix, meaning GNSS systems could determine positions with centimetre-level precision using the broadcast data. However, the system still relies on an internet connection to fetch ephemeris data, as the LC29H in rover mode doesn’t output it. Efforts are underway to eliminate this dependency by integrating a second GNSS receiver or switching to a dual-role module such as the Unicore UM980.
  • Arnav Kamath has developed a framework to evaluate the connectivity of Mumbai’s establishments to the city’s infrastructure. All developed using OpenStreetMap, Python, NumPy, Plotly and Pandas.

Releases

  • CoMaps, which was available only as an apk (we reported earlier), is now available on Google Play and F-Droid.
  • David Larlet announced the release of uMap version 3, introducing major new features including real-time collaboration, map templates, and improved import helpers.
  • Organic Maps has released its June 2025 update, introducing new features including planned route saving, track statistics on iOS, and azimuth indicators for selected locations on Android.

Did you know that …

  • … you can use the tag button_operated=placebo to mark pedestrian or bicycle push buttons that don’t actually do anything? Some crossing buttons don’t trigger a signal at all, especially during certain times or in automated traffic systems. In some cases, they’ve even been disconnected but not removed.
  • … the Myanmar Information Management Unit (MIMU) has pages dedicated to OSM in Burmese, supported by the University of Bern?

Other “geo” things

  • Placing Technologies has delved into the origins of web map tiles, an innovation that revolutionised digital mapping by enabling geospatial data to be stored and transmitted efficiently using x/y/z-indexed squares. The system, which began with raster data and later expanded to vector formats, allowed maps to be viewed seamlessly at multiple zoom levels.

Upcoming Events

Country Where Venue What Online When
flag Boston Boston, Massachusetts, US State of the Map US 2025-06-19 – 2025-06-21
flag Verona 311 Verona, Verona MERGE-it 2025 2025-06-20 – 2025-06-22
flag Bengaluru Kalyan Nagar OSM Bengaluru Mapping Party 2025-06-21
flag Navi Mumbai Remiges Technologies, Ghansoli, Navi Mumbai OpenStreetMap workshop @ FOSS Meetup Mumbai 2025-06-21
bi Rumonge Online OSM Africa June 2025 Mapathon – Map Burundi 2025-06-21
flag Siliguri Kanchenjunga Stadium 4th OpenStreetMap West Bengal Mapping Party 2025-06-22
flag Mumbai Suburban Chembur 3rd OpenStreetMap Mumbai Mapping Party 2025-06-22
OSM World Mappy Hour 2025-06-23
flag Hannover Kuriosum OSM-Stammtisch Hannover 2025-06-23
flag Montréal Parc Angrignon Parc Angrignon Mapathon 2025-06-24
flag London UCL, Gower Street, Chadwick Building Room G04 London Climate Action Week Mapathon 2025-06-24
flag San Jose Online South Bay Map Night 2025-06-25
flag Vogtei Online BigBlueButton OSM Radinfra-Mapathon #2 2025-06-24
flag Office de tourisme du Seignanx Rencontre groupe local Mapadour 2025-06-25
flag Amsterdam TomTom HQ Maptime Amsterdam: Summertime Meetup 2025-06-25
flag London Parcel Yard pub London pub meet-up 2025-06-25
[Online] OpenStreetMap Foundation board of Directors – public videomeeting 2025-06-26
OSMF Engineering Working Group meeting 2025-06-27
flag Parma Officine On/Off, Parma Wikibirrata e banchetto alla festa di Officine On/Off e Casa nel Parco di Parma 2025-06-27 – 2025-06-28
flag Düsseldorf Online bei https://meet.jit.si/OSM-DUS-2025 Düsseldorfer OpenStreetMap-Treffen (online) 2025-06-27
flag Shahdara शाहदरा 18th OpenStreetMap Delhi Mapping Meetup 18वीं ओपनस्ट्रीटमैप दिल्ली मैपिंग मीटअप 2025-06-29
flag Saint-Étienne Zoomacom Rencontre Saint-Étienne et sud Loire 2025-06-30
flag Žilina FRI UNIZA Missing Maps mapathon Žilina #18 2025-07-01
Missing Maps London: (Online) Mapathon [eng] 2025-07-01
flag Stuttgart Stuttgart Stuttgarter OpenStreetMap-Treffen 2025-07-02
flag Wageningen Campus, Omnia FOSS4GNL 2025 2025-07-02 – 2025-07-03
UN Mappers #ValidationFriday Mappy Hour 2025-07-04
flag Pforzheim VPE Verkehrsverbund Pforzheim-Enzkreis, 3. OSMS meets VPE 2025-07-05

Note:
If you like to see your event here, please put it into the OSM calendar. Only data which is there, will appear in weeklyOSM.

This weeklyOSM was produced by MatthiasMatthias, Raquel Dezidério Souto, Strubbl, Andrew Davidson, barefootstache.
We welcome link suggestions for the next issue via this form and look forward to your contributions.


OpenStreetMap User's Diaries

ah shit, here we go again

Didn’t think would see a day(again) where I have to use tor with bridge as proxy AND a vpn for accessing internet including OSM and it’s wiki but here we are… Sighs 🤦🤦🤦

Those guys at government always can and will shock/surprise civilians to the death (yet again)

Never a dull moment!

Didn’t think would see a day(again) where I have to use tor with bridge as proxy AND a vpn for accessing internet including OSM and it’s wiki but here we are… Sighs 🤦🤦🤦

Those guys at government always can and will shock/surprise civilians to the death (yet again)

Never a dull moment!


제목

다중다각형 어떻게 만들어요??? (Pls teach me how to make “type: polygon”)

다중다각형 어떻게 만들어요??? (Pls teach me how to make “type: polygon”)

Saturday, 21. June 2025

OpenStreetMap User's Diaries

Hello, OSM!

Hi everyone. I recently started contributing to the map around my university’s campus, and I thought I should get in touch with the community a little. I’ve only labeled major buildings in the campus plus some road fixups, but I hope to continue contributing more to the map around here.

Oh yeah, this account is old, but I don’t even remember having it until I tried to sign up lol.

Hi everyone. I recently started contributing to the map around my university’s campus, and I thought I should get in touch with the community a little. I’ve only labeled major buildings in the campus plus some road fixups, but I hope to continue contributing more to the map around here.

Oh yeah, this account is old, but I don’t even remember having it until I tried to sign up lol.


Language/språk

I typically write my notes in English when they can be resolved by anyone. Even residents from another country than Sweden.

Om anteckningarna pekar mot att en behöver kunna förstå svenska för att fixa ett problem så tenderar skriva jag på svenska istället.

I typically write my notes in English when they can be resolved by anyone. Even residents from another country than Sweden.

Om anteckningarna pekar mot att en behöver kunna förstå svenska för att fixa ett problem så tenderar skriva jag på svenska istället.


本当に政治的な意図がない編集?

 韓国の百科事典・ナムウィキのオープンストリートマップの記事には以下のような記述があります。

【ネット右翼が独島(韓国名)の関連するすべての情報を消したこともあり、独島を日本が主張する行政区域である島根県沖ノ島に名前に変更する事例もあり、鬱陵島から独島へ行く航路の名前を「不正入国海路」に変更しながら独島関連の地物を日本語に変えるなど、島を水没させる編集もあった。 独島を竹島と表記して日本領土に編集する場合が多く起きるので、関心を持ってみるのも良い。 独島削除と竹島で作ったり消したりする問題は現在進行形だ。 独島の衛星写真はうまく出ていないので、すべて消してしまえばJOSMのような高度なツールでない限り、再編集するのが難しい点がある。 】

 まあ、そうだろうなあと思い適当な地物をクリックしてみました。私は東アジア地域で地名の日本語表記を書くのに四苦八苦して

 韓国の百科事典・ナムウィキのオープンストリートマップの記事には以下のような記述があります。

【ネット右翼が独島(韓国名)の関連するすべての情報を消したこともあり、独島を日本が主張する行政区域である島根県沖ノ島に名前に変更する事例もあり、鬱陵島から独島へ行く航路の名前を「不正入国海路」に変更しながら独島関連の地物を日本語に変えるなど、島を水没させる編集もあった。 独島を竹島と表記して日本領土に編集する場合が多く起きるので、関心を持ってみるのも良い。 独島削除と竹島で作ったり消したりする問題は現在進行形だ。 独島の衛星写真はうまく出ていないので、すべて消してしまえばJOSMのような高度なツールでない限り、再編集するのが難しい点がある。 】

 まあ、そうだろうなあと思い適当な地物をクリックしてみました。私は東アジア地域で地名の日本語表記を書くのに四苦八苦しているので、竹島は興味深い場所です。

 いくつかのポイントは実効支配を行っている韓国側が定めたと考えられる日本語名称が書かれているのですが、肝心な『独島里』の日本語名称が削除されているではありませんか!

 ちなみに、韓国での『里』は日本では小字に該当します。

 削除した理由は『日本ではそう呼称されていないから』だそうです。しかも、政治的意図はない←?????

 この理論が罷り通るなら北方領土では同様な編集が行われていないのも疑問です。

 実効支配を行っている国の呼称を削除するのは、日本人の私ですら甚だ理解できません。当該編集は私が修正しましたが、おそらく、今後もこのような編集が行われると推測されます。

 日本の立場を表明することは重要ですが、【政治的意図のない編集】や【竹島は日本の領土】という編集をここで行って何になるというのでしょうか?

 少し愚痴りたくなったので書かせて頂きました。


Pascal Neis

OpenData vom Bundesamt für Kartographie und Geodäsie vs. Crowdsourced OpenStreetMap in Deutschland – Ein Vergleich Offener Daten

Nach knapp 1.000 Tagen Abstinenz (endlich?) mal wieder ein Blog Post von mir. Aufgrund des inhaltlichen und räumlichen Bezugs diesmal auf deutsch. Ein „offizieller offener“ Datensatz von einer Bundesbehörde? Gut, wie sieht’s im Vergleich zu gemeinsam zusammengetragen Daten aus, z.B. OpenStreetMap? Lassen sich Unterschiede in der Qualität feststellen? Sind die Datensätze womöglich auf Augenhöhe

Nach knapp 1.000 Tagen Abstinenz (endlich?) mal wieder ein Blog Post von mir. Aufgrund des inhaltlichen und räumlichen Bezugs diesmal auf deutsch. English version via Google translate?

Präambel – Im Herbst 2020 entstand beim FOSSGIS e.V. eine Open Data Arbeitsgruppe. Durch verschiedene gemeinsame Aktivitäten von der Arbeitsgruppe und dem Bundesamt für Kartographie und Geodäsie (BKG), wie z.B. einem Workshop, wurden Anfang Dezember 2020 zwei Datensätze von Standorten der Landespolizei und Gesundheitsämtern für die „Pflege und Erweiterung der OpenStreetMap-Datenbank“ freigegeben. Daneben existieren beim BKG noch weitere interessante „Open Data“ Geodaten und Webdienste, die aber aufgrund ihrer Lizenzbedingungen nicht vom OpenStreetMap (OSM) Projekt verwendet werden dürfen.

Ein „offizieller offener“ Datensatz von einer Bundesbehörde? Gut, wie sieht’s im Vergleich zu gemeinsam zusammengetragen Daten aus, z.B. OpenStreetMap? Lassen sich Unterschiede in der Qualität feststellen? Sind die Datensätze womöglich auf Augenhöhe oder existieren gravierende Unterschiede oder wovon könnten alle profitieren?

Um zumindest einen Teil der zuvor genannten Fragen beantworten zu können, liegt es auf der Hand eine klassische Qualitätsanalyse zwischen den zwei Datensätzen durchzuführen. Eine interessante Frage dabei: Welcher Datensatz ist die Referenzquelle? Ist der BKG Datensatz die Referenz oder inzwischen vielleicht der OSM Datensatz? In annähernd allen mir bekannten Qualitätsuntersuchungen wird der „offizielle“ Datensatz als Referenz angenommen, daher wird die folgende Analyse ebenfalls so durchgeführt.

Wie wurde methodisch vorgegangen? Die beiden hier untersuchten Datensätze vom BKG wurden über Github bezogen. Die OSM Elemente für den Vergleich wurden aus einem aktuellen Planetfile mit osmium für Deutschland extrahiert (vielen Dank an dieser Stelle an Jochen als Maintainer für dieses super schnelle Tool und die Unterstützer). Bei der eigentlichen Analyse der Qualität wurden folgende Merkmale untersucht: Vollständigkeit, Logische Konsistenz, Positionsgenauigkeit, Zeitliche Genauigkeit und Thematische Genauigkeit. Dabei kamen verschiedene JAVA Klassen zum Einsatz, die zum größten Teil bei mir auf GitHub gefunden werden können.

Wie sehen die einzelnen Ergebnisse des Vergleichs der Datensätze im Detail aus? Starten wir als erstes mit der Vollständigkeit von den beiden Datensätzen im Vergleich:

  • Anzahl Objekte Landespolizei vom BKG: 4,257
  • Anzahl Objekte amenity=police OSM: 3,871

Auf den ersten Blick existieren damit rund 10% mehr Standorte im Datensatz vom BKG als wie am 03.02.2022 in OSM eingetragen waren. Die Besonderheit liegt aber im verwendeten OSM-Element und -Tagging, was in der ersten Version dieses Blog Posts zu Abweichungen in den Ergebnissen bei der Vollständigkeit geführt hat.

Hier verfügt der „offizielle“ Datensatz vom BKG um rund 35% mehr Objekte als was in OSM auf die schnelle zu finden ist.

Die logische Konsistenz kann über verschiedene Wege geprüft werden. In meinem Beispiel hier wurde jeweils des BKG und der OSM Datensatz bzgl. des Vorhandensein der Attribute mit sich selbst untersucht. Bedeutet: Der Datensatz der Landespolizei vom BKG besitzt 11 Sachattribute und die Gesundheitsämter verfügen über 12 Sachattribute. Bei der Landespolizei sind bei den Objekten, bis auf Telefax (73%) und E_Mail (52%), die Attribute/Eigenschaften mindestens zu 97% angegeben. Bei den Gesundheitsämtern vom BKG sind, bis auf Telefax (80%) und E_Mail (90%), die Attribute mindestens zu 99% angegeben. Bei den OSM sieht dies anders aus. Vergleichbare Eigenschaften, also Tags (key-value Paare), sind bei den in OSM vorhandenen Standorten der Polizei mit name (86%), addr:street/housenumber/postcode/city (ca. 63%), phone (27%) und fax (8%) mit einem Wert vorhandenen. Bei den Gesundheitsämtern von OSM sieht es ähnlich aus: Hier sind name (100%), addr:street/housenumber/postcode/city (ca. 78%), phone (14%) und fax (7%) mit einem Wert befüllt.

Um die Genauigkeit der Lage (Positionsgenauigkeit) zu vergleichen, wurde jeweils mit einem Puffer im Umkreis von 500m um den Standort einer Landespolizei oder eines Gesundheitsamtes vom BKG nach vergleichbaren Objekten in OSM gesucht. Im genannten Umkreis der Landespolizei-Stellen vom BKG befindet sich bei 87% ein erstelltes Polizei-Element im OSM Datensatz. Bei den Gesundheitsämtern finden sich bei 44% ein Eintrag bei OSM.

Die Prüfung der thematischen Genauigkeit erfolgte nur über einen minimalistischen Ansatz, in dem die Namen der über die Positionsgenauigkeit verknüpften Objekte miteinander verglichen wurden. Hierbei zeigte sich, dass nur 25% (Gesundheitsämter) und 32% (Landespolizei) der Namen zwischen den BKG und OSM Datensätzen exakt übereinstimmen. Die Untersuchung dieses Qualitätsmerkmals könnte oder müsste umfangreicher angegangen werden.

Die Datensätze des BKG wurden im Jahr 2021 veröffentlicht. Bei OpenStreetMap wird für gewöhnlich der Zeitpunkt der letzten Änderung des Elementes für die Aktualität bzw. zeitliche Genauigkeit verwendet.

Zusatzinfo: Die Mitwirkenden beim OSM Projekt – In OpenStreetMap haben bei den Standorten der Polizei insgesamt mind. 1.428 verschiedene Mitglieder an den Daten mitgearbeitet. Bei den Gesundheitsämtern waren es mind. 120 Personen, die die Elemente in irgendeiner Form (Lage oder Sachinformationen) bearbeitet oder ergänzt haben.

Kurzzusammenfassung oder was bringt jetzt dieser „Vergleich“? Dieser Blog Post hat keinen Anspruch auf Richtig- und Vollständigkeit. Es wird dennoch gezeigt, dass neben der Quantität (siehe Vollständigkeit) insbesondere das Augenmerk anscheinend auf die Attribute bzw. enthaltenen Details zu den jeweiligen Einträgen bei OSM gelegt werden sollte. Welche Vorgehensweise hat sich bei OSM in der Vergangenheit etabliert? Zumindest in Deutschland sollten nicht nur meiner Meinung nach keine Datenimporte mehr stattfinden. Vielmehr würde es sich anbieten, und wie in manchen Städten oder Ländern bereits erfolgreich umgesetzt und gelebt, eine Art Datenabgleich angeboten werden, wonach Interessierte und Engagierte die einzelnen Einträge vergleichen können.

Solch freigebende Datensätze, wie die vom BKG, eignen sich hervorragend zur Kontrolle und/oder Erweiterung der gesammelten Daten des OpenStreetMap-Projektes. Um es hier auch erwähnt zu haben: Nicht nur gemeinsam zusammengetragene Daten, sondern auch offizielle Daten, können Fehler oder Abweichungen enthalten. Dadurch sollten nach Möglichkeit diese Daten oder Informationen nicht unreflektiert nach OSM übernommen werden.

PS: Dieser Blog Post hat keinen Anspruch einer Wissenschaftlichen Untersuchung, sondern ist einfach aus einer Laune heraus an einem Sonntagmorgen bei einem Espresso entstanden. Hoffe es waren dennoch ein paar interessante Einblicke für Euch mit dabei?


Wait, someone did what? Exploring Reverted Map Edits in OpenStreetMap

The OpenStreetMap (OSM) project has over 10 million registered members, with around 2 million user profiles having made at least one map contribution. However, a closer look reveals that there has been a slight decline in the number of active contributors over the last three years. Despite the extensive global mapping community, there are instances […]

The OpenStreetMap (OSM) project has over 10 million registered members, with around 2 million user profiles having made at least one map contribution. However, a closer look reveals that there has been a slight decline in the number of active contributors over the last three years. Despite the extensive global mapping community, there are instances where individuals or automated bots disregard the consensus norms of the community when editing data. These situations arise due to disagreements regarding the appropriateness of certain tagging or features within the OSM database. To address these issues, a change rollback process, commonly referred to as reverting, is used to combat vandalism and correct ‘mistakes’ by restoring a previous version of the data.

Two years ago, I added additional statistics to the “How did you contribute to OSM?” page for quality assurance purposes. The numbers for each contributor profile were derived from an analysis of the full history OSM planet dump and changeset tags, including the specific editor used. While this pragmatic approach provides valuable insights, it’s important to acknowledge that the obtained numbers are estimations rather than exact figures. Furthermore, I received several inquiries regarding the implementation of the processing involved in identifying the displayed “reverted changes”.

Over the past few weeks, I have developed an advanced processing pipeline. This involved revisiting the comprehensive OSM planet dump and examining the evolution of each entity (node, way, relation) in relation to its previous states. Specifically, an entity with a higher version number was identified as a revert if it had the same latitude/longitude coordinates (for nodes), tags (key-value pairs), and/or members (for relations) as a previous version. In simpler terms, if a mapper changed “X” to “Y” and another mapper subsequently altered it back to “X”, it would be counted as a revert.

The following graph illustrates the amount of reverted map edits, changesets, and the contributors affected per month. This visualisation offers some initial insights into the scope and impact of reverted changes. It’s important to note, that the these numbers don’t include any actions related to reverted data imports.

 

It is also necessary to look more closely at the specific entities that are counted as “reverted”. Are they primarily nodes with a few tags, or are they ways and relations with extensive mapping histories in active areas? These specific aspects, among others, will be explored in an upcoming blog post or possibly published as part of a scientific research study.

What are your thoughts? I think many of you might be curious to discover whether your own map entities have been reverted. Please feel free to leave a comment on my OSM diary page, where I have cross-posted this article.


Unmapped Places of the OpenStreetMap World – 2024

In 2010, I first conducted a study which identified regions (places) in the OpenStreetMap (OSM) project in Germany that still had potential for more detailed mapping. Later, in 2016, this analysis was repeated and extended to the entire world. I have since regularly carried out these studies and published the results. The algorithm and some […]

In 2010, I first conducted a study which identified regions (places) in the OpenStreetMap (OSM) project in Germany that still had potential for more detailed mapping. Later, in 2016, this analysis was repeated and extended to the entire world. I have since regularly carried out these studies and published the results. The algorithm and some more details are documented in an earlier blog post of mine.

For the year 2024, I have recalculated this analysis and published the results on my website: “Unmapped Places of OpenStreetMap“. For the study, the OSM Planet File in PBF format from Dec. 7th was used. It can be downloaded here.

https://resultmaps.neis-one.org/unmapped
https://resultmaps.neis-one.org/unmapped

 

Currently, there are about 8.6 million elements in the OpenStreetMap project that use the place-key, representing either the center or the outline of a named place. Approximately 1.5 million place nodes are registered as villages, defined as “A village/town with up to 10,000 inhabitants.“. More details about the place-keys can be found in the OSM wiki. Depending on which type of street is used as a filter in my search, there are currently at least 170,000 places (villages) in OSM that are unmapped.

How is the number distributed across continents? Currently, 67% of the unmapped places are in Asia, followed by 30% in Africa. The remaining approx. 3 percent are distributed across the rest of the world. The detailed figures:

  • Asia: 113,895 (67%)
  • Africa: 51,443 (30%)
  • South America: 2,282
  • Oceania: 804
  • Europe: 637
  • North America: 484
  • Antarctica: 3

In the past the data from my studies have been used for MapRoulette, HOTOSM, MissingMaps, or similar mapathons or challenges. If anyone is interested in the individual layers of the visualization, they can be downloaded here directly as a JS file (track, minor, major). I would appreciate appropriate attribution if my data is used. Please feel free to leave a comment on my OSM diary page, where I have cross-posted this article.