HOWTO Render Charts With Smrender

franceThis article is a step-by-step guide to render your own sea charts. I assume that you have already installed it to your system. If not, download the latest version and run ./configure and make and make install as usual. Make sure that you have installed the packages libcairo2-dev, librsvg2-dev, and libfontconfig-dev.

You also may have a look at the detailed manual for more information.

Step by Step

Smrender primarily is made to render paper charts. Thus, by default it is bound to the size of the page. The bounding box of the data to download thus depends on the page size and the scale. The following steps guide you with an example.

1. Prepare

Create a working directory somewhere and change into it. Create links for a default rule set and the sea chart symbols:

winnie:~% mkdir foobar
winnie:~% cd foobar
winnie:~/foobar% ln -s /usr/local/share/smrender/r100k_ye
winnie:~/foobar% ln -s /usr/local/share/smrender/SeaMapSymbols

2. Choose Center Coordinates

Find the (approx.) center point of your final chart, i.e. with the online Openseamp. For example I choose a part of the Atlantic coast of France: http://map.openseamap.org/?zoom=10&lat=48.23911&lon=-4.97814

I choose the center point at N 48° 15′ W 004° 50′.

3. Find Bounding Box

Choose the page format and the scale and run smrender with option -u. This will give you the appropriate bounding box and download URLs.

I choose A3 portrait and scale 150 000.

winnie:~/foobar% smrender -u -P A3 48N15:4W50:150000
http://www.overpass-api.de/api/xapi?map?bbox=-5.140,47.960,-4.526,48.538
http://overpass.osm.rambler.ru/cgi/xapi?map?bbox=-5.140,47.960,-4.526,48.538
http://jxapi.openstreetmap.org/xapi/api/0.6/map?bbox=-5.140,47.960,-4.526,48.538
http://open.mapquestapi.com/xapi/api/0.6/map?bbox=-5.140,47.960,-4.526,48.538

4. Download Input Data

Copy one of these URLs and download the data with e.g. wget.

winnie:~/foobar% wget -O input.osm 'http://www.overpass-api.de/api/xapi?map?bbox=-5.140,47.960,-4.526,48.538'
--2015-11-23 11:56:25-- http://www.overpass-api.de/api/xapi?map?bbox=-5.140,47.960,-4.526,48.538
Resolving www.overpass-api.de (www.overpass-api.de)... 46.4.41.83
Connecting to www.overpass-api.de (www.overpass-api.de)|46.4.41.83|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/osm3s+xml]
Saving to: ‘input.osm’

input.osm [ <=> ] 180.26M 857KB/s in 3m 41s

2015-11-23 12:00:08 (837 KB/s) – ‘input.osm’ saved [189016328]

5. Run Smrender

Now we can run Smrender. Beside the center coordinates we supply the input filename, the output filename, and the rule set directory. Additionally I add option -s 0.33 which is a default scale for the symbols.

winnie:~/foobar% smrender -i input.osm -o output.pdf -r r100k_ye -P A3 48N15:4W50:150000
12:18:48.645  (+ 0.000) [ notice] *** chart parameters for rendering ****
12:18:48.645  (+ 0.000) [ notice]    48.533 -5.134 -- 48.533 -4.532
12:18:48.645  (+ 0.000) [ notice]    47.966 -5.134 -- 47.966 -4.532
12:18:48.645  (+ 0.000) [ notice]    wc = 0.602°, hc = 0.567°
...
...
12:23:46.122  (+ 0.596) [ notice]  nodes...
12:23:49.886  (+ 3.764) [ notice] saving image (ftype = 2)
12:24:06.824  (+16.937) [ notice] 76.869 seconds elapsed. exiting
12:24:06.829  (+ 0.004) [ notice] Thanks for using smrender!

6. View And Improve Chart

Finally you got a PDF named output.pdf. Open it and check if it looks like expexted.

In this example (with the current rule set of 2015/11/23) you can see a part of France on right upper corner which is nearly complete black because of too much captions. The default rule set is something that fits just more or less but not perfectly on all areas of the world.

You may also want to add a title, a magnetic variation compass, or change the language of the light captions. Take the basic rule set as a starting point and improve it to your needs but this is beyond the scope of this article.

Have phun playing with Smrender!

Comments are closed.