> At your github repository it looks like you're planning to store an explicit list of "tag X means the same as tag Y". Is this going to be stored project by project so that you can say "project A thinks that tag X means the same as tag Y but project B does not"?<br><br>Yes but I didn't resolve the question about how to find out which JSON file to take. This is currently a problem I have to solve. But the idea is that to influence tagging and to preprocess data for customers and to differentiate between groups.<br><br>> Are you planning to make something that can be integrated directly into that (or mkgmap, or osmand etc.**).?<br><br>No, this is not my aim.<br><br>> What would be really useful, actually, would be a way to re-use the same tag transformation definition used in one place in others as well*.<br><br>Is possible by using so-called reference ids.<br><br>> I might render a whole series of shops exactly the same but think that guest houses and bed-and-breakfast places ought to have different representations, but someone else might do the opposite.<br><br>The specification allows the use of an own specification JSON.<br><br>> I'd actually like to be able to do the same generic transformations from mkgmap as well.<br><br>With scripts it is possible to convert to my specification and than from my specification to others. But this needs knowleadge in how the other formattings are interpreted.<br><br>> The technicalities of how to invoke a tag transformation between one set of values and another in, say, osm2pgsql, mkgmap or osmand.<br><br>This is what is good for data developers. I want also to simplify mapping by making it possible to handle short version of keys: `phone` --> `contact:phone`. Building a bridge that almost all sites find useful is my goal.<br><br>> So that's the big question really - what are you planning to do to integrate what you're doing here with the existing toolchains?<br><br>I wasn't aware of such bunch of tools that might be hard to maintain. To maintain compactibility to them we can do convertions. We can of course first start with writing compactibility layers to translate between those. The easiest way to do that would be to develop an universal specification (using and extending the specification I wrote)'<br><br>Cheers<br><br>Sören Reinecke<div class="quote" style="line-height: 1.5"><br><br>-------- Original Message --------<br>Subject: Re: [OSM-dev] tagtransform for OSM - A effort make tagging and using OSM data easier; bridging different worlds together<br>From: Andy Townsend <ajt1047@gmail.com><br>To: dev@openstreetmap.org<br>CC: <br><br><br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 05/12/2019 14:50, Sören Reinecke via
dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:eb0d68b4ecbf89cbf655de2fefebad886b349854.camel@yahoo.de">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div>I currently write a specification for tranforming tags in
OpenStreetMap to make life of data customers easier. </div>
</blockquote>
<p>Firstly, thanks for trying to make the lives of people trying to
do things with OSM data easier!</p>
<p>Obviously there are two bits to this:</p>
<ol>
<li>The technicalities of how to invoke a tag transformation
between one set of values and another in, say, osm2pgsql, mkgmap
or osmand.<br>
</li>
<li>The actual set of values to be used in a particular case.</li>
</ol>
<p>I can think of lots of examples of (1) - among the most
well-known is the lua interface from osm2pgsql. Are you planning
to make something that can be integrated directly into that (or
mkgmap, or osmand etc.**).?</p>
<p>What a particular data consumer would use for (2) will likely
vary case by case. For example, I might render a whole series of
shops exactly the same but think that guest houses and
bed-and-breakfast places ought to have different representations,
but someone else might do the opposite.</p>
<p>At your github repository it looks like you're planning to store
an explicit list of "tag X means the same as tag Y". Is this
going to be stored project by project so that you can say "project
A thinks that tag X means the same as tag Y but project B does
not"?<br>
</p>
<br>
<blockquote type="cite"
cite="mid:eb0d68b4ecbf89cbf655de2fefebad886b349854.camel@yahoo.de">
<div><br>
</div>
<div><b>I want to hear your opinions on this and also feel not to
shame to ask questions. My answers will be part of the
clarification of the project "tagtransform for OSM".</b></div>
<div><br>
</div>
<br>
</blockquote>
<p>What would be really useful, actually, would be a way to re-use
the same tag transformation definition used in one place in others
as well*. <br>
</p>
<p>For example over at
<a class="moz-txt-link-freetext" href="https://github.com/SomeoneElseOSM/SomeoneElse-style/blob/master/style.lua#L49">https://github.com/SomeoneElseOSM/SomeoneElse-style/blob/master/style.lua#L49</a>
I have a lump of lua code that does generic tag transforms. It's
called from a couple of other places in there which are called in
turn from osm2pgsql - the documentation for that is at
<a class="moz-txt-link-freetext" href="https://github.com/openstreetmap/osm2pgsql/blob/master/docs/lua.md">https://github.com/openstreetmap/osm2pgsql/blob/master/docs/lua.md</a>
. <br>
</p>
<p> I'd actually like to be able to do the same generic
transformations from mkgmap as well. Currently mkgmap's
transformations are handled by files such as
<a class="moz-txt-link-freetext" href="http://www.mkgmap.org.uk/websvn/filedetails.php?repname=mkgmap&path=%2Ftrunk%2Fresources%2Fstyles%2Fdefault%2Fpoints&peg=4384">http://www.mkgmap.org.uk/websvn/filedetails.php?repname=mkgmap&path=%2Ftrunk%2Fresources%2Fstyles%2Fdefault%2Fpoints&peg=4384</a>
- in there you can see OSM tags and values and the Garmin symbols
that they get turned into. What this would technically need is a
way of calling lua from java (stackoverflow suggests that various
options exist, but "some assembly would be needed") and then
document the calling interface so that it'd be easy for people to
modify their existing lua tag transforms to work from there too.</p>
<p>Osmand's a bit more complicated - the equivalent tag transform
definition is
<a class="moz-txt-link-freetext" href="https://github.com/osmandapp/OsmAnd-resources/blob/master/obf_creation/rendering_types.xml">https://github.com/osmandapp/OsmAnd-resources/blob/master/obf_creation/rendering_types.xml</a>
(see <a class="moz-txt-link-freetext" href="http://osmand.net/help/docs/Custom_Rendering_How-To.htm">http://osmand.net/help/docs/Custom_Rendering_How-To.htm</a> for a
bit more information), but that file is a bit of a monster and
seems to handle several jobs at the same time. Another option
would be call out to a lua tag transform before throwing the
result at "rendering_types.xml" and the display style
"default.render.xml".</p>
<p>So that's the big question really - what are you planning to do
to integrate what you're doing here with the existing toolchains?</p>
<p>Best Regards,</p>
<p>Andy<br>
</p>
<p><br>
</p>
<p>* not in any way an original idea by me.</p>
<p>** three example just off the top of my head. Other data
consumers will be able to think of others in other toolchains.<br>
</p>
</body>
</html>
</blockquote></div>