Metadata-Version: 2.1
Name: asciimap
Version: 0.2.0
Summary: Print countries in ASCII Art based on Natural Earth shape files.
Home-page: https://github.com/MaelStor/asciimap
Author: Mael Stor
Author-email: maelstor@posteo.de
License: GPL-3.0-or-later
Description: <div align='center'>
        <pre>
              db       .M"""bgd   .g8"""bgd `7MMF'`7MMF'    `7MMM.     ,MMF'                   
             ;MM:     ,MI    "Y .dP'     `M   MM    MM        MMMb    dPMM                     
            ,V^MM.    `MMb.     dM'       `   MM    MM        M YM   ,M MM   ,6"Yb. `7MMpdMAo. 
           ,M  `MM      `YMMNq. MM            MM    MM        M  Mb  M' MM  8)   MM   MM   `Wb 
           AbmmmqMA   .     `MM MM.           MM    MM        M  YM.P'  MM   ,pm9MM   MM    M8 
          A'     VML  Mb     dM `Mb.     ,'   MM    MM        M  `YM'   MM  8M   MM   MM   ,AP 
        .AMA.   .AMMA.P"Ybmmd"    `"bmmmd'  .JMML..JMML.    .JML. `'  .JMML.`Moo9^Yo. MMbmmd'  
                                                                                      MM       
                                                                                    .JMML.     
        </pre>
        <h2>Print countries in ASCII Art</h2>
        </div>
        <div align='center'>
          <a href='https://www.naturalearthdata.com/'><img src='https://github.com/MaelStor/asciimap/blob/master/res/NEV-Logo-Black.png' alt='Natural Earth'></img></a>
        </div>
        
        ----
        
        
        <div align='center'>
        <a href="https://github.com/ambv/black"><img alt="Code Style: Black" src="https://img.shields.io/badge/code%20style-black-black.svg?style=flat-square"></a>
        <a href="https://choosealicense.com/licenses/gpl-3.0/"><img alt="License" src="https://img.shields.io/badge/license-GPL--3.0--or--later-green.svg?style=flat-square"></a>
        <a href="https://docs.python.org/"><img alt="Python Version" src="https://img.shields.io/badge/python-3.6%20%7C%203.7-blue.svg?style=flat-square"></a>
        <a href="https://github.com/MaelStor/asciimap"><img alt="GitHub tag (latest SemVer)" src="https://img.shields.io/github/tag/MaelStor/asciimap.svg?style=flat-square"></a>
        <a href="https://travis-ci.com/MaelStor/asciimap/"><img alt="Travis (.com) branch" src="https://img.shields.io/travis/com/MaelStor/asciimap/master.svg?style=flat-square"></a>
        </div>
        
        ----
        
        <div align='center'>
        <pre>
                  *-------*                                       $-------$                     
                 /......./                                       /       /                      
                *......./                                       $       /                       
                *......*                                        $      $                        
               *........*------*                               $        $------$                
               *...............*                               $               $                
              *...............*                               $               $                 
              *...............*                               $               $                 
               \............./                                 \             /                  
                *.........../                                   $           /                   
                |..........*                                    |          $                    
                *.**........*--*                                $ $$        $--$                
                 *  *...........*                                $  $           $               
                    *...........*                                   $           $               
           *       *.............\                         $       $             \              
        *-/.\      *-*............\                     $-/ \      $-$            \             
         |...**       *--*.........\                     |   $$       $--$         \            
         |.....*          \.........*-*                  |     $          \         $-$         
        *--*../            *......*...*                 $--$  /            $          $         
            **              United Kingdom                  $$              United Kingdom      
                            *.....*....*                                    $          $        
                            *...........\                                   $           \       
                     *-----*.............*                           $-----$             $      
                    *....................*                          $                    $      
                    *.....................*-*                       $                     $-$   
                     \.......................*-*                     \                       $-$
                      *........................|                      $                        |
                    **......................../*                    $$                        /$
                  **.........................*                    $$                         $  
                   *---*.....................|                     $---$                     |  
                        *....................|                          $                    |  
                       /.....................**                        /                     $$ 
                     **..............*--*..**                        $$              $--$  $$   
                   **......*-*.*----*    **                        $$      $-$ $----$    $$     
                  /..\..../   *                                   /  \    /   $                 
                 *.** *--*                                       $ $$ $--$                      
                 **                                              $$                             
        
        </pre>
        </div>
        
        You can print any country with `asciimap` for which a Geometry exists (currently
        177 countries). 
        
        ## Dependencies
        
        For `asciimap` to work you need the python bindings for GDAL and GDAL itself 
        installed. I experienced problems installing the python bindings into a 
        virtualenv, so I recommend installing the system packages.
        
        #### Arch
            pacman -Sy gdal python-gdal
        
        #### Debian/Ubuntu
        
            apt-get update
            apt-get install gdal-bin libgdal-dev python3-gdal
        
        ## Installation
        
        #### PyPi
        Installation with pip is straightforward:
        
            sudo pip install asciimap
        
        #### Git
        Installation with git from master branch:
        
            git clone git@github.com:MaelStor/asciimap.git
            cd asciimap
            git checkout master
        
        ###### In userspace
        Install in user space with:
        
            pip install --user .
        
        ###### System
        Install system wide with:
           
            sudo pip install .
        
        ## Usage
        <pre>
        usage: asciimap [-h] [--fill FILL] [--empty EMPTY] [--outside OUTSIDE]
                        [--height HEIGHT] [--width WIDTH] [--blur BLUR]
                        [--method {full,f,dynamic,d,height,h,width,w}]
                        [--surface SURFACE] [--negative] [--benchmark] [--stats]
                        country
        
        Print countries in ASCII Art
        
        positional arguments:
          country               Select country by ISO 3166-1 alpha-2 codes. For a
                                complete list of ISO A2 codes use 'list' as argument
        
        optional arguments:
          -h, --help            show this help message and exit
          --fill FILL, -f FILL  Single character marking the edges of the land surface
          --empty EMPTY, -e EMPTY
                                The character to use for the land surface
          --outside OUTSIDE, -o OUTSIDE
                                Single character marking the outside surface
          --height HEIGHT, -i HEIGHT
                                Height of the map as integer
          --width WIDTH, -w WIDTH
                                Width of the map as integer
          --blur BLUR, -b BLUR  Add blur to radius and inflate the surface by double
                                value
          --method {full,f,dynamic,d,height,h,width,w}, -m {full,f,dynamic,d,height,h,width,w}
                                Change rendering method
          --surface SURFACE, -s SURFACE
                                Choose a surface by number or 'all'
          --negative, -n        Print the negative
          --benchmark, -t       Print execution times of methods along with the map.
                                Can be give multiple times to increase verbosity.
          --stats, -x           Print statistics
        
        List all countries and ISO 3166-1 alpha-2 codes with 'list'
        </pre>
        
        ## Examples
            $ asciimap it
        <pre>
                          *-*                                                           
                      *--*   \                                                          
                      /       *---*                                                     
                 *---*            |                                                     
        *    *--*               *-|                                                     
        *---*                 **  *                                                     
         |                   /                                                          
         *                  *                                                           
        *                   |                                                           
         \                  *                                                           
         *\   *---*          *                                                          
           \ /     **        *                                                          
           **        \        **                                                        
                      *         \*                                                      
                      |          \                                                      
                      *           \                                                     
                       \    Italy  \                                                    
                        \           \                                                   
                         **          \                                                  
                           \          **                                                
                            **          *--*                                            
                              *-*         \                                             
                                 **        *-*                                          
                **                 **         **                                        
              */  \                  **         \*                                      
              |    *                   \      *----*                                    
              |    *                    \    /    *-*                                   
              |   *                      \  *                                           
              |   |                       \  \                                          
              *  /*                        *  **                                        
               **                          |  /                                         
                                           | /                                          
                                           |/                                           
                                          *|                                            
                              *-*   *---* **                                            
                              |  *-*    *                                               
                              *-*      *                                                
                                 *--*  |                                                
                                     *-|                                                
                                       *                                                
        </pre>
        
            $ asciimap no
        <pre>
                               *------------*                                           
                    *-*   *---*   |-----------*                                         
                  **   *-*     \--/                                                     
                    **          /*                                                      
                      **      **    *--*                                                
                        **   /        **                                                
                          *--*                                                          
                                                                                        
                                                                                        
                                                                                        
                                                                                        
                                                                                        
                                                                                        
                                                                                        
                                                                                        
                                                                                        
                                                                                        
                                          *--------*                                    
                                     ** **   /---\  \                                   
                                *----* /    /     *--*                                  
                          Norway  /   *-----*                                           
                            *-* **                                                      
                          *-/                                                           
                        ** /                                                            
                       /  /                                                             
                      /  /                                                              
                     /  /                                                               
                   **  /                                                                
                  /  *-*                                                                
                **  *                                                                   
              **    *                                                                   
           *-*     *                                                                    
         **        *                                                                    
        *           *                                                                   
        |           |                                                                   
        |           |                                                                   
        *           *                                                                   
         *      *--*                                                                    
         *    **                                                                        
          *--*                                                                          
        </pre>
        
        You can print a country looking like a negative with
        
            $ asciimap --surface 1 fr --negative
        
        <pre>
        ..............................**................................................
        ............................     ...............................................
        ............................        ............................................
        ...........................          ...........................................
        ...........................            .........................................
        ........................                .  .....................................
        ............ ........                        ...................................
        ............   ...                             .................................
        .............                                     ..............................
        .............                                           ........................
        ....    .....                                            .......................
        *                                                       ........................
        |                                                       ........................
        |                                                      .........................
        *                                                      .........................
        ....                                                   .........................
        ........                                           .  ..........................
        .........                                           ............................
        ...........                                       ..............................
        ............                                     ...............................
        .............                  France           ................................
        ..............                                  ................................
        ...............                                    .............................
        ...............                                     ............................
        ...............                                     ............................
        ...............                                     ............................
        ...............                                      ...........................
        ...............                                     ............................
        ...............                                     ............................
        ...............                                     ............................
        ...............                                     ............................
        ...............                                      ...........................
        ..............                                         .........................
        ..............                                         .........................
        .............                                         ..........................
        .............                           ....        ............................
        ..............                      ............................................
        .................                  .............................................
        .....................  ..          .............................................
        ............................*----*..............................................
        </pre>
        
        or if you want the borders showed:
        
            $ asciimap --surface 1 --outside '.' fr
        
        <pre>
        ..............................**................................................
        ............................*/  \...............................................
        ............................/    *-*............................................
        ...........................*        \...........................................
        ...........................*         **.........................................
        ........................*-*            \.**.....................................
        ............*........*-*                *  **...................................
        ............*-*...*-*                        **.................................
        .............| *-*                             *-*..............................
        .............|                                    *----*........................
        ....*--*.....*                                          *.......................
        *--*    *---*                                          *........................
        |                                                      *........................
        |                                                     *.........................
        *--*                                                  |.........................
        ....*--*                                           *  *.........................
        ........\                                         *.**..........................
        .........**                                       **............................
        ...........\                                     /..............................
        ............\                                   /...............................
        .............\                 France          *................................
        ..............\                                *................................
        ...............*                                *-*.............................
        ...............|                                   *............................
        ...............|                                   |............................
        ...............|                                   *............................
        ...............|                                    *...........................
        ...............|                                   *............................
        ...............|                                   |............................
        ...............|                                   |............................
        ...............|                                   *............................
        ...............*                                    \...........................
        ..............*                                      \*.........................
        ..............*                                       *.........................
        .............*                          *--*        **..........................
        .............*                      *--*....*------*............................
        ..............*-*                  /............................................
        .................*--*  **         *.............................................
        .....................**..*-*      *.............................................
        ............................*----*..............................................
        </pre>
        
        Fillings can be combined. If you want to fill the land surface with `.`,
        everything outside the land surface with `~` and corners with `^` use:
        
            $ asciimap nz --outside '~' --empty '.' --fill '^'
        
        <pre>
        ~~~~~~~~~~~~~~~~~~~~^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~|\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~^.^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~\..^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~\.^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~\.^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~~\|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~~~|\~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~~~^./.^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~^..^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~|...\~~~~~^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~|....^---^.|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~|..........|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~^..........^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~~~/........^-^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~^/......../~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~^\.......^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~~~^^.....|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^....^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~|...^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~^...^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~^/.\~~^~~^.../~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~/...^-^~~^..^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~/..New Zealand~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~^.......^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~^....../~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~/....../~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~/....../~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~/......^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~^^.......|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~^^.......^-^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~^^.......^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~^^........^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~/..........^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~^^..........^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~^............^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~^.........../~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ^.........../^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ^---^.....^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~^---^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        </pre>
        
        #### Advanced usage
        Some advanced usage with command-line tools. The picture in the title was produced with
        
            $ asciimap gb --height 30 --width 35 | paste - <(asciimap gb --height 30 --width 35 --fill "$")
        
        another example with 'paste' and usage of 'blur':
        
            $ asciimap -b 0 jp -i 30 -w 30 | paste - <(asciimap -b 2.0 jp -i 30 -w 30)
        
        <pre>
                                                                      
                                                                      
                                                             *        
                               *                           */ **      
                               |\                          /    *--*  
                               / **  *                    /         \ 
                              /    \-*                   /           *
                            **     /*                   *            |
                           *  *-* /                     |            |
                           *-*   *                      |            *
                                                        |           / 
                            *-*                         |         **  
                            | |                         |        /    
                            | |                         *       *     
                            * |                        /        *     
                           *  *                     *-*        *      
                           * *                     /   Japan   *      
                        Japan                  *--*           *       
                        *    *               **               |       
                     *-*    *               /                 |       
                    *       |              /                  *       
                *-* *       *            **                  *        
             *-*  \*  *----*            *                    *        
            // \ / | /                  |                 *-*         
          *-/ \ /* **                   *              *-*            
         / \  |-*                        *         *--*               
        **  * *                          |       **                   
          \/                             *      /                     
          |*                              \    /                      
          *                                *--*                       
        </pre>
        
            $ asciimap au --blur 0.1 --empty '.' --method full
        
        <pre>
                                                                 **                     
                                              *-*                /\                     
                                          *--*...*----*         *..*                    
                                         /..........|           |..*                    
                                *---*   /...........|           |...**                  
                               /.....*-*............*           *.....\*                
                              /......................*-*       *.......\                
                          *--*..........................*-*    *........*               
                          /................................*--*.........|               
                         /..............................................*               
                        /................................................**             
                   *---*...................................................*-*          
             *----*...........................................................\         
           **..................................................................\        
         */.....................................................................**      
         /........................................................................\     
        *..........................................................................**   
         *...........................................................................\  
        *.........................................Australia...........................* 
         *............................................................................| 
         *............................................................................* 
          \............................................................................*
           *...........................................................................*
           *..........................................................................* 
            \...........................*--*..........................................| 
             *...................*-----*    *---*.....................................* 
             *................*-*                \......*...........................**  
            /........*-------*                    \...** *........................./    
           *-\....*-*                              *-*  /*......................../     
              *--*                                     ** \....................../      
                                                           \....................*       
                                                            \...................|       
                                                             *-*............*---*       
                                                                *----------*            
                                                                                        
                                                                                        
                                                                      **   *-*          
                                                                       |--*..*          
                                                                       *...**           
                                                                        *-*             
        </pre>
        
        Sometimes a country has more than one land surface (or more precise: Polygons)
        defined, what scrambles the surface of interest when printing all surfaces:
        
            $ asciimap --surface all --method full ru --fill "'"
        <pre>
                                                          '          '                  
                                                                     '                  
                                                                      '                 
                                                                                        
                                                                      ''                
                                                             '      ''  '      '        
                                                            '      /    |               
                                                            '     '     '      '        
                                                               '  '      '--'  |        
                                                           '   |-'          \  '\       
                                                            \  | '           ''  \'     
                                                             \ |/                 \   ' 
                                                      ''     '-| '                 '-' '
        '                                              \'  ''  \ '                     |
        |'                                              \ /     '                      |
        '|                                             ' /                             |
         '                                             |/                              |
                                                       |                               |
                                                       |                               '
                                                       '             Russia        '  / 
                                                      '                           / ''  
                                                      |                        '-'      
                                                      |                       '    '    
                                                      |                       |    |    
                                                      '                       '    |    
                                                       '       '             '     |    
                                                    '  |      / '            '     |    
                                                       |     '  '          '  \    '    
                                                       '   ' '   \        ' '  '        
                                                        ' ' '     \ ' '   | |  '        
                                                        ' '        ' ' \ /' | '         
                                                         '         '    '   ' |         
                                                         |                   \|         
                                                         ''                   |         
                                                        / |                   |         
                                                       '  '                   '         
                                                       '-'                   '          
                                                         \'                  '          
                                                          |                             
                                                          '                             
        </pre>
        
        To overcome the bias you can just render the big land surface for example with:
        
            $ asciimap --surface 1 --method height ru --fill "'" 
        
        <pre>
                                                                                        
                                                                                      ''
                                                                            '--------' |
                                                                        '--'           |
                                                                  '----'               |
                                                      '--'  '     /                    |
                                                     /  \  ' '---'                     |
                                                   ''    ' |                           |
                                                    \    | '                           |
         '-------'                           '---'   '   |  '                          |
          |       '--'    '-'     '---------'     '-'    '\ '                          |
          '    '-'    '   /\   '-'                      '  /                           |
           '  '   '--'  ''  '-'                         ' /                            |
           |   '      ''                                 '                             |
           |   '   '-'                                                                 |
           '    '-'                                                                    |
            '                                                                          |
           /                                                                     Russia|
         ''                                                                            |
          '                                                                            |
        '/                                                                             |
        '                                                                              |
         \                                                                             |
         '-'                                                                           |
            \                                     '----'                               |
            '\                               '---'      '-----'                        |
              \                             '                  \                       |
             '-\                  ''        |                   \                     /|
                \               ''  '-----' '                    '---'               / '
                 '--'         ''           '                          ''    '-------'   
                     \       /                                          '--'        '   
                      '     '                                                           
                      '      \                                                          
                     /        \                                                         
                    /         ''                                                        
                  ''         /                                                          
                    '-'     /                                                           
                       '---' \                                                          
                            '-'                                                         
                              '                                                         
        </pre>
        
        what cuts off the eastern part of Russia. To print the whole surface:
        
            $ asciimap --surface 1 --method width --height 20 ru --fill "'"
        
        <pre>
                                                                                        
                                               '---'                                    
                                       '------'    \                                    
                              ''    '-'             '-------'      ''                   
                             ' | '-'                         '----'  '------'           
         '--'           ' ''  /' /                                           '---' '---'
         |  '-'  ' '---' '  '-' /                                                 '    |
         ' /   '' '            '                                                       |
          / '-'                                                             ' '     '--'
         /                                   Russia                     '  / \ '---'    
        '                                                          '---' ''   /         
        '\                                                       ''         '-'         
          \               '----' '                              '          ' |          
           \        '    /      ' \          '           '-'     ''        '-'          
            ''    '' '---'         '-'   '--' '--'   '' /   \      '                    
              '  '                    '-'         '-'  '     \ '  '                     
              |  '                                            ' \ '                     
              |   '                                             |/                      
              '--'                                            '-'                       
                  '                                                                     
        </pre> 
        
        To find the right surface you have to try around a bit. I'm working on a
        better solution.
        
        ## Performance
        
        Rendering and printing time depends on the size of the resulting map. Rendering
        and printing a country with `40x80 (h x w)` usually takes about `0.1 - 0.3` 
        seconds on a 2-core system. Rendering is implemented to use parallel processes 
        and reduces computation time on multicore systems.
        
            $ asciimap de --benchmark
        
        <pre>
        ...
        
        parse_undefined_countries         0.0000 s
        _get_boundaries                   0.0000 s
        __init__                          0.0007 s
        _sum_h_step (render)              0.0001ps
        _create_intersection (render)     0.0615ps
        _sum_w_step (render)              0.0014ps
        _contains (render)                0.0023ps
        render (render_parallel)          0.1113ps
        render_parallel                   0.1025 s
        is_border                         0.0175 s
        is_vertical                       0.0020 s
        is_horizontal                     0.0018 s
        is_negativ_diagonal               0.0021 s
        is_positiv_diagonal               0.0014 s
        print_map                         0.0414 s
        ------------------------------------------
        Sum                               0.1695 s
        </pre>
        
        There's no noticeable difference anymore between printing a high polygon and a
        low polygon country due to improvements of the rendering algorithm.
        
            $ asciimap ca -t
        
        <pre>
        ...
        
        _get_boundaries                   0.0001 s
        __init__                          0.0056 s
        _sum_h_step (render)              0.0001ps
        _create_intersection (render)     0.0925ps
        _sum_w_step (render)              0.0020ps
        _contains (render)                0.0038ps
        render (render_parallel)          0.1612ps
        render_parallel                   0.1028 s
        is_border                         0.0209 s
        is_vertical                       0.0041 s
        is_horizontal                     0.0040 s
        is_negativ_diagonal               0.0030 s
        is_positiv_diagonal               0.0029 s
        print_map                         0.0602 s
        ------------------------------------------
        Sum                               0.2037 s
        </pre>
        
        You can run `asciimap` with `--benchmark` if you want to know execution times
        of all used methods. Times for each method add up in case a method/function is
        called multiple times. Methods with a super method (in brackets) are already 
        considered in the `Sum` so they aren't added. Methods with a `ps` suffix
        (parallel seconds) are executed parallel so the time has to be divided by
        worker count.
        
        ## Statistics
        
        Statistics are shown with `--stats` (or `-x`) along the resulting map and
        benchmarking results.
        
            $ asciimap ca -x -t
        
        <pre>
                                                               *--* *----*
                                                     *---------    -      ---*
                                                 *--/  | -             --*
                                                 *-  -- / |        ---*
                                  **     *--* **   /---\ / -     -*
                                  *              */     / | |   /
                         *--*       **      *-*  |--*  /   -   /
                             *---------*    *-* **  *---------*
                       *--*
                       |   --* *      * *   *-*  *--*  **  *-* *-*
                      *---* \ - ----* |-|   *--\      *  --   -   -*
                             \       -  |       \--*   *-- --  --   --*
                *-* * *       | -   --- ---*  ** \ |      |  |/  *-    --*
        *-------   - - ------- | | |   |          | -* *  |--|     |--  |
        |                       -   \ / --------* |   -| /- -*    **  |  ---*
        |                            -           -      -/ /         /    -----*
        |                                               / \         *    |   /
        |                                             -*  |--*   **  *-   --/
        |                                          --*    *            *-* |*
        |                                         *            * *---*     *
        *-                                    Canada             *    --*
          *---                                   *                |     |    *
              \                                   \              *       \  /|
               \                                   \              |       --  \
                *-                                  ---*          |            \
                  |                                     -*       /              \
                 *-                                       --*   *                --*
               *   \                                        |   |                   *
                    |                                        \  |                 --|
                    | -                                       --           ------*  *
                    *\ |--------------------------                       -\        /
                      **                          *------               /  \*     * --*
                                                         *-            | \- |     *---\
                                                           *-          |  | |          *
                                                             |     ----*  *- ---*
                                                             |  --*         **
                                                             |-*
                                                            **
        
        vertical resolution             1.10437101598869746866
        horizontal resolution           1.10437101598869746866
        Height                                              38
        Width                                               80
        number of points                                   794
        number of polygons                                  30
        number of parallel processes                         5
        
        _get_boundaries                   0.0001 s
        __init__                          0.0055 s
        _sum_h_step (render)              0.0000ps
        _create_intersection (render)     0.1122ps
        _sum_w_step (render)              0.0021ps
        _contains (render)                0.0038ps
        render (render_parallel)          0.1860ps
        render_parallel                   0.1025 s
        is_border                         0.0162 s
        is_vertical                       0.0033 s
        is_horizontal                     0.0033 s
        is_negativ_diagonal               0.0024 s
        is_positiv_diagonal               0.0023 s
        print_map                         0.0475 s
        ------------------------------------------
        Sum                               0.1832 s
        </pre>
        
        This helps figuring out which surface to print. After trying around the big land
        surface of Canada is `--surface 1`.
        
            $ asciimap ca -x -t -s 1
        
        <pre>
        
                                                  *-*
                 ** *  *                          *- \
        *--------  - -- ------*                     | \ *   *--*
        |                      -*   *  *----*   ** /   -|  /   *
        |                        --- --      ---  -      -----*
        |                                                 /
        |                                              --*
        |                                            -*
        |                                           /              *
        |                                          |               |----*
        *-- --                                     *               |     -*
           *  \                                   |                |      |    **
               \                            Canada -*              *       ----  *
                *-                                   \ *            |            |
                  |                                   - -*          |             \
                  |                                       ----*   *-               --*
                  *                                           |   |                   \
                   \                                          |   |                    *
                    \                                          \  |                  -*
                     *--                                        --           -------*
                        *---------------------------                       -\
                                                    *------               /  \-*
                                                           *--           | *- |
                                                              \          |   | \   *
                                                               |     ----*   *  --*
                                                               |  --*         **
                                                               |-*
                                                              **
        
        vertical resolution             1.06642999999999998906
        horizontal resolution           1.06642999999999998906
        Height                                              29
        Width                                               80
        number of points                                   274
        number of polygons                                   1
        number of parallel processes                         5
        
        _get_boundaries                   0.0001 s
        __init__                          0.0072 s
        _sum_h_step (render)              0.0001ps
        _create_intersection (render)     0.0535ps
        _sum_w_step (render)              0.0016ps
        _contains (render)                0.0028ps
        render (render_parallel)          0.1234ps
        render_parallel                   0.1025 s
        is_border                         0.0174 s
        is_vertical                       0.0029 s
        is_horizontal                     0.0045 s
        is_negativ_diagonal               0.0023 s
        is_positiv_diagonal               0.0022 s
        print_map                         0.0500 s
        ------------------------------------------
        Sum                               0.1892 s
        </pre>
        
        This reduces the amount of polygons to `1` and the number of points to `247` and
        speeds up the rendering a little bit. This is only noticeable when printing
        with higher `width` or `height` values.
        
Keywords: earth country print ascii art python spatial geo natural
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Education
Classifier: Topic :: Multimedia
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Multimedia :: Graphics :: Viewers
Classifier: Topic :: Multimedia :: Graphics :: Presentation
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Utilities
Requires-Python: >=3.6
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
