[osmosis-dev] TagTransform plugin updated

Anton Popov apopov at cogniance.com
Tue Dec 8 11:55:05 GMT 2009


Alex,

Actually current plugin performs tag(!) transformation, and DELETED action
can be set for entity (node, way, relation) only. So, we need not apply tag
transformation for deleted entities.

But there is still a bug: deleted entities in tag-transform-change plugin
are dropped from the output.

On Tue, Dec 8, 2009 at 1:10 PM, Alexander Chmyr <achmyr at cloudmade.com>wrote:

> Dave,
>
> As I think, in general, task --ttc should be used next way:
> 1. create filtered osm file with --tt task and given rules:
> transformed.osm,
> 2. update transform.osm file with --ttc task (source.osc) and given rules.
> (simply keep transformed.osm up-to-date with upcoming changesets)
>
> Here, we don't expect that deleted items are same as in transform.osm -
> they're already transformed, so we need to make them equal before applying
> changes.
>
> Is there any other cases acceptable for --ttc task? My opinion here, that
> we should transform _all_ incoming changes (Add, Modify,Delete) because they
> will not be merged.
>
>
> Alexander Chmyr
> Senior Software Engineer
> Cogniance, Inc
> --------------------------
> skype: alex.smudgy
>
>
>
>
> On Tue, Dec 8, 2009 at 12:45 PM, Dave Stubbs <osm.list at randomjunk.co.uk>wrote:
>
>> On Tue, Dec 8, 2009 at 10:16 AM, Anton Popov <apopov at cogniance.com>
>> wrote:
>> > Hello Dave,
>> >
>> > We can split the logic for sure. I will refactor these two tasks.
>> >
>> > Speaking about delete actions, I can say I've ignored them expressly,
>> > because there is no big sense to transform(!) tags in entity, that will
>> be
>> > deleted. I'm new to Osmosis and if you will place arguments when my
>> > assumption can be wrong I can make changes for the code.
>> >
>>
>>
>> Yeah, they don't need transforming, that's fine. The issue is whether
>> they are being dropped from the ongoing change stream? The change
>> stream comes into the task via the process method, and the ongoing
>> stream leaves it via the call to the Sink.process method. So creates
>> and modifies will pass through the transform and only get piped to the
>> sink if the transform didn't drop it, but the deletes are never sent
>> to the sink, no matter what.
>>
>> As I said this was just me looking at the code, I'm fairly sure it's
>> wrong but haven't had time to test -- just put it through this use
>> case: create a changeset that includes a delete, then using a pass
>> through transform you should get the same changeset out the other end,
>> including the unaltered deletes.
>>
>> Dave
>>
>
>


-- 
Best regards,
Popov Anton.

Senior Software Engineer,
Cogniance Inc.

Mobile: +380 68 358 52 13
Skype: popov.work
Google account: Popov.UA.work
MSN: Popov.UA at hotmail.com
ICQ: 461751798
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/osmosis-dev/attachments/20091208/6ab69941/attachment.html>


More information about the osmosis-dev mailing list