Git Product home page Git Product logo

Comments (2)

apmon avatar apmon commented on May 25, 2024

No, the tags should not need to be sorted. That looks like a bug. I will investigate. Thanks for the examples to reproduce.

from osm2pgsql.

apmon avatar apmon commented on May 25, 2024

I think I have fixed this issue now. Thanks for the detailed bug report that made it easy to track down.

There are still some differences in the way multi-polygons are handled compared to prior to the lua-tagtransform commit, but I think for all of the ones I have seen, the new behaviour is either better, or the correct behaviour is not obvious due to broken relations. (The following only applies to the builtin C based tagtransform, not the actual lua tagtransform, as its behaviour depends on the lua script used)

The differences I am aware of are the following:

In both cases, the copying of tags from member ways to the multi-polygon relation is only triggered if there are no tags on the relation other than type=multipolygon and name=. However, the new code does tag filtering first, removing tags like note= or FIXME=, resulting in more multipolygons correctly being handled.

The old code would copy over tags from member ways to the relation, even if the relation already had that tag with differing value. E.g. if both the relation and the member ways had (differing) names, it now uses the name tag of the relation rather than of the member way as previously.

If member ways have conflicting values for tags to be copied over to the relation, the way who's value "wins" has changed. However, I don't think there is a correct behaviour here and those are broken relations. So this change shouldn't be a regression.

from osm2pgsql.

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.