Hi! The coordinate precision is deeply baked into Osmium, because OSM data only has this precision. That's because the central OSM database only stores the coordinates as 32bit integer, just as Osmium does. So there is no way to change this, and no need (unless you work with non-OSM data, in which case I'd argue Osmium isn't the right tool anyway).
Jochen On Wed, Feb 20, 2019 at 04:30:35PM -0500, Bryant Curto wrote: > Date: Wed, 20 Feb 2019 16:30:35 -0500 > From: Bryant Curto <bryantcu...@gmail.com> > To: dev@openstreetmap.org > Subject: [OSM-dev] C++ Osmium - Customize Location Precision > > Hello all! > > I would like to read and write locations with one or two more digits of > precision using Osmium. > > Osmium's Location class > <https://github.com/osmcode/libosmium/blob/c19e26906e0f6abe22503e38d9a4474086855521/include/osmium/osm/location.hpp#L257-L483> > appears > to be the cause behind coordinates being stored with 7 digits of precision. > Looking at the source, it appears that I would need to add a few zeros to > the end of *coordinate_precision > <https://github.com/osmcode/libosmium/blob/c19e26906e0f6abe22503e38d9a4474086855521/include/osmium/osm/location.hpp#L68> > *and > increase *scale* and *max_digits* > <https://github.com/osmcode/libosmium/blob/c19e26906e0f6abe22503e38d9a4474086855521/include/osmium/osm/location.hpp#L80-L84> > by > a few. However, setting *coordinate_precision* to 1e8 (or more) will result > in many coordinates overflowing 4-byte signed integer members *m_x* > and m_y, and > a slew of other issues. > > Any suggestions would be appreciated? > > - Bryant > _______________________________________________ > dev mailing list > dev@openstreetmap.org > https://lists.openstreetmap.org/listinfo/dev -- Jochen Topf joc...@remote.org https://www.jochentopf.com/ +49-351-31778688 _______________________________________________ dev mailing list dev@openstreetmap.org https://lists.openstreetmap.org/listinfo/dev