summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWildemann Stefan <stefan.wildemann@corpuls.com>2019-08-02 17:17:55 +0200
committerWildemann Stefan <stefan.wildemann@corpuls.com>2019-08-02 17:17:55 +0200
commit8d3e102787aa021027cbe99d240bd81e721b9c27 (patch)
tree7d844fb5d60378472c8df58723568266604b56bf
parentef80e7b53bf26f895a5a0a546bd0c02e89517bad (diff)
downloadnavit-8d3e102787aa021027cbe99d240bd81e721b9c27.tar.gz
Remove duplicates from multipolygon processing
-rw-r--r--navit/maptool/osm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/navit/maptool/osm.c b/navit/maptool/osm.c
index 442e44877..27bd32cfb 100644
--- a/navit/maptool/osm.c
+++ b/navit/maptool/osm.c
@@ -3017,7 +3017,13 @@ static void process_multipolygons_member(void *func_priv, void *relation_priv, s
void *member_priv) {
int type=(long)member_priv;
int i;
+ int * dup;
struct multipolygon *multipolygon=relation_priv;
+ dup=item_bin_get_attr(member,attr_duplicate,NULL);
+ if(dup != NULL) {
+ //fprintf(stderr,"skip duplicate \n");
+ return;
+ }
//fprintf(stderr,"process_multipolygons_member id %lld, %s, outer %d, inner %d\n", multipolygon->relid,
// (type)?"inner": "outer", multipolygon->outer_count, multipolygon->inner_count);
/* we remeber the whole binary item, as we may want to have the attributes later on finalize */