On 08.01.2010 23:25, Johann Gail wrote:
That patch works pretty nice. I upped the value to 40 and that gave
nice results when zoomed far out.
Here is the settings that I would find optimal
resolution 24 == 4 (I think 4 is anyhow the minimum because if less
than 4 pixels than it ain't an area)
resolution 23 == 6 ( resolution 23 is not used by all GPS devices if
resolution 24 and 22 are present)
resolution 22 == 6
resolution 21 == 20
resolution 20 == 40
resolution 19 == 80
resolution>18 == 120

Just to be sure there is no missunderstanding: You are not able to
set minsizes for each  resolution. You haven't set them, or have you?
No of course I couldnt
The SizeFilter itself should shift the minsize according to the
resolution. I.e. if you init it with number 2 the following minsizes
should be uesed:

resolution 24 = 2
resolution 23 = 4
resolution 22 = 8
resolution 21 = 16
resolution 20 = 32
resolution 19 = 64
resolution 18 = 128

which matches roughly your demands.
No my demands were with the current code. I tried out different values
and looked at what I seemed to give best results. So according to your
system the following values seem well to me:
resolution 24 == 1
resolution 23 == 8
resolution 22 == 48
resolution 21 == 320
resolution 20 == 1280
resolution 19 == 5120
resolution 18 == 15360
resolution 17 == 30720 ( I doubt anyone will display polygons other
than sea at this resolution - so there is not much need here anymore
to have the filter - I would not want to have sea polygons being dropped)

Sorry, I'm a little confused by the nonlinearity of the values. This
means that on low resolutions mostly of the polygons will disappear
(e.g. res 18, all polygons smaller than 15360 garmin units), while on
higher resolutions there will be nearly no visible effects.

resolution 24 == 1
resolution 23 == 8          (2*4)
resolution 22 == 48        (6*8)
resolution 21 == 320       (20*16)
resolution 20 == 1280    (40*32)
resolution 19 == 5120    (80*64)
resolution 18 == 15360   (120*128)

I had expected the internal power of two from the SizeFilter to be quite
sensible. But on the other hand it depends on the assignments between
resolutions and zoom levels.
In general I had the idea in mind, that with usefull resolutions one
garmin unit means roughly one pixel at display. So with a set value of 8
all objects smaller then 8 pixels should be filtered.

The advantage would be that one can confidently increase the
resolution for polygons inside the style-file without getting huge
performance drops. Directly going for very high levels in resolution
24/23/22 however did not improve visual quality of my maps, nor make
big differences in rendering speed.
Very high numbers at low level will DEcrease visual quality, as  some
visible objects will disappear.
Only when zoomed out far (e.g. resolution 20 and using high min_size)
performance differences became notable - and also very small areas got
dropped that would not be displayed in a "hand drawn" map either).

I haven't tried myself, but this would mean, that at resolution 20, 40
garmin units will be only a few pixels (your words: very small areas).
This seems a waste of encoding bits to me. Do you have some special
assignment of zoom levels to resolution levels or are you using the
default settings?

Well I have forests, riverbanks, glaciers and other sometimes "large" areas down to 20, but would like them at 19. I have my Polygon file attached. I just recently "levelled up" polygons because maps got slow. I would like to increase them a bit again. Maybe it would be doable to put higher min_sizes if inner polygons are not cut out (at least for forests). I have been using theese values with the newest patches by WanMil because I do think that they have to be included. Maybe the Multipolygon inner cutout should not be done depending on type and resolution! (at resolution 20 the only inners I would like to be cut out are inners from sea/water/lake polygons. Forest inners should be untouched).


I first had an even higher increase, but then many polygons started to get holes because forests are usually not entered as relations but in pieces. Speaking in terms of pixels I would prefer something like
resoution 22: 50pixels
resolution 21: 100pixels
resolution 20: 200pixels
resolution 19: 1000pixels
resolution 18: 5000pixels (huge lakes and sea only)

But if you use such "reasonable" values, you will notice a lot of useful areas at the resolution not being displayed at all, because they are made up of several polygons.
Otherwise I would ramp up even higher.
Regards,
Johann



