Giter Club home page Giter Club logo

Comments (5)

bdon avatar bdon commented on June 8, 2024

Yes, I attempted it at the beginning. The storage space savings were 5-10%, which is quite a bit, but OSMExpress eats lots of disk anyways, so I decided it wasn't worth making the code more complicated :)

from osmexpress.

bdon avatar bdon commented on June 8, 2024

I followed the same scheme imposm3 uses which is to encode common tags in the unicode Private Use Area: https://github.com/omniscale/imposm3/blob/master/cache/binary/tags.go#L140

from osmexpress.

brawer avatar brawer commented on June 8, 2024

Have you tried :List(UInt16) as a sibling to :List(Text)? The Unicode PUA character hack needs 4 bytes per tag, whereas an explicit integer only 2. However, one would lose the original tag ordering. Interestingly, imposm3 uses only 166 common tags, so a :List(UInt8) would do. Intuitively, Iā€™d have used a larger set of common tags (64K), but of course one would have to measure the size impact.

from osmexpress.

bdon avatar bdon commented on June 8, 2024

I didn't investigate it further, maybe I will when I get a chance to look at this again (and likely migrate to flatbuffers instead of capnproto). Compact storage isn't really a design goal of this system in favor of keeping a small and maintainable codebase.

from osmexpress.

bdon avatar bdon commented on June 8, 2024

Moving to #1 since that would be the next opportunity to make a breaking change in the data format.

from osmexpress.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    šŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. šŸ“ŠšŸ“ˆšŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ā¤ļø Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.