summaryrefslogtreecommitdiff
path: root/navit/attr_def.h
diff options
context:
space:
mode:
authorStefan Wildemann <metalstrolch@users.noreply.github.com>2019-09-03 09:14:39 +0200
committerGitHub <noreply@github.com>2019-09-03 09:14:39 +0200
commitb643162c355231eed6fd9c76731b816391d808dc (patch)
treebbf4401f1a1ef49fcf684a1366a58d00a135b58b /navit/attr_def.h
parent94834b753cc9c2e1e668feb887683416538861ce (diff)
parentb0d66a6c4ac6a1cf63e676ba24fd3061686cea15 (diff)
downloadnavit-b643162c355231eed6fd9c76731b816391d808dc.tar.gz
core:feature:multipolygon support #824
This adds multi polygon support to navit binfile. It uses the following attempt: - Multipolygon "outer" polygons are converted to polygons inside the binfile map. - Multipolygon "inner" polygons are added as attributes to the outer polygon. - New method is added to graphics to draw polygons with "holes" (currently qt5, gtk_drawing_area, and Windows (except CE) but at least sdl can do this as well) Since the binfile format stays structural intact, new maps can be processed by old Navit versions, except they draw the multipolygons without their "holes", New version of Navit can still read old maps of course. Limitations: - In the maps, there are multipolygons having other multipolygons as inner or outer. These are unsupported and fail the member check. According to https://wiki.openstreetmap.org/wiki/Relation:multipolygon these are invalid. And the current web display cannot display them as well. See https://www.openstreetmap.org/relation/5587300 . Don't know if this get a standard mapping feature. Hopefully not. - Multipolygon polygons tend to become huge. No algorithm to split them into smaller chunks is contained. But my personal opinion is to exclude some types of polygons from map altogether on constrained devices over not including or artificial cutting the multipolygon ones. Btw. there are already huge traditional polygons as well. - Processing the map required more disk space as one cannot early drop ways with unknown tags any more, as they could be part of multipolygon. Maptools -n flag works as expected for the final result though. Additional changes: - Default to 64 bit zip files on maptool
Diffstat (limited to 'navit/attr_def.h')
-rw-r--r--navit/attr_def.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/navit/attr_def.h b/navit/attr_def.h
index 055936b4a..5a82d9d30 100644
--- a/navit/attr_def.h
+++ b/navit/attr_def.h
@@ -416,6 +416,7 @@ ATTR(ch_edge)
ATTR(zipfile_ref_block)
ATTR(item_id)
ATTR(pdl_gps_update)
+ATTR(poly_hole)
ATTR2(0x0004ffff,type_special_end)
ATTR2(0x00050000,type_double_begin)
ATTR(position_height)