<div dir="ltr"><div>>Is there some way of doing this just once; for example with some parseable implication database, and library?</div><div>>...</div><div>>1. normalizing a database before usage, for example changing</div><div>>  "highway=ford" to "ford=yes" and moving to modern lifecycle tags</div><div><br></div><div>The iD Editor has some JSON metadata about this ..</div><div>see : <a href="https://github.com/openstreetmap/iD/blob/master/data/deprecated.json">https://github.com/openstreetmap/iD/blob/master/data/deprecated.json</a></div><div>example:</div><div><br></div><div>        {</div><div>            "old": { "highway": "ford" },</div><div>            "replace": {</div><div>                "ford": "yes"</div><div>            }</div><div>        },</div><div>        {</div><div>            "old": { "highway": "stile" },</div><div>            "replace": {</div><div>                "barrier": "stile"</div><div>            }</div><div>        },</div><div>        {</div><div>            "old": { "highway": "incline" },</div><div>            "replace": {</div><div>                "highway": "road",</div><div>                "incline": "up"</div><div>            }</div><div>        },</div><div><br></div><div>[  +  Wiki  deprecated list  :  <a href="https://wiki.openstreetmap.org/wiki/Deprecated_features">https://wiki.openstreetmap.org/wiki/Deprecated_features</a>  ]</div><div><br></div><div><br></div><div><br></div><div><br></div><div>And the iD Editor has a lot of presets metadata : </div><div><br></div><div>For example:   Homeless Shelter ===  amenity=social_facility  + social_facility=shelter  +   social_facility:for=homeless</div><div><a href="https://github.com/openstreetmap/iD/blob/master/data/presets/presets/amenity/social_facility/homeless_shelter.json">https://github.com/openstreetmap/iD/blob/master/data/presets/presets/amenity/social_facility/homeless_shelter.json</a></div><div><br></div><div>{</div><div>    "fields": [</div><div>        "operator",</div><div>        "address",</div><div>        "building_area",</div><div>        "opening_hours",</div><div>        "wheelchair",</div><div>        "social_facility_for",</div><div>        "internet_access",</div><div>        "internet_access/fee",</div><div>        "internet_access/ssid"</div><div>    ],</div><div>    "geometry": [</div><div>        "point",</div><div>        "area"</div><div>    ],</div><div>    "terms": [</div><div>        "houseless",</div><div>        "unhoused",</div><div>        "displaced"</div><div>    ],</div><div>    "tags": {</div><div>        "amenity": "social_facility",</div><div>        "social_facility": "shelter",</div><div>        "social_facility:for": "homeless"</div><div>    },</div><div>    "name": "Homeless Shelter"</div><div>}</div><div><br></div><div><br></div><div>Imho: </div><div>- The only problem, that they only accept general tags, for general mappers .. ( see <a href="https://github.com/openstreetmap/iD/pull/3600">https://github.com/openstreetmap/iD/pull/3600</a> )  </div><div><br></div><div><br></div><div>Probably the other editors has a similar metadata  ..</div><div><br></div><div><br></div><div>Best,</div><div>  Imre</div><div class="gmail_extra"><br><div class="gmail_quote">2016-11-17 11:51 GMT+01:00 Per Eric Rosén <span dir="ltr"><<a href="mailto:per@rosnix.net" target="_blank">per@rosnix.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi!<br>
<br>
I have been making a few maps and applications using OSM data, mostly stored in postgis. In all cases, I have had to make custom carto rules /<br>
database post-processing / application rules to compensate for multiple<br>
ways of expressing the same information in OSM. Also, in some cases,<br>
for taking care of which tag implies which information.<br>
<br></blockquote></div></div></div>