JOSM/Plugins/Scanaerial

From OpenStreetMap Wiki
< JOSM‎ | Plugins(Redirected from Scanaerial)
Jump to navigation Jump to 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.

Requirements

Setup

Windows

  1. Install Python 3 (in our example 3.13.0):
  2. Install Scanaerial dependencies (Pillow, PyProj & future):
    • use this command to install: C:\Users\user\AppData\Local\Programs\Python\Python313\Scripts\pip.exe install pillow pyproj future
  3. Install ext_tools Plugin in JOSM (more information on JOSM/Plugins#Installation) & Restart JOSM.
  4. Extract the Scanaerial archive and put it's files to %APPDATA%\JOSM\plugins\ext_tools\scanaerial directory.
  5. In JOSM press F12 and go to Ext_Tools configuration.
  6. 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:
C:\Users\user\AppData\Local\Programs\Python\Python313\python.exe scanaerial/scanaerial.py {lat} {lon} {TZoom}

To always use Config-File setting fixedzoomlevel, use it without {TZoom}:

C:\Users\user\AppData\Local\Programs\Python\Python313\python.exe scanaerial/scanaerial.py  {lat} {lon}

It will create a new menu item in the tools menu.

Verbose installation guide for Windows (outdated).

Linux

  • 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
    • Ubuntu: sudo apt-get install python-pyproj python-pil
  • 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 command line:
/home/<username>/.josm/plugins/ext_tools/scanaerial/scanaerial.py {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 scanaerial.py

Example commandline:

/home/<username>/.josm/plugins/ext_tools/scanaerial/scanaerial.py {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 http://dev.virtualearth.net/... 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 = http://irs.gis-lab.info/?layers=landsat&

server_api = wms

server_name = OSM
server_url = http://ows.terrestris.de/osm/service?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=OSM-WMS&STYLES=&

server_api = tms

server_name = MapBox
server_url = http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh7ifmo/{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}.mqcdn.com/tiles/1.0.0/sat/{zoom}/{x}/{y}.png
empty_tile_bytes = 2935
empty_tile_checksum = 839257317

server_api = bing

server_name = Bing
server_url = http://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial?include=ImageryProviders&output=xml&key=Arzdiw4nlOJzRwOz__qailc8NiR31Tt51dN2D7cm57NrnceZnCpgOkmJhNpGoppU
empty_tile_bytes = 1033
empty_tile_checksum = -332268601

server_api = tms

server_name = DigitalGlobe
server_url = http://{switch:a,b,c}.tiles.mapbox.com/v4/digitalglobe.0a8e44ba/{zoom}/{x}/{y}.png?access_token=pk.eyJ1IjoiZGlnaXRhbGdsb2JlIiwiYSI6ImNqMmFxcGJ2MjAwOHEzMm9nZmF2c3luZWkifQ.HsF19zOlj8PeOxo5BhNqyQ

server_api = tms

server_name = ESRIWorld
server_url = https://{switch:services,server}.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{zoom}/{y}/{x}
empty_tile_bytes = 1882
empty_tile_checksum = -1893505042

Fun stuff

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

[[Category:Scanaerial User]]

in your Userpage.

See Also