From OpenStreetMap Wiki
< JOSM‎ | Plugins(Redirected from Scanaerial)
Jump to: navigation, search


JOSM screenshot showing unmapped tundra with Bing Imagery
JOSM screenshot showing tundra with mapped lakes and Bing Imagery
JOSM screenshot showing tundra with mapped lakes, data only

Scanaerial is a package with python code to scan aerial pictures.


  • JOSM (current version)
  • Ext_tools plug-in for JOSM
  • Python & needed libraries (run to find out if a library is missing)
    • Python Image Library (in Gentoo: dev-python/imaging). This is only available in Python 2.7 and is not currently available in the newer 3+ versions.
    • Python Projection Library (in Gentoo: dev-python/pyproj)
  • Current Scanaerial-Script



C:\python27\python.exe C:\scanaerial\ {lat} {lon} {TZoom}

or if there is a space in the name of the directory (e.g. C:\scan aerial\)

C:\python27\python.exe "C:\SCANAE~1\" {lat} {lon} {TZoom}


C:\python27\python.exe C:\scanaerial\ {lat} {lon}

without {TZoom} to always use Config-File setting fixedzoomlevel. It will create a new menu item in the tools menu.


  • Unzip the contents of the downloaded archive to the JOSM Plugin directory. Put it to: ~/.josm/plugins/ext_tools/scanaerial
  • Install Python + needed libraries:
    • Fedora: yum install pyproj python-pillow
  • Install Ext_tools-Plugin in JOSM (more information on JOSM/Plugins#Installation) & Restart JOSM
  • In JOSM press F12 and go to Ext_tools configuration
  • Add a new tool by clicking the button saying so. Give the tool a good name (scanaerial would be an idea) and paste this as commandline:
/home/<username>/.josm/plugins/ext_tools/scanaerial/ {lat} {lon} {TZoom}

It will create a new menu item in the tools menu. (NB: Syntax may change soon. Due to a bug in Ext_tools you can not write “~” instead of “home”)

Using Scanaerial

  • To invoke scanaerial press ctrl+k or select the new menu item. Now point the cursor on the area you want to trace and left-click.
  • For best result you may finetune the values in scanaerial.cfg

Multiple configurations

It is possible to configure Scanaerial to work with several distinct config files. To do so create a separate tool with distinct names for each configuration. The name of the configuration file is passed as the fourth argument to

Example commandline:

/home/<username>/.josm/plugins/ext_tools/scanaerial/ {lat} {lon} {TZoom} myconfig1.cfg

Finetuning Config-File

Key Default value Function
fixedzoomlevel 11 use this zoomlevel, if Ext_tools did not tell via TZoom
server_api bing access method of map server: wms, tms or bing
server_name Bing name of the map server (only for the tag string)
server_url half-link for WMS, JOSM-like address for TMS
empty_tile_bytes 1033 size of empty tile (in bytes) for current map server
empty_tile_checksum -332268601 checksum of empty tile file (algorithm: CRC32)
projection EPSG:3857 projection that is used on the map server
tile_sizex 256 leave it to 256 unless you know what you do
tile_sizey 256 leave it to 256 unless you know what you do
douglas_peucker_epsilon 0.60 maximum roughness for smoothening the line
deactivate_simplifying 0 deactivate Douglas-Peucker algorithm (only for debugging)
colour_str 30 colour sensitivity (depends on contrast of images)
maxfilter_setting 3 median filter size (noise reduction strength)
size_limit 400 maximum size of produced object

Available servers

server_api = wms

server_name = Landsat
server_url =

server_api = wms

server_name = OSM
server_url =

server_api = tms

server_name = MapBox
server_url = http://{switch:a,b,c}{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw
empty_tile_bytes = 1882
empty_tile_checksum = -1893505042

server_api = tms

server_name = MapQuest
server_url = http://oatile{switch:1,2,3,4}{zoom}/{x}/{y}.png
empty_tile_bytes = 2935
empty_tile_checksum = 839257317

server_api = bing

server_name = Bing
server_url =
empty_tile_bytes = 1033
empty_tile_checksum = -332268601

Fan stuff

if you like scanaerial you can show others that you use it by putting

[[Category:Scanaerial User]]

in your Userpage.

See Also