Metadata-Version: 2.1
Name: asciimap
Version: 1.0.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
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
Requires-Dist: numpy (<2.0.0,>=1.15.1)

<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>Terminal application to print countries to console 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                          
                                        ·.....-..·                              
                                  ·-----..........·                             
                                  |................·                            
                                  ·.................---·                        
                                   |...................|                        
                                  /...................,·                        
                                ·-...................|                          
                                  `-..................·                         
                                    |................,·                         
                                  ,-....,....,------´                           
                                 /....,´ `--´                                   
                               ·-----´                                          
                               ··                                               
</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 with the negative filter:

    $ asciimap --surface 1 fr --negative

<pre>
.........................................··.....................................
.......................................     ....................................
.......................................        .................................
......................................          ................................
......................................            ..............................
...................................                .  ..........................
....................... ........                        ........................
.......................   ...                             ......................
........................                                     ...................
........................                                           .............
...............    .....                                            ............
...........·                                                       .............
...........|                                                       .............
...........|                                                      ..............
...........·                                                      ..............
...............                                                   ..............
...................                                           .  ...............
....................                                           .................
......................                                       ...................
.......................                                     ....................
........................                  France           .....................
.........................                                  .....................
..........................                                    ..................
..........................                                     .................
..........................                                     .................
..........................                                     .................
..........................                                      ................
..........................                                     .................
..........................                                     .................
..........................                                     .................
..........................                                     .................
..........................                                      ................
.........................                                         ..............
.........................                                         ..............
........................                                         ...............
........................                           ....        .................
.........................                      .................................
............................                  ..................................
................................  ..          ..................................
.......................................·----·...................................
</pre>

or if you want the borders to be shown:

    $ 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
An example with 'paste' and boasted 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 warps or shows just a few pixels for the surface of interest 
when printing all surfaces together:

    $ 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>

or

    $ 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. To use the inbuild benchmark
system you need 'yappi' installed. This is not a hard dependency as it is only
used for development. Print 'yappi' results for example with

    $ asciimap de --benchmark

## Statistics

The configuration and statistics are shown with `--stats` (or `-x`) along the 
resulting map and benchmarking results.

    $ asciimap ca -x

<pre>
                                                     ·----------------·
                                             ,-------...........,-´
                                         ·---.|      |.....,---´
                                           `-..--· ,-.....|
                                   ··  ··    `´  |`....,--·
                   ·-·                          ·-----´
                 ··   ·--·  ,·     ·--·    ··
                          ·--·       ·  ·-· |---------·
               ,-----·                   |.--´
              ·..../ |-· ·  · ,·   · ·-· ||   ·--· ,--·
               `--´ ·.,--.--.`..·    ·-· ||   ·...`....----·
                     ·   |.......·      /-.·   `--...,----..----·
··   ,--------· ,-·   ·------....-·  ·--/ |.-·    |.|     `--....-·
|.---..........`...---.|     |..|     ||  |...-·  |..·       `....|
|.......................-----....-----..--......· `--·    ·   |...---·
|................................................·           /...|  `-·
|.............................................,-´ ··     ·----....·
|...........................................,´   ·-· ,·       `-...-·
|..........................................·        ··          `-´ ·
|.....................................Canada           · ·---·
·-..,....................................·               |....--·
  `´ `-..................................|               |......|   ,·
       `..................................·              ·.......· /..·
        `..................................·              |.......`....·
         `..................................---·          |............|
          |.....................................----·    /..............-·
       ·  ·.........................................|   ´.................-·
           `.........................................·  |...................·
            \.........................................· |.................,-|
           · |,........................................`...........,--.,-´  |
             · |,---------------------------.....................,|   ·    /|
               ·                            `-----............../ ·-·     ·----·
                                                  `-...........|   ||          ·
                                                    `..........·  ·-· · ·
                                                     |....,---´      ·-·
                                                     |..,´          ·
                                                     ·-´



MapConfig
  max_height: 40
  height: None
  max_width: 80
  width: None
  fill_char: '*'
  no_char: '.'
  outside_char: ' '
  blur: 0.0
  method: 'dynamic'
  surface: 'all'
  is_negative: False
PrinterConfig
  fill_char: '*'
  no_char: '.'
  outside_char: ' '
  is_negative: False
  is_unicode: False
  padding: (1, 0, 1, 0)
  max_width: 80
  max_height: 40
RenderConfig
  name: 'Canada'
  geom: <osgeo.ogr.Geometry; proxy of <Swig Object of type 'OGRGeometryShadow *' at 0x7f95b7a52c60> >
  centroid: (-98.14238137209722, 61.46907614534891)
  lowest_lon: -140.99778
  lowest_lat: 41.675105088867326
  highest_lon: -52.64809872090421
  highest_lat: 83.23324
  lat_diff: 41.55813491113267
  lon_diff: 88.34968127909579
  worker_count: 4
  h_res: 1.1043710159886975
  w_res: 1.1043710159886975
  max_height: 38
  max_width: 80
</pre>


