<p>Here is what happens: first the tags of the relation are filtered according to your style file. With so few entries, that means that for most relations all tags are filtered away. Next osm2pgsql recognizes a multipolygon and starts handling for it. It finds a relation without tags (because of the filtering) and immediately thinks it is an old-style multipolygon (the tagging style where the tags were out on the member ways, not the relations). So it goes and copies the tags from the first way it finds in the relation. Unfortunately, the way still has its full set of tags because you requested to store all tags in hstore. The result is that a polygon ends up in the database with a completely messed up set of tags.</p>
<p>This is actually closely related to <a href="https://github.com/openstreetmap/osm2pgsql/issues/605" class="issue-link js-issue-link" data-url="https://github.com/openstreetmap/osm2pgsql/issues/605" data-id="165475729" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#605</a> and shows that even for the C transform it is wrong to blindly use the way tag filter for determining multipolygons. How about the following: hand in the original tag list. Then check the non-inners if they have a polygon like tag, if one way is completely without polygon tags, discard completely, otherwise do current handling. <a href="https://github.com/pnorman" class="user-mention">@pnorman</a>, any opinion?</p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/openstreetmap/osm2pgsql/issues/605#issuecomment-270757590">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AD2-7g9lTUSTs4zMnFAbe9e6H5ngaFuKks5rPVtOgaJpZM4JMFN2">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AD2-7pyh6UJISL0vI6DOJRajvG-O3Q7wks5rPVtOgaJpZM4JMFN2.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
<link itemprop="url" href="https://github.com/openstreetmap/osm2pgsql/issues/605#issuecomment-270757590"></link>
<meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/openstreetmap/osm2pgsql","title":"openstreetmap/osm2pgsql","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/openstreetmap/osm2pgsql"}},"updates":{"snippets":[{"icon":"PERSON","message":"@lonvia in #605: Here is what happens: first the tags of the relation are filtered according to your style file. With so few entries, that means that for most relations all tags are filtered away. Next osm2pgsql recognizes a multipolygon and starts handling for it. It finds a relation without tags (because of the filtering) and immediately thinks it is an old-style multipolygon (the tagging style where the tags were out on the member ways, not the relations). So it goes and copies the tags from the first way it finds in the relation. Unfortunately, the way still has its full set of tags because you requested to store all tags in hstore. The result is that a polygon ends up in the database with a completely messed up set of tags.\r\n\r\nThis is actually closely related to #605 and shows that even for the C transform it is wrong to blindly use the way tag filter for determining multipolygons. How about the following: hand in the original tag list. Then check the non-inners if they have a polygon like tag, if one way is completely without polygon tags, discard completely, otherwise do current handling. @pnorman, any opinion?"}],"action":{"name":"View Issue","url":"https://github.com/openstreetmap/osm2pgsql/issues/605#issuecomment-270757590"}}}</script>