logo separator

[mkgmap-dev] too many restrictions

From Gerd Petermann gpetermann_muenchen at hotmail.com on Thu Nov 30 07:06:34 GMT 2017

Hi Frank,

the problem is not really the amount of turn restrictions in the input file, but the relation between the number of those restrictions and the overall number of roads.
We hit a size limit of 0x8000 because the so called route center is not split into smaller pieces as it should be. The split algo doesn't take into account the size of the
restriction section.
Possible work around until this is fixed: add more minor roads in your style or use --ignore-turn-restrictions .

This happened before :
I see two ways to handle that: Change the split algo in Nod1Part to take the size of TableC into account or change the code to allow more than 32kb for restrictions.
What do you think?


Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Frank Stinner <frank.stinner at leipzig.de>
Gesendet: Mittwoch, 29. November 2017 15:40:19
An: mkgmap-dev at lists.mkgmap.org.uk
Betreff: [mkgmap-dev] too many restrictions


can anybody help me?

I become from mkgmap this message:

Bad file format: ..\63240045.osm.gz
too many restrictions
Number of MapFailedExceptions: 0
Number of ExitExceptions: 0

The IMG for this tile is empty. The other tiles are ok. What means this error and how can i prevent this?

Just i have this a little bit simplified. I use only 1 tile (63240045.osm.pbf). My test-style is:

# lines
line_motorway=*                                                          [0x01 level 6 road_class=4 continue]
line_motorway=* | line_motorway_link=*                                   [0x01 level 6 road_class=4 continue]
line_trunk=*                                                             [0x02 level 6 road_class=4 continue]
line_trunk=* | line_trunk_link=*                                         [0x02 level 6 road_class=4 continue]
line_primary=*                                                           [0x03 level 5 road_class=3 continue]
line_primary=* | line_primary_link=*                                     [0x03 level 5 road_class=3 continue]
line_secondary=*                                                         [0x04 level 4 road_class=2 continue]
line_secondary=* | line_secondary_link=*                                 [0x04 level 4 road_class=2 continue]
line_tertiary=*                                                          [0x05 level 3 road_class=1 continue]

The points-, polygons- and relations-file are empty.
Don't worry about this style. I use a pre-process for the classification of objects. And "line_secondary=*" and "line_secondary=* | line_secondary_link=*" is necessary. Original i use this:

line_secondary=* & line_secondary!='' {
   name '${line_secondary|highway-symbol:box:5:5}';
}                                                                       [0x04 level 4 road_class=2 continue]
line_secondary_link=* & line_secondary_link!='' {
   name '${line_secondary_link|highway-symbol:box:5:5}';
}                                                                       [0x04 level 4 road_class=2 continue]
line_secondary=* | line_secondary_link=*                                [0x04 level 4 road_class=2 continue]

The 1. and 2. condition is for the case, that i have a name in line_secondary / line_secondary_link. The 3. condition is, when the street is without a name.
When i remove in the simple style the condition "line_secondary=*", it seem to be ok.
I hope the style is not to creazy.

My command-line is:

java.exe -Xmx6G -jar mkgmap.jar -c mkgmap.opt ..\63240045.osm.pbf

My java-version is jre1.8.0_151.

The option-file mkgmap.opt contains only:


If i don't use "route", there is no error!


More information about the mkgmap-dev mailing list