_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
addr:housenumber=* & name=* {name '${name} (${addr:housenumber})'}
addr:housenumber=* & addr:housename=* {name '${addr:housename} 
${addr:housenumber}'}
addr:housename=* & name!=* {name '${addr:housename}'}
addr:housenumber=* {name '${addr:housenumber}'}



landuse=commercial [0x10f07 resolution 22 continue]
landuse=residential [0x03 resolution 21]
place=town [0x03 resolution 21]
place=suburb [0x03 resolution 21]
place=village [0x03 resolution 21]
place=hamlet [0x03 resolution 22]
leisure=nature_reserve [0x16 resolution 21]
amenity=prison [0x04 resolution 22]
military=airfield [0x04 resolution 22]
military=barracks [0x04 resolution 22]
military=danger_area [0x04 resolution 22]
military=range [0x04 resolution 22]
landuse=military [0x04 resolution 22]
amenity=parking [0x05 resolution 22]
highway=* & area=yes [0x05 resolution 22]
amenity=bicycle_parking [0x06 resolution 22]
highway=pedestrian & area=yes [0x07 resolution 22]
amenity=supermarket [0x08 resolution 22]
shop=supermarket [0x08 resolution 22]
amenity=retail [0x08 resolution 22]
landuse=retail [0x08 resolution 22]
leisure=water_park [0x09 resolution 22]
# leisure=playground [0x10 resolution 22] not displaying
leisure=playground [0x11002 resolution 22]
amenity=school | amenity=preschool | amenity=kindergarten [0x0a resolution 22]
amenity=college [0x0a resolution 22]
amenity=hospital [0x0b resolution 22]
landuse=industrial [0x0c resolution 22]
power=generator [0x0c resolution 22]
power=sub_station [0x0c resolution 22]
place=locality [0x0d resolution 24]
leisure=common [0x0d resolution 22]
aeroway=apron [0x0e resolution 22]
landuse=runway [0x0e resolution 22]
sport=model_aerodrome [0x0e resolution 22]
landuse=quarry [0x11 resolution 21]
building=tramdepot [0x13 resolution 22]
power=station [0x13 resolution 22]
historic=archaeological_site [0x12 resolution 22]
building=university [0x34 resolution 22]
amenity=university & building=* [0x34 resolution 22]
amenity=university [0x14 resolution 22]
building=church | amenity=place_of_worship [0x15 resolution 22]
building=cathedral [0x15 resolution 22]
leisure=track [0x19 resolution 22]
landuse=village_green [0x17 resolution 22]
landuse=recreation_ground | landuse=grass | leisure=recreation_ground [0x17 
resolution 22]
landuse=recreation [0x17 resolution 22]
leisure=village_green [0x17 resolution 22]
leisure=golf_course [0x18 resolution 22]
sport=golf [0x18 resolution 22]

# need own type for swimming
leisure=miniature_golf [0x11011 resolution 22]
sport=miniature_golf [0x11011 resolution 22]
leisure=pitch [0x11012 resolution 22 continue]
sport=pitch [0x11010 resolution 22]
sport=baseball [0x11010 resolution 22]
sport=basketball [0x11004 resolution 22]
sport=boules [0x19 resolution 22]
sport=bowls [0x19 resolution 22]
sport=cricket [0x11010 resolution 22]
sport=cricket_nets [0x19 resolution 22]
sport=croquet [0x11010 resolution 22]
sport=gymnastics [0x19 resolution 22]
sport=hockey [0x11005 resolution 22]
sport=pelota [0x19 resolution 22]
sport=racquet [0x19 resolution 22]
sport=rugby [0x11006 resolution 22]
sport=multi [0x19 resolution 22]
# sport=skiing [0x11013 resolution 22]
amenity=grave_yard | amenity=graveyard [0x1a resolution 22]
landuse=cemetary [0x1a resolution 22]
landuse=cemetery [0x1a resolution 22]
sport=climbing [0x1b resolution 22]
sport=soccer [0x1c resolution 22]
sport=football [0x1c resolution 22]
sport=australian_football [0x1c resolution 22]
leisure=stadium [0x1d resolution 22]
sport=tennis [0x1e resolution 22]
leisure=sport_center [0x1f resolution 22]
leisure=sport_centre [0x1f resolution 22]
leisure=sports_center [0x1f resolution 22]
leisure=sports_centre [0x1f resolution 22]
sport=motor [0x20 resolution 22]
landuse=railway [0x21 resolution 22]
sport=skating [0x22 resolution 22]
sport=skateboard [0x22 resolution 22]
sport=table_tennis [0x23 resolution 22]
sport=athletics [0x24 resolution 22]
building=sport [0x25 resolution 22]
landuse=allotements [0x26 resolution 22]
manmade=allotements [0x26 resolution 22]
man_made=allotements [0x26 resolution 22]
leisure=allotements [0x26 resolution 22]
leisure=park [0x27 resolution 21]
natural=park [0x28 resolution 21]
building=commercial [0x29 resolution 22]
# 0x2a-0x2f reserved for wildcards
landuse=vineyard [0x30 resolution 21]
aeroway=airport [0x31 resolution 21]
aeroway=aerodrome [0x31 resolution 21]
aeroway=terminal [0x32 resolution 21]
landuse=meadow [0x33 resolution 20]
natural=meadow [0x33 resolution 20]
building=train_station [0x43 resolution 22]
railway=station [0x43 resolution 22]
manmade=wastewater_plant | man_made=wastewater_plant [0x3b resolution 22]
manmade=pool | man_made=pool[0x3d resolution 22]
sport=swimming | man_made=pool[0x3d resolution 22]
natural=lake [0x3a resolution 20]
waterway=riverbank [0x3e resolution 20]
riverbank=yes [0x3e resolution 20]

landuse=reservoir [0x3f resolution 22]
natural=reservoir [0x3f resolution 22]
natural=basin [0x41 resolution 21]
landuse=basin [0x41 resolution 22]
tourism=zoo [0x42 resolution 22]
building=railroad_station [0x43 resolution 22]
landuse=construction | manmade=works | man_made=works [0x1100e resolution 22]
landuse=greenfield [0x44 resolution 22]
landuse=brownfield [0x45 resolution 22]
landuse=farmyard [0x4c resolution 21]
landuse=farm [0x11019 resolution 21]
# new key??
landuse=farmland [0x11019 resolution 21]
natural=glacier [0x4d resolution 21]
landuse=allotments [0x4e resolution 21]
leisure=garden [0x11018 resolution 22]
natural=scrub [0x11017 resolution 21]
natural=shrub [0x11017 resolution 21]
natural=scrubland [0x11017 resolution 21]
natural=scrubs [0x11017 resolution 21]
natural=scree [0x11016 resolution 20]
natural=fell [0x11015 resolution 20]
natural=heath [0x11014 resolution 20]
natural=marsh [0x51 resolution 21]
natural=mud [0x51 resolution 22]
landuse=landfill [0x52 resolution 22]
natural=bay [0x53 resolution 21]
building=tower [0x55 resolution 22]

amenity=post_office | amenity=bank [0x1100b resolution 22]

amenity=townhall | amenity=arts_centre | amenity=cinema | amenity=theatre | 
amenity=library | amenity=public_building [0x11008 resolution 22]
amenity=courthouse | amenity=police | amenity=embassy | amenity=firestation | 
amenity=fire_station [0x11009 resolution 22]
amenity=dentist | amenity=doctors | amenity=pharmacy | amenity=veterinary 
[0x1100a resolution 24]
shop=* [0x11007 resolution 24]

natural=cliff { name '${name} cliff' | 'cliff' } [0x1100e resolution 22]

leisure=marina [0x1100c resolution 22]
sport=rugby [0x11006 resolution 22]
sport=hockey [0x11005 resolution 22]
sport=basketball [0x11004 resolution 22]
sport=horse_racing [0x11003 resolution 22]
sport=equestrian [0x11003 resolution 22]
waterway=dock [0x11001 resolution 22]
waterway=boatyard [0x11000 resolution 22]
natural=beach   [0x1100d resolution 21]
water=tidal             [0x1101b resolution 21]
natural=wetland [0x1101c resolution 21]
natural=shelf | tidal=yes       [0x1101b resolution 22]
# landuse=forest | natural=wood [0x50 resolution 20-18 continue]
wood=mixed      [0x1101f resolution 20]
wood=deciduos | wood=deciduous  [0x1101e resolution 20]
wood=coniferous [0x1101d resolution 20]
man_made=gasometer | man_made=wastewater_plant | man_made=sewerage_plant        
[0x13 resolution 24]
landuse=forest [0x50 resolution 20]
natural=wood [0x50 resolution 20]
historic=battlefield [0x1101a resolution 22]
# natural=coastline [0x3c resolution 20]
natural=sea [0x10f1d resolution 17]
natural=land [0x10100 resolution 17]
natural=water [0x3c resolution 22]
water=yes [0x3c resolution 22]


building=yes                                                                    
[0x13 resolution 24]
building=*                                                                      
        [0x10f16 resolution 24]
leisure=*                                                                       
        [0x10f17 resolution 24]
tourism=*                                                                       
        [0x10f18 resolution 24]
sport=* & sport!=skiing & sport!=ski                    [0x10f19 resolution 24]
# landuse=* & fixme!=* & landuse!=commercial    [0x10f1a resolution 24]
landuse=* & landuse!=commercial                                 [0x2d 
resolution 24]
natural=*                                                                       
        [0x10f1b resolution 24]
# man_made=*  & fixme!=*                                                
[0x10f15 resolution 24]
# manmade=* & fixme!=*                                                  
[0x10f15 resolution 24]
amenity=*                                                                       
        [0x10f1c resolution 24]
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Reply via email to