diff --git a/CHANGELOG.md b/CHANGELOG.md index bf1dfe0..9123e38 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ * Fixed processing of `''` tag value. * More that 3 duplicate points in a single place are processed correctly. * Now you can `yield` points from a profile instead of making a list. +* Not marking nodes with `move` in the audit file as modified, unless we move them. ## 1.3.2 diff --git a/conflate/conflate.py b/conflate/conflate.py index 9e53a02..e8425dd 100755 --- a/conflate/conflate.py +++ b/conflate/conflate.py @@ -688,8 +688,10 @@ class OsmConflator: p.tags['source'] = self.source if self.ref is not None: p.tags[self.ref] = sp.id - if 'fixme' in audit and audit['fixme']: + if 'fixme' in audit and audit['fixme'] != p.tags.get('fixme'): p.tags['fixme'] = audit['fixme'] + if p.action is None: + p.action = 'modify' if 'move' in audit and not p.is_area(): if p0 and audit['move'] == 'osm': p.lat = p0.lat @@ -700,7 +702,7 @@ class OsmConflator: elif len(audit['move']) == 2: p.lat = audit['move'][1] p.lon = audit['move'][0] - if p.action is None: + if p.action is None and p0.distance(p) > 0.1: p.action = 'modify' elif keep or p.is_area(): if update_tags(p.tags, retag, retagging=True, audit=audit): diff --git a/profiles/azbuka.py b/profiles/azbuka.py index c7c547d..9196fb5 100755 --- a/profiles/azbuka.py +++ b/profiles/azbuka.py @@ -13,6 +13,7 @@ class Profile: query = [('shop', 'convenience', 'supermarket', 'wine', 'alcohol')] master_tags = ('operator', 'shop', 'opening_hours', 'name', 'contact:website', 'contact:phone') download_url = 'https://av.ru/yandex/supermarket.xml' + bounded_update = True def matches(osmtags, avtags): if 'Энотека' in avtags['name']: