Subversion Repositories mkgmap

Rev

Rev 4312 | Blame | Compare with Previous | Last modification | View Log | RSS feed

Note that option order is significant:  An option only applies to
subsequent input files.  (So if you are using splitter, you probably
want to put most of your options before '-c template.args'.)

General options:

--help=topic
        Print help on the given topic.  If the topic is omitted then a
        list of all the help topics is printed instead.

--version 
        Output program version to stderr.

filename
--input-file=filename
        Read input data from the give file.  This option (or just a
        filename) may be given more than once. Make sure to set all 
        wanted options before using this.

--gmapsupp
        Create a gmapsupp.img file that can be uploaded to a Garmin or
        placed in "/Garmin" in a microSD card (such as by mounting the
        device in USB mass storage mode).  It can be used on ready
        compiled img files, if the input files are not already compiled
        then they are compiled first and then the gmapsupp is created.

--gmapi
        Create a directory in the "gmapi" format required by Mac
        applications. Can also be used for Windows programs.

-c filename
--read-config=filename
        Each line of the named file contains a command option in the form
        option=value or option:value.  The options are included as arguments of
        the executed command as if they had been specified on the command line with
        one exception: a relative path given with option input-file is assumed to be
        relative to the location of the file.
        Lines beginning with a # character are ignored and can be used as
        comments.  Any command line option can be specified, however the
        leading '--' must be omitted.  The short option names with a single
        '-' cannot be used, simply use the long name instead. 

--output-dir=directory
        Specify the directory in which all output files are written. It defaults
        to the current working directory, i.e. the directory the command is
        executed from.

-n name
--mapname=name
        Set the name of the map. Garmin maps are identified by an 8 digit
        number.  The default is 63240001.  It is best to use a different
        name if you are going to be making a map for others to use so
        that it is unique and does not clash with others.

--description=text
        Set the descriptive text for the map. This may be displayed in
        QLandkarte, MapSource or on a GPS, where it is normally shown
        below the family name. Example: --description="Germany, Denmark"
        Please note: if you use splitter.jar to build a template.args file
        and use -c template.args, then that file may contain a
        "description" that will override this option for each single
        tile. Make sure to set the description for the gmapsupp.img after
        "-c template.args".    

--country-name=name
        Set the map's country name. The default is "COUNTRY".

--country-abbr=abbreviation
        Set the map's abbreviated country name. The default is "ABC".

--region-name=name
        Set the map's region name. By default, the map has no region name.

--region-abbr=abbreviation
        Set the map's abbreviated region name. By default, the map has
        no abbreviated region name.
        
Label options:

--code-page=number
        Specify which international character set is to be used. Only 8 bit
        character sets are supported so you have to specify which code page you
        want to use.

        It is entirely dependent on the device firmware which code pages are
        supported.
        
--latin1
        This is equivalent to --code-page=1252.

--unicode
        This is equivalent to --code-page=65001. Note that  
        some devices don't support Unicode maps produced by mkgmap.

--lower-case
        Allow labels to contain lower case letters.  Note that many Garmin
        devices are not able to display lower case letters at an angle.

Address search options:
--index
        Generate a global address search index. If the --gmapsupp option is
        also given, then the index is generated within the resulting
        gmapsupp.img file so that address search will work on a GPS
        device.

        If both the --gmapsupp and any of --tdbfile, --gmapi, or --nsis options 
        are given alongside the --index option, then both indexes will be created. 
        Note that this will require roughly twice as much memory.

        If the map is sent to the device by MapSource, it will enable
        find by name and address search on the GPS.
        
        The address fields are assigned by special mkgmap address
        tags using the style file:
          mkgmap:country
          mkgmap:region
          mkgmap:city
          mkgmap:postal_code
          mkgmap:street
          mkgmap:housenumber
          mkgmap:phone
          (mkgmap:is_in - used by location-autofill=is_in)

        If the index is created from previously compiled .img files, then the
        same code page and sorting options (e.g. --code-page, --latin1) must
        be used as were used to compile the individual map tiles.

--split-name-index
        Index each part of a street name separately.
        For example, if the street is "Aleksandra Gryglewskiego" then you will be able to
        search for it as both "Aleksandra" and "Gryglewskiego".  It will also increase the
        size of the index.  Useful in countries where searching for the first word in name
        is not the right thing to do. Words following an opening bracket '(' are ignored. 
        See also option road-name-config.  

--road-name-config=filename
        Provide the name of a file containing commonly used road name prefixes
        and suffixes.
        This option handles the problem that some countries have road names which 
        often start or end with very similar words, e.g. in France the first word
        is very often 'Rue', often followed by a preposition like 'de la' or 'des'.
        This leads to rather long road names like 'Rue de la Concorde' where only
        the word 'Concorde' is really interesting. In the USA, you often have names
        like 'West Main Street' where only the word 'Main' is important.  
        Garmin software has some tricks to handle this problem. It allows the use
        of special characters in the road labels to mark the beginning and end of 
        the important part. In combination with option split-name-index
        only the words in the important part are indexed.

        There are two effects of this option:
        - On the PC, when zooming out, the name 'Rue de la Concorde' is only
                rendered as 'Concorde'.
        - The index for road names only contains the important part of the name.
                You can search for road name Conc to find road names like 'Rue de la Concorde'.
                However, a search for 'Rue' will not list 'Rue de la Concorde' or
                'Rue du Moulin'. It may list 'Rueben Brookins Road' if that is in the map.
                Only MapSource shows a corresponding hint.
                
        Another effect is that the index is smaller. 
        See comments in the sample roadNameConfig.txt for further details.
 
--mdr7-excl=name[,name...]
        Specify words which should omitted from the road index.
        It was added before option road-name-config and is probably no longer needed.
        Example usage: --x-mdr7-excl="Road, Street, Straße, Weg"
 
--mdr7-del=name[,name...]
        Use this option if your style adds strings to the labels of roads which you
        want to see in the map but which should not appear in the result list
        of a road name / address search. The list is used like this:
        For each road label, mkgmap searches for the last blank. If one is found, it checks
        if the word after it appears in the given list. If so, the word is removed
        and the search is repeated. The remaining string is used to create the index.
        Example: Assume your style adds surface attributes like 'pav.' or 'unp.' to a road
        label. You can use --mdr7-del="pav.,unp." to remove these suffixes from the index.
          
--poi-excl-index=poi[-poi][,poi[-poi]...]
        By default, mkgmap indexes the following POI types with a non-empty label:
        - 0x00 .. 0x0f (cities, sub type 0, type <= 0xf)
        - 0x2axx..0x30xx (Food & Drink, Lodging, ...)
        - 0x28xx (no category ?)
        - 0x64xx .. 0x66xx (attractions)   
        This option allows the exclusion of POI types from the index. 
        The excluded types are not indexed but may still be searchable on a device, 
        as some devices seem to ignore most of the index, e.g. an Oregon 600 with 
        firmware 5.00 only seems to use it for city search.
        If your device finds a POI name like 'Planet' when you search for 'Net',
        it doesn't use the index because the index created by mkgmap cannot help for 
        that search. 
        So, this option may help when you care about the size of the index or the
        memory that is needed to calculate it.    
        The option expects a comma separated list of types or type ranges. A range is 
        given with from-type-to-type, e.g. 0x6400-0x6405. First and last type are both 
        excluded.  A range can span multiple types, e.g. 0x6400-0x661f.  
        Examples for usage: 
        - Assume your style adds a POI with type 0x2800 for each addr:housenumber.
                It is not useful to index those numbers, so you can use 
                --poi-excl-index=0x2800
                to exclude this.
        - For the mentioned Oregon you may use --poi-excl-index=0x2a00-0x661f
                to reduce the index size.

--bounds=directory|zipfile
        Specify a directory or zip file containing the preprocessed bounds files. 
        Bounds files in a zip file must be located in the zip file's root directory.

        The preprocessed boundaries are used to add special tags to all elements 
        (points, lines and polygons) containing the elements location information.
        The style file can be used to assign the address tags mkgmap:country,
        mkgmap:region etc. using these values.

        The following special tags are added:          
                          mkgmap:admin_level2 : Name of the admin_level=2 boundary 
                          mkgmap:admin_level3 : Name of the admin_level=3 boundary
                          ..
                          mkgmap:admin_level11
                          mkgmap:postcode : the postal_code value
                          
        Preprocessed bounds can be created with the following command:
           java -cp mkgmap.jar 
                  uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreprocessor
                  <inputfile> <boundsdir>

        The input file must contain the boundaries that should be preprocessed. 
        It can have OSM, PBF or O5M file format. It is recommended that it 
        contains the boundary data only to avoid very high memory usage.
        The boundsdir gives the directory where the processed files are stored.
        This directory can be used as --bounds parameter with mkgmap.               
    
--location-autofill=[option1,[option2]]
        Controls how the address fields for country, region, city and zip info 
        are gathered automatically if the fields are not set by using the special 
        mkgmap address tags (e.g. mkgmap:city - see option index).
        Warning: automatic assignment of address fields is somehow a best guess.

        is_in     The is_in tag is analyzed for country and region information.
              
        nearest   The city/hamlet points that are closest to the element are used 
              to assign the missing address fields. Beware that cities located 
              in the same tile are used only. So the results close to a tile 
              border have less quality.  

--housenumbers
        Enables house number search for OSM input files. 
        All nodes and polygons having addr:housenumber set are matched 
        to streets. A match between a house number element and a street is created if
        the street is located within a radius of 150m and the addr:street tag value of 
        the house number element equals the mgkmap:street tag value of the street. 
        The mkgmap:street tag must be added to the street in the style file.
        For optimal results, the tags mkgmap:city and mkgmap:postal_code should be
        set for the housenumber element. If a street connects two or more cities
        this allows to find all addresses along the road, even they have the same
        number.
        Example for given street name: 
         Node -  addr:street=Main Street addr:housenumber=2
         Way 1 - name=Main Street
         Way 2 - name=Main Street, mkgmap:street=Main Street
         Way 3 - mkgmap:street=Mainstreet
         Way 4 - name=Main Street [A504]
        The node matches to Way 2. It has mkgmap:street set with a value equal to
        the addr:street tag value of the house number node.
        If the street is not given with addr:housenumber, mkgmap uses heuristics
        to find the best match.
        Tells mkgmap to write NET data. If you specify this option, you do not need
        to specify --net and option -no-net is ignored.

Overview map options:
--overview-mapname=name
If --tdbfile is enabled, this gives the name of the overview
.img and .tdb files. The default map name is osmmap.

--overview-mapnumber=8 digit number
        If --tdbfile is enabled, this gives the internal 8 digit
        number used in the overview map and tdb file.  The default
        number is 63240000.

--overview-levels=level:resolution[,level:resolution...]
        Like levels, specifies additional levels that are to be written to the
        overview map. Counting of the levels should continue. Up to 8 additional 
        levels may be specified, but the lowest usable resolution with MapSource 
        seems to be 11. The hard coded default is empty.
        See also option --overview-dem-dist.      

--remove-ovm-work-files
        If overview-levels is used, mkgmap creates one additional file 
        with the prefix ovm_ for each map (*.img) file. 
        These files are used to create the overview map.
        With option --remove-ovm-work-files=true the files are removed 
        after the overview map was created. The default is to keep the files.  

Style options:
--style-file=filename
        Specify an external file to obtain the style from.  "file" can
        be a directory containing files such as info, lines, options
        (see resources/styles/default for an example).  The directory
        path must be absolute or relative to the current working
        directory when mkgmap is invoked.

        The file can be a zip file containing the files instead of a
        directory.

        The files can be at the top level or contained in a folder within
        the zip file.  If the zip file contains more than one top level
        folder then each folder is the name of a style that can be selected
        with the --style option.

        The argument can also be a URL that specifies the location of a
        style file.

--style=name
        Specify a style name. Must be used if --style-file points to a 
        directory or zip file containing multiple styles. If --style-file 
        is not used, it selects one of the built-in styles. 

--style-option=tag[=value][;tag[=value]...]
        Provide a semicolon separated list of tags which can be used in the style.
        The intended use is to make a single style more flexible, e.g.
        you may want to use a slightly different set of rules for a map of
        a whole continent. The tags given will be prefixed with "mkgmap:option:".
        If no value is provided the default "true" is used.  
        This option allows to use rules like
        mkgmap:option:light=true & landuse=farmland {remove landuse}
        Example: -- style-option=light;routing=car
        will add the tags mkgmap:option:light=true and mkgmap:option:routing=car
        to each element before style processing happens. 

--list-styles
        List the available styles. If this option is preceded by a style-file
        option then it lists the styles available within that file.

--check-styles
        Perform some checks on the available styles. If this option is 
        preceded by a style-file option then it checks the styles 
        available within that file. If it is also preceded by the style
        option it will only check that style.

--levels=level:resolution[,level:resolution...]
        Change the way that the levels on the map correspond to the zoom
        levels in the device. See customisation help. The hard coded default is:
        "0:24, 1:22, 2:20, 3:18, 4:16", although each style can have
        its own default. The default style for example overwrites it with
        "0:24, 1:22, 2:20, 3:18". Up to 8 levels may be specified.

--name-tag-list=tag[,tag...]
        Specify the tag that will be used to supply the name.  Useful for
        language variations.  You can supply a list of tags and the first one
        found will be used.  e.g. --name-tag-list=name:en,int_name,name

Product description options:

--family-id=integer
        This is an integer that identifies a family of products.
        Range: [1..9999]
        Mkgmap default: 6324

--family-name=name
        If you build several maps, this option describes the
        family name of all of your maps. Garmin will display this
        in the map selection screen.
        Example: --family-name="OpenStreetmap mkgmap XL 2019"

--product-id=integer
        This is an integer that identifies a product within a family.
        It is often just 1, which is the default.

--product-version=integer
        The version of the product. Default value is 100 which means version 1.00.

--series-name=name
        This name will be displayed in MapSource in the map selection
        drop-down. The default is "OSM map".

--area-name=name
        Area name is displayed on Garmin units (or at least on eTrex) as the second 
        part of the mapname in the list of the individual maps.

--copyright-message=text
        Specify a copyright message for files that do not contain one.

--copyright-file=filename
        Specify copyright messages from a file.
        Note that the first copyright message is not displayed on a device, but is 
        shown in BaseCamp. The copyright file must include at least two lines and
        be UTF-8 encoded. The following symbols will be substituted by mkgmap:
        $MKGMAP_VERSION$, $JAVA_VERSION$, $YEAR$, $LONG_DATE$, $SHORT_DATE$ and $TIME$.
        Time and date substitutions use the local date and time formats.

--license-file=filename
        Specify a file which content will be added as license.
        The license file must be UTF-8 encoded.
        The following symbols will be substituted by mkgmap:
        $MKGMAP_VERSION$, $JAVA_VERSION$, $YEAR$, $LONG_DATE$, $SHORT_DATE$ and $TIME$.
        Time and date substitutions use the local date and time formats.
        All entries of all maps will be merged in the overview map.

Optimization options:

--reduce-point-density=NUM
        Simplifies the ways with the Douglas Peucker algorithm.
        NUM is the maximal allowed error distance, by which the resulting
        way may differ from the original one.
        This distance gets shifted with lower zoom levels. 
        Recommended setting is 4, this should lead to only small differences
        (Default is 2.6, which should lead to invisible changes)

--reduce-point-density-polygon=NUM
        Allows you to set the maximal allowed error distance for the DP algorithm
        to be applied against polygons. Recommended setting is 8.

--merge-lines
        Try to merge lines. This helps the simplify filter to straighten out
        longer chunks at lower zoom levels. Decreases file size more.
        Increases paint speed at low zoom levels.
        Default is enabled, use --no-merge-lines to disable.
        
--min-size-polygon=NUM
        Removes all polygons smaller than NUM from the map.
        This reduces map size and speeds up redrawing of maps. 
        Recommended value is 8 to 15, default is 8.
        See also polygon-size-limits.

--polygon-size-limits=resolution:value[,resolution:value...]
        Allows you to specify different min-size-polygon values for each resolution.
        Sample:  
        --polygon-size-limits="24:12, 18:10, 16:8, 14:4, 12:2, 11:0"
        If a resolution is not given, mkgmap uses the value for the next higher 
        one. For the given sample, resolutions 19 to 24 will use value 12,
        resolution 17 and 18 will use 10, and so on.
        Value 0 means to not apply the size filter. 
        Note that in resolution 24 the filter is not used.  
        The following options are equivalent:
                --min-size-polygon=12
                --polygon-size-limits=24:12
                --polygon-size-limits=24:0,23:12
                --polygon-size-limits=24:0,23:12,22:12,21:12,16:12

Hill Shading (DEM) options:
        Hill Shading is rendered by PC programs (MapSource or BaseCamp) or GPS devices 
when the map includes a Digital Elevation Model (DEM). Use the following options 
to add a DEM to the map and control its characteristics. DEM creation requires 
files containing height information for the area covered by the map, the so 
called hgt files, which typically cover 1 degree latitude * 1 degree longitude 
and are named by the coordinates of their bottom left corner (eg. N53E009). They 
contain height information in a grid of points. Typical hgt files contain either 
1'' or 3'' data. 3'' files have 1201 * 1201 points, which gives 
2 * 1201 * 1201 = 2.884.802 bytes. 1'' files have 3601 * 3601 points, which gives 
2 * 3601 * 3601 = 25.934.402 bytes. Other files are supported as long as the 
formular sqrt(size/2) gives an integer value.

--dem=path[,path...]
        The option expects a comma separated list of paths to directories or zip 
        files containing *.hgt files. Directories are searched for *.hgt files and 
        also for *.hgt.zip and *.zip files. 
        The list is searched in the given order, so if you want to use 1'' files 
        make sure that they are found first. There are different sources for *.hgt 
        files, some have so called voids which are areas without data.
        Those should be avoided.  
 
--dem-dists=number[,number...]
        If given, the option specifies the resolution(s) or zoom level for the DEM 
        data. If not given, mkgmap tries to determine a reasonable value based on 
        the resolution found in the *.hgt files. For desktop programs like MapSource or 
        Basecamp you only need one zoom level, for GPS devices you need one for each 
        resolution given with the --levels option. The actual values are given as 
        distance between two DEM points and should be a multiple or submultiple of
        the distance between two points in the hgt file, that is 3314 for 1'' and 9942
        for 3''. Higher distances mean lower resolution and thus fewer bytes in the 
        map. Reasonable values for the highest resolution should not be much smaller 
        than 50% hgt resolution, that is somewhere between 1648 and 5520 for 1'' hgt 
        input files (3312 is often used), and 5520 to 9942 for 3'' hgt input files.
        Example which should work with levels="0:24, 1:22, 2:20, 3:18":
        --dem-dists=3312,13248,26512,53024
        This was found in a Garmin Demo map for transalpin data created 2009.

--dem-interpolation=auto|bicubic|bilinear
        Use this option to specify the method that is used to interpolate 
        data from hgt raster to the DEM raster. The value bicubic gives the 
        highest precision but is slower, bilinear is faster but less precise,
        it tends to smooth the profile and thus also reduces DEM size compared to 
        bicubic. The value auto means that bicubic is used where is seems 
        appropriate according to hgt resolution and dem-dist value, else bilinear
        is used. If not given, the default is auto.

--dem-poly=filename
        If given, the filename should point to a *.poly file in osmosis polygon 
        file format. The polygon described in the file is used to determine the area
        for which DEM data should be added to the map. If not given, the DEM data 
        will cover the full tile area.
  
--overview-dem-dist=integer
        If given, the option specifies the resolution(s) for the DEM data in the
        overview map. If not given or 0, mkgmap will not add DEM to the 
        overview map. Reasonable values depend on the size of the area and the 
        lowest resolution used for the single tiles, good compromises are 
        somewhere between 55000 and 276160.  

Miscellaneous options:

--max-jobs[=integer]
        Specify the number of threads to be used for concurrent processing.
        Increasing max-jobs will reduce the execution time, providing sufficient
        memory is available and the value is not greater than the number of cores
        in the CPU. If no value is specified, the limit is set to the number of CPU
        cores. The default is for the limit to be automatically set to a reasonable
        value based on the amount of memory allocated to the Java runtime and the
        amount used in processing the first tile. To optimise mkgmap to use all
        available CPU cores, you may need to use the Java -Xmx option to increase
        the amount of available heap storage.

--keep-going
        Don't quit whole application if an exception occurs while
        processing a map - continue to process the other maps.

--block-size=integer
        Changes the block size that is used in the generated map. This
        option is not usually needed, but sometimes an error message
        will ask you to try a value for this option.

--net
        Tells mkgmap to write NET data, which is needed for address search
        and routing. Use this option if you want address search, but do
        not need a map that supports routing or house number search.

--route
        Tells mkgmap to write NET and NOD data, which are needed in maps 
        that support routing. If you specify this option, you do not need
        to specify --net and option -no-net is ignored.

--drive-on=left|right|detect|detect,left|detect,right
        Explicitly specify which side of the road vehicles are
        expected to drive on. 
        If the first option is detect, the program tries 
        to find out the proper flag. If that detection
        fails, the second value is used (or right if none is given).
        With OSM data as input, the detection tries to find out  
        the country each road is in and compares the number
        of drive-on-left roads with the rest.
        Use the --bounds option to make sure that the detection 
        finds the correct country. 

--add-boundary-nodes-at-admin-boundaries=NUM    
        This option controls how mkgmap calculates special routing nodes which
        are needed by Garmin software to allow routing between different map tiles.
        These nodes are written to section 3 and 4 in the NOD file.
        When a road crosses the tile boundary (bbox), the road is split at this 
        point and such a special node is written. This allows routing between
        one set of tiles produced by splitter.jar. However, if you create a map
        from different sets of tiles, those tiles are likely to overlap.
        For the overlapping tiles, none of the entries in NOD3 match and thus
        routing across tile border doesn't work when the route is not fully 
        covered by one of the tiles. 
        The option tells mkgmap to add special nodes whereever a road touches or
        crosses an administratve boundary. The NUM parameter specifies a filter
        for the admin_level. Boundaries with a higher admin_level value are ignored. 
        The default value is 2 (country borders). Another reasonable value might 
        be 4. A value less or equal to 0 tells mkgmap to ignore intersections at 
        administrative boundaries.   
        
--check-roundabouts
        Check that roundabouts have the expected direction (clockwise
        when vehicles drive on the left). Roundabouts that are complete
        loops and have the wrong direction are reversed. Also checks
        that the roundabouts do not fork or overlap other roundabouts
        and that no more than one connecting highway joins at each node.

--check-roundabout-flares
        Check that roundabout flare roads point in the correct direction,
        are one-way and don't extend too far.

--check-routing-island-len=INTEGER
        Routing islands are small road networks which are not connected to other 
        roads. A typical case is a footway that is not connected to the main
        road network, or a small set of ways on the inner courtyard of a large 
        building 
        These islands can cause problems if you try to calculate a route and the GPS 
        selects a point on the island as a start or end. It will fail to calculate 
        the route even if a major road is only a few steps away. If this option is 
        specified, then mkgmap will detect these islands. If the value is set to 
        zero, mkgmap will simply report the islands (you will need to set 
        uk.me.parabola.imgfmt.app.net.RoadNetwork.level=INFO to activate logging of 
        the message). If the value is greater than zero, mkgmap will mark islands 
        with a total length less than the specified value in metres as not routable.
        Reasonable values are 500 or higher.
        The default is for the check to not take place.
        If any of the roads forming the island touches a tile boundary or 
        a country border the island is ignored, as it may be connected to other 
        roads in a different tile. 
        See also option --add-boundary-nodes-at-admin-boundaries.

--max-flare-length-ratio=NUM
        When checking flare roads, ignore roads whose length is
        greater than NUM (an integer) times the distance between the
        nodes on the roundabout that the flare roads connect to. Using
        this option with a value of at least 5 will cut down the
        number of legitimate roads that are flagged as flare road
        problems. Default value is 0 (disabled) because it's not a
        completely reliable heuristic.

--ignore-turn-restrictions
        When reading OSM files, ignore any "restriction" relations.

--ignore-osm-bounds
        When reading OSM files, ignore any "bounds" elements.
        With this option selected generate-sea sometimes works better,
        but routing across tiles will not work.

--preserve-element-order
        Process the map elements (nodes, ways, relations) in the order
        in which they appear in the OSM input. Without this option,
        the order in which the elements are processed is not defined.

--remove-short-arcs[=MinLength]
        Now ignored, former usage:      
        Merge nodes to remove short arcs that can cause routing
        problems. If MinLength is specified (in metres), arcs shorter
        than that length will be removed. If a length is not
        specified, only zero-length arcs will be removed.

--adjust-turn-headings[=BITMASK]
        Now ignored, former usage:      
        Where possible, ensure that turns off to side roads change
        heading sufficiently so that the GPS believes that a turn is
        required rather than a fork. This also avoids spurious
        instructions to "keep right/left" when the road doesn't
        actually fork.

        Optional BITMASK (default value 3) allows you to specify which
        adjustments are to be made (where necessary):

        1 = increase angle between side road and outgoing main road
        2 = increase angle between side road and incoming main road

--cycle-map
        Tells mkgmap that the map is for cyclists. This assumes that
        different vehicles are different kinds of bicycles, e.g. a way
        with mkgmap:car=yes and mkgmap:bicycle=no may be a road that is 
        good for racing bikes, but not for other cyclists.
        This allows the optimisation of sharp angles at junctions of those roads. 
        Don't use with the default style as that is a general style!
        
--report-similar-arcs
        Issue a warning when more than one arc connects two nodes and
        the ways that the arcs are derived from contain identical
        points. It doesn't make sense to use this option at the same
        time as using the cycleway creating options.

--report-dead-ends=LEVEL
        Set the dead end road warning level. The value of LEVEL (which
        defaults to 1 if this option is not specified) determines
        those roads to report: 0 = none, 1 = multiple one-way roads
        that join together but go nowhere, 2 = individual one-way roads
        that go nowhere.

--add-pois-to-lines
        Generate POIs for lines. For each line (must not be closed) POIs are
        created at several points of the line. Each POI is tagged with the
        same tags like the line and additional tags added by mkgmap:
        mkgmap:line2poi=true and tag mkgmap:line2poitype having
        the following values:
           * start  - The first point of the line
           * end    - The last point of the line
           * inner  - Each point of the line except the first and the last 
           * mid    - The middle point

--add-pois-to-areas
        Generate a POI for each polygon and multipolygon. The POIs are created 
        after the relation style but before the other styles are applied. Each 
        POI is tagged with the same tags of 
        the area/multipolygon. Additionally the tag mkgmap:area2poi=true is 
        set so that it is possible to use that information in the points style
        file. Artifical polygons created by multipolyon processing are not used.
        The POIs are created at the following positions (first rule that applies):
           polygons: 
               * the first node tagged with a tag defined by the pois-to-areas-placement 
                 option
               * the centre point  
           multipolygons:
               * the node with role=label
               * the centre point of the biggest area

--pois-to-areas-placement=tag=value[;tag=value...]
        A POI is placed at the first node of the polygon tagged with the first tag/value
        pair. If none of the nodes are tagged with the first tag-value pair the first node
        tagged with the second tag-value pair is used and so on. If none of the tag-value pairs
        matches or the taglist is empty,        the centre of the polygon is used.
        It is possible to define wildcards for tag values like entrance=*.
        Default: entrance=main;entrance=yes;building=entrance

--precomp-sea=directory|zipfile
        Defines the directory or a zip file that contains precompiled sea tiles. 
        Sea files in a zip file must be located in the zip file's root directory or in 
        a sub directory sea. When this option is defined all natural=coastline tags 
        from the input OSM tiles are removed and the precompiled data is used instead. 
        This option can be combined with the generate-sea options multipolygon, polygons 
        and land-tag. The coastlinefile option is ignored if precomp-sea is set.      

--coastlinefile=filename[,filename...]
        Defines a comma separated list of files that contain coastline 
        data. The coastline data from the input files is removed if 
        this option is set. Files must have OSM or PBF fileformat.      

--generate-sea[=ValueList]
        Generate sea polygons. ValueList is an optional comma
        separated list of values:

        multipolygon
                generate the sea using a multipolygon (the default
                behaviour so this really doesn't need to be specified).

        polygons | no-mp
                don't generate the sea using a multipolygon - instead,
                generate a background sea polygon plus individual land
                polygons with tag natural=land. This requires a
                suitable land polygon type to be defined in the style
                file (suggested type is 0x010100) and the polygon must
                be defined in the TYP file as having a higher drawing
                level than the sea polygon type.

        no-sea-sectors
                disable the generation of "sea sectors" when the
                coastline fails to reach the tile's boundary.
                
        extend-sea-sectors
          same as no-sea-sectors. Additional adds a point so 
          coastline reaches the nearest tile boundary.

        land-tag=TAG=VAL
                tag to use for land polygons (default natural=land).

        close-gaps=NUM
                close gaps in coastline that are less than this
                distance (metres)

        floodblocker 
                enable the flood blocker that prevents a flooding of
                land by checking if the sea polygons contain streets
                (works only with multipolygon processing)               

        fbgap=NUM           
                flood blocker gap in metre (default 40)
                points that are closer to the sea polygon do not block 

        fbthres=NUM
                at least so many highway points must be contained in 
                a sea polygon so that it may be removed by the flood
                blocker (default 20)

        fbratio=NUM
                only sea polygons with a higher ratio 
                (highway points * 100000 / polygon size) are removed 
                (default 0.5)
                
        fbdebug
                switches on the debugging of the flood blocker
                generates GPX files for each polygon checked by
                the flood blocker

--make-poi-index
        Generate a POI index in each map tile. Probably not used by modern devices,
        but still supported.

--nsis
        Write a .nsi file that can be used with the Nullsoft Scriptable Install System
        (NSIS) to create a Windows Mapsource Installer.

--make-opposite-cycleways
        Some one-way streets allow bicycle traffic in the reverse
        direction and this option makes a way with the same points as
        the original that allows bicycle traffic (in both directions).

--link-pois-to-ways
        This option may copy some specific attributes of a POI 
        to a small part of the way the POI is located on. This can be used
        to let barriers block a way or to lower the calculated speed
        around traffic signals.
        POIs with the tags highway=* (e.g. highway=traffic_signals)  
        or barrier=* (e.g. barrier=cycle_barrier) are supported.
        The style developer must add at least one of the access tags
        (mkgmap:foot, mkgmap:car etc.), mkgmap:road-speed and/or 
        mkgmap:road-class to the POI. 
        The access tags are ignored if they have no effect for the way, 
        else a route restriction is added at the POI so that only 
        allowed vehicles are routed through it. 
        The tags mkgmap:road-speed and/or mkgmap:road-class are 
        applied to a small part of the way around the POI, typically
        to the next junction or a length of ~25 m. The tags
        are ignored for pedestrian-only ways.      

--process-destination
        Splits all motorway_link, trunk_link, primary_link, secondary_link,
        and tertiary_link ways tagged with destination into two or three parts where 
        the second part is additionally tagged with mkgmap:dest_hint=*.
        The code checks for the tags destination, destination:lanes, 
        destination:street and some variants with :forward/:backward like
        destination:forward or destination:lanes:backward. If a value for
        destination is found, the special tag mkgmap:dest_hint is set to 
        it and the way is split. This happens before the style rules are processed.
        This allows to use any routable Garmin type (except 0x08 and 0x09)
        for that part so that the Garmin device tells the name of
        this part as hint which destination to follow.     
        See also --process-exits.
        
--process-exits
        Usual Garmin devices do not tell the name of the exit on motorways 
        while routing with mkgmap created maps. This option splits each
        motorway_link, trunk_link, primary_link, secondary_link, and tertiary_link 
                way into three parts. 
                All parts are tagged with the original tags of the link. 
                Additionally the middle part is tagged with the following tags:
          mkgmap:exit_hint=true
          mkgmap:exit_hint_ref=<ref tag value of the exit>
          mkgmap:exit_hint_name=<name tag value of the exit>
          mkgmap:exit_hint_exit_to=<exit_to tag value of the exit>
        Adding a rule checking the mkgmap:exit_hint=true makes it possible
        to use any routable Garmin type (except 0x08 and 0x09) for the middle 
        part so that the Garmin device tells the name of this middle part as 
        hint where to leave the major road.
        The first part must have type 0x08 or 0x09 so that Garmin uses the hint. 
        
--delete-tags-file=filename
        Names a file that should contain one or more lines of the form
        TAG=VALUE or TAG=*. Blank lines and lines that start with
        a # or ; are ignored. All tag/value pairs in the OSM input are
        compared with these patterns and those that match are deleted.
        
--ignore-fixme-values
        Ignore all tags for which the value matches the pattern "(?i)fix[ _]?+me".      

--tdbfile
        Write files that are essential to running with MapSource, a .tdb file and
        an overview map. The options --nsis and --gmapi imply --tdbfile.

--show-profiles=1
        Sets a flag in tdb file. The meaning depends on the availability of DEM 
        data (see "Hill Shading (DEM) options"). 
        Without DEM data the flag enables profile calculation in MapSource or 
        Basecamp based on information from contour lines.
        If DEM data is available the profile is calculated with that information and
        the flag only changes the status line to show the height when you hover over 
        an area with valid DEM data.
        The default is show-profiles=0.

--transparent
        Make the map transparent, so that if two maps covering the same area are
        loaded, you can see through this map to see details from the other map too.
        Typically used for maps containing just contour lines. See --draw-priority
        as well.

--draw-priority=integer
        When two maps cover the same area and both are enabled in the device, this
        option controls the order in which they are drawn in and therefore which map
        is on top.  Higher priorities are drawn "on top" of lower priorities.
        The map drawn on top must be transparent for the one underneath to be seen.
        The default value is 25.

--custom
        Write a different TRE header. With this option, mkgmap writes the bytes
        0x170401 instead of the default 0x110301 at offset 43. Useful for marine 
        maps.
        
--hide-gmapsupp-on-pc
        Set a bit in the gmapsupp.img that tells PC software that the file is
        already installed on the PC and therefore there is no need to read it 
        from the device.

--poi-address
        Enable address / phone information to POIs. Address info is
        read according to the "Karlsruhe" tagging schema. Automatic
        filling of missing information could be enabled using the
        "location-autofill" option.
        Default is enabled, use --no-poi-address to disable.

--verbose
        Makes some operations more verbose. Mostly used with --list-styles.

--order-by-decreasing-area
        Puts polygons/areas into the map in decreasing size order, so that
        smaller features are rendered over larger ones (assuming _drawOrder
        is equal). The tag mkgmap:drawLevel can be used to override the
        natural area of a polygon, so forcing changes to the rendering order. 

Deprecated and Obsolete Options

--drive-on-left
--drive-on-right
        Deprecated; use drive-on instead.
        The options are translated to drive-on=left|right. 

--make-all-cycleways
        Deprecated, use --make-opposite-cycleways instead. Former meaning: 
        Turn on all of the options that make cycleways.

--charset=name
        Obsolete; use --code-page instead.
        option.

--map-features=filename
        Obsolete; use --style-file instead.

--ignore-maxspeeds
        Obsolete; former usage:
        When reading OSM files, ignore any "maxspeed" tags.

--ignore-builtin-relations
        Obsolete; former usage:
        When reading OSM files, skip the built-in processing of
        relations. This speeds up the processing non-routable map
        layers that do not contain multipolygons. This implies
        --ignore-turn-restrictions.

--road-name-pois[=GarminCode]
        Obsolete; former usage:
        Generate a POI for each named road. By default, the POIs'
        Garmin type code is 0x640a. If desired, a different type code
        can be specified with this option.  This is a workaround for not
        being able to search for roads.
        0x2f15: a blue dot in the middle of the road, and if you select,
        or 'hover' over it, the street name appears.

--make-cycleways
        Obsolete; former meaning:
        Some streets have a separate cycleway track/lane just for
        bicycle traffic and this option makes a way with the same
        points as the original that allows bicycle traffic. Also,
        bicycle traffic is prohibited from using the original way
        (unless that way's bicycle access has been defined).