Donnerstag, 21. August 2014

Couch-Mapper: From .las to map without one lung full of fresh air

I here describe the way of the couch-mapper or with other words how far you can get with a swedish .las file (and karttapullautin, OL Laser, Open Street Map, Open Orienteering Mapper and OCAD).

This is a beta version to be enhanced by your feedback.


  • If the map you want stretches over more than one  tile, use lasmerge to put them all together.Too big files should be avoided though.
  • Use las2las or OL-Laser to clip the laser data to the maps perimeter
  • Additionally create some suitable smaller clips you can use for the optimization of
    • vegetation mapping
    • cliff generation
    • marsh generation 
  • Create an OCAD file 1:10000 with the according symbol set. Set the reference system to SWEREF 99 TM.

Vegetation mapping


Small knolls

  • Small knolls you also get from karttapullautin
  • Use the dotknolls.dxf
  • Import into OCAD11 applying a CRT-file or use the function OCAD11>Map>Convert imported layers to symbols after the import.
  • Readability: Look over the knolls in regard of the minimal gap to the contours. Move apart if necessary.


  • Cliffs you get from OL Laser by creating two sets cliffs, 203 passable rock face (angle 50, height 1.5m, minimal length 5m, snap distance 1m) and 201 impassable cliff (angle 55, height 2.5m, minimal length 8m, snap distance 5m)
    • Open the exported .ocd file in OCAD
    • Set the reference system to the SWEREF 99TM; save
  • Import the .ocd files (do not add colors or symbols thereby)
  • Readability: Look over the passable rock faces
    • Select all the cliffs shorter than 0.6mm; manually replace them with the point symbol for minimal cliff (0.6mm)
    • Draw the longer cliffs with an elegant bezier-curve
    • Delete the auto generated cliffs
  • Readability: Look over the impassable cliffs
    • There should be no cliff shorter than the minimal length of 0.6mm (ISOM 2000)
    • Replace the auto generated cliffs with the ones you draw.

Water bodies

  • Water bodies digitize yourself based on the a point classification (Laserpunktklass>>Default) image created with OL-Laser.

Marshes / flat terrain

  • In this area the marshes mostly are flat. Therefore you can use a base map from OL-Laser to digitize potential marshy areas.
  • Basemap: Terrain grid 3x3m; Lutning , 1px; y=-50x2+0x+255;
  • 311 is thereby more a symbol for flat terrain. Here you got some freedom to interpret. Develop experience. Double check with aerial photos from eniro.
  • The national terrain map 1:50000 can be used as extra information. The approximate position of the bigger marshes can be found there.


  •  Some tracks can be identified with a slope-image (Grid 1x1m; Lutning>Default) or by the intensity image (Grid 1x1m; Intensitet>Default) generated with OL-Laser 
  • Digitize yourself
  • Alternatively the tracks can be imported from Open Street Map alike the buildings; see below
  • Readability: Apply dash vertices


  • If you are lucky, someone already digitized the buildings for Open Street Map and you can just download them.
    • Choose the part you want to download from Open Street Map. Save as .osm file.
    • Open a new map 1:10000 in Open Orienteering Mapper
    • Import the .osm-file
    • Georeference the map, by adding the SWEREF 99 TM proj4 - key
      +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
    • Choose "lutning" so that the "grivation" is 0. (Swedish maps are orientated after the reference system)
    • Symbolize the content you want, remove the rest, save as .ocd
    • Import into OCAD, seems that the georeference gets lost thereby and you have to position the imported "layer" manually. Good if you could identify the position of one of the buildings before importing.
  • If you are less lucky, no one digitized the buildings you needed for Open Street Map. As you regularly benefit of Open Street Map the time has come now to contribute. Digitize the buildings on Open Street Map based on aerial images and than proceed as described under the point above.
  • Readability: Replace to small buildings with the symbol for the minimal building according to 526 building.
  • Other vector data can be integrated from Open Street Map the same way.

Magnetic north lines

The final result


Open questions

  • How to import a geo-referenced file from OOM to OCAD without loosing the geo reference
  • An easier way to get to the buildings (the buildings are automatically removed from the .las , maybe one could work with the thereby made holes).
  • More information to take from the karttapullautin-dxf-files  / a workflow to integrate cliffs from karttapullautin
  • How to distinguish open rock from open grassland and maybe a smart setting to define the area 402 half open land with scattered trees in karttapullautin


  1. Have you taken a look at the code I developed for the JWOC 2015 mapping in Norway?

    This does a few more of the steps you want, and all in a single batch pipeline, for very large areas.

    I am working on code to semi-automatically detect bare rock areas on ortophotos, then convert the resulting black & white image into ocad objects.

  2. Thanks for the hint. I will dive into it tomorrow.

  3. ... which I did yesterday and will go deeper. Most interesting on first sight seems the vegetation generator provided with a "learning loop" and that the results of the latter come in vector format.

  4. Zerbembasqwibo20. Mai 2015 um 23:39

    I am trying to automap some maps, but it is so difficult to always be up-to-date. Who has the best overall description of latest best tools and methods for automapping ...?

  5. Hi,
    for a really profound dive into the topic I recommend Jan Kocbachs documentary. He combines Kartapullatin, Terjes Tools and lastools . I am afraid but karttapullautins progress is mainly documented on the routegadgets facebook profile, something I remember you would rather avoid. :-)


Das ist mein Blog und ich verschreibe ihm eine offene Diskussionskultur. Ab sofort akzeptiere ich keine Anonymen Kommentare mehr. Publiziere den Kommentar unter einem einigermassen identifizierbaren Pseudonym.

Siehe auch Wikipedia.