[grass] 02/11: Imported Upstream version 7.0.4~rc1

Sebastiaan Couwenberg sebastic at moszumanska.debian.org
Mon Apr 18 22:16:08 UTC 2016


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master
in repository grass.

commit 9b7640e54d9d41834c3eaa2769420f44e44ff355
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Mon Apr 18 22:22:22 2016 +0200

    Imported Upstream version 7.0.4~rc1
---
 ChangeLog_7.0.3.gz                                 |  Bin 820475 -> 0 bytes
 ChangeLog_7.0.4RC1.gz                              |  Bin 0 -> 827109 bytes
 REQUIREMENTS.html                                  |   10 +-
 db/db.login/db.login.html                          |   16 +-
 db/db.login/main.c                                 |   37 +-
 db/drivers/mysql/db.c                              |    8 +-
 db/drivers/mysql/dbe.c                             |    6 +-
 db/drivers/postgres/db.c                           |   18 +-
 db/drivers/postgres/listdb.c                       |   11 +-
 demolocation/PERMANENT/.bash_history               |   83 +-
 demolocation/PERMANENT/.bashrc                     |   22 +-
 display/d.erase/d.erase.html                       |    2 +-
 display/d.extract/d.extract.html                   |    2 +-
 display/d.fontlist/d.fontlist.html                 |    2 +-
 display/d.histogram/d.histogram.html               |    2 +-
 display/d.info/d.info.html                         |    2 +-
 display/d.labels/d.labels.html                     |    2 +-
 display/d.linegraph/d.linegraph.html               |    2 +-
 display/d.mon/d.mon.html                           |    4 +-
 display/d.title/d.title.html                       |    2 +-
 doc/howto_release.txt                              |    8 +-
 doc/infrastructure.txt                             |   47 +-
 doc/vector/v.example/v.example.html                |    2 +-
 general/g.access/g.access.html                     |    2 +-
 general/g.cairocomp/g.cairocomp.html               |    2 +-
 general/g.copy/g.copy.html                         |    6 +-
 general/g.dirseps/g.dirseps.html                   |    2 +-
 general/g.findfile/g.findfile.html                 |   27 +-
 general/g.gisenv/g.gisenv.html                     |    8 +-
 general/g.mapsets/g.mapsets.html                   |    6 +-
 general/g.pnmcomp/g.pnmcomp.html                   |    2 +-
 general/g.ppmtopng/g.ppmtopng.html                 |    2 +-
 general/g.proj/datumtrans.c                        |    2 +-
 general/g.proj/g.proj.html                         |    4 +-
 general/g.proj/input.c                             |    4 +-
 general/g.proj/output.c                            |    2 +-
 general/g.setproj/g.setproj.html                   |    2 +-
 general/g.tempfile/g.tempfile.html                 |    2 +-
 gui/icons/Makefile                                 |   35 +-
 gui/icons/grass-128x128.png                        |  Bin 0 -> 12275 bytes
 gui/icons/grass-16x16.png                          |  Bin 0 -> 1190 bytes
 gui/icons/grass-192x192.png                        |  Bin 0 -> 17277 bytes
 gui/icons/grass-22x22.png                          |  Bin 0 -> 1380 bytes
 gui/icons/grass-24x24.png                          |  Bin 0 -> 1504 bytes
 gui/icons/grass-32x32.png                          |  Bin 0 -> 1983 bytes
 gui/icons/grass-36x36.png                          |  Bin 0 -> 2248 bytes
 gui/icons/grass-40x40.png                          |  Bin 0 -> 2630 bytes
 gui/icons/grass-42x42.png                          |  Bin 0 -> 2894 bytes
 gui/icons/grass-72x72.png                          |  Bin 0 -> 5516 bytes
 gui/icons/grass-80x80.png                          |  Bin 0 -> 6492 bytes
 gui/icons/grass-8x8.png                            |  Bin 0 -> 597 bytes
 gui/icons/grass-96x96.png                          |  Bin 0 -> 8223 bytes
 gui/icons/grass.ico                                |  Bin 17542 -> 91062 bytes
 gui/icons/grass.svg                                |  206 +-
 gui/icons/grass_osgeo.ico                          |  Bin 17542 -> 96438 bytes
 gui/wxpython/core/debug.py                         |    8 +-
 gui/wxpython/core/gconsole.py                      |   15 +-
 gui/wxpython/core/globalvar.py                     |    4 +-
 gui/wxpython/core/settings.py                      |    9 +-
 gui/wxpython/core/utils.py                         |   28 +-
 gui/wxpython/core/workspace.py                     |    2 +-
 gui/wxpython/dbmgr/base.py                         |   17 +-
 gui/wxpython/dbmgr/dbmgr_frame.jpg                 |  Bin 76570 -> 0 bytes
 gui/wxpython/dbmgr/dbmgr_frame.png                 |  Bin 0 -> 25243 bytes
 gui/wxpython/dbmgr/dbmgr_sql_builder.png           |  Bin 0 -> 43897 bytes
 gui/wxpython/dbmgr/g.gui.dbmgr.html                |   17 +-
 gui/wxpython/docs/wxGUI.html                       |   10 +-
 gui/wxpython/docs/wxGUI.toolboxes.html             |    4 +-
 gui/wxpython/gis_set.py                            |    2 +-
 gui/wxpython/gmodeler/Makefile                     |    5 +-
 gui/wxpython/gmodeler/dialogs.py                   |   15 +-
 gui/wxpython/gmodeler/frame.py                     |   14 +-
 gui/wxpython/gmodeler/g.gui.gmodeler.html          |  235 +-
 gui/wxpython/gmodeler/g_gui_gmodeler_avg_auto.png  |  Bin 0 -> 113179 bytes
 .../gmodeler/g_gui_gmodeler_dlg_module.png         |  Bin 0 -> 22978 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_frame1.png    |  Bin 0 -> 80586 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_frame2.png    |  Bin 0 -> 167067 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_frame3.png    |  Bin 0 -> 170739 bytes
 .../gmodeler/g_gui_gmodeler_lower_toolbar.png      |  Bin 0 -> 133519 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mcomment.png  |  Bin 0 -> 442 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mdb.png       |  Bin 0 -> 1688 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mloop.png     |  Bin 0 -> 1429 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mmodule.png   |  Bin 0 -> 525 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mmodulex.png  |  Bin 0 -> 363 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mraster.png   |  Bin 0 -> 1742 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mraster3d.png |  Bin 0 -> 1844 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mrelation.png |  Bin 0 -> 604 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mvector.png   |  Bin 0 -> 1687 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_parameter.png |  Bin 0 -> 57281 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_toolbar.png   |  Bin 0 -> 50082 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_zc.png        |  Bin 0 -> 72731 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_zc_items.png  |  Bin 0 -> 100224 bytes
 .../g_gui_gmodeler_zipcodes_avg_elevation.gxm      |  339 ++
 gui/wxpython/gmodeler/gmodeler_frame.png           |  Bin 67162 -> 0 bytes
 gui/wxpython/gmodeler/model.py                     |   47 +-
 gui/wxpython/gmodeler/preferences.py               |   17 +
 gui/wxpython/gui_core/dialogs.py                   |   32 +-
 gui/wxpython/gui_core/forms.py                     |   14 -
 gui/wxpython/gui_core/gselect.py                   |   29 +-
 gui/wxpython/gui_core/menu.py                      |    7 +-
 gui/wxpython/gui_core/widgets.py                   |   17 +-
 gui/wxpython/iscatt/plots.py                       |    9 +-
 gui/wxpython/lmgr/frame.py                         |   35 +-
 gui/wxpython/lmgr/pyshell.py                       |    7 +-
 gui/wxpython/lmgr/toolbars.py                      |    2 -
 gui/wxpython/mapdisp/frame.py                      |    2 +-
 gui/wxpython/mapdisp/toolbars.py                   |    9 +-
 gui/wxpython/mapswipe/dialogs.py                   |    2 +-
 gui/wxpython/mapswipe/frame.py                     |    5 +-
 gui/wxpython/modules/extensions.py                 |    5 +-
 gui/wxpython/nviz/tools.py                         |   34 +-
 gui/wxpython/psmap/dialogs.py                      |   17 +-
 gui/wxpython/psmap/utils.py                        |   11 +-
 gui/wxpython/rlisetup/g.gui.rlisetup.html          |    4 +-
 gui/wxpython/timeline/frame.py                     |    7 +-
 gui/wxpython/tplot/frame.py                        |    6 +-
 gui/wxpython/web_services/dialogs.py               |   19 +-
 gui/wxpython/wxgui.py                              |   11 +-
 gui/wxpython/wxplot/dialogs.py                     |   23 +-
 imagery/i.fft/i.fft.html                           |    4 +-
 imagery/i.his.rgb/i.his.rgb.html                   |    6 +-
 imagery/i.landsat.acca/i.landsat.acca.html         |    4 +-
 .../i.ortho.camera/i.ortho.camera.html             |    2 +-
 .../i.ortho.photo/i.ortho.elev/i.ortho.elev.html   |    2 +-
 .../i.ortho.photo/i.ortho.init/i.ortho.init.html   |    2 +-
 .../i.ortho.rectify/i.ortho.rectify.html           |    2 +-
 .../i.ortho.transform/i.ortho.transform.html       |    2 +-
 imagery/i.rgb.his/i.rgb.his.html                   |    6 +-
 imagery/i.segment/open_files.c                     |    3 +-
 imagery/i.target/main.c                            |    2 +-
 imagery/i.zc/i.zc.html                             |    2 +-
 include/Make/Script.make                           |    2 +-
 include/VERSION                                    |    2 +-
 include/dbmi.h                                     |    4 +-
 include/defs/dbmi.h                                |    4 +
 include/defs/neta.h                                |    2 +
 include/defs/vector.h                              |    1 +
 lib/db/dbmi_base/connect.c                         |   15 +-
 lib/db/dbmi_base/login.c                           |  201 +-
 lib/db/dbmi_base/string.c                          |    2 +-
 lib/gis/adj_cellhd.c                               |    2 +-
 lib/gis/datum.table                                |    5 +-
 lib/gis/datumtransform.table                       |    4 +
 lib/gis/mapset_nme.c                               |    2 +-
 lib/gis/parser_standard_options.c                  |   12 +-
 lib/gis/verbose.c                                  |    2 +-
 lib/imagery/iclass_statistics.c                    |    2 +-
 lib/init/grass.py                                  |   29 +-
 lib/init/variables.html                            |    8 +-
 lib/ogsf/gvld.c                                    |    4 +-
 lib/pngdriver/read_png.c                           |   24 +-
 lib/pngdriver/write_png.c                          |   12 +-
 lib/proj/Makefile                                  |   18 +-
 lib/proj/convert.c                                 |   40 +-
 lib/python/ctypes/arraystats.py                    |  659 ---
 lib/python/ctypes/cluster.py                       |  785 ---
 lib/python/ctypes/date.py                          | 1037 ----
 lib/python/ctypes/dbmi.py                          | 3919 ------------
 lib/python/ctypes/display.py                       | 1672 ------
 lib/python/ctypes/g3d.py                           | 2842 ---------
 lib/python/ctypes/gis.py                           | 3879 ------------
 lib/python/ctypes/gmath.py                         | 1389 -----
 lib/python/ctypes/grass.py                         | 3645 ------------
 lib/python/ctypes/imagery.py                       | 1389 -----
 lib/python/ctypes/nviz.py                          | 1338 -----
 lib/python/ctypes/ogsf.py                          | 6214 --------------------
 lib/python/ctypes/proj.py                          |  907 ---
 lib/python/ctypes/raster.py                        | 3597 -----------
 lib/python/ctypes/raster3d.py                      | 1037 ----
 lib/python/ctypes/stats.py                         |  844 ---
 lib/python/ctypes/trans.py                         |  628 --
 lib/python/ctypes/vector.py                        | 5751 ------------------
 lib/python/ctypes/vedit.py                         | 2096 -------
 lib/python/pygrass/modules/grid/grid.py            |    2 +-
 lib/python/pygrass/utils.py                        |   55 +-
 lib/python/script/core.py                          |   16 +-
 lib/python/script/setup.py                         |    7 +
 lib/python/script/{setup.py => setup.py.tmp}       |    6 +-
 lib/python/script/utils.py                         |   69 +-
 lib/python/temporal/list_stds.py                   |   51 +-
 lib/python/temporal/open_stds.py                   |    2 +-
 lib/python/temporal/temporal_algebra.py            |    6 +-
 lib/raster/cats.c                                  |    2 +-
 lib/raster/gdal.c                                  |    7 +-
 lib/raster/open.c                                  |    7 +
 lib/raster/range.c                                 |    2 +-
 lib/vector/Vlib/box.c                              |   52 +-
 lib/vector/Vlib/build_pg.c                         |    2 +-
 lib/vector/Vlib/header.c                           |    2 +-
 lib/vector/Vlib/intersect2.c                       |  100 +-
 lib/vector/Vlib/net.c                              |   11 +-
 lib/vector/Vlib/open_pg.c                          |   20 +-
 lib/vector/Vlib/write_pg.c                         |    2 +-
 lib/vector/neta/components.c                       |  214 +-
 lib/vector/neta/path.c                             |  177 +-
 lib/vector/neta/spanningtree.c                     |    1 +
 lib/vector/neta/utils.c                            |   19 +-
 lib/vector/vectorlib_pg.dox                        |    6 +-
 locale/po/grassmods_ar.po                          |   14 +-
 locale/po/grassmods_cs.po                          | 6030 +++++--------------
 locale/po/grassmods_de.po                          |   15 +-
 locale/po/grassmods_el.po                          |   18 +-
 locale/po/grassmods_es.po                          |   15 +-
 locale/po/grassmods_fi.po                          |   13 +-
 locale/po/grassmods_fr.po                          |   14 +-
 locale/po/grassmods_it.po                          |   13 +-
 locale/po/grassmods_ja.po                          |   13 +-
 locale/po/grassmods_ko.po                          |   14 +-
 locale/po/grassmods_lv.po                          |   14 +-
 locale/po/grassmods_pl.po                          |   15 +-
 locale/po/grassmods_pt.po                          |   14 +-
 locale/po/grassmods_pt_br.po                       |   14 +-
 locale/po/grassmods_ro.po                          |   14 +-
 locale/po/grassmods_ru.po                          |   13 +-
 locale/po/grassmods_sl.po                          |   14 +-
 locale/po/grassmods_th.po                          |   14 +-
 locale/po/grassmods_tr.po                          |   14 +-
 locale/po/grassmods_vi.po                          |   13 +-
 locale/po/grassmods_zh.po                          |   14 +-
 locale/po/grasswxpy_cs.po                          | 3710 ++++--------
 locale/po/grasswxpy_es.po                          | 3303 +++--------
 misc/m.measure/m.measure.html                      |    2 +-
 mswindows/osgeo4w/env.bat.tmpl                     |    4 +
 mswindows/osgeo4w/package.sh                       |    3 +-
 raster/r.category/r.category.html                  |    4 +-
 raster/r.colors/.pgm                               |    4 -
 raster/r.cost/main.c                               |    2 +-
 raster/r.cross/r.cross.html                        |    9 +-
 raster/r.describe/r.describe.html                  |    2 +-
 raster/r.external/list.c                           |   48 +
 raster/r.external/main.c                           |   17 +-
 raster/r.external/proto.h                          |    1 +
 raster/r.his/r.his.html                            |    5 +-
 raster/r.in.lidar/main.c                           |   45 +-
 raster/r.in.lidar/r.in.lidar.html                  |    7 +-
 raster/r.in.xyz/main.c                             |   71 +-
 raster/r.in.xyz/r.in.xyz.html                      |   11 +-
 raster/r.lake/main.c                               |    2 +-
 raster/r.li/r.li.html                              |   16 +-
 raster/r.mapcalc/map.c                             |    4 +-
 raster/r.mapcalc/map3.c                            |    2 +-
 raster/r.mapcalc/mapcalc.output                    | 2506 ++++++++
 raster/r.mapcalc/mapcalc.tab.c                     | 2043 +++++++
 raster/r.mapcalc/mapcalc.tab.h                     |  122 +
 raster/r.mapcalc/mapcalc.yy.c                      | 2241 +++++++
 raster/r.mapcalc/r.mapcalc.html                    |   23 +-
 raster/r.mapcalc/r3.mapcalc.html                   |   29 +-
 raster/r.neighbors/main.c                          |    2 +-
 raster/r.out.gridatb/r.out.gridatb.html            |    2 +-
 raster/r.out.vrml/r.out.vrml.html                  |    2 +-
 raster/r.param.scale/feature.c                     |    4 +-
 raster/r.param.scale/param.c                       |    4 +-
 raster/r.param.scale/param.h                       |    2 +-
 raster/r.proj/r.proj.html                          |    4 +-
 raster/r.recode/main.c                             |    1 +
 raster/r.resamp.bspline/r.resamp.bspline.html      |    4 +-
 raster/r.resamp.stats/main.c                       |    2 +-
 raster/r.ros/main.c                                |    4 +-
 raster/r.series/main.c                             |  133 +-
 raster/r.series/r.series.html                      |    4 +-
 raster/r.sim/r.sim.sediment/r.sim.sediment.html    |    4 +-
 raster/r.sim/r.sim.water/r.sim.water.html          |   15 +-
 raster/r.solute.transport/r.solute.transport.html  |    4 +-
 raster/r.stream.extract/r.stream.extract.html      |    4 +-
 raster/r.sun/main.c                                |    2 +-
 raster/r.support.stats/r.support.stats.html        |    2 +-
 raster/r.support/main.c                            |    2 +-
 raster/r.topmodel/main.c                           |    6 +-
 raster/r.topmodel/r.topmodel.html                  |   42 +-
 raster/r.transect/main.c                           |    4 +-
 raster/r.transect/r.transect.html                  |    2 +-
 raster/r.walk/main.c                               |    2 +-
 raster/r.watershed/ram/close_maps.c                |    4 +-
 raster/r.watershed/ram/do_flatarea.c               |    2 +-
 raster/r.watershed/ram/init_vars.c                 |    2 +-
 raster/r.watershed/seg/close_maps.c                |    4 +-
 raster/r.what/r.what.html                          |    6 +-
 raster/rasterintro.html                            |    4 +-
 raster3d/r3.gwflow/r3.gwflow.html                  |    4 +-
 raster3d/r3.in.ascii/r3.in.ascii.html              |    4 +-
 raster3d/r3.in.v5d/r3.in.v5d.html                  |    2 +-
 raster3d/r3.info/r3.info.html                      |    2 +-
 raster3d/r3.mask/r3.mask.html                      |    2 +-
 raster3d/r3.neighbors/main.c                       |    2 +-
 raster3d/r3.null/r3.null.html                      |    2 +-
 raster3d/r3.out.netcdf/r3.out.netcdf.html          |    2 +-
 raster3d/r3.out.v5d/r3.out.v5d.html                |    2 +-
 raster3d/r3.showdspf/r3.showdspf.html              |    2 +-
 raster3d/r3.stats/r3.stats.html                    |    2 +-
 raster3d/r3.support/r3.support.html                |    2 +-
 raster3d/raster3dintro.html                        |   47 +-
 scripts/Makefile                                   |    1 +
 scripts/d.rast.edit/d.rast.edit.html               |    2 +-
 scripts/d.redraw/d.redraw.html                     |    2 +-
 scripts/db.dropcolumn/db.dropcolumn.html           |    2 +-
 scripts/db.in.ogr/db.in.ogr.py                     |   10 +-
 scripts/db.test/db.test.html                       |    2 +-
 scripts/g.extension/g.extension.py                 |    5 +-
 scripts/g.manual/g.manual.html                     |    2 +-
 scripts/g.search.modules/Makefile                  |    7 +
 scripts/g.search.modules/g.search.modules.html     |   70 +
 scripts/g.search.modules/g.search.modules.py       |  238 +
 .../testsuite/test_g_search_modules.py             |   64 +
 scripts/i.image.mosaic/i.image.mosaic.html         |    2 +-
 scripts/i.pansharpen/i.pansharpen.html             |   11 +-
 scripts/i.pansharpen/i.pansharpen.py               |    2 +-
 scripts/i.pansharpen/rgb_brovey321.jpg             |  Bin 157408 -> 83788 bytes
 scripts/i.pansharpen/rgb_ihs321.jpg                |  Bin 152140 -> 81565 bytes
 scripts/i.pansharpen/rgb_landsat321.jpg            |  Bin 105300 -> 57826 bytes
 scripts/i.pansharpen/rgb_pca321.jpg                |  Bin 161207 -> 85141 bytes
 scripts/r.blend/r.blend.html                       |   11 +-
 scripts/r.buffer.lowmem/r.buffer.lowmem.html       |    2 +-
 scripts/r.import/r.import.py                       |   14 +-
 scripts/r.in.aster/r.in.aster.html                 |    4 +-
 scripts/r.pack/r.pack.html                         |   27 +-
 scripts/r.rgb/r.rgb.html                           |    4 +-
 scripts/r.rgb/r.rgb.py                             |    5 +
 scripts/v.build.all/v.build.all.html               |    2 +-
 scripts/v.centroids/v.centroids.html               |    2 +-
 scripts/v.db.addcolumn/v.db.addcolumn.html         |    2 +-
 scripts/v.db.dropcolumn/v.db.dropcolumn.html       |    2 +-
 scripts/v.db.droptable/v.db.droptable.html         |    2 +-
 scripts/v.db.join/v.db.join.py                     |   58 +-
 scripts/v.db.reconnect.all/v.db.reconnect.all.html |    2 +-
 scripts/v.db.renamecolumn/v.db.renamecolumn.html   |    2 +-
 scripts/v.import/v.import.py                       |   17 +-
 scripts/v.in.geonames/v.in.geonames.html           |    2 +-
 scripts/v.in.lines/v.in.lines.html                 |    2 +-
 scripts/v.in.mapgen/v.in.mapgen.html               |    2 +-
 scripts/v.rast.stats/v.rast.stats.py               |   20 +-
 scripts/v.report/v.report.html                     |    2 +-
 scripts/v.unpack/v.unpack.py                       |    2 +-
 temporal/t.list/t.list.py                          |   29 +-
 temporal/t.rast.algebra/t.rast.algebra.html        |    4 +-
 temporal/t.rast.list/t.rast.list.py                |    9 +-
 temporal/t.rast3d.list/t.rast3d.list.py            |    9 +-
 temporal/t.register/t.register.html                |   48 +-
 temporal/t.vect.list/t.vect.list.py                |    9 +-
 .../t.vect.observe.strds/t.vect.observe.strds.html |    8 +-
 vector/v.buffer/v.buffer.html                      |    4 +-
 vector/v.build/main.c                              |    2 +-
 vector/v.build/v.build.html                        |    4 +-
 vector/v.clean/v.clean.html                        |    4 +-
 vector/v.distance/distance.c                       |   18 +-
 vector/v.distance/main.c                           |    2 +-
 vector/v.drape/main.c                              |    1 +
 vector/v.extract/v.extract.html                    |    9 +-
 vector/v.generalize/v.generalize.html              |   10 +-
 vector/v.in.ascii/main.c                           |    2 +-
 vector/v.in.ascii/v.in.ascii.html                  |    4 +-
 vector/v.in.dwg/v.in.dwg.html                      |    2 +-
 vector/v.in.dxf/v.in.dxf.html                      |    2 +-
 vector/v.in.ogr/main.c                             |   60 +-
 vector/v.net.centrality/v.net.centrality.html      |    4 +-
 vector/v.net.components/main.c                     |   46 +-
 vector/v.net.components/v.net.components.html      |   39 +-
 vector/v.net.distance/main.c                       |  113 +-
 vector/v.net.distance/v.net.distance.html          |   31 +-
 vector/v.net.spanningtree/v.net.spanningtree.html  |   21 +-
 vector/v.net.steiner/main.c                        |    2 +-
 vector/v.out.dxf/v.out.dxf.html                    |    2 +-
 vector/v.out.ogr/export_areas.c                    |    6 +-
 vector/v.out.svg/v.out.svg.html                    |    2 +-
 vector/v.patch/v.patch.html                        |    2 +-
 vector/v.perturb/v.perturb.html                    |    2 +-
 vector/v.proj/main.c                               |    1 +
 vector/v.proj/v.proj.html                          |   18 +-
 vector/v.rectify/v.rectify.html                    |    4 +-
 vector/v.select/main.c                             |   10 +-
 vector/v.select/overlap.c                          |    4 +-
 vector/v.select/proto.h                            |    6 +-
 vector/v.select/select.c                           |    8 +-
 vector/v.select/write.c                            |   27 +-
 vector/v.split/v.split.html                        |   32 +-
 vector/v.support/v.support.html                    |    2 +-
 vector/v.surf.bspline/v.surf.bspline.html          |    4 +-
 vector/v.to.db/areas.c                             |    2 +-
 vector/v.to.points/v.to.points.html                |   21 +-
 vector/v.transform/main.c                          |    2 +-
 vector/v.vect.stats/main.c                         |    2 +-
 vector/v.what.rast/main.c                          |    1 +
 vector/v.what.rast3/main.c                         |    1 +
 382 files changed, 14145 insertions(+), 54615 deletions(-)

diff --git a/ChangeLog_7.0.3.gz b/ChangeLog_7.0.3.gz
deleted file mode 100644
index 58bcfc6..0000000
Binary files a/ChangeLog_7.0.3.gz and /dev/null differ
diff --git a/ChangeLog_7.0.4RC1.gz b/ChangeLog_7.0.4RC1.gz
new file mode 100644
index 0000000..7b033b3
Binary files /dev/null and b/ChangeLog_7.0.4RC1.gz differ
diff --git a/REQUIREMENTS.html b/REQUIREMENTS.html
index caf3c74..11b3070 100644
--- a/REQUIREMENTS.html
+++ b/REQUIREMENTS.html
@@ -160,6 +160,14 @@ Ctypes can be added as a third-party module in Python 2.3 and 2.4
 a newer version is "python-pillow"
 </li>
 
+<li><b>Python matplotlib > 1.2</b> ("python-matplotlib", needed for the several wxGUI tools)<br>
+<a href="http://matplotlib.org/">http://matplotlib.org/</a>
+</li>
+
+<li><b>python-termcolor</b> (recommended for g.search.modules)<br>
+<a href="https://pypi.python.org/pypi/termcolor">https://pypi.python.org/pypi/termcolor</a>
+</li>
+
 <li><b>FFMPEG or alternative</b> (for wxGUI Animation tool - g.gui.module),
     specifically ffmpeg tool<br>
 <a href="http://ffmpeg.org">http://ffmpeg.org</a>
@@ -201,6 +209,6 @@ MacOSX users may go here to download precompiled libraries etc.:
 <br><a href="http://grass.osgeo.org/development/bug-tracking/">http://grass.osgeo.org/development/bug-tracking/</a>
 
 <p>
-<i>Last changed: $Date: 2016-01-02 16:58:40 +0100 (Sat, 02 Jan 2016) $</i>
+<i>Last changed: $Date: 2016-03-10 14:01:17 +0100 (Thu, 10 Mar 2016) $</i>
 </body>
 </html>
diff --git a/db/db.login/db.login.html b/db/db.login/db.login.html
index 869de81..eef77fe 100644
--- a/db/db.login/db.login.html
+++ b/db/db.login/db.login.html
@@ -1,12 +1,12 @@
 <h2>DESCRIPTION</h2>
 
 <em>db.login</em> sets login parameters such an user name and
-optionally also a password for the connection to
+optionally also a password, a hostname or a port for the connection to
 the selected <b>database</b> through the DB <b>driver</b>.
 
 <h2>NOTE</h2>
 
-This command is only related to SQL database
+Options <b>host</b> and <b>port</b> are related to only SQL database
 backends like <a href="grass-pg.html">PostgreSQL</a>,
 <a href="grass-mysql.html">MySQL</a> or <a href="grass-odbc.html">ODBC</a>.
 
@@ -31,16 +31,15 @@ db.login driver=pg database=mydb
 </pre></div>
 
 <p>
-Username and password specified (note that the command lines
+Username, password and hostname specified (note that the command lines
 history will store the password in this way):
 
 <div class="code"><pre>
-db.login user=bacava password=secret
+db.login driver=pg database=mydb user=bacava password=secret host=db.example.com
 </pre></div>
 
 <p>
-Username and empty password specified (note that the command
-lines history will store the password in this way):
+Username and empty password specified:
 
 <div class="code"><pre>
 db.login driver=pg database=mydb user=bacava password=""
@@ -60,7 +59,8 @@ db.login driver=pg database=mydb user=bacava password=""
 
 <h2>AUTHOR</h2>
 
-Radim Blazek
+Radim Blazek<br>
+Support for hostname and port by Martin Landa, OSGeoREL, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-10-01 23:15:07 +0200 (Thu, 01 Oct 2015) $</i>
+<i>Last changed: $Date: 2016-02-06 16:25:05 +0100 (Sat, 06 Feb 2016) $</i>
diff --git a/db/db.login/main.c b/db/db.login/main.c
index 88b4103..6a345ef 100644
--- a/db/db.login/main.c
+++ b/db/db.login/main.c
@@ -6,7 +6,7 @@
  *               Glynn Clements <glynn gclements.plus.com>
  *               Markus Neteler <neteler itc.it>
  * PURPOSE:      Store db login settings
- * COPYRIGHT:    (C) 2004-2014 by the GRASS Development Team
+ * COPYRIGHT:    (C) 2004-2015 by the GRASS Development Team
  *
  *               This program is free software under the GNU General
  *               Public License (>=v2). Read the file COPYING that
@@ -29,7 +29,7 @@
 
 int main(int argc, char *argv[])
 {
-    struct Option *driver, *database, *user, *password;
+    struct Option *driver, *database, *user, *password, *host, *port;
     struct Flag *print;
     struct GModule *module;
     
@@ -40,7 +40,8 @@ int main(int argc, char *argv[])
     G_add_keyword(_("database"));
     G_add_keyword(_("connection settings"));
     module->description = _("Sets user/password for DB driver/database.");
-
+    module->overwrite = TRUE;
+    
     driver = G_define_standard_option(G_OPT_DB_DRIVER);
     driver->options = db_list_drivers();
     driver->required = YES;
@@ -55,7 +56,7 @@ int main(int argc, char *argv[])
     user->type = TYPE_STRING;
     user->required = NO;
     user->multiple = NO;
-    user->description = _("Username to set for DB connection");
+    user->description = _("Username");
     user->guisection = _("Settings");
     
     password = G_define_option();
@@ -63,9 +64,27 @@ int main(int argc, char *argv[])
     password->type = TYPE_STRING;
     password->required = NO;
     password->multiple = NO;
-    password->description = _("Password to set for DB connection");
+    password->description = _("Password");
     password->guisection = _("Settings");
 
+    host = G_define_option();
+    host->key = "host";
+    host->type = TYPE_STRING;
+    host->required = NO;
+    host->multiple = NO;
+    host->label = _("Hostname");
+    host->description = _("Relevant only for pg and mysql driver");
+    host->guisection = _("Settings");
+
+    port = G_define_option();
+    port->key = "port";
+    port->type = TYPE_STRING;
+    port->required = NO;
+    port->multiple = NO;
+    port->label = _("Port");
+    port->description = _("Relevant only for pg and mysql driver");
+    port->guisection = _("Settings");
+
     print = G_define_flag();
     print->key = 'p';
     print->description = _("Print connection settings and exit");
@@ -80,13 +99,15 @@ int main(int argc, char *argv[])
         exit(EXIT_SUCCESS);
     }
 
-    if (db_set_login(driver->answer, database->answer, user->answer,
-                     password->answer) == DB_FAILED) {
+    if (db_set_login2(driver->answer, database->answer, user->answer,
+                      password->answer, host->answer, port->answer,
+                      G_get_overwrite()) == DB_FAILED) {
         G_fatal_error(_("Unable to set user/password"));
     }
     
     if (password->answer)
-	G_important_message(_("The password was stored in file (%s%cdblogin)"), G_config_path(), HOST_DIRSEP);
+	G_important_message(_("The password was stored in file (%s%cdblogin)"),
+                            G_config_path(), HOST_DIRSEP);
     
     exit(EXIT_SUCCESS);
 }
diff --git a/db/drivers/mysql/db.c b/db/drivers/mysql/db.c
index 2ea052f..6798739 100644
--- a/db/drivers/mysql/db.c
+++ b/db/drivers/mysql/db.c
@@ -37,7 +37,7 @@ int db__driver_open_database(dbHandle * handle)
 
     {
 	/* Client version */
-	const char *user, *password;
+        const char *user, *password, *host, *port;
 	CONNPAR connpar;
 
 	if (parse_conn(name, &connpar) == DB_FAILED) {
@@ -50,11 +50,11 @@ int db__driver_open_database(dbHandle * handle)
 		connpar.host, connpar.port, connpar.dbname,
 		connpar.user, connpar.password);
 
-	db_get_login("mysql", name, &user, &password);
+	db_get_login2("mysql", name, &user, &password, &host, &port);
 
 	connection = mysql_init(NULL);
-	res = mysql_real_connect(connection, connpar.host, user, password,
-				 connpar.dbname, connpar.port, NULL, 0);
+	res = mysql_real_connect(connection, host, user, password,
+				 connpar.dbname, port, NULL, 0);
 
 	if (res == NULL) {
 	    db_d_append_error("%s\n%s",
diff --git a/db/drivers/mysql/dbe.c b/db/drivers/mysql/dbe.c
index 5e27d9a..d71646f 100644
--- a/db/drivers/mysql/dbe.c
+++ b/db/drivers/mysql/dbe.c
@@ -43,7 +43,7 @@ int db__driver_open_database(dbHandle * handle)
 
 	if (!replace_variables(name, &datadir, &database)) {
 	    db_d_append_error(_("Unable parse MySQL embedded database name"));
-	    db_d_append_error(mysql_error(connection));
+	    db_d_append_error("%s", mysql_error(connection));
 	    db_d_report_error();
 	    return DB_FAILED;
 	}
@@ -59,7 +59,7 @@ int db__driver_open_database(dbHandle * handle)
 
 	if (mysql_server_init(4, server_args, NULL)) {
 	    db_d_append_error(_("Cannot initialize MySQL embedded server"));
-	    db_d_append_error(mysql_error(connection));
+	    db_d_append_error("%s", mysql_error(connection));
 	    db_d_report_error();
 	    free(datadir);
 	    free(database);
@@ -78,7 +78,7 @@ int db__driver_open_database(dbHandle * handle)
 
 	if (res == NULL) {
 	    db_d_append_error(_("Unable to connect to MySQL embedded server: "));
-	    db_d_append_error(mysql_error(connection));
+	    db_d_append_error("%s", mysql_error(connection));
 	    db_d_report_error();
 	    return DB_FAILED;
 	}
diff --git a/db/drivers/postgres/db.c b/db/drivers/postgres/db.c
index 5e171eb..828ee16 100644
--- a/db/drivers/postgres/db.c
+++ b/db/drivers/postgres/db.c
@@ -32,7 +32,7 @@ static int create_delete_db();
 int db__driver_open_database(dbHandle * handle)
 {
     char buf[500];
-    const char *name, *schema, *user, *password;
+    const char *name, *schema, *user, *password, *host, *port;
     dbConnection connection;
     PGCONN pgconn;
     PGresult *res;
@@ -56,14 +56,15 @@ int db__driver_open_database(dbHandle * handle)
 
     G_debug(3,
 	    "db_driver_open_database(): host = %s, port = %s, options = %s, tty = %s, "
-	    "dbname = %s, user = %s, password = %s, "
+	    "dbname = %s, user = %s, password = %s, host = %s, port = %s "
 	    "schema = %s", pgconn.host, pgconn.port, pgconn.options,
 	    pgconn.tty, pgconn.dbname, pgconn.user, pgconn.password,
+            pgconn.host, pgconn.port,
 	    pgconn.schema);
 
-    db_get_login("pg", name, &user, &password);
+    db_get_login2("pg", name, &user, &password, &host, &port);
 
-    pg_conn = PQsetdbLogin(pgconn.host, pgconn.port, pgconn.options, pgconn.tty,
+    pg_conn = PQsetdbLogin(host, port, pgconn.options, pgconn.tty,
 			   pgconn.dbname, user, password);
     
     if (PQstatus(pg_conn) == CONNECTION_BAD) {
@@ -221,7 +222,7 @@ int db__driver_delete_database(dbHandle *handle)
 int create_delete_db(dbHandle *handle, int create)
 {
     dbString stmt;
-    const char *template_db, *name, *user, *password;
+    const char *template_db, *name, *user, *password, *host, *port;
     
     PGCONN pgconn;
     PGresult *res;
@@ -237,13 +238,14 @@ int create_delete_db(dbHandle *handle, int create)
     }
     G_debug(3,
 	    "db_driver_create_database(): host = %s, port = %s, options = %s, tty = %s, "
-	    "dbname = %s, user = %s, password = %s, "
+	    "dbname = %s, user = %s, password = %s, host = %s, port = %s"
 	    "schema = %s", pgconn.host, pgconn.port, pgconn.options,
 	    pgconn.tty, pgconn.dbname, pgconn.user, pgconn.password,
+            pgconn.host, pgconn.port,
 	    pgconn.schema);
-    db_get_login("pg", template_db, &user, &password);
+    db_get_login2("pg", template_db, &user, &password, &host, &port);
     
-    pg_conn = PQsetdbLogin(pgconn.host, pgconn.port, pgconn.options, pgconn.tty,
+    pg_conn = PQsetdbLogin(host, port, pgconn.options, pgconn.tty,
 			   pgconn.dbname, user, password);
     if (PQstatus(pg_conn) == CONNECTION_BAD) {
 	db_d_append_error(_("Connection failed."));
diff --git a/db/drivers/postgres/listdb.c b/db/drivers/postgres/listdb.c
index 2066a65..e080cc1 100644
--- a/db/drivers/postgres/listdb.c
+++ b/db/drivers/postgres/listdb.c
@@ -19,7 +19,7 @@ int db__driver_list_databases(dbString * dbpath, int npaths,
 			      dbHandle ** dblist, int *dbcount)
 {
     int i;
-    const char *user, *passwd;
+    const char *user, *passwd, *host, *port;
     PGCONN pgconn;
     PGresult *res;
     int rec_num = 0;
@@ -42,20 +42,21 @@ int db__driver_list_databases(dbString * dbpath, int npaths,
         return DB_FAILED;
     }
     
-    G_debug(1, "db = %s, user = %s, pass = %s, host = %s, port = %s, options = %s, tty = %s",
+    G_debug(1, "db = %s, user = %s, pass = %s, "
+            "host = %s, port = %s, options = %s, tty = %s",
 	    pgconn.dbname, pgconn.user, pgconn.password, pgconn.host,
             pgconn.port, pgconn.options, pgconn.tty);
 
-    db_get_login("pg", NULL, &user, &passwd);
+    db_get_login2("pg", NULL, &user, &passwd, &host, &port);
     G_debug(1, "user = %s, passwd = %s", user, passwd ? "xxx" : "");
 
     if (user || passwd) {
-        pg_conn = PQsetdbLogin(pgconn.host, pgconn.port, pgconn.options, pgconn.tty,
+        pg_conn = PQsetdbLogin(host, port, pgconn.options, pgconn.tty,
                                "template1", user, passwd);
     }
     else {
         pg_conn =
-            PQsetdb(pgconn.host, pgconn.port, pgconn.options, pgconn.tty,
+            PQsetdb(host, port, pgconn.options, pgconn.tty,
                     "template1");
     }
 
diff --git a/demolocation/PERMANENT/.bash_history b/demolocation/PERMANENT/.bash_history
index 1d6ba35..9639bb5 100644
--- a/demolocation/PERMANENT/.bash_history
+++ b/demolocation/PERMANENT/.bash_history
@@ -1,43 +1,44 @@
-db.connect -p
-g.manual 
-g.manual v.db.reconnect.all
-v.db.reconnect.all old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'  new_driver=sqlite new_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-v.build.all 
-v.db.reconnect.all old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'  new_driver=sqlite new_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-db.connect -p
-db.connect driver=sqlite database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-db.connect -p
-db.tables -p
-l /home/neteler/grass70/demolocation/PERMANENT/sqlite/sqlite.db
-l /home/neteler/grass70/demolocation/PERMANENT/sqlite/
+v.unpack country_boundaries.pack 
+g.proj -w
+v.unpack country_boundaries.pack -v
+v.unpack country_boundaries.pack --v
+g.proj -w
+g.proj -p
+cd grass70/demolocation/PERMANENT/
+pwd
+meld PROJ_INFO ~/grassdata/ll/PERMANENT/PERMANENT/PROJ_INFO 
+cp ~/grassdata/ll/PERMANENT/PERMANENT/PROJ_INFO .
+svn diff
+cat PROJ_
+cat PROJ_INFO 
+cat PROJ_UNITS �
+cat PROJ_UNITS
+ccat ~/grassdata/ll/PERMANENT/PERMANENT/PROJ_UNITS 
+cat ~/grassdata/ll/PERMANENT/PERMANENT/PROJ_UNITS 
+svn ci -m"demolocation: update to current file structure as generated with 'grass70 -c EPSG:4326 ~/grassdata/ll/PERMANENT'" PROJ_INFO 
+v.unpack country_boundaries.pack --v
 l /home/neteler/grass70/demolocation/PERMANENT/
-db.connect -p
-v.db.reconnect.all old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'  new_driver=sqlite new_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-l /home/neteler/grass70/demolocation/PERMANENT/sqlite/sqlite.db
-l /home/neteler/grass70/demolocation/PERMANENT/sqlite/
-mkdir /home/neteler/grass70/demolocation/PERMANENT/sqlite/
-v.db.reconnect.all old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'  new_driver=sqlite new_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-cd demolocation/
+cd grass70/demolocation/PERMANENT/
+mkdir sqlite
+cd
+v.unpack country_boundaries.pack --v
+v.unpack country_boundaries.pack --v --o
+v.info country_boundaries.pack
+v.info country_boundaries
+v.db.connect -p country_boundaries
+g.region -p
+g.gui
+v.info -c country_boundaries
+cd demolocation/PERMANENT/
 l
-cd PERMANENT/
-l
-svn status
-svn revert VAR vector
-svn revert vector
-svn revert VAR vector/*
-svn status
-svn revert VAR vector/*/*
-svn status
-rm -f vector/mysites/sidx vector/mysites/sidx
-l
-v.build.all 
-rm -f sqlite/sqlite.db 
-v.db.reconnect.all old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'  new_driver=sqlite new_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-db.connect driver=sqlite database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-db.tables -p
-l
-history 
-svn revert VAR vector/*/*
-svn status
-rm -rf sqlite vector/mysites/sidx vector/point/sidx
-svn status
+g.list vect
+g.remove vect=country_boundaries
+sqlite3 sqlite/sqlite.db 
+rmdir dbf/
+rm -rf sqlite/
+cd
+v.unpack country_boundaries.pack
+r.fuzzy.system help
+R
+cd
+R
diff --git a/demolocation/PERMANENT/.bashrc b/demolocation/PERMANENT/.bashrc
index 89d7a3d..fe7b8d6 100644
--- a/demolocation/PERMANENT/.bashrc
+++ b/demolocation/PERMANENT/.bashrc
@@ -1,14 +1,26 @@
 test -r ~/.alias && . ~/.alias
 PS1='GRASS 7.0.svn (demolocation):\w > '
 PROMPT_COMMAND="'/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/etc/prompt.py'"
-alias rm='rm -i'
-alias mv='mv -i'
-alias l='ls -lrt --color=tty'
+# User specific aliases and functions
 alias cp='cp -i'
-alias ls='ls -F --show-control-chars --color=auto'
+alias mv='mv -i'
+alias rm='rm -i'
+alias df='df -h -x supermount'
+alias du='du -h'
 alias egrep='egrep --color'
 alias fgrep='fgrep --color'
 alias grep='grep --color'
+alias l='ls -lrt --color=tty'
+alias ls='ls -F --show-control-chars --color=auto'
+alias vi='vim'
+alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
+alias scpresume='rsync --partial --times --progress --rsh=ssh'
+alias scpresume_compress='rsync --partial --times --progress --compress --rsh=ssh'
+# http://vim.wikia.com/wiki/How_to_obscure_text_instantaneously
+alias rot13="tr 'A-Za-z' 'N-ZA-Mn-za-m'"
+export SVN_EDITOR=vim
+
+
 
-export PATH="/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/bin:/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/scripts:/home/neteler/.grass7/addons/bin:/home/neteler/.grass7/addons/scripts:/usr/java/default/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/home/neteler/bin"
+export PATH="/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/bin:/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/scripts:/home/neteler/.grass7/addons/bin:/home/neteler/.grass7/addons/scripts:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/libexec/lightdm:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/usr/sbin:/home/neteler/bin:/home/neteler/.local/bin:/home/neteler/bin:/usr/sbin:/home/neteler/bin"
 export HOME="/home/neteler"
diff --git a/display/d.erase/d.erase.html b/display/d.erase/d.erase.html
index c68a7d6..74d1443 100644
--- a/display/d.erase/d.erase.html
+++ b/display/d.erase/d.erase.html
@@ -18,4 +18,4 @@ specified by the user.
 James Westervelt, U.S. Army Construction Engineering Research
 Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/display/d.extract/d.extract.html b/display/d.extract/d.extract.html
index 52a30d8..c723fbc 100644
--- a/display/d.extract/d.extract.html
+++ b/display/d.extract/d.extract.html
@@ -22,4 +22,4 @@ d.extract input=roads output=interstate
 
 Radim Blazek, Markus Neteler
 
-<p><i>Last changed: $Date: 2011-09-29 21:18:47 +0200 (Thu, 29 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2011-09-29 12:18:47 -0700 (Thu, 29 Sep 2011) $</i>
diff --git a/display/d.fontlist/d.fontlist.html b/display/d.fontlist/d.fontlist.html
index 72f0a2c..a78aa28 100644
--- a/display/d.fontlist/d.fontlist.html
+++ b/display/d.fontlist/d.fontlist.html
@@ -11,4 +11,4 @@ GRASS display commands.
 
 Glynn Clements
 
-<p><i>Last changed: $Date: 2012-08-29 10:19:44 +0200 (Wed, 29 Aug 2012) $</i>
+<p><i>Last changed: $Date: 2012-08-29 01:19:44 -0700 (Wed, 29 Aug 2012) $</i>
diff --git a/display/d.histogram/d.histogram.html b/display/d.histogram/d.histogram.html
index afe4faf..08aff24 100644
--- a/display/d.histogram/d.histogram.html
+++ b/display/d.histogram/d.histogram.html
@@ -34,4 +34,4 @@ Dave Johnson
 <br> 10560 Arrowhead Drive 
 <br> Fairfax, Virginia 22030
 
-<p><i>Last changed: $Date: 2012-11-25 11:59:42 +0100 (Sun, 25 Nov 2012) $</i>
+<p><i>Last changed: $Date: 2012-11-25 02:59:42 -0800 (Sun, 25 Nov 2012) $</i>
diff --git a/display/d.info/d.info.html b/display/d.info/d.info.html
index 8002a85..4c88569 100644
--- a/display/d.info/d.info.html
+++ b/display/d.info/d.info.html
@@ -36,4 +36,4 @@ Note: GRASS display pixel coordinates are measured from the top left.
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2012-01-20 20:01:55 +0100 (Fri, 20 Jan 2012) $</i>
+<i>Last changed: $Date: 2012-01-20 11:01:55 -0800 (Fri, 20 Jan 2012) $</i>
diff --git a/display/d.labels/d.labels.html b/display/d.labels/d.labels.html
index 2d67319..b3be691 100644
--- a/display/d.labels/d.labels.html
+++ b/display/d.labels/d.labels.html
@@ -38,4 +38,4 @@ James Westervelt,
 U.S. Army Construction Engineering 
 Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/display/d.linegraph/d.linegraph.html b/display/d.linegraph/d.linegraph.html
index fcc5d76..f86f630 100644
--- a/display/d.linegraph/d.linegraph.html
+++ b/display/d.linegraph/d.linegraph.html
@@ -85,4 +85,4 @@ driver and converting that back into a rasterized image in a paint program)
 <h2>AUTHOR</h2>
 Chris Rewerts, Agricultural Engineering, Purdue University
 
-<p><i>Last changed: $Date: 2012-12-28 11:52:38 +0100 (Fri, 28 Dec 2012) $</i>
+<p><i>Last changed: $Date: 2012-12-28 02:52:38 -0800 (Fri, 28 Dec 2012) $</i>
diff --git a/display/d.mon/d.mon.html b/display/d.mon/d.mon.html
index ac87233..3236392 100644
--- a/display/d.mon/d.mon.html
+++ b/display/d.mon/d.mon.html
@@ -42,7 +42,7 @@ explicitly selecting the monitor for output. Only running monitors can
 be selected for graphics output.
 
 <p>The user can run multiple graphics monitors by simply starting each of
-the graphics monitors he wishes to direct output to.
+the graphics monitors the user wishes to direct output to.
 
 <h3>Releasing (unselecting) a monitor</h3>
 
@@ -130,4 +130,4 @@ of variables for rendering</a>,
 
 Martin Landa, OSGeoREL, Czech Technical University in Prague, Czech Republic
 
-<p><i>Last changed: $Date: 2014-12-27 23:51:00 +0100 (Sat, 27 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-01-28 12:27:18 +0100 (Thu, 28 Jan 2016) $</i>
diff --git a/display/d.title/d.title.html b/display/d.title/d.title.html
index 0c31b30..30cc7b6 100644
--- a/display/d.title/d.title.html
+++ b/display/d.title/d.title.html
@@ -57,4 +57,4 @@ James Westervelt,
 U.S. Army Construction Engineering 
 Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/doc/howto_release.txt b/doc/howto_release.txt
index ff68b1d..409f7b4 100644
--- a/doc/howto_release.txt
+++ b/doc/howto_release.txt
@@ -1,6 +1,6 @@
 How to release GRASS GIS binaries and source code
 
-$Date: 2016-01-18 16:57:27 +0100 (Mon, 18 Jan 2016) $
+$Date: 2016-02-16 14:35:10 +0100 (Tue, 16 Feb 2016) $
 
 Note: This text contains *some* rules only applicable to the
       development coordinator (currently Markus Neteler, PSC Chair).
@@ -145,12 +145,14 @@ Contents
     - News section
     - http://grass.osgeo.org/download/software/
     - http://grass.osgeo.org/download/software/sources/
+    - http://grass.osgeo.org/download/software/linux/
     - http://grass.osgeo.org/grass70/
     - http://grass.osgeo.org/home/history/releases/
     - http://grass.osgeo.org/development/svn/svn-tags/ (add tag): echo $RELEASETAG
 
      write announcement
       - store in trac: http://trac.osgeo.org/grass/wiki/Release/7.XX.YY-News
+      - update version in https://grasswiki.osgeo.org/wiki/GRASS-Wiki
       - store in Web as announces/announce_grass$MAJOR$MINOR$RELEASE.html <- how? with protected PHP upload page?
 
      full release:
@@ -168,8 +170,8 @@ Contents
                    release tag for the differences
 
  o Trac updates:
-      - Set "complete" flag in https://trac.osgeo.org/grass/milestone/7.0.x
-        and batch-migrate assigned tickets to next milestone
+      - Set "complete" flag in https://trac.osgeo.org/grass/milestone/7.0.x --> Edit Milestone
+        this batch-migrates assigned tickets to next milestone
       - Add release to https://trac.osgeo.org/grass/admin/ticket/versions
 
  o WinGRASS notes:
diff --git a/doc/infrastructure.txt b/doc/infrastructure.txt
index 2af49ee..7090aae 100644
--- a/doc/infrastructure.txt
+++ b/doc/infrastructure.txt
@@ -1,24 +1,24 @@
 How the GRASS Webserver and related infrastructure works
 
 written by M. Neteler
-Last changed: $Date: 2013-10-19 12:01:07 +0200 (Sat, 19 Oct 2013) $
+Last changed: $Date: 2016-03-04 10:37:38 +0100 (Fri, 04 Mar 2016) $
 
 
 Related Wiki documents:
-* http://grass.osgeo.org/wiki/GRASS_Migration_to_OSGeo
+* http://grass.osgeo.org/wiki/GRASS_Migration_to_OSGeo (historical document)
 
 == GRASS Web server ==
 
 Maintainer: M. Neteler
 
 * http://grass.osgeo.org
-** Shared virtual OSGeo machine hosted at Oregon State University Open Source Lab
-   (server: projects.osgeo.osuosl.org)
+** Shared virtual OSGeo machine (osgeo6) hosted at Oregon State University Open Source Lab
+   (server: osgeo6.osgeo.osuosl.org)
 ** OSGeo SAC page: http://wiki.osgeo.org/wiki/SAC_Service_Status
     http://wiki.osgeo.org/index.php/SAC
 ** Login: via OSGeo LDAP, there is a "grass" LDAP group
 ** Software:
-*** OS: Debian Lenny
+*** OS: Debian Wheezy
 *** Apache Server with PHP
 ** Further addresses: http://www.grass-gis.org
 *** points through Apache rewrite engine to http://grass.osgeo.org
@@ -41,7 +41,7 @@ Maintainer: M. Neteler
 ** Source code tarball of SVN HEAD
 ** Linux binary snapshot is compiled
 *** GRASS is compiled with GDAL, PROJ, SQLite, MySQL, PostgreSQL, FFTW, C++ support
-*** binary tar.gz is moved into Web space
+*** binary tar.gz and manuals are moved into Web space
 
 * GRASS user manual HTML:
 ** generated during compilation of weekly Linux binary snapshot
@@ -56,23 +56,13 @@ Maintainer: M. Neteler
    (cd locale; make) are extracted into text file
 ** text file parsed by PHP page and shown as table
 
-* GRASS user map
-** under development
-
-* GRASS-Mapserver demo
-** currently broken after grass.osgeo.org update
-** something is on the OSGeo Adhoc Virtual machine
-
-* FTP server
-** no longer available due to security risk
-
 * Mailman mailing lists + greylisting (at lists.osgeo.org since 11/2007)
 ** Mailman is doing the job, only registered users can post
 ** messages from unsubscribed people is auto-discarded without notification
 ** the open "weblist" operates instead like this:
     User -> grass-web at lists osgeo.org -> greylisting -> Mailman
 
-* Backup of mailing lists (mbox files) (TODO!!)
+* Backup of mailing lists (mbox files)
 ** manually done by MN 
 ** nightly backup at OSGeo.org, bacula
 ** TODO: Establish solution via local cp on lists.osgeo.org (SAC ticket todo)
@@ -86,7 +76,7 @@ Maintainer: M. Neteler
 *** awstats processed log files: /osgeo/download/logs
 *** cronjob script: /osgeo/scripts/update_logs.sh
 ** FBK Mirror: Webalizer (http://grass.fbk.eu/webalizer/) runs daily as cronjob
-** Sitemeter: http://www.sitemeter.com/?a=stats&s=s24grassgis
+** OLD: Sitemeter: http://www.sitemeter.com/?a=stats&s=s24grassgis
 
 Summary: The system should run almost autonomously.
 
@@ -102,17 +92,17 @@ Available lists:
    grass-commit 	Mailing list to distribute GRASS-CVS commits
    grass-dev 		GRASS GIS Development mailing list
    grass-es 		La lista de correo de GRASS GIS en espa�ol
-   grass-gui 		GRASSGUI mailing list
    grass-psc 		GRASS-PSC: GRASS Project Steering Committee
-   grass-qa 		GRASS Quality Assessment and monitoring list
    grass-stats 		GRASS and statistical software
    grass-translations 	Translation of GRASS (i18N)
    grass-user 		GRASS user list
    grass-web 		GRASS website mailing list
-   grass-windows 	winGRASS - Using GRASS on MS-Windows systems mailing list
 
 * OLD, UNUSED: at FBK-irst (http://grass.fbk.eu/mailman/admin/):
-   grass-commit-addons          Mailing list to distribute GRASS Addons-SVN commits
+   grass-commit-addons  Mailing list to distribute GRASS Addons-SVN commits
+   grass-gui 		GRASSGUI mailing list
+   grass-qa 		GRASS Quality Assessment and monitoring list
+   grass-windows 	winGRASS - Using GRASS on MS-Windows systems mailing list
 
 Notes:
 * grass-announce:
@@ -179,6 +169,15 @@ Very old bugtracker (Dec 2000 - Dec 2006):
   * reports are directly sent to GRASS Developers mailing list for notification
   * TODO: migrate to trac
 
+== GRASS Travis CI ==
+
+Maintainer: Martin Landa
+
+Note: Only checking trunk
+
+* https://travis-ci.org/GRASS-GIS
+* https://github.com/GRASS-GIS/grass-ci
+
 == OLD: GRASS Quality Control ==
 
 Maintainer: Prof. Giulio Antoniol
@@ -190,16 +189,16 @@ Maintainer: Prof. Giulio Antoniol
 * Realtime analysis is sent to: http://lists.osgeo.org/mailman/listinfo/grass-qa
 
 Further notification/functionality test systems:
-* http://cia.vc/stats/project/GRASS
 ** posts into #grass IRC channel
 ** posts into #osgeo-commits IRC channel
 
 == Previous hosting sponsors ==
 
+Since 2010 the GRASS GIS project is hosted at the Oregon State University Open Source Lab (OSUOSL), Oregon, USA
+
 Numerous institutions have sponsored the GRASS Project with Hardware/Bandwidth (list of master site hosting):
 * 1997-1999: Institut fuer Landschaftspflege und Naturschutz (ILN), Universitaet Hannover, Germany
 * 1999-2001: Institut fuer Physische Geographie und Landschaftsoekologie, Universitaet Hannover, Germany
 * 2001-2008: ITC-irst, Trento, Italy
 * 2009-2010: Telascience.org at San Diego Supercomputer Center, California, USA
-* Since 2010: Oregon State University Open Source Lab (OSUOSL), Oregon, USA
 
diff --git a/doc/vector/v.example/v.example.html b/doc/vector/v.example/v.example.html
index dad7561..3a22a9d 100644
--- a/doc/vector/v.example/v.example.html
+++ b/doc/vector/v.example/v.example.html
@@ -20,4 +20,4 @@ v.example input=map output=newmap
 
 Radim Blazek, ITC-irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2012-07-19 18:56:09 +0200 (Thu, 19 Jul 2012) $</i>
+<p><i>Last changed: $Date: 2012-07-19 09:56:09 -0700 (Thu, 19 Jul 2012) $</i>
diff --git a/general/g.access/g.access.html b/general/g.access/g.access.html
index afcc528..88ad0fa 100644
--- a/general/g.access/g.access.html
+++ b/general/g.access/g.access.html
@@ -41,4 +41,4 @@ UNIX manual entries for <em>chmod</em> and <em>group</em>
 Michael Shapiro, 
 U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/general/g.cairocomp/g.cairocomp.html b/general/g.cairocomp/g.cairocomp.html
index aad0cb1..e315e45 100644
--- a/general/g.cairocomp/g.cairocomp.html
+++ b/general/g.cairocomp/g.cairocomp.html
@@ -18,4 +18,4 @@ works with X Pixmaps instead of PNM files.
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2013-01-15 16:13:13 +0100 (Tue, 15 Jan 2013) $</i>
+<i>Last changed: $Date: 2013-01-15 07:13:13 -0800 (Tue, 15 Jan 2013) $</i>
diff --git a/general/g.copy/g.copy.html b/general/g.copy/g.copy.html
index 9741c53..df9a8f8 100644
--- a/general/g.copy/g.copy.html
+++ b/general/g.copy/g.copy.html
@@ -1,8 +1,8 @@
 <h2>DESCRIPTION</h2>
 
-A user may access data stored under the other mapsets listed in his
+A user may access data stored under the other mapsets listed in their
 mapset search path. However, the user may only modify data stored
-under his own current mapset. <em>g.copy</em> allows the user to copy
+under their own current mapset. <em>g.copy</em> allows the user to copy
 existing data files <b>from</b> other mapsets <b>to</b> the user's
 current mapset ($MAPSET). The files to be copied must exist in the
 user's current mapset search path and location; output is sent to the
@@ -73,4 +73,4 @@ U.S. Army Construction Engineering
 Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<i>Last changed: $Date: 2016-01-28 12:27:18 +0100 (Thu, 28 Jan 2016) $</i>
diff --git a/general/g.dirseps/g.dirseps.html b/general/g.dirseps/g.dirseps.html
index 2f90a8d..26131dc 100644
--- a/general/g.dirseps/g.dirseps.html
+++ b/general/g.dirseps/g.dirseps.html
@@ -8,4 +8,4 @@ It is used for interoperability between Unix and MS-Windows pathnames.
 
 Paul Kelly
 
-<p><i>Last changed: $Date: 2011-09-29 21:18:47 +0200 (Thu, 29 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2011-09-29 12:18:47 -0700 (Thu, 29 Sep 2011) $</i>
diff --git a/general/g.findfile/g.findfile.html b/general/g.findfile/g.findfile.html
index 973746e..7a9ea08 100644
--- a/general/g.findfile/g.findfile.html
+++ b/general/g.findfile/g.findfile.html
@@ -34,14 +34,18 @@ as follows:
 eval `g.findfile element=name mapset=name file=name`
 </pre></div>
 
-<p>
-For example (raster map):
+<h2>EXAMPLES</h2>
+
+<h3>SHELL</h3>
+
+<b>Raster map example:</b>
+
 <div class="code"><pre>
 eval `g.findfile element=cell file=elevation`
 </pre></div>
 
-If the specified file does not exist, the variables will be set as
-follows:
+If the specified file (here: raster map) does not exist, the variables
+will be set as follows:
 
 <div class="code"><pre>
 name=
@@ -58,7 +62,18 @@ then
 fi
 </pre></div>
 
-<h2>PYTHON</h2>
+<p>
+<b>Vector map example (including error message):</b>
+
+<div class="code"><pre>
+eval `g.findfile element=vector file="$G_OPT_V_INPUT"`
+if [ ! "$file" ] ; then
+   g.message -e "Vector map <$G_OPT_V_INPUT> not found"
+   exit 1
+fi
+</pre></div>
+
+<h3>PYTHON</h3>
 
 See <em><a href="http://grass.osgeo.org/grass70/manuals/libpython/">Python
 Scripting Library</a></em> for more info.
@@ -86,4 +101,4 @@ gcore.find_file('elevation', element = 'cell')
 Michael Shapiro,
 U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-03-15 22:08:33 +0100 (Tue, 15 Mar 2016) $</i>
diff --git a/general/g.gisenv/g.gisenv.html b/general/g.gisenv/g.gisenv.html
index 3938716..53f7dde 100644
--- a/general/g.gisenv/g.gisenv.html
+++ b/general/g.gisenv/g.gisenv.html
@@ -73,9 +73,9 @@ which fall under the same <em>LOCATION_NAME</em> all contain data
 geographically relevant to the <em>LOCATION_NAME</em>, and all store
 data in the same map coordinate system.  Frequently, maps are placed
 into different mapsets to distinguish file ownership - e.g., each user
-might have his own mapset, storing any maps that he has created and/or
-are relevant to his work.) During each GRASS session, the user must
-choose one mapset to be the <em>current mapset</em>; the current
+might have one or more own mapset(s), storing any maps that the user has
+created and/or are relevant to the own work.) During each GRASS session, the
+user must choose one mapset to be the <em>current mapset</em>; the current
 mapset setting is given by <em>MAPSET</em>, and is a subdirectory
 of <em>LOCATION_NAME</em>.  During a single GRASS session, the user
 can use available data in any of the mapsets stored under the
@@ -195,4 +195,4 @@ Michael Shapiro,
 U.S.Army Construction Engineering Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2014-12-15 23:40:52 +0100 (Mon, 15 Dec 2014) $</i>
+<i>Last changed: $Date: 2016-01-28 12:27:18 +0100 (Thu, 28 Jan 2016) $</i>
diff --git a/general/g.mapsets/g.mapsets.html b/general/g.mapsets/g.mapsets.html
index 8e8e1b2..4d44ffd 100644
--- a/general/g.mapsets/g.mapsets.html
+++ b/general/g.mapsets/g.mapsets.html
@@ -19,7 +19,7 @@ mapset with a session).
 
 <p>
 The user can add, modify, and delete data layers that exist under
-his <em>current mapset</em>. Although the user can
+their <em>current mapset</em>. Although the user can
 also <em>access</em> (i.e., use) data that are stored under
 <em>other</em> mapsets in the same GRASS location using the
 <tt>mapname at mapsetname</tt> notation or mapset search path, the user
@@ -42,7 +42,7 @@ may be called in such a manner.
 GRASS location, lists mapsets to which the user currently has access,
 and lists the order in which accessible mapsets will be accessed by
 GRASS programs searching for data files.  The user is then given the
-opportunity to add or delete mapset names from his search path, or
+opportunity to add or delete mapset names from the search path, or
 modify the order in which mapsets will be accessed.
 
 <p>
@@ -180,4 +180,4 @@ Greg Koerper, ManTech Environmental Technology, Inc.<br>
 Updated to GRASS 7 by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-05-29 11:34:08 +0200 (Fri, 29 May 2015) $</i>
+<i>Last changed: $Date: 2016-01-28 12:27:18 +0100 (Thu, 28 Jan 2016) $</i>
diff --git a/general/g.pnmcomp/g.pnmcomp.html b/general/g.pnmcomp/g.pnmcomp.html
index 1cbaaca..a6123c6 100644
--- a/general/g.pnmcomp/g.pnmcomp.html
+++ b/general/g.pnmcomp/g.pnmcomp.html
@@ -43,4 +43,4 @@ the existence of <em>g.pnmcomp</em>.
 
 Glynn Clements
 
-<p><i>Last changed: $Date: 2013-01-15 16:12:43 +0100 (Tue, 15 Jan 2013) $</i>
+<p><i>Last changed: $Date: 2013-01-15 07:12:43 -0800 (Tue, 15 Jan 2013) $</i>
diff --git a/general/g.ppmtopng/g.ppmtopng.html b/general/g.ppmtopng/g.ppmtopng.html
index 3940436..81adee0 100644
--- a/general/g.ppmtopng/g.ppmtopng.html
+++ b/general/g.ppmtopng/g.ppmtopng.html
@@ -8,4 +8,4 @@ convert between PPM/PGM and PNG image formats.
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2013-01-15 17:46:35 +0100 (Tue, 15 Jan 2013) $</i>
+<i>Last changed: $Date: 2013-01-15 08:46:35 -0800 (Tue, 15 Jan 2013) $</i>
diff --git a/general/g.proj/datumtrans.c b/general/g.proj/datumtrans.c
index 208d322..fb9c6cc 100644
--- a/general/g.proj/datumtrans.c
+++ b/general/g.proj/datumtrans.c
@@ -91,7 +91,7 @@ int set_datum(char *datum)
  *        co-ordinate system definition
  * 
  * \param datumtrans  Index number of parameter set to use, 0 to leave
- *                    unspecifed (or remove specific parameters, leaving just
+ *                    unspecified (or remove specific parameters, leaving just
  *                    the datum name), -1 to list the available parameter
  *                    sets for this datum and exit.
  *
diff --git a/general/g.proj/g.proj.html b/general/g.proj/g.proj.html
index a946be1..2ace36d 100644
--- a/general/g.proj/g.proj.html
+++ b/general/g.proj/g.proj.html
@@ -137,7 +137,7 @@ cat proj4.description | g.proj -w proj4=-
 </pre></div>
 
 <p>Create a new location with the co-ordinate system referred to by EPSG code
-4326 (Latitude-Longitude/WGS84), without explicitly specifiying datum
+4326 (Latitude-Longitude/WGS84), without explicitly specifying datum
 transformation parameters:<br>
 
 <div class="code"><pre>
@@ -228,4 +228,4 @@ ogr2ogr -t_srs "`g.proj -wf`" polbnda_italy_GB_ovest.shp polbnda_italy_LL.shp
 
 Paul Kelly
 
-<p><i>Last changed: $Date: 2015-11-24 09:08:30 +0100 (Tue, 24 Nov 2015) $</i>
+<p><i>Last changed: $Date: 2016-01-29 10:56:07 +0100 (Fri, 29 Jan 2016) $</i>
diff --git a/general/g.proj/input.c b/general/g.proj/input.c
index c4f6640..d02191e 100644
--- a/general/g.proj/input.c
+++ b/general/g.proj/input.c
@@ -136,7 +136,7 @@ int input_proj4(char *proj4params)
 	G_asprintf(&proj4string, "%s +no_defs", proj4params);
 
     /* Set finder function for locating OGR csv co-ordinate system tables */
-    SetCSVFilenameHook(GPJ_set_csv_loc);
+    /* SetCSVFilenameHook(GPJ_set_csv_loc); */
 
     hSRS = OSRNewSpatialReference(NULL);
     if (OSRImportFromProj4(hSRS, proj4string) != OGRERR_NONE)
@@ -174,7 +174,7 @@ int input_epsg(int epsg_num)
     int ret = 0;
 
     /* Set finder function for locating OGR csv co-ordinate system tables */
-    SetCSVFilenameHook(GPJ_set_csv_loc);
+    /* SetCSVFilenameHook(GPJ_set_csv_loc); */
 
     hSRS = OSRNewSpatialReference(NULL);
     if (OSRImportFromEPSG(hSRS, epsg_num) != OGRERR_NONE)
diff --git a/general/g.proj/output.c b/general/g.proj/output.c
index 02164a8..1bff612 100644
--- a/general/g.proj/output.c
+++ b/general/g.proj/output.c
@@ -54,7 +54,7 @@ void print_projinfo(int shell, const char *force_epsg)
         struct Key_Value *in_epsg_key;
         
         if (force_epsg) {
-            epsg_key = "epgs";
+            epsg_key = "epsg";
             epsg_value = force_epsg;
         }
         else {
diff --git a/general/g.setproj/g.setproj.html b/general/g.setproj/g.setproj.html
index 040aab4..ff41998 100644
--- a/general/g.setproj/g.setproj.html
+++ b/general/g.setproj/g.setproj.html
@@ -85,7 +85,7 @@ Research Laboratory<br>
 Morten Hulden, morten at untamo.net - rewrote module and added 121 projections <br>
 Andreas Lange, andreas.lange at rhein-main.de - added prelimnary map datum support
 
-<p><i>Last changed: $Date: 2012-03-30 13:56:21 +0200 (Fri, 30 Mar 2012) $</i>
+<p><i>Last changed: $Date: 2012-03-30 04:56:21 -0700 (Fri, 30 Mar 2012) $</i>
 
 
 </body>
diff --git a/general/g.tempfile/g.tempfile.html b/general/g.tempfile/g.tempfile.html
index 61ba47a..eca129f 100644
--- a/general/g.tempfile/g.tempfile.html
+++ b/general/g.tempfile/g.tempfile.html
@@ -49,4 +49,4 @@ Michael Shapiro,
 U.S. Army Construction Engineering 
 Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/gui/icons/Makefile b/gui/icons/Makefile
index bc94100..6365ef5 100644
--- a/gui/icons/Makefile
+++ b/gui/icons/Makefile
@@ -20,18 +20,45 @@ HTMLDIRS = \
 default: $(ETCICONS) $(HTMLICONS)
 	$(MKDIR) $(ARCH_DISTDIR)/share/applications
 	$(INSTALL_DATA) grass.desktop $(ARCH_DISTDIR)/share/applications
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/8x8/apps
+	$(INSTALL_DATA) grass-8x8.png $(ARCH_DISTDIR)/share/icons/hicolor/8x8/apps/grass70.png
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/16x16/apps
+	$(INSTALL_DATA) grass-16x16.png $(ARCH_DISTDIR)/share/icons/hicolor/16x16/apps/grass70.png
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/22x22/apps
+	$(INSTALL_DATA) grass-22x22.png $(ARCH_DISTDIR)/share/icons/hicolor/22x22/apps/grass70.png
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/24x24/apps
+	$(INSTALL_DATA) grass-24x24.png $(ARCH_DISTDIR)/share/icons/hicolor/24x24/apps/grass70.png
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/32x32/apps
+	$(INSTALL_DATA) grass-32x32.png $(ARCH_DISTDIR)/share/icons/hicolor/32x32/apps/grass70.png
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/36x36/apps
+	$(INSTALL_DATA) grass-36x36.png $(ARCH_DISTDIR)/share/icons/hicolor/36x36/apps/grass70.png
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/40x40/apps
+	$(INSTALL_DATA) grass-40x40.png $(ARCH_DISTDIR)/share/icons/hicolor/40x40/apps/grass70.png
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/42x42/apps
+	$(INSTALL_DATA) grass-42x42.png $(ARCH_DISTDIR)/share/icons/hicolor/42x42/apps/grass70.png
 	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/48x48/apps
 	$(INSTALL_DATA) grass-48x48.png $(ARCH_DISTDIR)/share/icons/hicolor/48x48/apps/grass70.png
 	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/64x64/apps
 	$(INSTALL_DATA) grass-64x64.png $(ARCH_DISTDIR)/share/icons/hicolor/64x64/apps/grass70.png
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/72x72/apps
+	$(INSTALL_DATA) grass-72x72.png $(ARCH_DISTDIR)/share/icons/hicolor/72x72/apps/grass70.png
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/80x80/apps
+	$(INSTALL_DATA) grass-80x80.png $(ARCH_DISTDIR)/share/icons/hicolor/80x80/apps/grass70.png
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/96x96/apps
+	$(INSTALL_DATA) grass-96x96.png $(ARCH_DISTDIR)/share/icons/hicolor/96x96/apps/grass70.png
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/128x128/apps
+	$(INSTALL_DATA) grass-128x128.png $(ARCH_DISTDIR)/share/icons/hicolor/128x128/apps/grass70.png
+	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/192x192/apps
+	$(INSTALL_DATA) grass-192x192.png $(ARCH_DISTDIR)/share/icons/hicolor/192x192/apps/grass70.png
 	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/scalable/apps
 	$(INSTALL_DATA) grass.svg $(ARCH_DISTDIR)/share/icons/hicolor/scalable/apps/grass70.svg
 	$(MKDIR) $(ARCH_DISTDIR)/share/appdata
 	$(INSTALL_DATA) grass.appdata.xml $(ARCH_DISTDIR)/share/appdata
-ifeq ($(findstring x86_64,$(ARCH)),x86_64)
-	$(INSTALL_DATA) x86_64/grass.ico $(GUIDIR)/icons
-	$(INSTALL_DATA) x86_64/grass_osgeo.ico $(GUIDIR)/icons
-endif
+### disable special 64bit icons (using different icons can be confusing for the user)
+# ifeq ($(findstring x86_64,$(ARCH)),x86_64)
+# 	$(INSTALL_DATA) x86_64/grass.ico $(GUIDIR)/icons
+# 	$(INSTALL_DATA) x86_64/grass_osgeo.ico $(GUIDIR)/icons
+# endif
 
 $(GUIDIR)/icons/%: % | $(DSTDIRS)
 	$(INSTALL_DATA) $< $@
diff --git a/gui/icons/grass-128x128.png b/gui/icons/grass-128x128.png
new file mode 100644
index 0000000..1a7f35b
Binary files /dev/null and b/gui/icons/grass-128x128.png differ
diff --git a/gui/icons/grass-16x16.png b/gui/icons/grass-16x16.png
new file mode 100644
index 0000000..5c33436
Binary files /dev/null and b/gui/icons/grass-16x16.png differ
diff --git a/gui/icons/grass-192x192.png b/gui/icons/grass-192x192.png
new file mode 100644
index 0000000..43d79a9
Binary files /dev/null and b/gui/icons/grass-192x192.png differ
diff --git a/gui/icons/grass-22x22.png b/gui/icons/grass-22x22.png
new file mode 100644
index 0000000..d35b82c
Binary files /dev/null and b/gui/icons/grass-22x22.png differ
diff --git a/gui/icons/grass-24x24.png b/gui/icons/grass-24x24.png
new file mode 100644
index 0000000..a2a230f
Binary files /dev/null and b/gui/icons/grass-24x24.png differ
diff --git a/gui/icons/grass-32x32.png b/gui/icons/grass-32x32.png
new file mode 100644
index 0000000..6f64722
Binary files /dev/null and b/gui/icons/grass-32x32.png differ
diff --git a/gui/icons/grass-36x36.png b/gui/icons/grass-36x36.png
new file mode 100644
index 0000000..a2f1d2d
Binary files /dev/null and b/gui/icons/grass-36x36.png differ
diff --git a/gui/icons/grass-40x40.png b/gui/icons/grass-40x40.png
new file mode 100644
index 0000000..e534142
Binary files /dev/null and b/gui/icons/grass-40x40.png differ
diff --git a/gui/icons/grass-42x42.png b/gui/icons/grass-42x42.png
new file mode 100644
index 0000000..35f847d
Binary files /dev/null and b/gui/icons/grass-42x42.png differ
diff --git a/gui/icons/grass-72x72.png b/gui/icons/grass-72x72.png
new file mode 100644
index 0000000..6cfb291
Binary files /dev/null and b/gui/icons/grass-72x72.png differ
diff --git a/gui/icons/grass-80x80.png b/gui/icons/grass-80x80.png
new file mode 100644
index 0000000..ab73745
Binary files /dev/null and b/gui/icons/grass-80x80.png differ
diff --git a/gui/icons/grass-8x8.png b/gui/icons/grass-8x8.png
new file mode 100644
index 0000000..d01b7be
Binary files /dev/null and b/gui/icons/grass-8x8.png differ
diff --git a/gui/icons/grass-96x96.png b/gui/icons/grass-96x96.png
new file mode 100644
index 0000000..a00d071
Binary files /dev/null and b/gui/icons/grass-96x96.png differ
diff --git a/gui/icons/grass.ico b/gui/icons/grass.ico
index baeb388..7e09ec7 100644
Binary files a/gui/icons/grass.ico and b/gui/icons/grass.ico differ
diff --git a/gui/icons/grass.svg b/gui/icons/grass.svg
index 6b4f22d..7028ee5 100644
--- a/gui/icons/grass.svg
+++ b/gui/icons/grass.svg
@@ -1,33 +1,175 @@
-<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
-<svg width="206.847" height="224.15">
-  <defs> 
-    <marker id="ArrowEnd" viewBox="0 0 10 10" refX="0" refY="5" 
-     markerUnits="strokeWidth" 
-     markerWidth="4" 
-     markerHeight="3" 
-     orient="auto"> 
-        <path d="M 0 0 L 10 5 L 0 10 z" /> 
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="206.847"
+   height="224.15"
+   id="svg4302"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="grass.svg">
+  <metadata
+     id="metadata4342">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1111"
+     id="namedview4340"
+     showgrid="false"
+     inkscape:zoom="4"
+     inkscape:cx="86.563766"
+     inkscape:cy="113.64851"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g4312" />
+  <defs
+     id="defs4304">
+    <marker
+       id="ArrowEnd"
+       viewBox="0 0 10 10"
+       refX="0"
+       refY="5"
+       markerUnits="strokeWidth"
+       markerWidth="4"
+       markerHeight="3"
+       orient="auto">
+      <path
+         d="M 0 0 L 10 5 L 0 10 z"
+         id="path4307" />
     </marker>
-    <marker id="ArrowStart" viewBox="0 0 10 10" refX="10" refY="5" 
-     markerUnits="strokeWidth" 
-     markerWidth="4" 
-     markerHeight="3" 
-     orient="auto"> 
-        <path d="M 10 0 L 0 5 L 10 10 z" /> 
-    </marker> </defs>
-<g>
-<path style="stroke:#000000; stroke-width:1.8; fill:none" d="M 116.294 213.434L 176.894 213.434"/>
-<path style="stroke:none; fill:#009000" d="M 132.734 88.0936L 132.434 89.4736L 130.874 93.0735L 127.094 99.4335L 116.294 116.054L 110.114 125.174L 105.134 134.054L 102.614 140.594L 105.134 144.494L 107.534 139.574L 116.474 122.414L 125.534 107.294L 129.314 99.9136L 132.434 93.7935L 133.274 91.6935L 133.454 89.6536L 133.094 88.0936L 132.734 88.0936z"/>
-<path style="stroke:none; fill:#009000" d="M 147.194 56.4136L 149.594 58.8135L 150.914 61.3936L 151.454 64.2736L 151.274 67.8735L 150.794 70.0936L 149.414 73.8735L 138.254 96.0135L 131.414 108.854L 125.714 120.854L 121.454 129.794L 113.534 146.414L 110.654 153.074L 106.514 162.374L 105.134 166.634L 103.814 171.254L 103.454 176.234L 101.414 159.614L 104.474 157.394L 106.214 153.254L 113.054 135.614L 121.274 118.814L 131.054 99.4335L 138.734 85.0336L 146.294 71.4736L 148.214 67.0336L 149.7 [...]
-<path style="stroke:none; fill:#009000" d="M 128.714 171.374L 130.334 160.994L 132.074 151.574L 135.314 141.974L 138.254 134.594L 141.194 124.634L 142.214 118.634L 142.034 125.834L 140.474 135.794L 137.054 149.174L 135.494 156.674L 134.834 162.014L 134.594 165.074L 129.314 170.234L 128.714 171.374z"/>
-<path style="stroke:none; fill:#009000" d="M 144.254 52.4536L 139.454 84.3135L 137.054 93.7935L 133.934 106.994L 128.294 129.614L 125.534 142.454L 122.654 157.994L 119.174 169.034L 123.434 177.074L 125.414 174.494L 128.654 149.294L 135.674 115.214L 140.654 89.8336L 144.434 61.6935L 145.094 52.6335L 144.254 52.4536z"/>
-<path style="stroke:none; fill:#009000" d="M 59.2335 70.1536L 63.3135 75.8535L 81.1335 102.554L 97.4535 128.474L 108.914 148.034L 118.334 165.494L 121.094 171.854L 123.794 176.654L 118.874 181.694L 117.614 175.874L 112.874 167.234L 107.534 158.294L 99.3135 144.554L 87.6735 126.074L 78.9135 112.154L 74.6535 104.774L 71.2335 98.6536L 65.5335 86.4736L 62.2935 79.0936L 60.0735 73.5735L 58.8735 70.1536L 59.2335 70.1536z"/>
-<path style="stroke:none; fill:#009000" d="M 101.414 181.274L 96.8535 150.014L 95.5335 137.894L 91.7535 108.374L 90.7335 93.8535L 90.4935 76.2736L 93.4335 95.5336L 95.8935 116.294L 99.6735 141.674L 101.714 160.154L 106.214 194.114L 102.614 187.754L 101.414 181.274z"/>
-<path style="stroke:none; fill:#009000" d="M 101.894 161.234L 102.614 148.514L 105.734 122.894L 106.754 111.374L 108.494 91.4536L 108.614 72.7935L 109.874 72.7935L 109.454 95.9536L 108.494 106.934L 105.614 135.494L 103.454 160.634"/>
-<path style="stroke:#000000; stroke-width:0.9; fill:#000000" d="M 105.134 202.274L 179.174 127.694L 181.154 130.274L 159.194 151.994L 161.714 155.174L 139.454 177.434L 142.874 180.854L 104.894 219.434L 66.5535 180.854L 70.0335 177.734L 46.8735 155.174L 50.2935 151.994L 28.0335 129.974L 30.3135 128.294L 105.134 202.274z"/>
-<path style="stroke:#000000; stroke-width:1.8; fill:none" d="M 30.0135 213.254L 92.8935 213.254"/>
-<path style="stroke:none; fill:#009000" d="M 56.4735 125.054L 58.8735 127.454L 61.4535 131.054L 66.2535 138.374L 71.4135 146.834L 78.7335 160.034L 83.8935 169.934L 86.2935 174.434L 87.1335 177.134L 100.334 189.854L 99.3135 185.714L 94.8735 172.154L 87.4935 152.954L 80.4735 134.774L 76.8735 126.074L 73.9335 119.534L 71.0535 114.254L 67.7535 108.554L 65.7135 105.314L 64.0335 102.374L 61.4535 99.4935L 57.1335 95.0535L 54.4335 91.7535L 60.9135 97.7535L 64.8735 101.714L 69.8535 108.254L 79.63 [...]
-<path style="stroke:none; fill:#009000" d="M 107.114 72.0735L 106.274 67.8135L 106.574 66.9736L 106.874 66.2535L 106.754 64.5735L 106.454 63.9736L 105.914 63.7335L 105.314 62.4136L 105.734 60.9736L 105.314 60.1335L 104.774 59.7136L 104.294 58.6935L 104.474 57.9736L 104.294 57.5535L 103.754 57.4335L 103.154 56.5936L 103.334 55.6935L 103.034 55.1536L 102.614 54.6735L 102.194 54.1335L 102.194 53.4136L 101.594 52.6935L 101.174 51.7935L 101.354 50.9536L 102.314 49.8135L 102.014 48.6735L 101.4 [...]
-<path style="stroke:#000000; stroke-width:1.8; fill:none" d="M 9.43352 102.794L 105.314 195.254L 197.414 102.014L 103.634 9.43353L 9.73352 103.514"/>
-</g>
-</svg>
\ No newline at end of file
+    <marker
+       id="ArrowStart"
+       viewBox="0 0 10 10"
+       refX="10"
+       refY="5"
+       markerUnits="strokeWidth"
+       markerWidth="4"
+       markerHeight="3"
+       orient="auto">
+      <path
+         d="M 10 0 L 0 5 L 10 10 z"
+         id="path4310" />
+    </marker>
+  </defs>
+  <g
+     id="g4312">
+    <image
+       y="-8.6000061"
+       x="-0.25"
+       id="image4831"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM8AAADgCAYAAACkezK8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
+WXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4AQPEx07J3SfpQAABQ1JREFUeNrt3E1uW1UYgOHzuW4J
+g0xATJGaSLAFBh3gQfeB6A6SFbCB7AAE++jADNkCUqzO0xGJIBG1LoMWiR9VTa6vfc93zvOuwDn3
+PD4/dlyKJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSmu729nZtFKQRcIZ3GQ1pBByApHt2fX394/Ce
+jI40Ag5A0g5wAJJ2gAOQtAMcgATODnAAEjgTZDQFDkDSYeEAJHAAkv7f1dXVd8OBMtoCByCBM09G
+X+AAJHAAktLAAUjgACRwAJLSwQFI4ACkFrq8vPx2SJqnJ3AAEjgAZSoMwTg4Jycn3zc1ESLMBXjA
+AQgecACCBxyA4AGnn4kBEDxT1OuNFEDwgAMQPOAABA84AMEDDkDwCByA4AEHIHjAAQgecACCBxwB
+BA84EO3aAhzJygOO1QcecACCBxyA4AFHAHWJBxyA4AEHoIpagKN9P4Ozs7MvrDzgaGTr9fr5arV6
+CQ84GtHd3d3PR0dHX8MDjka03W5fLZfLp/CAo44BBTiabfIlv4kLcARQp3jAAQgecACCBxz1ASjA
+EUCd4AEHIHjAUXJAAY4AahgPOADBA44aAhTgCKDG8ICj2gEFOAKoETzgKAugAEcAJccDjrIBCnAE
+UFI84CgroABHACXDA46yAwpwBFASPOCoFUABjgCqHA84ag1QgCOAKsUDjloFFOAIoMrwgKPWAQU4
+AqgSPOCoF0ABjgCaGQ846g1QgCOAZsIDjnoFFOBI4wAFONI4QAtwpAOdecCRVWeHbRtAcmHgzCNw
+5rmqBki9wtkZD0DqFc4keABSj3AmwwOQeoMzKR6A1BOcyfEApF7g7AUPQOoBTikjv55znxd7c3Pz
+k8emVuHsDU8ppRwfH3+z2WxeeHxqEc7etm22cWodzsHwAKTW4BwUD0BqCc7B8QCkVuDMggcgtQBn
+NjwAKTucWfEApMxwZscDkLLCqQIPQMoIpxo8ACkbnKrwAKRMcKrDA5CywKkSD0DKAKdaPACpdjhV
+4wFINcOpHg9A4FT9+jIMIkDgwAOQGoGTCg9A4NTWwsCqls7Pz79MNR8zDrIVqE04FxcXv8IDkB7Q
+er1+vlqtXqbbYmYedIDyt9lsXpyenv6Q8nyWffABytt2u321XC6fZn39TRzAAQJnjhYtPAg/75uv
+7HCawVOKn/fN9mbXxN/R4sOxjQMHHoDAgQcgcNr7dkjzX3cBCBx4AAIHHoDAgQcgdQunOzwAgQMP
+QODAAxA48AAETndzqft/awYIHHgAAgcegMCBByBw4AFI4MADEDjwAAQOPACBAw9A4PTVwhB8YOIs
+O7+OBQee0W3BETwmkZx5nH+8YcADEDjwAAQOPOoYEDguDA420eKz+AoceDSm1+WX+DSepUbzSXwO
+jm3bfB2XMvyWbxsHDTwAgQNP+j4uZfg9ByB44AEIHHia6kkpw12dgMCBp/4el1IelTL8UQ8icODJ
+NbpDHR+oRkT8/Xo0TT7n2WfDW0DxeN53/FiAY+XJ3KNShjeHX4Fi8Q4uOPAABA48AO3/YsBWzZmn
+qbalxJP9nYH+daMGjpWnyZalDH9OuwK5irby9NGbUuKj6SY7OFYeKxA4Vh49YAXa4QwEjpVHI27h
+wLHyqJS3t3APOAOBY+XRf7rP9+DAgUcjAIEDj0YAAseZRyPONHEEjvTgFWgYhsEeQZIkSZIkSZIk
+SZIkSZIkSZIkSZIkSZIkSZL+0V9jHfd/qLa8AAAAAABJRU5ErkJggg==
+"
+       preserveAspectRatio="none"
+       height="224"
+       width="207" />
+    <path
+       style="stroke:#000000; stroke-width:1.8; fill:none"
+       d="M 116.294 213.434L 176.894 213.434"
+       id="path4314" />
+    <path
+       style="stroke:none; fill:#009000"
+       d="M 132.734 88.0936L 132.434 89.4736L 130.874 93.0735L 127.094 99.4335L 116.294 116.054L 110.114 125.174L 105.134 134.054L 102.614 140.594L 105.134 144.494L 107.534 139.574L 116.474 122.414L 125.534 107.294L 129.314 99.9136L 132.434 93.7935L 133.274 91.6935L 133.454 89.6536L 133.094 88.0936L 132.734 88.0936z"
+       id="path4316" />
+    <path
+       style="stroke:none; fill:#009000"
+       d="M 147.194 56.4136L 149.594 58.8135L 150.914 61.3936L 151.454 64.2736L 151.274 67.8735L 150.794 70.0936L 149.414 73.8735L 138.254 96.0135L 131.414 108.854L 125.714 120.854L 121.454 129.794L 113.534 146.414L 110.654 153.074L 106.514 162.374L 105.134 166.634L 103.814 171.254L 103.454 176.234L 101.414 159.614L 104.474 157.394L 106.214 153.254L 113.054 135.614L 121.274 118.814L 131.054 99.4335L 138.734 85.0336L 146.294 71.4736L 148.214 67.0336L 149.714 62.8936L 149.594 60.8535L 148. [...]
+       id="path4318" />
+    <path
+       style="stroke:none; fill:#009000"
+       d="M 128.714 171.374L 130.334 160.994L 132.074 151.574L 135.314 141.974L 138.254 134.594L 141.194 124.634L 142.214 118.634L 142.034 125.834L 140.474 135.794L 137.054 149.174L 135.494 156.674L 134.834 162.014L 134.594 165.074L 129.314 170.234L 128.714 171.374z"
+       id="path4320" />
+    <path
+       style="stroke:none; fill:#009000"
+       d="M 144.254 52.4536L 139.454 84.3135L 137.054 93.7935L 133.934 106.994L 128.294 129.614L 125.534 142.454L 122.654 157.994L 119.174 169.034L 123.434 177.074L 125.414 174.494L 128.654 149.294L 135.674 115.214L 140.654 89.8336L 144.434 61.6935L 145.094 52.6335L 144.254 52.4536z"
+       id="path4322" />
+    <path
+       style="stroke:none; fill:#009000"
+       d="M 59.2335 70.1536L 63.3135 75.8535L 81.1335 102.554L 97.4535 128.474L 108.914 148.034L 118.334 165.494L 121.094 171.854L 123.794 176.654L 118.874 181.694L 117.614 175.874L 112.874 167.234L 107.534 158.294L 99.3135 144.554L 87.6735 126.074L 78.9135 112.154L 74.6535 104.774L 71.2335 98.6536L 65.5335 86.4736L 62.2935 79.0936L 60.0735 73.5735L 58.8735 70.1536L 59.2335 70.1536z"
+       id="path4324" />
+    <path
+       style="stroke:none; fill:#009000"
+       d="M 101.414 181.274L 96.8535 150.014L 95.5335 137.894L 91.7535 108.374L 90.7335 93.8535L 90.4935 76.2736L 93.4335 95.5336L 95.8935 116.294L 99.6735 141.674L 101.714 160.154L 106.214 194.114L 102.614 187.754L 101.414 181.274z"
+       id="path4326" />
+    <path
+       style="stroke:none; fill:#009000"
+       d="M 101.894 161.234L 102.614 148.514L 105.734 122.894L 106.754 111.374L 108.494 91.4536L 108.614 72.7935L 109.874 72.7935L 109.454 95.9536L 108.494 106.934L 105.614 135.494L 103.454 160.634"
+       id="path4328" />
+    <path
+       style="stroke:#000000; stroke-width:0.9; fill:#000000"
+       d="M 105.134 202.274L 179.174 127.694L 181.154 130.274L 159.194 151.994L 161.714 155.174L 139.454 177.434L 142.874 180.854L 104.894 219.434L 66.5535 180.854L 70.0335 177.734L 46.8735 155.174L 50.2935 151.994L 28.0335 129.974L 30.3135 128.294L 105.134 202.274z"
+       id="path4330" />
+    <path
+       style="stroke:#000000; stroke-width:1.8; fill:none"
+       d="M 30.0135 213.254L 92.8935 213.254"
+       id="path4332" />
+    <path
+       style="stroke:none; fill:#009000"
+       d="M 56.4735 125.054L 58.8735 127.454L 61.4535 131.054L 66.2535 138.374L 71.4135 146.834L 78.7335 160.034L 83.8935 169.934L 86.2935 174.434L 87.1335 177.134L 100.334 189.854L 99.3135 185.714L 94.8735 172.154L 87.4935 152.954L 80.4735 134.774L 76.8735 126.074L 73.9335 119.534L 71.0535 114.254L 67.7535 108.554L 65.7135 105.314L 64.0335 102.374L 61.4535 99.4935L 57.1335 95.0535L 54.4335 91.7535L 60.9135 97.7535L 64.8735 101.714L 69.8535 108.254L 79.6335 124.154L 87.0135 139.454L 96.2 [...]
+       id="path4334" />
+    <path
+       style="stroke:none; fill:#009000"
+       d="M 107.114 72.0735L 106.274 67.8135L 106.574 66.9736L 106.874 66.2535L 106.754 64.5735L 106.454 63.9736L 105.914 63.7335L 105.314 62.4136L 105.734 60.9736L 105.314 60.1335L 104.774 59.7136L 104.294 58.6935L 104.474 57.9736L 104.294 57.5535L 103.754 57.4335L 103.154 56.5936L 103.334 55.6935L 103.034 55.1536L 102.614 54.6735L 102.194 54.1335L 102.194 53.4136L 101.594 52.6935L 101.174 51.7935L 101.354 50.9536L 102.314 49.8135L 102.014 48.6735L 101.474 48.1335L 100.574 47.5336L 100. [...]
+       id="path4336" />
+    <path
+       style="stroke:#000000;stroke-width:1.8;fill:#000000;fill-opacity:0"
+       d="M 9.43352 102.794L 105.314 195.254L 197.414 102.014L 103.634 9.43353L 9.73352 103.514"
+       id="path4338" />
+  </g>
+  <path
+     style="fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:0"
+     d="M 104,9.6499939 9.75,103.14999 l 96,92.25 91.5,-93.75 z"
+     id="path4508"
+     inkscape:connector-curvature="0" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer6"
+     inkscape:label="Fill" />
+</svg>
diff --git a/gui/icons/grass_osgeo.ico b/gui/icons/grass_osgeo.ico
index 29eb7d1..50e7f45 100644
Binary files a/gui/icons/grass_osgeo.ico and b/gui/icons/grass_osgeo.ico differ
diff --git a/gui/wxpython/core/debug.py b/gui/wxpython/core/debug.py
index 7a75a5d..eba70d6 100644
--- a/gui/wxpython/core/debug.py
+++ b/gui/wxpython/core/debug.py
@@ -39,7 +39,13 @@ class DebugMsg:
     def SetLevel(self):
         """Initialize gui debug level
         """
-        self.debuglevel = int(grass.gisenv().get('WX_DEBUG', 0))
+        try:
+            self.debuglevel = int(grass.gisenv().get('WX_DEBUG', 0))
+            if self.debuglevel < 0 or self.debuglevel > 5:
+                raise ValueError(_("Wx debug level {}.").format(self.debuglevel))
+        except ValueError as e:
+            self.debuglevel = 0
+            sys.stderr.write(_("WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n").format(e))
         
     def msg(self, level, message, *args):
         """Print debug message
diff --git a/gui/wxpython/core/gconsole.py b/gui/wxpython/core/gconsole.py
index caede67..d777fba 100644
--- a/gui/wxpython/core/gconsole.py
+++ b/gui/wxpython/core/gconsole.py
@@ -116,7 +116,7 @@ class CmdThread(threading.Thread):
         os.environ['GRASS_MESSAGE_FORMAT'] = 'gui'
         while True:
             requestId, args, kwds = self.requestQ.get()
-            for key in ('callable', 'onDone', 'onPrepare', 'userData', 'notification'):
+            for key in ('callable', 'onDone', 'onPrepare', 'userData', 'addLayer', 'notification'):
                 if key in kwds:
                     vars()[key] = kwds[key]
                     del kwds[key]
@@ -202,6 +202,7 @@ class CmdThread(threading.Thread):
                                   pid=requestId,
                                   onDone=vars()['onDone'],
                                   userData=vars()['userData'],
+                                  addLayer=vars()['addLayer'],
                                   notification=vars()['notification'])
 
                 # send event
@@ -381,7 +382,7 @@ class GConsole(wx.EvtHandler):
     def Redirect(self):
         """Redirect stdout/stderr
         """
-        if Debug.GetLevel() == 0 and int(grass.gisenv().get('DEBUG', 0)) == 0:
+        if Debug.GetLevel() == 0 and grass.debug_level(force=True) == 0:
             # don't redirect when debugging is enabled
             sys.stdout = self.cmdStdOut
             sys.stderr = self.cmdStdErr
@@ -424,7 +425,8 @@ class GConsole(wx.EvtHandler):
         self.writeError.emit(text=text)
 
     def RunCmd(self, command, compReg=True, skipInterface=False,
-               onDone=None, onPrepare=None, userData=None, notification=Notification.MAKE_VISIBLE):
+               onDone=None, onPrepare=None, userData=None, addLayer=None,
+               notification=Notification.MAKE_VISIBLE):
         """Run command typed into console command prompt (GPrompt).
 
         .. todo::
@@ -445,6 +447,7 @@ class GConsole(wx.EvtHandler):
                                    given
         :param onDone: function to be called when command is finished
         :param onPrepare: function to be called before command is launched
+        :param addLayer: to be passed in the mapCreated signal
         :param userData: data defined for the command
         """
         if len(command) == 0:
@@ -512,7 +515,7 @@ class GConsole(wx.EvtHandler):
                                       stdout=self.cmdStdOut,
                                       stderr=self.cmdStdErr,
                                       onDone=onDone, onPrepare=onPrepare,
-                                      userData=userData,
+                                      userData=userData, addLayer=addLayer,
                                       env=os.environ.copy(),
                                       notification=notification)
                 self.cmdOutputTimer.Start(50)
@@ -564,7 +567,7 @@ class GConsole(wx.EvtHandler):
                                       stdout=self.cmdStdOut,
                                       stderr=self.cmdStdErr,
                                       onDone=onDone, onPrepare=onPrepare,
-                                      userData=userData,
+                                      userData=userData, addLayer=addLayer,
                                       notification=notification)
             self.cmdOutputTimer.Start(50)
 
@@ -670,7 +673,7 @@ class GConsole(wx.EvtHandler):
                         if '@' not in lname:
                             lname += '@' + grass.gisenv()['MAPSET']
                         if grass.find_file(lname, element=p.get('element'))['fullname']:
-                            self.mapCreated.emit(name=lname, ltype=prompt)
+                            self.mapCreated.emit(name=lname, ltype=prompt, add=event.addLayer)
         if name == 'r.mask':
             self.updateMap.emit()
         
diff --git a/gui/wxpython/core/globalvar.py b/gui/wxpython/core/globalvar.py
index 62050db..0413ab3 100644
--- a/gui/wxpython/core/globalvar.py
+++ b/gui/wxpython/core/globalvar.py
@@ -3,7 +3,7 @@
 
 @brief Global variables used by wxGUI
 
-(C) 2007-2014 by the GRASS Development Team
+(C) 2007-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -112,7 +112,7 @@ DIALOG_TEXTCTRL_SIZE = (400, -1)
 DIALOG_LAYER_SIZE = (100, -1)
 DIALOG_COLOR_SIZE = (30, 30)
 
-MAP_WINDOW_SIZE = (800, 600)
+MAP_WINDOW_SIZE = (825, 600)
 
 GM_WINDOW_MIN_SIZE = (525, 400)
 # small for ms window which wraps the menu
diff --git a/gui/wxpython/core/settings.py b/gui/wxpython/core/settings.py
index 7400b9a..03fa1ab 100644
--- a/gui/wxpython/core/settings.py
+++ b/gui/wxpython/core/settings.py
@@ -11,7 +11,7 @@ Usage:
 from core.settings import UserSettings
 @endcode
 
-(C) 2007-2011 by the GRASS Development Team
+(C) 2007-2016 by the GRASS Development Team
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
 
@@ -83,10 +83,10 @@ class Settings:
                 # use default window layout (layer manager, displays, ...)
                 'defWindowPos' : {
                     'enabled' : True,
-                    'dim' : '0,0,%d,%d,%d,0,%d,%d' % \
+                    'dim' : '1,1,%d,%d,%d,1,%d,%d' % \
                         (globalvar.GM_WINDOW_SIZE[0],
                          globalvar.GM_WINDOW_SIZE[1],
-                         globalvar.GM_WINDOW_SIZE[0],
+                         globalvar.GM_WINDOW_SIZE[0] + 1,
                          globalvar.MAP_WINDOW_SIZE[0],
                          globalvar.MAP_WINDOW_SIZE[1])
                     },
@@ -768,6 +768,7 @@ class Settings:
                         'raster'   : (215, 215, 248, 255), # light blue
                         'raster3d' : (215, 248, 215, 255), # light green
                         'vector'   : (248, 215, 215, 255), # light red
+                        'dbtable'  : (255, 253, 194, 255), # light yellow
                         },
                     'size' : {
                         'width' : 175,
@@ -776,7 +777,7 @@ class Settings:
                     },
                 'loop' : {
                     'color' : {
-                        'valid'   :  (234, 226, 154, 255), # light yellow
+                        'valid'   :  (234, 226, 154, 255), # dark yellow
                         },
                     'size' : {
                         'width' : 175,
diff --git a/gui/wxpython/core/utils.py b/gui/wxpython/core/utils.py
index 894a3d3..ea6153b 100644
--- a/gui/wxpython/core/utils.py
+++ b/gui/wxpython/core/utils.py
@@ -3,7 +3,7 @@
 
 @brief Misc utilities for wxGUI
 
-(C) 2007-2013 by the GRASS Development Team
+(C) 2007-2015 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -1175,6 +1175,32 @@ def doc_test():
     do_doctest_gettext_workaround()
     return doctest.testmod().failed
 
+def registerPid(pid):
+    """Register process id as GUI_PID GRASS variable
 
+    :param: pid process id
+    """
+    env = grass.gisenv()
+    guiPid = []
+    if 'GUI_PID' in env:
+        guiPid = env['GUI_PID'].split(',')
+    guiPid.append(str(pid))
+    grass.run_command('g.gisenv', set='GUI_PID={}'.format(','.join(guiPid)))
+    
+def unregisterPid(pid):
+    """Unregister process id from GUI_PID GRASS variable
+
+    :param: pid process id
+    """
+    env = grass.gisenv()
+    if 'GUI_PID' not in env:
+        return
+    
+    guiPid = env['GUI_PID'].split(',')
+    pid = str(os.getpid())
+    if pid in guiPid:
+        guiPid.remove(pid)
+        grass.run_command('g.gisenv', set='GUI_PID={}'.format(','.join(guiPid)))
+    
 if __name__ == '__main__':
     sys.exit(doc_test())
diff --git a/gui/wxpython/core/workspace.py b/gui/wxpython/core/workspace.py
index 6f001cf..7bcfe02 100644
--- a/gui/wxpython/core/workspace.py
+++ b/gui/wxpython/core/workspace.py
@@ -8,7 +8,7 @@ Classes:
  - workspace::WriteWorkspaceFile
  - workspace::ProcessGrcFile
 
-(C) 2007-2011 by the GRASS Development Team
+(C) 2007-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
diff --git a/gui/wxpython/dbmgr/base.py b/gui/wxpython/dbmgr/base.py
index 24dc19d..9bc4c52 100644
--- a/gui/wxpython/dbmgr/base.py
+++ b/gui/wxpython/dbmgr/base.py
@@ -1522,11 +1522,11 @@ class DbMgrBrowsePage(DbMgrNotebookBase):
         table    = self.dbMgrData['mapDBInfo'].layers[self.selLayer]["table"]
         key      = self.dbMgrData['mapDBInfo'].layers[self.selLayer]["key"]
         
-        indeces = []
+        indices = []
         # collect SQL statements
         while item != -1:
             index = dlist.itemIndexMap[item]
-            indeces.append(index)
+            indices.append(index)
             
             cat = dlist.itemCatsMap[index]
             
@@ -1557,7 +1557,7 @@ class DbMgrBrowsePage(DbMgrNotebookBase):
         
         i = 0
         for index in indexTemp:
-            if index in indeces:
+            if index in indices:
                 continue
             dlist.itemIndexMap.append(i)
             dlist.itemDataMap[i] = dataTemp[index]
@@ -1840,11 +1840,12 @@ class DbMgrBrowsePage(DbMgrNotebookBase):
             if self.dbMgrData['mapDBInfo'].tables[table][whereCol]['ctype'] == str:
                 # string attribute, check for quotes
                 whereVal = whereVal.replace('"', "'")
-                if not whereVal.startswith("'"):
-                    whereVal = "'" + whereVal
-                if not whereVal.endswith("'"):
-                    whereVal += "'"
-                whereWin.SetValue(whereVal)
+                if whereVal:
+                    if not whereVal.startswith("'"):
+                        whereVal = "'" + whereVal
+                    if not whereVal.endswith("'"):
+                        whereVal += "'"
+                    whereWin.SetValue(whereVal)
             
             try:
                 if len(whereVal) > 0:
diff --git a/gui/wxpython/dbmgr/dbmgr_frame.jpg b/gui/wxpython/dbmgr/dbmgr_frame.jpg
deleted file mode 100644
index 4a7c203..0000000
Binary files a/gui/wxpython/dbmgr/dbmgr_frame.jpg and /dev/null differ
diff --git a/gui/wxpython/dbmgr/dbmgr_frame.png b/gui/wxpython/dbmgr/dbmgr_frame.png
new file mode 100644
index 0000000..d719b54
Binary files /dev/null and b/gui/wxpython/dbmgr/dbmgr_frame.png differ
diff --git a/gui/wxpython/dbmgr/dbmgr_sql_builder.png b/gui/wxpython/dbmgr/dbmgr_sql_builder.png
new file mode 100644
index 0000000..6e044e7
Binary files /dev/null and b/gui/wxpython/dbmgr/dbmgr_sql_builder.png differ
diff --git a/gui/wxpython/dbmgr/g.gui.dbmgr.html b/gui/wxpython/dbmgr/g.gui.dbmgr.html
index bb6131e..cf8cbeb 100644
--- a/gui/wxpython/dbmgr/g.gui.dbmgr.html
+++ b/gui/wxpython/dbmgr/g.gui.dbmgr.html
@@ -25,11 +25,18 @@ module <em>g.gui.dbmgr</em>.
 </ul>
 
 <center>
+<a href="dbmgr_frame.png"><img src="dbmgr_frame.png" alt="Attribute Table Manager" width="600"></a>
 <br>
-<img src="dbmgr_frame.jpg" border="1" alt="Attribute Table Manager">
-<br><br>
+<i>Figure: Simple attribute filtering using Attribute Table Manager.</i>
 </center>
 
+<h3>SQL Builder</h3>
+
+<center>
+<a href="dbmgr_sql_builder.png"><img src="dbmgr_sql_builder.png" alt="Attribute Table Manager and SQL Builder" width="700"></a>
+<br>
+<i>Figure: Attribute filtering using Attribute Table Manager and SQL Builder.</i>
+</center>
 
 <h2>SEE ALSO</h2>
 
@@ -68,10 +75,10 @@ tutorials</a>.
 <h2>AUTHORS</h2>
 
 Martin Landa, <a href="http://www.fbk.eu">FBK-irst</a> (2007-2008),
-Trento, Italy, and <a href="http://www.cvut.cz">Czech Technical
-University in Prague</a>, Czech Republic<br>
+Trento, Italy, and OSGeoREL at the Czech Technical
+University in Prague, Czech Republic<br>
 Michael Barton, Arizona State University, USA<br>
 Jachym Cepicky
 
 <p>
-<i>$Date: 2014-04-20 19:57:39 +0200 (Sun, 20 Apr 2014) $</i>
+<i>$Date: 2016-04-09 17:17:44 +0200 (Sat, 09 Apr 2016) $</i>
diff --git a/gui/wxpython/docs/wxGUI.html b/gui/wxpython/docs/wxGUI.html
index ada5e9e..817e53f 100644
--- a/gui/wxpython/docs/wxGUI.html
+++ b/gui/wxpython/docs/wxGUI.html
@@ -609,11 +609,17 @@ the computational region extents.
   <dt>Esc</dt>
   <dd>Hide command tooltips</dd>
   <dt>Ctrl+Space</dt>
-  <dd>Map entries without arguments (as in <tt>r.info [mapname]</tt>)</dd>
+  <dd>Show auto-complete suggestions</dd>
   <dt>Up/Down</dt>
   <dd>List command history</dd>
   <dt>Enter</dt>
   <dd>Run command</dd>
+  <dt>Ctrl++</dt>
+  <dd>Increase font size (numerical keyboard plus key)</dd>
+  <dt>Ctrl+-</dt>
+  <dd>Decrease font size (numerical keyboard minus key)</dd>
+  <dt>Ctrl+mouse wheel</dt>
+  <dd>Increase or decrease font size</dd>
 </dl>
 
 <h4>Map Display</h4>
@@ -715,4 +721,4 @@ Matej Krejci, OSGeoREL, Czech Technical University in Prague, Czech Republic<br>
 Icons created by <a href="http://robert.szczepanek.pl">Robert Szczepanek</a>, Poland (<a href="https://svn.osgeo.org/osgeo/graphics/trunk/toolbar-icons/24x24/">SVN</a>)
 
 <p>
-<i>$Date: 2015-09-06 14:24:18 +0200 (Sun, 06 Sep 2015) $</i>
+<i>$Date: 2016-03-25 16:15:23 +0100 (Fri, 25 Mar 2016) $</i>
diff --git a/gui/wxpython/docs/wxGUI.toolboxes.html b/gui/wxpython/docs/wxGUI.toolboxes.html
index 9a885ff..a8a7dc4 100644
--- a/gui/wxpython/docs/wxGUI.toolboxes.html
+++ b/gui/wxpython/docs/wxGUI.toolboxes.html
@@ -127,7 +127,7 @@ where we omitted the two toolboxes:</p>
 
 <h3>Creating custom toolbox</h3>
 
-<p>In this example we create a new toolbox <em>Favorites</em> containg
+<p>In this example we create a new toolbox <em>Favorites</em> containing
 existing GRASS module and toolbox, custom module
 created by the user and addon module.
 The <tt>toolboxes.xml</tt> file contains following lines:</p>
@@ -208,4 +208,4 @@ Vaclav Petras, OSGeoREL, Faculty of Civil Engineering, Czech Technical Universit
 
 
 <p>
-<em>$Date: 2013-07-04 14:49:20 +0200 (Thu, 04 Jul 2013) $</em>
+<em>$Date: 2016-03-08 09:08:23 +0100 (Tue, 08 Mar 2016) $</em>
diff --git a/gui/wxpython/gis_set.py b/gui/wxpython/gis_set.py
index 33629ad..3e7c63d 100644
--- a/gui/wxpython/gis_set.py
+++ b/gui/wxpython/gis_set.py
@@ -1050,7 +1050,7 @@ class GListBox(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin):
         """Load data into list
         
         :param choices: list of item
-        :param disabled: list of indeces of non-selectable items
+        :param disabled: list of indices of non-selectable items
         """
         idx = 0
         for item in choices:
diff --git a/gui/wxpython/gmodeler/Makefile b/gui/wxpython/gmodeler/Makefile
index e14518a..38f7382 100644
--- a/gui/wxpython/gmodeler/Makefile
+++ b/gui/wxpython/gmodeler/Makefile
@@ -2,4 +2,7 @@ MODULE_TOPDIR = ../../..
 
 include $(MODULE_TOPDIR)/include/Make/GuiScript.make
 
-default: guiscript
+default: guiscript sample_model
+
+sample_model: g_gui_gmodeler_zipcodes_avg_elevation.gxm
+	$(INSTALL_DATA) $< $(HTMLDIR)
diff --git a/gui/wxpython/gmodeler/dialogs.py b/gui/wxpython/gmodeler/dialogs.py
index fc4530b..ccc0807 100644
--- a/gui/wxpython/gmodeler/dialogs.py
+++ b/gui/wxpython/gmodeler/dialogs.py
@@ -53,16 +53,21 @@ class ModelDataDialog(SimpleDialog):
         SimpleDialog.__init__(self, parent, title)
                 
         self.element = Select(parent = self.panel,
+                              type = self.shape.GetPrompt(),
                               validator = SimpleValidator(callback = self.ValidatorCallback))
-        self.element.SetValue(shape.GetValue())
+        if shape.GetValue():
+            self.element.SetValue(shape.GetValue())
         
         self.Bind(wx.EVT_BUTTON, self.OnOK,     self.btnOK)
         self.Bind(wx.EVT_BUTTON, self.OnCancel, self.btnCancel)
         if self.etype:
             self.typeSelect = ElementSelect(parent = self.panel,
+                                            elements = ['raster', 'raster_3d', 'vector'],
                                             size = globalvar.DIALOG_GSELECT_SIZE)
             self.typeSelect.Bind(wx.EVT_CHOICE, self.OnType)
-        
+            self.typeSelect.SetSelection(0)
+            self.element.SetType('raster')
+            
         if shape.GetValue():
             self.btnOK.Enable()
         
@@ -118,7 +123,9 @@ class ModelDataDialog(SimpleDialog):
             if elem == 'raster':
                 self.shape.SetPrompt('raster')
             elif elem == 'vector':
-                self.shape.SetPrompt('raster')
+                self.shape.SetPrompt('vector')
+            elif elem == 'raster_3d':
+                self.shape.SetPrompt('raster_3d')
         
         self.parent.canvas.Refresh()
         self.parent.SetStatusText('', 0)
@@ -884,7 +891,7 @@ class ItemListCtrl(ModelListCtrl):
             self.DeleteItem(item)
             del self.itemDataMap[item]
             
-            action = model.GetItem(item+1) # action indeces starts at 1
+            action = model.GetItem(item+1) # action indices starts at 1
             if not action:
                 item = self.GetFirstSelected()
                 continue
diff --git a/gui/wxpython/gmodeler/frame.py b/gui/wxpython/gmodeler/frame.py
index c6af050..141dc41 100644
--- a/gui/wxpython/gmodeler/frame.py
+++ b/gui/wxpython/gmodeler/frame.py
@@ -789,7 +789,7 @@ class ModelFrame(wx.Frame):
             x = width/2 - 200 + self._randomShift()
             y = height/2 + self._randomShift()
             for p in params['params']:
-                if p.get('prompt', '') in ('raster', 'vector', 'raster_3d') and \
+                if p.get('prompt', '') in ('raster', 'vector', 'raster_3d', 'dbtable') and \
                         (p.get('value', None) or \
                              (p.get('age', 'old') != 'old' and p.get('required', 'no') == 'yes')):
                     data = layer.FindData(p.get('name', ''))
@@ -1189,10 +1189,11 @@ class ModelEvtHandler(ogl.ShapeEvtHandler):
                                  completed = (self.frame.GetOptData, shape, shape.GetParams()))
         
         elif isinstance(shape, ModelData):
-            dlg = ModelDataDialog(parent = self.frame, shape = shape)
-            shape.SetPropDialog(dlg)
-            dlg.CentreOnParent()
-            dlg.Show()
+            if shape.GetPrompt() in ('raster', 'vector', 'raster_3d'):
+                dlg = ModelDataDialog(parent = self.frame, shape = shape)
+                shape.SetPropDialog(dlg)
+                dlg.CentreOnParent()
+                dlg.Show()
         
         elif isinstance(shape, ModelLoop):
             dlg = ModelLoopDialog(parent = self.frame, shape = shape)
@@ -1373,6 +1374,7 @@ class ModelEvtHandler(ogl.ShapeEvtHandler):
             comment = dlg.GetValue()
             shape.SetComment(comment)
             self.frame.ModelChanged()
+            self.frame.canvas.Refresh()
         dlg.Destroy()
 
     def _onSelectShape(self, shape, append=False):
@@ -1632,7 +1634,7 @@ class ItemPanel(wx.Panel):
         self.list.OnReload(None)
 
     def _getSelectedItems(self):
-        """Get list of selected items, indeces start at 0"""
+        """Get list of selected items, indices start at 0"""
         items = []
         current = -1
         while True:
diff --git a/gui/wxpython/gmodeler/g.gui.gmodeler.html b/gui/wxpython/gmodeler/g.gui.gmodeler.html
index 6d81345..043ce15 100644
--- a/gui/wxpython/gmodeler/g.gui.gmodeler.html
+++ b/gui/wxpython/gmodeler/g.gui.gmodeler.html
@@ -11,12 +11,18 @@ operations are not isolated, but part of a chain of operations. Using
 Graphical Modeler, that chain of processes (ie. GRASS modules)
 can be wrapped into one process (ie. model). So it's easier to execute
 the model later with slightly different inputs or parameters.
-
-<p>
-The modeler can be launched from the Layer Manager menu <tt>File ->
-Graphical modeler</tt> or from the main
-toolbar <img src="icons/modeler-main.png" alt="icon">. It's also
-available as stand-alone module <em>g.gui.gmodeler</em>.
+<br>
+Models represent a programming technique used in GRASS GIS to
+concatenate models together to accomplish a task. It is advantageous
+when user see boxes and ovals that are connected by lines and
+represent some tasks rather than seeing lines of coded text. Graphical
+Modeler can be used as custom tool that automates a process. Created
+model can simplify or shorten a task can be run many times and it can
+also be shared with others. Important note is that models cannot
+perform specified tasks that one cannot perform manually with GRASS
+GIS. It is recommended to first do process manually, note the steps
+(eg. using Copy button in module dialogs) and later duplicate them in
+model.
 
 <p>
 The Graphical Modeler allows you to:
@@ -30,18 +36,220 @@ The Graphical Modeler allows you to:
   <li>parameterize GRASS commands</li>
   <li>define intermediate data</li>
   <li>validate and run model</li>
-  <li>store model properties to the file (<tt>GRASS Model File|*.gxm</tt>)</li>
+  <li>store model properties to the file (<i>GRASS Model File|*.gxm</i>)</li>
   <li>export model to Python script</li>
   <li>export model to image file</li>
 </ul>
 
+<h3>Main dialog</h3>
+
+Graphical Modeler can be launched from the Layer Manager menu
+<tt>File -> Graphical modeler</tt> or from the main
+toolbar <img src="icons/modeler-main.png" alt="icon">. It's also
+available as stand-alone module <em>g.gui.gmodeler</em>.
+
+<p>
+The main Graphical Modeler menu contains options which enable the user
+to fully control the model. Directly under the main menu one can find
+toolbar with buttons (see figure below). There are options like
+(<font size="2" color="red">1</font>) Create new model,
+(<font size="2" color="red">2</font>) Load model from file,
+(<font size="2" color="red">3</font>) Save current model to file,
+(<font size="2" color="red">4</font>) Export model to image,
+(<font size="2" color="red">5</font>) Export model to Python script,
+(<font size="2" color="red">6</font>) Add command (GRASS modul) to
+model, (<font size="2" color="red">7</font>) Add data to model,
+(<font size="2" color="red">8</font>) Manually define relation between
+data and commands, (<font size="2" color="red">9</font>) Add
+loop/series to model, (<font size="2" color="red">10</font>) Add
+comment to model, (<font size="2" color="red">11</font>) Redraw model
+canvas, (<font size="2" color="red">12</font>) Validate model,
+(<font size="2" color="red">13</font>) Run model, (<font size="2"
+color="red">14</font>) Manage model variables, (<font size="2"
+color="red">15</font>) Model settings, (<font size="2"
+color="red">16</font>) Show manual and last of them is button
+(<font size="2" color="red">17</font>) Quit Graphical Modeler.
+
+<p>
+<center>
+<br>
+<img src="g_gui_gmodeler_toolbar.png">
+<br>
+<i>Figure: Components of Graphical Modeler menu toolbar.</i>
+</center>
+
+<p>
+There is also lower menu bar in Graphical modeler dialog where one can
+manage model items, see commands, add or manage model variables,
+define default values and descriptions. Python editor dialog window
+allows to see performation written in Python code. Rightmost tab of
+bottom menu is automatically triggered when model is activated and
+shows all the steps of running GRASS modeler modules. In case of some
+errors in calculation process, it is written at that place.
+
+<center>
+<br>
+<img src="g_gui_gmodeler_lower_toolbar.png">
+<br>
+<i>Figure: Lower Graphical Modeler menu toolbar.</i>
+</center>
+
+<h3>Components of models</h3>
+
+The workflow is usually established from four types of diagrams. Input and derived 
+model data are usually represented with oval diagram. 
+This type of model elements stores path to 
+specific data on user's disk. It is possible to insert vector data, raster data, 
+database tables, etc. Type of data is clear distinguishable in model by color. 
+Different model elements are shown on the figures below.
+
+<ul>
+  <li> (<font size="2" color="red">A</font>) raster data: <img src="g_gui_gmodeler_mraster.png" alt="raster" style="margin: 0px 0px -5px 0px">
+  <li> (<font size="2" color="red">B</font>) relation: <img src="g_gui_gmodeler_mrelation.png" alt="relation" style="margin: 10px 0px 0px 0px">
+  <li> (<font size="2" color="red">C</font>) GRASS module: <img src="g_gui_gmodeler_mmodule.png" alt="module" style="margin: 0px 0px -5px 0px">
+  <li> (<font size="2" color="red">D</font>) loop: <img src="g_gui_gmodeler_mloop.png" alt="loop" style="margin: 15px 0px -5px 0px">
+  <li> (<font size="2" color="red">E</font>) database table: <img src="g_gui_gmodeler_mdb.png" alt="db" style="margin: 10px 0px -5px 0px">
+  <li> (<font size="2" color="red">F</font>) 3D raster data: <img src="g_gui_gmodeler_mraster3d.png" alt="raster3D" style="margin: 10px 0px -5px 0px"> 
+  <li> (<font size="2" color="red">G</font>) vector data: <img src="g_gui_gmodeler_mvector.png" alt="vector" style="margin: 10px 0px -5px 0px">  
+  <li> (<font size="2" color="red">H</font>) disabled GRASS module: <img src="g_gui_gmodeler_mmodulex.png" alt="module" style="margin: 10px 0px -5px 0px"> 
+  <li> (<font size="2" color="red">I</font>) comment: <img src="g_gui_gmodeler_mcomment.png" alt="comment" style="margin: 10px 0px -5px 0px">  
+</ul> 
+
+<center>
+<img src="g_gui_gmodeler_frame1.png">
+<br>
+<i>Figure: A model to perform unsupervised classification using MLC
+(<a href="i.maxlik.html">i.maxlik</a>) and SMAP
+(<a href="i.smap.html">i.smap</a>).</i>
+</center>
+
+<p>
+Another example:
+
+<center>
+<img src="g_gui_gmodeler_frame2.png">
+<br>
+<i>Figure: A model to perform estimation of average annual soil loss
+caused by sheet and rill erosion using The Universal Soil Loss
+Equation.</i>
+</center>
+
+<p>
+Example as part of landslide prediction process:
+
 <center>
 <br>
-<img src="gmodeler_frame.png">
+<img src="g_gui_gmodeler_frame3.png">
 <br>
-<i>Figure: A model to perform unsupervised classification using MLC and SMAP</i>
+<i>Figure: A model to perform creation of parametric maps used by geologists 
+to predict landlides in area of interest.</i>
 </center>
 
+<h2>EXAMPLE</h2>
+
+In this example <tt>zipcodes_wake</tt> vector data
+and <tt>elev_state_500m</tt> raster data from the North Carolina
+sample dataset (original <a href="http://grass.osgeo.org/sampledata/north_carolina/nc_rast_geotiff.zip">raster</a> and
+<a href="http://grass.osgeo.org/sampledata/north_carolina/nc_shape.zip">vector</a>
+data) are used to calculate average elevation for every
+zone. Important part of the process is Graphical Modeler, namely it's
+possibilities of process automation.
+
+<p>
+In command console it would be as follows:
+
+<div class="code"><pre>
+# input data import
+r.import input=elev_state_500m.tif output=elevation 
+v.import input=zipcodes_wake.shp output=zipcodes_wake 
+# computation region settings
+g.region vector=zipcodes_wake  
+# raster statistics (average values), upload to vector map table calculation
+v.rast.stats -c map=zipcodes_wake raster=elevation column_prefix=rst method=average 
+# univariate statistics on selected table column for zipcode map calculation
+v.db.univar map=zipcodes_wake column=rst_average 
+# conversation from vector to raster layer (due to result presentation)
+v.to.rast input=zipcodes_wake output=zipcodes_avg use=attr attribute_column=rst_average 
+# display settings
+r.colors -e map=zipcodes_avg color=bgyr                                         
+d.mon start=wx0 bgcolor=white                                                   
+d.barscale style=arrow_ends color=black bgcolor=white fontsize=10
+d.rast map=zipcodes_avg bgcolor=white                                                                                                 
+d.vect map=zipcodes_wake type=boundary color=black                                                     
+d.northarrow style=1a at=85.0,15.0 color=black fill_color=black width=0 fontsize=10
+d.legend raster=zipcodes_avg lines=50 thin=5 labelnum=5 color=black fontsize=10 
+</pre></div>
+
+To start performing above steps as automatic process with Graphical Modeler press 
+<img src="icons/modeler-main.png" alt="icon"> icon or
+type <em>g.gui.gmodeler</em>. The simplest way of inserting elements
+is by adding complete GRASS command to Command field in GRASS command
+dialog (see figure below).  With full text search one can faster
+module hunting. Then label and command can be added. In case that only
+module name is inserted, after <i>Enter</i> button pressing, module
+dialog window is displayed and it is possible to set all of usual
+module options (parameters and flags).
+
+<center>
+<img src="g_gui_gmodeler_dlg_module.png">
+<br>
+<i>Figure: Dialog for adding GRASS commands to model.</i>
+</center>
+
+<p>  
+All of used modules can be parameterized in model. That causes launching 
+dialog with input options for model after model is run. In this example
+input layers (<tt>zipcodes_wake</tt> vector data and <tt>elev_state_500m</tt> 
+raster data) are parameterized. Parameterized elements have a little thicker boarder
+in model scheme with diagrams.
+
+<center>
+<img src="g_gui_gmodeler_parameter.png">
+<br>
+<i>Figure: A model parameter settings.</i>
+</center>
+
+<p>
+Final model, list of all model items, Python code window with <i>Save</i> and 
+<i>Run</i> option are on figures below.
+
+<center>
+<img src="g_gui_gmodeler_zc.png">
+<br>
+<i>Figure: A model to perform average statistics for zipcode zones.</i>
+</center>
+<br>
+<center>
+<img src="g_gui_gmodeler_zc_items.png">
+<br>
+<i>Figure: Items with Python editor window.</i>
+</center>
+
+<p>The resultant model for Graphical Modeler is
+available <a href="g_gui_gmodeler_zipcodes_avg_elevation.gxm
+">here</a>.
+
+<p>
+After model is run with <img src="icons/execute.png" alt="run"> button
+and inputs are set, results can be displayed as follows:
+
+<center>
+<img src="g_gui_gmodeler_avg_auto.png">
+<br>
+<i>Figure: Average elevation for zipcodes using North Carolina sample dataset as 
+automatic calculation performed by Graphical Modeler.</i>
+</center>
+
+<p>
+Very useful advantage is that for example, this model can later be
+used to calculate (let's say) average precipe value for every
+administrative region in Slovakia using <tt>precip</tt> raster data
+from
+<a href="https://grass.osgeo.org/uploads/grass/sampledata/slovakia3d_grass7.tar.gz">
+Slovakia precipitation dataset</a> and administration boudaries of Slovakia from 
+<a href="https://www.geoportal.sk/sk/zbgis_smd/na-stiahnutie/">Slovak Geoportal</a>
+(only with a few clicks).
+
 <h2>SEE ALSO</h2>
 
 <em>
@@ -49,9 +257,11 @@ The Graphical Modeler allows you to:
   <a href="wxGUI.components.html">wxGUI components</a>
 </em>
 
+<!--
 <p>
 User-defined models available
 from <a href="http://svn.osgeo.org/grass/grass-addons/wxgui_modeler">SVN</a>.
+-->
 
 <p>
 See also
@@ -59,9 +269,10 @@ the <a href="http://grasswiki.osgeo.org/wiki/WxGUI_Graphical_Modeler">wiki</a> p
 (especially various <a href="http://grasswiki.osgeo.org/wiki/WxGUI_Graphical_Modeler#Video_tutorials">video
 tutorials</a>).
 
-<h2>AUTHOR</h2>
+<h2>AUTHORS</h2>
 
-Martin Landa, OSGeoREL, Czech Technical University in Prague, Czech Republic
+Martin Landa, OSGeoREL, Czech Technical University in Prague, Czech Republic<br>
+Various manual improvements by Ludmila Furkevicova, Slovak University of Technology in Bratislava, Slovak Republic
 
 <p>
-<i>$Date: 2015-02-14 13:09:41 +0100 (Sat, 14 Feb 2015) $</i>
+<i>$Date: 2016-03-12 17:03:01 +0100 (Sat, 12 Mar 2016) $</i>
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_avg_auto.png b/gui/wxpython/gmodeler/g_gui_gmodeler_avg_auto.png
new file mode 100644
index 0000000..85a24f0
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_avg_auto.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_dlg_module.png b/gui/wxpython/gmodeler/g_gui_gmodeler_dlg_module.png
new file mode 100644
index 0000000..51efbcd
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_dlg_module.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_frame1.png b/gui/wxpython/gmodeler/g_gui_gmodeler_frame1.png
new file mode 100644
index 0000000..379b81e
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_frame1.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_frame2.png b/gui/wxpython/gmodeler/g_gui_gmodeler_frame2.png
new file mode 100644
index 0000000..339cfe7
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_frame2.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_frame3.png b/gui/wxpython/gmodeler/g_gui_gmodeler_frame3.png
new file mode 100644
index 0000000..35a82a8
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_frame3.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_lower_toolbar.png b/gui/wxpython/gmodeler/g_gui_gmodeler_lower_toolbar.png
new file mode 100644
index 0000000..2023634
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_lower_toolbar.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mcomment.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mcomment.png
new file mode 100644
index 0000000..8e6297e
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mcomment.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mdb.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mdb.png
new file mode 100644
index 0000000..6d75a99
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mdb.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mloop.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mloop.png
new file mode 100644
index 0000000..49cdc2f
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mloop.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mmodule.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mmodule.png
new file mode 100644
index 0000000..897adcb
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mmodule.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mmodulex.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mmodulex.png
new file mode 100644
index 0000000..583b29d
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mmodulex.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mraster.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mraster.png
new file mode 100644
index 0000000..e3f0046
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mraster.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mraster3d.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mraster3d.png
new file mode 100644
index 0000000..31d87d9
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mraster3d.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mrelation.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mrelation.png
new file mode 100644
index 0000000..c1d164f
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mrelation.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mvector.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mvector.png
new file mode 100644
index 0000000..3130ddb
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mvector.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_parameter.png b/gui/wxpython/gmodeler/g_gui_gmodeler_parameter.png
new file mode 100644
index 0000000..4d1dae7
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_parameter.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_toolbar.png b/gui/wxpython/gmodeler/g_gui_gmodeler_toolbar.png
new file mode 100644
index 0000000..f18e262
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_toolbar.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_zc.png b/gui/wxpython/gmodeler/g_gui_gmodeler_zc.png
new file mode 100644
index 0000000..790b21a
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_zc.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_zc_items.png b/gui/wxpython/gmodeler/g_gui_gmodeler_zc_items.png
new file mode 100644
index 0000000..df4ba16
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_zc_items.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_zipcodes_avg_elevation.gxm b/gui/wxpython/gmodeler/g_gui_gmodeler_zipcodes_avg_elevation.gxm
new file mode 100644
index 0000000..dfccc51
--- /dev/null
+++ b/gui/wxpython/gmodeler/g_gui_gmodeler_zipcodes_avg_elevation.gxm
@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE gxm SYSTEM "grass-gxm.dtd">
+<gxm>
+    <window pos="47,27" size="1022,548" />
+    <properties>
+        <name>zipcodes_avg_elevation</name>
+        <description>Sample model for wxGUI Graphical Modeler.</description>
+        <author>ludka</author>
+    </properties>
+    <variables>
+        <variable name="raster" type="file">
+            <value>/opt/geodata/ncrast/elev_state_500m.tif</value>
+            <description>Input raster</description>
+        </variable>
+        <variable name="vector" type="file">
+            <value>/opt/geodata/ncshape/zipcodes_wake.shp</value>
+            <description>Input boundaries</description>
+        </variable>
+    </variables>
+    <action id="1" name="r.import" pos="85,65" size="110,58">
+        <comment>raster import</comment>
+        <task name="r.import">
+            <parameter name="input">
+                <value>%raster</value>
+            </parameter>
+            <parameter name="memory">
+                <value>300</value>
+            </parameter>
+            <parameter name="output">
+                <value>elevation</value>
+            </parameter>
+            <parameter name="resample">
+                <value>nearest</value>
+            </parameter>
+            <parameter name="extent">
+                <value>input</value>
+            </parameter>
+            <parameter name="resolution">
+                <value>estimated</value>
+            </parameter>
+            <flag name="overwrite" />
+        </task>
+    </action>
+    <action id="2" name="v.import" pos="85,125" size="110,46">
+        <comment>vector import</comment>
+        <task name="v.import">
+            <parameter name="input">
+                <value>%vector</value>
+            </parameter>
+            <parameter name="output">
+                <value>zipcodes_wake</value>
+            </parameter>
+            <parameter name="extent">
+                <value>input</value>
+            </parameter>
+            <parameter name="snap">
+                <value>1e-13</value>
+            </parameter>
+            <flag name="o" />
+            <flag name="overwrite" />
+        </task>
+    </action>
+    <action id="3" name="g.region" pos="85,180" size="110,52">
+        <comment>region settings</comment>
+        <task name="g.region">
+            <parameter name="vector">
+                <value>zipcodes_wake</value>
+            </parameter>
+            <parameter name="res">
+                <value>10</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="4" name="v.rast.stats" pos="460,65" size="148,46">
+        <comment>method = average</comment>
+        <task name="v.rast.stats">
+            <parameter name="map">
+                <value>zipcodes_wake</value>
+            </parameter>
+            <parameter name="layer">
+                <value>1</value>
+            </parameter>
+            <parameter name="raster">
+                <value>elevation</value>
+            </parameter>
+            <parameter name="column_prefix">
+                <value>rst</value>
+            </parameter>
+            <parameter name="method">
+                <value>average</value>
+            </parameter>
+            <parameter name="percentile">
+                <value>90</value>
+            </parameter>
+            <flag name="c" />
+        </task>
+    </action>
+    <action id="5" name="v.db.univar" pos="240,205" size="108,50">
+        <task name="v.db.univar">
+            <parameter name="map">
+                <value>zipcodes_wake</value>
+            </parameter>
+            <parameter name="layer">
+                <value>1</value>
+            </parameter>
+            <parameter name="column">
+                <value>rst_average</value>
+            </parameter>
+            <parameter name="percentile">
+                <value>90</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="6" name="v.to.rast" pos="405,185" size="114,42">
+        <comment>average raster</comment>
+        <task name="v.to.rast">
+            <parameter name="input">
+                <value>zipcodes_wake</value>
+            </parameter>
+            <parameter name="layer">
+                <value>1</value>
+            </parameter>
+            <parameter name="type">
+                <value>point,line,area</value>
+            </parameter>
+            <parameter name="output">
+                <value>zipcodes_avg</value>
+            </parameter>
+            <parameter name="use">
+                <value>attr</value>
+            </parameter>
+            <parameter name="attribute_column">
+                <value>rst_average</value>
+            </parameter>
+            <parameter name="value">
+                <value>1</value>
+            </parameter>
+            <parameter name="memory">
+                <value>300</value>
+            </parameter>
+            <flag name="overwrite" />
+        </task>
+    </action>
+    <action id="7" name="r.colors" pos="385,250" size="116,44">
+        <comment>bgyr color table</comment>
+        <task name="r.colors">
+            <parameter name="map">
+                <value>zipcodes_avg</value>
+            </parameter>
+            <parameter name="color">
+                <value>bgyr</value>
+            </parameter>
+            <flag name="e" />
+        </task>
+    </action>
+    <action id="8" name="d.mon" pos="285,310" size="122,42">
+        <comment>monitor display</comment>
+        <task name="d.mon">
+            <parameter name="start">
+                <value>wx0</value>
+            </parameter>
+            <parameter name="bgcolor">
+                <value>white</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="9" name="d.barscale" pos="595,290" size="134,38">
+        <comment>barscale display</comment>
+        <task name="d.barscale">
+            <parameter name="style">
+                <value>arrow_ends</value>
+            </parameter>
+            <parameter name="color">
+                <value>black</value>
+            </parameter>
+            <parameter name="bgcolor">
+                <value>white</value>
+            </parameter>
+            <parameter name="text_position">
+                <value>right</value>
+            </parameter>
+            <parameter name="fontsize">
+                <value>10</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="10" name="d.rast" pos="705,100" size="106,44">
+        <comment>raster display</comment>
+        <task name="d.rast">
+            <parameter name="map">
+                <value>zipcodes_avg</value>
+            </parameter>
+            <parameter name="bgcolor">
+                <value>white</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="11" name="d.vect" pos="505,125" size="130,46">
+        <comment>vector display</comment>
+        <task name="d.vect">
+            <parameter name="map">
+                <value>zipcodes_wake</value>
+            </parameter>
+            <parameter name="layer">
+                <value>1</value>
+            </parameter>
+            <parameter name="display">
+                <value>shape</value>
+            </parameter>
+            <parameter name="type">
+                <value>boundary</value>
+            </parameter>
+            <parameter name="color">
+                <value>black</value>
+            </parameter>
+            <parameter name="fill_color">
+                <value>200:200:200</value>
+            </parameter>
+            <parameter name="width">
+                <value>0</value>
+            </parameter>
+            <parameter name="width_scale">
+                <value>1</value>
+            </parameter>
+            <parameter name="icon">
+                <value>basic/x</value>
+            </parameter>
+            <parameter name="size">
+                <value>5</value>
+            </parameter>
+            <parameter name="label_layer">
+                <value>1</value>
+            </parameter>
+            <parameter name="label_color">
+                <value>red</value>
+            </parameter>
+            <parameter name="label_bgcolor">
+                <value>none</value>
+            </parameter>
+            <parameter name="label_bcolor">
+                <value>none</value>
+            </parameter>
+            <parameter name="label_size">
+                <value>8</value>
+            </parameter>
+            <parameter name="xref">
+                <value>left</value>
+            </parameter>
+            <parameter name="yref">
+                <value>center</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="12" name="d.northarrow" pos="720,240" size="156,42">
+        <comment>northarrow display</comment>
+        <task name="d.northarrow">
+            <parameter name="style">
+                <value>1a</value>
+            </parameter>
+            <parameter name="at">
+                <value>85.0,15.0</value>
+            </parameter>
+            <parameter name="color">
+                <value>black</value>
+            </parameter>
+            <parameter name="fill_color">
+                <value>black</value>
+            </parameter>
+            <parameter name="width">
+                <value>0</value>
+            </parameter>
+            <parameter name="fontsize">
+                <value>10</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="13" name="d.legend" pos="440,310" size="138,46">
+        <comment>legend display</comment>
+        <task name="d.legend">
+            <parameter name="raster">
+                <value>zipcodes_avg</value>
+            </parameter>
+            <parameter name="lines">
+                <value>50</value>
+            </parameter>
+            <parameter name="thin">
+                <value>5</value>
+            </parameter>
+            <parameter name="labelnum">
+                <value>5</value>
+            </parameter>
+            <parameter name="color">
+                <value>black</value>
+            </parameter>
+            <parameter name="fontsize">
+                <value>10</value>
+            </parameter>
+        </task>
+    </action>
+    <data pos="265,65" size="175,50">
+        <data-parameter prompt="raster">
+            <value>elevation</value>
+        </data-parameter>
+        <relation dir="from" id="4" name="raster">
+        </relation>
+        <relation dir="to" id="1" name="output">
+        </relation>
+    </data>
+    <data pos="275,125" size="175,50">
+        <data-parameter prompt="vector">
+            <value>zipcodes_wake</value>
+        </data-parameter>
+        <relation dir="from" id="4" name="map">
+        </relation>
+        <relation dir="from" id="5" name="map">
+        </relation>
+        <relation dir="from" id="6" name="input">
+        </relation>
+        <relation dir="from" id="11" name="map">
+        </relation>
+        <relation dir="from" id="3" name="vector">
+        </relation>
+        <relation dir="to" id="2" name="output">
+        </relation>
+    </data>
+    <data pos="575,185" size="175,50">
+        <data-parameter prompt="raster">
+            <value>zipcodes_avg</value>
+        </data-parameter>
+        <relation dir="from" id="7" name="map">
+        </relation>
+        <relation dir="from" id="10" name="map">
+        </relation>
+        <relation dir="from" id="13" name="raster">
+        </relation>
+        <relation dir="to" id="6" name="output">
+        </relation>
+    </data>
+</gxm>
diff --git a/gui/wxpython/gmodeler/gmodeler_frame.png b/gui/wxpython/gmodeler/gmodeler_frame.png
deleted file mode 100644
index e741a31..0000000
Binary files a/gui/wxpython/gmodeler/gmodeler_frame.png and /dev/null differ
diff --git a/gui/wxpython/gmodeler/model.py b/gui/wxpython/gmodeler/model.py
index 31edfed..ff0f80b 100644
--- a/gui/wxpython/gmodeler/model.py
+++ b/gui/wxpython/gmodeler/model.py
@@ -18,7 +18,7 @@ Classes:
  - model::WritePythonFile
  - model::ModelParamDialog
 
-(C) 2010-2014 by the GRASS Development Team
+(C) 2010-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -120,7 +120,10 @@ class Model(object):
             item = self.items.pop(oldIdx)
             items.append(item)
             self.items.insert(newIdx, item)
-            nextItem = self.items[newIdx+1]
+            try:
+                nextItem = self.items[newIdx+1]
+            except IndexError:
+                continue # newIdx is the last item in the list
             items.append(nextItem)
             x = item.GetX()
             y = item.GetY()
@@ -552,7 +555,7 @@ class Model(object):
         :param onPrepare: on-prepare method
         :param statusbar: wx.StatusBar instance or None
         """
-        name = item.GetLabel()
+        name = '({0}) {1}'.format(item.GetId(), item.GetLabel())
         if name in params:
             paramsOrig = item.GetParams(dcopy = True)
             item.MergeParams(params[name])
@@ -811,11 +814,13 @@ class Model(object):
         for action in self.GetItems(objType = ModelAction):
             if not action.IsEnabled():
                 continue
-            name   = action.GetLabel()
+            name   = '({0}) {1}'.format(action.GetId(), action.GetLabel())
             params = action.GetParams()
+            increment = False
             for f in params['flags']:
                 if f.get('parameterized', False):
                     if name not in result:
+                        increment = True
                         result[name] = { 'flags' : list(),
                                          'params': list(),
                                          'idx'   : idx }
@@ -823,11 +828,12 @@ class Model(object):
             for p in params['params']:
                 if p.get('parameterized', False):
                     if name not in result:
+                        increment = True
                         result[name] = { 'flags' : list(),
                                          'params': list(),
                                          'idx'   : idx }
                     result[name]['params'].append(p)
-            if name in result:
+            if increment:
                 idx += 1
         
         self.variablesParams = result # record parameters
@@ -1068,17 +1074,27 @@ class ModelAction(ModelObject, ogl.DividedShape):
 
     def SetComment(self, comment):
         """Set comment"""
+        self.comment = comment
+
         if self.regionComment is None:
             self.regionComment = ogl.ShapeRegion()
             self.regionComment.SetFormatMode(ogl.FORMAT_CENTRE_HORIZ)
             font = wx.SystemSettings_GetFont(wx.SYS_DEFAULT_GUI_FONT)
             font.SetStyle(wx.ITALIC)
             self.regionComment.SetFont(font)
+
+        ### clear doesn't work
+        ### self.regionComment.ClearText()
+        self.regionComment.SetText(comment)
+
+        self.ClearRegions()
+        self.AddRegion(self.regionLabel)
+        self.regionLabel.SetProportions(0.0, 1.0)
+
+        if self.comment:
             self.AddRegion(self.regionComment)
             self.regionLabel.SetProportions(0.0, 0.4)
-            
-        self.comment = comment
-        self.regionComment.SetText(comment)
+
         self.SetRegionSizes()
         self.ReformatRegions()
 
@@ -1367,12 +1383,15 @@ class ModelData(ModelObject, ogl.EllipseShape):
         if self.prompt == 'raster':
             color = UserSettings.Get(group = 'modeler', key = 'data',
                                      subkey = ('color', 'raster'))
-        elif self.prompt == 'raster3d':
+        elif self.prompt == 'raster_3d':
             color = UserSettings.Get(group = 'modeler', key = 'data',
                                      subkey = ('color', 'raster3d'))
         elif self.prompt == 'vector':
             color = UserSettings.Get(group = 'modeler', key = 'data',
                                      subkey = ('color', 'vector'))
+        elif self.prompt == 'dbtable':
+            color = UserSettings.Get(group = 'modeler', key = 'data',
+                                     subkey = ('color', 'dbtable'))
         else:
             color = UserSettings.Get(group = 'modeler', key = 'action',
                                      subkey = ('color', 'invalid'))
@@ -2515,15 +2534,15 @@ if __name__ == "__main__":
         """
         result = ''
         ss = re.split("\w*(%"+variable+")w*", string)
-
-        if not ss[0]:
+        
+        if not ss[0] and not ss[-1]:
             if data:
                 return "options['%s']" % variable
             else:
                 return variable
         
         for s in ss:
-            if s == '"':
+            if not s or s == '"':
                 continue
             
             if s == '%' + variable:
@@ -2532,7 +2551,9 @@ if __name__ == "__main__":
                 else:
                     result += '+%s+' % variable
             else:
-                result += '"' + s + '"'
+                result += '"' + s
+                if not s.endswith(']'): # options
+                    result += '"'
         
         return result.strip('+')
 
diff --git a/gui/wxpython/gmodeler/preferences.py b/gui/wxpython/gmodeler/preferences.py
index 79060ce..40003b3 100644
--- a/gui/wxpython/gmodeler/preferences.py
+++ b/gui/wxpython/gmodeler/preferences.py
@@ -261,7 +261,24 @@ class PreferencesDialog(PreferencesBaseDialog):
                       flag = wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos = (row, 1))
+
+        row += 1
+        gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
+                                         label = _("Table:")),
+                      flag = wx.ALIGN_LEFT |
+                      wx.ALIGN_CENTER_VERTICAL,
+                      pos = (row, 0))
+        tColor = csel.ColourSelect(parent = panel, id = wx.ID_ANY,
+                                   colour = self.settings.Get(group='modeler', key='data', subkey=('color', 'dbtable')),
+                                   size = globalvar.DIALOG_COLOR_SIZE)
+        tColor.SetName('GetColour')
+        self.winId['modeler:data:color:dbtable'] = tColor.GetId()
         
+        gridSizer.Add(item = tColor,
+                      flag = wx.ALIGN_RIGHT |
+                      wx.ALIGN_CENTER_VERTICAL,
+                      pos = (row, 1))
+
         gridSizer.AddGrowableCol(0)
         sizer.Add(item = gridSizer, proportion = 1, flag = wx.ALL | wx.EXPAND, border = 5)
         border.Add(item = sizer, proportion = 0, flag = wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border = 3)
diff --git a/gui/wxpython/gui_core/dialogs.py b/gui/wxpython/gui_core/dialogs.py
index 6d0dbe1..c155e20 100644
--- a/gui/wxpython/gui_core/dialogs.py
+++ b/gui/wxpython/gui_core/dialogs.py
@@ -23,7 +23,7 @@ List of classes:
  - :class:`SymbolDialog`
  - :class:`QuitDialog`
 
-(C) 2008-2015 by the GRASS Development Team
+(C) 2008-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -43,6 +43,7 @@ import wx.lib.mixins.listctrl as listmix
 
 from grass.script import core as grass
 from grass.script import task as gtask
+from grass.script.utils import natural_sort
 
 from grass.pydispatch.signal import Signal
 
@@ -1414,7 +1415,7 @@ class MapLayersDialogBase(wx.Dialog):
         :param str mapset: mapset name
         """
         self.map_layers = grass.list_grouped(type = type)[mapset]
-        self.layers.Set(self.map_layers)
+        self.layers.Set(natural_sort(self.map_layers))
         
         # check all items by default
         for item in range(self.layers.GetCount()):
@@ -1480,7 +1481,8 @@ class MapLayersDialogBase(wx.Dialog):
                     list.append(layer)
             except:
                 pass
-        
+        list = natural_sort(list)
+
         self.layers.Set(list)
         self.OnSelectAll(None)
         
@@ -1995,7 +1997,7 @@ class GdalImportDialog(ImportDialog):
                 cmd.append('--overwrite')
             
             # run in Layer Manager
-            self._giface.RunCmd(cmd, onDone = self.OnCmdDone, userData = userData)
+            self._giface.RunCmd(cmd, onDone=self.OnCmdDone, userData=userData, addLayer=False)
 
     def OnCmdDone(self, event):
         """Load layers and close if required"""
@@ -2165,7 +2167,7 @@ class DxfImportDialog(ImportDialog):
                 cmd.append('--overwrite')
             
             # run in Layer Manager
-            self._giface.RunCmd(cmd, onDone=self.OnCmdDone)
+            self._giface.RunCmd(cmd, onDone=self.OnCmdDone, addLayer=False)
 
     def OnCmdDone(self, event):
         """Load layers and close if required"""
@@ -2743,6 +2745,7 @@ class TextEntryDialog(wx.Dialog):
         self._textCtrl = wx.TextCtrl(self, id=wx.ID_ANY,
                                      value=defaultValue, validator=validator, style=textStyle)
         self._textCtrl.SetInitialSize(textSize)
+        wx.CallAfter(self._textCtrl.SetFocus)
         
         vbox.Add(item=self._textCtrl, proportion=0, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10)
         self._textCtrl.SetFocus()
@@ -2793,8 +2796,7 @@ class HyperlinkDialog(wx.Dialog):
 
 class QuitDialog(wx.Dialog):
     def __init__(self, parent, title=_("Quit GRASS GIS"), id=wx.ID_ANY,
-                 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER,
-                 size=(350, 150), **kwargs):
+                 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER, **kwargs):
         """Dialog to quit GRASS
         
         :param parent: window
@@ -2802,23 +2804,25 @@ class QuitDialog(wx.Dialog):
         wx.Dialog.__init__(self, parent, id, title, style=style, **kwargs)
         self.panel = wx.Panel(parent = self, id = wx.ID_ANY)
 
+        self._icon = wx.StaticBitmap(parent=self.panel, id=wx.ID_ANY,
+                                     bitmap=wx.ArtProvider().GetBitmap(wx.ART_QUESTION, client=wx.ART_MESSAGE_BOX))
+
         self.informLabel = wx.StaticText(parent=self.panel, id=wx.ID_ANY,
                                          label=_("Do you want to quit GRASS including shell "
                                                  "prompt or just close the GUI?"))
         self.btnCancel = wx.Button(parent = self.panel, id = wx.ID_CANCEL)
         self.btnClose = wx.Button(parent = self.panel, id = wx.ID_NO,
                                    label=_("Close GUI"))
+        self.btnClose.SetFocus()
         self.btnQuit = wx.Button(parent = self.panel, id = wx.ID_YES,
                                    label=_("Quit GRASS GIS"))
         self.btnQuit.SetMinSize((130, self.btnQuit.GetSize()[1]))
         self.btnQuit.SetForegroundColour(wx.Colour(35, 142, 35))
-        self.btnQuit.SetDefault()
         
         self.btnClose.Bind(wx.EVT_BUTTON, self.OnClose)
         self.btnQuit.Bind(wx.EVT_BUTTON, self.OnQuit)
         
         self.__layout()
-        self.SetSize(size)
 
     def __layout(self):
         """Do layout"""
@@ -2829,13 +2833,17 @@ class QuitDialog(wx.Dialog):
         btnSizer.Add(item=self.btnClose, flag=wx.RIGHT, border=5)
         btnSizer.Add(item=self.btnQuit, flag=wx.RIGHT, border=5)
         
-        sizer.Add(item = self.informLabel, proportion = 1,
-                  flag = wx.EXPAND | wx.ALL, border = 25)
+        bodySizer = wx.BoxSizer(wx.HORIZONTAL)
+        bodySizer.Add(item=self._icon, flag=wx.RIGHT, border=10)
+        bodySizer.Add(item=self.informLabel, proportion=1, flag=wx.EXPAND)
+        
+        sizer.Add(item = bodySizer, proportion = 1,
+                  flag = wx.EXPAND | wx.ALL, border = 15)
         sizer.Add(item = btnSizer, proportion = 0,
                   flag = wx.ALL | wx.ALIGN_RIGHT, border = 5)
 
         self.panel.SetSizer(sizer)
-        sizer.Fit(self.panel)
+        sizer.Fit(self)
         self.Layout()
         
     def OnClose(self, event):
diff --git a/gui/wxpython/gui_core/forms.py b/gui/wxpython/gui_core/forms.py
index c72daf5..4c4ed6b 100644
--- a/gui/wxpython/gui_core/forms.py
+++ b/gui/wxpython/gui_core/forms.py
@@ -2393,20 +2393,6 @@ class GUI:
                                        { 'cmd' : cmd[0],
                                          'key' : key })
                         continue
-                    multiple = task['multiple']
-                    element = task['element']
-                    # to filter out g.copy, g.rename
-                    key_desc = task['key_desc']
-                    # do we need to find mapset for each of multiple maps?
-                    if element in ['cell', 'vector'] and not multiple and len(key_desc) != 2:
-                        # mapname -> mapname at mapset
-                        try:
-                            name, mapset = value.split('@')
-                        except ValueError:
-                            mapset = grass.find_file(value, element)['mapset']
-                            curr_mapset = grass.gisenv()['MAPSET']
-                            if mapset and mapset !=  curr_mapset:
-                                value = value + '@' + mapset
                     
                     self.grass_task.set_param(key, value)
                     cmd_validated.append(key + '=' + value)
diff --git a/gui/wxpython/gui_core/gselect.py b/gui/wxpython/gui_core/gselect.py
index 4b5695f..a578463 100644
--- a/gui/wxpython/gui_core/gselect.py
+++ b/gui/wxpython/gui_core/gselect.py
@@ -247,8 +247,9 @@ class ListCtrlComboPopup(wx.combo.ComboPopup):
         if inputText:
             root = self.seltree.GetRootItem()
             match = self.FindItem(root, inputText, startLetters = True)
-            self.seltree.EnsureVisible(match)
-            self.seltree.SelectItem(match)
+            if match.IsOk():
+                self.seltree.EnsureVisible(match)
+                self.seltree.SelectItem(match)
 
     def GetAdjustedSize(self, minWidth, prefHeight, maxHeight):
         """Reads UserSettings to get height (which was 200 in old implementation).
@@ -409,8 +410,9 @@ class TreeCtrlComboPopup(ListCtrlComboPopup):
         """
         # update list
         self.seltree.DeleteAllItems()
-        self._getElementList(self.type, self.mapsets, elements, exclude)
-
+        if self.type:
+            self._getElementList(self.type, self.mapsets, elements, exclude)
+        
         if len(self.value) > 0:
             root = self.seltree.GetRootItem()
             if not root:
@@ -553,7 +555,7 @@ class TreeCtrlComboPopup(ListCtrlComboPopup):
         :param exclude: True to exclude, False for forcing the list
         :param node: parent node
         """
-        elist.sort()
+        elist = grass.natural_sort(elist)
         for elem in elist:
             if elem != '':
                 fullqElem = elem + '@' + mapset
@@ -2072,11 +2074,13 @@ class ProjSelect(wx.ComboBox):
         self.SetValue('')
 
 class ElementSelect(wx.Choice):
-    def __init__(self, parent, id = wx.ID_ANY, size = globalvar.DIALOG_COMBOBOX_SIZE,
+    def __init__(self, parent, id = wx.ID_ANY, elements = None,
+                 size = globalvar.DIALOG_COMBOBOX_SIZE,
                  **kwargs):
         """Widget for selecting GIS element
 
         :param parent: parent window
+        :param elements: filter elements
         """
         super(ElementSelect, self).__init__(parent, id, size = size,
                                             **kwargs)
@@ -2086,7 +2090,18 @@ class ElementSelect(wx.Choice):
         p = task.get_param(value = 'type')
         self.values = p.get('values', [])
         self.valuesDesc = p.get('values_desc', [])
-
+        
+        if elements:
+            values = []
+            valuesDesc = []
+            for idx in range(0, len(self.values)):
+                value = self.values[idx]
+                if value in elements:
+                    values.append(value)
+                    valuesDesc.append(self.valuesDesc[idx])
+            self.values = values
+            self.valuesDesc = valuesDesc
+        
         self.SetItems(self.valuesDesc)
 
     def GetValue(self, name):
diff --git a/gui/wxpython/gui_core/menu.py b/gui/wxpython/gui_core/menu.py
index 4838237..49f1ad5 100644
--- a/gui/wxpython/gui_core/menu.py
+++ b/gui/wxpython/gui_core/menu.py
@@ -130,8 +130,9 @@ class SearchModuleWindow(wx.Panel):
     Signal:
         showNotification - attribute 'message'
     """
-    def __init__(self, parent, model, id = wx.ID_ANY, **kwargs):
-        self.parent = parent # LayerManager
+    def __init__(self, parent, handlerObj, model, id = wx.ID_ANY, **kwargs):
+        self.parent = parent
+        self.handlerObj = handlerObj
         
         self.showNotification = Signal('SearchModuleWindow.showNotification')
         wx.Panel.__init__(self, parent = parent, id = id, **kwargs)
@@ -217,7 +218,7 @@ class SearchModuleWindow(wx.Panel):
         if not data:
             return
 
-        handler = 'self.parent.' + data['handler'].lstrip('self.')
+        handler = 'self.handlerObj.' + data['handler'].lstrip('self.')
 
         if data['command']:
             eval(handler)(event=None, cmd=data['command'].split())
diff --git a/gui/wxpython/gui_core/widgets.py b/gui/wxpython/gui_core/widgets.py
index 5d931b6..359c344 100644
--- a/gui/wxpython/gui_core/widgets.py
+++ b/gui/wxpython/gui_core/widgets.py
@@ -103,7 +103,12 @@ class NotebookController:
         if 'name' in kwargs:
             self.notebookPages[kwargs['name']] = kwargs['page']
             del kwargs['name']
-        self.classObject.InsertPage(self.widget, **kwargs)
+        try:
+            self.classObject.InsertPage(self.widget, **kwargs)
+        except TypeError, e:  # documentation says 'index', but certain versions of wx require 'n'
+            kwargs['n'] = kwargs['index']
+            del kwargs['index']
+            self.classObject.InsertPage(self.widget, **kwargs)
 
     def DeletePage(self, page):
         """Delete page
@@ -214,6 +219,16 @@ class FlatNotebookController(NotebookController):
 
         return self.classObject.GetPageIndex(self.widget, self.notebookPages[page])
 
+    def InsertPage(self, **kwargs):
+        """Insert a new page
+        """
+        if 'name' in kwargs:
+            self.notebookPages[kwargs['name']] = kwargs['page']
+            del kwargs['name']
+        kwargs['indx'] = kwargs['index']
+        del kwargs['index']
+        self.classObject.InsertPage(self.widget, **kwargs)
+
 
 class GNotebook(FN.FlatNotebook):
     """Generic notebook widget.
diff --git a/gui/wxpython/iscatt/plots.py b/gui/wxpython/iscatt/plots.py
index d03ce92..875fa6d 100644
--- a/gui/wxpython/iscatt/plots.py
+++ b/gui/wxpython/iscatt/plots.py
@@ -1,14 +1,14 @@
 """
 @package iscatt.plots
 
- at brief Ploting widgets.
+ at brief Plotting widgets
 
 Classes:
  - plots::ScatterPlotWidget
  - plots::PolygonDrawer
  - plots::ModestImage
- 
-(C) 2013 by the GRASS Development Team
+
+(C) 2013-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -39,7 +39,8 @@ try:
     import matplotlib.colors as mcolors
     import matplotlib.cbook as cbook
 except ImportError as e:
-    raise ImportError(_("Unable to import matplotlib (try to install it).\n%s") % e)
+    raise ImportError(_('The Scatterplot Tool needs the "matplotlib" '
+                        '(python-matplotlib) package to be installed. {}').format(e))
 
 import grass.script as grass
 from grass.pydispatch.signal import Signal
diff --git a/gui/wxpython/lmgr/frame.py b/gui/wxpython/lmgr/frame.py
index 889ba2a..2f81181 100644
--- a/gui/wxpython/lmgr/frame.py
+++ b/gui/wxpython/lmgr/frame.py
@@ -49,7 +49,7 @@ from core.utils            import SetAddOnPath, GetLayerNameFromCmd, command2lty
 from gui_core.preferences  import MapsetAccess, PreferencesDialog
 from lmgr.layertree        import LayerTree, LMIcons
 from lmgr.menudata         import LayerManagerMenuData, LayerManagerModuleTree
-from gui_core.widgets      import GNotebook
+from gui_core.widgets      import GNotebook, FormNotebook
 from modules.mcalc_builder import MapCalcFrame
 from dbmgr.manager         import AttributeManager
 from core.workspace        import ProcessWorkspaceFile, ProcessGrcFile, WriteWorkspaceFile
@@ -277,13 +277,16 @@ class GMFrame(wx.Frame):
     
     def _createNoteBook(self):
         """Creates notebook widgets"""
-        self.notebook = GNotebook(parent = self, style = globalvar.FNPageDStyle)
+        if sys.platform == 'win32':
+            self.notebook = GNotebook(parent=self, style=globalvar.FNPageDStyle)
+        else:
+            self.notebook = FormNotebook(parent=self, style=wx.NB_BOTTOM)
         # create displays notebook widget and add it to main notebook page
         cbStyle = globalvar.FNPageStyle
         if globalvar.hasAgw:
-            self.notebookLayers = FN.FlatNotebook(self, id = wx.ID_ANY, agwStyle = cbStyle)
+            self.notebookLayers = FN.FlatNotebook(self.notebook, id=wx.ID_ANY, agwStyle=cbStyle)
         else:
-            self.notebookLayers = FN.FlatNotebook(self, id = wx.ID_ANY, style = cbStyle)
+            self.notebookLayers = FN.FlatNotebook(self.notebook, id=wx.ID_ANY, style=cbStyle)
         self.notebookLayers.SetTabAreaColour(globalvar.FNPageColor)
         menu = self._createTabMenu()
         self.notebookLayers.SetRightClickMenu(menu)
@@ -295,7 +298,7 @@ class GMFrame(wx.Frame):
                                                       '^r.external$|^r.external.out$|'
                                                       '^v.in.ogr$|^v.external$|^v.external.out$|'
                                                       '^cd$|^cd .*')
-        self.goutput = GConsoleWindow(parent = self, gconsole = self._gconsole,
+        self.goutput = GConsoleWindow(parent=self.notebook, gconsole=self._gconsole,
                                       menuModel=self._moduleTreeBuilder.GetModel(),
                                       gcstyle = GC_PROMPT)
         self.notebook.AddPage(page = self.goutput, text = _("Command console"), name = 'output')
@@ -313,7 +316,8 @@ class GMFrame(wx.Frame):
         
         # create 'search module' notebook page
         if not UserSettings.Get(group = 'manager', key = 'hideTabs', subkey = 'search'):
-            self.search = SearchModuleWindow(parent = self, model=self._moduleTreeBuilder.GetModel())
+            self.search = SearchModuleWindow(parent=self.notebook, handlerObj=self,
+                                             model=self._moduleTreeBuilder.GetModel())
             self.search.showNotification.connect(lambda message: self.SetStatusText(message))
             self.notebook.AddPage(page = self.search, text = _("Search modules"), name = 'search')
         else:
@@ -321,14 +325,17 @@ class GMFrame(wx.Frame):
         
         # create 'python shell' notebook page
         if not UserSettings.Get(group = 'manager', key = 'hideTabs', subkey = 'pyshell'):
-            self.pyshell = PyShellWindow(parent = self)
+            self.pyshell = PyShellWindow(parent=self.notebook, giface=self._giface)
             self.notebook.AddPage(page = self.pyshell, text = _("Python shell"), name = 'pyshell')
         else:
             self.pyshell = None
         
         # bindings
+        if sys.platform == 'win32':
+            self.notebook.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
+        else:
+            self.notebook.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
         self.notebookLayers.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CHANGED,    self.OnCBPageChanged)
-        self.notebook.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
         self.notebookLayers.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CLOSING,    self.OnCBPageClosed)
         
         return self.notebook
@@ -353,10 +360,10 @@ class GMFrame(wx.Frame):
         self._auimgr.Update()
         
         # create nviz tools tab
-        self.nviz = NvizToolWindow(parent = self,
-                                   display = self.GetMapDisplay())
+        self.nviz = NvizToolWindow(parent=self.notebook, tree=self.GetLayerTree(),
+                                   display=self.GetMapDisplay())
         idx = self.notebook.GetPageIndexByName('layers')
-        self.notebook.InsertPage(indx = idx + 1, page = self.nviz, text = _("3D view"), name = 'nviz')
+        self.notebook.InsertPage(index=idx + 1, page=self.nviz, text=_("3D view"), name='nviz')
         self.notebook.SetSelectionByName('nviz')
 
         # this is a bit strange here since a new window is created everytime
@@ -1563,7 +1570,7 @@ class GMFrame(wx.Frame):
         The parameters of all handlers which are associated with module
         and contained in menu/toolboxes must be event and cmd.
         When called from menu event is always None and cmd is the
-        associated command (list containing a module name and paremeters).
+        associated command (list containing a module name and parameters).
         
         .. todo::
             This documentation is actually documentation of some
@@ -1818,6 +1825,10 @@ class GMFrame(wx.Frame):
                 x, y = map(int, dim.split(',')[idx:idx + 2])
                 w, h = map(int, dim.split(',')[idx + 2:idx + 4])
                 self.GetMapDisplay().SetPosition((x, y))
+                # map display is sized with different height, this
+                # extra call "solves" the issue, strangely trunk
+                # doens't have this issue (TODO: investigate why)
+                self.GetMapDisplay().SetSize((w, h-1)) 
                 self.GetMapDisplay().SetSize((w, h))
             except:
                 pass
diff --git a/gui/wxpython/lmgr/pyshell.py b/gui/wxpython/lmgr/pyshell.py
index 33f8f15..90f96e0 100644
--- a/gui/wxpython/lmgr/pyshell.py
+++ b/gui/wxpython/lmgr/pyshell.py
@@ -29,8 +29,9 @@ from core.utils import _
 
 class PyShellWindow(wx.Panel):
     """Python Shell Window"""
-    def __init__(self, parent, id = wx.ID_ANY, **kwargs):
-        self.parent = parent # GMFrame
+    def __init__(self, parent, giface, id = wx.ID_ANY, **kwargs):
+        self.parent = parent
+        self.giface = giface
         
         wx.Panel.__init__(self, parent = parent, id = id, **kwargs)
         
@@ -98,7 +99,7 @@ class PyShellWindow(wx.Panel):
         if not fname:
             return _("Raster or vector map <%s> not found") % (name)
         
-        self.parent.GetLayerTree().AddLayer(ltype = ltype,
+        self.giface.GetLayerTree().AddLayer(ltype = ltype,
                                             lname = fname,
                                             lchecked = True,
                                             lcmd = [lcmd, 'map=%s' % fname])
diff --git a/gui/wxpython/lmgr/toolbars.py b/gui/wxpython/lmgr/toolbars.py
index b0bc2af..4ccacb6 100644
--- a/gui/wxpython/lmgr/toolbars.py
+++ b/gui/wxpython/lmgr/toolbars.py
@@ -53,7 +53,6 @@ class LMWorkspaceToolbar(BaseToolbar):
             }
         return self._getToolbarData((('newdisplay', icons["newdisplay"],
                                       self.parent.OnNewDisplay),
-                                     (None, ),
                                      ('workspaceNew', icons["workspaceNew"],
                                       self.parent.OnWorkspaceNew),
                                      ('workspaceOpen', icons["workspaceOpen"],
@@ -112,7 +111,6 @@ class LMDataToolbar(BaseToolbar):
                                      (None, ),
                                      ('addgrp',  icons["addGroup"],
                                       self.parent.OnAddGroup),
-                                     (None, ),
                                      ('delcmd',  icons["delCmd"],
                                       self.parent.OnDeleteLayer),
                                      ))
diff --git a/gui/wxpython/mapdisp/frame.py b/gui/wxpython/mapdisp/frame.py
index 87a9dc7..ed15968 100644
--- a/gui/wxpython/mapdisp/frame.py
+++ b/gui/wxpython/mapdisp/frame.py
@@ -250,7 +250,7 @@ class MapFrame(SingleMapFrame):
             grassVersion = "?"
 
         gisenv = grass.gisenv()
-        title = _("GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s") % \
+        title = _("GRASS GIS %(version)s Map Display: %(id)s - Location: %(loc)s@%(mapset)s") % \
             {'version': grassVersion,
              'id': str(displayId),
              'loc': gisenv["LOCATION_NAME"],
diff --git a/gui/wxpython/mapdisp/toolbars.py b/gui/wxpython/mapdisp/toolbars.py
index 9e97b70..2242715 100644
--- a/gui/wxpython/mapdisp/toolbars.py
+++ b/gui/wxpython/mapdisp/toolbars.py
@@ -6,7 +6,7 @@
 Classes:
  - toolbars::MapToolbar
 
-(C) 2007-2011 by the GRASS Development Team
+(C) 2007-2015 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -143,7 +143,6 @@ class MapToolbar(BaseToolbar):
                                       self.parent.OnRender),
                                      ('erase', BaseIcons['erase'],
                                       self.parent.OnErase),
-                                     (None, ),
                                      ('pointer', BaseIcons['pointer'],
                                       self.parent.OnPointer,
                                       wx.ITEM_CHECK),
@@ -167,19 +166,15 @@ class MapToolbar(BaseToolbar):
                                       self.parent.OnZoomBack),
                                      ('zoomMenu', BaseIcons['zoomMenu'],
                                       self.parent.OnZoomMenu),
-                                     (None, ),
                                      ('analyze', MapIcons['analyze'],
                                       self.OnAnalyze),
-                                     (None, ),
                                      ('overlay', BaseIcons['overlay'],
                                       self.OnDecoration),
-                                     (None, ),
                                      ('saveFile', BaseIcons['saveFile'],
                                       self.parent.SaveToFile),
                                      ('printMap', BaseIcons['print'],
                                       self.parent.PrintMenu),
-                                     (None, ))
-                                    )
+                                    ))
     def InsertTool(self, data):
         """Insert tool to toolbar
         
diff --git a/gui/wxpython/mapswipe/dialogs.py b/gui/wxpython/mapswipe/dialogs.py
index 3ba23b3..2c97bfa 100644
--- a/gui/wxpython/mapswipe/dialogs.py
+++ b/gui/wxpython/mapswipe/dialogs.py
@@ -101,9 +101,9 @@ class SwipeMapDialog(wx.Dialog):
         mainSizer.Add(item=self.btnSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
         self.mainSizer = mainSizer
+        self._switchMode(simple=True)
         self.SetSizer(mainSizer)
         mainSizer.Fit(self)
-        self._switchMode(simple=True)
 
     def _createSimplePanel(self):
         panel = wx.Panel(self)
diff --git a/gui/wxpython/mapswipe/frame.py b/gui/wxpython/mapswipe/frame.py
index 6f294f6..2fad56d 100644
--- a/gui/wxpython/mapswipe/frame.py
+++ b/gui/wxpython/mapswipe/frame.py
@@ -24,6 +24,7 @@ import grass.script as grass
 from gui_core.mapdisp   import DoubleMapFrame
 from gui_core.dialogs   import GetImageHandlers
 from mapwin.base import MapWindowProperties
+from core import globalvar
 from core.render        import Map
 from mapdisp            import statusbar as sb
 from core.debug         import Debug
@@ -101,7 +102,7 @@ class SwipeMapFrame(DoubleMapFrame):
         self.Bind(wx.EVT_IDLE, self.OnIdle)
         self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
 
-        self.SetSize((800, 600))
+        self.SetSize((825, 600))
         
         self._mgr.Update()
 
@@ -171,6 +172,8 @@ class SwipeMapFrame(DoubleMapFrame):
         
         # create statusbar and its manager
         statusbar = self.CreateStatusBar(number = 4, style = 0)
+        if globalvar.wxPython3:
+            statusbar.SetMinHeight(24)
         statusbar.SetStatusWidths([-5, -2, -1, -1])
         self.statusbarManager = sb.SbManager(mapframe = self, statusbar = statusbar)
         
diff --git a/gui/wxpython/modules/extensions.py b/gui/wxpython/modules/extensions.py
index 0fe959d..14ab260 100644
--- a/gui/wxpython/modules/extensions.py
+++ b/gui/wxpython/modules/extensions.py
@@ -9,7 +9,7 @@ Classes:
  - extensions::ManageExtensionWindow
  - extensions::CheckListExtension
 
-(C) 2008-2014 by the GRASS Development Team
+(C) 2008-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -423,6 +423,9 @@ class ManageExtensionWindow(wx.Frame):
         for ext in eList:
             files = RunCommand('g.extension', parent = self, read = True, quiet = True,
                                extension = ext, operation = 'remove').splitlines()
+            if len(files) > 10:
+                files = files[:10]
+                files.append('...')
             dlg = wx.MessageDialog(parent = self,
                                    message = _("List of files to be removed:\n%(files)s\n\n"
                                                "Do you want really to remove <%(ext)s> extension?") % \
diff --git a/gui/wxpython/nviz/tools.py b/gui/wxpython/nviz/tools.py
index 75ce586..7b5a031 100644
--- a/gui/wxpython/nviz/tools.py
+++ b/gui/wxpython/nviz/tools.py
@@ -64,14 +64,15 @@ except ImportError:
 class NvizToolWindow(FN.FlatNotebook):
     """Nviz (3D view) tools panel
     """
-    def __init__(self, parent, display, id = wx.ID_ANY,
-                 style = globalvar.FNPageStyle|FN.FNB_NO_X_BUTTON,
+    def __init__(self, parent, tree, display, id=wx.ID_ANY,
+                 style=globalvar.FNPageStyle|FN.FNB_NO_X_BUTTON,
                  **kwargs):
         Debug.msg(5, "NvizToolWindow.__init__()")
-        self.parent     = parent # GMFrame
+        self.parent = parent
+        self.tree = tree
         self.mapDisplay = display
-        self.mapWindow  = display.GetWindow()
-        self._display   = self.mapWindow.GetDisplay()
+        self.mapWindow = display.GetWindow()
+        self._display = self.mapWindow.GetDisplay()
          
         if globalvar.hasAgw:
             kwargs['agwStyle'] = style
@@ -129,10 +130,10 @@ class NvizToolWindow(FN.FlatNotebook):
     def SetInitialMaps(self):
         """Set initial raster and vector map"""
         for ltype in ('raster', 'vector', '3d-raster'):
-            selectedLayer = self.parent.GetLayerTree().GetSelectedLayer(multi = False, checkedOnly = True)
+            selectedLayer = self.tree.GetSelectedLayer(multi = False, checkedOnly = True)
             if selectedLayer is None:
                 continue
-            selectedLayer = self.parent.GetLayerTree().GetLayerInfo(selectedLayer, key = 'maplayer')
+            selectedLayer = self.tree.GetLayerInfo(selectedLayer, key = 'maplayer')
             layers = self.mapWindow.Map.GetListOfLayers(ltype = ltype, active = True)
             if selectedLayer in layers:
                 selection = selectedLayer.GetName()
@@ -2075,13 +2076,12 @@ class NvizToolWindow(FN.FlatNotebook):
         :param name: layer name
         :param mapType: map type (raster, vector, 3d-raster)
         """
-        tree = self.parent.GetLayerTree()
-        items = tree.FindItemByData(key = 'name', value = name)
+        items = self.tree.FindItemByData(key = 'name', value = name)
         if not items:
             return None
         for item in items:
-            if tree.GetLayerInfo(item, key = 'type') == mapType:
-                return tree.GetLayerInfo(item, key = 'nviz')
+            if self.tree.GetLayerInfo(item, key = 'type') == mapType:
+                return self.tree.GetLayerInfo(item, key = 'nviz')
         return None
 
     def OnRecord(self, event):
@@ -3405,9 +3405,9 @@ class NvizToolWindow(FN.FlatNotebook):
        
         checked = event.IsChecked()
         name = self.FindWindowById(self.win['vector']['map']).GetValue()
-        items = self.parent.GetLayerTree().FindItemByData(key = 'name', value = name)
+        items = self.tree.FindItemByData(key = 'name', value = name)
         for item in items:
-            if self.parent.GetLayerTree().GetLayerInfo(item, key = 'type') == 'vector':
+            if self.tree.GetLayerInfo(item, key = 'type') == 'vector':
                 break
         data = self.GetLayerData('vector')['vector']
         
@@ -3720,10 +3720,10 @@ class NvizToolWindow(FN.FlatNotebook):
         """Enable/disable buttons 'add', 'delete',
         'move up', 'move down'"""
         nitems = list.GetCount()
-        add = self.parent.FindWindowById(self.win['volume']['btnAdd'])
-        delete = self.parent.FindWindowById(self.win['volume']['btnDelete'])
-        moveDown = self.parent.FindWindowById(self.win['volume']['btnMoveDown'])
-        moveUp = self.parent.FindWindowById(self.win['volume']['btnMoveUp'])
+        add = self.FindWindowById(self.win['volume']['btnAdd'])
+        delete = self.FindWindowById(self.win['volume']['btnDelete'])
+        moveDown = self.FindWindowById(self.win['volume']['btnMoveDown'])
+        moveUp = self.FindWindowById(self.win['volume']['btnMoveUp'])
         if nitems >= wxnviz.MAX_ISOSURFS:
             # disable add button on max
             add.Enable(False)
diff --git a/gui/wxpython/psmap/dialogs.py b/gui/wxpython/psmap/dialogs.py
index 2fea955..ef1a91b 100644
--- a/gui/wxpython/psmap/dialogs.py
+++ b/gui/wxpython/psmap/dialogs.py
@@ -1071,14 +1071,7 @@ class MapFramePanel(wx.Panel):
 
             mapFrameDict['scale'] = self.scale[2]
             mapFrameDict['center'] = self.center[2]
-            
-            env = grass.gisenv()
-            windFilePath = os.path.join(env['GISDBASE'], env['LOCATION_NAME'], env['MAPSET'], 'WIND')
-            try:
-                windFile = open(windFilePath, 'r').read()
-                region = grass.parse_key_val(windFile, sep = ':', val_type = float)
-            except IOError:
-                region = grass.region()
+            region = grass.region()
             
             raster = self.instruction.FindInstructionByType('raster')
             if raster:
@@ -1087,11 +1080,11 @@ class MapFramePanel(wx.Panel):
                 rasterId = None
 
             if rasterId: # because of resolution
-                RunCommand('g.region', n = region['north'], s = region['south'],
-                            e = region['east'], w = region['west'], rast = self.instruction[rasterId]['raster'])
+                RunCommand('g.region', n=region['n'], s=region['s'],
+                            e=region['e'], w=region['w'], rast=self.instruction[rasterId]['raster'])
             else:
-                RunCommand('g.region', n = region['north'], s = region['south'],
-                           e = region['east'], w = region['west'])
+                RunCommand('g.region', n=region['n'], s=region['s'],
+                           e=region['e'], w=region['w'])
             
         elif scaleType == 3:
             mapFrameDict['drawMap'] = False
diff --git a/gui/wxpython/psmap/utils.py b/gui/wxpython/psmap/utils.py
index e1d6201..51ca62b 100644
--- a/gui/wxpython/psmap/utils.py
+++ b/gui/wxpython/psmap/utils.py
@@ -213,16 +213,7 @@ def AutoAdjust(self, scaleType, rect, map=None, mapType=None, region=None):
         res = grass.read_command("g.region", flags = 'gu', region = region)
         currRegionDict = grass.parse_key_val(res, val_type = float)
     elif scaleType == 2: # current region
-        env = grass.gisenv()
-        windFilePath = os.path.join(env['GISDBASE'], env['LOCATION_NAME'], env['MAPSET'], 'WIND')
-        try:
-            windFile = open(windFilePath, 'r').read()
-        except IOError:
-            currRegionDict = grass.region()
-        regionDict = grass.parse_key_val(windFile, sep = ':', val_type = float)
-        region = grass.read_command("g.region", flags = 'gu', n = regionDict['north'], s = regionDict['south'],
-                                    e = regionDict['east'], w = regionDict['west'])
-        currRegionDict = grass.parse_key_val(region, val_type = float)
+        currRegionDict = grass.region()
                                                                 
     else:
         return None, None, None
diff --git a/gui/wxpython/rlisetup/g.gui.rlisetup.html b/gui/wxpython/rlisetup/g.gui.rlisetup.html
index ddca155..2b4a5ee 100644
--- a/gui/wxpython/rlisetup/g.gui.rlisetup.html
+++ b/gui/wxpython/rlisetup/g.gui.rlisetup.html
@@ -144,7 +144,7 @@ The startup window shows your configuration files, you can:
 	  <li><em>Select areas from the overlaid vector map</em>: 
 	 the sample areas are defined by the vector map selected above.
 	 For every cat in vector map, the procedure prompts the 
-	 user if he wants to include it as sample area.
+	 user if they want to include it as sample area.
 	 The resulting configuration file can be used only with the 
 	 specified raster map, and the procedure can be used only if
 	 whole map layer is selected as sampling frame.</li>
@@ -351,4 +351,4 @@ Luca Delucchi<br>
 Rewritten from <em>r.li.setup</em> by Claudio Porta and Lucio Davide Spano
 
 <p>
-<i>$Date: 2016-01-04 22:17:04 +0100 (Mon, 04 Jan 2016) $</i>
+<i>$Date: 2016-01-28 12:27:18 +0100 (Thu, 28 Jan 2016) $</i>
diff --git a/gui/wxpython/timeline/frame.py b/gui/wxpython/timeline/frame.py
index 21dff5e..7639efb 100644
--- a/gui/wxpython/timeline/frame.py
+++ b/gui/wxpython/timeline/frame.py
@@ -8,7 +8,7 @@ Classes:
  - frame::TimelineFrame
  - frame::LookUp
 
-(C) 2012-2014 by the GRASS Development Team
+(C) 2012-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -34,8 +34,9 @@ try:
         NavigationToolbar2WxAgg as NavigationToolbar
     import matplotlib.dates as mdates
     from matplotlib import cbook
-except ImportError:
-    raise ImportError(_('The Timeline Tool needs the "matplotlib" (python-matplotlib) package to be installed.'))
+except ImportError as e:
+    raise ImportError(_('The Timeline Tool needs the "matplotlib" '
+                        '(python-matplotlib) package to be installed. {}').format(e))
 
 import grass.script as grass
 from core.utils import _
diff --git a/gui/wxpython/tplot/frame.py b/gui/wxpython/tplot/frame.py
index e017d6c..96dd9e2 100644
--- a/gui/wxpython/tplot/frame.py
+++ b/gui/wxpython/tplot/frame.py
@@ -10,7 +10,7 @@ Classes:
  - frame::TplotFrame
  - frame::LookUp
 
-(C) 2012-2014 by the GRASS Development Team
+(C) 2012-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -38,9 +38,9 @@ try:
         NavigationToolbar2WxAgg as NavigationToolbar
     import matplotlib.dates as mdates
     from matplotlib import cbook
-except ImportError:
+except ImportError as e:
     raise ImportError(_('The Temporal Plot Tool needs the "matplotlib" '
-                        '(python-matplotlib) package to be installed.'))
+                        '(python-matplotlib) package to be installed. {}').format(e))
 
 from core.utils import _
 
diff --git a/gui/wxpython/web_services/dialogs.py b/gui/wxpython/web_services/dialogs.py
index 8600368..61b3a45 100644
--- a/gui/wxpython/web_services/dialogs.py
+++ b/gui/wxpython/web_services/dialogs.py
@@ -122,6 +122,7 @@ class WSDialogBase(wx.Dialog):
         self.layerName = wx.TextCtrl(parent = self.reqDataPanel, id = wx.ID_ANY)
 
         for ws in self.ws_panels.iterkeys():
+            # set class WSPanel argument layerNameTxtCtrl
             self.ws_panels[ws]['panel'] =  WSPanel(parent = self.reqDataPanel,
                                                    web_service = ws)
             self.ws_panels[ws]['panel'].capParsed.connect(self.OnPanelCapParsed)
@@ -220,7 +221,12 @@ class WSDialogBase(wx.Dialog):
         dialogSizer.Add(item = self.btnsizer, proportion = 0,
                         flag = wx.ALIGN_CENTER)
 
-        dialogSizer.Add(item = self.statusbar, proportion = 0)
+        # expand wxWidget wx.StatusBar
+        statusbarSizer = wx.BoxSizer(wx.HORIZONTAL)
+        statusbarSizer.Add(item=self.statusbar, proportion=1, flag=wx.EXPAND)
+        dialogSizer.Add(item=statusbarSizer,
+                        proportion=0,
+                        flag=wx.EXPAND)
 
         self.SetSizer(dialogSizer)
         self.Layout()
@@ -302,6 +308,12 @@ class WSDialogBase(wx.Dialog):
         else:
             self.adv_conn.Collapse(True)
 
+        # clear content of the wxWidget wx.TextCtrl (Output layer
+        # name:), based on changing default server selection in the
+        # wxWidget wx.Choice
+        if len(self.layerName.GetValue()) > 0:
+            self.layerName.Clear()
+
     def OnClose(self, event):
         """Close the dialog
         """
@@ -326,6 +338,11 @@ class WSDialogBase(wx.Dialog):
         else:
             self.btn_connect.Enable(False)
         
+        # clear content of the wxWidget wx.TextCtrl (Output Layer
+        # name:), based on changing content of the wxWidget
+        # wx.TextCtrl (Server:)
+        self.layerName.Clear()
+
     def OnOutputLayerName(self, event):
         """Update layer name to web service panel
         """
diff --git a/gui/wxpython/wxgui.py b/gui/wxpython/wxgui.py
index a7d92e6..99762cf 100644
--- a/gui/wxpython/wxgui.py
+++ b/gui/wxpython/wxgui.py
@@ -21,9 +21,10 @@ This program is free software under the GNU General Public License
 import os
 import sys
 import getopt
+import atexit
 
 from core import globalvar
-from core.utils import _
+from core.utils import _, registerPid, unregisterPid
 
 from grass.exceptions import Usage
 from grass.script.core import set_raise_on_error
@@ -112,7 +113,9 @@ def process_opt(opts, args):
 
     return workspaceFile
 
-
+def cleanup():
+    unregisterPid(os.getpid())
+        
 def main(argv = None):
 
     if argv is None:
@@ -135,7 +138,11 @@ def main(argv = None):
     q = wx.LogNull()
     set_raise_on_error(True)
 
+    # register GUI PID
+    registerPid(os.getpid())
+    
     app.MainLoop()
 
 if __name__ == "__main__":
+    atexit.register(cleanup)
     sys.exit(main())
diff --git a/gui/wxpython/wxplot/dialogs.py b/gui/wxpython/wxplot/dialogs.py
index b489540..1db8bc1 100755
--- a/gui/wxpython/wxplot/dialogs.py
+++ b/gui/wxpython/wxplot/dialogs.py
@@ -11,7 +11,7 @@ Classes:
  - dialogs::TextDialog
  - dialogs::OptDialog
 
-(C) 2011-2012 by the GRASS Development Team
+(C) 2011-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -19,12 +19,15 @@ This program is free software under the GNU General Public License
 @author Michael Barton, Arizona State University
 """
 
+import os
+
 import wx
 import wx.lib.colourselect  as csel
 import wx.lib.scrolledpanel as scrolled
 
 from core             import globalvar
 from core.settings    import UserSettings
+from core.globalvar   import ICONDIR
 from core.utils import _
 from gui_core.gselect import Select
 
@@ -239,8 +242,10 @@ class PlotStatsFrame(wx.Frame):
         """
         wx.Frame.__init__(self, parent, id, style = style, **kwargs)
         self.SetLabel(_("Statistics"))
+        self.SetIcon(wx.Icon(os.path.join(ICONDIR, 'grass.ico'), wx.BITMAP_TYPE_ICO))
+        self.panel = wx.Panel(self)
         
-        sp = scrolled.ScrolledPanel(self, -1, size=(400, 400),
+        sp = scrolled.ScrolledPanel(self.panel, -1, size=(400, 400),
                                     style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER, name="Statistics" )
                 
 
@@ -258,10 +263,10 @@ class PlotStatsFrame(wx.Frame):
         sizer = wx.BoxSizer(wx.VERTICAL)
         txtSizer = wx.BoxSizer(wx.VERTICAL)
 
-        statstitle = wx.StaticText(parent = self, id = wx.ID_ANY, label = self.title)
+        statstitle = wx.StaticText(parent = self.panel, id = wx.ID_ANY, label = self.title)
         sizer.Add(item = statstitle, proportion = 0,
                   flag = wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, border = 3)
-        line = wx.StaticLine(parent = self, id = wx.ID_ANY, size = (20, -1), style = wx.LI_HORIZONTAL)
+        line = wx.StaticLine(parent = self.panel, id = wx.ID_ANY, size = (20, -1), style = wx.LI_HORIZONTAL)
         sizer.Add(item = line, proportion = 0,
                   flag = wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, border = 3)
         for stats in self.message:
@@ -280,7 +285,7 @@ class PlotStatsFrame(wx.Frame):
         sizer.Add(item = sp, proportion = 1, 
                   flag = wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM, border = 3)
 
-        line = wx.StaticLine(parent = self, id = wx.ID_ANY, size = (20, -1), style = wx.LI_HORIZONTAL)
+        line = wx.StaticLine(parent = self.panel, id = wx.ID_ANY, size = (20, -1), style = wx.LI_HORIZONTAL)
         sizer.Add(item = line, proportion = 0,
                   flag = wx.GROW |wx.ALIGN_CENTER_VERTICAL|wx.LEFT|wx.RIGHT, border = 3)
 
@@ -289,11 +294,11 @@ class PlotStatsFrame(wx.Frame):
         #
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
 
-        btn_clipboard = wx.Button(self, id = wx.ID_COPY, label = _('C&opy'))
+        btn_clipboard = wx.Button(self.panel, id = wx.ID_COPY, label = _('C&opy'))
         btn_clipboard.SetToolTipString(_("Copy regression statistics the clipboard (Ctrl+C)"))
         btnSizer.Add(item = btn_clipboard, proportion = 0, flag = wx.ALIGN_LEFT | wx.ALL, border = 5)
         
-        btnCancel = wx.Button(self, wx.ID_CLOSE)
+        btnCancel = wx.Button(self.panel, wx.ID_CLOSE)
         btnCancel.SetDefault()
         btnSizer.Add(item = btnCancel, proportion = 0, flag = wx.ALIGN_RIGHT | wx.ALL, border = 5)        
 
@@ -303,7 +308,7 @@ class PlotStatsFrame(wx.Frame):
         btnCancel.Bind(wx.EVT_BUTTON, self.OnClose)
         btn_clipboard.Bind(wx.EVT_BUTTON, self.OnCopy)
         
-        self.SetSizer(sizer)
+        self.panel.SetSizer(sizer)
         sizer.Fit(self)
 
     def OnCopy(self, event):
@@ -486,7 +491,7 @@ class HistRasterDialog(wx.Dialog):
         ret = grass.read_command('i.group', 
                                   group = '%s' % self.group, 
                                   quiet = True,
-                                  flags = 'g').strip().split('\n')
+                                  flags = 'g').strip().splitlines()
 
         if ret not in [None, '', ['']]:
             self.rasterList = ret
diff --git a/imagery/i.fft/i.fft.html b/imagery/i.fft/i.fft.html
index a42cec0..06bc20b 100644
--- a/imagery/i.fft/i.fft.html
+++ b/imagery/i.fft/i.fft.html
@@ -36,7 +36,7 @@ d.rast lsat7_2002_70.real
 d.rast lsat7_2002_70.imag
 </pre></div>
 
-<h2>REFERNCES</h2>
+<h2>REFERENCES</h2>
 
 <ul>
 <li> M. Frigo and S. G. Johnson (1998): "FFTW: An Adaptive Software Architecture
@@ -64,4 +64,4 @@ Central Washington University
 <br>
 Glynn Clements (FFTW support)
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-03-08 09:08:23 +0100 (Tue, 08 Mar 2016) $</i>
diff --git a/imagery/i.his.rgb/i.his.rgb.html b/imagery/i.his.rgb/i.his.rgb.html
index 709e7dc..d0b6fea 100644
--- a/imagery/i.his.rgb/i.his.rgb.html
+++ b/imagery/i.his.rgb/i.his.rgb.html
@@ -5,8 +5,8 @@ processes three input raster map layers as hue, intensity
 and saturation components and produces three output raster
 map layers representing the red, green and blue components
 of this data.  The output raster map layers are created by
-a standard hue-intensity-saturation (his) to red-green-blue
-(rgb) color transformation.  Each output raster map layer
+a standard hue-intensity-saturation (HIS) to red-green-blue
+(RGB) color transformation.  Each output raster map layer
 is given a linear gray scale color table.  The current
 geographic region and mask settings are respected.
 
@@ -39,4 +39,4 @@ Central Washington University
 with acknowledgements to Ali Vali, Univ. of Texas Space Research
 Center, for the core routine.
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-01-28 12:27:18 +0100 (Thu, 28 Jan 2016) $</i>
diff --git a/imagery/i.landsat.acca/i.landsat.acca.html b/imagery/i.landsat.acca/i.landsat.acca.html
index bb21889..42755de 100644
--- a/imagery/i.landsat.acca/i.landsat.acca.html
+++ b/imagery/i.landsat.acca/i.landsat.acca.html
@@ -23,7 +23,7 @@ useful for Landsat-4/5 TM.
 Run the standard ACCA algorithm with filling of small cloud holes
 (the <b>-f</b> flag): With per-band reflectance raster maps
 named <tt>226_62.toar.1, 226_62.toar.2, </tt> [...] and LANDSAT-7
-thermal band <tt>226_62.toar.61</tt>, outputing to a new raster map
+thermal band <tt>226_62.toar.61</tt>, outputting to a new raster map
 named <tt>226_62.acca</tt>:
 
 <div class="code"><pre>
@@ -58,4 +58,4 @@ i.landsat.acca -f band_prefix=226_62.toar output=226_62.acca
 
 E. Jorge Tizado  (ej.tizado unileon es), Dept. Biodiversity and Environmental Management, University of Le�n, Spain
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-01-29 10:56:07 +0100 (Fri, 29 Jan 2016) $</i>
diff --git a/imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html b/imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html
index 64f4f66..02ad589 100644
--- a/imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html
+++ b/imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html
@@ -110,5 +110,5 @@ is reached.
 Mike Baba, DBA Systems, Inc.
 
 <p>
-<i>Last changed: $Date: 2013-02-20 11:16:02 +0100 (Wed, 20 Feb 2013) $</i>
+<i>Last changed: $Date: 2013-02-20 02:16:02 -0800 (Wed, 20 Feb 2013) $</i>
 
diff --git a/imagery/i.ortho.photo/i.ortho.elev/i.ortho.elev.html b/imagery/i.ortho.photo/i.ortho.elev/i.ortho.elev.html
index a4b8953..d5027a2 100644
--- a/imagery/i.ortho.photo/i.ortho.elev/i.ortho.elev.html
+++ b/imagery/i.ortho.photo/i.ortho.elev/i.ortho.elev.html
@@ -19,4 +19,4 @@ Mike Baba,  DBA Systems, Inc.<br>
 Bugfixes and enhancements for GRASS GIS 7 by Markus Metz
 
 <p>
-<i>Last changed: $Date: 2013-02-20 11:16:02 +0100 (Wed, 20 Feb 2013) $</i>
+<i>Last changed: $Date: 2013-02-20 02:16:02 -0800 (Wed, 20 Feb 2013) $</i>
diff --git a/imagery/i.ortho.photo/i.ortho.init/i.ortho.init.html b/imagery/i.ortho.photo/i.ortho.init/i.ortho.init.html
index 2264cb3..ee875ea 100644
--- a/imagery/i.ortho.photo/i.ortho.init/i.ortho.init.html
+++ b/imagery/i.ortho.photo/i.ortho.init/i.ortho.init.html
@@ -106,4 +106,4 @@ values in this menu are not used.
 
 Mike Baba,  DBA Systems, Inc.
 <p>
-<i>Last changed: $Date: 2013-02-20 11:16:02 +0100 (Wed, 20 Feb 2013) $</i>
+<i>Last changed: $Date: 2013-02-20 02:16:02 -0800 (Wed, 20 Feb 2013) $</i>
diff --git a/imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html b/imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html
index 9f1456b..bc7b80b 100644
--- a/imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html
+++ b/imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html
@@ -107,4 +107,4 @@ Updated rectification and elevation map to FP 1/2002 Markus Neteler<br>
 Bugfixes and enhancements 12/2010 Markus Metz
 
 <p>
-<i>Last changed: $Date: 2013-02-20 11:16:02 +0100 (Wed, 20 Feb 2013) $</i>
+<i>Last changed: $Date: 2013-02-20 02:16:02 -0800 (Wed, 20 Feb 2013) $</i>
diff --git a/imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html b/imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html
index 29ac702..030a052 100644
--- a/imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html
+++ b/imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html
@@ -60,4 +60,4 @@ Brian J. Buckley<br>
 Glynn Clements<br>
 Hamish Bowman
 
-<p><i>Last changed: $Date: 2013-02-20 11:16:02 +0100 (Wed, 20 Feb 2013) $</i>
+<p><i>Last changed: $Date: 2013-02-20 02:16:02 -0800 (Wed, 20 Feb 2013) $</i>
diff --git a/imagery/i.rgb.his/i.rgb.his.html b/imagery/i.rgb.his/i.rgb.his.html
index 41357c5..44cf7f9 100644
--- a/imagery/i.rgb.his/i.rgb.his.html
+++ b/imagery/i.rgb.his/i.rgb.his.html
@@ -5,8 +5,8 @@ processes three input raster map layers as red, green, and
 blue components and produces three output raster map layers
 representing the hue, intensity, and saturation of the
 data.  The output raster map layers are created by a
-standard red-green-blue (rgb) to hue-intensity-saturation
-(his) color transformation.  Each output raster map layer
+standard red-green-blue (RGB) to hue-intensity-saturation
+(HIS) color transformation.  Each output raster map layer
 is given a linear gray scale color table.  The current
 geographic region definition and mask settings are
 respected.
@@ -23,4 +23,4 @@ Central Washington University,
 with acknowledgements to Ali Vali, Space Research
 Center, for the core routine. 
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2016-01-28 12:27:18 +0100 (Thu, 28 Jan 2016) $</i>
diff --git a/imagery/i.segment/open_files.c b/imagery/i.segment/open_files.c
index a3a3ff2..fc989bf 100644
--- a/imagery/i.segment/open_files.c
+++ b/imagery/i.segment/open_files.c
@@ -497,7 +497,8 @@ static int read_seed(struct globals *globals, SEGMENT *seeds_seg, struct rc *Ri,
 	rgtree_insert(globals->reg_tree, &(globals->rs));
     }
     else {
-	update_band_vals(Ri->row, Ri->col, &(globals->rs), globals);
+	if (globals->rs.count > 1)
+	    update_band_vals(Ri->row, Ri->col, &(globals->rs), globals);
     }
     if (globals->rs.count > 1)
 	globals->n_regions -= (globals->rs.count - 1);
diff --git a/imagery/i.target/main.c b/imagery/i.target/main.c
index 6da26c3..ff58081 100644
--- a/imagery/i.target/main.c
+++ b/imagery/i.target/main.c
@@ -65,7 +65,7 @@ int main(int argc, char *argv[])
     c = G_define_flag();
     c->key = 'c';
     c->description =
-	_("Set current location and mapset as target for of imagery group");
+	_("Set current location and mapset as target for imagery group");
 
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
diff --git a/imagery/i.zc/i.zc.html b/imagery/i.zc/i.zc.html
index 173eac2..63126b4 100644
--- a/imagery/i.zc/i.zc.html
+++ b/imagery/i.zc/i.zc.html
@@ -96,4 +96,4 @@ The resulting raster map layer is output.
 David Satnik, GIS Laboratory, 
 Central Washington University
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/include/Make/Script.make b/include/Make/Script.make
index c38fe14..441d750 100644
--- a/include/Make/Script.make
+++ b/include/Make/Script.make
@@ -40,7 +40,7 @@ install:
 	fi
 	$(INSTALL_DATA) $(ARCH_DISTDIR)/docs/man/man1/$(PGM).1 $(INST_DIR)/docs/man/man1/
 	if [ -d "$(ETC)/$(PGM)" ] ; then \
-		cp -rL $(ETC)/$(PGM) $(INST_DIR)/etc/ ; \
+		cp -RL $(ETC)/$(PGM) $(INST_DIR)/etc/ ; \
 	fi
 
 .PHONY: script scriptstrings
diff --git a/include/VERSION b/include/VERSION
index a9955ed..42bf832 100644
--- a/include/VERSION
+++ b/include/VERSION
@@ -1,4 +1,4 @@
 7
 0
-3
+4RC1
 2016
diff --git a/include/dbmi.h b/include/dbmi.h
index f60824d..407de5c 100644
--- a/include/dbmi.h
+++ b/include/dbmi.h
@@ -293,10 +293,10 @@ typedef struct
 typedef struct _db_connection
 {
     char *driverName;
-    /* char *hostName; */
+    char *hostName;
     char *databaseName;
     char *schemaName;
-    char *location;
+    char *port;
     char *user;
     char *password;
     char *keycol;		/* name of default key column */
diff --git a/include/defs/dbmi.h b/include/defs/dbmi.h
index c2159b8..f298bec 100644
--- a/include/defs/dbmi.h
+++ b/include/defs/dbmi.h
@@ -411,7 +411,11 @@ void db_zero(void *, int);
 void db_zero_string(dbString *);
 unsigned int db_sizeof_string(const dbString *);
 int db_set_login(const char *, const char *, const char *, const char *);
+int db_set_login2(const char *, const char *, const char *, const char *,
+                  const char *, const char *, int);
 int db_get_login(const char *, const char *, const char **, const char **);
+int db_get_login2(const char *, const char *, const char **, const char **,
+                  const char **, const char **);
 int db_get_login_dump(FILE *);
 
 #endif
diff --git a/include/defs/neta.h b/include/defs/neta.h
index 5556a57..2fedec5 100644
--- a/include/defs/neta.h
+++ b/include/defs/neta.h
@@ -40,6 +40,8 @@ int NetA_betweenness_closeness(dglGraph_s * graph, double *betweenness,
 /*path.c */
 int NetA_distance_from_points(dglGraph_s * graph, struct ilist *from, int *dst,
 			      dglInt32_t ** prev);
+int NetA_distance_to_points(dglGraph_s * graph, struct ilist *from, int *dst,
+			      dglInt32_t ** prev);
 int NetA_find_path(dglGraph_s * graph, int from, int to, int *edges,
 		   struct ilist *list);
 
diff --git a/include/defs/vector.h b/include/defs/vector.h
index c46239c..84796ce 100644
--- a/include/defs/vector.h
+++ b/include/defs/vector.h
@@ -134,6 +134,7 @@ void Vect_destroy_boxlist(struct boxlist *);
 
 /* Bounding box (MBR) */
 int Vect_point_in_box(double, double, double, const struct bound_box *);
+int Vect_point_in_box_2d(double, double, const struct bound_box *);
 int Vect_box_overlap(const struct bound_box *, const struct bound_box *);
 int Vect_box_copy(struct bound_box *, const struct bound_box *);
 int Vect_box_extend(struct bound_box *, const struct bound_box *);
diff --git a/lib/db/dbmi_base/connect.c b/lib/db/dbmi_base/connect.c
index bec2fb1..5de52b2 100644
--- a/lib/db/dbmi_base/connect.c
+++ b/lib/db/dbmi_base/connect.c
@@ -80,17 +80,12 @@ int db_get_connection(dbConnection * connection)
     connection->schemaName = (char *)G_getenv_nofatal2("DB_SCHEMA", G_VAR_MAPSET);
     connection->group = (char *)G_getenv_nofatal2("DB_GROUP", G_VAR_MAPSET);
 
-    /* below commented due to new mechanism: see db_get_login()
-       connection->hostName = G_getenv_nofatal("DB_HOST");
-       connection->location = G_getenv_nofatal("DB_LOCATION");
-       connection->user = G_getenv_nofatal("DB_USER");
-       connection->password = G_getenv_nofatal("DB_PASSWORD");
-     */
-
     /* try to get user/password */
-    db_get_login(connection->driverName, connection->databaseName,
-                 (const char **) &(connection->user),
-                 (const char **) &(connection->password));
+    db_get_login2(connection->driverName, connection->databaseName,
+                  (const char **) &(connection->user),
+                  (const char **) &(connection->password),
+                  (const char **) &(connection->hostName),
+                  (const char **) &(connection->port));
     
     return DB_OK;
 }
diff --git a/lib/db/dbmi_base/login.c b/lib/db/dbmi_base/login.c
index 35cbd33..b1598ed 100644
--- a/lib/db/dbmi_base/login.c
+++ b/lib/db/dbmi_base/login.c
@@ -3,7 +3,7 @@
   
   \brief DBMI Library (base) - login settings
   
-  (C) 1999-2014 by the GRASS Development Team
+  (C) 1999-2015 by the GRASS Development Team
   
   This program is free software under the GNU General Public
   License (>=v2). Read the file COPYING that comes with GRASS
@@ -29,6 +29,8 @@ typedef struct
     char *database;
     char *user;
     char *password;
+    char *host;
+    char *port;
 } DATA;
 
 typedef struct
@@ -57,19 +59,28 @@ static void init_login(LOGIN * login)
 }
 
 static void add_login(LOGIN * login, const char *dr, const char *db, const char *usr,
-		      const char *pwd)
+		      const char *pwd, const char *host, const char *port, int idx)
 {
+    int login_idx;
+    
     if (login->n == login->a) {
 	login->a += 10;
 	login->data =
 	    (DATA *) realloc((void *)login->data, login->a * sizeof(DATA));
     }
-    login->data[login->n].driver = G_store(dr);
-    login->data[login->n].database = G_store(db);
-    login->data[login->n].user = G_store(usr ? usr : "");
-    login->data[login->n].password = G_store(pwd ? pwd : "");
-
-    login->n++;
+    if (idx > -1 && idx < login->n) {
+        login_idx = idx;
+    }
+    else {
+        login_idx = login->n;
+        login->n++;
+    }
+    login->data[login_idx].driver = G_store(dr);
+    login->data[login_idx].database = G_store(db);
+    login->data[login_idx].user = G_store(usr ? usr : "");
+    login->data[login_idx].password = G_store(pwd ? pwd : "");
+    login->data[login_idx].host = G_store(host ? host : "");
+    login->data[login_idx].port = G_store(port ? port : "");
 }
 
 /*
@@ -82,7 +93,7 @@ static int read_file(LOGIN * login)
     int ret;
     const char *file;
     FILE *fd;
-    char buf[2001], dr[500], db[500], usr[500], pwd[500];
+    char buf[2001], dr[500], db[500], usr[500], pwd[500], host[500], port[500];
 
     login->n = 0;
     file = login_filename();
@@ -103,18 +114,19 @@ static int read_file(LOGIN * login)
     while (G_getl2(buf, 2000, fd)) {
 	G_chop(buf);
 
-	usr[0] = pwd[0] = '\0';
-	ret = sscanf(buf, "%[^|]|%[^|]|%[^|]|%[^\n]", dr, db, usr, pwd);
+	usr[0] = pwd[0] = host[0] = port[0] = '\0';
+	ret = sscanf(buf, "%[^|]|%[^|]|%[^|]|%[^|]|%[^|]|%[^\n]",
+                     dr, db, usr, pwd, host, port);
 
-	G_debug(3, "ret = %d : drv=[%s] db=[%s] usr=[%s] pwd=[%s]",
-		ret, dr, db, usr, pwd);
+	G_debug(3, "ret = %d : drv=[%s] db=[%s] usr=[%s] pwd=[%s] host=[%s], port=[%s]",
+		ret, dr, db, usr, pwd, host, port);
 
 	if (ret < 2) {
 	    G_warning(_("Login file (%s) corrupted (line: %s)"), file, buf);
 	    continue;
 	}
 
-	add_login(login, dr, db, usr, pwd);
+	add_login(login, dr, db, usr, pwd, host, port, -1);
     }
 
     fclose(fd);
@@ -155,7 +167,12 @@ static int write_file(LOGIN * login)
 	    if (login->data[i].password)
 		fprintf(fd, "|%s", login->data[i].password);
 	}
-	fprintf(fd, "\n");
+        if (login->data[i].host)
+            fprintf(fd, "|%s", login->data[i].host);
+        if (login->data[i].port)
+            fprintf(fd, "|%s", login->data[i].port);
+
+        fprintf(fd, "\n");
     }
 
     fclose(fd);
@@ -163,32 +180,22 @@ static int write_file(LOGIN * login)
     return 0;
 }
 
-/*!
-  \brief Set user/password for driver/database
-  
-  \param driver driver name
-  \param database database name
-  \param user user name
-  \param password password string
-  
-  \return DB_OK on success
-  \return DB_FAILED on failure
- */
-int db_set_login(const char *driver, const char *database, const char *user,
-		 const char *password)
+static int set_login(const char *driver, const char *database, const char *user,
+                     const char *password, const char *host, const char *port,
+                     int overwrite)
 {
     int i, found;
     LOGIN login;
 
-    G_debug(3, "db_set_login(): drv=[%s] db=[%s] usr=[%s] pwd=[%s]",
-	    driver, database, user, password);
+    G_debug(3, "db_set_login(): drv=[%s] db=[%s] usr=[%s] pwd=[%s] host=[%s] port=[%s]",
+	    driver, database, user, password, host, port);
 
     init_login(&login);
 
     if (read_file(&login) == -1)
 	return DB_FAILED;
 
-    found = 0;
+    found = FALSE;
     for (i = 0; i < login.n; i++) {
 	if (strcmp(login.data[i].driver, driver) == 0 &&
 	    strcmp(login.data[i].database, database) == 0) {
@@ -202,13 +209,25 @@ int db_set_login(const char *driver, const char *database, const char *user,
 	    else
 		login.data[i].password = G_store("");
 
-	    found = 1;
+	    found = TRUE;
 	    break;
 	}
     }
 
+    if (found) {
+        if (overwrite)
+            G_warning(_("DB connection <%s/%s> already exists and will be overwritten"),
+                      driver, database ? database : "");
+        else
+            G_fatal_error(_("DB connection <%s/%s> already exists. "
+                            "Re-run '%s' with '--%s' flag to overwrite existing settings."),
+                          driver, database ? database : "", G_program_name(), "overwrite");
+    }
+    
     if (!found)
-	add_login(&login, driver, database, user, password);
+	add_login(&login, driver, database, user, password, host, port, -1);
+    else
+        add_login(&login, driver, database, user, password, host, port, i);
 
     if (write_file(&login) == -1)
 	return DB_FAILED;
@@ -216,20 +235,52 @@ int db_set_login(const char *driver, const char *database, const char *user,
     return DB_OK;
 }
 
-/*!  
-  \brief Get user/password for driver/database if driver/database
-  is not found, user/password are set to NULL
+/*!
+  \brief Set login parameters for driver/database
   
+  \deprecated Use db_set_login2() instead.
+  
+  \todo: GRASS 8: to be replaced by db_set_login2().
+
   \param driver driver name
-  \param database database name (can be NULL)
-  \param[out] user name
-  \param[out] password string
+  \param database database name
+  \param user user name
+  \param password password string
   
   \return DB_OK on success
   \return DB_FAILED on failure
-*/
-int db_get_login(const char *driver, const char *database, const char **user,
-		 const char **password)
+ */
+int db_set_login(const char *driver, const char *database, const char *user,
+                 const char *password)
+{
+    return set_login(driver, database, user,
+                     password, NULL, NULL, FALSE);
+}
+
+/*!
+  \brief Set login parameters for driver/database
+  
+  \param driver driver name
+  \param database database name
+  \param user user name
+  \param password password string
+  \param host host name
+  \param port
+  \param overwrite TRUE to overwrite existing connections
+  
+  \return DB_OK on success
+  \return DB_FAILED on failure
+ */
+int db_set_login2(const char *driver, const char *database, const char *user,
+		 const char *password, const char *host, const char *port,
+                 int overwrite)
+{
+    return set_login(driver, database, user,
+                     password, host, port, overwrite);
+}
+
+static int get_login(const char *driver, const char *database, const char **user,
+                     const char **password, const char **host, const char **port)
 {
     int i;
     LOGIN login;
@@ -238,7 +289,9 @@ int db_get_login(const char *driver, const char *database, const char **user,
 
     user[0] = '\0';
     password[0] = '\0';
-
+    host[0] = '\0';
+    port[0] = '\0';
+    
     init_login(&login);
 
     if (read_file(&login) == -1)
@@ -257,6 +310,16 @@ int db_get_login(const char *driver, const char *database, const char **user,
 	    else
 		*password = NULL;
 
+            if (login.data[i].host && strlen(login.data[i].host) > 0 && host)
+		*host = G_store(login.data[i].host);
+	    else
+		*host = NULL;
+
+            if (login.data[i].port && strlen(login.data[i].port) > 0 && port)
+		*port = G_store(login.data[i].port);
+	    else
+		*port = NULL;
+
 	    break;
 	}
     }
@@ -265,6 +328,52 @@ int db_get_login(const char *driver, const char *database, const char **user,
 }
 
 /*!  
+  \brief Get login parameters for driver/database
+
+  If driver/database is not found, output arguments are set to NULL.
+
+  \deprecated Use db_set_login2() instead.
+  
+  \todo: GRASS 8: to be replaced by db_set_login2().
+
+  \param driver driver name
+  \param database database name (can be NULL)
+  \param[out] user name
+  \param[out] password string
+
+  \return DB_OK on success
+  \return DB_FAILED on failure
+*/
+int db_get_login(const char *driver, const char *database, const char **user,
+		 const char **password)
+{
+    return get_login(driver, database, user,
+                     password, NULL, NULL);
+}
+
+/*!  
+  \brief Get login parameters for driver/database
+
+  If driver/database is not found, output arguments are set to NULL.
+  
+  \param driver driver name
+  \param database database name (can be NULL)
+  \param[out] user name
+  \param[out] password string
+  \param[out] host name
+  \param[out] port
+
+  \return DB_OK on success
+  \return DB_FAILED on failure
+*/
+int db_get_login2(const char *driver, const char *database, const char **user,
+                  const char **password, const char **host, const char **port)
+{
+    return get_login(driver, database, user,
+                     password, host, port);
+}
+
+/*!  
   \brief Print all connection settings to file
   
   \param fd file where to print settings
@@ -284,11 +393,13 @@ int db_get_login_dump(FILE *fd)
 	return DB_FAILED;
     
     for (i = 0; i < login.n; i++) {
-        fprintf(fd, "%s|%s|%s|%s\n",
+        fprintf(fd, "%s|%s|%s|%s|%s|%s\n",
                 login.data[i].driver,
                 login.data[i].database,
                 login.data[i].user,
-                login.data[i].password);
+                login.data[i].password,
+                login.data[i].host,
+                login.data[i].port);
     }
     
     return DB_OK;
diff --git a/lib/db/dbmi_base/string.c b/lib/db/dbmi_base/string.c
index 3904f28..15be367 100644
--- a/lib/db/dbmi_base/string.c
+++ b/lib/db/dbmi_base/string.c
@@ -135,7 +135,7 @@ int db_enlarge_string(dbString * x, int len)
 
   \param x pointer to dbString
 
-  \return pointer to buffer containg string
+  \return pointer to buffer containing string
 */
 char *db_get_string(const dbString * x)
 {
diff --git a/lib/gis/adj_cellhd.c b/lib/gis/adj_cellhd.c
index 00a0e52..fae9819 100644
--- a/lib/gis/adj_cellhd.c
+++ b/lib/gis/adj_cellhd.c
@@ -39,7 +39,7 @@ void G_adjust_Cell_head(struct Cell_head *cellhd, int row_flag, int col_flag)
 {
     if (!row_flag) {
 	if (cellhd->ns_res <= 0)
-	    G_fatal_error(_("Illegal n-s resolution value"));
+	    G_fatal_error(_("Illegal n-s resolution value <%lf>"), cellhd->ns_res);
     }
     else {
 	if (cellhd->rows <= 0)
diff --git a/lib/gis/datum.table b/lib/gis/datum.table
index b3b3f4c..30c006c 100644
--- a/lib/gis/datum.table
+++ b/lib/gis/datum.table
@@ -88,4 +88,7 @@ nsd      "North_Sahara_1959"       clark80 dx=-186 dy=-93 dz=310
 gda94    "Geocentric_Datum_of_Australia_1994"    grs80    dx=0   dy=0   dz=0
 # http://lists.maptools.org/pipermail/proj/2012-September/006413.html
 itrf92   "ITRF92"    grs80 dx=0   dy=0    dz=0
-
+# https://epsg.io/5514 + https://epsg.io/6156-datum
+S_JTSK	"System_Jednotne_Trigonometricke_Site_Katastralni"	bessel	dx=589	dy=76	dz=480
+# http://spatialreference.org/ref/epsg/4674/
+Sistema_de_Referencia_Geocentrico_para_America_del_Sur_2000 "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_2000"   grs80       dx=0        dy=0       dz=0
diff --git a/lib/gis/datumtransform.table b/lib/gis/datumtransform.table
index a915e4f..d7635b2 100644
--- a/lib/gis/datumtransform.table
+++ b/lib/gis/datumtransform.table
@@ -98,3 +98,7 @@ tokyo   "towgs84=-147,506,687" "South Korea" " "
 cai     "towgs84=-149.1,138.1,90.9,-0.142,0.344,0.301,0.388" "Argentina" "provided by CONAE, Argentina"
 # http://lists.maptools.org/pipermail/proj/2012-September/006413.html
 itrf92	"towgs84=0,0,0,0,0,0,0" "Mexico" "Considered identical to WGS84"
+# http://epsg.io/5514 System_Jednotne_Trigonometricke_Site_Katastralni
+S_JTSK	"towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56" "Czech Republic" "Accuracy about 1m"
+S_JTSK	"towgs84=572.213,85.334,461.94,-4.9732,-1.529,-5.2484,3.5378" "Czech Republic" "Accuracy about 1m"
+S_JTSK	"towgs84=485,169.5,483.8,7.786,4.398,4.103,0" "Slovakia" "Accuracy about 1m"
diff --git a/lib/gis/mapset_nme.c b/lib/gis/mapset_nme.c
index 52ebe25..7950a31 100644
--- a/lib/gis/mapset_nme.c
+++ b/lib/gis/mapset_nme.c
@@ -149,7 +149,7 @@ char **G_get_available_mapsets(void)
     DIR *dir;
     struct dirent *ent;
 
-    G_debug(3, "G_available_mapsets");
+    G_debug(3, "G_get_available_mapsets");
 
     mapsets = G_calloc(alloc, sizeof(char *));
 
diff --git a/lib/gis/parser_standard_options.c b/lib/gis/parser_standard_options.c
index ce5266c..a9ec227 100644
--- a/lib/gis/parser_standard_options.c
+++ b/lib/gis/parser_standard_options.c
@@ -3,7 +3,7 @@
   
   \brief GIS Library - Argument parsing functions (standard options)
   
-  (C) 2001-2014 by the GRASS Development Team
+  (C) 2001-2016 by the GRASS Development Team
   
   This program is free software under the GNU General Public License
   (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -362,7 +362,7 @@ struct Option *G_define_standard_option(int opt)
 	Opt->type = TYPE_STRING;
 	Opt->key_desc = "name";
 	Opt->required = YES;
-	Opt->gisprompt = "old,grid3,3d-raster";
+	Opt->gisprompt = "old,grid3,raster_3d";
 	Opt->description = _("Name of input 3D raster map");
 	break;
     case G_OPT_R3_INPUTS:
@@ -371,7 +371,7 @@ struct Option *G_define_standard_option(int opt)
 	Opt->key_desc = "name";
 	Opt->required = YES;
 	Opt->multiple = YES;
-	Opt->gisprompt = "old,grid3,3d-raster";
+	Opt->gisprompt = "old,grid3,raster_3d";
 	Opt->description = _("Name of input 3D raster map(s)");
 	break;
     case G_OPT_R3_OUTPUT:
@@ -379,7 +379,7 @@ struct Option *G_define_standard_option(int opt)
 	Opt->type = TYPE_STRING;
 	Opt->key_desc = "name";
 	Opt->required = YES;
-	Opt->gisprompt = "new,grid3,3d-raster";
+	Opt->gisprompt = "new,grid3,raster_3d";
 	Opt->description = _("Name for output 3D raster map");
 	break;
     case G_OPT_R3_MAP:
@@ -387,7 +387,7 @@ struct Option *G_define_standard_option(int opt)
 	Opt->type = TYPE_STRING;
 	Opt->key_desc = "name";
 	Opt->required = YES;
-	Opt->gisprompt = "old,grid3,3d-raster";
+	Opt->gisprompt = "old,grid3,raster_3d";
 	Opt->description = _("Name of 3D raster map");
 	break;
     case G_OPT_R3_MAPS:
@@ -396,7 +396,7 @@ struct Option *G_define_standard_option(int opt)
 	Opt->key_desc = "name";
 	Opt->required = YES;
 	Opt->multiple = YES;
-	Opt->gisprompt = "old,grid3,3d-raster";
+	Opt->gisprompt = "old,grid3,raster_3d";
 	Opt->description = _("Name of 3D raster map(s)");
 	break;
     case G_OPT_R3_TYPE:
diff --git a/lib/gis/verbose.c b/lib/gis/verbose.c
index 48cba40..e0184a2 100644
--- a/lib/gis/verbose.c
+++ b/lib/gis/verbose.c
@@ -30,7 +30,7 @@
 #define MAXLEVEL 3
 /*! \brief Standard verbosity level */
 #define STDLEVEL 2
-/*! \brief Minumum verbosity level (quiet) */
+/*! \brief Minimum verbosity level (quiet) */
 #define MINLEVEL 0
 
 static struct state {
diff --git a/lib/imagery/iclass_statistics.c b/lib/imagery/iclass_statistics.c
index c5a4dc6..1ecb50e 100644
--- a/lib/imagery/iclass_statistics.c
+++ b/lib/imagery/iclass_statistics.c
@@ -723,7 +723,7 @@ int I_iclass_statistics_get_product(IClass_statistics * statistics, int band1,
 
    \param statistics pointer to statistics structure
    \param band band index
-   \param[out] min minumum value
+   \param[out] min minimum value
 
    \return 1 on success
    \return 0 band index out of range
diff --git a/lib/init/grass.py b/lib/init/grass.py
index 39d399c..c8d5107 100644
--- a/lib/init/grass.py
+++ b/lib/init/grass.py
@@ -92,8 +92,9 @@ def clean_env():
     env_curr = read_gisrc()
     env_new = {}
     for k,v in env_curr.iteritems():
-        if 'MONITOR' not in k:
-            env_new[k] = v
+        if 'MONITOR' in k or k.endswith('PID'):
+            continue
+        env_new[k] = v
 
     write_gisrc(env_new)
 
@@ -873,12 +874,13 @@ def check_lock():
     if not os.path.exists(location):
         fatal(_("Path '%s' doesn't exist") % location)
     if not os.access(location, os.W_OK):
-        error = "Path '%s' not accessible." % location
+        error = _("Path '%s' not accessible.") % location
         stat_info = os.stat(location)
         mapset_uid = stat_info.st_uid
         if mapset_uid != os.getuid():
-            error += "You are not the owner of '%s'" % location
-        fatal(_(error))
+            # GTC %s is mapset's folder path
+            error = "%s\n%s" % (error, _("You are not the owner of '%s'.") % location)
+        fatal(error)
 
     # Check for concurrent use
     lockfile = os.path.join(location, ".gislock")
@@ -998,6 +1000,20 @@ def start_gui():
         Popen([os.getenv('GRASS_PYTHON'), gfile(wxpython_base, "wxgui.py")])
 
 
+def close_gui():
+    """Close GUI if running"""
+    if gfile('etc', 'python') not in sys.path:
+        sys.path.append(gfile('etc', 'python'))
+    from grass.script import core as gcore  # pylint: disable=E0611
+    env = gcore.gisenv()
+    if 'GUI_PID' not in env:
+        return
+    import signal
+    for pid in env['GUI_PID'].split(','):
+        if grass_debug:
+            message("Exiting GUI with pid={}".format(pid))
+        os.kill(int(pid), signal.SIGTERM)
+        
 def clear_screen():
     if windows:
         pass
@@ -1490,6 +1506,9 @@ write_gisrc(kv)
 exit_val = shell_process.wait()
 if exit_val != 0:
     warning(_("Failed to start shell '%s'") % os.getenv('SHELL'))
+    
+# close GUI if running
+close_gui()
 
 clear_screen()
 
diff --git a/lib/init/variables.html b/lib/init/variables.html
index a310ff2..4f8ba5e 100644
--- a/lib/init/variables.html
+++ b/lib/init/variables.html
@@ -186,8 +186,12 @@ PERMANENT
     raster maps are compressed using zlib compression. This applies to all 
     raster map types (CELL, FCELL, DCELL).
     <br><br>
+    Valid zlib compression levels are -1 to 9. The <tt>GRASS_ZLIB_LEVEL=-1</tt> corresponds
+    to the zlib default value (equivalent to <tt>GRASS_ZLIB_LEVEL=6</tt>). Often
+    <tt>GRASS_ZLIB_LEVEL=1</tt> gives the best compromise between speed and compression.
+    <br><br>
     If the variable doesn't exist, or the value cannot be parsed as an
-    integer, zlib's default compression level will be used.</dd>
+    integer, zlib's default compression level 6 will be used.</dd>
   
   <dt>GRASS_MESSAGE_FORMAT</dt>
   <dd>[various modules, wxGUI]<br>
@@ -521,4 +525,4 @@ Note: On MS Windows the files are stored in <tt>%APPDATA%</tt>.
 </em>
 
 <p>
-<i>Last changed: $Date: 2015-11-27 00:10:47 +0100 (Fri, 27 Nov 2015) $</i>
+<i>Last changed: $Date: 2016-02-04 14:29:19 +0100 (Thu, 04 Feb 2016) $</i>
diff --git a/lib/ogsf/gvld.c b/lib/ogsf/gvld.c
index f2a0214..04a262e 100644
--- a/lib/ogsf/gvld.c
+++ b/lib/ogsf/gvld.c
@@ -240,7 +240,7 @@ int gvld_isosurf(geovol * gvl)
 	nz[i] = 0;
     }
 
-    G_debug(5, "  intialize OK");
+    G_debug(5, "  initialize OK");
 
     for (z = 0; z < depths - 1; z++) {
 	zc = z * zres;
@@ -695,7 +695,7 @@ int gvld_wire_slices(geovol * gvl)
     for (i = 0; i < gvl->n_slices; i++) {
 	slice = gvl->slice[i];
 
-	/* intialize correct coords */
+	/* initialize correct coords */
 	if (slice->dir == X) {
 	    resx = gvl->yres;
 	    resy = gvl->zres;
diff --git a/lib/pngdriver/read_png.c b/lib/pngdriver/read_png.c
index 56d37df..47389af 100644
--- a/lib/pngdriver/read_png.c
+++ b/lib/pngdriver/read_png.c
@@ -16,6 +16,8 @@
 #include <png.h>
 
 #include <grass/gis.h>
+#include <grass/glocale.h>
+
 #include "pngdriver.h"
 
 static void read_data(png_structp png_ptr, png_bytep data, png_size_t length)
@@ -37,7 +39,7 @@ static void read_data(png_structp png_ptr, png_bytep data, png_size_t length)
   check = fread(data, 1, length, fp);
 
   if (check != length)
-    G_fatal_error("PNG: Read Error");
+    G_fatal_error(_("Unable to read PNG"));
 }
 
 void read_png(void)
@@ -55,18 +57,18 @@ void read_png(void)
     png_ptr =
 	png_create_read_struct(PNG_LIBPNG_VER_STRING, &jbuf, NULL, NULL);
     if (!png_ptr)
-	G_fatal_error("PNG: couldn't allocate PNG structure");
+        G_fatal_error(_("Unable allocate PNG structure"));
 
     info_ptr = png_create_info_struct(png_ptr);
     if (!info_ptr)
-	G_fatal_error("PNG: couldn't allocate PNG structure");
+	G_fatal_error(_("Unable to allocate PNG structure"));
 
     if (setjmp(png_jmpbuf(png_ptr)))
-	G_fatal_error("error reading PNG file");
+	G_fatal_error(_("Unable to read PNG file"));
 
     input = fopen(png.file_name, "rb");
     if (!input)
-	G_fatal_error("PNG: couldn't open output file %s", png.file_name);
+	G_fatal_error(_("Unable to open output file <%s>"), png.file_name);
 
     png_set_read_fn(png_ptr, input, read_data);
 
@@ -76,20 +78,20 @@ void read_png(void)
 		 &depth, &color_type, NULL, NULL, NULL);
 
     if (depth != 8)
-	G_fatal_error("PNG: input file is not 8-bit");
+	G_fatal_error(_("Input PNG file is not 8-bit"));
 
-    if (i_width != png.width || i_height != png.height)
+    if (i_width != (unsigned long)png.width || i_height != (unsigned long)png.height)
 	G_fatal_error
-	    ("PNG: input file has incorrect dimensions: expected: %dx%d got: %lux%lu",
+	    (_("Input PNG file has incorrect dimensions: expected: %dx%d got: %lux%lu"),
 	     png.width, png.height, (unsigned long) i_width, (unsigned long) i_height);
 
     if (png.true_color) {
 	if (color_type != PNG_COLOR_TYPE_RGB_ALPHA)
-	    G_fatal_error("PNG: input file is not RGBA");
+	    G_fatal_error(_("Input PNG file is not RGBA"));
     }
     else {
 	if (color_type != PNG_COLOR_TYPE_PALETTE)
-	    G_fatal_error("PNG: input file is not indexed color");
+	    G_fatal_error(_("Input PNG file is not indexed color"));
     }
 
     if (!png.true_color && png.has_alpha) {
@@ -99,7 +101,7 @@ void read_png(void)
 	png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, NULL);
 
 	if (num_trans != 1 || trans[0] != 0)
-	    G_fatal_error("PNG: input file has invalid palette");
+	    G_fatal_error(_("Input PNG file has invalid palette"));
     }
 
     if (png.true_color)
diff --git a/lib/pngdriver/write_png.c b/lib/pngdriver/write_png.c
index 10444f1..7080e5d 100644
--- a/lib/pngdriver/write_png.c
+++ b/lib/pngdriver/write_png.c
@@ -16,6 +16,8 @@
 #include <png.h>
 
 #include <grass/gis.h>
+#include <grass/glocale.h>
+
 #include "pngdriver.h"
 
 
@@ -34,7 +36,7 @@ static void write_data(png_structp png_ptr, png_bytep data, png_size_t length)
     check = fwrite(data, 1, length, fp);
 
     if (check != length)
-	G_fatal_error("PNG: Write Error");
+	G_fatal_error(_("Unable to write PNG"));
 }
 
 static void output_flush(png_structp png_ptr)
@@ -66,18 +68,18 @@ void write_png(void)
     png_ptr =
 	png_create_write_struct(PNG_LIBPNG_VER_STRING, &jbuf, NULL, NULL);
     if (!png_ptr)
-	G_fatal_error("PNG: couldn't allocate PNG structure");
+	G_fatal_error(_("Unable to allocate PNG structure"));
 
     info_ptr = png_create_info_struct(png_ptr);
     if (!info_ptr)
-	G_fatal_error("PNG: couldn't allocate PNG structure");
+	G_fatal_error(_("Unable to allocate PNG structure"));
 
     if (setjmp(png_jmpbuf(png_ptr)))
-	G_fatal_error("error writing PNG file");
+	G_fatal_error(_("Unable to write PNG file"));
 
     output = fopen(png.file_name, "wb");
     if (!output)
-	G_fatal_error("PNG: couldn't open output file %s", png.file_name);
+	G_fatal_error(_("Unable to open output PNG file <%s>"), png.file_name);
 
     png_set_write_fn(png_ptr, output, write_data, output_flush);
 
diff --git a/lib/proj/Makefile b/lib/proj/Makefile
index 9615f42..99ff541 100644
--- a/lib/proj/Makefile
+++ b/lib/proj/Makefile
@@ -16,16 +16,16 @@ NAD_TABLES := $(wildcard *.lla)
 
 NT_TABLES = ntv1_can.dat nzgd2kgrid0005.gsb
 
-CSV_FILES := $(wildcard *.csv)
+#CSV_FILES := $(wildcard *.csv)
 
 PROJ_DIR = $(ETC)/proj
 NAD_DIR  = $(ETC)/proj/nad
-CSV_DIR  = $(ETC)/proj/ogr_csv
+#CSV_DIR  = $(ETC)/proj/ogr_csv
 
 NAD_DSTFILES := $(patsubst %.lla,$(NAD_DIR)/%,$(NAD_TABLES))
 NAD_BINFILES := $(patsubst %.lla,$(OBJDIR)/%,$(NAD_TABLES))
 NT_DSTFILES  := $(patsubst %,$(NAD_DIR)/%,$(NT_TABLES))
-CSV_DSTFILES := $(patsubst %,$(CSV_DIR)/%,$(CSV_FILES))
+#CSV_DSTFILES := $(patsubst %,$(CSV_DIR)/%,$(CSV_FILES))
 
 NAD_SRCDIR = $(ETC)/proj/nad/src
 NAD_SRCFILES := $(patsubst %.lla,$(NAD_SRCDIR)/%.lla,$(NAD_TABLES))
@@ -34,7 +34,9 @@ PROJ_TABLES := desc.table parms.table units.table
 PROJ_DSTFILES := $(patsubst %,$(PROJ_DIR)/%,$(PROJ_TABLES))
 
 default: lib $(FTOL_OBJ)
-	$(MAKE) $(NAD_DSTFILES) $(CSV_DSTFILES) $(PROJ_DSTFILES) $(NAD_SRCFILES)
+	$(MAKE) $(NAD_DSTFILES) $(PROJ_DSTFILES) $(NAD_SRCFILES)
+
+#  $(CSV_DSTFILES)
 
 ifdef MINGW
 $(FTOL_OBJ): $(OBJDIR)/ftol.o
@@ -50,8 +52,8 @@ $(NAD_BINFILES): $(OBJDIR)/%: %.lla
 $(NT_DSTFILES): $(NAD_DIR)/%: % | $(NAD_DIR)
 	$(INSTALL_DATA) $< $@
 
-$(CSV_DSTFILES): $(CSV_DIR)/%.csv: %.csv | $(CSV_DIR)
-	$(INSTALL_DATA) $< $@
+#$(CSV_DSTFILES): $(CSV_DIR)/%.csv: %.csv | $(CSV_DIR)
+#	$(INSTALL_DATA) $< $@
 
 $(NAD_SRCFILES): $(NAD_SRCDIR)/%.lla: %.lla | $(NAD_SRCDIR)
 	$(INSTALL_DATA) $< $@
@@ -65,8 +67,8 @@ $(PROJ_DIR):
 $(NAD_DIR): | $(PROJ_DIR)
 	$(MKDIR) $@
 
-$(CSV_DIR): | $(PROJ_DIR)
-	$(MKDIR) $@
+#$(CSV_DIR): | $(PROJ_DIR)
+#	$(MKDIR) $@
 
 $(NAD_SRCDIR): | $(PROJ_DIR)
 	$(MKDIR) $@
diff --git a/lib/proj/convert.c b/lib/proj/convert.c
index 2ff3caf..6393480 100644
--- a/lib/proj/convert.c
+++ b/lib/proj/convert.c
@@ -141,6 +141,9 @@ OGRSpatialReferenceH GPJ_grass_to_osr(const struct Key_Value * proj_info,
 	return NULL;
     }
     G_free(proj4mod);
+    sysname = G_find_key_value("name", proj_info);
+    if (sysname)
+	OSRSetProjCS(hSRS, sysname);
 
     if ((errcode = OSRExportToWkt(hSRS, &wkt)) != OGRERR_NONE) {
 	G_warning(_("OGR can't get WKT-style parameter string "
@@ -152,7 +155,7 @@ OGRSpatialReferenceH GPJ_grass_to_osr(const struct Key_Value * proj_info,
     GPJ__get_ellipsoid_params(proj_info, &a, &es, &rf);
     haveparams = GPJ__get_datum_params(proj_info, &datum, &params);
 
-    if(ellpskv != NULL)
+    if (ellpskv != NULL)
 	ellps = G_store(ellpskv);
     else
 	ellps = NULL;
@@ -264,7 +267,7 @@ OGRSpatialReferenceH GPJ_grass_to_osr(const struct Key_Value * proj_info,
  * \param hSRS        OGRSpatialReferenceH object containing the co-ordinate 
  *                    system to be converted
  * \param datumtrans  Index number of datum parameter set to use, 0 to leave
- *                    unspecifed
+ *                    unspecified
  * 
  * \return            2 if a projected or lat/long co-ordinate system has been
  *                    defined
@@ -278,6 +281,7 @@ int GPJ_osr_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
     struct Key_Value *temp_projinfo;
     char *pszProj4 = NULL, *pszRemaining;
     char *pszProj = NULL;
+    const char *pszProjCS = NULL;
     char *datum = NULL;
     struct gpj_datum dstruct;
 
@@ -285,7 +289,7 @@ int GPJ_osr_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
 	goto default_to_xy;
 
     /* Set finder function for locating OGR csv co-ordinate system tables */
-    SetCSVFilenameHook(GPJ_set_csv_loc);
+    /* SetCSVFilenameHook(GPJ_set_csv_loc); */
 
     /* Hopefully this doesn't do any harm if it wasn't in ESRI format
      * to start with... */
@@ -357,14 +361,13 @@ int GPJ_osr_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
 	else
 	    pszValue = "defined";
 
-
+	/* projection name */
 	if (G_strcasecmp(pszToken, "proj") == 0) {
 	    /* The ll projection is known as longlat in PROJ.4 */
 	    if (G_strcasecmp(pszValue, "longlat") == 0)
 		pszValue = "ll";
 
 	    pszProj = pszValue;
-	    continue;
 	}
 
 	/* Ellipsoid and datum handled separately below */
@@ -383,15 +386,26 @@ int GPJ_osr_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
 
 	G_set_key_value(pszToken, pszValue, temp_projinfo);
     }
+    if (!pszProj)
+	G_warning(_("No projection name! Projection parameters likely to be meaningless."));
 
     *projinfo = G_create_key_value();
 
     /* -------------------------------------------------------------------- */
-    /*      Derive the user name for the projection.                        */
+    /*      Derive the user name for the coordinate system.                 */
     /* -------------------------------------------------------------------- */
-    if (pszProj) {
+    pszProjCS = OSRGetAttrValue(hSRS, "PROJCS", 0);
+    if (!pszProjCS)
+	pszProjCS = OSRGetAttrValue(hSRS, "GEOGCS", 0);
+
+    if (pszProjCS) {
+	G_set_key_value("name", pszProjCS, *projinfo);
+    }
+    else if (pszProj) {
 	char path[4095];
 	char name[80];
+	
+	/* use name of the projection as name for the coordinate system */
 
 	sprintf(path, "%s/etc/proj/projections", G_gisbase());
 	if (G_lookup_key_value_from_file(path, pszProj, name, sizeof(name)) >
@@ -399,11 +413,7 @@ int GPJ_osr_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
 	    G_set_key_value("name", name, *projinfo);
 	else
 	    G_set_key_value("name", pszProj, *projinfo);
-
-	G_set_key_value("proj", pszProj, *projinfo);
     }
-    else
-	G_warning(_("No projection name! Projection parameters likely to be meaningless."));
 
 
     /* -------------------------------------------------------------------- */
@@ -675,7 +685,7 @@ int GPJ_osr_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
  * \param wkt         Well-known Text (WKT) description of the co-ordinate 
  *                    system to be converted
  * \param datumtrans  Index number of datum parameter set to use, 0 to leave
- *                    unspecifed
+ *                    unspecified
  * 
  * \return            2 if a projected or lat/long co-ordinate system has been
  *                    defined
@@ -697,7 +707,7 @@ int GPJ_wkt_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
 	OGRSpatialReferenceH hSRS;
 
 	/* Set finder function for locating OGR csv co-ordinate system tables */
-	SetCSVFilenameHook(GPJ_set_csv_loc);
+	/* SetCSVFilenameHook(GPJ_set_csv_loc); */
 
 	hSRS = OSRNewSpatialReference(wkt);
 	retval =
@@ -767,12 +777,16 @@ static const char *papszDatumEquiv[] = {
     "Monte_Mario",
     "Campo_Inchauspe_1969",
     "Campo_Inchauspe",
+    "S_JTSK",
+    "System_Jednotne_Trigonometricke_Site_Katastralni",
     "S_JTSK_Ferro",
     "Militar_Geographische_Institut",
     "Potsdam_Datum_83",
     "Deutsches_Hauptdreiecksnetz",
     "South_American_1969",
     "South_American_Datum_1969",
+    "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000",
+    "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_2000",
     "ITRF_1992",
     "ITRF92",
     NULL
diff --git a/lib/python/ctypes/arraystats.py b/lib/python/ctypes/arraystats.py
deleted file mode 100644
index 5f82ca2..0000000
--- a/lib/python/ctypes/arraystats.py
+++ /dev/null
@@ -1,659 +0,0 @@
-'''Wrapper for arraystats.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_arraystats.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h -o arraystats.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_arraystats.7.0.svn"] = load_library("grass_arraystats.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 8
-class struct_GASTATS(Structure):
-    pass
-
-struct_GASTATS.__slots__ = [
-    'count',
-    'min',
-    'max',
-    'sum',
-    'sumsq',
-    'sumabs',
-    'mean',
-    'meanabs',
-    'var',
-    'stdev',
-]
-struct_GASTATS._fields_ = [
-    ('count', c_double),
-    ('min', c_double),
-    ('max', c_double),
-    ('sum', c_double),
-    ('sumsq', c_double),
-    ('sumabs', c_double),
-    ('mean', c_double),
-    ('meanabs', c_double),
-    ('var', c_double),
-    ('stdev', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 22
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_apply_algorithm'):
-    class_apply_algorithm = _libs['grass_arraystats.7.0.svn'].class_apply_algorithm
-    class_apply_algorithm.restype = c_double
-    class_apply_algorithm.argtypes = [String, POINTER(c_double), c_int, POINTER(c_int), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 23
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_interval'):
-    class_interval = _libs['grass_arraystats.7.0.svn'].class_interval
-    class_interval.restype = c_int
-    class_interval.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 24
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_quant'):
-    class_quant = _libs['grass_arraystats.7.0.svn'].class_quant
-    class_quant.restype = c_int
-    class_quant.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 25
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_discont'):
-    class_discont = _libs['grass_arraystats.7.0.svn'].class_discont
-    class_discont.restype = c_double
-    class_discont.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 26
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_stdev'):
-    class_stdev = _libs['grass_arraystats.7.0.svn'].class_stdev
-    class_stdev.restype = c_double
-    class_stdev.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 27
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_equiprob'):
-    class_equiprob = _libs['grass_arraystats.7.0.svn'].class_equiprob
-    class_equiprob.restype = c_int
-    class_equiprob.argtypes = [POINTER(c_double), c_int, POINTER(c_int), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 29
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_frequencies'):
-    class_frequencies = _libs['grass_arraystats.7.0.svn'].class_frequencies
-    class_frequencies.restype = c_int
-    class_frequencies.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 31
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'eqdrt'):
-    eqdrt = _libs['grass_arraystats.7.0.svn'].eqdrt
-    eqdrt.restype = None
-    eqdrt.argtypes = [POINTER(c_double), POINTER(c_double), c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 32
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'basic_stats'):
-    basic_stats = _libs['grass_arraystats.7.0.svn'].basic_stats
-    basic_stats.restype = None
-    basic_stats.argtypes = [POINTER(c_double), c_int, POINTER(struct_GASTATS)]
-
-GASTATS = struct_GASTATS # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 8
-
-# No inserted files
-
diff --git a/lib/python/ctypes/cluster.py b/lib/python/ctypes/cluster.py
deleted file mode 100644
index aa54be0..0000000
--- a/lib/python/ctypes/cluster.py
+++ /dev/null
@@ -1,785 +0,0 @@
-'''Wrapper for cluster.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_cluster.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h -o cluster.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_cluster.7.0.svn"] = load_library("grass_cluster.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 50
-class struct_One_Sig(Structure):
-    pass
-
-struct_One_Sig.__slots__ = [
-    'desc',
-    'npoints',
-    'mean',
-    'var',
-    'status',
-    'r',
-    'g',
-    'b',
-    'have_color',
-]
-struct_One_Sig._fields_ = [
-    ('desc', c_char * 100),
-    ('npoints', c_int),
-    ('mean', POINTER(c_double)),
-    ('var', POINTER(POINTER(c_double))),
-    ('status', c_int),
-    ('r', c_float),
-    ('g', c_float),
-    ('b', c_float),
-    ('have_color', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 61
-class struct_Signature(Structure):
-    pass
-
-struct_Signature.__slots__ = [
-    'nbands',
-    'nsigs',
-    'title',
-    'sig',
-]
-struct_Signature._fields_ = [
-    ('nbands', c_int),
-    ('nsigs', c_int),
-    ('title', c_char * 100),
-    ('sig', POINTER(struct_One_Sig)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 7
-class struct_Cluster(Structure):
-    pass
-
-struct_Cluster.__slots__ = [
-    'nbands',
-    'npoints',
-    'points',
-    'np',
-    'band_sum',
-    'band_sum2',
-    '_class',
-    'reclass',
-    'count',
-    'countdiff',
-    'sum',
-    'sumdiff',
-    'sum2',
-    'mean',
-    'S',
-    'nclasses',
-    'merge1',
-    'merge2',
-    'iteration',
-    'percent_stable',
-]
-struct_Cluster._fields_ = [
-    ('nbands', c_int),
-    ('npoints', c_int),
-    ('points', POINTER(POINTER(DCELL))),
-    ('np', c_int),
-    ('band_sum', POINTER(c_double)),
-    ('band_sum2', POINTER(c_double)),
-    ('_class', POINTER(c_int)),
-    ('reclass', POINTER(c_int)),
-    ('count', POINTER(c_int)),
-    ('countdiff', POINTER(c_int)),
-    ('sum', POINTER(POINTER(c_double))),
-    ('sumdiff', POINTER(POINTER(c_double))),
-    ('sum2', POINTER(POINTER(c_double))),
-    ('mean', POINTER(POINTER(c_double))),
-    ('S', struct_Signature),
-    ('nclasses', c_int),
-    ('merge1', c_int),
-    ('merge2', c_int),
-    ('iteration', c_int),
-    ('percent_stable', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 34
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_assign'):
-    I_cluster_assign = _libs['grass_cluster.7.0.svn'].I_cluster_assign
-    I_cluster_assign.restype = c_int
-    I_cluster_assign.argtypes = [POINTER(struct_Cluster), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 37
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_begin'):
-    I_cluster_begin = _libs['grass_cluster.7.0.svn'].I_cluster_begin
-    I_cluster_begin.restype = c_int
-    I_cluster_begin.argtypes = [POINTER(struct_Cluster), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 40
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_clear'):
-    I_cluster_clear = _libs['grass_cluster.7.0.svn'].I_cluster_clear
-    I_cluster_clear.restype = c_int
-    I_cluster_clear.argtypes = [POINTER(struct_Cluster)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 43
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_distinct'):
-    I_cluster_distinct = _libs['grass_cluster.7.0.svn'].I_cluster_distinct
-    I_cluster_distinct.restype = c_int
-    I_cluster_distinct.argtypes = [POINTER(struct_Cluster), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 46
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_exec'):
-    I_cluster_exec = _libs['grass_cluster.7.0.svn'].I_cluster_exec
-    I_cluster_exec.restype = c_int
-    I_cluster_exec.argtypes = [POINTER(struct_Cluster), c_int, c_int, c_double, c_double, c_int, CFUNCTYPE(UNCHECKED(c_int), ), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 49
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_exec_allocate'):
-    I_cluster_exec_allocate = _libs['grass_cluster.7.0.svn'].I_cluster_exec_allocate
-    I_cluster_exec_allocate.restype = c_int
-    I_cluster_exec_allocate.argtypes = [POINTER(struct_Cluster)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 50
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_exec_free'):
-    I_cluster_exec_free = _libs['grass_cluster.7.0.svn'].I_cluster_exec_free
-    I_cluster_exec_free.restype = c_int
-    I_cluster_exec_free.argtypes = [POINTER(struct_Cluster)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 53
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_means'):
-    I_cluster_means = _libs['grass_cluster.7.0.svn'].I_cluster_means
-    I_cluster_means.restype = c_int
-    I_cluster_means.argtypes = [POINTER(struct_Cluster)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 56
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_merge'):
-    I_cluster_merge = _libs['grass_cluster.7.0.svn'].I_cluster_merge
-    I_cluster_merge.restype = c_int
-    I_cluster_merge.argtypes = [POINTER(struct_Cluster)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 59
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_nclasses'):
-    I_cluster_nclasses = _libs['grass_cluster.7.0.svn'].I_cluster_nclasses
-    I_cluster_nclasses.restype = c_int
-    I_cluster_nclasses.argtypes = [POINTER(struct_Cluster), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 62
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_point'):
-    I_cluster_point = _libs['grass_cluster.7.0.svn'].I_cluster_point
-    I_cluster_point.restype = c_int
-    I_cluster_point.argtypes = [POINTER(struct_Cluster), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 63
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_begin_point_set'):
-    I_cluster_begin_point_set = _libs['grass_cluster.7.0.svn'].I_cluster_begin_point_set
-    I_cluster_begin_point_set.restype = c_int
-    I_cluster_begin_point_set.argtypes = [POINTER(struct_Cluster), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 64
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_point_part'):
-    I_cluster_point_part = _libs['grass_cluster.7.0.svn'].I_cluster_point_part
-    I_cluster_point_part.restype = c_int
-    I_cluster_point_part.argtypes = [POINTER(struct_Cluster), DCELL, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 65
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_end_point_set'):
-    I_cluster_end_point_set = _libs['grass_cluster.7.0.svn'].I_cluster_end_point_set
-    I_cluster_end_point_set.restype = c_int
-    I_cluster_end_point_set.argtypes = [POINTER(struct_Cluster), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 68
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_reassign'):
-    I_cluster_reassign = _libs['grass_cluster.7.0.svn'].I_cluster_reassign
-    I_cluster_reassign.restype = c_int
-    I_cluster_reassign.argtypes = [POINTER(struct_Cluster), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 71
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_reclass'):
-    I_cluster_reclass = _libs['grass_cluster.7.0.svn'].I_cluster_reclass
-    I_cluster_reclass.restype = c_int
-    I_cluster_reclass.argtypes = [POINTER(struct_Cluster), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 74
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_separation'):
-    I_cluster_separation = _libs['grass_cluster.7.0.svn'].I_cluster_separation
-    I_cluster_separation.restype = c_double
-    I_cluster_separation.argtypes = [POINTER(struct_Cluster), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 77
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_signatures'):
-    I_cluster_signatures = _libs['grass_cluster.7.0.svn'].I_cluster_signatures
-    I_cluster_signatures.restype = c_int
-    I_cluster_signatures.argtypes = [POINTER(struct_Cluster)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 80
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_sum2'):
-    I_cluster_sum2 = _libs['grass_cluster.7.0.svn'].I_cluster_sum2
-    I_cluster_sum2.restype = c_int
-    I_cluster_sum2.argtypes = [POINTER(struct_Cluster)]
-
-Cluster = struct_Cluster # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 7
-
-# No inserted files
-
diff --git a/lib/python/ctypes/date.py b/lib/python/ctypes/date.py
deleted file mode 100644
index cb7063a..0000000
--- a/lib/python/ctypes/date.py
+++ /dev/null
@@ -1,1037 +0,0 @@
-'''Wrapper for datetime.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_datetime.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h -o date.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_datetime.7.0.svn"] = load_library("grass_datetime.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-class struct_DateTime(Structure):
-    pass
-
-struct_DateTime.__slots__ = [
-    'mode',
-    '_from',
-    'to',
-    'fracsec',
-    'year',
-    'month',
-    'day',
-    'hour',
-    'minute',
-    'second',
-    'positive',
-    'tz',
-]
-struct_DateTime._fields_ = [
-    ('mode', c_int),
-    ('_from', c_int),
-    ('to', c_int),
-    ('fracsec', c_int),
-    ('year', c_int),
-    ('month', c_int),
-    ('day', c_int),
-    ('hour', c_int),
-    ('minute', c_int),
-    ('second', c_double),
-    ('positive', c_int),
-    ('tz', c_int),
-]
-
-DateTime = struct_DateTime # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 6
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_between'):
-    datetime_is_between = _libs['grass_datetime.7.0.svn'].datetime_is_between
-    datetime_is_between.restype = c_int
-    datetime_is_between.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 9
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_change_from_to'):
-    datetime_change_from_to = _libs['grass_datetime.7.0.svn'].datetime_change_from_to
-    datetime_change_from_to.restype = c_int
-    datetime_change_from_to.argtypes = [POINTER(DateTime), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 12
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_copy'):
-    datetime_copy = _libs['grass_datetime.7.0.svn'].datetime_copy
-    datetime_copy.restype = None
-    datetime_copy.argtypes = [POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 15
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_difference'):
-    datetime_difference = _libs['grass_datetime.7.0.svn'].datetime_difference
-    datetime_difference.restype = c_int
-    datetime_difference.argtypes = [POINTER(DateTime), POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 19
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_error'):
-    datetime_error = _libs['grass_datetime.7.0.svn'].datetime_error
-    datetime_error.restype = c_int
-    datetime_error.argtypes = [c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 20
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_error_code'):
-    datetime_error_code = _libs['grass_datetime.7.0.svn'].datetime_error_code
-    datetime_error_code.restype = c_int
-    datetime_error_code.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 21
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_error_msg'):
-    datetime_error_msg = _libs['grass_datetime.7.0.svn'].datetime_error_msg
-    datetime_error_msg.restype = ReturnString
-    datetime_error_msg.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 22
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_clear_error'):
-    datetime_clear_error = _libs['grass_datetime.7.0.svn'].datetime_clear_error
-    datetime_clear_error.restype = None
-    datetime_clear_error.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 25
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_format'):
-    datetime_format = _libs['grass_datetime.7.0.svn'].datetime_format
-    datetime_format.restype = c_int
-    datetime_format.argtypes = [POINTER(DateTime), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 28
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_increment'):
-    datetime_increment = _libs['grass_datetime.7.0.svn'].datetime_increment
-    datetime_increment.restype = c_int
-    datetime_increment.argtypes = [POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 31
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_valid_increment'):
-    datetime_is_valid_increment = _libs['grass_datetime.7.0.svn'].datetime_is_valid_increment
-    datetime_is_valid_increment.restype = c_int
-    datetime_is_valid_increment.argtypes = [POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 32
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_increment'):
-    datetime_check_increment = _libs['grass_datetime.7.0.svn'].datetime_check_increment
-    datetime_check_increment.restype = c_int
-    datetime_check_increment.argtypes = [POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 35
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_increment_type'):
-    datetime_get_increment_type = _libs['grass_datetime.7.0.svn'].datetime_get_increment_type
-    datetime_get_increment_type.restype = c_int
-    datetime_get_increment_type.argtypes = [POINTER(DateTime), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 37
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_increment_type'):
-    datetime_set_increment_type = _libs['grass_datetime.7.0.svn'].datetime_set_increment_type
-    datetime_set_increment_type.restype = c_int
-    datetime_set_increment_type.argtypes = [POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 40
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_local_timezone'):
-    datetime_get_local_timezone = _libs['grass_datetime.7.0.svn'].datetime_get_local_timezone
-    datetime_get_local_timezone.restype = c_int
-    datetime_get_local_timezone.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 41
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_local_time'):
-    datetime_get_local_time = _libs['grass_datetime.7.0.svn'].datetime_get_local_time
-    datetime_get_local_time.restype = None
-    datetime_get_local_time.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 44
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_days_in_month'):
-    datetime_days_in_month = _libs['grass_datetime.7.0.svn'].datetime_days_in_month
-    datetime_days_in_month.restype = c_int
-    datetime_days_in_month.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 45
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_leap_year'):
-    datetime_is_leap_year = _libs['grass_datetime.7.0.svn'].datetime_is_leap_year
-    datetime_is_leap_year.restype = c_int
-    datetime_is_leap_year.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 46
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_days_in_year'):
-    datetime_days_in_year = _libs['grass_datetime.7.0.svn'].datetime_days_in_year
-    datetime_days_in_year.restype = c_int
-    datetime_days_in_year.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 49
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_same'):
-    datetime_is_same = _libs['grass_datetime.7.0.svn'].datetime_is_same
-    datetime_is_same.restype = c_int
-    datetime_is_same.argtypes = [POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 52
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_scan'):
-    datetime_scan = _libs['grass_datetime.7.0.svn'].datetime_scan
-    datetime_scan.restype = c_int
-    datetime_scan.argtypes = [POINTER(DateTime), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 55
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_positive'):
-    datetime_is_positive = _libs['grass_datetime.7.0.svn'].datetime_is_positive
-    datetime_is_positive.restype = c_int
-    datetime_is_positive.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 56
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_negative'):
-    datetime_is_negative = _libs['grass_datetime.7.0.svn'].datetime_is_negative
-    datetime_is_negative.restype = c_int
-    datetime_is_negative.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 57
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_positive'):
-    datetime_set_positive = _libs['grass_datetime.7.0.svn'].datetime_set_positive
-    datetime_set_positive.restype = None
-    datetime_set_positive.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 58
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_negative'):
-    datetime_set_negative = _libs['grass_datetime.7.0.svn'].datetime_set_negative
-    datetime_set_negative.restype = None
-    datetime_set_negative.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 59
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_invert_sign'):
-    datetime_invert_sign = _libs['grass_datetime.7.0.svn'].datetime_invert_sign
-    datetime_invert_sign.restype = None
-    datetime_invert_sign.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 62
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_type'):
-    datetime_set_type = _libs['grass_datetime.7.0.svn'].datetime_set_type
-    datetime_set_type.restype = c_int
-    datetime_set_type.argtypes = [POINTER(DateTime), c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 63
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_type'):
-    datetime_get_type = _libs['grass_datetime.7.0.svn'].datetime_get_type
-    datetime_get_type.restype = c_int
-    datetime_get_type.argtypes = [POINTER(DateTime), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 65
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_valid_type'):
-    datetime_is_valid_type = _libs['grass_datetime.7.0.svn'].datetime_is_valid_type
-    datetime_is_valid_type.restype = c_int
-    datetime_is_valid_type.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 66
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_type'):
-    datetime_check_type = _libs['grass_datetime.7.0.svn'].datetime_check_type
-    datetime_check_type.restype = c_int
-    datetime_check_type.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 67
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_in_interval_year_month'):
-    datetime_in_interval_year_month = _libs['grass_datetime.7.0.svn'].datetime_in_interval_year_month
-    datetime_in_interval_year_month.restype = c_int
-    datetime_in_interval_year_month.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 68
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_in_interval_day_second'):
-    datetime_in_interval_day_second = _libs['grass_datetime.7.0.svn'].datetime_in_interval_day_second
-    datetime_in_interval_day_second.restype = c_int
-    datetime_in_interval_day_second.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 69
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_absolute'):
-    datetime_is_absolute = _libs['grass_datetime.7.0.svn'].datetime_is_absolute
-    datetime_is_absolute.restype = c_int
-    datetime_is_absolute.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 70
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_relative'):
-    datetime_is_relative = _libs['grass_datetime.7.0.svn'].datetime_is_relative
-    datetime_is_relative.restype = c_int
-    datetime_is_relative.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 73
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_timezone'):
-    datetime_check_timezone = _libs['grass_datetime.7.0.svn'].datetime_check_timezone
-    datetime_check_timezone.restype = c_int
-    datetime_check_timezone.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 74
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_timezone'):
-    datetime_get_timezone = _libs['grass_datetime.7.0.svn'].datetime_get_timezone
-    datetime_get_timezone.restype = c_int
-    datetime_get_timezone.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 75
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_timezone'):
-    datetime_set_timezone = _libs['grass_datetime.7.0.svn'].datetime_set_timezone
-    datetime_set_timezone.restype = c_int
-    datetime_set_timezone.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 76
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_unset_timezone'):
-    datetime_unset_timezone = _libs['grass_datetime.7.0.svn'].datetime_unset_timezone
-    datetime_unset_timezone.restype = c_int
-    datetime_unset_timezone.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 77
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_valid_timezone'):
-    datetime_is_valid_timezone = _libs['grass_datetime.7.0.svn'].datetime_is_valid_timezone
-    datetime_is_valid_timezone.restype = c_int
-    datetime_is_valid_timezone.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 80
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_change_timezone'):
-    datetime_change_timezone = _libs['grass_datetime.7.0.svn'].datetime_change_timezone
-    datetime_change_timezone.restype = c_int
-    datetime_change_timezone.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 81
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_change_to_utc'):
-    datetime_change_to_utc = _libs['grass_datetime.7.0.svn'].datetime_change_to_utc
-    datetime_change_to_utc.restype = c_int
-    datetime_change_to_utc.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 82
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_decompose_timezone'):
-    datetime_decompose_timezone = _libs['grass_datetime.7.0.svn'].datetime_decompose_timezone
-    datetime_decompose_timezone.restype = None
-    datetime_decompose_timezone.argtypes = [c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 85
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_year'):
-    datetime_check_year = _libs['grass_datetime.7.0.svn'].datetime_check_year
-    datetime_check_year.restype = c_int
-    datetime_check_year.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 86
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_month'):
-    datetime_check_month = _libs['grass_datetime.7.0.svn'].datetime_check_month
-    datetime_check_month.restype = c_int
-    datetime_check_month.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 87
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_day'):
-    datetime_check_day = _libs['grass_datetime.7.0.svn'].datetime_check_day
-    datetime_check_day.restype = c_int
-    datetime_check_day.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 88
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_hour'):
-    datetime_check_hour = _libs['grass_datetime.7.0.svn'].datetime_check_hour
-    datetime_check_hour.restype = c_int
-    datetime_check_hour.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 89
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_minute'):
-    datetime_check_minute = _libs['grass_datetime.7.0.svn'].datetime_check_minute
-    datetime_check_minute.restype = c_int
-    datetime_check_minute.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 90
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_second'):
-    datetime_check_second = _libs['grass_datetime.7.0.svn'].datetime_check_second
-    datetime_check_second.restype = c_int
-    datetime_check_second.argtypes = [POINTER(DateTime), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 91
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_fracsec'):
-    datetime_check_fracsec = _libs['grass_datetime.7.0.svn'].datetime_check_fracsec
-    datetime_check_fracsec.restype = c_int
-    datetime_check_fracsec.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 92
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_year'):
-    datetime_get_year = _libs['grass_datetime.7.0.svn'].datetime_get_year
-    datetime_get_year.restype = c_int
-    datetime_get_year.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 93
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_year'):
-    datetime_set_year = _libs['grass_datetime.7.0.svn'].datetime_set_year
-    datetime_set_year.restype = c_int
-    datetime_set_year.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 94
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_month'):
-    datetime_get_month = _libs['grass_datetime.7.0.svn'].datetime_get_month
-    datetime_get_month.restype = c_int
-    datetime_get_month.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 95
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_month'):
-    datetime_set_month = _libs['grass_datetime.7.0.svn'].datetime_set_month
-    datetime_set_month.restype = c_int
-    datetime_set_month.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 96
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_day'):
-    datetime_get_day = _libs['grass_datetime.7.0.svn'].datetime_get_day
-    datetime_get_day.restype = c_int
-    datetime_get_day.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 97
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_day'):
-    datetime_set_day = _libs['grass_datetime.7.0.svn'].datetime_set_day
-    datetime_set_day.restype = c_int
-    datetime_set_day.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 98
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_hour'):
-    datetime_get_hour = _libs['grass_datetime.7.0.svn'].datetime_get_hour
-    datetime_get_hour.restype = c_int
-    datetime_get_hour.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 99
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_hour'):
-    datetime_set_hour = _libs['grass_datetime.7.0.svn'].datetime_set_hour
-    datetime_set_hour.restype = c_int
-    datetime_set_hour.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 100
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_minute'):
-    datetime_get_minute = _libs['grass_datetime.7.0.svn'].datetime_get_minute
-    datetime_get_minute.restype = c_int
-    datetime_get_minute.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 101
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_minute'):
-    datetime_set_minute = _libs['grass_datetime.7.0.svn'].datetime_set_minute
-    datetime_set_minute.restype = c_int
-    datetime_set_minute.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 102
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_second'):
-    datetime_get_second = _libs['grass_datetime.7.0.svn'].datetime_get_second
-    datetime_get_second.restype = c_int
-    datetime_get_second.argtypes = [POINTER(DateTime), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 103
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_second'):
-    datetime_set_second = _libs['grass_datetime.7.0.svn'].datetime_set_second
-    datetime_set_second.restype = c_int
-    datetime_set_second.argtypes = [POINTER(DateTime), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 104
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_fracsec'):
-    datetime_get_fracsec = _libs['grass_datetime.7.0.svn'].datetime_get_fracsec
-    datetime_get_fracsec.restype = c_int
-    datetime_get_fracsec.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 105
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_fracsec'):
-    datetime_set_fracsec = _libs['grass_datetime.7.0.svn'].datetime_set_fracsec
-    datetime_set_fracsec.restype = c_int
-    datetime_set_fracsec.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 3
-try:
-    DATETIME_ABSOLUTE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 3
-try:
-    DATETIME_RELATIVE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 5
-try:
-    DATETIME_YEAR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 5
-try:
-    DATETIME_MONTH = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 5
-try:
-    DATETIME_DAY = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 5
-try:
-    DATETIME_HOUR = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 5
-try:
-    DATETIME_MINUTE = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 5
-try:
-    DATETIME_SECOND = 6
-except:
-    pass
-
-DateTime = struct_DateTime # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-
-# No inserted files
-
diff --git a/lib/python/ctypes/dbmi.py b/lib/python/ctypes/dbmi.py
deleted file mode 100644
index d5d1a91..0000000
--- a/lib/python/ctypes/dbmi.py
+++ /dev/null
@@ -1,3919 +0,0 @@
-'''Wrapper for dbmi.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_dbmiclient.7.0.svn -lgrass_dbmibase.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h -o dbmi.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_dbmiclient.7.0.svn"] = load_library("grass_dbmiclient.7.0.svn")
-_libs["grass_dbmibase.7.0.svn"] = load_library("grass_dbmibase.7.0.svn")
-
-# 2 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-dbAddress = POINTER(None) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 140
-
-dbToken = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 141
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 147
-class struct__db_string(Structure):
-    pass
-
-struct__db_string.__slots__ = [
-    'string',
-    'nalloc',
-]
-struct__db_string._fields_ = [
-    ('string', String),
-    ('nalloc', c_int),
-]
-
-dbString = struct__db_string # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 147
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 149
-class struct__dbmscap(Structure):
-    pass
-
-struct__dbmscap.__slots__ = [
-    'driverName',
-    'startup',
-    'comment',
-    'next',
-]
-struct__dbmscap._fields_ = [
-    ('driverName', c_char * 256),
-    ('startup', c_char * 256),
-    ('comment', c_char * 256),
-    ('next', POINTER(struct__dbmscap)),
-]
-
-dbDbmscap = struct__dbmscap # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 155
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 162
-class struct__db_dirent(Structure):
-    pass
-
-struct__db_dirent.__slots__ = [
-    'name',
-    'isdir',
-    'perm',
-]
-struct__db_dirent._fields_ = [
-    ('name', dbString),
-    ('isdir', c_int),
-    ('perm', c_int),
-]
-
-dbDirent = struct__db_dirent # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 162
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-class struct__db_driver(Structure):
-    pass
-
-struct__db_driver.__slots__ = [
-    'dbmscap',
-    'send',
-    'recv',
-    'pid',
-]
-struct__db_driver._fields_ = [
-    ('dbmscap', dbDbmscap),
-    ('send', POINTER(FILE)),
-    ('recv', POINTER(FILE)),
-    ('pid', c_int),
-]
-
-dbDriver = struct__db_driver # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 176
-class struct__db_handle(Structure):
-    pass
-
-struct__db_handle.__slots__ = [
-    'dbName',
-    'dbSchema',
-]
-struct__db_handle._fields_ = [
-    ('dbName', dbString),
-    ('dbSchema', dbString),
-]
-
-dbHandle = struct__db_handle # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 176
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 187
-class struct__db_date_time(Structure):
-    pass
-
-struct__db_date_time.__slots__ = [
-    'current',
-    'year',
-    'month',
-    'day',
-    'hour',
-    'minute',
-    'seconds',
-]
-struct__db_date_time._fields_ = [
-    ('current', c_char),
-    ('year', c_int),
-    ('month', c_int),
-    ('day', c_int),
-    ('hour', c_int),
-    ('minute', c_int),
-    ('seconds', c_double),
-]
-
-dbDateTime = struct__db_date_time # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 187
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 196
-class struct__db_value(Structure):
-    pass
-
-struct__db_value.__slots__ = [
-    'isNull',
-    'i',
-    'd',
-    's',
-    't',
-]
-struct__db_value._fields_ = [
-    ('isNull', c_char),
-    ('i', c_int),
-    ('d', c_double),
-    ('s', dbString),
-    ('t', dbDateTime),
-]
-
-dbValue = struct__db_value # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 196
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 214
-class struct__db_column(Structure):
-    pass
-
-struct__db_column.__slots__ = [
-    'columnName',
-    'description',
-    'sqlDataType',
-    'hostDataType',
-    'value',
-    'dataLen',
-    'precision',
-    'scale',
-    'nullAllowed',
-    'hasDefaultValue',
-    'useDefaultValue',
-    'defaultValue',
-    'select',
-    'update',
-]
-struct__db_column._fields_ = [
-    ('columnName', dbString),
-    ('description', dbString),
-    ('sqlDataType', c_int),
-    ('hostDataType', c_int),
-    ('value', dbValue),
-    ('dataLen', c_int),
-    ('precision', c_int),
-    ('scale', c_int),
-    ('nullAllowed', c_char),
-    ('hasDefaultValue', c_char),
-    ('useDefaultValue', c_char),
-    ('defaultValue', dbValue),
-    ('select', c_int),
-    ('update', c_int),
-]
-
-dbColumn = struct__db_column # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 214
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 224
-class struct__db_table(Structure):
-    pass
-
-struct__db_table.__slots__ = [
-    'tableName',
-    'description',
-    'numColumns',
-    'columns',
-    'priv_insert',
-    'priv_delete',
-]
-struct__db_table._fields_ = [
-    ('tableName', dbString),
-    ('description', dbString),
-    ('numColumns', c_int),
-    ('columns', POINTER(dbColumn)),
-    ('priv_insert', c_int),
-    ('priv_delete', c_int),
-]
-
-dbTable = struct__db_table # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 224
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 234
-class struct__db_cursor(Structure):
-    pass
-
-struct__db_cursor.__slots__ = [
-    'token',
-    'driver',
-    'table',
-    'column_flags',
-    'type',
-    'mode',
-]
-struct__db_cursor._fields_ = [
-    ('token', dbToken),
-    ('driver', POINTER(dbDriver)),
-    ('table', POINTER(dbTable)),
-    ('column_flags', POINTER(c_short)),
-    ('type', c_int),
-    ('mode', c_int),
-]
-
-dbCursor = struct__db_cursor # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 234
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 243
-class struct__db_index(Structure):
-    pass
-
-struct__db_index.__slots__ = [
-    'indexName',
-    'tableName',
-    'numColumns',
-    'columnNames',
-    'unique',
-]
-struct__db_index._fields_ = [
-    ('indexName', dbString),
-    ('tableName', dbString),
-    ('numColumns', c_int),
-    ('columnNames', POINTER(dbString)),
-    ('unique', c_char),
-]
-
-dbIndex = struct__db_index # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 243
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 252
-class struct__db_driver_state(Structure):
-    pass
-
-struct__db_driver_state.__slots__ = [
-    'dbname',
-    'dbschema',
-    'open',
-    'ncursors',
-    'cursor_list',
-]
-struct__db_driver_state._fields_ = [
-    ('dbname', String),
-    ('dbschema', String),
-    ('open', c_int),
-    ('ncursors', c_int),
-    ('cursor_list', POINTER(POINTER(dbCursor))),
-]
-
-dbDriverState = struct__db_driver_state # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 252
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 259
-class struct_anon_23(Structure):
-    pass
-
-struct_anon_23.__slots__ = [
-    'cat',
-    'val',
-]
-struct_anon_23._fields_ = [
-    ('cat', c_int),
-    ('val', c_int),
-]
-
-dbCatValI = struct_anon_23 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 259
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 266
-class union_anon_24(Union):
-    pass
-
-union_anon_24.__slots__ = [
-    'i',
-    'd',
-    's',
-    't',
-]
-union_anon_24._fields_ = [
-    ('i', c_int),
-    ('d', c_double),
-    ('s', POINTER(dbString)),
-    ('t', POINTER(dbDateTime)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 277
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'cat',
-    'isNull',
-    'val',
-]
-struct_anon_25._fields_ = [
-    ('cat', c_int),
-    ('isNull', c_int),
-    ('val', union_anon_24),
-]
-
-dbCatVal = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 277
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 286
-class struct_anon_26(Structure):
-    pass
-
-struct_anon_26.__slots__ = [
-    'n_values',
-    'alloc',
-    'ctype',
-    'value',
-]
-struct_anon_26._fields_ = [
-    ('n_values', c_int),
-    ('alloc', c_int),
-    ('ctype', c_int),
-    ('value', POINTER(dbCatVal)),
-]
-
-dbCatValArray = struct_anon_26 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 286
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 300
-class struct__db_connection(Structure):
-    pass
-
-struct__db_connection.__slots__ = [
-    'driverName',
-    'databaseName',
-    'schemaName',
-    'location',
-    'user',
-    'password',
-    'keycol',
-    'group',
-]
-struct__db_connection._fields_ = [
-    ('driverName', String),
-    ('databaseName', String),
-    ('schemaName', String),
-    ('location', String),
-    ('user', String),
-    ('password', String),
-    ('keycol', String),
-    ('group', String),
-]
-
-dbConnection = struct__db_connection # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 300
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 312
-class struct_anon_27(Structure):
-    pass
-
-struct_anon_27.__slots__ = [
-    'count',
-    'alloc',
-    'table',
-    'key',
-    'cat',
-    'where',
-    'label',
-]
-struct_anon_27._fields_ = [
-    ('count', c_int),
-    ('alloc', c_int),
-    ('table', String),
-    ('key', String),
-    ('cat', POINTER(c_int)),
-    ('where', POINTER(POINTER(c_char))),
-    ('label', POINTER(POINTER(c_char))),
-]
-
-dbRclsRule = struct_anon_27 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 312
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 4
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_Cstring_to_lowercase'):
-    db_Cstring_to_lowercase = _libs['grass_dbmiclient.7.0.svn'].db_Cstring_to_lowercase
-    db_Cstring_to_lowercase.restype = None
-    db_Cstring_to_lowercase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 5
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_Cstring_to_uppercase'):
-    db_Cstring_to_uppercase = _libs['grass_dbmiclient.7.0.svn'].db_Cstring_to_uppercase
-    db_Cstring_to_uppercase.restype = None
-    db_Cstring_to_uppercase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 6
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_add_column'):
-    db_add_column = _libs['grass_dbmiclient.7.0.svn'].db_add_column
-    db_add_column.restype = c_int
-    db_add_column.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 7
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__add_cursor_to_driver_state'):
-        db__add_cursor_to_driver_state = _lib.db__add_cursor_to_driver_state
-        db__add_cursor_to_driver_state.restype = None
-        db__add_cursor_to_driver_state.argtypes = [POINTER(dbCursor)]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 8
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_cursor_column_flags'):
-    db_alloc_cursor_column_flags = _libs['grass_dbmiclient.7.0.svn'].db_alloc_cursor_column_flags
-    db_alloc_cursor_column_flags.restype = c_int
-    db_alloc_cursor_column_flags.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 9
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_cursor_table'):
-    db_alloc_cursor_table = _libs['grass_dbmiclient.7.0.svn'].db_alloc_cursor_table
-    db_alloc_cursor_table.restype = c_int
-    db_alloc_cursor_table.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 10
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_append_table_column'):
-    db_append_table_column = _libs['grass_dbmiclient.7.0.svn'].db_append_table_column
-    db_append_table_column.restype = c_int
-    db_append_table_column.argtypes = [POINTER(dbTable), POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 11
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_dirent_array'):
-    db_alloc_dirent_array = _libs['grass_dbmiclient.7.0.svn'].db_alloc_dirent_array
-    db_alloc_dirent_array.restype = POINTER(dbDirent)
-    db_alloc_dirent_array.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 12
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_handle_array'):
-    db_alloc_handle_array = _libs['grass_dbmiclient.7.0.svn'].db_alloc_handle_array
-    db_alloc_handle_array.restype = POINTER(dbHandle)
-    db_alloc_handle_array.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 13
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_index_array'):
-    db_alloc_index_array = _libs['grass_dbmiclient.7.0.svn'].db_alloc_index_array
-    db_alloc_index_array.restype = POINTER(dbIndex)
-    db_alloc_index_array.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 14
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_index_columns'):
-    db_alloc_index_columns = _libs['grass_dbmiclient.7.0.svn'].db_alloc_index_columns
-    db_alloc_index_columns.restype = c_int
-    db_alloc_index_columns.argtypes = [POINTER(dbIndex), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 15
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_string_array'):
-    db_alloc_string_array = _libs['grass_dbmiclient.7.0.svn'].db_alloc_string_array
-    db_alloc_string_array.restype = POINTER(dbString)
-    db_alloc_string_array.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 16
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_table'):
-    db_alloc_table = _libs['grass_dbmiclient.7.0.svn'].db_alloc_table
-    db_alloc_table.restype = POINTER(dbTable)
-    db_alloc_table.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 17
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_append_string'):
-    db_append_string = _libs['grass_dbmiclient.7.0.svn'].db_append_string
-    db_append_string.restype = c_int
-    db_append_string.argtypes = [POINTER(dbString), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 18
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_auto_print_errors'):
-    db_auto_print_errors = _libs['grass_dbmiclient.7.0.svn'].db_auto_print_errors
-    db_auto_print_errors.restype = None
-    db_auto_print_errors.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 19
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_auto_print_protocol_errors'):
-    db_auto_print_protocol_errors = _libs['grass_dbmiclient.7.0.svn'].db_auto_print_protocol_errors
-    db_auto_print_protocol_errors.restype = None
-    db_auto_print_protocol_errors.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 20
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_bind_update'):
-    db_bind_update = _libs['grass_dbmiclient.7.0.svn'].db_bind_update
-    db_bind_update.restype = c_int
-    db_bind_update.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 21
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_calloc'):
-    db_calloc = _libs['grass_dbmiclient.7.0.svn'].db_calloc
-    db_calloc.restype = POINTER(None)
-    db_calloc.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 22
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_alloc'):
-    db_CatValArray_alloc = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_alloc
-    db_CatValArray_alloc.restype = c_int
-    db_CatValArray_alloc.argtypes = [POINTER(dbCatValArray), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 23
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_realloc'):
-    db_CatValArray_realloc = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_realloc
-    db_CatValArray_realloc.restype = c_int
-    db_CatValArray_realloc.argtypes = [POINTER(dbCatValArray), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 24
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_free'):
-    db_CatValArray_free = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_free
-    db_CatValArray_free.restype = None
-    db_CatValArray_free.argtypes = [POINTER(dbCatValArray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 25
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_init'):
-    db_CatValArray_init = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_init
-    db_CatValArray_init.restype = None
-    db_CatValArray_init.argtypes = [POINTER(dbCatValArray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 26
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_sort'):
-    db_CatValArray_sort = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_sort
-    db_CatValArray_sort.restype = None
-    db_CatValArray_sort.argtypes = [POINTER(dbCatValArray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 27
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_sort_by_value'):
-    db_CatValArray_sort_by_value = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_sort_by_value
-    db_CatValArray_sort_by_value.restype = c_int
-    db_CatValArray_sort_by_value.argtypes = [POINTER(dbCatValArray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 28
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_get_value'):
-    db_CatValArray_get_value = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_get_value
-    db_CatValArray_get_value.restype = c_int
-    db_CatValArray_get_value.argtypes = [POINTER(dbCatValArray), c_int, POINTER(POINTER(dbCatVal))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 29
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_get_value_int'):
-    db_CatValArray_get_value_int = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_get_value_int
-    db_CatValArray_get_value_int.restype = c_int
-    db_CatValArray_get_value_int.argtypes = [POINTER(dbCatValArray), c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 30
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_get_value_double'):
-    db_CatValArray_get_value_double = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_get_value_double
-    db_CatValArray_get_value_double.restype = c_int
-    db_CatValArray_get_value_double.argtypes = [POINTER(dbCatValArray), c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 32
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_char_to_lowercase'):
-    db_char_to_lowercase = _libs['grass_dbmiclient.7.0.svn'].db_char_to_lowercase
-    db_char_to_lowercase.restype = None
-    db_char_to_lowercase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 33
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_char_to_uppercase'):
-    db_char_to_uppercase = _libs['grass_dbmiclient.7.0.svn'].db_char_to_uppercase
-    db_char_to_uppercase.restype = None
-    db_char_to_uppercase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 34
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_clear_error'):
-    db_clear_error = _libs['grass_dbmiclient.7.0.svn'].db_clear_error
-    db_clear_error.restype = None
-    db_clear_error.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 35
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_clone_table'):
-    db_clone_table = _libs['grass_dbmiclient.7.0.svn'].db_clone_table
-    db_clone_table.restype = POINTER(dbTable)
-    db_clone_table.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 36
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__close_all_cursors'):
-        db__close_all_cursors = _lib.db__close_all_cursors
-        db__close_all_cursors.restype = None
-        db__close_all_cursors.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 37
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_close_cursor'):
-    db_close_cursor = _libs['grass_dbmiclient.7.0.svn'].db_close_cursor
-    db_close_cursor.restype = c_int
-    db_close_cursor.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 38
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_close_database'):
-    db_close_database = _libs['grass_dbmiclient.7.0.svn'].db_close_database
-    db_close_database.restype = c_int
-    db_close_database.argtypes = [POINTER(dbDriver)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 39
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_close_database_shutdown_driver'):
-    db_close_database_shutdown_driver = _libs['grass_dbmiclient.7.0.svn'].db_close_database_shutdown_driver
-    db_close_database_shutdown_driver.restype = c_int
-    db_close_database_shutdown_driver.argtypes = [POINTER(dbDriver)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 40
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_column_sqltype'):
-    db_column_sqltype = _libs['grass_dbmiclient.7.0.svn'].db_column_sqltype
-    db_column_sqltype.restype = c_int
-    db_column_sqltype.argtypes = [POINTER(dbDriver), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 41
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_column_Ctype'):
-    db_column_Ctype = _libs['grass_dbmiclient.7.0.svn'].db_column_Ctype
-    db_column_Ctype.restype = c_int
-    db_column_Ctype.argtypes = [POINTER(dbDriver), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 42
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_Cstring_to_column_default_value'):
-    db_convert_Cstring_to_column_default_value = _libs['grass_dbmiclient.7.0.svn'].db_convert_Cstring_to_column_default_value
-    db_convert_Cstring_to_column_default_value.restype = c_int
-    db_convert_Cstring_to_column_default_value.argtypes = [String, POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 44
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_Cstring_to_column_value'):
-    db_convert_Cstring_to_column_value = _libs['grass_dbmiclient.7.0.svn'].db_convert_Cstring_to_column_value
-    db_convert_Cstring_to_column_value.restype = c_int
-    db_convert_Cstring_to_column_value.argtypes = [String, POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 46
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_Cstring_to_value'):
-    db_convert_Cstring_to_value = _libs['grass_dbmiclient.7.0.svn'].db_convert_Cstring_to_value
-    db_convert_Cstring_to_value.restype = c_int
-    db_convert_Cstring_to_value.argtypes = [String, c_int, POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 48
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_Cstring_to_value_datetime'):
-    db_convert_Cstring_to_value_datetime = _libs['grass_dbmiclient.7.0.svn'].db_convert_Cstring_to_value_datetime
-    db_convert_Cstring_to_value_datetime.restype = c_int
-    db_convert_Cstring_to_value_datetime.argtypes = [String, c_int, POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 50
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_column_default_value_to_string'):
-    db_convert_column_default_value_to_string = _libs['grass_dbmiclient.7.0.svn'].db_convert_column_default_value_to_string
-    db_convert_column_default_value_to_string.restype = c_int
-    db_convert_column_default_value_to_string.argtypes = [POINTER(dbColumn), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 52
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_column_value_to_string'):
-    db_convert_column_value_to_string = _libs['grass_dbmiclient.7.0.svn'].db_convert_column_value_to_string
-    db_convert_column_value_to_string.restype = c_int
-    db_convert_column_value_to_string.argtypes = [POINTER(dbColumn), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 53
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_value_datetime_into_string'):
-    db_convert_value_datetime_into_string = _libs['grass_dbmiclient.7.0.svn'].db_convert_value_datetime_into_string
-    db_convert_value_datetime_into_string.restype = c_int
-    db_convert_value_datetime_into_string.argtypes = [POINTER(dbValue), c_int, POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 55
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_value_to_string'):
-    db_convert_value_to_string = _libs['grass_dbmiclient.7.0.svn'].db_convert_value_to_string
-    db_convert_value_to_string.restype = c_int
-    db_convert_value_to_string.argtypes = [POINTER(dbValue), c_int, POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 57
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_column'):
-    db_copy_column = _libs['grass_dbmiclient.7.0.svn'].db_copy_column
-    db_copy_column.restype = POINTER(dbColumn)
-    db_copy_column.argtypes = [POINTER(dbColumn), POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 58
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_dbmscap_entry'):
-    db_copy_dbmscap_entry = _libs['grass_dbmiclient.7.0.svn'].db_copy_dbmscap_entry
-    db_copy_dbmscap_entry.restype = None
-    db_copy_dbmscap_entry.argtypes = [POINTER(dbDbmscap), POINTER(dbDbmscap)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 59
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_string'):
-    db_copy_string = _libs['grass_dbmiclient.7.0.svn'].db_copy_string
-    db_copy_string.restype = c_int
-    db_copy_string.argtypes = [POINTER(dbString), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 60
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_table_to_sql'):
-    db_table_to_sql = _libs['grass_dbmiclient.7.0.svn'].db_table_to_sql
-    db_table_to_sql.restype = c_int
-    db_table_to_sql.argtypes = [POINTER(dbTable), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 61
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_table'):
-    db_copy_table = _libs['grass_dbmiclient.7.0.svn'].db_copy_table
-    db_copy_table.restype = c_int
-    db_copy_table.argtypes = [String, String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 63
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_table_where'):
-    db_copy_table_where = _libs['grass_dbmiclient.7.0.svn'].db_copy_table_where
-    db_copy_table_where.restype = c_int
-    db_copy_table_where.argtypes = [String, String, String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 66
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_table_select'):
-    db_copy_table_select = _libs['grass_dbmiclient.7.0.svn'].db_copy_table_select
-    db_copy_table_select.restype = c_int
-    db_copy_table_select.argtypes = [String, String, String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 69
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_table_by_ints'):
-    db_copy_table_by_ints = _libs['grass_dbmiclient.7.0.svn'].db_copy_table_by_ints
-    db_copy_table_by_ints.restype = c_int
-    db_copy_table_by_ints.argtypes = [String, String, String, String, String, String, String, POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 72
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_value'):
-    db_copy_value = _libs['grass_dbmiclient.7.0.svn'].db_copy_value
-    db_copy_value.restype = None
-    db_copy_value.argtypes = [POINTER(dbValue), POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 73
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_create_database'):
-    db_create_database = _libs['grass_dbmiclient.7.0.svn'].db_create_database
-    db_create_database.restype = c_int
-    db_create_database.argtypes = [POINTER(dbDriver), POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 74
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_create_index'):
-    db_create_index = _libs['grass_dbmiclient.7.0.svn'].db_create_index
-    db_create_index.restype = c_int
-    db_create_index.argtypes = [POINTER(dbDriver), POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 75
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_create_index2'):
-    db_create_index2 = _libs['grass_dbmiclient.7.0.svn'].db_create_index2
-    db_create_index2.restype = c_int
-    db_create_index2.argtypes = [POINTER(dbDriver), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 77
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_create_table'):
-    db_create_table = _libs['grass_dbmiclient.7.0.svn'].db_create_table
-    db_create_table.restype = c_int
-    db_create_table.argtypes = [POINTER(dbDriver), POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 78
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_add_column'):
-        db_d_add_column = _lib.db_d_add_column
-        db_d_add_column.restype = c_int
-        db_d_add_column.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 79
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_bind_update'):
-        db_d_bind_update = _lib.db_d_bind_update
-        db_d_bind_update.restype = c_int
-        db_d_bind_update.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 80
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_dbmscap_filename'):
-    db_dbmscap_filename = _libs['grass_dbmiclient.7.0.svn'].db_dbmscap_filename
-    db_dbmscap_filename.restype = ReturnString
-    db_dbmscap_filename.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 81
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_close_cursor'):
-        db_d_close_cursor = _lib.db_d_close_cursor
-        db_d_close_cursor.restype = c_int
-        db_d_close_cursor.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 82
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_close_database'):
-        db_d_close_database = _lib.db_d_close_database
-        db_d_close_database.restype = c_int
-        db_d_close_database.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 83
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_create_database'):
-        db_d_create_database = _lib.db_d_create_database
-        db_d_create_database.restype = c_int
-        db_d_create_database.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 84
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_create_index'):
-        db_d_create_index = _lib.db_d_create_index
-        db_d_create_index.restype = c_int
-        db_d_create_index.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 85
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_create_table'):
-        db_d_create_table = _lib.db_d_create_table
-        db_d_create_table.restype = c_int
-        db_d_create_table.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 86
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_delete'):
-        db_d_delete = _lib.db_d_delete
-        db_d_delete.restype = c_int
-        db_d_delete.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 87
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_delete_database'):
-        db_d_delete_database = _lib.db_d_delete_database
-        db_d_delete_database.restype = c_int
-        db_d_delete_database.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 88
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_describe_table'):
-        db_d_describe_table = _lib.db_d_describe_table
-        db_d_describe_table.restype = c_int
-        db_d_describe_table.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 89
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_drop_column'):
-        db_d_drop_column = _lib.db_d_drop_column
-        db_d_drop_column.restype = c_int
-        db_d_drop_column.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 90
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_drop_index'):
-        db_d_drop_index = _lib.db_d_drop_index
-        db_d_drop_index.restype = c_int
-        db_d_drop_index.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 91
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_drop_table'):
-        db_d_drop_table = _lib.db_d_drop_table
-        db_d_drop_table.restype = c_int
-        db_d_drop_table.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 92
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_debug'):
-    db_debug = _libs['grass_dbmiclient.7.0.svn'].db_debug
-    db_debug.restype = None
-    db_debug.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 93
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_debug_off'):
-    db_debug_off = _libs['grass_dbmiclient.7.0.svn'].db_debug_off
-    db_debug_off.restype = None
-    db_debug_off.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 94
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_debug_on'):
-    db_debug_on = _libs['grass_dbmiclient.7.0.svn'].db_debug_on
-    db_debug_on.restype = None
-    db_debug_on.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 95
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_delete'):
-    db_delete = _libs['grass_dbmiclient.7.0.svn'].db_delete
-    db_delete.restype = c_int
-    db_delete.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 96
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_delete_database'):
-    db_delete_database = _libs['grass_dbmiclient.7.0.svn'].db_delete_database
-    db_delete_database.restype = c_int
-    db_delete_database.argtypes = [POINTER(dbDriver), POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 97
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_delete_table'):
-    db_delete_table = _libs['grass_dbmiclient.7.0.svn'].db_delete_table
-    db_delete_table.restype = c_int
-    db_delete_table.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 98
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_describe_table'):
-    db_describe_table = _libs['grass_dbmiclient.7.0.svn'].db_describe_table
-    db_describe_table.restype = c_int
-    db_describe_table.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(POINTER(dbTable))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 99
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_execute_immediate'):
-        db_d_execute_immediate = _lib.db_d_execute_immediate
-        db_d_execute_immediate.restype = c_int
-        db_d_execute_immediate.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 100
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_begin_transaction'):
-        db_d_begin_transaction = _lib.db_d_begin_transaction
-        db_d_begin_transaction.restype = c_int
-        db_d_begin_transaction.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 101
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_commit_transaction'):
-        db_d_commit_transaction = _lib.db_d_commit_transaction
-        db_d_commit_transaction.restype = c_int
-        db_d_commit_transaction.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 102
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_fetch'):
-        db_d_fetch = _lib.db_d_fetch
-        db_d_fetch.restype = c_int
-        db_d_fetch.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 103
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_find_database'):
-        db_d_find_database = _lib.db_d_find_database
-        db_d_find_database.restype = c_int
-        db_d_find_database.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 104
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_get_num_rows'):
-        db_d_get_num_rows = _lib.db_d_get_num_rows
-        db_d_get_num_rows.restype = c_int
-        db_d_get_num_rows.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 105
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_grant_on_table'):
-        db_d_grant_on_table = _lib.db_d_grant_on_table
-        db_d_grant_on_table.restype = c_int
-        db_d_grant_on_table.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 106
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_insert'):
-        db_d_insert = _lib.db_d_insert
-        db_d_insert.restype = c_int
-        db_d_insert.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 107
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_dirent'):
-    db_dirent = _libs['grass_dbmiclient.7.0.svn'].db_dirent
-    db_dirent.restype = POINTER(dbDirent)
-    db_dirent.argtypes = [String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 108
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_list_databases'):
-        db_d_list_databases = _lib.db_d_list_databases
-        db_d_list_databases.restype = c_int
-        db_d_list_databases.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 109
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_list_indexes'):
-        db_d_list_indexes = _lib.db_d_list_indexes
-        db_d_list_indexes.restype = c_int
-        db_d_list_indexes.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 110
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_list_tables'):
-        db_d_list_tables = _lib.db_d_list_tables
-        db_d_list_tables.restype = c_int
-        db_d_list_tables.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 111
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_open_database'):
-        db_d_open_database = _lib.db_d_open_database
-        db_d_open_database.restype = c_int
-        db_d_open_database.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 112
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_open_insert_cursor'):
-        db_d_open_insert_cursor = _lib.db_d_open_insert_cursor
-        db_d_open_insert_cursor.restype = c_int
-        db_d_open_insert_cursor.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 113
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_open_select_cursor'):
-        db_d_open_select_cursor = _lib.db_d_open_select_cursor
-        db_d_open_select_cursor.restype = c_int
-        db_d_open_select_cursor.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 114
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_open_update_cursor'):
-        db_d_open_update_cursor = _lib.db_d_open_update_cursor
-        db_d_open_update_cursor.restype = c_int
-        db_d_open_update_cursor.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 115
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_double_quote_string'):
-    db_double_quote_string = _libs['grass_dbmiclient.7.0.svn'].db_double_quote_string
-    db_double_quote_string.restype = None
-    db_double_quote_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 116
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_driver'):
-        db_driver = _lib.db_driver
-        db_driver.restype = c_int
-        db_driver.argtypes = [c_int, POINTER(POINTER(c_char))]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 118
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_driver_mkdir'):
-        db_driver_mkdir = _lib.db_driver_mkdir
-        db_driver_mkdir.restype = c_int
-        db_driver_mkdir.argtypes = [String, c_int, c_int]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 119
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_drop_column'):
-    db_drop_column = _libs['grass_dbmiclient.7.0.svn'].db_drop_column
-    db_drop_column.restype = c_int
-    db_drop_column.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 121
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__drop_cursor_from_driver_state'):
-        db__drop_cursor_from_driver_state = _lib.db__drop_cursor_from_driver_state
-        db__drop_cursor_from_driver_state.restype = None
-        db__drop_cursor_from_driver_state.argtypes = [POINTER(dbCursor)]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 122
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_drop_index'):
-    db_drop_index = _libs['grass_dbmiclient.7.0.svn'].db_drop_index
-    db_drop_index.restype = c_int
-    db_drop_index.argtypes = [POINTER(dbDriver), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 123
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_drop_table'):
-    db_drop_table = _libs['grass_dbmiclient.7.0.svn'].db_drop_table
-    db_drop_table.restype = c_int
-    db_drop_table.argtypes = [POINTER(dbDriver), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 124
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_drop_token'):
-    db_drop_token = _libs['grass_dbmiclient.7.0.svn'].db_drop_token
-    db_drop_token.restype = None
-    db_drop_token.argtypes = [dbToken]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 125
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_update'):
-        db_d_update = _lib.db_d_update
-        db_d_update.restype = c_int
-        db_d_update.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 126
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_version'):
-        db_d_version = _lib.db_d_version
-        db_d_version.restype = c_int
-        db_d_version.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 127
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_enlarge_string'):
-    db_enlarge_string = _libs['grass_dbmiclient.7.0.svn'].db_enlarge_string
-    db_enlarge_string.restype = c_int
-    db_enlarge_string.argtypes = [POINTER(dbString), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 128
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_error'):
-    db_error = _libs['grass_dbmiclient.7.0.svn'].db_error
-    db_error.restype = None
-    db_error.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 129
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_execute_immediate'):
-    db_execute_immediate = _libs['grass_dbmiclient.7.0.svn'].db_execute_immediate
-    db_execute_immediate.restype = c_int
-    db_execute_immediate.argtypes = [POINTER(dbDriver), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 130
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_begin_transaction'):
-    db_begin_transaction = _libs['grass_dbmiclient.7.0.svn'].db_begin_transaction
-    db_begin_transaction.restype = c_int
-    db_begin_transaction.argtypes = [POINTER(dbDriver)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 131
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_commit_transaction'):
-    db_commit_transaction = _libs['grass_dbmiclient.7.0.svn'].db_commit_transaction
-    db_commit_transaction.restype = c_int
-    db_commit_transaction.argtypes = [POINTER(dbDriver)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 132
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_fetch'):
-    db_fetch = _libs['grass_dbmiclient.7.0.svn'].db_fetch
-    db_fetch.restype = c_int
-    db_fetch.argtypes = [POINTER(dbCursor), c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 133
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_find_database'):
-    db_find_database = _libs['grass_dbmiclient.7.0.svn'].db_find_database
-    db_find_database.restype = c_int
-    db_find_database.argtypes = [POINTER(dbDriver), POINTER(dbHandle), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 134
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_find_token'):
-    db_find_token = _libs['grass_dbmiclient.7.0.svn'].db_find_token
-    db_find_token.restype = dbAddress
-    db_find_token.argtypes = [dbToken]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 135
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free'):
-    db_free = _libs['grass_dbmiclient.7.0.svn'].db_free
-    db_free.restype = None
-    db_free.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 136
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_column'):
-    db_free_column = _libs['grass_dbmiclient.7.0.svn'].db_free_column
-    db_free_column.restype = None
-    db_free_column.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 137
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_cursor'):
-    db_free_cursor = _libs['grass_dbmiclient.7.0.svn'].db_free_cursor
-    db_free_cursor.restype = None
-    db_free_cursor.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 138
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_cursor_column_flags'):
-    db_free_cursor_column_flags = _libs['grass_dbmiclient.7.0.svn'].db_free_cursor_column_flags
-    db_free_cursor_column_flags.restype = None
-    db_free_cursor_column_flags.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 139
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_dbmscap'):
-    db_free_dbmscap = _libs['grass_dbmiclient.7.0.svn'].db_free_dbmscap
-    db_free_dbmscap.restype = None
-    db_free_dbmscap.argtypes = [POINTER(dbDbmscap)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 140
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_dirent_array'):
-    db_free_dirent_array = _libs['grass_dbmiclient.7.0.svn'].db_free_dirent_array
-    db_free_dirent_array.restype = None
-    db_free_dirent_array.argtypes = [POINTER(dbDirent), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 141
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_handle'):
-    db_free_handle = _libs['grass_dbmiclient.7.0.svn'].db_free_handle
-    db_free_handle.restype = None
-    db_free_handle.argtypes = [POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 142
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_handle_array'):
-    db_free_handle_array = _libs['grass_dbmiclient.7.0.svn'].db_free_handle_array
-    db_free_handle_array.restype = None
-    db_free_handle_array.argtypes = [POINTER(dbHandle), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 143
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_index'):
-    db_free_index = _libs['grass_dbmiclient.7.0.svn'].db_free_index
-    db_free_index.restype = None
-    db_free_index.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 144
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_index_array'):
-    db_free_index_array = _libs['grass_dbmiclient.7.0.svn'].db_free_index_array
-    db_free_index_array.restype = None
-    db_free_index_array.argtypes = [POINTER(dbIndex), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 145
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_string'):
-    db_free_string = _libs['grass_dbmiclient.7.0.svn'].db_free_string
-    db_free_string.restype = None
-    db_free_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 146
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_string_array'):
-    db_free_string_array = _libs['grass_dbmiclient.7.0.svn'].db_free_string_array
-    db_free_string_array.restype = None
-    db_free_string_array.argtypes = [POINTER(dbString), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 147
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_table'):
-    db_free_table = _libs['grass_dbmiclient.7.0.svn'].db_free_table
-    db_free_table.restype = None
-    db_free_table.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 148
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column'):
-    db_get_column = _libs['grass_dbmiclient.7.0.svn'].db_get_column
-    db_get_column.restype = c_int
-    db_get_column.argtypes = [POINTER(dbDriver), String, String, POINTER(POINTER(dbColumn))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 150
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_default_value'):
-    db_get_column_default_value = _libs['grass_dbmiclient.7.0.svn'].db_get_column_default_value
-    db_get_column_default_value.restype = POINTER(dbValue)
-    db_get_column_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 151
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_description'):
-    db_get_column_description = _libs['grass_dbmiclient.7.0.svn'].db_get_column_description
-    db_get_column_description.restype = ReturnString
-    db_get_column_description.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 152
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_host_type'):
-    db_get_column_host_type = _libs['grass_dbmiclient.7.0.svn'].db_get_column_host_type
-    db_get_column_host_type.restype = c_int
-    db_get_column_host_type.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 153
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_length'):
-    db_get_column_length = _libs['grass_dbmiclient.7.0.svn'].db_get_column_length
-    db_get_column_length.restype = c_int
-    db_get_column_length.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 154
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_name'):
-    db_get_column_name = _libs['grass_dbmiclient.7.0.svn'].db_get_column_name
-    db_get_column_name.restype = ReturnString
-    db_get_column_name.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 155
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_precision'):
-    db_get_column_precision = _libs['grass_dbmiclient.7.0.svn'].db_get_column_precision
-    db_get_column_precision.restype = c_int
-    db_get_column_precision.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 156
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_scale'):
-    db_get_column_scale = _libs['grass_dbmiclient.7.0.svn'].db_get_column_scale
-    db_get_column_scale.restype = c_int
-    db_get_column_scale.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 157
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_select_priv'):
-    db_get_column_select_priv = _libs['grass_dbmiclient.7.0.svn'].db_get_column_select_priv
-    db_get_column_select_priv.restype = c_int
-    db_get_column_select_priv.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 158
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_sqltype'):
-    db_get_column_sqltype = _libs['grass_dbmiclient.7.0.svn'].db_get_column_sqltype
-    db_get_column_sqltype.restype = c_int
-    db_get_column_sqltype.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 159
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_update_priv'):
-    db_get_column_update_priv = _libs['grass_dbmiclient.7.0.svn'].db_get_column_update_priv
-    db_get_column_update_priv.restype = c_int
-    db_get_column_update_priv.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 160
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_value'):
-    db_get_column_value = _libs['grass_dbmiclient.7.0.svn'].db_get_column_value
-    db_get_column_value.restype = POINTER(dbValue)
-    db_get_column_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 161
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_connection'):
-    db_get_connection = _libs['grass_dbmiclient.7.0.svn'].db_get_connection
-    db_get_connection.restype = c_int
-    db_get_connection.argtypes = [POINTER(dbConnection)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 162
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_cursor_number_of_columns'):
-    db_get_cursor_number_of_columns = _libs['grass_dbmiclient.7.0.svn'].db_get_cursor_number_of_columns
-    db_get_cursor_number_of_columns.restype = c_int
-    db_get_cursor_number_of_columns.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 163
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_cursor_table'):
-    db_get_cursor_table = _libs['grass_dbmiclient.7.0.svn'].db_get_cursor_table
-    db_get_cursor_table.restype = POINTER(dbTable)
-    db_get_cursor_table.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 164
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_cursor_token'):
-    db_get_cursor_token = _libs['grass_dbmiclient.7.0.svn'].db_get_cursor_token
-    db_get_cursor_token.restype = dbToken
-    db_get_cursor_token.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 165
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_default_driver_name'):
-    db_get_default_driver_name = _libs['grass_dbmiclient.7.0.svn'].db_get_default_driver_name
-    db_get_default_driver_name.restype = ReturnString
-    db_get_default_driver_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 166
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_default_database_name'):
-    db_get_default_database_name = _libs['grass_dbmiclient.7.0.svn'].db_get_default_database_name
-    db_get_default_database_name.restype = ReturnString
-    db_get_default_database_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 167
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_default_schema_name'):
-    db_get_default_schema_name = _libs['grass_dbmiclient.7.0.svn'].db_get_default_schema_name
-    db_get_default_schema_name.restype = ReturnString
-    db_get_default_schema_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 168
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_default_group_name'):
-    db_get_default_group_name = _libs['grass_dbmiclient.7.0.svn'].db_get_default_group_name
-    db_get_default_group_name.restype = ReturnString
-    db_get_default_group_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 169
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__get_driver_state'):
-        db__get_driver_state = _lib.db__get_driver_state
-        db__get_driver_state.restype = POINTER(dbDriverState)
-        db__get_driver_state.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 170
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_error_code'):
-    db_get_error_code = _libs['grass_dbmiclient.7.0.svn'].db_get_error_code
-    db_get_error_code.restype = c_int
-    db_get_error_code.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 171
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_error_msg'):
-    db_get_error_msg = _libs['grass_dbmiclient.7.0.svn'].db_get_error_msg
-    db_get_error_msg.restype = ReturnString
-    db_get_error_msg.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 172
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_error_who'):
-    db_get_error_who = _libs['grass_dbmiclient.7.0.svn'].db_get_error_who
-    db_get_error_who.restype = ReturnString
-    db_get_error_who.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 173
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_handle_dbname'):
-    db_get_handle_dbname = _libs['grass_dbmiclient.7.0.svn'].db_get_handle_dbname
-    db_get_handle_dbname.restype = ReturnString
-    db_get_handle_dbname.argtypes = [POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 174
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_handle_dbschema'):
-    db_get_handle_dbschema = _libs['grass_dbmiclient.7.0.svn'].db_get_handle_dbschema
-    db_get_handle_dbschema.restype = ReturnString
-    db_get_handle_dbschema.argtypes = [POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 175
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_index_column_name'):
-    db_get_index_column_name = _libs['grass_dbmiclient.7.0.svn'].db_get_index_column_name
-    db_get_index_column_name.restype = ReturnString
-    db_get_index_column_name.argtypes = [POINTER(dbIndex), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 176
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_index_name'):
-    db_get_index_name = _libs['grass_dbmiclient.7.0.svn'].db_get_index_name
-    db_get_index_name.restype = ReturnString
-    db_get_index_name.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 177
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_index_number_of_columns'):
-    db_get_index_number_of_columns = _libs['grass_dbmiclient.7.0.svn'].db_get_index_number_of_columns
-    db_get_index_number_of_columns.restype = c_int
-    db_get_index_number_of_columns.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 178
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_index_table_name'):
-    db_get_index_table_name = _libs['grass_dbmiclient.7.0.svn'].db_get_index_table_name
-    db_get_index_table_name.restype = ReturnString
-    db_get_index_table_name.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 179
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_num_rows'):
-    db_get_num_rows = _libs['grass_dbmiclient.7.0.svn'].db_get_num_rows
-    db_get_num_rows.restype = c_int
-    db_get_num_rows.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 180
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_string'):
-    db_get_string = _libs['grass_dbmiclient.7.0.svn'].db_get_string
-    db_get_string.restype = ReturnString
-    db_get_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 181
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_column'):
-    db_get_table_column = _libs['grass_dbmiclient.7.0.svn'].db_get_table_column
-    db_get_table_column.restype = POINTER(dbColumn)
-    db_get_table_column.argtypes = [POINTER(dbTable), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 182
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_column_by_name'):
-    db_get_table_column_by_name = _libs['grass_dbmiclient.7.0.svn'].db_get_table_column_by_name
-    db_get_table_column_by_name.restype = POINTER(dbColumn)
-    db_get_table_column_by_name.argtypes = [POINTER(dbTable), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 183
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_delete_priv'):
-    db_get_table_delete_priv = _libs['grass_dbmiclient.7.0.svn'].db_get_table_delete_priv
-    db_get_table_delete_priv.restype = c_int
-    db_get_table_delete_priv.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 184
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_description'):
-    db_get_table_description = _libs['grass_dbmiclient.7.0.svn'].db_get_table_description
-    db_get_table_description.restype = ReturnString
-    db_get_table_description.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 185
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_insert_priv'):
-    db_get_table_insert_priv = _libs['grass_dbmiclient.7.0.svn'].db_get_table_insert_priv
-    db_get_table_insert_priv.restype = c_int
-    db_get_table_insert_priv.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 186
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_name'):
-    db_get_table_name = _libs['grass_dbmiclient.7.0.svn'].db_get_table_name
-    db_get_table_name.restype = ReturnString
-    db_get_table_name.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 187
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_number_of_columns'):
-    db_get_table_number_of_columns = _libs['grass_dbmiclient.7.0.svn'].db_get_table_number_of_columns
-    db_get_table_number_of_columns.restype = c_int
-    db_get_table_number_of_columns.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 188
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_number_of_rows'):
-    db_get_table_number_of_rows = _libs['grass_dbmiclient.7.0.svn'].db_get_table_number_of_rows
-    db_get_table_number_of_rows.restype = c_int
-    db_get_table_number_of_rows.argtypes = [POINTER(dbDriver), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 189
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_select_priv'):
-    db_get_table_select_priv = _libs['grass_dbmiclient.7.0.svn'].db_get_table_select_priv
-    db_get_table_select_priv.restype = c_int
-    db_get_table_select_priv.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 190
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_update_priv'):
-    db_get_table_update_priv = _libs['grass_dbmiclient.7.0.svn'].db_get_table_update_priv
-    db_get_table_update_priv.restype = c_int
-    db_get_table_update_priv.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 191
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_as_double'):
-    db_get_value_as_double = _libs['grass_dbmiclient.7.0.svn'].db_get_value_as_double
-    db_get_value_as_double.restype = c_double
-    db_get_value_as_double.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 192
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_day'):
-    db_get_value_day = _libs['grass_dbmiclient.7.0.svn'].db_get_value_day
-    db_get_value_day.restype = c_int
-    db_get_value_day.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 193
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_double'):
-    db_get_value_double = _libs['grass_dbmiclient.7.0.svn'].db_get_value_double
-    db_get_value_double.restype = c_double
-    db_get_value_double.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 194
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_hour'):
-    db_get_value_hour = _libs['grass_dbmiclient.7.0.svn'].db_get_value_hour
-    db_get_value_hour.restype = c_int
-    db_get_value_hour.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 195
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_int'):
-    db_get_value_int = _libs['grass_dbmiclient.7.0.svn'].db_get_value_int
-    db_get_value_int.restype = c_int
-    db_get_value_int.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 196
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_minute'):
-    db_get_value_minute = _libs['grass_dbmiclient.7.0.svn'].db_get_value_minute
-    db_get_value_minute.restype = c_int
-    db_get_value_minute.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 197
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_month'):
-    db_get_value_month = _libs['grass_dbmiclient.7.0.svn'].db_get_value_month
-    db_get_value_month.restype = c_int
-    db_get_value_month.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 198
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_seconds'):
-    db_get_value_seconds = _libs['grass_dbmiclient.7.0.svn'].db_get_value_seconds
-    db_get_value_seconds.restype = c_double
-    db_get_value_seconds.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 199
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_string'):
-    db_get_value_string = _libs['grass_dbmiclient.7.0.svn'].db_get_value_string
-    db_get_value_string.restype = ReturnString
-    db_get_value_string.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 200
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_year'):
-    db_get_value_year = _libs['grass_dbmiclient.7.0.svn'].db_get_value_year
-    db_get_value_year.restype = c_int
-    db_get_value_year.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 201
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_grant_on_table'):
-    db_grant_on_table = _libs['grass_dbmiclient.7.0.svn'].db_grant_on_table
-    db_grant_on_table.restype = c_int
-    db_grant_on_table.argtypes = [POINTER(dbDriver), String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 203
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_has_dbms'):
-    db_has_dbms = _libs['grass_dbmiclient.7.0.svn'].db_has_dbms
-    db_has_dbms.restype = c_int
-    db_has_dbms.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 204
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_init_column'):
-    db_init_column = _libs['grass_dbmiclient.7.0.svn'].db_init_column
-    db_init_column.restype = None
-    db_init_column.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 205
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_init_cursor'):
-    db_init_cursor = _libs['grass_dbmiclient.7.0.svn'].db_init_cursor
-    db_init_cursor.restype = None
-    db_init_cursor.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 206
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__init_driver_state'):
-        db__init_driver_state = _lib.db__init_driver_state
-        db__init_driver_state.restype = None
-        db__init_driver_state.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 207
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_init_handle'):
-    db_init_handle = _libs['grass_dbmiclient.7.0.svn'].db_init_handle
-    db_init_handle.restype = None
-    db_init_handle.argtypes = [POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 208
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_init_index'):
-    db_init_index = _libs['grass_dbmiclient.7.0.svn'].db_init_index
-    db_init_index.restype = None
-    db_init_index.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 209
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_init_string'):
-    db_init_string = _libs['grass_dbmiclient.7.0.svn'].db_init_string
-    db_init_string.restype = None
-    db_init_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 210
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_init_table'):
-    db_init_table = _libs['grass_dbmiclient.7.0.svn'].db_init_table
-    db_init_table.restype = None
-    db_init_table.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 211
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_insert'):
-    db_insert = _libs['grass_dbmiclient.7.0.svn'].db_insert
-    db_insert.restype = c_int
-    db_insert.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 212
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_interval_range'):
-    db_interval_range = _libs['grass_dbmiclient.7.0.svn'].db_interval_range
-    db_interval_range.restype = None
-    db_interval_range.argtypes = [c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 213
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_isdir'):
-    db_isdir = _libs['grass_dbmiclient.7.0.svn'].db_isdir
-    db_isdir.restype = c_int
-    db_isdir.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 214
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_legal_tablename'):
-    db_legal_tablename = _libs['grass_dbmiclient.7.0.svn'].db_legal_tablename
-    db_legal_tablename.restype = c_int
-    db_legal_tablename.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 215
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_list_databases'):
-    db_list_databases = _libs['grass_dbmiclient.7.0.svn'].db_list_databases
-    db_list_databases.restype = c_int
-    db_list_databases.argtypes = [POINTER(dbDriver), POINTER(dbString), c_int, POINTER(POINTER(dbHandle)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 217
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_list_drivers'):
-    db_list_drivers = _libs['grass_dbmiclient.7.0.svn'].db_list_drivers
-    db_list_drivers.restype = ReturnString
-    db_list_drivers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 218
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_list_indexes'):
-    db_list_indexes = _libs['grass_dbmiclient.7.0.svn'].db_list_indexes
-    db_list_indexes.restype = c_int
-    db_list_indexes.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(POINTER(dbIndex)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 220
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_list_tables'):
-    db_list_tables = _libs['grass_dbmiclient.7.0.svn'].db_list_tables
-    db_list_tables.restype = c_int
-    db_list_tables.argtypes = [POINTER(dbDriver), POINTER(POINTER(dbString)), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 222
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_malloc'):
-    db_malloc = _libs['grass_dbmiclient.7.0.svn'].db_malloc
-    db_malloc.restype = POINTER(None)
-    db_malloc.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 223
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__mark_database_closed'):
-        db__mark_database_closed = _lib.db__mark_database_closed
-        db__mark_database_closed.restype = None
-        db__mark_database_closed.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 224
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__mark_database_open'):
-        db__mark_database_open = _lib.db__mark_database_open
-        db__mark_database_open.restype = None
-        db__mark_database_open.argtypes = [String, String]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 225
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_memory_error'):
-    db_memory_error = _libs['grass_dbmiclient.7.0.svn'].db_memory_error
-    db_memory_error.restype = None
-    db_memory_error.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 226
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_new_token'):
-    db_new_token = _libs['grass_dbmiclient.7.0.svn'].db_new_token
-    db_new_token.restype = dbToken
-    db_new_token.argtypes = [dbAddress]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 227
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_nocase_compare'):
-    db_nocase_compare = _libs['grass_dbmiclient.7.0.svn'].db_nocase_compare
-    db_nocase_compare.restype = c_int
-    db_nocase_compare.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 228
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_noproc_error'):
-    db_noproc_error = _libs['grass_dbmiclient.7.0.svn'].db_noproc_error
-    db_noproc_error.restype = None
-    db_noproc_error.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 229
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_open_database'):
-    db_open_database = _libs['grass_dbmiclient.7.0.svn'].db_open_database
-    db_open_database.restype = c_int
-    db_open_database.argtypes = [POINTER(dbDriver), POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 230
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_open_insert_cursor'):
-    db_open_insert_cursor = _libs['grass_dbmiclient.7.0.svn'].db_open_insert_cursor
-    db_open_insert_cursor.restype = c_int
-    db_open_insert_cursor.argtypes = [POINTER(dbDriver), POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 231
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_open_select_cursor'):
-    db_open_select_cursor = _libs['grass_dbmiclient.7.0.svn'].db_open_select_cursor
-    db_open_select_cursor.restype = c_int
-    db_open_select_cursor.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 233
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_open_update_cursor'):
-    db_open_update_cursor = _libs['grass_dbmiclient.7.0.svn'].db_open_update_cursor
-    db_open_update_cursor.restype = c_int
-    db_open_update_cursor.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(dbString), POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 235
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_print_column_definition'):
-    db_print_column_definition = _libs['grass_dbmiclient.7.0.svn'].db_print_column_definition
-    db_print_column_definition.restype = None
-    db_print_column_definition.argtypes = [POINTER(FILE), POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 236
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_print_error'):
-    db_print_error = _libs['grass_dbmiclient.7.0.svn'].db_print_error
-    db_print_error.restype = None
-    db_print_error.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 237
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_print_index'):
-    db_print_index = _libs['grass_dbmiclient.7.0.svn'].db_print_index
-    db_print_index.restype = None
-    db_print_index.argtypes = [POINTER(FILE), POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 238
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_print_table_definition'):
-    db_print_table_definition = _libs['grass_dbmiclient.7.0.svn'].db_print_table_definition
-    db_print_table_definition.restype = None
-    db_print_table_definition.argtypes = [POINTER(FILE), POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 239
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_procedure_not_implemented'):
-    db_procedure_not_implemented = _libs['grass_dbmiclient.7.0.svn'].db_procedure_not_implemented
-    db_procedure_not_implemented.restype = None
-    db_procedure_not_implemented.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 240
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_protocol_error'):
-    db_protocol_error = _libs['grass_dbmiclient.7.0.svn'].db_protocol_error
-    db_protocol_error.restype = None
-    db_protocol_error.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 241
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_read_dbmscap'):
-    db_read_dbmscap = _libs['grass_dbmiclient.7.0.svn'].db_read_dbmscap
-    db_read_dbmscap.restype = POINTER(dbDbmscap)
-    db_read_dbmscap.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 242
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_realloc'):
-    db_realloc = _libs['grass_dbmiclient.7.0.svn'].db_realloc
-    db_realloc.restype = POINTER(None)
-    db_realloc.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 243
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_char'):
-    db__recv_char = _libs['grass_dbmiclient.7.0.svn'].db__recv_char
-    db__recv_char.restype = c_int
-    db__recv_char.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 244
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_column_default_value'):
-    db__recv_column_default_value = _libs['grass_dbmiclient.7.0.svn'].db__recv_column_default_value
-    db__recv_column_default_value.restype = c_int
-    db__recv_column_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 245
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_column_definition'):
-    db__recv_column_definition = _libs['grass_dbmiclient.7.0.svn'].db__recv_column_definition
-    db__recv_column_definition.restype = c_int
-    db__recv_column_definition.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 246
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_column_value'):
-    db__recv_column_value = _libs['grass_dbmiclient.7.0.svn'].db__recv_column_value
-    db__recv_column_value.restype = c_int
-    db__recv_column_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 247
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_datetime'):
-    db__recv_datetime = _libs['grass_dbmiclient.7.0.svn'].db__recv_datetime
-    db__recv_datetime.restype = c_int
-    db__recv_datetime.argtypes = [POINTER(dbDateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 248
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_double'):
-    db__recv_double = _libs['grass_dbmiclient.7.0.svn'].db__recv_double
-    db__recv_double.restype = c_int
-    db__recv_double.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 249
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_double_array'):
-    db__recv_double_array = _libs['grass_dbmiclient.7.0.svn'].db__recv_double_array
-    db__recv_double_array.restype = c_int
-    db__recv_double_array.argtypes = [POINTER(POINTER(c_double)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 250
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_float'):
-    db__recv_float = _libs['grass_dbmiclient.7.0.svn'].db__recv_float
-    db__recv_float.restype = c_int
-    db__recv_float.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 251
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_float_array'):
-    db__recv_float_array = _libs['grass_dbmiclient.7.0.svn'].db__recv_float_array
-    db__recv_float_array.restype = c_int
-    db__recv_float_array.argtypes = [POINTER(POINTER(c_float)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 252
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_handle'):
-    db__recv_handle = _libs['grass_dbmiclient.7.0.svn'].db__recv_handle
-    db__recv_handle.restype = c_int
-    db__recv_handle.argtypes = [POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 253
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_index'):
-    db__recv_index = _libs['grass_dbmiclient.7.0.svn'].db__recv_index
-    db__recv_index.restype = c_int
-    db__recv_index.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 254
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_index_array'):
-    db__recv_index_array = _libs['grass_dbmiclient.7.0.svn'].db__recv_index_array
-    db__recv_index_array.restype = c_int
-    db__recv_index_array.argtypes = [POINTER(POINTER(dbIndex)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 255
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_int'):
-    db__recv_int = _libs['grass_dbmiclient.7.0.svn'].db__recv_int
-    db__recv_int.restype = c_int
-    db__recv_int.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 256
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_int_array'):
-    db__recv_int_array = _libs['grass_dbmiclient.7.0.svn'].db__recv_int_array
-    db__recv_int_array.restype = c_int
-    db__recv_int_array.argtypes = [POINTER(POINTER(c_int)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 257
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_procnum'):
-    db__recv_procnum = _libs['grass_dbmiclient.7.0.svn'].db__recv_procnum
-    db__recv_procnum.restype = c_int
-    db__recv_procnum.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 258
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_return_code'):
-    db__recv_return_code = _libs['grass_dbmiclient.7.0.svn'].db__recv_return_code
-    db__recv_return_code.restype = c_int
-    db__recv_return_code.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 259
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_short'):
-    db__recv_short = _libs['grass_dbmiclient.7.0.svn'].db__recv_short
-    db__recv_short.restype = c_int
-    db__recv_short.argtypes = [POINTER(c_short)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 260
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_short_array'):
-    db__recv_short_array = _libs['grass_dbmiclient.7.0.svn'].db__recv_short_array
-    db__recv_short_array.restype = c_int
-    db__recv_short_array.argtypes = [POINTER(POINTER(c_short)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 261
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_string'):
-    db__recv_string = _libs['grass_dbmiclient.7.0.svn'].db__recv_string
-    db__recv_string.restype = c_int
-    db__recv_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 262
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_string_array'):
-    db__recv_string_array = _libs['grass_dbmiclient.7.0.svn'].db__recv_string_array
-    db__recv_string_array.restype = c_int
-    db__recv_string_array.argtypes = [POINTER(POINTER(dbString)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 263
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_table_data'):
-    db__recv_table_data = _libs['grass_dbmiclient.7.0.svn'].db__recv_table_data
-    db__recv_table_data.restype = c_int
-    db__recv_table_data.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 264
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_table_definition'):
-    db__recv_table_definition = _libs['grass_dbmiclient.7.0.svn'].db__recv_table_definition
-    db__recv_table_definition.restype = c_int
-    db__recv_table_definition.argtypes = [POINTER(POINTER(dbTable))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 265
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_token'):
-    db__recv_token = _libs['grass_dbmiclient.7.0.svn'].db__recv_token
-    db__recv_token.restype = c_int
-    db__recv_token.argtypes = [POINTER(dbToken)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 266
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_value'):
-    db__recv_value = _libs['grass_dbmiclient.7.0.svn'].db__recv_value
-    db__recv_value.restype = c_int
-    db__recv_value.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 267
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_Cstring'):
-    db__send_Cstring = _libs['grass_dbmiclient.7.0.svn'].db__send_Cstring
-    db__send_Cstring.restype = c_int
-    db__send_Cstring.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 268
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_char'):
-    db__send_char = _libs['grass_dbmiclient.7.0.svn'].db__send_char
-    db__send_char.restype = c_int
-    db__send_char.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 269
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_column_default_value'):
-    db__send_column_default_value = _libs['grass_dbmiclient.7.0.svn'].db__send_column_default_value
-    db__send_column_default_value.restype = c_int
-    db__send_column_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 270
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_column_definition'):
-    db__send_column_definition = _libs['grass_dbmiclient.7.0.svn'].db__send_column_definition
-    db__send_column_definition.restype = c_int
-    db__send_column_definition.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 271
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_column_value'):
-    db__send_column_value = _libs['grass_dbmiclient.7.0.svn'].db__send_column_value
-    db__send_column_value.restype = c_int
-    db__send_column_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 272
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_datetime'):
-    db__send_datetime = _libs['grass_dbmiclient.7.0.svn'].db__send_datetime
-    db__send_datetime.restype = c_int
-    db__send_datetime.argtypes = [POINTER(dbDateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 273
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_double'):
-    db__send_double = _libs['grass_dbmiclient.7.0.svn'].db__send_double
-    db__send_double.restype = c_int
-    db__send_double.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 274
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_double_array'):
-    db__send_double_array = _libs['grass_dbmiclient.7.0.svn'].db__send_double_array
-    db__send_double_array.restype = c_int
-    db__send_double_array.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 275
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_failure'):
-    db__send_failure = _libs['grass_dbmiclient.7.0.svn'].db__send_failure
-    db__send_failure.restype = c_int
-    db__send_failure.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 276
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_float'):
-    db__send_float = _libs['grass_dbmiclient.7.0.svn'].db__send_float
-    db__send_float.restype = c_int
-    db__send_float.argtypes = [c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 277
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_float_array'):
-    db__send_float_array = _libs['grass_dbmiclient.7.0.svn'].db__send_float_array
-    db__send_float_array.restype = c_int
-    db__send_float_array.argtypes = [POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 278
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_handle'):
-    db__send_handle = _libs['grass_dbmiclient.7.0.svn'].db__send_handle
-    db__send_handle.restype = c_int
-    db__send_handle.argtypes = [POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 279
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_index'):
-    db__send_index = _libs['grass_dbmiclient.7.0.svn'].db__send_index
-    db__send_index.restype = c_int
-    db__send_index.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 280
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_index_array'):
-    db__send_index_array = _libs['grass_dbmiclient.7.0.svn'].db__send_index_array
-    db__send_index_array.restype = c_int
-    db__send_index_array.argtypes = [POINTER(dbIndex), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 281
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_int'):
-    db__send_int = _libs['grass_dbmiclient.7.0.svn'].db__send_int
-    db__send_int.restype = c_int
-    db__send_int.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 282
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_int_array'):
-    db__send_int_array = _libs['grass_dbmiclient.7.0.svn'].db__send_int_array
-    db__send_int_array.restype = c_int
-    db__send_int_array.argtypes = [POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 283
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_procedure_not_implemented'):
-    db__send_procedure_not_implemented = _libs['grass_dbmiclient.7.0.svn'].db__send_procedure_not_implemented
-    db__send_procedure_not_implemented.restype = c_int
-    db__send_procedure_not_implemented.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 284
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_procedure_ok'):
-    db__send_procedure_ok = _libs['grass_dbmiclient.7.0.svn'].db__send_procedure_ok
-    db__send_procedure_ok.restype = c_int
-    db__send_procedure_ok.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 285
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_short'):
-    db__send_short = _libs['grass_dbmiclient.7.0.svn'].db__send_short
-    db__send_short.restype = c_int
-    db__send_short.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 286
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_short_array'):
-    db__send_short_array = _libs['grass_dbmiclient.7.0.svn'].db__send_short_array
-    db__send_short_array.restype = c_int
-    db__send_short_array.argtypes = [POINTER(c_short), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 287
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_string'):
-    db__send_string = _libs['grass_dbmiclient.7.0.svn'].db__send_string
-    db__send_string.restype = c_int
-    db__send_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 288
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_string_array'):
-    db__send_string_array = _libs['grass_dbmiclient.7.0.svn'].db__send_string_array
-    db__send_string_array.restype = c_int
-    db__send_string_array.argtypes = [POINTER(dbString), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 289
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_success'):
-    db__send_success = _libs['grass_dbmiclient.7.0.svn'].db__send_success
-    db__send_success.restype = c_int
-    db__send_success.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 290
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_table_data'):
-    db__send_table_data = _libs['grass_dbmiclient.7.0.svn'].db__send_table_data
-    db__send_table_data.restype = c_int
-    db__send_table_data.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 291
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_table_definition'):
-    db__send_table_definition = _libs['grass_dbmiclient.7.0.svn'].db__send_table_definition
-    db__send_table_definition.restype = c_int
-    db__send_table_definition.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 292
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_token'):
-    db__send_token = _libs['grass_dbmiclient.7.0.svn'].db__send_token
-    db__send_token.restype = c_int
-    db__send_token.argtypes = [POINTER(dbToken)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 293
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_value'):
-    db__send_value = _libs['grass_dbmiclient.7.0.svn'].db__send_value
-    db__send_value.restype = c_int
-    db__send_value.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 294
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_select_CatValArray'):
-    db_select_CatValArray = _libs['grass_dbmiclient.7.0.svn'].db_select_CatValArray
-    db_select_CatValArray.restype = c_int
-    db_select_CatValArray.argtypes = [POINTER(dbDriver), String, String, String, String, POINTER(dbCatValArray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 297
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_select_int'):
-    db_select_int = _libs['grass_dbmiclient.7.0.svn'].db_select_int
-    db_select_int.restype = c_int
-    db_select_int.argtypes = [POINTER(dbDriver), String, String, String, POINTER(POINTER(c_int))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 299
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_select_value'):
-    db_select_value = _libs['grass_dbmiclient.7.0.svn'].db_select_value
-    db_select_value.restype = c_int
-    db_select_value.argtypes = [POINTER(dbDriver), String, String, c_int, String, POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 301
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_description'):
-    db_set_column_description = _libs['grass_dbmiclient.7.0.svn'].db_set_column_description
-    db_set_column_description.restype = c_int
-    db_set_column_description.argtypes = [POINTER(dbColumn), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 302
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_has_defined_default_value'):
-    db_set_column_has_defined_default_value = _libs['grass_dbmiclient.7.0.svn'].db_set_column_has_defined_default_value
-    db_set_column_has_defined_default_value.restype = None
-    db_set_column_has_defined_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 303
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_has_undefined_default_value'):
-    db_set_column_has_undefined_default_value = _libs['grass_dbmiclient.7.0.svn'].db_set_column_has_undefined_default_value
-    db_set_column_has_undefined_default_value.restype = None
-    db_set_column_has_undefined_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 304
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_host_type'):
-    db_set_column_host_type = _libs['grass_dbmiclient.7.0.svn'].db_set_column_host_type
-    db_set_column_host_type.restype = None
-    db_set_column_host_type.argtypes = [POINTER(dbColumn), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 305
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_length'):
-    db_set_column_length = _libs['grass_dbmiclient.7.0.svn'].db_set_column_length
-    db_set_column_length.restype = None
-    db_set_column_length.argtypes = [POINTER(dbColumn), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 306
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_name'):
-    db_set_column_name = _libs['grass_dbmiclient.7.0.svn'].db_set_column_name
-    db_set_column_name.restype = c_int
-    db_set_column_name.argtypes = [POINTER(dbColumn), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 307
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_null_allowed'):
-    db_set_column_null_allowed = _libs['grass_dbmiclient.7.0.svn'].db_set_column_null_allowed
-    db_set_column_null_allowed.restype = None
-    db_set_column_null_allowed.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 308
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_precision'):
-    db_set_column_precision = _libs['grass_dbmiclient.7.0.svn'].db_set_column_precision
-    db_set_column_precision.restype = None
-    db_set_column_precision.argtypes = [POINTER(dbColumn), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 309
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_scale'):
-    db_set_column_scale = _libs['grass_dbmiclient.7.0.svn'].db_set_column_scale
-    db_set_column_scale.restype = None
-    db_set_column_scale.argtypes = [POINTER(dbColumn), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 310
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_select_priv_granted'):
-    db_set_column_select_priv_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_column_select_priv_granted
-    db_set_column_select_priv_granted.restype = None
-    db_set_column_select_priv_granted.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 311
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_select_priv_not_granted'):
-    db_set_column_select_priv_not_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_column_select_priv_not_granted
-    db_set_column_select_priv_not_granted.restype = None
-    db_set_column_select_priv_not_granted.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 312
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_sqltype'):
-    db_set_column_sqltype = _libs['grass_dbmiclient.7.0.svn'].db_set_column_sqltype
-    db_set_column_sqltype.restype = None
-    db_set_column_sqltype.argtypes = [POINTER(dbColumn), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 313
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_update_priv_granted'):
-    db_set_column_update_priv_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_column_update_priv_granted
-    db_set_column_update_priv_granted.restype = None
-    db_set_column_update_priv_granted.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 314
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_update_priv_not_granted'):
-    db_set_column_update_priv_not_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_column_update_priv_not_granted
-    db_set_column_update_priv_not_granted.restype = None
-    db_set_column_update_priv_not_granted.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 315
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_use_default_value'):
-    db_set_column_use_default_value = _libs['grass_dbmiclient.7.0.svn'].db_set_column_use_default_value
-    db_set_column_use_default_value.restype = None
-    db_set_column_use_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 316
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_connection'):
-    db_set_connection = _libs['grass_dbmiclient.7.0.svn'].db_set_connection
-    db_set_connection.restype = c_int
-    db_set_connection.argtypes = [POINTER(dbConnection)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 317
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_column_flag'):
-    db_set_cursor_column_flag = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_column_flag
-    db_set_cursor_column_flag.restype = None
-    db_set_cursor_column_flag.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 318
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_column_for_update'):
-    db_set_cursor_column_for_update = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_column_for_update
-    db_set_cursor_column_for_update.restype = None
-    db_set_cursor_column_for_update.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 319
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_mode'):
-    db_set_cursor_mode = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_mode
-    db_set_cursor_mode.restype = None
-    db_set_cursor_mode.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 320
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_mode_insensitive'):
-    db_set_cursor_mode_insensitive = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_mode_insensitive
-    db_set_cursor_mode_insensitive.restype = None
-    db_set_cursor_mode_insensitive.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 321
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_mode_scroll'):
-    db_set_cursor_mode_scroll = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_mode_scroll
-    db_set_cursor_mode_scroll.restype = None
-    db_set_cursor_mode_scroll.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 322
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_table'):
-    db_set_cursor_table = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_table
-    db_set_cursor_table.restype = None
-    db_set_cursor_table.argtypes = [POINTER(dbCursor), POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 323
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_token'):
-    db_set_cursor_token = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_token
-    db_set_cursor_token.restype = None
-    db_set_cursor_token.argtypes = [POINTER(dbCursor), dbToken]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 324
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_type_insert'):
-    db_set_cursor_type_insert = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_type_insert
-    db_set_cursor_type_insert.restype = None
-    db_set_cursor_type_insert.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 325
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_type_readonly'):
-    db_set_cursor_type_readonly = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_type_readonly
-    db_set_cursor_type_readonly.restype = None
-    db_set_cursor_type_readonly.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 326
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_type_update'):
-    db_set_cursor_type_update = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_type_update
-    db_set_cursor_type_update.restype = None
-    db_set_cursor_type_update.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 327
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_default_connection'):
-    db_set_default_connection = _libs['grass_dbmiclient.7.0.svn'].db_set_default_connection
-    db_set_default_connection.restype = c_int
-    db_set_default_connection.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 328
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_error_who'):
-    db_set_error_who = _libs['grass_dbmiclient.7.0.svn'].db_set_error_who
-    db_set_error_who.restype = None
-    db_set_error_who.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 329
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_handle'):
-    db_set_handle = _libs['grass_dbmiclient.7.0.svn'].db_set_handle
-    db_set_handle.restype = c_int
-    db_set_handle.argtypes = [POINTER(dbHandle), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 330
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_index_column_name'):
-    db_set_index_column_name = _libs['grass_dbmiclient.7.0.svn'].db_set_index_column_name
-    db_set_index_column_name.restype = c_int
-    db_set_index_column_name.argtypes = [POINTER(dbIndex), c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 332
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_index_name'):
-    db_set_index_name = _libs['grass_dbmiclient.7.0.svn'].db_set_index_name
-    db_set_index_name.restype = c_int
-    db_set_index_name.argtypes = [POINTER(dbIndex), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 333
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_index_table_name'):
-    db_set_index_table_name = _libs['grass_dbmiclient.7.0.svn'].db_set_index_table_name
-    db_set_index_table_name.restype = c_int
-    db_set_index_table_name.argtypes = [POINTER(dbIndex), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 334
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_index_type_non_unique'):
-    db_set_index_type_non_unique = _libs['grass_dbmiclient.7.0.svn'].db_set_index_type_non_unique
-    db_set_index_type_non_unique.restype = c_int
-    db_set_index_type_non_unique.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 335
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_index_type_unique'):
-    db_set_index_type_unique = _libs['grass_dbmiclient.7.0.svn'].db_set_index_type_unique
-    db_set_index_type_unique.restype = c_int
-    db_set_index_type_unique.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 336
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__set_protocol_fds'):
-    db__set_protocol_fds = _libs['grass_dbmiclient.7.0.svn'].db__set_protocol_fds
-    db__set_protocol_fds.restype = None
-    db__set_protocol_fds.argtypes = [POINTER(FILE), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 337
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_string'):
-    db_set_string = _libs['grass_dbmiclient.7.0.svn'].db_set_string
-    db_set_string.restype = c_int
-    db_set_string.argtypes = [POINTER(dbString), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 338
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_string_no_copy'):
-    db_set_string_no_copy = _libs['grass_dbmiclient.7.0.svn'].db_set_string_no_copy
-    db_set_string_no_copy.restype = c_int
-    db_set_string_no_copy.argtypes = [POINTER(dbString), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 339
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_column'):
-    db_set_table_column = _libs['grass_dbmiclient.7.0.svn'].db_set_table_column
-    db_set_table_column.restype = c_int
-    db_set_table_column.argtypes = [POINTER(dbTable), c_int, POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 340
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_delete_priv_granted'):
-    db_set_table_delete_priv_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_delete_priv_granted
-    db_set_table_delete_priv_granted.restype = None
-    db_set_table_delete_priv_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 341
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_delete_priv_not_granted'):
-    db_set_table_delete_priv_not_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_delete_priv_not_granted
-    db_set_table_delete_priv_not_granted.restype = None
-    db_set_table_delete_priv_not_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 342
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_description'):
-    db_set_table_description = _libs['grass_dbmiclient.7.0.svn'].db_set_table_description
-    db_set_table_description.restype = c_int
-    db_set_table_description.argtypes = [POINTER(dbTable), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 343
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_insert_priv_granted'):
-    db_set_table_insert_priv_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_insert_priv_granted
-    db_set_table_insert_priv_granted.restype = None
-    db_set_table_insert_priv_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 344
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_insert_priv_not_granted'):
-    db_set_table_insert_priv_not_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_insert_priv_not_granted
-    db_set_table_insert_priv_not_granted.restype = None
-    db_set_table_insert_priv_not_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 345
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_name'):
-    db_set_table_name = _libs['grass_dbmiclient.7.0.svn'].db_set_table_name
-    db_set_table_name.restype = c_int
-    db_set_table_name.argtypes = [POINTER(dbTable), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 346
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_select_priv_granted'):
-    db_set_table_select_priv_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_select_priv_granted
-    db_set_table_select_priv_granted.restype = None
-    db_set_table_select_priv_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 347
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_select_priv_not_granted'):
-    db_set_table_select_priv_not_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_select_priv_not_granted
-    db_set_table_select_priv_not_granted.restype = None
-    db_set_table_select_priv_not_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 348
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_update_priv_granted'):
-    db_set_table_update_priv_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_update_priv_granted
-    db_set_table_update_priv_granted.restype = None
-    db_set_table_update_priv_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 349
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_update_priv_not_granted'):
-    db_set_table_update_priv_not_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_update_priv_not_granted
-    db_set_table_update_priv_not_granted.restype = None
-    db_set_table_update_priv_not_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 350
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_datetime_current'):
-    db_set_value_datetime_current = _libs['grass_dbmiclient.7.0.svn'].db_set_value_datetime_current
-    db_set_value_datetime_current.restype = None
-    db_set_value_datetime_current.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 351
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_datetime_not_current'):
-    db_set_value_datetime_not_current = _libs['grass_dbmiclient.7.0.svn'].db_set_value_datetime_not_current
-    db_set_value_datetime_not_current.restype = None
-    db_set_value_datetime_not_current.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 352
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_day'):
-    db_set_value_day = _libs['grass_dbmiclient.7.0.svn'].db_set_value_day
-    db_set_value_day.restype = None
-    db_set_value_day.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 353
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_double'):
-    db_set_value_double = _libs['grass_dbmiclient.7.0.svn'].db_set_value_double
-    db_set_value_double.restype = None
-    db_set_value_double.argtypes = [POINTER(dbValue), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 354
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_hour'):
-    db_set_value_hour = _libs['grass_dbmiclient.7.0.svn'].db_set_value_hour
-    db_set_value_hour.restype = None
-    db_set_value_hour.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 355
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_int'):
-    db_set_value_int = _libs['grass_dbmiclient.7.0.svn'].db_set_value_int
-    db_set_value_int.restype = None
-    db_set_value_int.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 356
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_minute'):
-    db_set_value_minute = _libs['grass_dbmiclient.7.0.svn'].db_set_value_minute
-    db_set_value_minute.restype = None
-    db_set_value_minute.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 357
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_month'):
-    db_set_value_month = _libs['grass_dbmiclient.7.0.svn'].db_set_value_month
-    db_set_value_month.restype = None
-    db_set_value_month.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 358
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_not_null'):
-    db_set_value_not_null = _libs['grass_dbmiclient.7.0.svn'].db_set_value_not_null
-    db_set_value_not_null.restype = None
-    db_set_value_not_null.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 359
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_null'):
-    db_set_value_null = _libs['grass_dbmiclient.7.0.svn'].db_set_value_null
-    db_set_value_null.restype = None
-    db_set_value_null.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 360
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_seconds'):
-    db_set_value_seconds = _libs['grass_dbmiclient.7.0.svn'].db_set_value_seconds
-    db_set_value_seconds.restype = None
-    db_set_value_seconds.argtypes = [POINTER(dbValue), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 361
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_string'):
-    db_set_value_string = _libs['grass_dbmiclient.7.0.svn'].db_set_value_string
-    db_set_value_string.restype = c_int
-    db_set_value_string.argtypes = [POINTER(dbValue), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 362
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_year'):
-    db_set_value_year = _libs['grass_dbmiclient.7.0.svn'].db_set_value_year
-    db_set_value_year.restype = None
-    db_set_value_year.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 363
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_shutdown_driver'):
-    db_shutdown_driver = _libs['grass_dbmiclient.7.0.svn'].db_shutdown_driver
-    db_shutdown_driver.restype = c_int
-    db_shutdown_driver.argtypes = [POINTER(dbDriver)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 364
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_sqltype_name'):
-    db_sqltype_name = _libs['grass_dbmiclient.7.0.svn'].db_sqltype_name
-    db_sqltype_name.restype = ReturnString
-    db_sqltype_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 365
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_sqltype_to_Ctype'):
-    db_sqltype_to_Ctype = _libs['grass_dbmiclient.7.0.svn'].db_sqltype_to_Ctype
-    db_sqltype_to_Ctype.restype = c_int
-    db_sqltype_to_Ctype.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 366
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_start_driver'):
-    db_start_driver = _libs['grass_dbmiclient.7.0.svn'].db_start_driver
-    db_start_driver.restype = POINTER(dbDriver)
-    db_start_driver.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 367
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_start_driver_open_database'):
-    db_start_driver_open_database = _libs['grass_dbmiclient.7.0.svn'].db_start_driver_open_database
-    db_start_driver_open_database.restype = POINTER(dbDriver)
-    db_start_driver_open_database.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 368
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__start_procedure_call'):
-    db__start_procedure_call = _libs['grass_dbmiclient.7.0.svn'].db__start_procedure_call
-    db__start_procedure_call.restype = c_int
-    db__start_procedure_call.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 369
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_store'):
-    db_store = _libs['grass_dbmiclient.7.0.svn'].db_store
-    db_store.restype = ReturnString
-    db_store.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 370
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_strip'):
-    db_strip = _libs['grass_dbmiclient.7.0.svn'].db_strip
-    db_strip.restype = None
-    db_strip.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 371
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_syserror'):
-    db_syserror = _libs['grass_dbmiclient.7.0.svn'].db_syserror
-    db_syserror.restype = None
-    db_syserror.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 372
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_table_exists'):
-    db_table_exists = _libs['grass_dbmiclient.7.0.svn'].db_table_exists
-    db_table_exists.restype = c_int
-    db_table_exists.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 374
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_column_has_default_value'):
-    db_test_column_has_default_value = _libs['grass_dbmiclient.7.0.svn'].db_test_column_has_default_value
-    db_test_column_has_default_value.restype = c_int
-    db_test_column_has_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 375
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_column_has_defined_default_value'):
-    db_test_column_has_defined_default_value = _libs['grass_dbmiclient.7.0.svn'].db_test_column_has_defined_default_value
-    db_test_column_has_defined_default_value.restype = c_int
-    db_test_column_has_defined_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 376
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_column_has_undefined_default_value'):
-    db_test_column_has_undefined_default_value = _libs['grass_dbmiclient.7.0.svn'].db_test_column_has_undefined_default_value
-    db_test_column_has_undefined_default_value.restype = c_int
-    db_test_column_has_undefined_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 377
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_column_null_allowed'):
-    db_test_column_null_allowed = _libs['grass_dbmiclient.7.0.svn'].db_test_column_null_allowed
-    db_test_column_null_allowed.restype = c_int
-    db_test_column_null_allowed.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 378
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_column_use_default_value'):
-    db_test_column_use_default_value = _libs['grass_dbmiclient.7.0.svn'].db_test_column_use_default_value
-    db_test_column_use_default_value.restype = c_int
-    db_test_column_use_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 379
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_any_column_flag'):
-    db_test_cursor_any_column_flag = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_any_column_flag
-    db_test_cursor_any_column_flag.restype = c_int
-    db_test_cursor_any_column_flag.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 380
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_any_column_for_update'):
-    db_test_cursor_any_column_for_update = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_any_column_for_update
-    db_test_cursor_any_column_for_update.restype = c_int
-    db_test_cursor_any_column_for_update.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 381
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_column_flag'):
-    db_test_cursor_column_flag = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_column_flag
-    db_test_cursor_column_flag.restype = c_int
-    db_test_cursor_column_flag.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 382
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_column_for_update'):
-    db_test_cursor_column_for_update = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_column_for_update
-    db_test_cursor_column_for_update.restype = c_int
-    db_test_cursor_column_for_update.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 383
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_mode_insensitive'):
-    db_test_cursor_mode_insensitive = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_mode_insensitive
-    db_test_cursor_mode_insensitive.restype = c_int
-    db_test_cursor_mode_insensitive.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 384
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_mode_scroll'):
-    db_test_cursor_mode_scroll = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_mode_scroll
-    db_test_cursor_mode_scroll.restype = c_int
-    db_test_cursor_mode_scroll.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 385
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_type_fetch'):
-    db_test_cursor_type_fetch = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_type_fetch
-    db_test_cursor_type_fetch.restype = c_int
-    db_test_cursor_type_fetch.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 386
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_type_insert'):
-    db_test_cursor_type_insert = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_type_insert
-    db_test_cursor_type_insert.restype = c_int
-    db_test_cursor_type_insert.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 387
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_type_update'):
-    db_test_cursor_type_update = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_type_update
-    db_test_cursor_type_update.restype = c_int
-    db_test_cursor_type_update.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 388
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__test_database_open'):
-        db__test_database_open = _lib.db__test_database_open
-        db__test_database_open.restype = c_int
-        db__test_database_open.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 389
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_index_type_unique'):
-    db_test_index_type_unique = _libs['grass_dbmiclient.7.0.svn'].db_test_index_type_unique
-    db_test_index_type_unique.restype = c_int
-    db_test_index_type_unique.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 390
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_value_datetime_current'):
-    db_test_value_datetime_current = _libs['grass_dbmiclient.7.0.svn'].db_test_value_datetime_current
-    db_test_value_datetime_current.restype = c_int
-    db_test_value_datetime_current.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 391
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_value_isnull'):
-    db_test_value_isnull = _libs['grass_dbmiclient.7.0.svn'].db_test_value_isnull
-    db_test_value_isnull.restype = c_int
-    db_test_value_isnull.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 392
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_column_has_default_value'):
-    db_unset_column_has_default_value = _libs['grass_dbmiclient.7.0.svn'].db_unset_column_has_default_value
-    db_unset_column_has_default_value.restype = None
-    db_unset_column_has_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 393
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_column_null_allowed'):
-    db_unset_column_null_allowed = _libs['grass_dbmiclient.7.0.svn'].db_unset_column_null_allowed
-    db_unset_column_null_allowed.restype = None
-    db_unset_column_null_allowed.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 394
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_column_use_default_value'):
-    db_unset_column_use_default_value = _libs['grass_dbmiclient.7.0.svn'].db_unset_column_use_default_value
-    db_unset_column_use_default_value.restype = None
-    db_unset_column_use_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 395
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_cursor_column_flag'):
-    db_unset_cursor_column_flag = _libs['grass_dbmiclient.7.0.svn'].db_unset_cursor_column_flag
-    db_unset_cursor_column_flag.restype = None
-    db_unset_cursor_column_flag.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 396
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_cursor_column_for_update'):
-    db_unset_cursor_column_for_update = _libs['grass_dbmiclient.7.0.svn'].db_unset_cursor_column_for_update
-    db_unset_cursor_column_for_update.restype = None
-    db_unset_cursor_column_for_update.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 397
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_cursor_mode'):
-    db_unset_cursor_mode = _libs['grass_dbmiclient.7.0.svn'].db_unset_cursor_mode
-    db_unset_cursor_mode.restype = None
-    db_unset_cursor_mode.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 398
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_cursor_mode_insensitive'):
-    db_unset_cursor_mode_insensitive = _libs['grass_dbmiclient.7.0.svn'].db_unset_cursor_mode_insensitive
-    db_unset_cursor_mode_insensitive.restype = None
-    db_unset_cursor_mode_insensitive.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 399
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_cursor_mode_scroll'):
-    db_unset_cursor_mode_scroll = _libs['grass_dbmiclient.7.0.svn'].db_unset_cursor_mode_scroll
-    db_unset_cursor_mode_scroll.restype = None
-    db_unset_cursor_mode_scroll.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 400
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_update'):
-    db_update = _libs['grass_dbmiclient.7.0.svn'].db_update
-    db_update.restype = c_int
-    db_update.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 401
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_gversion'):
-    db_gversion = _libs['grass_dbmiclient.7.0.svn'].db_gversion
-    db_gversion.restype = c_int
-    db_gversion.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 403
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_whoami'):
-    db_whoami = _libs['grass_dbmiclient.7.0.svn'].db_whoami
-    db_whoami.restype = ReturnString
-    db_whoami.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 404
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_zero'):
-    db_zero = _libs['grass_dbmiclient.7.0.svn'].db_zero
-    db_zero.restype = None
-    db_zero.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 405
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_zero_string'):
-    db_zero_string = _libs['grass_dbmiclient.7.0.svn'].db_zero_string
-    db_zero_string.restype = None
-    db_zero_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 406
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_sizeof_string'):
-    db_sizeof_string = _libs['grass_dbmiclient.7.0.svn'].db_sizeof_string
-    db_sizeof_string.restype = c_uint
-    db_sizeof_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 407
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_login'):
-    db_set_login = _libs['grass_dbmiclient.7.0.svn'].db_set_login
-    db_set_login.restype = c_int
-    db_set_login.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 408
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_login'):
-    db_get_login = _libs['grass_dbmiclient.7.0.svn'].db_get_login
-    db_get_login.restype = c_int
-    db_get_login.argtypes = [String, String, POINTER(POINTER(c_char)), POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 18
-try:
-    DB_VERSION = '0'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 19
-try:
-    DB_DEFAULT_DRIVER = 'sqlite'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 21
-try:
-    DB_PROC_VERSION = 999
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_CLOSE_DATABASE = 101
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_CREATE_DATABASE = 102
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_DELETE_DATABASE = 103
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_FIND_DATABASE = 104
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_LIST_DATABASES = 105
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_OPEN_DATABASE = 106
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_SHUTDOWN_DRIVER = 107
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_CLOSE_CURSOR = 201
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_DELETE = 202
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_FETCH = 203
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_INSERT = 204
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_OPEN_INSERT_CURSOR = 205
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_OPEN_SELECT_CURSOR = 206
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_OPEN_UPDATE_CURSOR = 207
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_UPDATE = 208
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_ROWS = 209
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_BIND_UPDATE = 220
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_BIND_INSERT = 221
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 24
-try:
-    DB_PROC_EXECUTE_IMMEDIATE = 301
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 24
-try:
-    DB_PROC_BEGIN_TRANSACTION = 302
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 24
-try:
-    DB_PROC_COMMIT_TRANSACTION = 303
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_CREATE_TABLE = 401
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_DESCRIBE_TABLE = 402
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_DROP_TABLE = 403
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_LIST_TABLES = 404
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_ADD_COLUMN = 405
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_DROP_COLUMN = 406
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_GRANT_ON_TABLE = 407
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 26
-try:
-    DB_PROC_CREATE_INDEX = 701
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 26
-try:
-    DB_PROC_LIST_INDEXES = 702
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 26
-try:
-    DB_PROC_DROP_INDEX = 703
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 28
-try:
-    DB_PERM_R = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 28
-try:
-    DB_PERM_W = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 28
-try:
-    DB_PERM_X = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 30
-try:
-    DB_OK = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 30
-try:
-    DB_FAILED = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 30
-try:
-    DB_NOPROC = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 30
-try:
-    DB_MEMORY_ERR = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 30
-try:
-    DB_PROTOCOL_ERR = (-2)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 30
-try:
-    DB_EOF = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 32
-try:
-    DB_SQL_TYPE_UNKNOWN = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_CHARACTER = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_SMALLINT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_INTEGER = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_REAL = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_DOUBLE_PRECISION = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_DECIMAL = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_NUMERIC = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_DATE = 9
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_TIME = 10
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_TIMESTAMP = 11
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_INTERVAL = 12
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_TEXT = 13
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 34
-try:
-    DB_SQL_TYPE_SERIAL = 21
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_YEAR = 16384
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_MONTH = 8192
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_DAY = 4096
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_HOUR = 2048
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_MINUTE = 1024
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_SECOND = 512
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_FRACTION = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_DATETIME_MASK = 65280
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 38
-try:
-    DB_C_TYPE_STRING = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 38
-try:
-    DB_C_TYPE_INT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 38
-try:
-    DB_C_TYPE_DOUBLE = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 38
-try:
-    DB_C_TYPE_DATETIME = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 40
-try:
-    DB_CURRENT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 40
-try:
-    DB_NEXT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 40
-try:
-    DB_PREVIOUS = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 40
-try:
-    DB_FIRST = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 40
-try:
-    DB_LAST = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 42
-try:
-    DB_READONLY = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 42
-try:
-    DB_INSERT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 42
-try:
-    DB_UPDATE = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 42
-try:
-    DB_SEQUENTIAL = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 42
-try:
-    DB_SCROLL = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 42
-try:
-    DB_INSENSITIVE = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 44
-try:
-    DB_GRANTED = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 44
-try:
-    DB_NOT_GRANTED = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 46
-try:
-    DB_PRIV_SELECT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 47
-try:
-    DB_GROUP = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 47
-try:
-    DB_PUBLIC = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 49
-try:
-    DB_DEFINED = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 49
-try:
-    DB_UNDEFINED = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 51
-try:
-    DB_SQL_MAX = 4096
-except:
-    pass
-
-_db_string = struct__db_string # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 147
-
-_dbmscap = struct__dbmscap # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 149
-
-_db_dirent = struct__db_dirent # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 162
-
-_db_driver = struct__db_driver # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-
-_db_handle = struct__db_handle # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 176
-
-_db_date_time = struct__db_date_time # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 187
-
-_db_value = struct__db_value # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 196
-
-_db_column = struct__db_column # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 214
-
-_db_table = struct__db_table # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 224
-
-_db_cursor = struct__db_cursor # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 234
-
-_db_index = struct__db_index # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 243
-
-_db_driver_state = struct__db_driver_state # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 252
-
-_db_connection = struct__db_connection # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 300
-
-# No inserted files
-
diff --git a/lib/python/ctypes/display.py b/lib/python/ctypes/display.py
deleted file mode 100644
index e945d70..0000000
--- a/lib/python/ctypes/display.py
+++ /dev/null
@@ -1,1672 +0,0 @@
-'''Wrapper for display.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_display.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h -o display.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_display.7.0.svn"] = load_library("grass_display.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 273
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-CELL = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 402
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-FCELL = c_float # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 404
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 406
-class struct__Color_Value_(Structure):
-    pass
-
-struct__Color_Value_.__slots__ = [
-    'value',
-    'red',
-    'grn',
-    'blu',
-]
-struct__Color_Value_._fields_ = [
-    ('value', DCELL),
-    ('red', c_ubyte),
-    ('grn', c_ubyte),
-    ('blu', c_ubyte),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 414
-class struct__Color_Rule_(Structure):
-    pass
-
-struct__Color_Rule_.__slots__ = [
-    'low',
-    'high',
-    'next',
-    'prev',
-]
-struct__Color_Rule_._fields_ = [
-    ('low', struct__Color_Value_),
-    ('high', struct__Color_Value_),
-    ('next', POINTER(struct__Color_Rule_)),
-    ('prev', POINTER(struct__Color_Rule_)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 426
-class struct_anon_8(Structure):
-    pass
-
-struct_anon_8.__slots__ = [
-    'red',
-    'grn',
-    'blu',
-    'set',
-    'nalloc',
-    'active',
-]
-struct_anon_8._fields_ = [
-    ('red', POINTER(c_ubyte)),
-    ('grn', POINTER(c_ubyte)),
-    ('blu', POINTER(c_ubyte)),
-    ('set', POINTER(c_ubyte)),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 436
-class struct_anon_9(Structure):
-    pass
-
-struct_anon_9.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-]
-struct_anon_9._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct__Color_Rule_))),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 421
-class struct__Color_Info_(Structure):
-    pass
-
-struct__Color_Info_.__slots__ = [
-    'rules',
-    'n_rules',
-    'lookup',
-    'fp_lookup',
-    'min',
-    'max',
-]
-struct__Color_Info_._fields_ = [
-    ('rules', POINTER(struct__Color_Rule_)),
-    ('n_rules', c_int),
-    ('lookup', struct_anon_8),
-    ('fp_lookup', struct_anon_9),
-    ('min', DCELL),
-    ('max', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 448
-class struct_Colors(Structure):
-    pass
-
-struct_Colors.__slots__ = [
-    'version',
-    'shift',
-    'invert',
-    'is_float',
-    'null_set',
-    'null_red',
-    'null_grn',
-    'null_blu',
-    'undef_set',
-    'undef_red',
-    'undef_grn',
-    'undef_blu',
-    'fixed',
-    'modular',
-    'cmin',
-    'cmax',
-    'organizing',
-]
-struct_Colors._fields_ = [
-    ('version', c_int),
-    ('shift', DCELL),
-    ('invert', c_int),
-    ('is_float', c_int),
-    ('null_set', c_int),
-    ('null_red', c_ubyte),
-    ('null_grn', c_ubyte),
-    ('null_blu', c_ubyte),
-    ('undef_set', c_int),
-    ('undef_red', c_ubyte),
-    ('undef_grn', c_ubyte),
-    ('undef_blu', c_ubyte),
-    ('fixed', struct__Color_Info_),
-    ('modular', struct__Color_Info_),
-    ('cmin', DCELL),
-    ('cmax', DCELL),
-    ('organizing', c_int),
-]
-
-RASTER_MAP_TYPE = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 22
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 228
-class struct_anon_24(Structure):
-    pass
-
-struct_anon_24.__slots__ = [
-    'r',
-    'g',
-    'b',
-    'a',
-]
-struct_anon_24._fields_ = [
-    ('r', c_ubyte),
-    ('g', c_ubyte),
-    ('b', c_ubyte),
-    ('a', c_ubyte),
-]
-
-RGBA_Color = struct_anon_24 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 228
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 27
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'color',
-    'r',
-    'g',
-    'b',
-    'fr',
-    'fg',
-    'fb',
-]
-struct_anon_25._fields_ = [
-    ('color', c_int),
-    ('r', c_int),
-    ('g', c_int),
-    ('b', c_int),
-    ('fr', c_double),
-    ('fg', c_double),
-    ('fb', c_double),
-]
-
-SYMBCOLOR = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 27
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 35
-class struct_anon_26(Structure):
-    pass
-
-struct_anon_26.__slots__ = [
-    'count',
-    'alloc',
-    'x',
-    'y',
-]
-struct_anon_26._fields_ = [
-    ('count', c_int),
-    ('alloc', c_int),
-    ('x', POINTER(c_double)),
-    ('y', POINTER(c_double)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 40
-class struct_anon_27(Structure):
-    pass
-
-struct_anon_27.__slots__ = [
-    'clock',
-    'x',
-    'y',
-    'r',
-    'a1',
-    'a2',
-]
-struct_anon_27._fields_ = [
-    ('clock', c_int),
-    ('x', c_double),
-    ('y', c_double),
-    ('r', c_double),
-    ('a1', c_double),
-    ('a2', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 33
-class union_anon_28(Union):
-    pass
-
-union_anon_28.__slots__ = [
-    'line',
-    'arc',
-]
-union_anon_28._fields_ = [
-    ('line', struct_anon_26),
-    ('arc', struct_anon_27),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 46
-class struct_anon_29(Structure):
-    pass
-
-struct_anon_29.__slots__ = [
-    'type',
-    'coor',
-]
-struct_anon_29._fields_ = [
-    ('type', c_int),
-    ('coor', union_anon_28),
-]
-
-SYMBEL = struct_anon_29 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 46
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 55
-class struct_anon_30(Structure):
-    pass
-
-struct_anon_30.__slots__ = [
-    'count',
-    'alloc',
-    'elem',
-    'scount',
-    'salloc',
-    'sx',
-    'sy',
-]
-struct_anon_30._fields_ = [
-    ('count', c_int),
-    ('alloc', c_int),
-    ('elem', POINTER(POINTER(SYMBEL))),
-    ('scount', c_int),
-    ('salloc', c_int),
-    ('sx', POINTER(c_int)),
-    ('sy', POINTER(c_int)),
-]
-
-SYMBCHAIN = struct_anon_30 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 55
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 65
-class struct_anon_31(Structure):
-    pass
-
-struct_anon_31.__slots__ = [
-    'type',
-    'color',
-    'fcolor',
-    'count',
-    'alloc',
-    'chain',
-]
-struct_anon_31._fields_ = [
-    ('type', c_int),
-    ('color', SYMBCOLOR),
-    ('fcolor', SYMBCOLOR),
-    ('count', c_int),
-    ('alloc', c_int),
-    ('chain', POINTER(POINTER(SYMBCHAIN))),
-]
-
-SYMBPART = struct_anon_31 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 65
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 72
-class struct_anon_32(Structure):
-    pass
-
-struct_anon_32.__slots__ = [
-    'scale',
-    'count',
-    'alloc',
-    'part',
-]
-struct_anon_32._fields_ = [
-    ('scale', c_double),
-    ('count', c_int),
-    ('alloc', c_int),
-    ('part', POINTER(POINTER(SYMBPART))),
-]
-
-SYMBOL = struct_anon_32 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 72
-
-enum_clip_mode = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 8
-
-M_NONE = 0 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 8
-
-M_CULL = (M_NONE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 8
-
-M_CLIP = (M_CULL + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 8
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 16
-if hasattr(_libs['grass_display.7.0.svn'], 'D_update_conversions'):
-    D_update_conversions = _libs['grass_display.7.0.svn'].D_update_conversions
-    D_update_conversions.restype = None
-    D_update_conversions.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 17
-if hasattr(_libs['grass_display.7.0.svn'], 'D_fit_d_to_u'):
-    D_fit_d_to_u = _libs['grass_display.7.0.svn'].D_fit_d_to_u
-    D_fit_d_to_u.restype = None
-    D_fit_d_to_u.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 18
-if hasattr(_libs['grass_display.7.0.svn'], 'D_fit_u_to_d'):
-    D_fit_u_to_d = _libs['grass_display.7.0.svn'].D_fit_u_to_d
-    D_fit_u_to_d.restype = None
-    D_fit_u_to_d.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 19
-if hasattr(_libs['grass_display.7.0.svn'], 'D_show_conversions'):
-    D_show_conversions = _libs['grass_display.7.0.svn'].D_show_conversions
-    D_show_conversions.restype = None
-    D_show_conversions.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 21
-if hasattr(_libs['grass_display.7.0.svn'], 'D_do_conversions'):
-    D_do_conversions = _libs['grass_display.7.0.svn'].D_do_conversions
-    D_do_conversions.restype = None
-    D_do_conversions.argtypes = [POINTER(struct_Cell_head), c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 23
-if hasattr(_libs['grass_display.7.0.svn'], 'D_is_lat_lon'):
-    D_is_lat_lon = _libs['grass_display.7.0.svn'].D_is_lat_lon
-    D_is_lat_lon.restype = c_int
-    D_is_lat_lon.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 25
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_to_a_xconv'):
-    D_get_d_to_a_xconv = _libs['grass_display.7.0.svn'].D_get_d_to_a_xconv
-    D_get_d_to_a_xconv.restype = c_double
-    D_get_d_to_a_xconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 26
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_to_a_yconv'):
-    D_get_d_to_a_yconv = _libs['grass_display.7.0.svn'].D_get_d_to_a_yconv
-    D_get_d_to_a_yconv.restype = c_double
-    D_get_d_to_a_yconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 27
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_to_u_xconv'):
-    D_get_d_to_u_xconv = _libs['grass_display.7.0.svn'].D_get_d_to_u_xconv
-    D_get_d_to_u_xconv.restype = c_double
-    D_get_d_to_u_xconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 28
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_to_u_yconv'):
-    D_get_d_to_u_yconv = _libs['grass_display.7.0.svn'].D_get_d_to_u_yconv
-    D_get_d_to_u_yconv.restype = c_double
-    D_get_d_to_u_yconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 29
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_to_u_xconv'):
-    D_get_a_to_u_xconv = _libs['grass_display.7.0.svn'].D_get_a_to_u_xconv
-    D_get_a_to_u_xconv.restype = c_double
-    D_get_a_to_u_xconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 30
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_to_u_yconv'):
-    D_get_a_to_u_yconv = _libs['grass_display.7.0.svn'].D_get_a_to_u_yconv
-    D_get_a_to_u_yconv.restype = c_double
-    D_get_a_to_u_yconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 31
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_to_d_xconv'):
-    D_get_a_to_d_xconv = _libs['grass_display.7.0.svn'].D_get_a_to_d_xconv
-    D_get_a_to_d_xconv.restype = c_double
-    D_get_a_to_d_xconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 32
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_to_d_yconv'):
-    D_get_a_to_d_yconv = _libs['grass_display.7.0.svn'].D_get_a_to_d_yconv
-    D_get_a_to_d_yconv.restype = c_double
-    D_get_a_to_d_yconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 33
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_to_d_xconv'):
-    D_get_u_to_d_xconv = _libs['grass_display.7.0.svn'].D_get_u_to_d_xconv
-    D_get_u_to_d_xconv.restype = c_double
-    D_get_u_to_d_xconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 34
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_to_d_yconv'):
-    D_get_u_to_d_yconv = _libs['grass_display.7.0.svn'].D_get_u_to_d_yconv
-    D_get_u_to_d_yconv.restype = c_double
-    D_get_u_to_d_yconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 35
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_to_a_xconv'):
-    D_get_u_to_a_xconv = _libs['grass_display.7.0.svn'].D_get_u_to_a_xconv
-    D_get_u_to_a_xconv.restype = c_double
-    D_get_u_to_a_xconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 36
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_to_a_yconv'):
-    D_get_u_to_a_yconv = _libs['grass_display.7.0.svn'].D_get_u_to_a_yconv
-    D_get_u_to_a_yconv.restype = c_double
-    D_get_u_to_a_yconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 38
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_ns_resolution'):
-    D_get_ns_resolution = _libs['grass_display.7.0.svn'].D_get_ns_resolution
-    D_get_ns_resolution.restype = c_double
-    D_get_ns_resolution.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 39
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_ew_resolution'):
-    D_get_ew_resolution = _libs['grass_display.7.0.svn'].D_get_ew_resolution
-    D_get_ew_resolution.restype = c_double
-    D_get_ew_resolution.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 41
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_west'):
-    D_get_u_west = _libs['grass_display.7.0.svn'].D_get_u_west
-    D_get_u_west.restype = c_double
-    D_get_u_west.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 42
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_east'):
-    D_get_u_east = _libs['grass_display.7.0.svn'].D_get_u_east
-    D_get_u_east.restype = c_double
-    D_get_u_east.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 43
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_north'):
-    D_get_u_north = _libs['grass_display.7.0.svn'].D_get_u_north
-    D_get_u_north.restype = c_double
-    D_get_u_north.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 44
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_south'):
-    D_get_u_south = _libs['grass_display.7.0.svn'].D_get_u_south
-    D_get_u_south.restype = c_double
-    D_get_u_south.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 45
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_west'):
-    D_get_a_west = _libs['grass_display.7.0.svn'].D_get_a_west
-    D_get_a_west.restype = c_double
-    D_get_a_west.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 46
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_east'):
-    D_get_a_east = _libs['grass_display.7.0.svn'].D_get_a_east
-    D_get_a_east.restype = c_double
-    D_get_a_east.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 47
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_north'):
-    D_get_a_north = _libs['grass_display.7.0.svn'].D_get_a_north
-    D_get_a_north.restype = c_double
-    D_get_a_north.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 48
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_south'):
-    D_get_a_south = _libs['grass_display.7.0.svn'].D_get_a_south
-    D_get_a_south.restype = c_double
-    D_get_a_south.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 49
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_west'):
-    D_get_d_west = _libs['grass_display.7.0.svn'].D_get_d_west
-    D_get_d_west.restype = c_double
-    D_get_d_west.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 50
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_east'):
-    D_get_d_east = _libs['grass_display.7.0.svn'].D_get_d_east
-    D_get_d_east.restype = c_double
-    D_get_d_east.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 51
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_north'):
-    D_get_d_north = _libs['grass_display.7.0.svn'].D_get_d_north
-    D_get_d_north.restype = c_double
-    D_get_d_north.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 52
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_south'):
-    D_get_d_south = _libs['grass_display.7.0.svn'].D_get_d_south
-    D_get_d_south.restype = c_double
-    D_get_d_south.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 54
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_region'):
-    D_set_region = _libs['grass_display.7.0.svn'].D_set_region
-    D_set_region.restype = None
-    D_set_region.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 55
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_src'):
-    D_set_src = _libs['grass_display.7.0.svn'].D_set_src
-    D_set_src.restype = None
-    D_set_src.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 56
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_src'):
-    D_get_src = _libs['grass_display.7.0.svn'].D_get_src
-    D_get_src.restype = None
-    D_get_src.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 57
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_grid'):
-    D_set_grid = _libs['grass_display.7.0.svn'].D_set_grid
-    D_set_grid.restype = None
-    D_set_grid.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 58
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_grid'):
-    D_get_grid = _libs['grass_display.7.0.svn'].D_get_grid
-    D_get_grid.restype = None
-    D_get_grid.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 59
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_dst'):
-    D_set_dst = _libs['grass_display.7.0.svn'].D_set_dst
-    D_set_dst.restype = None
-    D_set_dst.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 60
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_dst'):
-    D_get_dst = _libs['grass_display.7.0.svn'].D_get_dst
-    D_get_dst.restype = None
-    D_get_dst.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 62
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u'):
-    D_get_u = _libs['grass_display.7.0.svn'].D_get_u
-    D_get_u.restype = None
-    D_get_u.argtypes = [(c_double * 2) * 2]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 63
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a'):
-    D_get_a = _libs['grass_display.7.0.svn'].D_get_a
-    D_get_a.restype = None
-    D_get_a.argtypes = [(c_int * 2) * 2]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 64
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d'):
-    D_get_d = _libs['grass_display.7.0.svn'].D_get_d
-    D_get_d.restype = None
-    D_get_d.argtypes = [(c_double * 2) * 2]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 66
-if hasattr(_libs['grass_display.7.0.svn'], 'D_d_to_a_row'):
-    D_d_to_a_row = _libs['grass_display.7.0.svn'].D_d_to_a_row
-    D_d_to_a_row.restype = c_double
-    D_d_to_a_row.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 67
-if hasattr(_libs['grass_display.7.0.svn'], 'D_d_to_a_col'):
-    D_d_to_a_col = _libs['grass_display.7.0.svn'].D_d_to_a_col
-    D_d_to_a_col.restype = c_double
-    D_d_to_a_col.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 68
-if hasattr(_libs['grass_display.7.0.svn'], 'D_d_to_u_row'):
-    D_d_to_u_row = _libs['grass_display.7.0.svn'].D_d_to_u_row
-    D_d_to_u_row.restype = c_double
-    D_d_to_u_row.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 69
-if hasattr(_libs['grass_display.7.0.svn'], 'D_d_to_u_col'):
-    D_d_to_u_col = _libs['grass_display.7.0.svn'].D_d_to_u_col
-    D_d_to_u_col.restype = c_double
-    D_d_to_u_col.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 70
-if hasattr(_libs['grass_display.7.0.svn'], 'D_a_to_u_row'):
-    D_a_to_u_row = _libs['grass_display.7.0.svn'].D_a_to_u_row
-    D_a_to_u_row.restype = c_double
-    D_a_to_u_row.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 71
-if hasattr(_libs['grass_display.7.0.svn'], 'D_a_to_u_col'):
-    D_a_to_u_col = _libs['grass_display.7.0.svn'].D_a_to_u_col
-    D_a_to_u_col.restype = c_double
-    D_a_to_u_col.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 72
-if hasattr(_libs['grass_display.7.0.svn'], 'D_a_to_d_row'):
-    D_a_to_d_row = _libs['grass_display.7.0.svn'].D_a_to_d_row
-    D_a_to_d_row.restype = c_double
-    D_a_to_d_row.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 73
-if hasattr(_libs['grass_display.7.0.svn'], 'D_a_to_d_col'):
-    D_a_to_d_col = _libs['grass_display.7.0.svn'].D_a_to_d_col
-    D_a_to_d_col.restype = c_double
-    D_a_to_d_col.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 74
-if hasattr(_libs['grass_display.7.0.svn'], 'D_u_to_d_row'):
-    D_u_to_d_row = _libs['grass_display.7.0.svn'].D_u_to_d_row
-    D_u_to_d_row.restype = c_double
-    D_u_to_d_row.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 75
-if hasattr(_libs['grass_display.7.0.svn'], 'D_u_to_d_col'):
-    D_u_to_d_col = _libs['grass_display.7.0.svn'].D_u_to_d_col
-    D_u_to_d_col.restype = c_double
-    D_u_to_d_col.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 76
-if hasattr(_libs['grass_display.7.0.svn'], 'D_u_to_a_row'):
-    D_u_to_a_row = _libs['grass_display.7.0.svn'].D_u_to_a_row
-    D_u_to_a_row.restype = c_double
-    D_u_to_a_row.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 77
-if hasattr(_libs['grass_display.7.0.svn'], 'D_u_to_a_col'):
-    D_u_to_a_col = _libs['grass_display.7.0.svn'].D_u_to_a_col
-    D_u_to_a_col.restype = c_double
-    D_u_to_a_col.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 81
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_clip'):
-    D_set_clip = _libs['grass_display.7.0.svn'].D_set_clip
-    D_set_clip.restype = None
-    D_set_clip.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 82
-if hasattr(_libs['grass_display.7.0.svn'], 'D_clip_to_map'):
-    D_clip_to_map = _libs['grass_display.7.0.svn'].D_clip_to_map
-    D_clip_to_map.restype = None
-    D_clip_to_map.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 83
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_clip_mode'):
-    D_set_clip_mode = _libs['grass_display.7.0.svn'].D_set_clip_mode
-    D_set_clip_mode.restype = None
-    D_set_clip_mode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 84
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_reduction'):
-    D_set_reduction = _libs['grass_display.7.0.svn'].D_set_reduction
-    D_set_reduction.restype = None
-    D_set_reduction.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 86
-if hasattr(_libs['grass_display.7.0.svn'], 'D_line_width'):
-    D_line_width = _libs['grass_display.7.0.svn'].D_line_width
-    D_line_width.restype = None
-    D_line_width.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 87
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_text_box'):
-    D_get_text_box = _libs['grass_display.7.0.svn'].D_get_text_box
-    D_get_text_box.restype = None
-    D_get_text_box.argtypes = [String, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 89
-if hasattr(_libs['grass_display.7.0.svn'], 'D_pos_abs'):
-    D_pos_abs = _libs['grass_display.7.0.svn'].D_pos_abs
-    D_pos_abs.restype = None
-    D_pos_abs.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 90
-if hasattr(_libs['grass_display.7.0.svn'], 'D_pos_rel'):
-    D_pos_rel = _libs['grass_display.7.0.svn'].D_pos_rel
-    D_pos_rel.restype = None
-    D_pos_rel.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 91
-if hasattr(_libs['grass_display.7.0.svn'], 'D_move_abs'):
-    D_move_abs = _libs['grass_display.7.0.svn'].D_move_abs
-    D_move_abs.restype = None
-    D_move_abs.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 92
-if hasattr(_libs['grass_display.7.0.svn'], 'D_move_rel'):
-    D_move_rel = _libs['grass_display.7.0.svn'].D_move_rel
-    D_move_rel.restype = None
-    D_move_rel.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 93
-if hasattr(_libs['grass_display.7.0.svn'], 'D_cont_abs'):
-    D_cont_abs = _libs['grass_display.7.0.svn'].D_cont_abs
-    D_cont_abs.restype = None
-    D_cont_abs.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 94
-if hasattr(_libs['grass_display.7.0.svn'], 'D_cont_rel'):
-    D_cont_rel = _libs['grass_display.7.0.svn'].D_cont_rel
-    D_cont_rel.restype = None
-    D_cont_rel.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 95
-if hasattr(_libs['grass_display.7.0.svn'], 'D_line_abs'):
-    D_line_abs = _libs['grass_display.7.0.svn'].D_line_abs
-    D_line_abs.restype = None
-    D_line_abs.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 96
-if hasattr(_libs['grass_display.7.0.svn'], 'D_line_rel'):
-    D_line_rel = _libs['grass_display.7.0.svn'].D_line_rel
-    D_line_rel.restype = None
-    D_line_rel.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 97
-if hasattr(_libs['grass_display.7.0.svn'], 'D_polydots_abs'):
-    D_polydots_abs = _libs['grass_display.7.0.svn'].D_polydots_abs
-    D_polydots_abs.restype = None
-    D_polydots_abs.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 98
-if hasattr(_libs['grass_display.7.0.svn'], 'D_polydots_rel'):
-    D_polydots_rel = _libs['grass_display.7.0.svn'].D_polydots_rel
-    D_polydots_rel.restype = None
-    D_polydots_rel.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 99
-if hasattr(_libs['grass_display.7.0.svn'], 'D_polyline_abs'):
-    D_polyline_abs = _libs['grass_display.7.0.svn'].D_polyline_abs
-    D_polyline_abs.restype = None
-    D_polyline_abs.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 100
-if hasattr(_libs['grass_display.7.0.svn'], 'D_polyline_rel'):
-    D_polyline_rel = _libs['grass_display.7.0.svn'].D_polyline_rel
-    D_polyline_rel.restype = None
-    D_polyline_rel.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 101
-if hasattr(_libs['grass_display.7.0.svn'], 'D_polygon_abs'):
-    D_polygon_abs = _libs['grass_display.7.0.svn'].D_polygon_abs
-    D_polygon_abs.restype = None
-    D_polygon_abs.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 102
-if hasattr(_libs['grass_display.7.0.svn'], 'D_polygon_rel'):
-    D_polygon_rel = _libs['grass_display.7.0.svn'].D_polygon_rel
-    D_polygon_rel.restype = None
-    D_polygon_rel.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 103
-if hasattr(_libs['grass_display.7.0.svn'], 'D_box_abs'):
-    D_box_abs = _libs['grass_display.7.0.svn'].D_box_abs
-    D_box_abs.restype = None
-    D_box_abs.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 104
-if hasattr(_libs['grass_display.7.0.svn'], 'D_box_rel'):
-    D_box_rel = _libs['grass_display.7.0.svn'].D_box_rel
-    D_box_rel.restype = None
-    D_box_rel.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 106
-if hasattr(_libs['grass_display.7.0.svn'], 'D_begin'):
-    D_begin = _libs['grass_display.7.0.svn'].D_begin
-    D_begin.restype = None
-    D_begin.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 107
-if hasattr(_libs['grass_display.7.0.svn'], 'D_end'):
-    D_end = _libs['grass_display.7.0.svn'].D_end
-    D_end.restype = None
-    D_end.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 108
-if hasattr(_libs['grass_display.7.0.svn'], 'D_close'):
-    D_close = _libs['grass_display.7.0.svn'].D_close
-    D_close.restype = None
-    D_close.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 109
-if hasattr(_libs['grass_display.7.0.svn'], 'D_stroke'):
-    D_stroke = _libs['grass_display.7.0.svn'].D_stroke
-    D_stroke.restype = None
-    D_stroke.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 110
-if hasattr(_libs['grass_display.7.0.svn'], 'D_fill'):
-    D_fill = _libs['grass_display.7.0.svn'].D_fill
-    D_fill.restype = None
-    D_fill.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 111
-if hasattr(_libs['grass_display.7.0.svn'], 'D_dots'):
-    D_dots = _libs['grass_display.7.0.svn'].D_dots
-    D_dots.restype = None
-    D_dots.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 114
-if hasattr(_libs['grass_display.7.0.svn'], 'D_plot_icon'):
-    D_plot_icon = _libs['grass_display.7.0.svn'].D_plot_icon
-    D_plot_icon.restype = None
-    D_plot_icon.argtypes = [c_double, c_double, c_int, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 117
-if hasattr(_libs['grass_display.7.0.svn'], 'D_draw_raster'):
-    D_draw_raster = _libs['grass_display.7.0.svn'].D_draw_raster
-    D_draw_raster.restype = c_int
-    D_draw_raster.argtypes = [c_int, POINTER(None), POINTER(struct_Colors), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 118
-if hasattr(_libs['grass_display.7.0.svn'], 'D_draw_d_raster'):
-    D_draw_d_raster = _libs['grass_display.7.0.svn'].D_draw_d_raster
-    D_draw_d_raster.restype = c_int
-    D_draw_d_raster.argtypes = [c_int, POINTER(DCELL), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 119
-if hasattr(_libs['grass_display.7.0.svn'], 'D_draw_f_raster'):
-    D_draw_f_raster = _libs['grass_display.7.0.svn'].D_draw_f_raster
-    D_draw_f_raster.restype = c_int
-    D_draw_f_raster.argtypes = [c_int, POINTER(FCELL), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 120
-if hasattr(_libs['grass_display.7.0.svn'], 'D_draw_c_raster'):
-    D_draw_c_raster = _libs['grass_display.7.0.svn'].D_draw_c_raster
-    D_draw_c_raster.restype = c_int
-    D_draw_c_raster.argtypes = [c_int, POINTER(CELL), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 121
-if hasattr(_libs['grass_display.7.0.svn'], 'D_draw_cell'):
-    D_draw_cell = _libs['grass_display.7.0.svn'].D_draw_cell
-    D_draw_cell.restype = c_int
-    D_draw_cell.argtypes = [c_int, POINTER(CELL), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 122
-if hasattr(_libs['grass_display.7.0.svn'], 'D_cell_draw_begin'):
-    D_cell_draw_begin = _libs['grass_display.7.0.svn'].D_cell_draw_begin
-    D_cell_draw_begin.restype = None
-    D_cell_draw_begin.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 123
-if hasattr(_libs['grass_display.7.0.svn'], 'D_draw_raster_RGB'):
-    D_draw_raster_RGB = _libs['grass_display.7.0.svn'].D_draw_raster_RGB
-    D_draw_raster_RGB.restype = c_int
-    D_draw_raster_RGB.argtypes = [c_int, POINTER(None), POINTER(None), POINTER(None), POINTER(struct_Colors), POINTER(struct_Colors), POINTER(struct_Colors), RASTER_MAP_TYPE, RASTER_MAP_TYPE, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 126
-if hasattr(_libs['grass_display.7.0.svn'], 'D_cell_draw_end'):
-    D_cell_draw_end = _libs['grass_display.7.0.svn'].D_cell_draw_end
-    D_cell_draw_end.restype = None
-    D_cell_draw_end.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 129
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_overlay_mode'):
-    D_set_overlay_mode = _libs['grass_display.7.0.svn'].D_set_overlay_mode
-    D_set_overlay_mode.restype = c_int
-    D_set_overlay_mode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 130
-if hasattr(_libs['grass_display.7.0.svn'], 'D_color'):
-    D_color = _libs['grass_display.7.0.svn'].D_color
-    D_color.restype = c_int
-    D_color.argtypes = [CELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 131
-if hasattr(_libs['grass_display.7.0.svn'], 'D_c_color'):
-    D_c_color = _libs['grass_display.7.0.svn'].D_c_color
-    D_c_color.restype = c_int
-    D_c_color.argtypes = [CELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 132
-if hasattr(_libs['grass_display.7.0.svn'], 'D_d_color'):
-    D_d_color = _libs['grass_display.7.0.svn'].D_d_color
-    D_d_color.restype = c_int
-    D_d_color.argtypes = [DCELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 133
-if hasattr(_libs['grass_display.7.0.svn'], 'D_f_color'):
-    D_f_color = _libs['grass_display.7.0.svn'].D_f_color
-    D_f_color.restype = c_int
-    D_f_color.argtypes = [FCELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 134
-if hasattr(_libs['grass_display.7.0.svn'], 'D_color_of_type'):
-    D_color_of_type = _libs['grass_display.7.0.svn'].D_color_of_type
-    D_color_of_type.restype = c_int
-    D_color_of_type.argtypes = [POINTER(None), POINTER(struct_Colors), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 137
-if hasattr(_libs['grass_display.7.0.svn'], 'D_setup'):
-    D_setup = _libs['grass_display.7.0.svn'].D_setup
-    D_setup.restype = None
-    D_setup.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 138
-if hasattr(_libs['grass_display.7.0.svn'], 'D_setup_unity'):
-    D_setup_unity = _libs['grass_display.7.0.svn'].D_setup_unity
-    D_setup_unity.restype = None
-    D_setup_unity.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 139
-if hasattr(_libs['grass_display.7.0.svn'], 'D_setup2'):
-    D_setup2 = _libs['grass_display.7.0.svn'].D_setup2
-    D_setup2.restype = None
-    D_setup2.argtypes = [c_int, c_int, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 142
-if hasattr(_libs['grass_display.7.0.svn'], 'D_symbol'):
-    D_symbol = _libs['grass_display.7.0.svn'].D_symbol
-    D_symbol.restype = None
-    D_symbol.argtypes = [POINTER(SYMBOL), c_double, c_double, POINTER(RGBA_Color), POINTER(RGBA_Color)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 144
-if hasattr(_libs['grass_display.7.0.svn'], 'D_symbol2'):
-    D_symbol2 = _libs['grass_display.7.0.svn'].D_symbol2
-    D_symbol2.restype = None
-    D_symbol2.argtypes = [POINTER(SYMBOL), c_double, c_double, POINTER(RGBA_Color), POINTER(RGBA_Color)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 148
-if hasattr(_libs['grass_display.7.0.svn'], 'D_translate_color'):
-    D_translate_color = _libs['grass_display.7.0.svn'].D_translate_color
-    D_translate_color.restype = c_int
-    D_translate_color.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 149
-if hasattr(_libs['grass_display.7.0.svn'], 'D_parse_color'):
-    D_parse_color = _libs['grass_display.7.0.svn'].D_parse_color
-    D_parse_color.restype = c_int
-    D_parse_color.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 150
-if hasattr(_libs['grass_display.7.0.svn'], 'D_use_color'):
-    D_use_color = _libs['grass_display.7.0.svn'].D_use_color
-    D_use_color.restype = c_int
-    D_use_color.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 151
-if hasattr(_libs['grass_display.7.0.svn'], 'D_color_number_to_RGB'):
-    D_color_number_to_RGB = _libs['grass_display.7.0.svn'].D_color_number_to_RGB
-    D_color_number_to_RGB.restype = c_int
-    D_color_number_to_RGB.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 152
-if hasattr(_libs['grass_display.7.0.svn'], 'D_RGB_color'):
-    D_RGB_color = _libs['grass_display.7.0.svn'].D_RGB_color
-    D_RGB_color.restype = None
-    D_RGB_color.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 155
-if hasattr(_libs['grass_display.7.0.svn'], 'D_erase'):
-    D_erase = _libs['grass_display.7.0.svn'].D_erase
-    D_erase.restype = None
-    D_erase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 159
-if hasattr(_libs['grass_display.7.0.svn'], 'D_open_driver'):
-    D_open_driver = _libs['grass_display.7.0.svn'].D_open_driver
-    D_open_driver.restype = c_int
-    D_open_driver.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 160
-if hasattr(_libs['grass_display.7.0.svn'], 'D_close_driver'):
-    D_close_driver = _libs['grass_display.7.0.svn'].D_close_driver
-    D_close_driver.restype = None
-    D_close_driver.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 161
-if hasattr(_libs['grass_display.7.0.svn'], 'D_save_command'):
-    D_save_command = _libs['grass_display.7.0.svn'].D_save_command
-    D_save_command.restype = c_int
-    D_save_command.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 163
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_window'):
-    D_get_window = _libs['grass_display.7.0.svn'].D_get_window
-    D_get_window.restype = None
-    D_get_window.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 165
-if hasattr(_libs['grass_display.7.0.svn'], 'D__erase'):
-    D__erase = _libs['grass_display.7.0.svn'].D__erase
-    D__erase.restype = None
-    D__erase.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 167
-if hasattr(_libs['grass_display.7.0.svn'], 'D_text_size'):
-    D_text_size = _libs['grass_display.7.0.svn'].D_text_size
-    D_text_size.restype = None
-    D_text_size.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 168
-if hasattr(_libs['grass_display.7.0.svn'], 'D_text_rotation'):
-    D_text_rotation = _libs['grass_display.7.0.svn'].D_text_rotation
-    D_text_rotation.restype = None
-    D_text_rotation.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 169
-if hasattr(_libs['grass_display.7.0.svn'], 'D_text'):
-    D_text = _libs['grass_display.7.0.svn'].D_text
-    D_text.restype = None
-    D_text.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 171
-if hasattr(_libs['grass_display.7.0.svn'], 'D_font'):
-    D_font = _libs['grass_display.7.0.svn'].D_font
-    D_font.restype = None
-    D_font.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 172
-if hasattr(_libs['grass_display.7.0.svn'], 'D_encoding'):
-    D_encoding = _libs['grass_display.7.0.svn'].D_encoding
-    D_encoding.restype = None
-    D_encoding.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 173
-if hasattr(_libs['grass_display.7.0.svn'], 'D_font_list'):
-    D_font_list = _libs['grass_display.7.0.svn'].D_font_list
-    D_font_list.restype = None
-    D_font_list.argtypes = [POINTER(POINTER(POINTER(c_char))), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 174
-if hasattr(_libs['grass_display.7.0.svn'], 'D_font_info'):
-    D_font_info = _libs['grass_display.7.0.svn'].D_font_info
-    D_font_info.restype = None
-    D_font_info.argtypes = [POINTER(POINTER(POINTER(c_char))), POINTER(c_int)]
-
-# No inserted files
-
diff --git a/lib/python/ctypes/g3d.py b/lib/python/ctypes/g3d.py
deleted file mode 100644
index 3fb514b..0000000
--- a/lib/python/ctypes/g3d.py
+++ /dev/null
@@ -1,2842 +0,0 @@
-'''Wrapper for G3d.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_g3d.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h -o g3d.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_g3d.7.0.svn"] = load_library("grass_g3d.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-NULL = None # <built-in>
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 271
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 325
-class struct_Key_Value(Structure):
-    pass
-
-struct_Key_Value.__slots__ = [
-    'nitems',
-    'nalloc',
-    'key',
-    'value',
-]
-struct_Key_Value._fields_ = [
-    ('nitems', c_int),
-    ('nalloc', c_int),
-    ('key', POINTER(POINTER(c_char))),
-    ('value', POINTER(POINTER(c_char))),
-]
-
-CELL = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 400
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 401
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 404
-class struct__Color_Value_(Structure):
-    pass
-
-struct__Color_Value_.__slots__ = [
-    'value',
-    'red',
-    'grn',
-    'blu',
-]
-struct__Color_Value_._fields_ = [
-    ('value', DCELL),
-    ('red', c_ubyte),
-    ('grn', c_ubyte),
-    ('blu', c_ubyte),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 412
-class struct__Color_Rule_(Structure):
-    pass
-
-struct__Color_Rule_.__slots__ = [
-    'low',
-    'high',
-    'next',
-    'prev',
-]
-struct__Color_Rule_._fields_ = [
-    ('low', struct__Color_Value_),
-    ('high', struct__Color_Value_),
-    ('next', POINTER(struct__Color_Rule_)),
-    ('prev', POINTER(struct__Color_Rule_)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 424
-class struct_anon_8(Structure):
-    pass
-
-struct_anon_8.__slots__ = [
-    'red',
-    'grn',
-    'blu',
-    'set',
-    'nalloc',
-    'active',
-]
-struct_anon_8._fields_ = [
-    ('red', POINTER(c_ubyte)),
-    ('grn', POINTER(c_ubyte)),
-    ('blu', POINTER(c_ubyte)),
-    ('set', POINTER(c_ubyte)),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 434
-class struct_anon_9(Structure):
-    pass
-
-struct_anon_9.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-]
-struct_anon_9._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct__Color_Rule_))),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 419
-class struct__Color_Info_(Structure):
-    pass
-
-struct__Color_Info_.__slots__ = [
-    'rules',
-    'n_rules',
-    'lookup',
-    'fp_lookup',
-    'min',
-    'max',
-]
-struct__Color_Info_._fields_ = [
-    ('rules', POINTER(struct__Color_Rule_)),
-    ('n_rules', c_int),
-    ('lookup', struct_anon_8),
-    ('fp_lookup', struct_anon_9),
-    ('min', DCELL),
-    ('max', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 446
-class struct_Colors(Structure):
-    pass
-
-struct_Colors.__slots__ = [
-    'version',
-    'shift',
-    'invert',
-    'is_float',
-    'null_set',
-    'null_red',
-    'null_grn',
-    'null_blu',
-    'undef_set',
-    'undef_red',
-    'undef_grn',
-    'undef_blu',
-    'fixed',
-    'modular',
-    'cmin',
-    'cmax',
-    'organizing',
-]
-struct_Colors._fields_ = [
-    ('version', c_int),
-    ('shift', DCELL),
-    ('invert', c_int),
-    ('is_float', c_int),
-    ('null_set', c_int),
-    ('null_red', c_ubyte),
-    ('null_grn', c_ubyte),
-    ('null_blu', c_ubyte),
-    ('undef_set', c_int),
-    ('undef_red', c_ubyte),
-    ('undef_grn', c_ubyte),
-    ('undef_blu', c_ubyte),
-    ('fixed', struct__Color_Info_),
-    ('modular', struct__Color_Info_),
-    ('cmin', DCELL),
-    ('cmax', DCELL),
-    ('organizing', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 73
-class struct_Quant_table(Structure):
-    pass
-
-struct_Quant_table.__slots__ = [
-    'dLow',
-    'dHigh',
-    'cLow',
-    'cHigh',
-]
-struct_Quant_table._fields_ = [
-    ('dLow', DCELL),
-    ('dHigh', DCELL),
-    ('cLow', CELL),
-    ('cHigh', CELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 106
-class struct_anon_23(Structure):
-    pass
-
-struct_anon_23.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-    'inf_dmin',
-    'inf_dmax',
-    'inf_min',
-    'inf_max',
-]
-struct_anon_23._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct_Quant_table))),
-    ('nalloc', c_int),
-    ('active', c_int),
-    ('inf_dmin', DCELL),
-    ('inf_dmax', DCELL),
-    ('inf_min', CELL),
-    ('inf_max', CELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 81
-class struct_Quant(Structure):
-    pass
-
-struct_Quant.__slots__ = [
-    'truncate_only',
-    'round_only',
-    'defaultDRuleSet',
-    'defaultCRuleSet',
-    'infiniteLeftSet',
-    'infiniteRightSet',
-    'cRangeSet',
-    'maxNofRules',
-    'nofRules',
-    'defaultDMin',
-    'defaultDMax',
-    'defaultCMin',
-    'defaultCMax',
-    'infiniteDLeft',
-    'infiniteDRight',
-    'infiniteCLeft',
-    'infiniteCRight',
-    'dMin',
-    'dMax',
-    'cMin',
-    'cMax',
-    'table',
-    'fp_lookup',
-]
-struct_Quant._fields_ = [
-    ('truncate_only', c_int),
-    ('round_only', c_int),
-    ('defaultDRuleSet', c_int),
-    ('defaultCRuleSet', c_int),
-    ('infiniteLeftSet', c_int),
-    ('infiniteRightSet', c_int),
-    ('cRangeSet', c_int),
-    ('maxNofRules', c_int),
-    ('nofRules', c_int),
-    ('defaultDMin', DCELL),
-    ('defaultDMax', DCELL),
-    ('defaultCMin', CELL),
-    ('defaultCMax', CELL),
-    ('infiniteDLeft', DCELL),
-    ('infiniteDRight', DCELL),
-    ('infiniteCLeft', CELL),
-    ('infiniteCRight', CELL),
-    ('dMin', DCELL),
-    ('dMax', DCELL),
-    ('cMin', CELL),
-    ('cMax', CELL),
-    ('table', POINTER(struct_Quant_table)),
-    ('fp_lookup', struct_anon_23),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 124
-class struct_Categories(Structure):
-    pass
-
-struct_Categories.__slots__ = [
-    'ncats',
-    'num',
-    'title',
-    'fmt',
-    'm1',
-    'a1',
-    'm2',
-    'a2',
-    'q',
-    'labels',
-    'marks',
-    'nalloc',
-    'last_marked_rule',
-]
-struct_Categories._fields_ = [
-    ('ncats', CELL),
-    ('num', CELL),
-    ('title', String),
-    ('fmt', String),
-    ('m1', c_float),
-    ('a1', c_float),
-    ('m2', c_float),
-    ('a2', c_float),
-    ('q', struct_Quant),
-    ('labels', POINTER(POINTER(c_char))),
-    ('marks', POINTER(c_int)),
-    ('nalloc', c_int),
-    ('last_marked_rule', c_int),
-]
-
-HIST_MAPID = 0 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_TITLE = (HIST_MAPID + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_MAPSET = (HIST_TITLE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_CREATOR = (HIST_MAPSET + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_MAPTYPE = (HIST_CREATOR + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_DATSRC_1 = (HIST_MAPTYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_DATSRC_2 = (HIST_DATSRC_1 + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_KEYWRD = (HIST_DATSRC_2 + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_NUM_FIELDS = (HIST_KEYWRD + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 164
-class struct_History(Structure):
-    pass
-
-struct_History.__slots__ = [
-    'fields',
-    'nlines',
-    'lines',
-]
-struct_History._fields_ = [
-    ('fields', POINTER(c_char) * HIST_NUM_FIELDS),
-    ('nlines', c_int),
-    ('lines', POINTER(POINTER(c_char))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 206
-class struct_FPRange(Structure):
-    pass
-
-struct_FPRange.__slots__ = [
-    'min',
-    'max',
-    'first_time',
-]
-struct_FPRange._fields_ = [
-    ('min', DCELL),
-    ('max', DCELL),
-    ('first_time', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 63
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-    'rows',
-    'cols',
-    'depths',
-    'ns_res',
-    'ew_res',
-    'tb_res',
-    'proj',
-    'zone',
-]
-struct_anon_25._fields_ = [
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-    ('rows', c_int),
-    ('cols', c_int),
-    ('depths', c_int),
-    ('ns_res', c_double),
-    ('ew_res', c_double),
-    ('tb_res', c_double),
-    ('proj', c_int),
-    ('zone', c_int),
-]
-
-G3D_Region = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 63
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 73
-class struct_G3D_Map(Structure):
-    pass
-
-resample_fn = CFUNCTYPE(UNCHECKED(None), POINTER(struct_G3D_Map), c_int, c_int, c_int, POINTER(None), c_int) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 69
-
-struct_G3D_Map.__slots__ = [
-    'fileName',
-    'tempName',
-    'mapset',
-    'operation',
-    'region',
-    'window',
-    'resampleFun',
-    'unit',
-    'tileX',
-    'tileY',
-    'tileZ',
-    'nx',
-    'ny',
-    'nz',
-    'data_fd',
-    'type',
-    'precision',
-    'compression',
-    'useLzw',
-    'useRle',
-    'useXdr',
-    'offset',
-    'indexOffset',
-    'indexLongNbytes',
-    'indexNbytesUsed',
-    'fileEndPtr',
-    'hasIndex',
-    'index',
-    'tileLength',
-    'typeIntern',
-    'data',
-    'currentIndex',
-    'useCache',
-    'cache',
-    'cacheFD',
-    'cacheFileName',
-    'cachePosLast',
-    'range',
-    'numLengthExtern',
-    'numLengthIntern',
-    'clipX',
-    'clipY',
-    'clipZ',
-    'tileXY',
-    'tileSize',
-    'nxy',
-    'nTiles',
-    'useMask',
-]
-struct_G3D_Map._fields_ = [
-    ('fileName', String),
-    ('tempName', String),
-    ('mapset', String),
-    ('operation', c_int),
-    ('region', G3D_Region),
-    ('window', G3D_Region),
-    ('resampleFun', POINTER(resample_fn)),
-    ('unit', String),
-    ('tileX', c_int),
-    ('tileY', c_int),
-    ('tileZ', c_int),
-    ('nx', c_int),
-    ('ny', c_int),
-    ('nz', c_int),
-    ('data_fd', c_int),
-    ('type', c_int),
-    ('precision', c_int),
-    ('compression', c_int),
-    ('useLzw', c_int),
-    ('useRle', c_int),
-    ('useXdr', c_int),
-    ('offset', c_int),
-    ('indexOffset', c_long),
-    ('indexLongNbytes', c_int),
-    ('indexNbytesUsed', c_int),
-    ('fileEndPtr', c_int),
-    ('hasIndex', c_int),
-    ('index', POINTER(c_long)),
-    ('tileLength', POINTER(c_int)),
-    ('typeIntern', c_int),
-    ('data', String),
-    ('currentIndex', c_int),
-    ('useCache', c_int),
-    ('cache', POINTER(None)),
-    ('cacheFD', c_int),
-    ('cacheFileName', String),
-    ('cachePosLast', c_long),
-    ('range', struct_FPRange),
-    ('numLengthExtern', c_int),
-    ('numLengthIntern', c_int),
-    ('clipX', c_int),
-    ('clipY', c_int),
-    ('clipZ', c_int),
-    ('tileXY', c_int),
-    ('tileSize', c_int),
-    ('nxy', c_int),
-    ('nTiles', c_int),
-    ('useMask', c_int),
-]
-
-G3D_Map = struct_G3D_Map # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 185
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 220
-class struct_anon_26(Structure):
-    pass
-
-struct_anon_26.__slots__ = [
-    'elts',
-    'nofElts',
-    'eltSize',
-    'names',
-    'locks',
-    'autoLock',
-    'nofUnlocked',
-    'minUnlocked',
-    'next',
-    'prev',
-    'first',
-    'last',
-    'eltRemoveFun',
-    'eltRemoveFunData',
-    'eltLoadFun',
-    'eltLoadFunData',
-    'hash',
-]
-struct_anon_26._fields_ = [
-    ('elts', String),
-    ('nofElts', c_int),
-    ('eltSize', c_int),
-    ('names', POINTER(c_int)),
-    ('locks', String),
-    ('autoLock', c_int),
-    ('nofUnlocked', c_int),
-    ('minUnlocked', c_int),
-    ('next', POINTER(c_int)),
-    ('prev', POINTER(c_int)),
-    ('first', c_int),
-    ('last', c_int),
-    ('eltRemoveFun', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('eltRemoveFunData', POINTER(None)),
-    ('eltLoadFun', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('eltLoadFunData', POINTER(None)),
-    ('hash', POINTER(None)),
-]
-
-G3D_cache = struct_anon_26 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 220
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 234
-class struct_anon_27(Structure):
-    pass
-
-struct_anon_27.__slots__ = [
-    'nofNames',
-    'index',
-    'active',
-    'lastName',
-    'lastIndex',
-    'lastIndexActive',
-]
-struct_anon_27._fields_ = [
-    ('nofNames', c_int),
-    ('index', POINTER(c_int)),
-    ('active', String),
-    ('lastName', c_int),
-    ('lastIndex', c_int),
-    ('lastIndexActive', c_int),
-]
-
-G3d_cache_hash = struct_anon_27 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 234
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 239
-class struct__d_interval(Structure):
-    pass
-
-struct__d_interval.__slots__ = [
-    'low',
-    'high',
-    'inf',
-    'next',
-]
-struct__d_interval._fields_ = [
-    ('low', c_double),
-    ('high', c_double),
-    ('inf', c_int),
-    ('next', POINTER(struct__d_interval)),
-]
-
-d_Interval = struct__d_interval # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 244
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 249
-class struct__d_mask(Structure):
-    pass
-
-struct__d_mask.__slots__ = [
-    'list',
-]
-struct__d_mask._fields_ = [
-    ('list', POINTER(d_Interval)),
-]
-
-d_Mask = struct__d_mask # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 249
-
-write_fn = CFUNCTYPE(UNCHECKED(c_int), c_int, POINTER(None), POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 253
-
-read_fn = CFUNCTYPE(UNCHECKED(c_int), c_int, POINTER(None), POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 254
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 259
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_reset'):
-    G3d_cache_reset = _libs['grass_g3d.7.0.svn'].G3d_cache_reset
-    G3d_cache_reset.restype = None
-    G3d_cache_reset.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 260
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_dispose'):
-    G3d_cache_dispose = _libs['grass_g3d.7.0.svn'].G3d_cache_dispose
-    G3d_cache_dispose.restype = None
-    G3d_cache_dispose.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 261
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_new'):
-    G3d_cache_new = _libs['grass_g3d.7.0.svn'].G3d_cache_new
-    G3d_cache_new.restype = POINTER(None)
-    G3d_cache_new.argtypes = [c_int, c_int, c_int, POINTER(write_fn), POINTER(None), POINTER(read_fn), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 262
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_set_removeFun'):
-    G3d_cache_set_removeFun = _libs['grass_g3d.7.0.svn'].G3d_cache_set_removeFun
-    G3d_cache_set_removeFun.restype = None
-    G3d_cache_set_removeFun.argtypes = [POINTER(G3D_cache), POINTER(write_fn), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 263
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_set_loadFun'):
-    G3d_cache_set_loadFun = _libs['grass_g3d.7.0.svn'].G3d_cache_set_loadFun
-    G3d_cache_set_loadFun.restype = None
-    G3d_cache_set_loadFun.argtypes = [POINTER(G3D_cache), POINTER(read_fn), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 264
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_new_read'):
-    G3d_cache_new_read = _libs['grass_g3d.7.0.svn'].G3d_cache_new_read
-    G3d_cache_new_read.restype = POINTER(None)
-    G3d_cache_new_read.argtypes = [c_int, c_int, c_int, POINTER(read_fn), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 265
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_lock'):
-    G3d_cache_lock = _libs['grass_g3d.7.0.svn'].G3d_cache_lock
-    G3d_cache_lock.restype = c_int
-    G3d_cache_lock.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 266
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_lock_intern'):
-    G3d_cache_lock_intern = _libs['grass_g3d.7.0.svn'].G3d_cache_lock_intern
-    G3d_cache_lock_intern.restype = None
-    G3d_cache_lock_intern.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 267
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_unlock'):
-    G3d_cache_unlock = _libs['grass_g3d.7.0.svn'].G3d_cache_unlock
-    G3d_cache_unlock.restype = c_int
-    G3d_cache_unlock.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 268
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_unlock_all'):
-    G3d_cache_unlock_all = _libs['grass_g3d.7.0.svn'].G3d_cache_unlock_all
-    G3d_cache_unlock_all.restype = c_int
-    G3d_cache_unlock_all.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 269
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_lock_all'):
-    G3d_cache_lock_all = _libs['grass_g3d.7.0.svn'].G3d_cache_lock_all
-    G3d_cache_lock_all.restype = c_int
-    G3d_cache_lock_all.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 270
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_autolock_on'):
-    G3d_cache_autolock_on = _libs['grass_g3d.7.0.svn'].G3d_cache_autolock_on
-    G3d_cache_autolock_on.restype = None
-    G3d_cache_autolock_on.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 271
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_autolock_off'):
-    G3d_cache_autolock_off = _libs['grass_g3d.7.0.svn'].G3d_cache_autolock_off
-    G3d_cache_autolock_off.restype = None
-    G3d_cache_autolock_off.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 272
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_set_minUnlock'):
-    G3d_cache_set_minUnlock = _libs['grass_g3d.7.0.svn'].G3d_cache_set_minUnlock
-    G3d_cache_set_minUnlock.restype = None
-    G3d_cache_set_minUnlock.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 273
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_remove_elt'):
-    G3d_cache_remove_elt = _libs['grass_g3d.7.0.svn'].G3d_cache_remove_elt
-    G3d_cache_remove_elt.restype = c_int
-    G3d_cache_remove_elt.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 274
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_flush'):
-    G3d_cache_flush = _libs['grass_g3d.7.0.svn'].G3d_cache_flush
-    G3d_cache_flush.restype = c_int
-    G3d_cache_flush.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 275
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_remove_all'):
-    G3d_cache_remove_all = _libs['grass_g3d.7.0.svn'].G3d_cache_remove_all
-    G3d_cache_remove_all.restype = c_int
-    G3d_cache_remove_all.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 276
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_flush_all'):
-    G3d_cache_flush_all = _libs['grass_g3d.7.0.svn'].G3d_cache_flush_all
-    G3d_cache_flush_all.restype = c_int
-    G3d_cache_flush_all.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 277
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_elt_ptr'):
-    G3d_cache_elt_ptr = _libs['grass_g3d.7.0.svn'].G3d_cache_elt_ptr
-    G3d_cache_elt_ptr.restype = POINTER(None)
-    G3d_cache_elt_ptr.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 278
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_load'):
-    G3d_cache_load = _libs['grass_g3d.7.0.svn'].G3d_cache_load
-    G3d_cache_load.restype = c_int
-    G3d_cache_load.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 279
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_get_elt'):
-    G3d_cache_get_elt = _libs['grass_g3d.7.0.svn'].G3d_cache_get_elt
-    G3d_cache_get_elt.restype = c_int
-    G3d_cache_get_elt.argtypes = [POINTER(G3D_cache), c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 280
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_put_elt'):
-    G3d_cache_put_elt = _libs['grass_g3d.7.0.svn'].G3d_cache_put_elt
-    G3d_cache_put_elt.restype = c_int
-    G3d_cache_put_elt.argtypes = [POINTER(G3D_cache), c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 283
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_hash_reset'):
-    G3d_cache_hash_reset = _libs['grass_g3d.7.0.svn'].G3d_cache_hash_reset
-    G3d_cache_hash_reset.restype = None
-    G3d_cache_hash_reset.argtypes = [POINTER(G3d_cache_hash)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 284
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_hash_dispose'):
-    G3d_cache_hash_dispose = _libs['grass_g3d.7.0.svn'].G3d_cache_hash_dispose
-    G3d_cache_hash_dispose.restype = None
-    G3d_cache_hash_dispose.argtypes = [POINTER(G3d_cache_hash)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 285
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_hash_new'):
-    G3d_cache_hash_new = _libs['grass_g3d.7.0.svn'].G3d_cache_hash_new
-    G3d_cache_hash_new.restype = POINTER(None)
-    G3d_cache_hash_new.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 286
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_hash_remove_name'):
-    G3d_cache_hash_remove_name = _libs['grass_g3d.7.0.svn'].G3d_cache_hash_remove_name
-    G3d_cache_hash_remove_name.restype = None
-    G3d_cache_hash_remove_name.argtypes = [POINTER(G3d_cache_hash), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 287
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_hash_load_name'):
-    G3d_cache_hash_load_name = _libs['grass_g3d.7.0.svn'].G3d_cache_hash_load_name
-    G3d_cache_hash_load_name.restype = None
-    G3d_cache_hash_load_name.argtypes = [POINTER(G3d_cache_hash), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 288
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_hash_name2index'):
-    G3d_cache_hash_name2index = _libs['grass_g3d.7.0.svn'].G3d_cache_hash_name2index
-    G3d_cache_hash_name2index.restype = c_int
-    G3d_cache_hash_name2index.argtypes = [POINTER(G3d_cache_hash), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 291
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_changePrecision'):
-    G3d_changePrecision = _libs['grass_g3d.7.0.svn'].G3d_changePrecision
-    G3d_changePrecision.restype = None
-    G3d_changePrecision.argtypes = [POINTER(None), c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 294
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_changeType'):
-    G3d_changeType = _libs['grass_g3d.7.0.svn'].G3d_changeType
-    G3d_changeType.restype = None
-    G3d_changeType.argtypes = [POINTER(None), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 297
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_compareFiles'):
-    G3d_compareFiles = _libs['grass_g3d.7.0.svn'].G3d_compareFiles
-    G3d_compareFiles.restype = None
-    G3d_compareFiles.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 300
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_filename'):
-    G3d_filename = _libs['grass_g3d.7.0.svn'].G3d_filename
-    G3d_filename.restype = None
-    G3d_filename.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 303
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_find_grid3'):
-    G_find_grid3 = _libs['grass_g3d.7.0.svn'].G_find_grid3
-    G_find_grid3.restype = ReturnString
-    G_find_grid3.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 306
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_printBinary'):
-    G_fpcompress_printBinary = _libs['grass_g3d.7.0.svn'].G_fpcompress_printBinary
-    G_fpcompress_printBinary.restype = None
-    G_fpcompress_printBinary.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 307
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_dissectXdrDouble'):
-    G_fpcompress_dissectXdrDouble = _libs['grass_g3d.7.0.svn'].G_fpcompress_dissectXdrDouble
-    G_fpcompress_dissectXdrDouble.restype = None
-    G_fpcompress_dissectXdrDouble.argtypes = [POINTER(c_ubyte)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 308
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_writeXdrNums'):
-    G_fpcompress_writeXdrNums = _libs['grass_g3d.7.0.svn'].G_fpcompress_writeXdrNums
-    G_fpcompress_writeXdrNums.restype = c_int
-    G_fpcompress_writeXdrNums.argtypes = [c_int, String, c_int, c_int, String, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 309
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_writeXdrFloats'):
-    G_fpcompress_writeXdrFloats = _libs['grass_g3d.7.0.svn'].G_fpcompress_writeXdrFloats
-    G_fpcompress_writeXdrFloats.restype = c_int
-    G_fpcompress_writeXdrFloats.argtypes = [c_int, String, c_int, c_int, String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 310
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_writeXdrDouble'):
-    G_fpcompress_writeXdrDouble = _libs['grass_g3d.7.0.svn'].G_fpcompress_writeXdrDouble
-    G_fpcompress_writeXdrDouble.restype = c_int
-    G_fpcompress_writeXdrDouble.argtypes = [c_int, String, c_int, c_int, String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 311
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_readXdrNums'):
-    G_fpcompress_readXdrNums = _libs['grass_g3d.7.0.svn'].G_fpcompress_readXdrNums
-    G_fpcompress_readXdrNums.restype = c_int
-    G_fpcompress_readXdrNums.argtypes = [c_int, String, c_int, c_int, c_int, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 312
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_readXdrFloats'):
-    G_fpcompress_readXdrFloats = _libs['grass_g3d.7.0.svn'].G_fpcompress_readXdrFloats
-    G_fpcompress_readXdrFloats.restype = c_int
-    G_fpcompress_readXdrFloats.argtypes = [c_int, String, c_int, c_int, c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 313
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_readXdrDoubles'):
-    G_fpcompress_readXdrDoubles = _libs['grass_g3d.7.0.svn'].G_fpcompress_readXdrDoubles
-    G_fpcompress_readXdrDoubles.restype = c_int
-    G_fpcompress_readXdrDoubles.argtypes = [c_int, String, c_int, c_int, c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 316
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_malloc'):
-    G3d_malloc = _libs['grass_g3d.7.0.svn'].G3d_malloc
-    G3d_malloc.restype = POINTER(None)
-    G3d_malloc.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 317
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_realloc'):
-    G3d_realloc = _libs['grass_g3d.7.0.svn'].G3d_realloc
-    G3d_realloc.restype = POINTER(None)
-    G3d_realloc.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 318
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_free'):
-    G3d_free = _libs['grass_g3d.7.0.svn'].G3d_free
-    G3d_free.restype = None
-    G3d_free.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 321
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_initCache'):
-    G3d_initCache = _libs['grass_g3d.7.0.svn'].G3d_initCache
-    G3d_initCache.restype = c_int
-    G3d_initCache.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 322
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_disposeCache'):
-    G3d_disposeCache = _libs['grass_g3d.7.0.svn'].G3d_disposeCache
-    G3d_disposeCache.restype = c_int
-    G3d_disposeCache.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 323
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_flushAllTiles'):
-    G3d_flushAllTiles = _libs['grass_g3d.7.0.svn'].G3d_flushAllTiles
-    G3d_flushAllTiles.restype = c_int
-    G3d_flushAllTiles.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 326
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeCats'):
-    G3d_writeCats = _libs['grass_g3d.7.0.svn'].G3d_writeCats
-    G3d_writeCats.restype = c_int
-    G3d_writeCats.argtypes = [String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 327
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readCats'):
-    G3d_readCats = _libs['grass_g3d.7.0.svn'].G3d_readCats
-    G3d_readCats.restype = c_int
-    G3d_readCats.argtypes = [String, String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 330
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_closeCell'):
-    G3d_closeCell = _libs['grass_g3d.7.0.svn'].G3d_closeCell
-    G3d_closeCell.restype = c_int
-    G3d_closeCell.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 333
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_removeColor'):
-    G3d_removeColor = _libs['grass_g3d.7.0.svn'].G3d_removeColor
-    G3d_removeColor.restype = c_int
-    G3d_removeColor.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 334
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readColors'):
-    G3d_readColors = _libs['grass_g3d.7.0.svn'].G3d_readColors
-    G3d_readColors.restype = c_int
-    G3d_readColors.argtypes = [String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 335
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeColors'):
-    G3d_writeColors = _libs['grass_g3d.7.0.svn'].G3d_writeColors
-    G3d_writeColors.restype = c_int
-    G3d_writeColors.argtypes = [String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 338
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setCompressionMode'):
-    G3d_setCompressionMode = _libs['grass_g3d.7.0.svn'].G3d_setCompressionMode
-    G3d_setCompressionMode.restype = None
-    G3d_setCompressionMode.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 339
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getCompressionMode'):
-    G3d_getCompressionMode = _libs['grass_g3d.7.0.svn'].G3d_getCompressionMode
-    G3d_getCompressionMode.restype = None
-    G3d_getCompressionMode.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 340
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setCacheSize'):
-    G3d_setCacheSize = _libs['grass_g3d.7.0.svn'].G3d_setCacheSize
-    G3d_setCacheSize.restype = None
-    G3d_setCacheSize.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 341
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getCacheSize'):
-    G3d_getCacheSize = _libs['grass_g3d.7.0.svn'].G3d_getCacheSize
-    G3d_getCacheSize.restype = c_int
-    G3d_getCacheSize.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 342
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setCacheLimit'):
-    G3d_setCacheLimit = _libs['grass_g3d.7.0.svn'].G3d_setCacheLimit
-    G3d_setCacheLimit.restype = None
-    G3d_setCacheLimit.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 343
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getCacheLimit'):
-    G3d_getCacheLimit = _libs['grass_g3d.7.0.svn'].G3d_getCacheLimit
-    G3d_getCacheLimit.restype = c_int
-    G3d_getCacheLimit.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 344
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setFileType'):
-    G3d_setFileType = _libs['grass_g3d.7.0.svn'].G3d_setFileType
-    G3d_setFileType.restype = None
-    G3d_setFileType.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 345
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getFileType'):
-    G3d_getFileType = _libs['grass_g3d.7.0.svn'].G3d_getFileType
-    G3d_getFileType.restype = c_int
-    G3d_getFileType.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 346
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setTileDimension'):
-    G3d_setTileDimension = _libs['grass_g3d.7.0.svn'].G3d_setTileDimension
-    G3d_setTileDimension.restype = None
-    G3d_setTileDimension.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 347
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getTileDimension'):
-    G3d_getTileDimension = _libs['grass_g3d.7.0.svn'].G3d_getTileDimension
-    G3d_getTileDimension.restype = None
-    G3d_getTileDimension.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 348
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setErrorFun'):
-    G3d_setErrorFun = _libs['grass_g3d.7.0.svn'].G3d_setErrorFun
-    G3d_setErrorFun.restype = None
-    G3d_setErrorFun.argtypes = [CFUNCTYPE(UNCHECKED(None), String)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 349
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setUnit'):
-    G3d_setUnit = _libs['grass_g3d.7.0.svn'].G3d_setUnit
-    G3d_setUnit.restype = None
-    G3d_setUnit.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 350
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_initDefaults'):
-    G3d_initDefaults = _libs['grass_g3d.7.0.svn'].G3d_initDefaults
-    G3d_initDefaults.restype = None
-    G3d_initDefaults.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 353
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeDoubles'):
-    G3d_writeDoubles = _libs['grass_g3d.7.0.svn'].G3d_writeDoubles
-    G3d_writeDoubles.restype = c_int
-    G3d_writeDoubles.argtypes = [c_int, c_int, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 354
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readDoubles'):
-    G3d_readDoubles = _libs['grass_g3d.7.0.svn'].G3d_readDoubles
-    G3d_readDoubles.restype = c_int
-    G3d_readDoubles.argtypes = [c_int, c_int, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 357
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_skipError'):
-    G3d_skipError = _libs['grass_g3d.7.0.svn'].G3d_skipError
-    G3d_skipError.restype = None
-    G3d_skipError.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 358
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_printError'):
-    G3d_printError = _libs['grass_g3d.7.0.svn'].G3d_printError
-    G3d_printError.restype = None
-    G3d_printError.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 359
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_fatalError'):
-    _func = _libs['grass_g3d.7.0.svn'].G3d_fatalError
-    _restype = None
-    _argtypes = [String]
-    G3d_fatalError = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 361
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_fatalError_noargs'):
-    G3d_fatalError_noargs = _libs['grass_g3d.7.0.svn'].G3d_fatalError_noargs
-    G3d_fatalError_noargs.restype = None
-    G3d_fatalError_noargs.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 362
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_error'):
-    _func = _libs['grass_g3d.7.0.svn'].G3d_error
-    _restype = None
-    _argtypes = [String]
-    G3d_error = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 365
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_isXdrNullNum'):
-    G3d_isXdrNullNum = _libs['grass_g3d.7.0.svn'].G3d_isXdrNullNum
-    G3d_isXdrNullNum.restype = c_int
-    G3d_isXdrNullNum.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 366
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_isXdrNullFloat'):
-    G3d_isXdrNullFloat = _libs['grass_g3d.7.0.svn'].G3d_isXdrNullFloat
-    G3d_isXdrNullFloat.restype = c_int
-    G3d_isXdrNullFloat.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 367
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_isXdrNullDouble'):
-    G3d_isXdrNullDouble = _libs['grass_g3d.7.0.svn'].G3d_isXdrNullDouble
-    G3d_isXdrNullDouble.restype = c_int
-    G3d_isXdrNullDouble.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 368
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setXdrNullNum'):
-    G3d_setXdrNullNum = _libs['grass_g3d.7.0.svn'].G3d_setXdrNullNum
-    G3d_setXdrNullNum.restype = None
-    G3d_setXdrNullNum.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 369
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setXdrNullDouble'):
-    G3d_setXdrNullDouble = _libs['grass_g3d.7.0.svn'].G3d_setXdrNullDouble
-    G3d_setXdrNullDouble.restype = None
-    G3d_setXdrNullDouble.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 370
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setXdrNullFloat'):
-    G3d_setXdrNullFloat = _libs['grass_g3d.7.0.svn'].G3d_setXdrNullFloat
-    G3d_setXdrNullFloat.restype = None
-    G3d_setXdrNullFloat.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 371
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_initFpXdr'):
-    G3d_initFpXdr = _libs['grass_g3d.7.0.svn'].G3d_initFpXdr
-    G3d_initFpXdr.restype = c_int
-    G3d_initFpXdr.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 372
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_initCopyToXdr'):
-    G3d_initCopyToXdr = _libs['grass_g3d.7.0.svn'].G3d_initCopyToXdr
-    G3d_initCopyToXdr.restype = c_int
-    G3d_initCopyToXdr.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 373
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_copyToXdr'):
-    G3d_copyToXdr = _libs['grass_g3d.7.0.svn'].G3d_copyToXdr
-    G3d_copyToXdr.restype = c_int
-    G3d_copyToXdr.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 374
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_initCopyFromXdr'):
-    G3d_initCopyFromXdr = _libs['grass_g3d.7.0.svn'].G3d_initCopyFromXdr
-    G3d_initCopyFromXdr.restype = c_int
-    G3d_initCopyFromXdr.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 375
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_copyFromXdr'):
-    G3d_copyFromXdr = _libs['grass_g3d.7.0.svn'].G3d_copyFromXdr
-    G3d_copyFromXdr.restype = c_int
-    G3d_copyFromXdr.argtypes = [c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 378
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeHistory'):
-    G3d_writeHistory = _libs['grass_g3d.7.0.svn'].G3d_writeHistory
-    G3d_writeHistory.restype = c_int
-    G3d_writeHistory.argtypes = [String, POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 379
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readHistory'):
-    G3d_readHistory = _libs['grass_g3d.7.0.svn'].G3d_readHistory
-    G3d_readHistory.restype = c_int
-    G3d_readHistory.argtypes = [String, String, POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 382
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeInts'):
-    G3d_writeInts = _libs['grass_g3d.7.0.svn'].G3d_writeInts
-    G3d_writeInts.restype = c_int
-    G3d_writeInts.argtypes = [c_int, c_int, POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 383
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readInts'):
-    G3d_readInts = _libs['grass_g3d.7.0.svn'].G3d_readInts
-    G3d_readInts.restype = c_int
-    G3d_readInts.argtypes = [c_int, c_int, POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 386
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keyGetInt'):
-    G3d_keyGetInt = _libs['grass_g3d.7.0.svn'].G3d_keyGetInt
-    G3d_keyGetInt.restype = c_int
-    G3d_keyGetInt.argtypes = [POINTER(struct_Key_Value), String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 387
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keyGetDouble'):
-    G3d_keyGetDouble = _libs['grass_g3d.7.0.svn'].G3d_keyGetDouble
-    G3d_keyGetDouble.restype = c_int
-    G3d_keyGetDouble.argtypes = [POINTER(struct_Key_Value), String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 388
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keyGetString'):
-    G3d_keyGetString = _libs['grass_g3d.7.0.svn'].G3d_keyGetString
-    G3d_keyGetString.restype = c_int
-    G3d_keyGetString.argtypes = [POINTER(struct_Key_Value), String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 389
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keyGetValue'):
-    G3d_keyGetValue = _libs['grass_g3d.7.0.svn'].G3d_keyGetValue
-    G3d_keyGetValue.restype = c_int
-    G3d_keyGetValue.argtypes = [POINTER(struct_Key_Value), String, String, String, c_int, c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 391
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keySetInt'):
-    G3d_keySetInt = _libs['grass_g3d.7.0.svn'].G3d_keySetInt
-    G3d_keySetInt.restype = c_int
-    G3d_keySetInt.argtypes = [POINTER(struct_Key_Value), String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 392
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keySetDouble'):
-    G3d_keySetDouble = _libs['grass_g3d.7.0.svn'].G3d_keySetDouble
-    G3d_keySetDouble.restype = c_int
-    G3d_keySetDouble.argtypes = [POINTER(struct_Key_Value), String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 393
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keySetString'):
-    G3d_keySetString = _libs['grass_g3d.7.0.svn'].G3d_keySetString
-    G3d_keySetString.restype = c_int
-    G3d_keySetString.argtypes = [POINTER(struct_Key_Value), String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 394
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keySetValue'):
-    G3d_keySetValue = _libs['grass_g3d.7.0.svn'].G3d_keySetValue
-    G3d_keySetValue.restype = c_int
-    G3d_keySetValue.argtypes = [POINTER(struct_Key_Value), String, String, String, c_int, c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 397
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_longEncode'):
-    G3d_longEncode = _libs['grass_g3d.7.0.svn'].G3d_longEncode
-    G3d_longEncode.restype = c_int
-    G3d_longEncode.argtypes = [POINTER(c_long), POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 398
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_longDecode'):
-    G3d_longDecode = _libs['grass_g3d.7.0.svn'].G3d_longDecode
-    G3d_longDecode.restype = None
-    G3d_longDecode.argtypes = [POINTER(c_ubyte), POINTER(c_long), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 401
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_makeMapsetMapDirectory'):
-    G3d_makeMapsetMapDirectory = _libs['grass_g3d.7.0.svn'].G3d_makeMapsetMapDirectory
-    G3d_makeMapsetMapDirectory.restype = None
-    G3d_makeMapsetMapDirectory.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 404
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskClose'):
-    G3d_maskClose = _libs['grass_g3d.7.0.svn'].G3d_maskClose
-    G3d_maskClose.restype = c_int
-    G3d_maskClose.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 405
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskFileExists'):
-    G3d_maskFileExists = _libs['grass_g3d.7.0.svn'].G3d_maskFileExists
-    G3d_maskFileExists.restype = c_int
-    G3d_maskFileExists.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 406
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskOpenOld'):
-    G3d_maskOpenOld = _libs['grass_g3d.7.0.svn'].G3d_maskOpenOld
-    G3d_maskOpenOld.restype = c_int
-    G3d_maskOpenOld.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 407
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskReopen'):
-    G3d_maskReopen = _libs['grass_g3d.7.0.svn'].G3d_maskReopen
-    G3d_maskReopen.restype = c_int
-    G3d_maskReopen.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 408
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_isMasked'):
-    G3d_isMasked = _libs['grass_g3d.7.0.svn'].G3d_isMasked
-    G3d_isMasked.restype = c_int
-    G3d_isMasked.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 409
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskNum'):
-    G3d_maskNum = _libs['grass_g3d.7.0.svn'].G3d_maskNum
-    G3d_maskNum.restype = None
-    G3d_maskNum.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 410
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskFloat'):
-    G3d_maskFloat = _libs['grass_g3d.7.0.svn'].G3d_maskFloat
-    G3d_maskFloat.restype = None
-    G3d_maskFloat.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 411
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskDouble'):
-    G3d_maskDouble = _libs['grass_g3d.7.0.svn'].G3d_maskDouble
-    G3d_maskDouble.restype = None
-    G3d_maskDouble.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 412
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskTile'):
-    G3d_maskTile = _libs['grass_g3d.7.0.svn'].G3d_maskTile
-    G3d_maskTile.restype = None
-    G3d_maskTile.argtypes = [POINTER(G3D_Map), c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 413
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskOn'):
-    G3d_maskOn = _libs['grass_g3d.7.0.svn'].G3d_maskOn
-    G3d_maskOn.restype = None
-    G3d_maskOn.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 414
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskOff'):
-    G3d_maskOff = _libs['grass_g3d.7.0.svn'].G3d_maskOff
-    G3d_maskOff.restype = None
-    G3d_maskOff.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 415
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskIsOn'):
-    G3d_maskIsOn = _libs['grass_g3d.7.0.svn'].G3d_maskIsOn
-    G3d_maskIsOn.restype = c_int
-    G3d_maskIsOn.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 416
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskIsOff'):
-    G3d_maskIsOff = _libs['grass_g3d.7.0.svn'].G3d_maskIsOff
-    G3d_maskIsOff.restype = c_int
-    G3d_maskIsOff.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 417
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskFile'):
-    G3d_maskFile = _libs['grass_g3d.7.0.svn'].G3d_maskFile
-    G3d_maskFile.restype = ReturnString
-    G3d_maskFile.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 418
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskMapExists'):
-    G3d_maskMapExists = _libs['grass_g3d.7.0.svn'].G3d_maskMapExists
-    G3d_maskMapExists.restype = c_int
-    G3d_maskMapExists.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 421
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_mask_d_select'):
-    G3d_mask_d_select = _libs['grass_g3d.7.0.svn'].G3d_mask_d_select
-    G3d_mask_d_select.restype = c_int
-    G3d_mask_d_select.argtypes = [POINTER(DCELL), POINTER(d_Mask)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 422
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_mask_match_d_interval'):
-    G3d_mask_match_d_interval = _libs['grass_g3d.7.0.svn'].G3d_mask_match_d_interval
-    G3d_mask_match_d_interval.restype = DCELL
-    G3d_mask_match_d_interval.argtypes = [DCELL, POINTER(d_Interval)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 423
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_parse_vallist'):
-    G3d_parse_vallist = _libs['grass_g3d.7.0.svn'].G3d_parse_vallist
-    G3d_parse_vallist.restype = None
-    G3d_parse_vallist.argtypes = [POINTER(POINTER(c_char)), POINTER(POINTER(d_Mask))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 426
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_g3dType2cellType'):
-    G3d_g3dType2cellType = _libs['grass_g3d.7.0.svn'].G3d_g3dType2cellType
-    G3d_g3dType2cellType.restype = c_int
-    G3d_g3dType2cellType.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 427
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_copyFloat2Double'):
-    G3d_copyFloat2Double = _libs['grass_g3d.7.0.svn'].G3d_copyFloat2Double
-    G3d_copyFloat2Double.restype = None
-    G3d_copyFloat2Double.argtypes = [POINTER(c_float), c_int, POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 428
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_copyDouble2Float'):
-    G3d_copyDouble2Float = _libs['grass_g3d.7.0.svn'].G3d_copyDouble2Float
-    G3d_copyDouble2Float.restype = None
-    G3d_copyDouble2Float.argtypes = [POINTER(c_double), c_int, POINTER(c_float), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 429
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_copyValues'):
-    G3d_copyValues = _libs['grass_g3d.7.0.svn'].G3d_copyValues
-    G3d_copyValues.restype = None
-    G3d_copyValues.argtypes = [POINTER(None), c_int, c_int, POINTER(None), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 430
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_length'):
-    G3d_length = _libs['grass_g3d.7.0.svn'].G3d_length
-    G3d_length.restype = c_int
-    G3d_length.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 431
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_externLength'):
-    G3d_externLength = _libs['grass_g3d.7.0.svn'].G3d_externLength
-    G3d_externLength.restype = c_int
-    G3d_externLength.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 434
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_isNullValueNum'):
-    G3d_isNullValueNum = _libs['grass_g3d.7.0.svn'].G3d_isNullValueNum
-    G3d_isNullValueNum.restype = c_int
-    G3d_isNullValueNum.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 435
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setNullValue'):
-    G3d_setNullValue = _libs['grass_g3d.7.0.svn'].G3d_setNullValue
-    G3d_setNullValue.restype = None
-    G3d_setNullValue.argtypes = [POINTER(None), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 438
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_openNewParam'):
-    G3d_openNewParam = _libs['grass_g3d.7.0.svn'].G3d_openNewParam
-    G3d_openNewParam.restype = POINTER(None)
-    G3d_openNewParam.argtypes = [String, c_int, c_int, POINTER(G3D_Region), c_int, c_int, c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 440
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_openCellOldNoHeader'):
-    G3d_openCellOldNoHeader = _libs['grass_g3d.7.0.svn'].G3d_openCellOldNoHeader
-    G3d_openCellOldNoHeader.restype = POINTER(None)
-    G3d_openCellOldNoHeader.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 441
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_openCellOld'):
-    G3d_openCellOld = _libs['grass_g3d.7.0.svn'].G3d_openCellOld
-    G3d_openCellOld.restype = POINTER(None)
-    G3d_openCellOld.argtypes = [String, String, POINTER(G3D_Region), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 442
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_openCellNew'):
-    G3d_openCellNew = _libs['grass_g3d.7.0.svn'].G3d_openCellNew
-    G3d_openCellNew.restype = POINTER(None)
-    G3d_openCellNew.argtypes = [String, c_int, c_int, POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 443
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_openNewOptTileSize'):
-    G3d_openNewOptTileSize = _libs['grass_g3d.7.0.svn'].G3d_openNewOptTileSize
-    G3d_openNewOptTileSize.restype = POINTER(None)
-    G3d_openNewOptTileSize.argtypes = [String, c_int, POINTER(G3D_Region), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 446
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setStandard3dInputParams'):
-    G3d_setStandard3dInputParams = _libs['grass_g3d.7.0.svn'].G3d_setStandard3dInputParams
-    G3d_setStandard3dInputParams.restype = None
-    G3d_setStandard3dInputParams.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 447
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getStandard3dParams'):
-    G3d_getStandard3dParams = _libs['grass_g3d.7.0.svn'].G3d_getStandard3dParams
-    G3d_getStandard3dParams.restype = c_int
-    G3d_getStandard3dParams.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 449
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setWindowParams'):
-    G3d_setWindowParams = _libs['grass_g3d.7.0.svn'].G3d_setWindowParams
-    G3d_setWindowParams.restype = None
-    G3d_setWindowParams.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 450
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getWindowParams'):
-    G3d_getWindowParams = _libs['grass_g3d.7.0.svn'].G3d_getWindowParams
-    G3d_getWindowParams.restype = ReturnString
-    G3d_getWindowParams.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 453
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_range_updateFromTile'):
-    G3d_range_updateFromTile = _libs['grass_g3d.7.0.svn'].G3d_range_updateFromTile
-    G3d_range_updateFromTile.restype = None
-    G3d_range_updateFromTile.argtypes = [POINTER(G3D_Map), POINTER(None), c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 455
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readRange'):
-    G3d_readRange = _libs['grass_g3d.7.0.svn'].G3d_readRange
-    G3d_readRange.restype = c_int
-    G3d_readRange.argtypes = [String, String, POINTER(struct_FPRange)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 456
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_range_load'):
-    G3d_range_load = _libs['grass_g3d.7.0.svn'].G3d_range_load
-    G3d_range_load.restype = c_int
-    G3d_range_load.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 457
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_range_min_max'):
-    G3d_range_min_max = _libs['grass_g3d.7.0.svn'].G3d_range_min_max
-    G3d_range_min_max.restype = None
-    G3d_range_min_max.argtypes = [POINTER(G3D_Map), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 458
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_range_write'):
-    G3d_range_write = _libs['grass_g3d.7.0.svn'].G3d_range_write
-    G3d_range_write.restype = c_int
-    G3d_range_write.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 459
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_range_init'):
-    G3d_range_init = _libs['grass_g3d.7.0.svn'].G3d_range_init
-    G3d_range_init.restype = c_int
-    G3d_range_init.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 462
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getRegionValue'):
-    G3d_getRegionValue = _libs['grass_g3d.7.0.svn'].G3d_getRegionValue
-    G3d_getRegionValue.restype = None
-    G3d_getRegionValue.argtypes = [POINTER(G3D_Map), c_double, c_double, c_double, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 463
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_adjustRegion'):
-    G3d_adjustRegion = _libs['grass_g3d.7.0.svn'].G3d_adjustRegion
-    G3d_adjustRegion.restype = None
-    G3d_adjustRegion.argtypes = [POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 464
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_regionCopy'):
-    G3d_regionCopy = _libs['grass_g3d.7.0.svn'].G3d_regionCopy
-    G3d_regionCopy.restype = None
-    G3d_regionCopy.argtypes = [POINTER(G3D_Region), POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 465
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_incorporate2dRegion'):
-    G3d_incorporate2dRegion = _libs['grass_g3d.7.0.svn'].G3d_incorporate2dRegion
-    G3d_incorporate2dRegion.restype = None
-    G3d_incorporate2dRegion.argtypes = [POINTER(struct_Cell_head), POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 466
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_regionFromToCellHead'):
-    G3d_regionFromToCellHead = _libs['grass_g3d.7.0.svn'].G3d_regionFromToCellHead
-    G3d_regionFromToCellHead.restype = None
-    G3d_regionFromToCellHead.argtypes = [POINTER(struct_Cell_head), POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 467
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_adjustRegionRes'):
-    G3d_adjustRegionRes = _libs['grass_g3d.7.0.svn'].G3d_adjustRegionRes
-    G3d_adjustRegionRes.restype = None
-    G3d_adjustRegionRes.argtypes = [POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 468
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_extract2dRegion'):
-    G3d_extract2dRegion = _libs['grass_g3d.7.0.svn'].G3d_extract2dRegion
-    G3d_extract2dRegion.restype = None
-    G3d_extract2dRegion.argtypes = [POINTER(G3D_Region), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 469
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_regionToCellHead'):
-    G3d_regionToCellHead = _libs['grass_g3d.7.0.svn'].G3d_regionToCellHead
-    G3d_regionToCellHead.restype = None
-    G3d_regionToCellHead.argtypes = [POINTER(G3D_Region), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 470
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readRegionMap'):
-    G3d_readRegionMap = _libs['grass_g3d.7.0.svn'].G3d_readRegionMap
-    G3d_readRegionMap.restype = c_int
-    G3d_readRegionMap.argtypes = [String, String, POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 471
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_isValidLocation'):
-    G3d_isValidLocation = _libs['grass_g3d.7.0.svn'].G3d_isValidLocation
-    G3d_isValidLocation.restype = c_int
-    G3d_isValidLocation.argtypes = [POINTER(G3D_Region), c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 472
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_location2coord'):
-    G3d_location2coord = _libs['grass_g3d.7.0.svn'].G3d_location2coord
-    G3d_location2coord.restype = None
-    G3d_location2coord.argtypes = [POINTER(G3D_Region), c_double, c_double, c_double, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 473
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_location2coord2'):
-    G3d_location2coord2 = _libs['grass_g3d.7.0.svn'].G3d_location2coord2
-    G3d_location2coord2.restype = None
-    G3d_location2coord2.argtypes = [POINTER(G3D_Region), c_double, c_double, c_double, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 474
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_coord2location'):
-    G3d_coord2location = _libs['grass_g3d.7.0.svn'].G3d_coord2location
-    G3d_coord2location.restype = None
-    G3d_coord2location.argtypes = [POINTER(G3D_Region), c_double, c_double, c_double, POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 476
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_nearestNeighbor'):
-    G3d_nearestNeighbor = _libs['grass_g3d.7.0.svn'].G3d_nearestNeighbor
-    G3d_nearestNeighbor.restype = None
-    G3d_nearestNeighbor.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 477
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setResamplingFun'):
-    G3d_setResamplingFun = _libs['grass_g3d.7.0.svn'].G3d_setResamplingFun
-    G3d_setResamplingFun.restype = None
-    G3d_setResamplingFun.argtypes = [POINTER(G3D_Map), CFUNCTYPE(UNCHECKED(None), )]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 478
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getResamplingFun'):
-    G3d_getResamplingFun = _libs['grass_g3d.7.0.svn'].G3d_getResamplingFun
-    G3d_getResamplingFun.restype = None
-    G3d_getResamplingFun.argtypes = [POINTER(G3D_Map), POINTER(CFUNCTYPE(UNCHECKED(None), ))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 479
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getNearestNeighborFunPtr'):
-    G3d_getNearestNeighborFunPtr = _libs['grass_g3d.7.0.svn'].G3d_getNearestNeighborFunPtr
-    G3d_getNearestNeighborFunPtr.restype = None
-    G3d_getNearestNeighborFunPtr.argtypes = [POINTER(CFUNCTYPE(UNCHECKED(None), ))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 482
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getVolumeA'):
-    G3d_getVolumeA = _libs['grass_g3d.7.0.svn'].G3d_getVolumeA
-    G3d_getVolumeA.restype = None
-    G3d_getVolumeA.argtypes = [POINTER(None), (((c_double * 3) * 2) * 2) * 2, c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 483
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getVolume'):
-    G3d_getVolume = _libs['grass_g3d.7.0.svn'].G3d_getVolume
-    G3d_getVolume.restype = None
-    G3d_getVolume.argtypes = [POINTER(None), c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 486
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getAlignedVolume'):
-    G3d_getAlignedVolume = _libs['grass_g3d.7.0.svn'].G3d_getAlignedVolume
-    G3d_getAlignedVolume.restype = None
-    G3d_getAlignedVolume.argtypes = [POINTER(None), c_double, c_double, c_double, c_double, c_double, c_double, c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 488
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_makeAlignedVolumeFile'):
-    G3d_makeAlignedVolumeFile = _libs['grass_g3d.7.0.svn'].G3d_makeAlignedVolumeFile
-    G3d_makeAlignedVolumeFile.restype = None
-    G3d_makeAlignedVolumeFile.argtypes = [POINTER(None), String, c_double, c_double, c_double, c_double, c_double, c_double, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 491
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getValue'):
-    G3d_getValue = _libs['grass_g3d.7.0.svn'].G3d_getValue
-    G3d_getValue.restype = None
-    G3d_getValue.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 492
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getFloat'):
-    G3d_getFloat = _libs['grass_g3d.7.0.svn'].G3d_getFloat
-    G3d_getFloat.restype = c_float
-    G3d_getFloat.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 493
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getDouble'):
-    G3d_getDouble = _libs['grass_g3d.7.0.svn'].G3d_getDouble
-    G3d_getDouble.restype = c_double
-    G3d_getDouble.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 494
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getWindowValue'):
-    G3d_getWindowValue = _libs['grass_g3d.7.0.svn'].G3d_getWindowValue
-    G3d_getWindowValue.restype = None
-    G3d_getWindowValue.argtypes = [POINTER(G3D_Map), c_double, c_double, c_double, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 497
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_windowPtr'):
-    G3d_windowPtr = _libs['grass_g3d.7.0.svn'].G3d_windowPtr
-    G3d_windowPtr.restype = POINTER(G3D_Region)
-    G3d_windowPtr.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 498
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setWindow'):
-    G3d_setWindow = _libs['grass_g3d.7.0.svn'].G3d_setWindow
-    G3d_setWindow.restype = None
-    G3d_setWindow.argtypes = [POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 499
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setWindowMap'):
-    G3d_setWindowMap = _libs['grass_g3d.7.0.svn'].G3d_setWindowMap
-    G3d_setWindowMap.restype = None
-    G3d_setWindowMap.argtypes = [POINTER(G3D_Map), POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 500
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getWindow'):
-    G3d_getWindow = _libs['grass_g3d.7.0.svn'].G3d_getWindow
-    G3d_getWindow.restype = None
-    G3d_getWindow.argtypes = [POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 503
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_useWindowParams'):
-    G3d_useWindowParams = _libs['grass_g3d.7.0.svn'].G3d_useWindowParams
-    G3d_useWindowParams.restype = None
-    G3d_useWindowParams.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 504
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readWindow'):
-    G3d_readWindow = _libs['grass_g3d.7.0.svn'].G3d_readWindow
-    G3d_readWindow.restype = c_int
-    G3d_readWindow.argtypes = [POINTER(G3D_Region), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 508
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getBlockNocache'):
-    G3d_getBlockNocache = _libs['grass_g3d.7.0.svn'].G3d_getBlockNocache
-    G3d_getBlockNocache.restype = None
-    G3d_getBlockNocache.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 510
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getBlock'):
-    G3d_getBlock = _libs['grass_g3d.7.0.svn'].G3d_getBlock
-    G3d_getBlock.restype = None
-    G3d_getBlock.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 513
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readHeader'):
-    G3d_readHeader = _libs['grass_g3d.7.0.svn'].G3d_readHeader
-    G3d_readHeader.restype = c_int
-    G3d_readHeader.argtypes = [POINTER(G3D_Map), POINTER(c_int), POINTER(c_int), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(POINTER( [...]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 517
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeHeader'):
-    G3d_writeHeader = _libs['grass_g3d.7.0.svn'].G3d_writeHeader
-    G3d_writeHeader.restype = c_int
-    G3d_writeHeader.argtypes = [POINTER(G3D_Map), c_int, c_int, c_double, c_double, c_double, c_double, c_double, c_double, c_int, c_int, c_int, c_double, c_double, c_double, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 521
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cacheSizeEncode'):
-    G3d_cacheSizeEncode = _libs['grass_g3d.7.0.svn'].G3d_cacheSizeEncode
-    G3d_cacheSizeEncode.restype = c_int
-    G3d_cacheSizeEncode.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 522
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d__computeCacheSize'):
-    G3d__computeCacheSize = _libs['grass_g3d.7.0.svn'].G3d__computeCacheSize
-    G3d__computeCacheSize.restype = c_int
-    G3d__computeCacheSize.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 523
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_fillHeader'):
-    G3d_fillHeader = _libs['grass_g3d.7.0.svn'].G3d_fillHeader
-    G3d_fillHeader.restype = c_int
-    G3d_fillHeader.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_double, c_double, c_double, c_double, c_double, c_double, c_int, c_int, c_int, c_double, c_double, c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 528
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getCoordsMap'):
-    G3d_getCoordsMap = _libs['grass_g3d.7.0.svn'].G3d_getCoordsMap
-    G3d_getCoordsMap.restype = None
-    G3d_getCoordsMap.argtypes = [POINTER(G3D_Map), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 529
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getCoordsMapWindow'):
-    G3d_getCoordsMapWindow = _libs['grass_g3d.7.0.svn'].G3d_getCoordsMapWindow
-    G3d_getCoordsMapWindow.restype = None
-    G3d_getCoordsMapWindow.argtypes = [POINTER(G3D_Map), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 530
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getNofTilesMap'):
-    G3d_getNofTilesMap = _libs['grass_g3d.7.0.svn'].G3d_getNofTilesMap
-    G3d_getNofTilesMap.restype = None
-    G3d_getNofTilesMap.argtypes = [POINTER(G3D_Map), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 531
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getRegionMap'):
-    G3d_getRegionMap = _libs['grass_g3d.7.0.svn'].G3d_getRegionMap
-    G3d_getRegionMap.restype = None
-    G3d_getRegionMap.argtypes = [POINTER(G3D_Map), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 533
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getWindowMap'):
-    G3d_getWindowMap = _libs['grass_g3d.7.0.svn'].G3d_getWindowMap
-    G3d_getWindowMap.restype = None
-    G3d_getWindowMap.argtypes = [POINTER(G3D_Map), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 535
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getTileDimensionsMap'):
-    G3d_getTileDimensionsMap = _libs['grass_g3d.7.0.svn'].G3d_getTileDimensionsMap
-    G3d_getTileDimensionsMap.restype = None
-    G3d_getTileDimensionsMap.argtypes = [POINTER(G3D_Map), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 536
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileTypeMap'):
-    G3d_tileTypeMap = _libs['grass_g3d.7.0.svn'].G3d_tileTypeMap
-    G3d_tileTypeMap.restype = c_int
-    G3d_tileTypeMap.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 537
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_fileTypeMap'):
-    G3d_fileTypeMap = _libs['grass_g3d.7.0.svn'].G3d_fileTypeMap
-    G3d_fileTypeMap.restype = c_int
-    G3d_fileTypeMap.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 538
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tilePrecisionMap'):
-    G3d_tilePrecisionMap = _libs['grass_g3d.7.0.svn'].G3d_tilePrecisionMap
-    G3d_tilePrecisionMap.restype = c_int
-    G3d_tilePrecisionMap.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 539
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileUseCacheMap'):
-    G3d_tileUseCacheMap = _libs['grass_g3d.7.0.svn'].G3d_tileUseCacheMap
-    G3d_tileUseCacheMap.restype = c_int
-    G3d_tileUseCacheMap.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 540
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_printHeader'):
-    G3d_printHeader = _libs['grass_g3d.7.0.svn'].G3d_printHeader
-    G3d_printHeader.restype = None
-    G3d_printHeader.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 541
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getRegionStructMap'):
-    G3d_getRegionStructMap = _libs['grass_g3d.7.0.svn'].G3d_getRegionStructMap
-    G3d_getRegionStructMap.restype = None
-    G3d_getRegionStructMap.argtypes = [POINTER(G3D_Map), POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 544
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_flushIndex'):
-    G3d_flushIndex = _libs['grass_g3d.7.0.svn'].G3d_flushIndex
-    G3d_flushIndex.restype = c_int
-    G3d_flushIndex.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 545
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_initIndex'):
-    G3d_initIndex = _libs['grass_g3d.7.0.svn'].G3d_initIndex
-    G3d_initIndex.restype = c_int
-    G3d_initIndex.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 548
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_retile'):
-    G3d_retile = _libs['grass_g3d.7.0.svn'].G3d_retile
-    G3d_retile.restype = None
-    G3d_retile.argtypes = [POINTER(None), String, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 551
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_rle_count_only'):
-    G_rle_count_only = _libs['grass_g3d.7.0.svn'].G_rle_count_only
-    G_rle_count_only.restype = c_int
-    G_rle_count_only.argtypes = [String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 552
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_rle_encode'):
-    G_rle_encode = _libs['grass_g3d.7.0.svn'].G_rle_encode
-    G_rle_encode.restype = None
-    G_rle_encode.argtypes = [String, String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 553
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_rle_decode'):
-    G_rle_decode = _libs['grass_g3d.7.0.svn'].G_rle_decode
-    G_rle_decode.restype = None
-    G_rle_decode.argtypes = [String, String, c_int, c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 556
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_allocTilesType'):
-    G3d_allocTilesType = _libs['grass_g3d.7.0.svn'].G3d_allocTilesType
-    G3d_allocTilesType.restype = POINTER(None)
-    G3d_allocTilesType.argtypes = [POINTER(G3D_Map), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 557
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_allocTiles'):
-    G3d_allocTiles = _libs['grass_g3d.7.0.svn'].G3d_allocTiles
-    G3d_allocTiles.restype = POINTER(None)
-    G3d_allocTiles.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 558
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_freeTiles'):
-    G3d_freeTiles = _libs['grass_g3d.7.0.svn'].G3d_freeTiles
-    G3d_freeTiles.restype = None
-    G3d_freeTiles.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 561
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getTilePtr'):
-    G3d_getTilePtr = _libs['grass_g3d.7.0.svn'].G3d_getTilePtr
-    G3d_getTilePtr.restype = POINTER(None)
-    G3d_getTilePtr.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 562
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileLoad'):
-    G3d_tileLoad = _libs['grass_g3d.7.0.svn'].G3d_tileLoad
-    G3d_tileLoad.restype = c_int
-    G3d_tileLoad.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 563
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d__removeTile'):
-    G3d__removeTile = _libs['grass_g3d.7.0.svn'].G3d__removeTile
-    G3d__removeTile.restype = c_int
-    G3d__removeTile.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 564
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getFloatRegion'):
-    G3d_getFloatRegion = _libs['grass_g3d.7.0.svn'].G3d_getFloatRegion
-    G3d_getFloatRegion.restype = c_float
-    G3d_getFloatRegion.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 565
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getDoubleRegion'):
-    G3d_getDoubleRegion = _libs['grass_g3d.7.0.svn'].G3d_getDoubleRegion
-    G3d_getDoubleRegion.restype = c_double
-    G3d_getDoubleRegion.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 566
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getValueRegion'):
-    G3d_getValueRegion = _libs['grass_g3d.7.0.svn'].G3d_getValueRegion
-    G3d_getValueRegion.restype = None
-    G3d_getValueRegion.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 569
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_computeOptimalTileDimension'):
-    G3d_computeOptimalTileDimension = _libs['grass_g3d.7.0.svn'].G3d_computeOptimalTileDimension
-    G3d_computeOptimalTileDimension.restype = None
-    G3d_computeOptimalTileDimension.argtypes = [POINTER(G3D_Region), c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 570
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileIndex2tile'):
-    G3d_tileIndex2tile = _libs['grass_g3d.7.0.svn'].G3d_tileIndex2tile
-    G3d_tileIndex2tile.restype = None
-    G3d_tileIndex2tile.argtypes = [POINTER(G3D_Map), c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 571
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tile2tileIndex'):
-    G3d_tile2tileIndex = _libs['grass_g3d.7.0.svn'].G3d_tile2tileIndex
-    G3d_tile2tileIndex.restype = c_int
-    G3d_tile2tileIndex.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 572
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileCoordOrigin'):
-    G3d_tileCoordOrigin = _libs['grass_g3d.7.0.svn'].G3d_tileCoordOrigin
-    G3d_tileCoordOrigin.restype = None
-    G3d_tileCoordOrigin.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 573
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileIndexOrigin'):
-    G3d_tileIndexOrigin = _libs['grass_g3d.7.0.svn'].G3d_tileIndexOrigin
-    G3d_tileIndexOrigin.restype = None
-    G3d_tileIndexOrigin.argtypes = [POINTER(G3D_Map), c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 574
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_coord2tileCoord'):
-    G3d_coord2tileCoord = _libs['grass_g3d.7.0.svn'].G3d_coord2tileCoord
-    G3d_coord2tileCoord.restype = None
-    G3d_coord2tileCoord.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 576
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_coord2tileIndex'):
-    G3d_coord2tileIndex = _libs['grass_g3d.7.0.svn'].G3d_coord2tileIndex
-    G3d_coord2tileIndex.restype = None
-    G3d_coord2tileIndex.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 577
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_coordInRange'):
-    G3d_coordInRange = _libs['grass_g3d.7.0.svn'].G3d_coordInRange
-    G3d_coordInRange.restype = c_int
-    G3d_coordInRange.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 578
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileIndexInRange'):
-    G3d_tileIndexInRange = _libs['grass_g3d.7.0.svn'].G3d_tileIndexInRange
-    G3d_tileIndexInRange.restype = c_int
-    G3d_tileIndexInRange.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 579
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileInRange'):
-    G3d_tileInRange = _libs['grass_g3d.7.0.svn'].G3d_tileInRange
-    G3d_tileInRange.restype = c_int
-    G3d_tileInRange.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 580
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_computeClippedTileDimensions'):
-    G3d_computeClippedTileDimensions = _libs['grass_g3d.7.0.svn'].G3d_computeClippedTileDimensions
-    G3d_computeClippedTileDimensions.restype = c_int
-    G3d_computeClippedTileDimensions.argtypes = [POINTER(G3D_Map), c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 584
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setNullTileType'):
-    G3d_setNullTileType = _libs['grass_g3d.7.0.svn'].G3d_setNullTileType
-    G3d_setNullTileType.restype = None
-    G3d_setNullTileType.argtypes = [POINTER(G3D_Map), POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 585
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setNullTile'):
-    G3d_setNullTile = _libs['grass_g3d.7.0.svn'].G3d_setNullTile
-    G3d_setNullTile.restype = None
-    G3d_setNullTile.argtypes = [POINTER(G3D_Map), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 588
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readTile'):
-    G3d_readTile = _libs['grass_g3d.7.0.svn'].G3d_readTile
-    G3d_readTile.restype = c_int
-    G3d_readTile.argtypes = [POINTER(G3D_Map), c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 589
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readTileFloat'):
-    G3d_readTileFloat = _libs['grass_g3d.7.0.svn'].G3d_readTileFloat
-    G3d_readTileFloat.restype = c_int
-    G3d_readTileFloat.argtypes = [POINTER(G3D_Map), c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 590
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readTileDouble'):
-    G3d_readTileDouble = _libs['grass_g3d.7.0.svn'].G3d_readTileDouble
-    G3d_readTileDouble.restype = c_int
-    G3d_readTileDouble.argtypes = [POINTER(G3D_Map), c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 591
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_lockTile'):
-    G3d_lockTile = _libs['grass_g3d.7.0.svn'].G3d_lockTile
-    G3d_lockTile.restype = c_int
-    G3d_lockTile.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 592
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_unlockTile'):
-    G3d_unlockTile = _libs['grass_g3d.7.0.svn'].G3d_unlockTile
-    G3d_unlockTile.restype = c_int
-    G3d_unlockTile.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 593
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_unlockAll'):
-    G3d_unlockAll = _libs['grass_g3d.7.0.svn'].G3d_unlockAll
-    G3d_unlockAll.restype = c_int
-    G3d_unlockAll.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 594
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_autolockOn'):
-    G3d_autolockOn = _libs['grass_g3d.7.0.svn'].G3d_autolockOn
-    G3d_autolockOn.restype = None
-    G3d_autolockOn.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 595
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_autolockOff'):
-    G3d_autolockOff = _libs['grass_g3d.7.0.svn'].G3d_autolockOff
-    G3d_autolockOff.restype = None
-    G3d_autolockOff.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 596
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_minUnlocked'):
-    G3d_minUnlocked = _libs['grass_g3d.7.0.svn'].G3d_minUnlocked
-    G3d_minUnlocked.restype = None
-    G3d_minUnlocked.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 597
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_beginCycle'):
-    G3d_beginCycle = _libs['grass_g3d.7.0.svn'].G3d_beginCycle
-    G3d_beginCycle.restype = c_int
-    G3d_beginCycle.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 598
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_endCycle'):
-    G3d_endCycle = _libs['grass_g3d.7.0.svn'].G3d_endCycle
-    G3d_endCycle.restype = c_int
-    G3d_endCycle.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 601
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeTile'):
-    G3d_writeTile = _libs['grass_g3d.7.0.svn'].G3d_writeTile
-    G3d_writeTile.restype = c_int
-    G3d_writeTile.argtypes = [POINTER(G3D_Map), c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 602
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeTileFloat'):
-    G3d_writeTileFloat = _libs['grass_g3d.7.0.svn'].G3d_writeTileFloat
-    G3d_writeTileFloat.restype = c_int
-    G3d_writeTileFloat.argtypes = [POINTER(G3D_Map), c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 603
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeTileDouble'):
-    G3d_writeTileDouble = _libs['grass_g3d.7.0.svn'].G3d_writeTileDouble
-    G3d_writeTileDouble.restype = c_int
-    G3d_writeTileDouble.argtypes = [POINTER(G3D_Map), c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 604
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_flushTile'):
-    G3d_flushTile = _libs['grass_g3d.7.0.svn'].G3d_flushTile
-    G3d_flushTile.restype = c_int
-    G3d_flushTile.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 605
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_flushTileCube'):
-    G3d_flushTileCube = _libs['grass_g3d.7.0.svn'].G3d_flushTileCube
-    G3d_flushTileCube.restype = c_int
-    G3d_flushTileCube.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 606
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_flushTilesInCube'):
-    G3d_flushTilesInCube = _libs['grass_g3d.7.0.svn'].G3d_flushTilesInCube
-    G3d_flushTilesInCube.restype = c_int
-    G3d_flushTilesInCube.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 607
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_putFloat'):
-    G3d_putFloat = _libs['grass_g3d.7.0.svn'].G3d_putFloat
-    G3d_putFloat.restype = c_int
-    G3d_putFloat.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 608
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_putDouble'):
-    G3d_putDouble = _libs['grass_g3d.7.0.svn'].G3d_putDouble
-    G3d_putDouble.restype = c_int
-    G3d_putDouble.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 609
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_putValue'):
-    G3d_putValue = _libs['grass_g3d.7.0.svn'].G3d_putValue
-    G3d_putValue.restype = c_int
-    G3d_putValue.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 612
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeAscii'):
-    G3d_writeAscii = _libs['grass_g3d.7.0.svn'].G3d_writeAscii
-    G3d_writeAscii.restype = None
-    G3d_writeAscii.argtypes = [POINTER(None), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 7
-try:
-    G3D_TILE_SAME_AS_FILE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 8
-try:
-    G3D_NO_COMPRESSION = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 8
-try:
-    G3D_COMPRESSION = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 9
-try:
-    G3D_USE_LZW = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 9
-try:
-    G3D_NO_LZW = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 10
-try:
-    G3D_USE_RLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 10
-try:
-    G3D_NO_RLE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 11
-try:
-    G3D_MAX_PRECISION = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_NO_CACHE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_DEFAULT = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_X = (-2)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_Y = (-3)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_Z = (-4)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_XY = (-5)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_XZ = (-6)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_YZ = (-7)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_XYZ = (-8)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 13
-try:
-    G3D_DEFAULT_WINDOW = NULL
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_DIRECTORY = 'grid3'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_CELL_ELEMENT = 'cell'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_CATS_ELEMENT = 'cats'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_RANGE_ELEMENT = 'range'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_HEADER_ELEMENT = 'cellhd'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_HISTORY_ELEMENT = 'hist'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_COLOR_ELEMENT = 'color'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_COLOR2_DIRECTORY = 'colr2'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_MASK_MAP = 'G3D_MASK'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_WINDOW_ELEMENT = 'WIND3'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_DEFAULT_WINDOW_ELEMENT = 'DEFAULT_WIND3'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_WINDOW_DATABASE = 'windows3d'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_PERMANENT_MAPSET = 'PERMANENT'
-except:
-    pass
-
-G3D_Map = struct_G3D_Map # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 73
-
-_d_interval = struct__d_interval # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 239
-
-_d_mask = struct__d_mask # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 249
-
-# No inserted files
-
diff --git a/lib/python/ctypes/gis.py b/lib/python/ctypes/gis.py
deleted file mode 100644
index c227f23..0000000
--- a/lib/python/ctypes/gis.py
+++ /dev/null
@@ -1,3879 +0,0 @@
-'''Wrapper for gis.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_gis.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h -o gis.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_gis.7.0.svn"] = load_library("grass_gis.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/config.h: 314
-class struct_stat(Structure):
-    pass
-
-STRUCT_STAT = struct_stat # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/config.h: 314
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-class struct_DateTime(Structure):
-    pass
-
-struct_DateTime.__slots__ = [
-    'mode',
-    '_from',
-    'to',
-    'fracsec',
-    'year',
-    'month',
-    'day',
-    'hour',
-    'minute',
-    'second',
-    'positive',
-    'tz',
-]
-struct_DateTime._fields_ = [
-    ('mode', c_int),
-    ('_from', c_int),
-    ('to', c_int),
-    ('fracsec', c_int),
-    ('year', c_int),
-    ('month', c_int),
-    ('day', c_int),
-    ('hour', c_int),
-    ('minute', c_int),
-    ('second', c_double),
-    ('positive', c_int),
-    ('tz', c_int),
-]
-
-DateTime = struct_DateTime # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-
-enum_anon_6 = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_UNDEFINED = 0 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_WHERE = (G_OPT_UNDEFINED + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_TABLE = (G_OPT_DB_WHERE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_DRIVER = (G_OPT_DB_TABLE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_DATABASE = (G_OPT_DB_DRIVER + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_SCHEMA = (G_OPT_DB_DATABASE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_COLUMN = (G_OPT_DB_SCHEMA + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_COLUMNS = (G_OPT_DB_COLUMN + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_KEYCOLUMN = (G_OPT_DB_COLUMNS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_I_GROUP = (G_OPT_DB_KEYCOLUMN + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_I_SUBGROUP = (G_OPT_I_GROUP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_INPUT = (G_OPT_I_SUBGROUP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_INPUTS = (G_OPT_R_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_OUTPUT = (G_OPT_R_INPUTS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_MAP = (G_OPT_R_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_MAPS = (G_OPT_R_MAP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_BASE = (G_OPT_R_MAPS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_COVER = (G_OPT_R_BASE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_ELEV = (G_OPT_R_COVER + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_ELEVS = (G_OPT_R_ELEV + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_INPUT = (G_OPT_R_ELEVS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_INPUTS = (G_OPT_R3_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_OUTPUT = (G_OPT_R3_INPUTS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_MAP = (G_OPT_R3_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_MAPS = (G_OPT_R3_MAP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_TYPE = (G_OPT_R3_MAPS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_PRECISION = (G_OPT_R3_TYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_TILE_DIMENSION = (G_OPT_R3_PRECISION + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_COMPRESSION = (G_OPT_R3_TILE_DIMENSION + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_INPUT = (G_OPT_R3_COMPRESSION + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_INPUTS = (G_OPT_V_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_OUTPUT = (G_OPT_V_INPUTS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_MAP = (G_OPT_V_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_MAPS = (G_OPT_V_MAP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_TYPE = (G_OPT_V_MAPS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V3_TYPE = (G_OPT_V_TYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_FIELD = (G_OPT_V3_TYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_FIELD_ALL = (G_OPT_V_FIELD + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_CAT = (G_OPT_V_FIELD_ALL + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_CATS = (G_OPT_V_CAT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_ID = (G_OPT_V_CATS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_IDS = (G_OPT_V_ID + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_F_INPUT = (G_OPT_V_IDS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_F_OUTPUT = (G_OPT_F_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_F_SEP = (G_OPT_F_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_C_FG = (G_OPT_F_SEP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_C_BG = (G_OPT_C_FG + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_M_UNITS = (G_OPT_C_BG + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_M_DATATYPE = (G_OPT_M_UNITS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_M_MAPSET = (G_OPT_M_DATATYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_M_EN = (G_OPT_M_MAPSET + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_M_COLR = (G_OPT_M_EN + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_M_DIR = (G_OPT_M_COLR + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-STD_OPT = enum_anon_6 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-enum_anon_7 = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_RASTER = 1 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_RASTER3D = 2 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_VECTOR = 3 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_OLDVECTOR = 4 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_ASCIIVECTOR = 5 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_ICON = 6 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_LABEL = 7 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_SITE = 8 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_REGION = 9 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_REGION3D = 10 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_GROUP = 11 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_3DVIEW = 12 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 273
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 300
-class struct_G_3dview(Structure):
-    pass
-
-struct_G_3dview.__slots__ = [
-    'pgm_id',
-    'from_to',
-    'fov',
-    'twist',
-    'exag',
-    'mesh_freq',
-    'poly_freq',
-    'display_type',
-    'lightson',
-    'dozero',
-    'colorgrid',
-    'shading',
-    'fringe',
-    'surfonly',
-    'doavg',
-    'grid_col',
-    'bg_col',
-    'other_col',
-    'lightpos',
-    'lightcol',
-    'ambient',
-    'shine',
-    'vwin',
-]
-struct_G_3dview._fields_ = [
-    ('pgm_id', c_char * 40),
-    ('from_to', (c_float * 3) * 2),
-    ('fov', c_float),
-    ('twist', c_float),
-    ('exag', c_float),
-    ('mesh_freq', c_int),
-    ('poly_freq', c_int),
-    ('display_type', c_int),
-    ('lightson', c_int),
-    ('dozero', c_int),
-    ('colorgrid', c_int),
-    ('shading', c_int),
-    ('fringe', c_int),
-    ('surfonly', c_int),
-    ('doavg', c_int),
-    ('grid_col', c_char * 40),
-    ('bg_col', c_char * 40),
-    ('other_col', c_char * 40),
-    ('lightpos', c_float * 4),
-    ('lightcol', c_float * 3),
-    ('ambient', c_float),
-    ('shine', c_float),
-    ('vwin', struct_Cell_head),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 327
-class struct_Key_Value(Structure):
-    pass
-
-struct_Key_Value.__slots__ = [
-    'nitems',
-    'nalloc',
-    'key',
-    'value',
-]
-struct_Key_Value._fields_ = [
-    ('nitems', c_int),
-    ('nalloc', c_int),
-    ('key', POINTER(POINTER(c_char))),
-    ('value', POINTER(POINTER(c_char))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 335
-class struct_Option(Structure):
-    pass
-
-struct_Option.__slots__ = [
-    'key',
-    'type',
-    'required',
-    'multiple',
-    'options',
-    'opts',
-    'key_desc',
-    'label',
-    'description',
-    'descriptions',
-    'descs',
-    'answer',
-    '_def',
-    'answers',
-    'next_opt',
-    'gisprompt',
-    'guisection',
-    'guidependency',
-    'checker',
-    'count',
-]
-struct_Option._fields_ = [
-    ('key', String),
-    ('type', c_int),
-    ('required', c_int),
-    ('multiple', c_int),
-    ('options', String),
-    ('opts', POINTER(POINTER(c_char))),
-    ('key_desc', String),
-    ('label', String),
-    ('description', String),
-    ('descriptions', String),
-    ('descs', POINTER(POINTER(c_char))),
-    ('answer', String),
-    ('_def', String),
-    ('answers', POINTER(POINTER(c_char))),
-    ('next_opt', POINTER(struct_Option)),
-    ('gisprompt', String),
-    ('guisection', String),
-    ('guidependency', String),
-    ('checker', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('count', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 366
-class struct_Flag(Structure):
-    pass
-
-struct_Flag.__slots__ = [
-    'key',
-    'answer',
-    'suppress_required',
-    'label',
-    'description',
-    'guisection',
-    'next_flag',
-]
-struct_Flag._fields_ = [
-    ('key', c_char),
-    ('answer', c_char),
-    ('suppress_required', c_char),
-    ('label', String),
-    ('description', String),
-    ('guisection', String),
-    ('next_flag', POINTER(struct_Flag)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 377
-class struct_GModule(Structure):
-    pass
-
-struct_GModule.__slots__ = [
-    'label',
-    'description',
-    'keywords',
-    'overwrite',
-    'verbose',
-]
-struct_GModule._fields_ = [
-    ('label', String),
-    ('description', String),
-    ('keywords', POINTER(POINTER(c_char))),
-    ('overwrite', c_int),
-    ('verbose', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 387
-class struct_TimeStamp(Structure):
-    pass
-
-struct_TimeStamp.__slots__ = [
-    'dt',
-    'count',
-]
-struct_TimeStamp._fields_ = [
-    ('dt', DateTime * 2),
-    ('count', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 393
-class struct_Counter(Structure):
-    pass
-
-struct_Counter.__slots__ = [
-    'value',
-]
-struct_Counter._fields_ = [
-    ('value', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 397
-class struct_Popen(Structure):
-    pass
-
-struct_Popen.__slots__ = [
-    'fp',
-    'pid',
-]
-struct_Popen._fields_ = [
-    ('fp', POINTER(FILE)),
-    ('pid', c_int),
-]
-
-CELL = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 402
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-FCELL = c_float # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 404
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 406
-class struct__Color_Value_(Structure):
-    pass
-
-struct__Color_Value_.__slots__ = [
-    'value',
-    'red',
-    'grn',
-    'blu',
-]
-struct__Color_Value_._fields_ = [
-    ('value', DCELL),
-    ('red', c_ubyte),
-    ('grn', c_ubyte),
-    ('blu', c_ubyte),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 414
-class struct__Color_Rule_(Structure):
-    pass
-
-struct__Color_Rule_.__slots__ = [
-    'low',
-    'high',
-    'next',
-    'prev',
-]
-struct__Color_Rule_._fields_ = [
-    ('low', struct__Color_Value_),
-    ('high', struct__Color_Value_),
-    ('next', POINTER(struct__Color_Rule_)),
-    ('prev', POINTER(struct__Color_Rule_)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 426
-class struct_anon_8(Structure):
-    pass
-
-struct_anon_8.__slots__ = [
-    'red',
-    'grn',
-    'blu',
-    'set',
-    'nalloc',
-    'active',
-]
-struct_anon_8._fields_ = [
-    ('red', POINTER(c_ubyte)),
-    ('grn', POINTER(c_ubyte)),
-    ('blu', POINTER(c_ubyte)),
-    ('set', POINTER(c_ubyte)),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 436
-class struct_anon_9(Structure):
-    pass
-
-struct_anon_9.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-]
-struct_anon_9._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct__Color_Rule_))),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 421
-class struct__Color_Info_(Structure):
-    pass
-
-struct__Color_Info_.__slots__ = [
-    'rules',
-    'n_rules',
-    'lookup',
-    'fp_lookup',
-    'min',
-    'max',
-]
-struct__Color_Info_._fields_ = [
-    ('rules', POINTER(struct__Color_Rule_)),
-    ('n_rules', c_int),
-    ('lookup', struct_anon_8),
-    ('fp_lookup', struct_anon_9),
-    ('min', DCELL),
-    ('max', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 448
-class struct_Colors(Structure):
-    pass
-
-struct_Colors.__slots__ = [
-    'version',
-    'shift',
-    'invert',
-    'is_float',
-    'null_set',
-    'null_red',
-    'null_grn',
-    'null_blu',
-    'undef_set',
-    'undef_red',
-    'undef_grn',
-    'undef_blu',
-    'fixed',
-    'modular',
-    'cmin',
-    'cmax',
-    'organizing',
-]
-struct_Colors._fields_ = [
-    ('version', c_int),
-    ('shift', DCELL),
-    ('invert', c_int),
-    ('is_float', c_int),
-    ('null_set', c_int),
-    ('null_red', c_ubyte),
-    ('null_grn', c_ubyte),
-    ('null_blu', c_ubyte),
-    ('undef_set', c_int),
-    ('undef_red', c_ubyte),
-    ('undef_grn', c_ubyte),
-    ('undef_blu', c_ubyte),
-    ('fixed', struct__Color_Info_),
-    ('modular', struct__Color_Info_),
-    ('cmin', DCELL),
-    ('cmax', DCELL),
-    ('organizing', c_int),
-]
-
-off_t = __off64_t # /usr/include/sys/types.h: 90
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 54
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_Cell_head'):
-    G_adjust_Cell_head = _libs['grass_gis.7.0.svn'].G_adjust_Cell_head
-    G_adjust_Cell_head.restype = None
-    G_adjust_Cell_head.argtypes = [POINTER(struct_Cell_head), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 55
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_Cell_head3'):
-    G_adjust_Cell_head3 = _libs['grass_gis.7.0.svn'].G_adjust_Cell_head3
-    G_adjust_Cell_head3.restype = None
-    G_adjust_Cell_head3.argtypes = [POINTER(struct_Cell_head), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 61
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__malloc'):
-    G__malloc = _libs['grass_gis.7.0.svn'].G__malloc
-    G__malloc.restype = POINTER(None)
-    G__malloc.argtypes = [String, c_int, c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 62
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__calloc'):
-    G__calloc = _libs['grass_gis.7.0.svn'].G__calloc
-    G__calloc.restype = POINTER(None)
-    G__calloc.argtypes = [String, c_int, c_size_t, c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 63
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__realloc'):
-    G__realloc = _libs['grass_gis.7.0.svn'].G__realloc
-    G__realloc.restype = POINTER(None)
-    G__realloc.argtypes = [String, c_int, POINTER(None), c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 64
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free'):
-    G_free = _libs['grass_gis.7.0.svn'].G_free
-    G_free.restype = None
-    G_free.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 80
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_cell_area_calculations'):
-    G_begin_cell_area_calculations = _libs['grass_gis.7.0.svn'].G_begin_cell_area_calculations
-    G_begin_cell_area_calculations.restype = c_int
-    G_begin_cell_area_calculations.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 81
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_of_cell_at_row'):
-    G_area_of_cell_at_row = _libs['grass_gis.7.0.svn'].G_area_of_cell_at_row
-    G_area_of_cell_at_row.restype = c_double
-    G_area_of_cell_at_row.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 82
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_polygon_area_calculations'):
-    G_begin_polygon_area_calculations = _libs['grass_gis.7.0.svn'].G_begin_polygon_area_calculations
-    G_begin_polygon_area_calculations.restype = c_int
-    G_begin_polygon_area_calculations.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 83
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_of_polygon'):
-    G_area_of_polygon = _libs['grass_gis.7.0.svn'].G_area_of_polygon
-    G_area_of_polygon.restype = c_double
-    G_area_of_polygon.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 86
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_zone_area_on_ellipsoid'):
-    G_begin_zone_area_on_ellipsoid = _libs['grass_gis.7.0.svn'].G_begin_zone_area_on_ellipsoid
-    G_begin_zone_area_on_ellipsoid.restype = None
-    G_begin_zone_area_on_ellipsoid.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 87
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_darea0_on_ellipsoid'):
-    G_darea0_on_ellipsoid = _libs['grass_gis.7.0.svn'].G_darea0_on_ellipsoid
-    G_darea0_on_ellipsoid.restype = c_double
-    G_darea0_on_ellipsoid.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 88
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_for_zone_on_ellipsoid'):
-    G_area_for_zone_on_ellipsoid = _libs['grass_gis.7.0.svn'].G_area_for_zone_on_ellipsoid
-    G_area_for_zone_on_ellipsoid.restype = c_double
-    G_area_for_zone_on_ellipsoid.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 91
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_ellipsoid_polygon_area'):
-    G_begin_ellipsoid_polygon_area = _libs['grass_gis.7.0.svn'].G_begin_ellipsoid_polygon_area
-    G_begin_ellipsoid_polygon_area.restype = None
-    G_begin_ellipsoid_polygon_area.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 92
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ellipsoid_polygon_area'):
-    G_ellipsoid_polygon_area = _libs['grass_gis.7.0.svn'].G_ellipsoid_polygon_area
-    G_ellipsoid_polygon_area.restype = c_double
-    G_ellipsoid_polygon_area.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 95
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_planimetric_polygon_area'):
-    G_planimetric_polygon_area = _libs['grass_gis.7.0.svn'].G_planimetric_polygon_area
-    G_planimetric_polygon_area.restype = c_double
-    G_planimetric_polygon_area.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 98
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_zone_area_on_sphere'):
-    G_begin_zone_area_on_sphere = _libs['grass_gis.7.0.svn'].G_begin_zone_area_on_sphere
-    G_begin_zone_area_on_sphere.restype = None
-    G_begin_zone_area_on_sphere.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 99
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_darea0_on_sphere'):
-    G_darea0_on_sphere = _libs['grass_gis.7.0.svn'].G_darea0_on_sphere
-    G_darea0_on_sphere.restype = c_double
-    G_darea0_on_sphere.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 100
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_for_zone_on_sphere'):
-    G_area_for_zone_on_sphere = _libs['grass_gis.7.0.svn'].G_area_for_zone_on_sphere
-    G_area_for_zone_on_sphere.restype = c_double
-    G_area_for_zone_on_sphere.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 103
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ascii_check'):
-    G_ascii_check = _libs['grass_gis.7.0.svn'].G_ascii_check
-    G_ascii_check.restype = None
-    G_ascii_check.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 115
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_vasprintf'):
-    G_vasprintf = _libs['grass_gis.7.0.svn'].G_vasprintf
-    G_vasprintf.restype = c_int
-    G_vasprintf.argtypes = [POINTER(POINTER(c_char)), String, c_void_p]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 116
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_asprintf'):
-    _func = _libs['grass_gis.7.0.svn'].G_asprintf
-    _restype = c_int
-    _argtypes = [POINTER(POINTER(c_char)), String]
-    G_asprintf = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 120
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_basename'):
-    G_basename = _libs['grass_gis.7.0.svn'].G_basename
-    G_basename.restype = ReturnString
-    G_basename.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 123
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_bresenham_line'):
-    G_bresenham_line = _libs['grass_gis.7.0.svn'].G_bresenham_line
-    G_bresenham_line.restype = None
-    G_bresenham_line.argtypes = [c_int, c_int, c_int, c_int, CFUNCTYPE(UNCHECKED(c_int), c_int, c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 126
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_clicker'):
-    G_clicker = _libs['grass_gis.7.0.svn'].G_clicker
-    G_clicker.restype = None
-    G_clicker.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 129
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_color_rules_options'):
-    G_color_rules_options = _libs['grass_gis.7.0.svn'].G_color_rules_options
-    G_color_rules_options.restype = ReturnString
-    G_color_rules_options.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 130
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_color_rules_descriptions'):
-    G_color_rules_descriptions = _libs['grass_gis.7.0.svn'].G_color_rules_descriptions
-    G_color_rules_descriptions.restype = ReturnString
-    G_color_rules_descriptions.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 131
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_list_color_rules'):
-    G_list_color_rules = _libs['grass_gis.7.0.svn'].G_list_color_rules
-    G_list_color_rules.restype = None
-    G_list_color_rules.argtypes = [POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 132
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_color_rule'):
-    G_find_color_rule = _libs['grass_gis.7.0.svn'].G_find_color_rule
-    G_find_color_rule.restype = c_int
-    G_find_color_rule.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 135
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_num_standard_colors'):
-    G_num_standard_colors = _libs['grass_gis.7.0.svn'].G_num_standard_colors
-    G_num_standard_colors.restype = c_int
-    G_num_standard_colors.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 138
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_insert_commas'):
-    G_insert_commas = _libs['grass_gis.7.0.svn'].G_insert_commas
-    G_insert_commas.restype = c_int
-    G_insert_commas.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 139
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_commas'):
-    G_remove_commas = _libs['grass_gis.7.0.svn'].G_remove_commas
-    G_remove_commas.restype = None
-    G_remove_commas.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 142
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_recursive_copy'):
-    G_recursive_copy = _libs['grass_gis.7.0.svn'].G_recursive_copy
-    G_recursive_copy.restype = c_int
-    G_recursive_copy.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 145
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_copy_file'):
-    G_copy_file = _libs['grass_gis.7.0.svn'].G_copy_file
-    G_copy_file.restype = c_int
-    G_copy_file.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 148
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_initialized'):
-    G_is_initialized = _libs['grass_gis.7.0.svn'].G_is_initialized
-    G_is_initialized.restype = c_int
-    G_is_initialized.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 149
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_initialize_done'):
-    G_initialize_done = _libs['grass_gis.7.0.svn'].G_initialize_done
-    G_initialize_done.restype = None
-    G_initialize_done.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 150
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_counter'):
-    G_init_counter = _libs['grass_gis.7.0.svn'].G_init_counter
-    G_init_counter.restype = None
-    G_init_counter.argtypes = [POINTER(struct_Counter), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 151
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_counter_next'):
-    G_counter_next = _libs['grass_gis.7.0.svn'].G_counter_next
-    G_counter_next.restype = c_int
-    G_counter_next.argtypes = [POINTER(struct_Counter)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 154
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_date'):
-    G_date = _libs['grass_gis.7.0.svn'].G_date
-    G_date.restype = ReturnString
-    G_date.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 157
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_datum_by_name'):
-    G_get_datum_by_name = _libs['grass_gis.7.0.svn'].G_get_datum_by_name
-    G_get_datum_by_name.restype = c_int
-    G_get_datum_by_name.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 158
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_datum_name'):
-    G_datum_name = _libs['grass_gis.7.0.svn'].G_datum_name
-    G_datum_name.restype = ReturnString
-    G_datum_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 159
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_datum_description'):
-    G_datum_description = _libs['grass_gis.7.0.svn'].G_datum_description
-    G_datum_description.restype = ReturnString
-    G_datum_description.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 160
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_datum_ellipsoid'):
-    G_datum_ellipsoid = _libs['grass_gis.7.0.svn'].G_datum_ellipsoid
-    G_datum_ellipsoid.restype = ReturnString
-    G_datum_ellipsoid.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 161
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_datumparams_from_projinfo'):
-    G_get_datumparams_from_projinfo = _libs['grass_gis.7.0.svn'].G_get_datumparams_from_projinfo
-    G_get_datumparams_from_projinfo.restype = c_int
-    G_get_datumparams_from_projinfo.argtypes = [POINTER(struct_Key_Value), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 162
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_datum_table'):
-    G_read_datum_table = _libs['grass_gis.7.0.svn'].G_read_datum_table
-    G_read_datum_table.restype = None
-    G_read_datum_table.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 166
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_debug'):
-    G_init_debug = _libs['grass_gis.7.0.svn'].G_init_debug
-    G_init_debug.restype = None
-    G_init_debug.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 167
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_debug'):
-    _func = _libs['grass_gis.7.0.svn'].G_debug
-    _restype = c_int
-    _argtypes = [c_int, String]
-    G_debug = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 170
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_distance_calculations'):
-    G_begin_distance_calculations = _libs['grass_gis.7.0.svn'].G_begin_distance_calculations
-    G_begin_distance_calculations.restype = c_int
-    G_begin_distance_calculations.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 171
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance'):
-    G_distance = _libs['grass_gis.7.0.svn'].G_distance
-    G_distance.restype = c_double
-    G_distance.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 172
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance_between_line_segments'):
-    G_distance_between_line_segments = _libs['grass_gis.7.0.svn'].G_distance_between_line_segments
-    G_distance_between_line_segments.restype = c_double
-    G_distance_between_line_segments.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 174
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance_point_to_line_segment'):
-    G_distance_point_to_line_segment = _libs['grass_gis.7.0.svn'].G_distance_point_to_line_segment
-    G_distance_point_to_line_segment.restype = c_double
-    G_distance_point_to_line_segment.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 178
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_done_msg'):
-    _func = _libs['grass_gis.7.0.svn'].G_done_msg
-    _restype = None
-    _argtypes = [String]
-    G_done_msg = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 181
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_little_endian'):
-    G_is_little_endian = _libs['grass_gis.7.0.svn'].G_is_little_endian
-    G_is_little_endian.restype = c_int
-    G_is_little_endian.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 184
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_env'):
-    G_init_env = _libs['grass_gis.7.0.svn'].G_init_env
-    G_init_env.restype = None
-    G_init_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 185
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getenv'):
-    G_getenv = _libs['grass_gis.7.0.svn'].G_getenv
-    G_getenv.restype = ReturnString
-    G_getenv.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 186
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getenv2'):
-    G_getenv2 = _libs['grass_gis.7.0.svn'].G_getenv2
-    G_getenv2.restype = ReturnString
-    G_getenv2.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 187
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__getenv'):
-    G__getenv = _libs['grass_gis.7.0.svn'].G__getenv
-    G__getenv.restype = ReturnString
-    G__getenv.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 188
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__getenv2'):
-    G__getenv2 = _libs['grass_gis.7.0.svn'].G__getenv2
-    G__getenv2.restype = ReturnString
-    G__getenv2.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 189
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setenv'):
-    G_setenv = _libs['grass_gis.7.0.svn'].G_setenv
-    G_setenv.restype = None
-    G_setenv.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 190
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setenv2'):
-    G_setenv2 = _libs['grass_gis.7.0.svn'].G_setenv2
-    G_setenv2.restype = None
-    G_setenv2.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 191
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__setenv'):
-    G__setenv = _libs['grass_gis.7.0.svn'].G__setenv
-    G__setenv.restype = None
-    G__setenv.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 192
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__setenv2'):
-    G__setenv2 = _libs['grass_gis.7.0.svn'].G__setenv2
-    G__setenv2.restype = None
-    G__setenv2.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 193
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unsetenv'):
-    G_unsetenv = _libs['grass_gis.7.0.svn'].G_unsetenv
-    G_unsetenv.restype = None
-    G_unsetenv.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 194
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unsetenv2'):
-    G_unsetenv2 = _libs['grass_gis.7.0.svn'].G_unsetenv2
-    G_unsetenv2.restype = None
-    G_unsetenv2.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 195
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_env'):
-    G__write_env = _libs['grass_gis.7.0.svn'].G__write_env
-    G__write_env.restype = None
-    G__write_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 196
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__env_name'):
-    G__env_name = _libs['grass_gis.7.0.svn'].G__env_name
-    G__env_name.restype = ReturnString
-    G__env_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 197
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_env'):
-    G__read_env = _libs['grass_gis.7.0.svn'].G__read_env
-    G__read_env.restype = None
-    G__read_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 198
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_gisrc_mode'):
-    G_set_gisrc_mode = _libs['grass_gis.7.0.svn'].G_set_gisrc_mode
-    G_set_gisrc_mode.restype = None
-    G_set_gisrc_mode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 199
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_gisrc_mode'):
-    G_get_gisrc_mode = _libs['grass_gis.7.0.svn'].G_get_gisrc_mode
-    G_get_gisrc_mode.restype = c_int
-    G_get_gisrc_mode.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 200
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__create_alt_env'):
-    G__create_alt_env = _libs['grass_gis.7.0.svn'].G__create_alt_env
-    G__create_alt_env.restype = None
-    G__create_alt_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 201
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__switch_env'):
-    G__switch_env = _libs['grass_gis.7.0.svn'].G__switch_env
-    G__switch_env.restype = None
-    G__switch_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 204
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_info_format'):
-    G_info_format = _libs['grass_gis.7.0.svn'].G_info_format
-    G_info_format.restype = c_int
-    G_info_format.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 205
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_message'):
-    _func = _libs['grass_gis.7.0.svn'].G_message
-    _restype = None
-    _argtypes = [String]
-    G_message = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 206
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_message'):
-    _func = _libs['grass_gis.7.0.svn'].G_verbose_message
-    _restype = None
-    _argtypes = [String]
-    G_verbose_message = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 208
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_important_message'):
-    _func = _libs['grass_gis.7.0.svn'].G_important_message
-    _restype = None
-    _argtypes = [String]
-    G_important_message = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 210
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fatal_error'):
-    _func = _libs['grass_gis.7.0.svn'].G_fatal_error
-    _restype = None
-    _argtypes = [String]
-    G_fatal_error = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 212
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_warning'):
-    _func = _libs['grass_gis.7.0.svn'].G_warning
-    _restype = None
-    _argtypes = [String]
-    G_warning = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 213
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_suppress_warnings'):
-    G_suppress_warnings = _libs['grass_gis.7.0.svn'].G_suppress_warnings
-    G_suppress_warnings.restype = c_int
-    G_suppress_warnings.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 214
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_sleep_on_error'):
-    G_sleep_on_error = _libs['grass_gis.7.0.svn'].G_sleep_on_error
-    G_sleep_on_error.restype = c_int
-    G_sleep_on_error.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 215
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_error_routine'):
-    G_set_error_routine = _libs['grass_gis.7.0.svn'].G_set_error_routine
-    G_set_error_routine.restype = None
-    G_set_error_routine.argtypes = [CFUNCTYPE(UNCHECKED(c_int), String, c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 216
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unset_error_routine'):
-    G_unset_error_routine = _libs['grass_gis.7.0.svn'].G_unset_error_routine
-    G_unset_error_routine.restype = None
-    G_unset_error_routine.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 217
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_logging'):
-    G_init_logging = _libs['grass_gis.7.0.svn'].G_init_logging
-    G_init_logging.restype = None
-    G_init_logging.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 220
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_file_name'):
-    G_file_name = _libs['grass_gis.7.0.svn'].G_file_name
-    G_file_name.restype = ReturnString
-    G_file_name.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 221
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_file_name_misc'):
-    G_file_name_misc = _libs['grass_gis.7.0.svn'].G_file_name_misc
-    G_file_name_misc.restype = ReturnString
-    G_file_name_misc.argtypes = [String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 225
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file'):
-    G_find_file = _libs['grass_gis.7.0.svn'].G_find_file
-    G_find_file.restype = ReturnString
-    G_find_file.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 226
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file2'):
-    G_find_file2 = _libs['grass_gis.7.0.svn'].G_find_file2
-    G_find_file2.restype = ReturnString
-    G_find_file2.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 227
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file_misc'):
-    G_find_file_misc = _libs['grass_gis.7.0.svn'].G_find_file_misc
-    G_find_file_misc.restype = ReturnString
-    G_find_file_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 228
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file2_misc'):
-    G_find_file2_misc = _libs['grass_gis.7.0.svn'].G_find_file2_misc
-    G_find_file2_misc.restype = ReturnString
-    G_find_file2_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 232
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_etc'):
-    G_find_etc = _libs['grass_gis.7.0.svn'].G_find_etc
-    G_find_etc.restype = ReturnString
-    G_find_etc.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 235
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_raster'):
-    G_find_raster = _libs['grass_gis.7.0.svn'].G_find_raster
-    G_find_raster.restype = ReturnString
-    G_find_raster.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 236
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_raster2'):
-    G_find_raster2 = _libs['grass_gis.7.0.svn'].G_find_raster2
-    G_find_raster2.restype = ReturnString
-    G_find_raster2.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 239
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_raster3d'):
-    G_find_raster3d = _libs['grass_gis.7.0.svn'].G_find_raster3d
-    G_find_raster3d.restype = ReturnString
-    G_find_raster3d.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 242
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_vector'):
-    G_find_vector = _libs['grass_gis.7.0.svn'].G_find_vector
-    G_find_vector.restype = ReturnString
-    G_find_vector.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 243
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_vector2'):
-    G_find_vector2 = _libs['grass_gis.7.0.svn'].G_find_vector2
-    G_find_vector2.restype = ReturnString
-    G_find_vector2.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 246
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_compress'):
-    G_zlib_compress = _libs['grass_gis.7.0.svn'].G_zlib_compress
-    G_zlib_compress.restype = c_int
-    G_zlib_compress.argtypes = [POINTER(c_ubyte), c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 247
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_expand'):
-    G_zlib_expand = _libs['grass_gis.7.0.svn'].G_zlib_expand
-    G_zlib_expand.restype = c_int
-    G_zlib_expand.argtypes = [POINTER(c_ubyte), c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 248
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_write'):
-    G_zlib_write = _libs['grass_gis.7.0.svn'].G_zlib_write
-    G_zlib_write.restype = c_int
-    G_zlib_write.argtypes = [c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 249
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_read'):
-    G_zlib_read = _libs['grass_gis.7.0.svn'].G_zlib_read
-    G_zlib_read.restype = c_int
-    G_zlib_read.argtypes = [c_int, c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 250
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_write_noCompress'):
-    G_zlib_write_noCompress = _libs['grass_gis.7.0.svn'].G_zlib_write_noCompress
-    G_zlib_write_noCompress.restype = c_int
-    G_zlib_write_noCompress.argtypes = [c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 253
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_geodesic_equation'):
-    G_begin_geodesic_equation = _libs['grass_gis.7.0.svn'].G_begin_geodesic_equation
-    G_begin_geodesic_equation.restype = c_int
-    G_begin_geodesic_equation.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 254
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_geodesic_lat_from_lon'):
-    G_geodesic_lat_from_lon = _libs['grass_gis.7.0.svn'].G_geodesic_lat_from_lon
-    G_geodesic_lat_from_lon.restype = c_double
-    G_geodesic_lat_from_lon.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 257
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_geodesic_distance'):
-    G_begin_geodesic_distance = _libs['grass_gis.7.0.svn'].G_begin_geodesic_distance
-    G_begin_geodesic_distance.restype = None
-    G_begin_geodesic_distance.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 258
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_geodesic_distance_lat1'):
-    G_set_geodesic_distance_lat1 = _libs['grass_gis.7.0.svn'].G_set_geodesic_distance_lat1
-    G_set_geodesic_distance_lat1.restype = None
-    G_set_geodesic_distance_lat1.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 259
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_geodesic_distance_lat2'):
-    G_set_geodesic_distance_lat2 = _libs['grass_gis.7.0.svn'].G_set_geodesic_distance_lat2
-    G_set_geodesic_distance_lat2.restype = None
-    G_set_geodesic_distance_lat2.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 260
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_geodesic_distance_lon_to_lon'):
-    G_geodesic_distance_lon_to_lon = _libs['grass_gis.7.0.svn'].G_geodesic_distance_lon_to_lon
-    G_geodesic_distance_lon_to_lon.restype = c_double
-    G_geodesic_distance_lon_to_lon.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 261
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_geodesic_distance'):
-    G_geodesic_distance = _libs['grass_gis.7.0.svn'].G_geodesic_distance
-    G_geodesic_distance.restype = c_double
-    G_geodesic_distance.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 264
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_ellipsoid_parameters'):
-    G_get_ellipsoid_parameters = _libs['grass_gis.7.0.svn'].G_get_ellipsoid_parameters
-    G_get_ellipsoid_parameters.restype = c_int
-    G_get_ellipsoid_parameters.argtypes = [POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 265
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_spheroid_by_name'):
-    G_get_spheroid_by_name = _libs['grass_gis.7.0.svn'].G_get_spheroid_by_name
-    G_get_spheroid_by_name.restype = c_int
-    G_get_spheroid_by_name.argtypes = [String, POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 266
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_ellipsoid_by_name'):
-    G_get_ellipsoid_by_name = _libs['grass_gis.7.0.svn'].G_get_ellipsoid_by_name
-    G_get_ellipsoid_by_name.restype = c_int
-    G_get_ellipsoid_by_name.argtypes = [String, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 267
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ellipsoid_name'):
-    G_ellipsoid_name = _libs['grass_gis.7.0.svn'].G_ellipsoid_name
-    G_ellipsoid_name.restype = ReturnString
-    G_ellipsoid_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 268
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ellipsoid_description'):
-    G_ellipsoid_description = _libs['grass_gis.7.0.svn'].G_ellipsoid_description
-    G_ellipsoid_description.restype = ReturnString
-    G_ellipsoid_description.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 269
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_ellipsoid_table'):
-    G_read_ellipsoid_table = _libs['grass_gis.7.0.svn'].G_read_ellipsoid_table
-    G_read_ellipsoid_table.restype = c_int
-    G_read_ellipsoid_table.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 272
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_projunits'):
-    G_get_projunits = _libs['grass_gis.7.0.svn'].G_get_projunits
-    G_get_projunits.restype = POINTER(struct_Key_Value)
-    G_get_projunits.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 273
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_projinfo'):
-    G_get_projinfo = _libs['grass_gis.7.0.svn'].G_get_projinfo
-    G_get_projinfo.restype = POINTER(struct_Key_Value)
-    G_get_projinfo.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 276
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_window'):
-    G_get_window = _libs['grass_gis.7.0.svn'].G_get_window
-    G_get_window.restype = None
-    G_get_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 277
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_default_window'):
-    G_get_default_window = _libs['grass_gis.7.0.svn'].G_get_default_window
-    G_get_default_window.restype = None
-    G_get_default_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 278
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__get_window'):
-    G__get_window = _libs['grass_gis.7.0.svn'].G__get_window
-    G__get_window.restype = None
-    G__get_window.argtypes = [POINTER(struct_Cell_head), String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 282
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getl'):
-    G_getl = _libs['grass_gis.7.0.svn'].G_getl
-    G_getl.restype = c_int
-    G_getl.argtypes = [String, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 283
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getl2'):
-    G_getl2 = _libs['grass_gis.7.0.svn'].G_getl2
-    G_getl2.restype = c_int
-    G_getl2.argtypes = [String, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 286
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_gisbase'):
-    G_gisbase = _libs['grass_gis.7.0.svn'].G_gisbase
-    G_gisbase.restype = ReturnString
-    G_gisbase.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 289
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_gisdbase'):
-    G_gisdbase = _libs['grass_gis.7.0.svn'].G_gisdbase
-    G_gisdbase.restype = ReturnString
-    G_gisdbase.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 292
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__gisinit'):
-    G__gisinit = _libs['grass_gis.7.0.svn'].G__gisinit
-    G__gisinit.restype = None
-    G__gisinit.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 293
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__no_gisinit'):
-    G__no_gisinit = _libs['grass_gis.7.0.svn'].G__no_gisinit
-    G__no_gisinit.restype = None
-    G__no_gisinit.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 294
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__check_gisinit'):
-    G__check_gisinit = _libs['grass_gis.7.0.svn'].G__check_gisinit
-    G__check_gisinit.restype = None
-    G__check_gisinit.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 295
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_all'):
-    G_init_all = _libs['grass_gis.7.0.svn'].G_init_all
-    G_init_all.restype = None
-    G_init_all.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 298
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_add_error_handler'):
-    G_add_error_handler = _libs['grass_gis.7.0.svn'].G_add_error_handler
-    G_add_error_handler.restype = None
-    G_add_error_handler.argtypes = [CFUNCTYPE(UNCHECKED(None), POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 299
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_error_handler'):
-    G_remove_error_handler = _libs['grass_gis.7.0.svn'].G_remove_error_handler
-    G_remove_error_handler.restype = None
-    G_remove_error_handler.argtypes = [CFUNCTYPE(UNCHECKED(None), POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 300
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__call_error_handlers'):
-    G__call_error_handlers = _libs['grass_gis.7.0.svn'].G__call_error_handlers
-    G__call_error_handlers.restype = None
-    G__call_error_handlers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 303
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_home'):
-    G_home = _libs['grass_gis.7.0.svn'].G_home
-    G_home.restype = ReturnString
-    G_home.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 304
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__home'):
-    G__home = _libs['grass_gis.7.0.svn'].G__home
-    G__home.restype = ReturnString
-    G__home.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 307
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_intersect_line_segments'):
-    G_intersect_line_segments = _libs['grass_gis.7.0.svn'].G_intersect_line_segments
-    G_intersect_line_segments.restype = c_int
-    G_intersect_line_segments.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 312
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_gisbase'):
-    G_is_gisbase = _libs['grass_gis.7.0.svn'].G_is_gisbase
-    G_is_gisbase.restype = c_int
-    G_is_gisbase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 313
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_location'):
-    G_is_location = _libs['grass_gis.7.0.svn'].G_is_location
-    G_is_location.restype = c_int
-    G_is_location.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 314
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_mapset'):
-    G_is_mapset = _libs['grass_gis.7.0.svn'].G_is_mapset
-    G_is_mapset.restype = c_int
-    G_is_mapset.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 317
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_create_key_value'):
-    G_create_key_value = _libs['grass_gis.7.0.svn'].G_create_key_value
-    G_create_key_value.restype = POINTER(struct_Key_Value)
-    G_create_key_value.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 318
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_key_value'):
-    G_set_key_value = _libs['grass_gis.7.0.svn'].G_set_key_value
-    G_set_key_value.restype = None
-    G_set_key_value.argtypes = [String, String, POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 319
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_key_value'):
-    G_find_key_value = _libs['grass_gis.7.0.svn'].G_find_key_value
-    G_find_key_value.restype = ReturnString
-    G_find_key_value.argtypes = [String, POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 320
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_key_value'):
-    G_free_key_value = _libs['grass_gis.7.0.svn'].G_free_key_value
-    G_free_key_value.restype = None
-    G_free_key_value.argtypes = [POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 323
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fwrite_key_value'):
-    G_fwrite_key_value = _libs['grass_gis.7.0.svn'].G_fwrite_key_value
-    G_fwrite_key_value.restype = c_int
-    G_fwrite_key_value.argtypes = [POINTER(FILE), POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 324
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fread_key_value'):
-    G_fread_key_value = _libs['grass_gis.7.0.svn'].G_fread_key_value
-    G_fread_key_value.restype = POINTER(struct_Key_Value)
-    G_fread_key_value.argtypes = [POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 327
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_key_value_file'):
-    G_write_key_value_file = _libs['grass_gis.7.0.svn'].G_write_key_value_file
-    G_write_key_value_file.restype = None
-    G_write_key_value_file.argtypes = [String, POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 328
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_key_value_file'):
-    G_read_key_value_file = _libs['grass_gis.7.0.svn'].G_read_key_value_file
-    G_read_key_value_file.restype = POINTER(struct_Key_Value)
-    G_read_key_value_file.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 331
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_update_key_value_file'):
-    G_update_key_value_file = _libs['grass_gis.7.0.svn'].G_update_key_value_file
-    G_update_key_value_file.restype = None
-    G_update_key_value_file.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 332
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lookup_key_value_from_file'):
-    G_lookup_key_value_from_file = _libs['grass_gis.7.0.svn'].G_lookup_key_value_from_file
-    G_lookup_key_value_from_file.restype = c_int
-    G_lookup_key_value_from_file.argtypes = [String, String, POINTER(c_char), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 335
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_legal_filename'):
-    G_legal_filename = _libs['grass_gis.7.0.svn'].G_legal_filename
-    G_legal_filename.restype = c_int
-    G_legal_filename.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 336
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_check_input_output_name'):
-    G_check_input_output_name = _libs['grass_gis.7.0.svn'].G_check_input_output_name
-    G_check_input_output_name.restype = c_int
-    G_check_input_output_name.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 339
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_distance_to_line_tolerance'):
-    G_set_distance_to_line_tolerance = _libs['grass_gis.7.0.svn'].G_set_distance_to_line_tolerance
-    G_set_distance_to_line_tolerance.restype = None
-    G_set_distance_to_line_tolerance.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 340
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance2_point_to_line'):
-    G_distance2_point_to_line = _libs['grass_gis.7.0.svn'].G_distance2_point_to_line
-    G_distance2_point_to_line.restype = c_double
-    G_distance2_point_to_line.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 344
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_list_element'):
-    G_list_element = _libs['grass_gis.7.0.svn'].G_list_element
-    G_list_element.restype = None
-    G_list_element.argtypes = [String, String, String, CFUNCTYPE(UNCHECKED(c_int), String, String, String)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 346
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_list'):
-    G_list = _libs['grass_gis.7.0.svn'].G_list
-    G_list.restype = POINTER(POINTER(c_char))
-    G_list.argtypes = [c_int, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 347
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_list'):
-    G_free_list = _libs['grass_gis.7.0.svn'].G_free_list
-    G_free_list.restype = None
-    G_free_list.argtypes = [POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 350
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_format'):
-    G_lat_format = _libs['grass_gis.7.0.svn'].G_lat_format
-    G_lat_format.restype = None
-    G_lat_format.argtypes = [c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 351
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_format_string'):
-    G_lat_format_string = _libs['grass_gis.7.0.svn'].G_lat_format_string
-    G_lat_format_string.restype = ReturnString
-    G_lat_format_string.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 352
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_format'):
-    G_lon_format = _libs['grass_gis.7.0.svn'].G_lon_format
-    G_lon_format.restype = None
-    G_lon_format.argtypes = [c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 353
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_format_string'):
-    G_lon_format_string = _libs['grass_gis.7.0.svn'].G_lon_format_string
-    G_lon_format_string.restype = ReturnString
-    G_lon_format_string.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 354
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_llres_format'):
-    G_llres_format = _libs['grass_gis.7.0.svn'].G_llres_format
-    G_llres_format.restype = None
-    G_llres_format.argtypes = [c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 355
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_llres_format_string'):
-    G_llres_format_string = _libs['grass_gis.7.0.svn'].G_llres_format_string
-    G_llres_format_string.restype = ReturnString
-    G_llres_format_string.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 356
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_parts'):
-    G_lat_parts = _libs['grass_gis.7.0.svn'].G_lat_parts
-    G_lat_parts.restype = None
-    G_lat_parts.argtypes = [c_double, POINTER(c_int), POINTER(c_int), POINTER(c_double), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 357
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_parts'):
-    G_lon_parts = _libs['grass_gis.7.0.svn'].G_lon_parts
-    G_lon_parts.restype = None
-    G_lon_parts.argtypes = [c_double, POINTER(c_int), POINTER(c_int), POINTER(c_double), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 360
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_scan'):
-    G_lat_scan = _libs['grass_gis.7.0.svn'].G_lat_scan
-    G_lat_scan.restype = c_int
-    G_lat_scan.argtypes = [String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 361
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_scan'):
-    G_lon_scan = _libs['grass_gis.7.0.svn'].G_lon_scan
-    G_lon_scan.restype = c_int
-    G_lon_scan.argtypes = [String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 362
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_llres_scan'):
-    G_llres_scan = _libs['grass_gis.7.0.svn'].G_llres_scan
-    G_llres_scan.restype = c_int
-    G_llres_scan.argtypes = [String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 365
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_location'):
-    G_location = _libs['grass_gis.7.0.svn'].G_location
-    G_location.restype = ReturnString
-    G_location.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 366
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_location_path'):
-    G_location_path = _libs['grass_gis.7.0.svn'].G_location_path
-    G_location_path.restype = ReturnString
-    G_location_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 367
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__location_path'):
-    G__location_path = _libs['grass_gis.7.0.svn'].G__location_path
-    G__location_path.restype = ReturnString
-    G__location_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 370
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_ls_filter'):
-    G_set_ls_filter = _libs['grass_gis.7.0.svn'].G_set_ls_filter
-    G_set_ls_filter.restype = None
-    G_set_ls_filter.argtypes = [CFUNCTYPE(UNCHECKED(c_int), String, POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 371
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_ls_exclude_filter'):
-    G_set_ls_exclude_filter = _libs['grass_gis.7.0.svn'].G_set_ls_exclude_filter
-    G_set_ls_exclude_filter.restype = None
-    G_set_ls_exclude_filter.argtypes = [CFUNCTYPE(UNCHECKED(c_int), String, POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 372
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__ls'):
-    G__ls = _libs['grass_gis.7.0.svn'].G__ls
-    G__ls.restype = POINTER(POINTER(c_char))
-    G__ls.argtypes = [String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 373
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls'):
-    G_ls = _libs['grass_gis.7.0.svn'].G_ls
-    G_ls.restype = None
-    G_ls.argtypes = [String, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 374
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls_format'):
-    G_ls_format = _libs['grass_gis.7.0.svn'].G_ls_format
-    G_ls_format.restype = None
-    G_ls_format.argtypes = [POINTER(POINTER(c_char)), c_int, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 378
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls_regex_filter'):
-    G_ls_regex_filter = _libs['grass_gis.7.0.svn'].G_ls_regex_filter
-    G_ls_regex_filter.restype = POINTER(None)
-    G_ls_regex_filter.argtypes = [String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 379
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls_glob_filter'):
-    G_ls_glob_filter = _libs['grass_gis.7.0.svn'].G_ls_glob_filter
-    G_ls_glob_filter.restype = POINTER(None)
-    G_ls_glob_filter.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 380
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_ls_filter'):
-    G_free_ls_filter = _libs['grass_gis.7.0.svn'].G_free_ls_filter
-    G_free_ls_filter.restype = None
-    G_free_ls_filter.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 384
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__machine_name'):
-    G__machine_name = _libs['grass_gis.7.0.svn'].G__machine_name
-    G__machine_name.restype = ReturnString
-    G__machine_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 387
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_location'):
-    G__make_location = _libs['grass_gis.7.0.svn'].G__make_location
-    G__make_location.restype = c_int
-    G__make_location.argtypes = [String, POINTER(struct_Cell_head), POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 389
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_make_location'):
-    G_make_location = _libs['grass_gis.7.0.svn'].G_make_location
-    G_make_location.restype = c_int
-    G_make_location.argtypes = [String, POINTER(struct_Cell_head), POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 391
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_compare_projections'):
-    G_compare_projections = _libs['grass_gis.7.0.svn'].G_compare_projections
-    G_compare_projections.restype = c_int
-    G_compare_projections.argtypes = [POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 395
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_mapset'):
-    G__make_mapset = _libs['grass_gis.7.0.svn'].G__make_mapset
-    G__make_mapset.restype = c_int
-    G__make_mapset.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 397
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_make_mapset'):
-    G_make_mapset = _libs['grass_gis.7.0.svn'].G_make_mapset
-    G_make_mapset.restype = c_int
-    G_make_mapset.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 401
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tolcase'):
-    G_tolcase = _libs['grass_gis.7.0.svn'].G_tolcase
-    G_tolcase.restype = ReturnString
-    G_tolcase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 402
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_toucase'):
-    G_toucase = _libs['grass_gis.7.0.svn'].G_toucase
-    G_toucase.restype = ReturnString
-    G_toucase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 405
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_mapset'):
-    G_mapset = _libs['grass_gis.7.0.svn'].G_mapset
-    G_mapset.restype = ReturnString
-    G_mapset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 406
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset'):
-    G__mapset = _libs['grass_gis.7.0.svn'].G__mapset
-    G__mapset.restype = ReturnString
-    G__mapset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 409
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_mapset_element'):
-    G__make_mapset_element = _libs['grass_gis.7.0.svn'].G__make_mapset_element
-    G__make_mapset_element.restype = c_int
-    G__make_mapset_element.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 410
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_mapset_element_misc'):
-    G__make_mapset_element_misc = _libs['grass_gis.7.0.svn'].G__make_mapset_element_misc
-    G__make_mapset_element_misc.restype = c_int
-    G__make_mapset_element_misc.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 411
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset_permissions'):
-    G__mapset_permissions = _libs['grass_gis.7.0.svn'].G__mapset_permissions
-    G__mapset_permissions.restype = c_int
-    G__mapset_permissions.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 412
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset_permissions2'):
-    G__mapset_permissions2 = _libs['grass_gis.7.0.svn'].G__mapset_permissions2
-    G__mapset_permissions2.restype = c_int
-    G__mapset_permissions2.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 415
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset_name'):
-    G__mapset_name = _libs['grass_gis.7.0.svn'].G__mapset_name
-    G__mapset_name.restype = ReturnString
-    G__mapset_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 416
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_list_of_mapsets'):
-    G_get_list_of_mapsets = _libs['grass_gis.7.0.svn'].G_get_list_of_mapsets
-    G_get_list_of_mapsets.restype = None
-    G_get_list_of_mapsets.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 417
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__create_alt_search_path'):
-    G__create_alt_search_path = _libs['grass_gis.7.0.svn'].G__create_alt_search_path
-    G__create_alt_search_path.restype = None
-    G__create_alt_search_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 418
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__switch_search_path'):
-    G__switch_search_path = _libs['grass_gis.7.0.svn'].G__switch_search_path
-    G__switch_search_path.restype = None
-    G__switch_search_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 419
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_reset_mapsets'):
-    G_reset_mapsets = _libs['grass_gis.7.0.svn'].G_reset_mapsets
-    G_reset_mapsets.restype = None
-    G_reset_mapsets.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 420
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_available_mapsets'):
-    G_available_mapsets = _libs['grass_gis.7.0.svn'].G_available_mapsets
-    G_available_mapsets.restype = POINTER(POINTER(c_char))
-    G_available_mapsets.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 421
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_add_mapset_to_search_path'):
-    G_add_mapset_to_search_path = _libs['grass_gis.7.0.svn'].G_add_mapset_to_search_path
-    G_add_mapset_to_search_path.restype = None
-    G_add_mapset_to_search_path.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 422
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_mapset_in_search_path'):
-    G_is_mapset_in_search_path = _libs['grass_gis.7.0.svn'].G_is_mapset_in_search_path
-    G_is_mapset_in_search_path.restype = c_int
-    G_is_mapset_in_search_path.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 425
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_myname'):
-    G_myname = _libs['grass_gis.7.0.svn'].G_myname
-    G_myname.restype = ReturnString
-    G_myname.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 428
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_color_values'):
-    G_color_values = _libs['grass_gis.7.0.svn'].G_color_values
-    G_color_values.restype = c_int
-    G_color_values.argtypes = [String, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 429
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_color_name'):
-    G_color_name = _libs['grass_gis.7.0.svn'].G_color_name
-    G_color_name.restype = ReturnString
-    G_color_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 432
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_newlines_to_spaces'):
-    G_newlines_to_spaces = _libs['grass_gis.7.0.svn'].G_newlines_to_spaces
-    G_newlines_to_spaces.restype = None
-    G_newlines_to_spaces.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 435
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_name_is_fully_qualified'):
-    G_name_is_fully_qualified = _libs['grass_gis.7.0.svn'].G_name_is_fully_qualified
-    G_name_is_fully_qualified.restype = c_int
-    G_name_is_fully_qualified.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 436
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fully_qualified_name'):
-    G_fully_qualified_name = _libs['grass_gis.7.0.svn'].G_fully_qualified_name
-    G_fully_qualified_name.restype = ReturnString
-    G_fully_qualified_name.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 437
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unqualified_name'):
-    G_unqualified_name = _libs['grass_gis.7.0.svn'].G_unqualified_name
-    G_unqualified_name.restype = c_int
-    G_unqualified_name.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 440
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_new'):
-    G_open_new = _libs['grass_gis.7.0.svn'].G_open_new
-    G_open_new.restype = c_int
-    G_open_new.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 441
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_old'):
-    G_open_old = _libs['grass_gis.7.0.svn'].G_open_old
-    G_open_old.restype = c_int
-    G_open_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 442
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_update'):
-    G_open_update = _libs['grass_gis.7.0.svn'].G_open_update
-    G_open_update.restype = c_int
-    G_open_update.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 443
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_new'):
-    G_fopen_new = _libs['grass_gis.7.0.svn'].G_fopen_new
-    G_fopen_new.restype = POINTER(FILE)
-    G_fopen_new.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 444
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_old'):
-    G_fopen_old = _libs['grass_gis.7.0.svn'].G_fopen_old
-    G_fopen_old.restype = POINTER(FILE)
-    G_fopen_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 445
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_append'):
-    G_fopen_append = _libs['grass_gis.7.0.svn'].G_fopen_append
-    G_fopen_append.restype = POINTER(FILE)
-    G_fopen_append.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 446
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_modify'):
-    G_fopen_modify = _libs['grass_gis.7.0.svn'].G_fopen_modify
-    G_fopen_modify.restype = POINTER(FILE)
-    G_fopen_modify.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 449
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_new_misc'):
-    G_open_new_misc = _libs['grass_gis.7.0.svn'].G_open_new_misc
-    G_open_new_misc.restype = c_int
-    G_open_new_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 450
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_old_misc'):
-    G_open_old_misc = _libs['grass_gis.7.0.svn'].G_open_old_misc
-    G_open_old_misc.restype = c_int
-    G_open_old_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 451
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_update_misc'):
-    G_open_update_misc = _libs['grass_gis.7.0.svn'].G_open_update_misc
-    G_open_update_misc.restype = c_int
-    G_open_update_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 452
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_new_misc'):
-    G_fopen_new_misc = _libs['grass_gis.7.0.svn'].G_fopen_new_misc
-    G_fopen_new_misc.restype = POINTER(FILE)
-    G_fopen_new_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 453
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_old_misc'):
-    G_fopen_old_misc = _libs['grass_gis.7.0.svn'].G_fopen_old_misc
-    G_fopen_old_misc.restype = POINTER(FILE)
-    G_fopen_old_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 455
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_append_misc'):
-    G_fopen_append_misc = _libs['grass_gis.7.0.svn'].G_fopen_append_misc
-    G_fopen_append_misc.restype = POINTER(FILE)
-    G_fopen_append_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 456
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_modify_misc'):
-    G_fopen_modify_misc = _libs['grass_gis.7.0.svn'].G_fopen_modify_misc
-    G_fopen_modify_misc.restype = POINTER(FILE)
-    G_fopen_modify_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 459
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_check_overwrite'):
-    G_check_overwrite = _libs['grass_gis.7.0.svn'].G_check_overwrite
-    G_check_overwrite.restype = c_int
-    G_check_overwrite.argtypes = [c_int, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 462
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_pager'):
-    G_open_pager = _libs['grass_gis.7.0.svn'].G_open_pager
-    G_open_pager.restype = POINTER(FILE)
-    G_open_pager.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 463
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_close_pager'):
-    G_close_pager = _libs['grass_gis.7.0.svn'].G_close_pager
-    G_close_pager.restype = None
-    G_close_pager.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 464
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_mail'):
-    G_open_mail = _libs['grass_gis.7.0.svn'].G_open_mail
-    G_open_mail.restype = POINTER(FILE)
-    G_open_mail.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 465
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_close_mail'):
-    G_close_mail = _libs['grass_gis.7.0.svn'].G_close_mail
-    G_close_mail.restype = None
-    G_close_mail.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 468
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_disable_interactive'):
-    G_disable_interactive = _libs['grass_gis.7.0.svn'].G_disable_interactive
-    G_disable_interactive.restype = None
-    G_disable_interactive.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 469
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_module'):
-    G_define_module = _libs['grass_gis.7.0.svn'].G_define_module
-    G_define_module.restype = POINTER(struct_GModule)
-    G_define_module.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 470
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_flag'):
-    G_define_flag = _libs['grass_gis.7.0.svn'].G_define_flag
-    G_define_flag.restype = POINTER(struct_Flag)
-    G_define_flag.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 471
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_option'):
-    G_define_option = _libs['grass_gis.7.0.svn'].G_define_option
-    G_define_option.restype = POINTER(struct_Option)
-    G_define_option.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 472
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_standard_option'):
-    G_define_standard_option = _libs['grass_gis.7.0.svn'].G_define_standard_option
-    G_define_standard_option.restype = POINTER(struct_Option)
-    G_define_standard_option.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 473
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_parser'):
-    G_parser = _libs['grass_gis.7.0.svn'].G_parser
-    G_parser.restype = c_int
-    G_parser.argtypes = [c_int, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 474
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_usage'):
-    G_usage = _libs['grass_gis.7.0.svn'].G_usage
-    G_usage.restype = None
-    G_usage.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 475
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_recreate_command'):
-    G_recreate_command = _libs['grass_gis.7.0.svn'].G_recreate_command
-    G_recreate_command.restype = ReturnString
-    G_recreate_command.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 476
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_add_keyword'):
-    G_add_keyword = _libs['grass_gis.7.0.svn'].G_add_keyword
-    G_add_keyword.restype = None
-    G_add_keyword.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 477
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_keywords'):
-    G_set_keywords = _libs['grass_gis.7.0.svn'].G_set_keywords
-    G_set_keywords.restype = None
-    G_set_keywords.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 478
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_overwrite'):
-    G_get_overwrite = _libs['grass_gis.7.0.svn'].G_get_overwrite
-    G_get_overwrite.restype = c_int
-    G_get_overwrite.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 481
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_mkdir'):
-    G_mkdir = _libs['grass_gis.7.0.svn'].G_mkdir
-    G_mkdir.restype = c_int
-    G_mkdir.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 482
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_dirsep'):
-    G_is_dirsep = _libs['grass_gis.7.0.svn'].G_is_dirsep
-    G_is_dirsep.restype = c_int
-    G_is_dirsep.argtypes = [c_char]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 483
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_absolute_path'):
-    G_is_absolute_path = _libs['grass_gis.7.0.svn'].G_is_absolute_path
-    G_is_absolute_path.restype = c_int
-    G_is_absolute_path.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 484
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_convert_dirseps_to_host'):
-    G_convert_dirseps_to_host = _libs['grass_gis.7.0.svn'].G_convert_dirseps_to_host
-    G_convert_dirseps_to_host.restype = ReturnString
-    G_convert_dirseps_to_host.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 485
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_convert_dirseps_from_host'):
-    G_convert_dirseps_from_host = _libs['grass_gis.7.0.svn'].G_convert_dirseps_from_host
-    G_convert_dirseps_from_host.restype = ReturnString
-    G_convert_dirseps_from_host.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 486
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lstat'):
-    G_lstat = _libs['grass_gis.7.0.svn'].G_lstat
-    G_lstat.restype = c_int
-    G_lstat.argtypes = [String, POINTER(STRUCT_STAT)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 487
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_stat'):
-    G_stat = _libs['grass_gis.7.0.svn'].G_stat
-    G_stat.restype = c_int
-    G_stat.argtypes = [String, POINTER(STRUCT_STAT)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 490
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_percent'):
-    G_percent = _libs['grass_gis.7.0.svn'].G_percent
-    G_percent.restype = None
-    G_percent.argtypes = [c_long, c_long, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 491
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_percent_reset'):
-    G_percent_reset = _libs['grass_gis.7.0.svn'].G_percent_reset
-    G_percent_reset.restype = None
-    G_percent_reset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 492
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_percent_routine'):
-    G_set_percent_routine = _libs['grass_gis.7.0.svn'].G_set_percent_routine
-    G_set_percent_routine.restype = None
-    G_set_percent_routine.argtypes = [CFUNCTYPE(UNCHECKED(c_int), c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 493
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unset_percent_routine'):
-    G_unset_percent_routine = _libs['grass_gis.7.0.svn'].G_unset_percent_routine
-    G_unset_percent_routine.restype = None
-    G_unset_percent_routine.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 496
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_clear'):
-    G_popen_clear = _libs['grass_gis.7.0.svn'].G_popen_clear
-    G_popen_clear.restype = None
-    G_popen_clear.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 497
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_write'):
-    G_popen_write = _libs['grass_gis.7.0.svn'].G_popen_write
-    G_popen_write.restype = POINTER(FILE)
-    G_popen_write.argtypes = [POINTER(struct_Popen), String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 498
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_read'):
-    G_popen_read = _libs['grass_gis.7.0.svn'].G_popen_read
-    G_popen_read.restype = POINTER(FILE)
-    G_popen_read.argtypes = [POINTER(struct_Popen), String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 499
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_close'):
-    G_popen_close = _libs['grass_gis.7.0.svn'].G_popen_close
-    G_popen_close.restype = None
-    G_popen_close.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 502
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setup_plot'):
-    G_setup_plot = _libs['grass_gis.7.0.svn'].G_setup_plot
-    G_setup_plot.restype = None
-    G_setup_plot.argtypes = [c_double, c_double, c_double, c_double, CFUNCTYPE(UNCHECKED(c_int), c_int, c_int), CFUNCTYPE(UNCHECKED(c_int), c_int, c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 504
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setup_fill'):
-    G_setup_fill = _libs['grass_gis.7.0.svn'].G_setup_fill
-    G_setup_fill.restype = None
-    G_setup_fill.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 505
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_where_xy'):
-    G_plot_where_xy = _libs['grass_gis.7.0.svn'].G_plot_where_xy
-    G_plot_where_xy.restype = None
-    G_plot_where_xy.argtypes = [c_double, c_double, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 506
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_where_en'):
-    G_plot_where_en = _libs['grass_gis.7.0.svn'].G_plot_where_en
-    G_plot_where_en.restype = None
-    G_plot_where_en.argtypes = [c_int, c_int, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 507
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_point'):
-    G_plot_point = _libs['grass_gis.7.0.svn'].G_plot_point
-    G_plot_point.restype = None
-    G_plot_point.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 508
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_line'):
-    G_plot_line = _libs['grass_gis.7.0.svn'].G_plot_line
-    G_plot_line.restype = None
-    G_plot_line.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 509
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_line2'):
-    G_plot_line2 = _libs['grass_gis.7.0.svn'].G_plot_line2
-    G_plot_line2.restype = None
-    G_plot_line2.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 510
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_polygon'):
-    G_plot_polygon = _libs['grass_gis.7.0.svn'].G_plot_polygon
-    G_plot_polygon.restype = c_int
-    G_plot_polygon.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 511
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_area'):
-    G_plot_area = _libs['grass_gis.7.0.svn'].G_plot_area
-    G_plot_area.restype = c_int
-    G_plot_area.argtypes = [POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 512
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_fx'):
-    G_plot_fx = _libs['grass_gis.7.0.svn'].G_plot_fx
-    G_plot_fx.restype = None
-    G_plot_fx.argtypes = [CFUNCTYPE(UNCHECKED(c_double), c_double), c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 515
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_pole_in_polygon'):
-    G_pole_in_polygon = _libs['grass_gis.7.0.svn'].G_pole_in_polygon
-    G_pole_in_polygon.restype = c_int
-    G_pole_in_polygon.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 518
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_program_name'):
-    G_program_name = _libs['grass_gis.7.0.svn'].G_program_name
-    G_program_name.restype = ReturnString
-    G_program_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 519
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_program_name'):
-    G_set_program_name = _libs['grass_gis.7.0.svn'].G_set_program_name
-    G_set_program_name.restype = None
-    G_set_program_name.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 522
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_projection'):
-    G_projection = _libs['grass_gis.7.0.svn'].G_projection
-    G_projection.restype = c_int
-    G_projection.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 525
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__projection_units'):
-    G__projection_units = _libs['grass_gis.7.0.svn'].G__projection_units
-    G__projection_units.restype = c_int
-    G__projection_units.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 526
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__projection_name'):
-    G__projection_name = _libs['grass_gis.7.0.svn'].G__projection_name
-    G__projection_name.restype = ReturnString
-    G__projection_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 529
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_unit_name'):
-    G_database_unit_name = _libs['grass_gis.7.0.svn'].G_database_unit_name
-    G_database_unit_name.restype = ReturnString
-    G_database_unit_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 530
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_projection_name'):
-    G_database_projection_name = _libs['grass_gis.7.0.svn'].G_database_projection_name
-    G_database_projection_name.restype = ReturnString
-    G_database_projection_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 531
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_datum_name'):
-    G_database_datum_name = _libs['grass_gis.7.0.svn'].G_database_datum_name
-    G_database_datum_name.restype = ReturnString
-    G_database_datum_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 532
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_ellipse_name'):
-    G_database_ellipse_name = _libs['grass_gis.7.0.svn'].G_database_ellipse_name
-    G_database_ellipse_name.restype = ReturnString
-    G_database_ellipse_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 533
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_units_to_meters_factor'):
-    G_database_units_to_meters_factor = _libs['grass_gis.7.0.svn'].G_database_units_to_meters_factor
-    G_database_units_to_meters_factor.restype = c_double
-    G_database_units_to_meters_factor.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 536
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_put_window'):
-    G_put_window = _libs['grass_gis.7.0.svn'].G_put_window
-    G_put_window.restype = c_int
-    G_put_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 537
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__put_window'):
-    G__put_window = _libs['grass_gis.7.0.svn'].G__put_window
-    G__put_window.restype = c_int
-    G__put_window.argtypes = [POINTER(struct_Cell_head), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 540
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_putenv'):
-    G_putenv = _libs['grass_gis.7.0.svn'].G_putenv
-    G_putenv.restype = None
-    G_putenv.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 543
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_meridional_radius_of_curvature'):
-    G_meridional_radius_of_curvature = _libs['grass_gis.7.0.svn'].G_meridional_radius_of_curvature
-    G_meridional_radius_of_curvature.restype = c_double
-    G_meridional_radius_of_curvature.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 544
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_transverse_radius_of_curvature'):
-    G_transverse_radius_of_curvature = _libs['grass_gis.7.0.svn'].G_transverse_radius_of_curvature
-    G_transverse_radius_of_curvature.restype = c_double
-    G_transverse_radius_of_curvature.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 545
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_radius_of_conformal_tangent_sphere'):
-    G_radius_of_conformal_tangent_sphere = _libs['grass_gis.7.0.svn'].G_radius_of_conformal_tangent_sphere
-    G_radius_of_conformal_tangent_sphere.restype = c_double
-    G_radius_of_conformal_tangent_sphere.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 548
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_Cell_head'):
-    G__read_Cell_head = _libs['grass_gis.7.0.svn'].G__read_Cell_head
-    G__read_Cell_head.restype = None
-    G__read_Cell_head.argtypes = [POINTER(FILE), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 549
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_Cell_head_array'):
-    G__read_Cell_head_array = _libs['grass_gis.7.0.svn'].G__read_Cell_head_array
-    G__read_Cell_head_array.restype = None
-    G__read_Cell_head_array.argtypes = [POINTER(POINTER(c_char)), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 552
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove'):
-    G_remove = _libs['grass_gis.7.0.svn'].G_remove
-    G_remove.restype = c_int
-    G_remove.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 553
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_misc'):
-    G_remove_misc = _libs['grass_gis.7.0.svn'].G_remove_misc
-    G_remove_misc.restype = c_int
-    G_remove_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 556
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rename_file'):
-    G_rename_file = _libs['grass_gis.7.0.svn'].G_rename_file
-    G_rename_file.restype = c_int
-    G_rename_file.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 557
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rename'):
-    G_rename = _libs['grass_gis.7.0.svn'].G_rename
-    G_rename.restype = c_int
-    G_rename.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 560
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_rhumbline_equation'):
-    G_begin_rhumbline_equation = _libs['grass_gis.7.0.svn'].G_begin_rhumbline_equation
-    G_begin_rhumbline_equation.restype = c_int
-    G_begin_rhumbline_equation.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 561
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rhumbline_lat_from_lon'):
-    G_rhumbline_lat_from_lon = _libs['grass_gis.7.0.svn'].G_rhumbline_lat_from_lon
-    G_rhumbline_lat_from_lon.restype = c_double
-    G_rhumbline_lat_from_lon.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 564
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rotate_around_point'):
-    G_rotate_around_point = _libs['grass_gis.7.0.svn'].G_rotate_around_point
-    G_rotate_around_point.restype = None
-    G_rotate_around_point.argtypes = [c_double, c_double, POINTER(c_double), POINTER(c_double), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 565
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rotate_around_point_int'):
-    G_rotate_around_point_int = _libs['grass_gis.7.0.svn'].G_rotate_around_point_int
-    G_rotate_around_point_int.restype = None
-    G_rotate_around_point_int.argtypes = [c_int, c_int, POINTER(c_int), POINTER(c_int), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 568
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ftell'):
-    G_ftell = _libs['grass_gis.7.0.svn'].G_ftell
-    G_ftell.restype = off_t
-    G_ftell.argtypes = [POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 569
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fseek'):
-    G_fseek = _libs['grass_gis.7.0.svn'].G_fseek
-    G_fseek.restype = None
-    G_fseek.argtypes = [POINTER(FILE), off_t, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 572
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_set_window'):
-    G_get_set_window = _libs['grass_gis.7.0.svn'].G_get_set_window
-    G_get_set_window.restype = None
-    G_get_set_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 573
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_window'):
-    G_set_window = _libs['grass_gis.7.0.svn'].G_set_window
-    G_set_window.restype = None
-    G_set_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 574
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unset_window'):
-    G_unset_window = _libs['grass_gis.7.0.svn'].G_unset_window
-    G_unset_window.restype = None
-    G_unset_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 577
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_shortest_way'):
-    G_shortest_way = _libs['grass_gis.7.0.svn'].G_shortest_way
-    G_shortest_way.restype = None
-    G_shortest_way.argtypes = [POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 580
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_sleep'):
-    G_sleep = _libs['grass_gis.7.0.svn'].G_sleep
-    G_sleep.restype = None
-    G_sleep.argtypes = [c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 583
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_snprintf'):
-    _func = _libs['grass_gis.7.0.svn'].G_snprintf
-    _restype = c_int
-    _argtypes = [String, c_size_t, String]
-    G_snprintf = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 587
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strcasecmp'):
-    G_strcasecmp = _libs['grass_gis.7.0.svn'].G_strcasecmp
-    G_strcasecmp.restype = c_int
-    G_strcasecmp.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 588
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strncasecmp'):
-    G_strncasecmp = _libs['grass_gis.7.0.svn'].G_strncasecmp
-    G_strncasecmp.restype = c_int
-    G_strncasecmp.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 589
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_store'):
-    G_store = _libs['grass_gis.7.0.svn'].G_store
-    G_store.restype = ReturnString
-    G_store.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 590
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strchg'):
-    G_strchg = _libs['grass_gis.7.0.svn'].G_strchg
-    G_strchg.restype = ReturnString
-    G_strchg.argtypes = [String, c_char, c_char]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 591
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_replace'):
-    G_str_replace = _libs['grass_gis.7.0.svn'].G_str_replace
-    G_str_replace.restype = ReturnString
-    G_str_replace.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 592
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strip'):
-    G_strip = _libs['grass_gis.7.0.svn'].G_strip
-    G_strip.restype = None
-    G_strip.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 593
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_chop'):
-    G_chop = _libs['grass_gis.7.0.svn'].G_chop
-    G_chop.restype = ReturnString
-    G_chop.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 594
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_to_upper'):
-    G_str_to_upper = _libs['grass_gis.7.0.svn'].G_str_to_upper
-    G_str_to_upper.restype = None
-    G_str_to_upper.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 595
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_to_lower'):
-    G_str_to_lower = _libs['grass_gis.7.0.svn'].G_str_to_lower
-    G_str_to_lower.restype = None
-    G_str_to_lower.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 596
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_to_sql'):
-    G_str_to_sql = _libs['grass_gis.7.0.svn'].G_str_to_sql
-    G_str_to_sql.restype = c_int
-    G_str_to_sql.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 597
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_squeeze'):
-    G_squeeze = _libs['grass_gis.7.0.svn'].G_squeeze
-    G_squeeze.restype = None
-    G_squeeze.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 598
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strcasestr'):
-    G_strcasestr = _libs['grass_gis.7.0.svn'].G_strcasestr
-    G_strcasestr.restype = ReturnString
-    G_strcasestr.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 601
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_tempfile'):
-    G_init_tempfile = _libs['grass_gis.7.0.svn'].G_init_tempfile
-    G_init_tempfile.restype = None
-    G_init_tempfile.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 602
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tempfile'):
-    G_tempfile = _libs['grass_gis.7.0.svn'].G_tempfile
-    G_tempfile.restype = ReturnString
-    G_tempfile.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 603
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__tempfile'):
-    G__tempfile = _libs['grass_gis.7.0.svn'].G__tempfile
-    G__tempfile.restype = ReturnString
-    G__tempfile.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 604
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__temp_element'):
-    G__temp_element = _libs['grass_gis.7.0.svn'].G__temp_element
-    G__temp_element.restype = None
-    G__temp_element.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 607
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_timestamp'):
-    G_init_timestamp = _libs['grass_gis.7.0.svn'].G_init_timestamp
-    G_init_timestamp.restype = None
-    G_init_timestamp.argtypes = [POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 608
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_timestamp'):
-    G_set_timestamp = _libs['grass_gis.7.0.svn'].G_set_timestamp
-    G_set_timestamp.restype = None
-    G_set_timestamp.argtypes = [POINTER(struct_TimeStamp), POINTER(struct_DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 609
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_timestamp_range'):
-    G_set_timestamp_range = _libs['grass_gis.7.0.svn'].G_set_timestamp_range
-    G_set_timestamp_range.restype = None
-    G_set_timestamp_range.argtypes = [POINTER(struct_TimeStamp), POINTER(struct_DateTime), POINTER(struct_DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 611
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_timestamp'):
-    G__read_timestamp = _libs['grass_gis.7.0.svn'].G__read_timestamp
-    G__read_timestamp.restype = c_int
-    G__read_timestamp.argtypes = [POINTER(FILE), POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 612
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_timestamp'):
-    G__write_timestamp = _libs['grass_gis.7.0.svn'].G__write_timestamp
-    G__write_timestamp.restype = c_int
-    G__write_timestamp.argtypes = [POINTER(FILE), POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 613
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_timestamps'):
-    G_get_timestamps = _libs['grass_gis.7.0.svn'].G_get_timestamps
-    G_get_timestamps.restype = None
-    G_get_timestamps.argtypes = [POINTER(struct_TimeStamp), POINTER(struct_DateTime), POINTER(struct_DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 614
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_raster_timestamp'):
-    G_read_raster_timestamp = _libs['grass_gis.7.0.svn'].G_read_raster_timestamp
-    G_read_raster_timestamp.restype = c_int
-    G_read_raster_timestamp.argtypes = [String, String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 615
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_vector_timestamp'):
-    G_read_vector_timestamp = _libs['grass_gis.7.0.svn'].G_read_vector_timestamp
-    G_read_vector_timestamp.restype = c_int
-    G_read_vector_timestamp.argtypes = [String, String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 616
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_raster_timestamp'):
-    G_write_raster_timestamp = _libs['grass_gis.7.0.svn'].G_write_raster_timestamp
-    G_write_raster_timestamp.restype = c_int
-    G_write_raster_timestamp.argtypes = [String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 617
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_vector_timestamp'):
-    G_write_vector_timestamp = _libs['grass_gis.7.0.svn'].G_write_vector_timestamp
-    G_write_vector_timestamp.restype = c_int
-    G_write_vector_timestamp.argtypes = [String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 618
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_timestamp'):
-    G_format_timestamp = _libs['grass_gis.7.0.svn'].G_format_timestamp
-    G_format_timestamp.restype = c_int
-    G_format_timestamp.argtypes = [POINTER(struct_TimeStamp), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 619
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_timestamp'):
-    G_scan_timestamp = _libs['grass_gis.7.0.svn'].G_scan_timestamp
-    G_scan_timestamp.restype = c_int
-    G_scan_timestamp.argtypes = [POINTER(struct_TimeStamp), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 620
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_raster_timestamp'):
-    G_remove_raster_timestamp = _libs['grass_gis.7.0.svn'].G_remove_raster_timestamp
-    G_remove_raster_timestamp.restype = c_int
-    G_remove_raster_timestamp.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 621
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_vector_timestamp'):
-    G_remove_vector_timestamp = _libs['grass_gis.7.0.svn'].G_remove_vector_timestamp
-    G_remove_vector_timestamp.restype = c_int
-    G_remove_vector_timestamp.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 622
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_grid3_timestamp'):
-    G_read_grid3_timestamp = _libs['grass_gis.7.0.svn'].G_read_grid3_timestamp
-    G_read_grid3_timestamp.restype = c_int
-    G_read_grid3_timestamp.argtypes = [String, String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 623
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_grid3_timestamp'):
-    G_remove_grid3_timestamp = _libs['grass_gis.7.0.svn'].G_remove_grid3_timestamp
-    G_remove_grid3_timestamp.restype = c_int
-    G_remove_grid3_timestamp.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 624
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_grid3_timestamp'):
-    G_write_grid3_timestamp = _libs['grass_gis.7.0.svn'].G_write_grid3_timestamp
-    G_write_grid3_timestamp.restype = c_int
-    G_write_grid3_timestamp.argtypes = [String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 627
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tokenize'):
-    G_tokenize = _libs['grass_gis.7.0.svn'].G_tokenize
-    G_tokenize.restype = POINTER(POINTER(c_char))
-    G_tokenize.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 628
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tokenize2'):
-    G_tokenize2 = _libs['grass_gis.7.0.svn'].G_tokenize2
-    G_tokenize2.restype = POINTER(POINTER(c_char))
-    G_tokenize2.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 629
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_number_of_tokens'):
-    G_number_of_tokens = _libs['grass_gis.7.0.svn'].G_number_of_tokens
-    G_number_of_tokens.restype = c_int
-    G_number_of_tokens.argtypes = [POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 630
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_tokens'):
-    G_free_tokens = _libs['grass_gis.7.0.svn'].G_free_tokens
-    G_free_tokens.restype = None
-    G_free_tokens.argtypes = [POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 633
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_trim_decimal'):
-    G_trim_decimal = _libs['grass_gis.7.0.svn'].G_trim_decimal
-    G_trim_decimal.restype = None
-    G_trim_decimal.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 636
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_units_to_meters_factor'):
-    G_units_to_meters_factor = _libs['grass_gis.7.0.svn'].G_units_to_meters_factor
-    G_units_to_meters_factor.restype = c_double
-    G_units_to_meters_factor.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 637
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_units_to_meters_factor_sq'):
-    G_units_to_meters_factor_sq = _libs['grass_gis.7.0.svn'].G_units_to_meters_factor_sq
-    G_units_to_meters_factor_sq.restype = c_double
-    G_units_to_meters_factor_sq.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 638
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_units_name'):
-    G_get_units_name = _libs['grass_gis.7.0.svn'].G_get_units_name
-    G_get_units_name.restype = ReturnString
-    G_get_units_name.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 639
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_units'):
-    G_units = _libs['grass_gis.7.0.svn'].G_units
-    G_units.restype = c_int
-    G_units.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 643
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rc_path'):
-    G_rc_path = _libs['grass_gis.7.0.svn'].G_rc_path
-    G_rc_path.restype = ReturnString
-    G_rc_path.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 647
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose'):
-    G_verbose = _libs['grass_gis.7.0.svn'].G_verbose
-    G_verbose.restype = c_int
-    G_verbose.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 648
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_min'):
-    G_verbose_min = _libs['grass_gis.7.0.svn'].G_verbose_min
-    G_verbose_min.restype = c_int
-    G_verbose_min.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 649
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_std'):
-    G_verbose_std = _libs['grass_gis.7.0.svn'].G_verbose_std
-    G_verbose_std.restype = c_int
-    G_verbose_std.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 650
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_max'):
-    G_verbose_max = _libs['grass_gis.7.0.svn'].G_verbose_max
-    G_verbose_max.restype = c_int
-    G_verbose_max.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 651
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_verbose'):
-    G_set_verbose = _libs['grass_gis.7.0.svn'].G_set_verbose
-    G_set_verbose.restype = c_int
-    G_set_verbose.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 654
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_3dview_warning'):
-    G_3dview_warning = _libs['grass_gis.7.0.svn'].G_3dview_warning
-    G_3dview_warning.restype = None
-    G_3dview_warning.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 655
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_3dview_defaults'):
-    G_get_3dview_defaults = _libs['grass_gis.7.0.svn'].G_get_3dview_defaults
-    G_get_3dview_defaults.restype = c_int
-    G_get_3dview_defaults.argtypes = [POINTER(struct_G_3dview), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 656
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_put_3dview'):
-    G_put_3dview = _libs['grass_gis.7.0.svn'].G_put_3dview
-    G_put_3dview.restype = c_int
-    G_put_3dview.argtypes = [String, String, POINTER(struct_G_3dview), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 658
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_3dview'):
-    G_get_3dview = _libs['grass_gis.7.0.svn'].G_get_3dview
-    G_get_3dview.restype = c_int
-    G_get_3dview.argtypes = [String, String, POINTER(struct_G_3dview)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 661
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_whoami'):
-    G_whoami = _libs['grass_gis.7.0.svn'].G_whoami
-    G_whoami.restype = ReturnString
-    G_whoami.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 664
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_window_to_box'):
-    G_adjust_window_to_box = _libs['grass_gis.7.0.svn'].G_adjust_window_to_box
-    G_adjust_window_to_box.restype = None
-    G_adjust_window_to_box.argtypes = [POINTER(struct_Cell_head), POINTER(struct_Cell_head), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 668
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_northing'):
-    G_format_northing = _libs['grass_gis.7.0.svn'].G_format_northing
-    G_format_northing.restype = None
-    G_format_northing.argtypes = [c_double, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 669
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_easting'):
-    G_format_easting = _libs['grass_gis.7.0.svn'].G_format_easting
-    G_format_easting.restype = None
-    G_format_easting.argtypes = [c_double, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 670
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_resolution'):
-    G_format_resolution = _libs['grass_gis.7.0.svn'].G_format_resolution
-    G_format_resolution.restype = None
-    G_format_resolution.argtypes = [c_double, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 673
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_point_in_region'):
-    G_point_in_region = _libs['grass_gis.7.0.svn'].G_point_in_region
-    G_point_in_region.restype = c_int
-    G_point_in_region.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 674
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_point_in_window'):
-    G_point_in_window = _libs['grass_gis.7.0.svn'].G_point_in_window
-    G_point_in_window.restype = c_int
-    G_point_in_window.argtypes = [c_double, c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 677
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_east'):
-    G_limit_east = _libs['grass_gis.7.0.svn'].G_limit_east
-    G_limit_east.restype = c_int
-    G_limit_east.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 678
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_west'):
-    G_limit_west = _libs['grass_gis.7.0.svn'].G_limit_west
-    G_limit_west.restype = c_int
-    G_limit_west.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 679
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_north'):
-    G_limit_north = _libs['grass_gis.7.0.svn'].G_limit_north
-    G_limit_north.restype = c_int
-    G_limit_north.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 680
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_south'):
-    G_limit_south = _libs['grass_gis.7.0.svn'].G_limit_south
-    G_limit_south.restype = c_int
-    G_limit_south.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 683
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_window_overlap'):
-    G_window_overlap = _libs['grass_gis.7.0.svn'].G_window_overlap
-    G_window_overlap.restype = c_int
-    G_window_overlap.argtypes = [POINTER(struct_Cell_head), c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 685
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_window_percentage_overlap'):
-    G_window_percentage_overlap = _libs['grass_gis.7.0.svn'].G_window_percentage_overlap
-    G_window_percentage_overlap.restype = c_double
-    G_window_percentage_overlap.argtypes = [POINTER(struct_Cell_head), c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 689
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_northing'):
-    G_scan_northing = _libs['grass_gis.7.0.svn'].G_scan_northing
-    G_scan_northing.restype = c_int
-    G_scan_northing.argtypes = [String, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 690
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_easting'):
-    G_scan_easting = _libs['grass_gis.7.0.svn'].G_scan_easting
-    G_scan_easting.restype = c_int
-    G_scan_easting.argtypes = [String, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 691
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_resolution'):
-    G_scan_resolution = _libs['grass_gis.7.0.svn'].G_scan_resolution
-    G_scan_resolution.restype = c_int
-    G_scan_resolution.argtypes = [String, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 694
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_east_longitude'):
-    G_adjust_east_longitude = _libs['grass_gis.7.0.svn'].G_adjust_east_longitude
-    G_adjust_east_longitude.restype = c_double
-    G_adjust_east_longitude.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 695
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_easting'):
-    G_adjust_easting = _libs['grass_gis.7.0.svn'].G_adjust_easting
-    G_adjust_easting.restype = c_double
-    G_adjust_easting.argtypes = [c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 696
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__init_window'):
-    G__init_window = _libs['grass_gis.7.0.svn'].G__init_window
-    G__init_window.restype = None
-    G__init_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 699
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_execute'):
-    G_begin_execute = _libs['grass_gis.7.0.svn'].G_begin_execute
-    G_begin_execute.restype = None
-    G_begin_execute.argtypes = [CFUNCTYPE(UNCHECKED(None), POINTER(None)), POINTER(None), POINTER(POINTER(None)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 700
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_end_execute'):
-    G_end_execute = _libs['grass_gis.7.0.svn'].G_end_execute
-    G_end_execute.restype = None
-    G_end_execute.argtypes = [POINTER(POINTER(None))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 701
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_workers'):
-    G_init_workers = _libs['grass_gis.7.0.svn'].G_init_workers
-    G_init_workers.restype = None
-    G_init_workers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 702
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_finish_workers'):
-    G_finish_workers = _libs['grass_gis.7.0.svn'].G_finish_workers
-    G_finish_workers.restype = None
-    G_finish_workers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 705
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_Cell_head'):
-    G__write_Cell_head = _libs['grass_gis.7.0.svn'].G__write_Cell_head
-    G__write_Cell_head.restype = None
-    G__write_Cell_head.argtypes = [POINTER(FILE), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 706
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_Cell_head3'):
-    G__write_Cell_head3 = _libs['grass_gis.7.0.svn'].G__write_Cell_head3
-    G__write_Cell_head3.restype = None
-    G__write_Cell_head3.argtypes = [POINTER(FILE), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 709
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_zeros'):
-    G_write_zeros = _libs['grass_gis.7.0.svn'].G_write_zeros
-    G_write_zeros.restype = None
-    G_write_zeros.argtypes = [c_int, c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 712
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zero'):
-    G_zero = _libs['grass_gis.7.0.svn'].G_zero
-    G_zero.restype = None
-    G_zero.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 715
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zone'):
-    G_zone = _libs['grass_gis.7.0.svn'].G_zone
-    G_zone.restype = c_int
-    G_zone.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 40
-try:
-    GIS_H_VERSION = '$Revision: 47604 $'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 40
-try:
-    GIS_H_DATE = '$Date: 2011-08-13 01:14:30 +0200 (Sat, 13 Aug 2011) $'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 41
-def G_gisinit(pgm):
-    return (G__gisinit (GIS_H_VERSION, pgm))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 41
-try:
-    G_no_gisinit = (G__no_gisinit (GIS_H_VERSION))
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 44
-try:
-    TRUE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 47
-try:
-    FALSE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 50
-try:
-    PRI_OFF_T = 'lld'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 54
-try:
-    NEWLINE = '\\n'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_UNDEFINED = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_UNKNOWN = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_ACRES = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_HECTARES = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_KILOMETERS = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_METERS = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_MILES = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_FEET = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_RADIANS = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_DEGREES = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_XY = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_UTM = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_SP = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_LL = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_OTHER = 99
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 60
-try:
-    PROJECTION_FILE = 'PROJ_INFO'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 60
-try:
-    UNIT_FILE = 'PROJ_UNITS'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 61
-try:
-    CONFIG_DIR = '.grass7'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 64
-try:
-    M_PI = 3.1415926535897931
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 66
-try:
-    M_PI_2 = 1.5707963267948966
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 68
-try:
-    M_PI_4 = 0.78539816339744828
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 70
-try:
-    GRASS_EPSILON = 1.0000000000000001e-15
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 72
-try:
-    G_VAR_GISRC = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 72
-try:
-    G_VAR_MAPSET = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 74
-try:
-    G_GISRC_MODE_FILE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 74
-try:
-    G_GISRC_MODE_MEMORY = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    TYPE_INTEGER = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    TYPE_DOUBLE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    TYPE_STRING = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    YES = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    NO = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 78
-try:
-    GNAME_MAX = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 78
-try:
-    GMAPSET_MAX = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 79
-try:
-    GPATH_MAX = 4096
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 92
-def deserialize_int32_le(buf):
-    return (((((buf [0]) << 0) | ((buf [1]) << 8)) | ((buf [2]) << 16)) | ((buf [3]) << 24))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 104
-def deserialize_int32_be(buf):
-    return (((((buf [0]) << 24) | ((buf [1]) << 16)) | ((buf [2]) << 8)) | ((buf [3]) << 0))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 109
-try:
-    GRASS_DIRSEP = '/'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 113
-try:
-    HOST_DIRSEP = '/'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 113
-try:
-    G_DEV_NULL = '/dev/null'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 179
-try:
-    G_INFO_FORMAT_STANDARD = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 179
-try:
-    G_INFO_FORMAT_GUI = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 179
-try:
-    G_INFO_FORMAT_SILENT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 179
-try:
-    G_INFO_FORMAT_PLAIN = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 181
-try:
-    G_ICON_CROSS = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 181
-try:
-    G_ICON_BOX = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 181
-try:
-    G_ICON_ARROW = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 183
-try:
-    DEFAULT_FG_COLOR = 'black'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 183
-try:
-    DEFAULT_BG_COLOR = 'white'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 185
-try:
-    GR_FATAL_EXIT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 185
-try:
-    GR_FATAL_PRINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 185
-try:
-    GR_FATAL_RETURN = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 190
-try:
-    GV_KEY_COLUMN = 'cat'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 45
-def G__alloca(n):
-    return (G_malloc (n))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 45
-def G__freea(p):
-    return (G_free (p))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 58
-def G_incr_void_ptr(ptr, size):
-    return (ptr + size)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 74
-def G_malloc(n):
-    return (G__malloc ('<ctypesgen>', 0, n))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 74
-def G_calloc(m, n):
-    return (G__calloc ('<ctypesgen>', 0, m, n))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 74
-def G_realloc(p, n):
-    return (G__realloc ('<ctypesgen>', 0, p, n))
-
-Cell_head = struct_Cell_head # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 273
-
-G_3dview = struct_G_3dview # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 300
-
-Key_Value = struct_Key_Value # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 327
-
-Option = struct_Option # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 335
-
-Flag = struct_Flag # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 366
-
-GModule = struct_GModule # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 377
-
-TimeStamp = struct_TimeStamp # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 387
-
-Counter = struct_Counter # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 393
-
-Popen = struct_Popen # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 397
-
-_Color_Value_ = struct__Color_Value_ # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 406
-
-_Color_Rule_ = struct__Color_Rule_ # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 414
-
-_Color_Info_ = struct__Color_Info_ # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 421
-
-Colors = struct_Colors # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 448
-
-# No inserted files
-
diff --git a/lib/python/ctypes/gmath.py b/lib/python/ctypes/gmath.py
deleted file mode 100644
index 1792ff6..0000000
--- a/lib/python/ctypes/gmath.py
+++ /dev/null
@@ -1,1389 +0,0 @@
-'''Wrapper for gmath.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_gmath.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h -o gmath.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_gmath.7.0.svn"] = load_library("grass_gmath.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 50
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_alloc_vector'):
-    G_alloc_vector = _libs['grass_gmath.7.0.svn'].G_alloc_vector
-    G_alloc_vector.restype = POINTER(c_double)
-    G_alloc_vector.argtypes = [c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 51
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_alloc_matrix'):
-    G_alloc_matrix = _libs['grass_gmath.7.0.svn'].G_alloc_matrix
-    G_alloc_matrix.restype = POINTER(POINTER(c_double))
-    G_alloc_matrix.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 52
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_alloc_fvector'):
-    G_alloc_fvector = _libs['grass_gmath.7.0.svn'].G_alloc_fvector
-    G_alloc_fvector.restype = POINTER(c_float)
-    G_alloc_fvector.argtypes = [c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 53
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_alloc_fmatrix'):
-    G_alloc_fmatrix = _libs['grass_gmath.7.0.svn'].G_alloc_fmatrix
-    G_alloc_fmatrix.restype = POINTER(POINTER(c_float))
-    G_alloc_fmatrix.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 54
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_free_vector'):
-    G_free_vector = _libs['grass_gmath.7.0.svn'].G_free_vector
-    G_free_vector.restype = None
-    G_free_vector.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 55
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_free_matrix'):
-    G_free_matrix = _libs['grass_gmath.7.0.svn'].G_free_matrix
-    G_free_matrix.restype = None
-    G_free_matrix.argtypes = [POINTER(POINTER(c_double))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 56
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_free_fvector'):
-    G_free_fvector = _libs['grass_gmath.7.0.svn'].G_free_fvector
-    G_free_fvector.restype = None
-    G_free_fvector.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 57
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_free_fmatrix'):
-    G_free_fmatrix = _libs['grass_gmath.7.0.svn'].G_free_fmatrix
-    G_free_fmatrix.restype = None
-    G_free_fmatrix.argtypes = [POINTER(POINTER(c_float))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 60
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_alloc_ivector'):
-    G_alloc_ivector = _libs['grass_gmath.7.0.svn'].G_alloc_ivector
-    G_alloc_ivector.restype = POINTER(c_int)
-    G_alloc_ivector.argtypes = [c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 61
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_alloc_imatrix'):
-    G_alloc_imatrix = _libs['grass_gmath.7.0.svn'].G_alloc_imatrix
-    G_alloc_imatrix.restype = POINTER(POINTER(c_int))
-    G_alloc_imatrix.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 62
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_free_ivector'):
-    G_free_ivector = _libs['grass_gmath.7.0.svn'].G_free_ivector
-    G_free_ivector.restype = None
-    G_free_ivector.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 63
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_free_imatrix'):
-    G_free_imatrix = _libs['grass_gmath.7.0.svn'].G_free_imatrix
-    G_free_imatrix.restype = None
-    G_free_imatrix.argtypes = [POINTER(POINTER(c_int))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 66
-if hasattr(_libs['grass_gmath.7.0.svn'], 'fft'):
-    fft = _libs['grass_gmath.7.0.svn'].fft
-    fft.restype = c_int
-    fft.argtypes = [c_int, POINTER(c_double) * 2, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 67
-if hasattr(_libs['grass_gmath.7.0.svn'], 'fft2'):
-    fft2 = _libs['grass_gmath.7.0.svn'].fft2
-    fft2.restype = c_int
-    fft2.argtypes = [c_int, POINTER(c_double * 2), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 70
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_rand_gauss'):
-    G_math_rand_gauss = _libs['grass_gmath.7.0.svn'].G_math_rand_gauss
-    G_math_rand_gauss.restype = c_double
-    G_math_rand_gauss.argtypes = [c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 73
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_max_pow2'):
-    G_math_max_pow2 = _libs['grass_gmath.7.0.svn'].G_math_max_pow2
-    G_math_max_pow2.restype = c_long
-    G_math_max_pow2.argtypes = [c_long]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 74
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_min_pow2'):
-    G_math_min_pow2 = _libs['grass_gmath.7.0.svn'].G_math_min_pow2
-    G_math_min_pow2.restype = c_long
-    G_math_min_pow2.argtypes = [c_long]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 77
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_rand'):
-    G_math_rand = _libs['grass_gmath.7.0.svn'].G_math_rand
-    G_math_rand.restype = c_float
-    G_math_rand.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 80
-if hasattr(_libs['grass_gmath.7.0.svn'], 'del2g'):
-    del2g = _libs['grass_gmath.7.0.svn'].del2g
-    del2g.restype = c_int
-    del2g.argtypes = [POINTER(c_double) * 2, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 83
-if hasattr(_libs['grass_gmath.7.0.svn'], 'getg'):
-    getg = _libs['grass_gmath.7.0.svn'].getg
-    getg.restype = c_int
-    getg.argtypes = [c_double, POINTER(c_double) * 2, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 86
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_egvorder'):
-    G_math_egvorder = _libs['grass_gmath.7.0.svn'].G_math_egvorder
-    G_math_egvorder.restype = c_int
-    G_math_egvorder.argtypes = [POINTER(c_double), POINTER(POINTER(c_double)), c_long]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 89
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_complex_mult'):
-    G_math_complex_mult = _libs['grass_gmath.7.0.svn'].G_math_complex_mult
-    G_math_complex_mult.restype = c_int
-    G_math_complex_mult.argtypes = [POINTER(c_double) * 2, c_int, POINTER(c_double) * 2, c_int, POINTER(c_double) * 2, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 92
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_ludcmp'):
-    G_ludcmp = _libs['grass_gmath.7.0.svn'].G_ludcmp
-    G_ludcmp.restype = c_int
-    G_ludcmp.argtypes = [POINTER(POINTER(c_double)), c_int, POINTER(c_int), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 93
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_lubksb'):
-    G_lubksb = _libs['grass_gmath.7.0.svn'].G_lubksb
-    G_lubksb.restype = None
-    G_lubksb.argtypes = [POINTER(POINTER(c_double)), c_int, POINTER(c_int), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 96
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_findzc'):
-    G_math_findzc = _libs['grass_gmath.7.0.svn'].G_math_findzc
-    G_math_findzc.restype = c_int
-    G_math_findzc.argtypes = [POINTER(c_double), c_int, POINTER(c_double), c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 102
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solv'):
-    G_math_solv = _libs['grass_gmath.7.0.svn'].G_math_solv
-    G_math_solv.restype = c_int
-    G_math_solv.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 103
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solvps'):
-    G_math_solvps = _libs['grass_gmath.7.0.svn'].G_math_solvps
-    G_math_solvps.restype = c_int
-    G_math_solvps.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 104
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solvtd'):
-    G_math_solvtd = _libs['grass_gmath.7.0.svn'].G_math_solvtd
-    G_math_solvtd.restype = None
-    G_math_solvtd.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 105
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solvru'):
-    G_math_solvru = _libs['grass_gmath.7.0.svn'].G_math_solvru
-    G_math_solvru.restype = c_int
-    G_math_solvru.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 106
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_minv'):
-    G_math_minv = _libs['grass_gmath.7.0.svn'].G_math_minv
-    G_math_minv.restype = c_int
-    G_math_minv.argtypes = [POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 107
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_psinv'):
-    G_math_psinv = _libs['grass_gmath.7.0.svn'].G_math_psinv
-    G_math_psinv.restype = c_int
-    G_math_psinv.argtypes = [POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 108
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_ruinv'):
-    G_math_ruinv = _libs['grass_gmath.7.0.svn'].G_math_ruinv
-    G_math_ruinv.restype = c_int
-    G_math_ruinv.argtypes = [POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 109
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_eigval'):
-    G_math_eigval = _libs['grass_gmath.7.0.svn'].G_math_eigval
-    G_math_eigval.restype = None
-    G_math_eigval.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 110
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_eigen'):
-    G_math_eigen = _libs['grass_gmath.7.0.svn'].G_math_eigen
-    G_math_eigen.restype = None
-    G_math_eigen.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 111
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_evmax'):
-    G_math_evmax = _libs['grass_gmath.7.0.svn'].G_math_evmax
-    G_math_evmax.restype = c_double
-    G_math_evmax.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 112
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_svdval'):
-    G_math_svdval = _libs['grass_gmath.7.0.svn'].G_math_svdval
-    G_math_svdval.restype = c_int
-    G_math_svdval.argtypes = [POINTER(c_double), POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 113
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sv2val'):
-    G_math_sv2val = _libs['grass_gmath.7.0.svn'].G_math_sv2val
-    G_math_sv2val.restype = c_int
-    G_math_sv2val.argtypes = [POINTER(c_double), POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 114
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_svduv'):
-    G_math_svduv = _libs['grass_gmath.7.0.svn'].G_math_svduv
-    G_math_svduv.restype = c_int
-    G_math_svduv.argtypes = [POINTER(c_double), POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), c_int, POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 115
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sv2uv'):
-    G_math_sv2uv = _libs['grass_gmath.7.0.svn'].G_math_sv2uv
-    G_math_sv2uv.restype = c_int
-    G_math_sv2uv.argtypes = [POINTER(c_double), POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), c_int, POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 116
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_svdu1v'):
-    G_math_svdu1v = _libs['grass_gmath.7.0.svn'].G_math_svdu1v
-    G_math_svdu1v.restype = c_int
-    G_math_svdu1v.argtypes = [POINTER(c_double), POINTER(POINTER(c_double)), c_int, POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 131
-class struct_anon_1(Structure):
-    pass
-
-struct_anon_1.__slots__ = [
-    'values',
-    'cols',
-    'index',
-]
-struct_anon_1._fields_ = [
-    ('values', POINTER(c_double)),
-    ('cols', c_uint),
-    ('index', POINTER(c_uint)),
-]
-
-G_math_spvector = struct_anon_1 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 131
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 135
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_alloc_spvector'):
-    G_math_alloc_spvector = _libs['grass_gmath.7.0.svn'].G_math_alloc_spvector
-    G_math_alloc_spvector.restype = POINTER(G_math_spvector)
-    G_math_alloc_spvector.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 136
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_alloc_spmatrix'):
-    G_math_alloc_spmatrix = _libs['grass_gmath.7.0.svn'].G_math_alloc_spmatrix
-    G_math_alloc_spmatrix.restype = POINTER(POINTER(G_math_spvector))
-    G_math_alloc_spmatrix.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 137
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_free_spmatrix'):
-    G_math_free_spmatrix = _libs['grass_gmath.7.0.svn'].G_math_free_spmatrix
-    G_math_free_spmatrix.restype = None
-    G_math_free_spmatrix.argtypes = [POINTER(POINTER(G_math_spvector)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 138
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_free_spvector'):
-    G_math_free_spvector = _libs['grass_gmath.7.0.svn'].G_math_free_spvector
-    G_math_free_spvector.restype = None
-    G_math_free_spvector.argtypes = [POINTER(G_math_spvector)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 139
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_add_spvector'):
-    G_math_add_spvector = _libs['grass_gmath.7.0.svn'].G_math_add_spvector
-    G_math_add_spvector.restype = c_int
-    G_math_add_spvector.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(G_math_spvector), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 140
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_A_to_Asp'):
-    G_math_A_to_Asp = _libs['grass_gmath.7.0.svn'].G_math_A_to_Asp
-    G_math_A_to_Asp.restype = POINTER(POINTER(G_math_spvector))
-    G_math_A_to_Asp.argtypes = [POINTER(POINTER(c_double)), c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 141
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_Asp_to_A'):
-    G_math_Asp_to_A = _libs['grass_gmath.7.0.svn'].G_math_Asp_to_A
-    G_math_Asp_to_A.restype = POINTER(POINTER(c_double))
-    G_math_Asp_to_A.argtypes = [POINTER(POINTER(G_math_spvector)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 142
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_Asp_to_sband_matrix'):
-    G_math_Asp_to_sband_matrix = _libs['grass_gmath.7.0.svn'].G_math_Asp_to_sband_matrix
-    G_math_Asp_to_sband_matrix.restype = POINTER(POINTER(c_double))
-    G_math_Asp_to_sband_matrix.argtypes = [POINTER(POINTER(G_math_spvector)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 143
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sband_matrix_to_Asp'):
-    G_math_sband_matrix_to_Asp = _libs['grass_gmath.7.0.svn'].G_math_sband_matrix_to_Asp
-    G_math_sband_matrix_to_Asp.restype = POINTER(POINTER(G_math_spvector))
-    G_math_sband_matrix_to_Asp.argtypes = [POINTER(POINTER(c_double)), c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 144
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_print_spmatrix'):
-    G_math_print_spmatrix = _libs['grass_gmath.7.0.svn'].G_math_print_spmatrix
-    G_math_print_spmatrix.restype = None
-    G_math_print_spmatrix.argtypes = [POINTER(POINTER(G_math_spvector)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 145
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_Ax_sparse'):
-    G_math_Ax_sparse = _libs['grass_gmath.7.0.svn'].G_math_Ax_sparse
-    G_math_Ax_sparse.restype = None
-    G_math_Ax_sparse.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 148
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_matrix_to_sband_matrix'):
-    G_math_matrix_to_sband_matrix = _libs['grass_gmath.7.0.svn'].G_math_matrix_to_sband_matrix
-    G_math_matrix_to_sband_matrix.restype = POINTER(POINTER(c_double))
-    G_math_matrix_to_sband_matrix.argtypes = [POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 149
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sband_matrix_to_matrix'):
-    G_math_sband_matrix_to_matrix = _libs['grass_gmath.7.0.svn'].G_math_sband_matrix_to_matrix
-    G_math_sband_matrix_to_matrix.restype = POINTER(POINTER(c_double))
-    G_math_sband_matrix_to_matrix.argtypes = [POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 150
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_Ax_sband'):
-    G_math_Ax_sband = _libs['grass_gmath.7.0.svn'].G_math_Ax_sband
-    G_math_Ax_sband.restype = None
-    G_math_Ax_sband.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 153
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_gauss'):
-    G_math_solver_gauss = _libs['grass_gmath.7.0.svn'].G_math_solver_gauss
-    G_math_solver_gauss.restype = c_int
-    G_math_solver_gauss.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 154
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_lu'):
-    G_math_solver_lu = _libs['grass_gmath.7.0.svn'].G_math_solver_lu
-    G_math_solver_lu.restype = c_int
-    G_math_solver_lu.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 155
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_cholesky'):
-    G_math_solver_cholesky = _libs['grass_gmath.7.0.svn'].G_math_solver_cholesky
-    G_math_solver_cholesky.restype = c_int
-    G_math_solver_cholesky.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 156
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_cholesky_sband'):
-    G_math_solver_cholesky_sband = _libs['grass_gmath.7.0.svn'].G_math_solver_cholesky_sband
-    G_math_solver_cholesky_sband.restype = None
-    G_math_solver_cholesky_sband.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 157
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_jacobi'):
-    G_math_solver_jacobi = _libs['grass_gmath.7.0.svn'].G_math_solver_jacobi
-    G_math_solver_jacobi.restype = c_int
-    G_math_solver_jacobi.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 158
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_gs'):
-    G_math_solver_gs = _libs['grass_gmath.7.0.svn'].G_math_solver_gs
-    G_math_solver_gs.restype = c_int
-    G_math_solver_gs.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 160
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_pcg'):
-    G_math_solver_pcg = _libs['grass_gmath.7.0.svn'].G_math_solver_pcg
-    G_math_solver_pcg.restype = c_int
-    G_math_solver_pcg.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 161
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_cg'):
-    G_math_solver_cg = _libs['grass_gmath.7.0.svn'].G_math_solver_cg
-    G_math_solver_cg.restype = c_int
-    G_math_solver_cg.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 162
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_cg_sband'):
-    G_math_solver_cg_sband = _libs['grass_gmath.7.0.svn'].G_math_solver_cg_sband
-    G_math_solver_cg_sband.restype = c_int
-    G_math_solver_cg_sband.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 163
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_bicgstab'):
-    G_math_solver_bicgstab = _libs['grass_gmath.7.0.svn'].G_math_solver_bicgstab
-    G_math_solver_bicgstab.restype = c_int
-    G_math_solver_bicgstab.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 164
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_sparse_jacobi'):
-    G_math_solver_sparse_jacobi = _libs['grass_gmath.7.0.svn'].G_math_solver_sparse_jacobi
-    G_math_solver_sparse_jacobi.restype = c_int
-    G_math_solver_sparse_jacobi.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 165
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_sparse_gs'):
-    G_math_solver_sparse_gs = _libs['grass_gmath.7.0.svn'].G_math_solver_sparse_gs
-    G_math_solver_sparse_gs.restype = c_int
-    G_math_solver_sparse_gs.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 166
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_sparse_pcg'):
-    G_math_solver_sparse_pcg = _libs['grass_gmath.7.0.svn'].G_math_solver_sparse_pcg
-    G_math_solver_sparse_pcg.restype = c_int
-    G_math_solver_sparse_pcg.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 167
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_sparse_cg'):
-    G_math_solver_sparse_cg = _libs['grass_gmath.7.0.svn'].G_math_solver_sparse_cg
-    G_math_solver_sparse_cg.restype = c_int
-    G_math_solver_sparse_cg.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 168
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_sparse_bicgstab'):
-    G_math_solver_sparse_bicgstab = _libs['grass_gmath.7.0.svn'].G_math_solver_sparse_bicgstab
-    G_math_solver_sparse_bicgstab.restype = c_int
-    G_math_solver_sparse_bicgstab.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 171
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_gauss_elimination'):
-    G_math_gauss_elimination = _libs['grass_gmath.7.0.svn'].G_math_gauss_elimination
-    G_math_gauss_elimination.restype = None
-    G_math_gauss_elimination.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 172
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_lu_decomposition'):
-    G_math_lu_decomposition = _libs['grass_gmath.7.0.svn'].G_math_lu_decomposition
-    G_math_lu_decomposition.restype = None
-    G_math_lu_decomposition.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 173
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_cholesky_decomposition'):
-    G_math_cholesky_decomposition = _libs['grass_gmath.7.0.svn'].G_math_cholesky_decomposition
-    G_math_cholesky_decomposition.restype = c_int
-    G_math_cholesky_decomposition.argtypes = [POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 174
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_cholesky_sband_decomposition'):
-    G_math_cholesky_sband_decomposition = _libs['grass_gmath.7.0.svn'].G_math_cholesky_sband_decomposition
-    G_math_cholesky_sband_decomposition.restype = None
-    G_math_cholesky_sband_decomposition.argtypes = [POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 175
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_backward_substitution'):
-    G_math_backward_substitution = _libs['grass_gmath.7.0.svn'].G_math_backward_substitution
-    G_math_backward_substitution.restype = None
-    G_math_backward_substitution.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 176
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_forward_substitution'):
-    G_math_forward_substitution = _libs['grass_gmath.7.0.svn'].G_math_forward_substitution
-    G_math_forward_substitution.restype = None
-    G_math_forward_substitution.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 177
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_cholesky_sband_substitution'):
-    G_math_cholesky_sband_substitution = _libs['grass_gmath.7.0.svn'].G_math_cholesky_sband_substitution
-    G_math_cholesky_sband_substitution.restype = None
-    G_math_cholesky_sband_substitution.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 182
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_x_dot_y'):
-    G_math_d_x_dot_y = _libs['grass_gmath.7.0.svn'].G_math_d_x_dot_y
-    G_math_d_x_dot_y.restype = None
-    G_math_d_x_dot_y.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 183
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_asum_norm'):
-    G_math_d_asum_norm = _libs['grass_gmath.7.0.svn'].G_math_d_asum_norm
-    G_math_d_asum_norm.restype = None
-    G_math_d_asum_norm.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 184
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_euclid_norm'):
-    G_math_d_euclid_norm = _libs['grass_gmath.7.0.svn'].G_math_d_euclid_norm
-    G_math_d_euclid_norm.restype = None
-    G_math_d_euclid_norm.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 185
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_max_norm'):
-    G_math_d_max_norm = _libs['grass_gmath.7.0.svn'].G_math_d_max_norm
-    G_math_d_max_norm.restype = None
-    G_math_d_max_norm.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 186
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_ax_by'):
-    G_math_d_ax_by = _libs['grass_gmath.7.0.svn'].G_math_d_ax_by
-    G_math_d_ax_by.restype = None
-    G_math_d_ax_by.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 187
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_copy'):
-    G_math_d_copy = _libs['grass_gmath.7.0.svn'].G_math_d_copy
-    G_math_d_copy.restype = None
-    G_math_d_copy.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 189
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_x_dot_y'):
-    G_math_f_x_dot_y = _libs['grass_gmath.7.0.svn'].G_math_f_x_dot_y
-    G_math_f_x_dot_y.restype = None
-    G_math_f_x_dot_y.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 190
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_asum_norm'):
-    G_math_f_asum_norm = _libs['grass_gmath.7.0.svn'].G_math_f_asum_norm
-    G_math_f_asum_norm.restype = None
-    G_math_f_asum_norm.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 191
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_euclid_norm'):
-    G_math_f_euclid_norm = _libs['grass_gmath.7.0.svn'].G_math_f_euclid_norm
-    G_math_f_euclid_norm.restype = None
-    G_math_f_euclid_norm.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 192
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_max_norm'):
-    G_math_f_max_norm = _libs['grass_gmath.7.0.svn'].G_math_f_max_norm
-    G_math_f_max_norm.restype = None
-    G_math_f_max_norm.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 193
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_ax_by'):
-    G_math_f_ax_by = _libs['grass_gmath.7.0.svn'].G_math_f_ax_by
-    G_math_f_ax_by.restype = None
-    G_math_f_ax_by.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float), c_float, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 194
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_copy'):
-    G_math_f_copy = _libs['grass_gmath.7.0.svn'].G_math_f_copy
-    G_math_f_copy.restype = None
-    G_math_f_copy.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 196
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_i_x_dot_y'):
-    G_math_i_x_dot_y = _libs['grass_gmath.7.0.svn'].G_math_i_x_dot_y
-    G_math_i_x_dot_y.restype = None
-    G_math_i_x_dot_y.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 197
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_i_asum_norm'):
-    G_math_i_asum_norm = _libs['grass_gmath.7.0.svn'].G_math_i_asum_norm
-    G_math_i_asum_norm.restype = None
-    G_math_i_asum_norm.argtypes = [POINTER(c_int), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 198
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_i_euclid_norm'):
-    G_math_i_euclid_norm = _libs['grass_gmath.7.0.svn'].G_math_i_euclid_norm
-    G_math_i_euclid_norm.restype = None
-    G_math_i_euclid_norm.argtypes = [POINTER(c_int), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 199
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_i_max_norm'):
-    G_math_i_max_norm = _libs['grass_gmath.7.0.svn'].G_math_i_max_norm
-    G_math_i_max_norm.restype = None
-    G_math_i_max_norm.argtypes = [POINTER(c_int), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 200
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_i_ax_by'):
-    G_math_i_ax_by = _libs['grass_gmath.7.0.svn'].G_math_i_ax_by
-    G_math_i_ax_by.restype = None
-    G_math_i_ax_by.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 201
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_i_copy'):
-    G_math_i_copy = _libs['grass_gmath.7.0.svn'].G_math_i_copy
-    G_math_i_copy.restype = None
-    G_math_i_copy.argtypes = [POINTER(c_int), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 204
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_ddot'):
-    G_math_ddot = _libs['grass_gmath.7.0.svn'].G_math_ddot
-    G_math_ddot.restype = c_double
-    G_math_ddot.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 205
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sdot'):
-    G_math_sdot = _libs['grass_gmath.7.0.svn'].G_math_sdot
-    G_math_sdot.restype = c_float
-    G_math_sdot.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 206
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sdsdot'):
-    G_math_sdsdot = _libs['grass_gmath.7.0.svn'].G_math_sdsdot
-    G_math_sdsdot.restype = c_float
-    G_math_sdsdot.argtypes = [POINTER(c_float), POINTER(c_float), c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 207
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_dnrm2'):
-    G_math_dnrm2 = _libs['grass_gmath.7.0.svn'].G_math_dnrm2
-    G_math_dnrm2.restype = c_double
-    G_math_dnrm2.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 208
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_dasum'):
-    G_math_dasum = _libs['grass_gmath.7.0.svn'].G_math_dasum
-    G_math_dasum.restype = c_double
-    G_math_dasum.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 209
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_idamax'):
-    G_math_idamax = _libs['grass_gmath.7.0.svn'].G_math_idamax
-    G_math_idamax.restype = c_double
-    G_math_idamax.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 210
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_snrm2'):
-    G_math_snrm2 = _libs['grass_gmath.7.0.svn'].G_math_snrm2
-    G_math_snrm2.restype = c_float
-    G_math_snrm2.argtypes = [POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 211
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sasum'):
-    G_math_sasum = _libs['grass_gmath.7.0.svn'].G_math_sasum
-    G_math_sasum.restype = c_float
-    G_math_sasum.argtypes = [POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 212
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_isamax'):
-    G_math_isamax = _libs['grass_gmath.7.0.svn'].G_math_isamax
-    G_math_isamax.restype = c_float
-    G_math_isamax.argtypes = [POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 213
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_dscal'):
-    G_math_dscal = _libs['grass_gmath.7.0.svn'].G_math_dscal
-    G_math_dscal.restype = None
-    G_math_dscal.argtypes = [POINTER(c_double), c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 214
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sscal'):
-    G_math_sscal = _libs['grass_gmath.7.0.svn'].G_math_sscal
-    G_math_sscal.restype = None
-    G_math_sscal.argtypes = [POINTER(c_float), c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 215
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_dcopy'):
-    G_math_dcopy = _libs['grass_gmath.7.0.svn'].G_math_dcopy
-    G_math_dcopy.restype = None
-    G_math_dcopy.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 216
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_scopy'):
-    G_math_scopy = _libs['grass_gmath.7.0.svn'].G_math_scopy
-    G_math_scopy.restype = None
-    G_math_scopy.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 217
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_daxpy'):
-    G_math_daxpy = _libs['grass_gmath.7.0.svn'].G_math_daxpy
-    G_math_daxpy.restype = None
-    G_math_daxpy.argtypes = [POINTER(c_double), POINTER(c_double), c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 218
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_saxpy'):
-    G_math_saxpy = _libs['grass_gmath.7.0.svn'].G_math_saxpy
-    G_math_saxpy.restype = None
-    G_math_saxpy.argtypes = [POINTER(c_float), POINTER(c_float), c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 221
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_Ax'):
-    G_math_d_Ax = _libs['grass_gmath.7.0.svn'].G_math_d_Ax
-    G_math_d_Ax.restype = None
-    G_math_d_Ax.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 222
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_Ax'):
-    G_math_f_Ax = _libs['grass_gmath.7.0.svn'].G_math_f_Ax
-    G_math_f_Ax.restype = None
-    G_math_f_Ax.argtypes = [POINTER(POINTER(c_float)), POINTER(c_float), POINTER(c_float), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 223
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_x_dyad_y'):
-    G_math_d_x_dyad_y = _libs['grass_gmath.7.0.svn'].G_math_d_x_dyad_y
-    G_math_d_x_dyad_y.restype = None
-    G_math_d_x_dyad_y.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 224
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_x_dyad_y'):
-    G_math_f_x_dyad_y = _libs['grass_gmath.7.0.svn'].G_math_f_x_dyad_y
-    G_math_f_x_dyad_y.restype = None
-    G_math_f_x_dyad_y.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(POINTER(c_float)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 225
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_aAx_by'):
-    G_math_d_aAx_by = _libs['grass_gmath.7.0.svn'].G_math_d_aAx_by
-    G_math_d_aAx_by.restype = None
-    G_math_d_aAx_by.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_double, c_double, POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 226
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_aAx_by'):
-    G_math_f_aAx_by = _libs['grass_gmath.7.0.svn'].G_math_f_aAx_by
-    G_math_f_aAx_by.restype = None
-    G_math_f_aAx_by.argtypes = [POINTER(POINTER(c_float)), POINTER(c_float), POINTER(c_float), c_float, c_float, POINTER(c_float), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 227
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_A_T'):
-    G_math_d_A_T = _libs['grass_gmath.7.0.svn'].G_math_d_A_T
-    G_math_d_A_T.restype = c_int
-    G_math_d_A_T.argtypes = [POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 228
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_A_T'):
-    G_math_f_A_T = _libs['grass_gmath.7.0.svn'].G_math_f_A_T
-    G_math_f_A_T.restype = c_int
-    G_math_f_A_T.argtypes = [POINTER(POINTER(c_float)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 231
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_aA_B'):
-    G_math_d_aA_B = _libs['grass_gmath.7.0.svn'].G_math_d_aA_B
-    G_math_d_aA_B.restype = None
-    G_math_d_aA_B.argtypes = [POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), c_double, POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 232
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_aA_B'):
-    G_math_f_aA_B = _libs['grass_gmath.7.0.svn'].G_math_f_aA_B
-    G_math_f_aA_B.restype = None
-    G_math_f_aA_B.argtypes = [POINTER(POINTER(c_float)), POINTER(POINTER(c_float)), c_float, POINTER(POINTER(c_float)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 233
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_AB'):
-    G_math_d_AB = _libs['grass_gmath.7.0.svn'].G_math_d_AB
-    G_math_d_AB.restype = None
-    G_math_d_AB.argtypes = [POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 234
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_AB'):
-    G_math_f_AB = _libs['grass_gmath.7.0.svn'].G_math_f_AB
-    G_math_f_AB.restype = None
-    G_math_f_AB.argtypes = [POINTER(POINTER(c_float)), POINTER(POINTER(c_float)), POINTER(POINTER(c_float)), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_DIRECT_GAUSS = 'gauss'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_DIRECT_LU = 'lu'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_DIRECT_CHOLESKY = 'cholesky'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_ITERATIVE_JACOBI = 'jacobi'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_ITERATIVE_SOR = 'sor'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_ITERATIVE_CG = 'cg'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_ITERATIVE_PCG = 'pcg'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_ITERATIVE_BICGSTAB = 'bicgstab'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 36
-try:
-    G_MATH_DIAGONAL_PRECONDITION = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 36
-try:
-    G_MATH_ROWSCALE_ABSSUMNORM_PRECONDITION = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 36
-try:
-    G_MATH_ROWSCALE_EUKLIDNORM_PRECONDITION = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 36
-try:
-    G_MATH_ROWSCALE_MAXNORM_PRECONDITION = 4
-except:
-    pass
-
-# No inserted files
-
diff --git a/lib/python/ctypes/grass.py b/lib/python/ctypes/grass.py
deleted file mode 100644
index 4120cdc..0000000
--- a/lib/python/ctypes/grass.py
+++ /dev/null
@@ -1,3645 +0,0 @@
-'''Wrapper for gis.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -lgrass_gis.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h -o grass.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_gis.7.0.svn"] = load_library("grass_gis.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/config.h: 314
-class struct_stat(Structure):
-    pass
-
-STRUCT_STAT = struct_stat # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/config.h: 314
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-class struct_DateTime(Structure):
-    pass
-
-struct_DateTime.__slots__ = [
-    'mode',
-    '_from',
-    'to',
-    'fracsec',
-    'year',
-    'month',
-    'day',
-    'hour',
-    'minute',
-    'second',
-    'positive',
-    'tz',
-]
-struct_DateTime._fields_ = [
-    ('mode', c_int),
-    ('_from', c_int),
-    ('to', c_int),
-    ('fracsec', c_int),
-    ('year', c_int),
-    ('month', c_int),
-    ('day', c_int),
-    ('hour', c_int),
-    ('minute', c_int),
-    ('second', c_double),
-    ('positive', c_int),
-    ('tz', c_int),
-]
-
-DateTime = struct_DateTime # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-
-enum_anon_6 = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_WHERE = 0 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_TABLE = (G_OPT_DB_WHERE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_DRIVER = (G_OPT_DB_TABLE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_DATABASE = (G_OPT_DB_DRIVER + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_SCHEMA = (G_OPT_DB_DATABASE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_COLUMN = (G_OPT_DB_SCHEMA + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_COLUMNS = (G_OPT_DB_COLUMN + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_I_GROUP = (G_OPT_DB_COLUMNS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_I_SUBGROUP = (G_OPT_I_GROUP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_INPUT = (G_OPT_I_SUBGROUP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_INPUTS = (G_OPT_R_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_OUTPUT = (G_OPT_R_INPUTS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_MAP = (G_OPT_R_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_MAPS = (G_OPT_R_MAP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_BASE = (G_OPT_R_MAPS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_COVER = (G_OPT_R_BASE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_ELEV = (G_OPT_R_COVER + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_ELEVS = (G_OPT_R_ELEV + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R3_INPUT = (G_OPT_R_ELEVS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R3_INPUTS = (G_OPT_R3_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R3_OUTPUT = (G_OPT_R3_INPUTS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R3_MAP = (G_OPT_R3_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R3_MAPS = (G_OPT_R3_MAP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_INPUT = (G_OPT_R3_MAPS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_INPUTS = (G_OPT_V_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_OUTPUT = (G_OPT_V_INPUTS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_MAP = (G_OPT_V_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_MAPS = (G_OPT_V_MAP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_TYPE = (G_OPT_V_MAPS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V3_TYPE = (G_OPT_V_TYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_FIELD = (G_OPT_V3_TYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_FIELD_ALL = (G_OPT_V_FIELD + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_CAT = (G_OPT_V_FIELD_ALL + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_CATS = (G_OPT_V_CAT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_ID = (G_OPT_V_CATS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_IDS = (G_OPT_V_ID + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_F_INPUT = (G_OPT_V_IDS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_F_OUTPUT = (G_OPT_F_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_F_SEP = (G_OPT_F_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_C_FG = (G_OPT_F_SEP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_C_BG = (G_OPT_C_FG + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_M_UNITS = (G_OPT_C_BG + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_M_DATATYPE = (G_OPT_M_UNITS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_M_MAPSET = (G_OPT_M_DATATYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-STD_OPT = enum_anon_6 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-enum_anon_7 = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_RASTER = 1 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_RASTER3D = 2 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_VECTOR = 3 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_OLDVECTOR = 4 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_ASCIIVECTOR = 5 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_ICON = 6 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_LABEL = 7 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_SITE = 8 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_REGION = 9 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_REGION3D = 10 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_GROUP = 11 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_3DVIEW = 12 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 257
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 284
-class struct_G_3dview(Structure):
-    pass
-
-struct_G_3dview.__slots__ = [
-    'pgm_id',
-    'from_to',
-    'fov',
-    'twist',
-    'exag',
-    'mesh_freq',
-    'poly_freq',
-    'display_type',
-    'lightson',
-    'dozero',
-    'colorgrid',
-    'shading',
-    'fringe',
-    'surfonly',
-    'doavg',
-    'grid_col',
-    'bg_col',
-    'other_col',
-    'lightpos',
-    'lightcol',
-    'ambient',
-    'shine',
-    'vwin',
-]
-struct_G_3dview._fields_ = [
-    ('pgm_id', c_char * 40),
-    ('from_to', (c_float * 3) * 2),
-    ('fov', c_float),
-    ('twist', c_float),
-    ('exag', c_float),
-    ('mesh_freq', c_int),
-    ('poly_freq', c_int),
-    ('display_type', c_int),
-    ('lightson', c_int),
-    ('dozero', c_int),
-    ('colorgrid', c_int),
-    ('shading', c_int),
-    ('fringe', c_int),
-    ('surfonly', c_int),
-    ('doavg', c_int),
-    ('grid_col', c_char * 40),
-    ('bg_col', c_char * 40),
-    ('other_col', c_char * 40),
-    ('lightpos', c_float * 4),
-    ('lightcol', c_float * 3),
-    ('ambient', c_float),
-    ('shine', c_float),
-    ('vwin', struct_Cell_head),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 311
-class struct_Key_Value(Structure):
-    pass
-
-struct_Key_Value.__slots__ = [
-    'nitems',
-    'nalloc',
-    'key',
-    'value',
-]
-struct_Key_Value._fields_ = [
-    ('nitems', c_int),
-    ('nalloc', c_int),
-    ('key', POINTER(POINTER(c_char))),
-    ('value', POINTER(POINTER(c_char))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 319
-class struct_Option(Structure):
-    pass
-
-struct_Option.__slots__ = [
-    'key',
-    'type',
-    'required',
-    'multiple',
-    'options',
-    'opts',
-    'key_desc',
-    'label',
-    'description',
-    'descriptions',
-    'descs',
-    'answer',
-    '_def',
-    'answers',
-    'next_opt',
-    'gisprompt',
-    'guisection',
-    'guidependency',
-    'checker',
-    'count',
-]
-struct_Option._fields_ = [
-    ('key', String),
-    ('type', c_int),
-    ('required', c_int),
-    ('multiple', c_int),
-    ('options', String),
-    ('opts', POINTER(POINTER(c_char))),
-    ('key_desc', String),
-    ('label', String),
-    ('description', String),
-    ('descriptions', String),
-    ('descs', POINTER(POINTER(c_char))),
-    ('answer', String),
-    ('_def', String),
-    ('answers', POINTER(POINTER(c_char))),
-    ('next_opt', POINTER(struct_Option)),
-    ('gisprompt', String),
-    ('guisection', String),
-    ('guidependency', String),
-    ('checker', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('count', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 350
-class struct_Flag(Structure):
-    pass
-
-struct_Flag.__slots__ = [
-    'key',
-    'answer',
-    'suppress_required',
-    'label',
-    'description',
-    'guisection',
-    'next_flag',
-]
-struct_Flag._fields_ = [
-    ('key', c_char),
-    ('answer', c_char),
-    ('suppress_required', c_char),
-    ('label', String),
-    ('description', String),
-    ('guisection', String),
-    ('next_flag', POINTER(struct_Flag)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 361
-class struct_GModule(Structure):
-    pass
-
-struct_GModule.__slots__ = [
-    'label',
-    'description',
-    'keywords',
-    'overwrite',
-    'verbose',
-]
-struct_GModule._fields_ = [
-    ('label', String),
-    ('description', String),
-    ('keywords', POINTER(POINTER(c_char))),
-    ('overwrite', c_int),
-    ('verbose', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 371
-class struct_TimeStamp(Structure):
-    pass
-
-struct_TimeStamp.__slots__ = [
-    'dt',
-    'count',
-]
-struct_TimeStamp._fields_ = [
-    ('dt', DateTime * 2),
-    ('count', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 377
-class struct_Counter(Structure):
-    pass
-
-struct_Counter.__slots__ = [
-    'value',
-]
-struct_Counter._fields_ = [
-    ('value', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 381
-class struct_Popen(Structure):
-    pass
-
-struct_Popen.__slots__ = [
-    'fp',
-    'pid',
-]
-struct_Popen._fields_ = [
-    ('fp', POINTER(FILE)),
-    ('pid', c_int),
-]
-
-off_t = __off64_t # /usr/include/sys/types.h: 90
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 54
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_Cell_head'):
-    G_adjust_Cell_head = _libs['grass_gis.7.0.svn'].G_adjust_Cell_head
-    G_adjust_Cell_head.restype = None
-    G_adjust_Cell_head.argtypes = [POINTER(struct_Cell_head), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 55
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_Cell_head3'):
-    G_adjust_Cell_head3 = _libs['grass_gis.7.0.svn'].G_adjust_Cell_head3
-    G_adjust_Cell_head3.restype = None
-    G_adjust_Cell_head3.argtypes = [POINTER(struct_Cell_head), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 61
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__malloc'):
-    G__malloc = _libs['grass_gis.7.0.svn'].G__malloc
-    G__malloc.restype = POINTER(None)
-    G__malloc.argtypes = [String, c_int, c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 62
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__calloc'):
-    G__calloc = _libs['grass_gis.7.0.svn'].G__calloc
-    G__calloc.restype = POINTER(None)
-    G__calloc.argtypes = [String, c_int, c_size_t, c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 63
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__realloc'):
-    G__realloc = _libs['grass_gis.7.0.svn'].G__realloc
-    G__realloc.restype = POINTER(None)
-    G__realloc.argtypes = [String, c_int, POINTER(None), c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 64
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free'):
-    G_free = _libs['grass_gis.7.0.svn'].G_free
-    G_free.restype = None
-    G_free.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 80
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_cell_area_calculations'):
-    G_begin_cell_area_calculations = _libs['grass_gis.7.0.svn'].G_begin_cell_area_calculations
-    G_begin_cell_area_calculations.restype = c_int
-    G_begin_cell_area_calculations.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 81
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_of_cell_at_row'):
-    G_area_of_cell_at_row = _libs['grass_gis.7.0.svn'].G_area_of_cell_at_row
-    G_area_of_cell_at_row.restype = c_double
-    G_area_of_cell_at_row.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 82
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_polygon_area_calculations'):
-    G_begin_polygon_area_calculations = _libs['grass_gis.7.0.svn'].G_begin_polygon_area_calculations
-    G_begin_polygon_area_calculations.restype = c_int
-    G_begin_polygon_area_calculations.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 83
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_of_polygon'):
-    G_area_of_polygon = _libs['grass_gis.7.0.svn'].G_area_of_polygon
-    G_area_of_polygon.restype = c_double
-    G_area_of_polygon.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 86
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_zone_area_on_ellipsoid'):
-    G_begin_zone_area_on_ellipsoid = _libs['grass_gis.7.0.svn'].G_begin_zone_area_on_ellipsoid
-    G_begin_zone_area_on_ellipsoid.restype = None
-    G_begin_zone_area_on_ellipsoid.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 87
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_darea0_on_ellipsoid'):
-    G_darea0_on_ellipsoid = _libs['grass_gis.7.0.svn'].G_darea0_on_ellipsoid
-    G_darea0_on_ellipsoid.restype = c_double
-    G_darea0_on_ellipsoid.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 88
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_for_zone_on_ellipsoid'):
-    G_area_for_zone_on_ellipsoid = _libs['grass_gis.7.0.svn'].G_area_for_zone_on_ellipsoid
-    G_area_for_zone_on_ellipsoid.restype = c_double
-    G_area_for_zone_on_ellipsoid.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 91
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_ellipsoid_polygon_area'):
-    G_begin_ellipsoid_polygon_area = _libs['grass_gis.7.0.svn'].G_begin_ellipsoid_polygon_area
-    G_begin_ellipsoid_polygon_area.restype = None
-    G_begin_ellipsoid_polygon_area.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 92
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ellipsoid_polygon_area'):
-    G_ellipsoid_polygon_area = _libs['grass_gis.7.0.svn'].G_ellipsoid_polygon_area
-    G_ellipsoid_polygon_area.restype = c_double
-    G_ellipsoid_polygon_area.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 95
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_planimetric_polygon_area'):
-    G_planimetric_polygon_area = _libs['grass_gis.7.0.svn'].G_planimetric_polygon_area
-    G_planimetric_polygon_area.restype = c_double
-    G_planimetric_polygon_area.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 98
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_zone_area_on_sphere'):
-    G_begin_zone_area_on_sphere = _libs['grass_gis.7.0.svn'].G_begin_zone_area_on_sphere
-    G_begin_zone_area_on_sphere.restype = None
-    G_begin_zone_area_on_sphere.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 99
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_darea0_on_sphere'):
-    G_darea0_on_sphere = _libs['grass_gis.7.0.svn'].G_darea0_on_sphere
-    G_darea0_on_sphere.restype = c_double
-    G_darea0_on_sphere.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 100
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_for_zone_on_sphere'):
-    G_area_for_zone_on_sphere = _libs['grass_gis.7.0.svn'].G_area_for_zone_on_sphere
-    G_area_for_zone_on_sphere.restype = c_double
-    G_area_for_zone_on_sphere.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 103
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ascii_check'):
-    G_ascii_check = _libs['grass_gis.7.0.svn'].G_ascii_check
-    G_ascii_check.restype = None
-    G_ascii_check.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 115
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_vasprintf'):
-    G_vasprintf = _libs['grass_gis.7.0.svn'].G_vasprintf
-    G_vasprintf.restype = c_int
-    G_vasprintf.argtypes = [POINTER(POINTER(c_char)), String, c_void_p]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 116
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_asprintf'):
-    _func = _libs['grass_gis.7.0.svn'].G_asprintf
-    _restype = c_int
-    _argtypes = [POINTER(POINTER(c_char)), String]
-    G_asprintf = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 120
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_basename'):
-    G_basename = _libs['grass_gis.7.0.svn'].G_basename
-    G_basename.restype = ReturnString
-    G_basename.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 123
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_bresenham_line'):
-    G_bresenham_line = _libs['grass_gis.7.0.svn'].G_bresenham_line
-    G_bresenham_line.restype = None
-    G_bresenham_line.argtypes = [c_int, c_int, c_int, c_int, CFUNCTYPE(UNCHECKED(c_int), c_int, c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 126
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_clicker'):
-    G_clicker = _libs['grass_gis.7.0.svn'].G_clicker
-    G_clicker.restype = None
-    G_clicker.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 129
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_num_standard_colors'):
-    G_num_standard_colors = _libs['grass_gis.7.0.svn'].G_num_standard_colors
-    G_num_standard_colors.restype = c_int
-    G_num_standard_colors.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 132
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_insert_commas'):
-    G_insert_commas = _libs['grass_gis.7.0.svn'].G_insert_commas
-    G_insert_commas.restype = c_int
-    G_insert_commas.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 133
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_commas'):
-    G_remove_commas = _libs['grass_gis.7.0.svn'].G_remove_commas
-    G_remove_commas.restype = None
-    G_remove_commas.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 136
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_recursive_copy'):
-    G_recursive_copy = _libs['grass_gis.7.0.svn'].G_recursive_copy
-    G_recursive_copy.restype = c_int
-    G_recursive_copy.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 139
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_copy_file'):
-    G_copy_file = _libs['grass_gis.7.0.svn'].G_copy_file
-    G_copy_file.restype = c_int
-    G_copy_file.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 142
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_initialized'):
-    G_is_initialized = _libs['grass_gis.7.0.svn'].G_is_initialized
-    G_is_initialized.restype = c_int
-    G_is_initialized.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 143
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_initialize_done'):
-    G_initialize_done = _libs['grass_gis.7.0.svn'].G_initialize_done
-    G_initialize_done.restype = None
-    G_initialize_done.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 144
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_counter'):
-    G_init_counter = _libs['grass_gis.7.0.svn'].G_init_counter
-    G_init_counter.restype = None
-    G_init_counter.argtypes = [POINTER(struct_Counter), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 145
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_counter_next'):
-    G_counter_next = _libs['grass_gis.7.0.svn'].G_counter_next
-    G_counter_next.restype = c_int
-    G_counter_next.argtypes = [POINTER(struct_Counter)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 148
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_date'):
-    G_date = _libs['grass_gis.7.0.svn'].G_date
-    G_date.restype = ReturnString
-    G_date.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 151
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_datum_by_name'):
-    G_get_datum_by_name = _libs['grass_gis.7.0.svn'].G_get_datum_by_name
-    G_get_datum_by_name.restype = c_int
-    G_get_datum_by_name.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 152
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_datum_name'):
-    G_datum_name = _libs['grass_gis.7.0.svn'].G_datum_name
-    G_datum_name.restype = ReturnString
-    G_datum_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 153
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_datum_description'):
-    G_datum_description = _libs['grass_gis.7.0.svn'].G_datum_description
-    G_datum_description.restype = ReturnString
-    G_datum_description.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 154
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_datum_ellipsoid'):
-    G_datum_ellipsoid = _libs['grass_gis.7.0.svn'].G_datum_ellipsoid
-    G_datum_ellipsoid.restype = ReturnString
-    G_datum_ellipsoid.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 155
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_datumparams_from_projinfo'):
-    G_get_datumparams_from_projinfo = _libs['grass_gis.7.0.svn'].G_get_datumparams_from_projinfo
-    G_get_datumparams_from_projinfo.restype = c_int
-    G_get_datumparams_from_projinfo.argtypes = [POINTER(struct_Key_Value), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 156
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_datum_table'):
-    G_read_datum_table = _libs['grass_gis.7.0.svn'].G_read_datum_table
-    G_read_datum_table.restype = None
-    G_read_datum_table.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 160
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_debug'):
-    G_init_debug = _libs['grass_gis.7.0.svn'].G_init_debug
-    G_init_debug.restype = None
-    G_init_debug.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 161
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_debug'):
-    _func = _libs['grass_gis.7.0.svn'].G_debug
-    _restype = c_int
-    _argtypes = [c_int, String]
-    G_debug = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 164
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_distance_calculations'):
-    G_begin_distance_calculations = _libs['grass_gis.7.0.svn'].G_begin_distance_calculations
-    G_begin_distance_calculations.restype = c_int
-    G_begin_distance_calculations.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 165
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance'):
-    G_distance = _libs['grass_gis.7.0.svn'].G_distance
-    G_distance.restype = c_double
-    G_distance.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 166
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance_between_line_segments'):
-    G_distance_between_line_segments = _libs['grass_gis.7.0.svn'].G_distance_between_line_segments
-    G_distance_between_line_segments.restype = c_double
-    G_distance_between_line_segments.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 168
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance_point_to_line_segment'):
-    G_distance_point_to_line_segment = _libs['grass_gis.7.0.svn'].G_distance_point_to_line_segment
-    G_distance_point_to_line_segment.restype = c_double
-    G_distance_point_to_line_segment.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 172
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_done_msg'):
-    _func = _libs['grass_gis.7.0.svn'].G_done_msg
-    _restype = None
-    _argtypes = [String]
-    G_done_msg = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 175
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_little_endian'):
-    G_is_little_endian = _libs['grass_gis.7.0.svn'].G_is_little_endian
-    G_is_little_endian.restype = c_int
-    G_is_little_endian.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 178
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_env'):
-    G_init_env = _libs['grass_gis.7.0.svn'].G_init_env
-    G_init_env.restype = None
-    G_init_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 179
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getenv'):
-    G_getenv = _libs['grass_gis.7.0.svn'].G_getenv
-    G_getenv.restype = ReturnString
-    G_getenv.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 180
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getenv2'):
-    G_getenv2 = _libs['grass_gis.7.0.svn'].G_getenv2
-    G_getenv2.restype = ReturnString
-    G_getenv2.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 181
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__getenv'):
-    G__getenv = _libs['grass_gis.7.0.svn'].G__getenv
-    G__getenv.restype = ReturnString
-    G__getenv.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 182
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__getenv2'):
-    G__getenv2 = _libs['grass_gis.7.0.svn'].G__getenv2
-    G__getenv2.restype = ReturnString
-    G__getenv2.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 183
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setenv'):
-    G_setenv = _libs['grass_gis.7.0.svn'].G_setenv
-    G_setenv.restype = None
-    G_setenv.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 184
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setenv2'):
-    G_setenv2 = _libs['grass_gis.7.0.svn'].G_setenv2
-    G_setenv2.restype = None
-    G_setenv2.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 185
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__setenv'):
-    G__setenv = _libs['grass_gis.7.0.svn'].G__setenv
-    G__setenv.restype = None
-    G__setenv.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 186
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__setenv2'):
-    G__setenv2 = _libs['grass_gis.7.0.svn'].G__setenv2
-    G__setenv2.restype = None
-    G__setenv2.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 187
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unsetenv'):
-    G_unsetenv = _libs['grass_gis.7.0.svn'].G_unsetenv
-    G_unsetenv.restype = None
-    G_unsetenv.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 188
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unsetenv2'):
-    G_unsetenv2 = _libs['grass_gis.7.0.svn'].G_unsetenv2
-    G_unsetenv2.restype = None
-    G_unsetenv2.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 189
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_env'):
-    G__write_env = _libs['grass_gis.7.0.svn'].G__write_env
-    G__write_env.restype = None
-    G__write_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 190
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__env_name'):
-    G__env_name = _libs['grass_gis.7.0.svn'].G__env_name
-    G__env_name.restype = ReturnString
-    G__env_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 191
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_env'):
-    G__read_env = _libs['grass_gis.7.0.svn'].G__read_env
-    G__read_env.restype = None
-    G__read_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 192
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_gisrc_mode'):
-    G_set_gisrc_mode = _libs['grass_gis.7.0.svn'].G_set_gisrc_mode
-    G_set_gisrc_mode.restype = None
-    G_set_gisrc_mode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 193
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_gisrc_mode'):
-    G_get_gisrc_mode = _libs['grass_gis.7.0.svn'].G_get_gisrc_mode
-    G_get_gisrc_mode.restype = c_int
-    G_get_gisrc_mode.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 194
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__create_alt_env'):
-    G__create_alt_env = _libs['grass_gis.7.0.svn'].G__create_alt_env
-    G__create_alt_env.restype = None
-    G__create_alt_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 195
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__switch_env'):
-    G__switch_env = _libs['grass_gis.7.0.svn'].G__switch_env
-    G__switch_env.restype = None
-    G__switch_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 198
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_info_format'):
-    G_info_format = _libs['grass_gis.7.0.svn'].G_info_format
-    G_info_format.restype = c_int
-    G_info_format.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 199
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_message'):
-    _func = _libs['grass_gis.7.0.svn'].G_message
-    _restype = None
-    _argtypes = [String]
-    G_message = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 200
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_message'):
-    _func = _libs['grass_gis.7.0.svn'].G_verbose_message
-    _restype = None
-    _argtypes = [String]
-    G_verbose_message = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 202
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_important_message'):
-    _func = _libs['grass_gis.7.0.svn'].G_important_message
-    _restype = None
-    _argtypes = [String]
-    G_important_message = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 204
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fatal_error'):
-    _func = _libs['grass_gis.7.0.svn'].G_fatal_error
-    _restype = None
-    _argtypes = [String]
-    G_fatal_error = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 206
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_warning'):
-    _func = _libs['grass_gis.7.0.svn'].G_warning
-    _restype = None
-    _argtypes = [String]
-    G_warning = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 207
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_suppress_warnings'):
-    G_suppress_warnings = _libs['grass_gis.7.0.svn'].G_suppress_warnings
-    G_suppress_warnings.restype = c_int
-    G_suppress_warnings.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 208
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_sleep_on_error'):
-    G_sleep_on_error = _libs['grass_gis.7.0.svn'].G_sleep_on_error
-    G_sleep_on_error.restype = c_int
-    G_sleep_on_error.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 209
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_error_routine'):
-    G_set_error_routine = _libs['grass_gis.7.0.svn'].G_set_error_routine
-    G_set_error_routine.restype = None
-    G_set_error_routine.argtypes = [CFUNCTYPE(UNCHECKED(c_int), String, c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 210
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unset_error_routine'):
-    G_unset_error_routine = _libs['grass_gis.7.0.svn'].G_unset_error_routine
-    G_unset_error_routine.restype = None
-    G_unset_error_routine.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 211
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_logging'):
-    G_init_logging = _libs['grass_gis.7.0.svn'].G_init_logging
-    G_init_logging.restype = None
-    G_init_logging.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 214
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_file_name'):
-    G_file_name = _libs['grass_gis.7.0.svn'].G_file_name
-    G_file_name.restype = ReturnString
-    G_file_name.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 215
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_file_name_misc'):
-    G_file_name_misc = _libs['grass_gis.7.0.svn'].G_file_name_misc
-    G_file_name_misc.restype = ReturnString
-    G_file_name_misc.argtypes = [String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 219
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_raster'):
-    G_find_raster = _libs['grass_gis.7.0.svn'].G_find_raster
-    G_find_raster.restype = ReturnString
-    G_find_raster.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 220
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_raster2'):
-    G_find_raster2 = _libs['grass_gis.7.0.svn'].G_find_raster2
-    G_find_raster2.restype = ReturnString
-    G_find_raster2.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 223
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file'):
-    G_find_file = _libs['grass_gis.7.0.svn'].G_find_file
-    G_find_file.restype = ReturnString
-    G_find_file.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 224
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file2'):
-    G_find_file2 = _libs['grass_gis.7.0.svn'].G_find_file2
-    G_find_file2.restype = ReturnString
-    G_find_file2.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 225
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file_misc'):
-    G_find_file_misc = _libs['grass_gis.7.0.svn'].G_find_file_misc
-    G_find_file_misc.restype = ReturnString
-    G_find_file_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 226
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file2_misc'):
-    G_find_file2_misc = _libs['grass_gis.7.0.svn'].G_find_file2_misc
-    G_find_file2_misc.restype = ReturnString
-    G_find_file2_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 230
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_etc'):
-    G_find_etc = _libs['grass_gis.7.0.svn'].G_find_etc
-    G_find_etc.restype = ReturnString
-    G_find_etc.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 233
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_vector'):
-    G_find_vector = _libs['grass_gis.7.0.svn'].G_find_vector
-    G_find_vector.restype = ReturnString
-    G_find_vector.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 234
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_vector2'):
-    G_find_vector2 = _libs['grass_gis.7.0.svn'].G_find_vector2
-    G_find_vector2.restype = ReturnString
-    G_find_vector2.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 237
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_compress'):
-    G_zlib_compress = _libs['grass_gis.7.0.svn'].G_zlib_compress
-    G_zlib_compress.restype = c_int
-    G_zlib_compress.argtypes = [POINTER(c_ubyte), c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 238
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_expand'):
-    G_zlib_expand = _libs['grass_gis.7.0.svn'].G_zlib_expand
-    G_zlib_expand.restype = c_int
-    G_zlib_expand.argtypes = [POINTER(c_ubyte), c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 239
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_write'):
-    G_zlib_write = _libs['grass_gis.7.0.svn'].G_zlib_write
-    G_zlib_write.restype = c_int
-    G_zlib_write.argtypes = [c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 240
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_read'):
-    G_zlib_read = _libs['grass_gis.7.0.svn'].G_zlib_read
-    G_zlib_read.restype = c_int
-    G_zlib_read.argtypes = [c_int, c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 241
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_write_noCompress'):
-    G_zlib_write_noCompress = _libs['grass_gis.7.0.svn'].G_zlib_write_noCompress
-    G_zlib_write_noCompress.restype = c_int
-    G_zlib_write_noCompress.argtypes = [c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 244
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_geodesic_equation'):
-    G_begin_geodesic_equation = _libs['grass_gis.7.0.svn'].G_begin_geodesic_equation
-    G_begin_geodesic_equation.restype = c_int
-    G_begin_geodesic_equation.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 245
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_geodesic_lat_from_lon'):
-    G_geodesic_lat_from_lon = _libs['grass_gis.7.0.svn'].G_geodesic_lat_from_lon
-    G_geodesic_lat_from_lon.restype = c_double
-    G_geodesic_lat_from_lon.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 248
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_geodesic_distance'):
-    G_begin_geodesic_distance = _libs['grass_gis.7.0.svn'].G_begin_geodesic_distance
-    G_begin_geodesic_distance.restype = None
-    G_begin_geodesic_distance.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 249
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_geodesic_distance_lat1'):
-    G_set_geodesic_distance_lat1 = _libs['grass_gis.7.0.svn'].G_set_geodesic_distance_lat1
-    G_set_geodesic_distance_lat1.restype = None
-    G_set_geodesic_distance_lat1.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 250
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_geodesic_distance_lat2'):
-    G_set_geodesic_distance_lat2 = _libs['grass_gis.7.0.svn'].G_set_geodesic_distance_lat2
-    G_set_geodesic_distance_lat2.restype = None
-    G_set_geodesic_distance_lat2.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 251
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_geodesic_distance_lon_to_lon'):
-    G_geodesic_distance_lon_to_lon = _libs['grass_gis.7.0.svn'].G_geodesic_distance_lon_to_lon
-    G_geodesic_distance_lon_to_lon.restype = c_double
-    G_geodesic_distance_lon_to_lon.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 252
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_geodesic_distance'):
-    G_geodesic_distance = _libs['grass_gis.7.0.svn'].G_geodesic_distance
-    G_geodesic_distance.restype = c_double
-    G_geodesic_distance.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 255
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_ellipsoid_parameters'):
-    G_get_ellipsoid_parameters = _libs['grass_gis.7.0.svn'].G_get_ellipsoid_parameters
-    G_get_ellipsoid_parameters.restype = c_int
-    G_get_ellipsoid_parameters.argtypes = [POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 256
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_spheroid_by_name'):
-    G_get_spheroid_by_name = _libs['grass_gis.7.0.svn'].G_get_spheroid_by_name
-    G_get_spheroid_by_name.restype = c_int
-    G_get_spheroid_by_name.argtypes = [String, POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 257
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_ellipsoid_by_name'):
-    G_get_ellipsoid_by_name = _libs['grass_gis.7.0.svn'].G_get_ellipsoid_by_name
-    G_get_ellipsoid_by_name.restype = c_int
-    G_get_ellipsoid_by_name.argtypes = [String, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 258
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ellipsoid_name'):
-    G_ellipsoid_name = _libs['grass_gis.7.0.svn'].G_ellipsoid_name
-    G_ellipsoid_name.restype = ReturnString
-    G_ellipsoid_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 259
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ellipsoid_description'):
-    G_ellipsoid_description = _libs['grass_gis.7.0.svn'].G_ellipsoid_description
-    G_ellipsoid_description.restype = ReturnString
-    G_ellipsoid_description.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 260
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_ellipsoid_table'):
-    G_read_ellipsoid_table = _libs['grass_gis.7.0.svn'].G_read_ellipsoid_table
-    G_read_ellipsoid_table.restype = c_int
-    G_read_ellipsoid_table.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 263
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_projunits'):
-    G_get_projunits = _libs['grass_gis.7.0.svn'].G_get_projunits
-    G_get_projunits.restype = POINTER(struct_Key_Value)
-    G_get_projunits.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 264
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_projinfo'):
-    G_get_projinfo = _libs['grass_gis.7.0.svn'].G_get_projinfo
-    G_get_projinfo.restype = POINTER(struct_Key_Value)
-    G_get_projinfo.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 267
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_window'):
-    G_get_window = _libs['grass_gis.7.0.svn'].G_get_window
-    G_get_window.restype = None
-    G_get_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 268
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_default_window'):
-    G_get_default_window = _libs['grass_gis.7.0.svn'].G_get_default_window
-    G_get_default_window.restype = None
-    G_get_default_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 269
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__get_window'):
-    G__get_window = _libs['grass_gis.7.0.svn'].G__get_window
-    G__get_window.restype = None
-    G__get_window.argtypes = [POINTER(struct_Cell_head), String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 273
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getl'):
-    G_getl = _libs['grass_gis.7.0.svn'].G_getl
-    G_getl.restype = c_int
-    G_getl.argtypes = [String, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 274
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getl2'):
-    G_getl2 = _libs['grass_gis.7.0.svn'].G_getl2
-    G_getl2.restype = c_int
-    G_getl2.argtypes = [String, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 277
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_gisbase'):
-    G_gisbase = _libs['grass_gis.7.0.svn'].G_gisbase
-    G_gisbase.restype = ReturnString
-    G_gisbase.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 280
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_gisdbase'):
-    G_gisdbase = _libs['grass_gis.7.0.svn'].G_gisdbase
-    G_gisdbase.restype = ReturnString
-    G_gisdbase.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 283
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__gisinit'):
-    G__gisinit = _libs['grass_gis.7.0.svn'].G__gisinit
-    G__gisinit.restype = None
-    G__gisinit.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 284
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__no_gisinit'):
-    G__no_gisinit = _libs['grass_gis.7.0.svn'].G__no_gisinit
-    G__no_gisinit.restype = None
-    G__no_gisinit.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 285
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__check_gisinit'):
-    G__check_gisinit = _libs['grass_gis.7.0.svn'].G__check_gisinit
-    G__check_gisinit.restype = None
-    G__check_gisinit.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 286
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_all'):
-    G_init_all = _libs['grass_gis.7.0.svn'].G_init_all
-    G_init_all.restype = None
-    G_init_all.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 289
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_add_error_handler'):
-    G_add_error_handler = _libs['grass_gis.7.0.svn'].G_add_error_handler
-    G_add_error_handler.restype = None
-    G_add_error_handler.argtypes = [CFUNCTYPE(UNCHECKED(None), POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 290
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_error_handler'):
-    G_remove_error_handler = _libs['grass_gis.7.0.svn'].G_remove_error_handler
-    G_remove_error_handler.restype = None
-    G_remove_error_handler.argtypes = [CFUNCTYPE(UNCHECKED(None), POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 291
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__call_error_handlers'):
-    G__call_error_handlers = _libs['grass_gis.7.0.svn'].G__call_error_handlers
-    G__call_error_handlers.restype = None
-    G__call_error_handlers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 294
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_home'):
-    G_home = _libs['grass_gis.7.0.svn'].G_home
-    G_home.restype = ReturnString
-    G_home.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 295
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__home'):
-    G__home = _libs['grass_gis.7.0.svn'].G__home
-    G__home.restype = ReturnString
-    G__home.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 298
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_intersect_line_segments'):
-    G_intersect_line_segments = _libs['grass_gis.7.0.svn'].G_intersect_line_segments
-    G_intersect_line_segments.restype = c_int
-    G_intersect_line_segments.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 303
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_gisbase'):
-    G_is_gisbase = _libs['grass_gis.7.0.svn'].G_is_gisbase
-    G_is_gisbase.restype = c_int
-    G_is_gisbase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 304
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_location'):
-    G_is_location = _libs['grass_gis.7.0.svn'].G_is_location
-    G_is_location.restype = c_int
-    G_is_location.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 305
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_mapset'):
-    G_is_mapset = _libs['grass_gis.7.0.svn'].G_is_mapset
-    G_is_mapset.restype = c_int
-    G_is_mapset.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 308
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_create_key_value'):
-    G_create_key_value = _libs['grass_gis.7.0.svn'].G_create_key_value
-    G_create_key_value.restype = POINTER(struct_Key_Value)
-    G_create_key_value.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 309
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_key_value'):
-    G_set_key_value = _libs['grass_gis.7.0.svn'].G_set_key_value
-    G_set_key_value.restype = None
-    G_set_key_value.argtypes = [String, String, POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 310
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_key_value'):
-    G_find_key_value = _libs['grass_gis.7.0.svn'].G_find_key_value
-    G_find_key_value.restype = ReturnString
-    G_find_key_value.argtypes = [String, POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 311
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_key_value'):
-    G_free_key_value = _libs['grass_gis.7.0.svn'].G_free_key_value
-    G_free_key_value.restype = None
-    G_free_key_value.argtypes = [POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 314
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fwrite_key_value'):
-    G_fwrite_key_value = _libs['grass_gis.7.0.svn'].G_fwrite_key_value
-    G_fwrite_key_value.restype = c_int
-    G_fwrite_key_value.argtypes = [POINTER(FILE), POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 315
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fread_key_value'):
-    G_fread_key_value = _libs['grass_gis.7.0.svn'].G_fread_key_value
-    G_fread_key_value.restype = POINTER(struct_Key_Value)
-    G_fread_key_value.argtypes = [POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 318
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_key_value_file'):
-    G_write_key_value_file = _libs['grass_gis.7.0.svn'].G_write_key_value_file
-    G_write_key_value_file.restype = None
-    G_write_key_value_file.argtypes = [String, POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 319
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_key_value_file'):
-    G_read_key_value_file = _libs['grass_gis.7.0.svn'].G_read_key_value_file
-    G_read_key_value_file.restype = POINTER(struct_Key_Value)
-    G_read_key_value_file.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 322
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_update_key_value_file'):
-    G_update_key_value_file = _libs['grass_gis.7.0.svn'].G_update_key_value_file
-    G_update_key_value_file.restype = None
-    G_update_key_value_file.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 323
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lookup_key_value_from_file'):
-    G_lookup_key_value_from_file = _libs['grass_gis.7.0.svn'].G_lookup_key_value_from_file
-    G_lookup_key_value_from_file.restype = c_int
-    G_lookup_key_value_from_file.argtypes = [String, String, POINTER(c_char), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 326
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_legal_filename'):
-    G_legal_filename = _libs['grass_gis.7.0.svn'].G_legal_filename
-    G_legal_filename.restype = c_int
-    G_legal_filename.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 327
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_check_input_output_name'):
-    G_check_input_output_name = _libs['grass_gis.7.0.svn'].G_check_input_output_name
-    G_check_input_output_name.restype = c_int
-    G_check_input_output_name.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 330
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_distance_to_line_tolerance'):
-    G_set_distance_to_line_tolerance = _libs['grass_gis.7.0.svn'].G_set_distance_to_line_tolerance
-    G_set_distance_to_line_tolerance.restype = None
-    G_set_distance_to_line_tolerance.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 331
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance2_point_to_line'):
-    G_distance2_point_to_line = _libs['grass_gis.7.0.svn'].G_distance2_point_to_line
-    G_distance2_point_to_line.restype = c_double
-    G_distance2_point_to_line.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 335
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_list_element'):
-    G_list_element = _libs['grass_gis.7.0.svn'].G_list_element
-    G_list_element.restype = None
-    G_list_element.argtypes = [String, String, String, CFUNCTYPE(UNCHECKED(c_int), String, String, String)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 337
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_list'):
-    G_list = _libs['grass_gis.7.0.svn'].G_list
-    G_list.restype = POINTER(POINTER(c_char))
-    G_list.argtypes = [c_int, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 338
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_list'):
-    G_free_list = _libs['grass_gis.7.0.svn'].G_free_list
-    G_free_list.restype = None
-    G_free_list.argtypes = [POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 341
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_format'):
-    G_lat_format = _libs['grass_gis.7.0.svn'].G_lat_format
-    G_lat_format.restype = None
-    G_lat_format.argtypes = [c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 342
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_format_string'):
-    G_lat_format_string = _libs['grass_gis.7.0.svn'].G_lat_format_string
-    G_lat_format_string.restype = ReturnString
-    G_lat_format_string.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 343
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_format'):
-    G_lon_format = _libs['grass_gis.7.0.svn'].G_lon_format
-    G_lon_format.restype = None
-    G_lon_format.argtypes = [c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 344
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_format_string'):
-    G_lon_format_string = _libs['grass_gis.7.0.svn'].G_lon_format_string
-    G_lon_format_string.restype = ReturnString
-    G_lon_format_string.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 345
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_llres_format'):
-    G_llres_format = _libs['grass_gis.7.0.svn'].G_llres_format
-    G_llres_format.restype = None
-    G_llres_format.argtypes = [c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 346
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_llres_format_string'):
-    G_llres_format_string = _libs['grass_gis.7.0.svn'].G_llres_format_string
-    G_llres_format_string.restype = ReturnString
-    G_llres_format_string.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 347
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_parts'):
-    G_lat_parts = _libs['grass_gis.7.0.svn'].G_lat_parts
-    G_lat_parts.restype = None
-    G_lat_parts.argtypes = [c_double, POINTER(c_int), POINTER(c_int), POINTER(c_double), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 348
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_parts'):
-    G_lon_parts = _libs['grass_gis.7.0.svn'].G_lon_parts
-    G_lon_parts.restype = None
-    G_lon_parts.argtypes = [c_double, POINTER(c_int), POINTER(c_int), POINTER(c_double), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 351
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_scan'):
-    G_lat_scan = _libs['grass_gis.7.0.svn'].G_lat_scan
-    G_lat_scan.restype = c_int
-    G_lat_scan.argtypes = [String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 352
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_scan'):
-    G_lon_scan = _libs['grass_gis.7.0.svn'].G_lon_scan
-    G_lon_scan.restype = c_int
-    G_lon_scan.argtypes = [String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 353
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_llres_scan'):
-    G_llres_scan = _libs['grass_gis.7.0.svn'].G_llres_scan
-    G_llres_scan.restype = c_int
-    G_llres_scan.argtypes = [String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 356
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_location'):
-    G_location = _libs['grass_gis.7.0.svn'].G_location
-    G_location.restype = ReturnString
-    G_location.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 357
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_location_path'):
-    G_location_path = _libs['grass_gis.7.0.svn'].G_location_path
-    G_location_path.restype = ReturnString
-    G_location_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 358
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__location_path'):
-    G__location_path = _libs['grass_gis.7.0.svn'].G__location_path
-    G__location_path.restype = ReturnString
-    G__location_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 361
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_ls_filter'):
-    G_set_ls_filter = _libs['grass_gis.7.0.svn'].G_set_ls_filter
-    G_set_ls_filter.restype = None
-    G_set_ls_filter.argtypes = [CFUNCTYPE(UNCHECKED(c_int), String, POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 362
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_ls_exclude_filter'):
-    G_set_ls_exclude_filter = _libs['grass_gis.7.0.svn'].G_set_ls_exclude_filter
-    G_set_ls_exclude_filter.restype = None
-    G_set_ls_exclude_filter.argtypes = [CFUNCTYPE(UNCHECKED(c_int), String, POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 363
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__ls'):
-    G__ls = _libs['grass_gis.7.0.svn'].G__ls
-    G__ls.restype = POINTER(POINTER(c_char))
-    G__ls.argtypes = [String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 364
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls'):
-    G_ls = _libs['grass_gis.7.0.svn'].G_ls
-    G_ls.restype = None
-    G_ls.argtypes = [String, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 365
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls_format'):
-    G_ls_format = _libs['grass_gis.7.0.svn'].G_ls_format
-    G_ls_format.restype = None
-    G_ls_format.argtypes = [POINTER(POINTER(c_char)), c_int, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 369
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls_regex_filter'):
-    G_ls_regex_filter = _libs['grass_gis.7.0.svn'].G_ls_regex_filter
-    G_ls_regex_filter.restype = POINTER(None)
-    G_ls_regex_filter.argtypes = [String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 370
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls_glob_filter'):
-    G_ls_glob_filter = _libs['grass_gis.7.0.svn'].G_ls_glob_filter
-    G_ls_glob_filter.restype = POINTER(None)
-    G_ls_glob_filter.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 371
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_ls_filter'):
-    G_free_ls_filter = _libs['grass_gis.7.0.svn'].G_free_ls_filter
-    G_free_ls_filter.restype = None
-    G_free_ls_filter.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 375
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__machine_name'):
-    G__machine_name = _libs['grass_gis.7.0.svn'].G__machine_name
-    G__machine_name.restype = ReturnString
-    G__machine_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 378
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_location'):
-    G__make_location = _libs['grass_gis.7.0.svn'].G__make_location
-    G__make_location.restype = c_int
-    G__make_location.argtypes = [String, POINTER(struct_Cell_head), POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 380
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_make_location'):
-    G_make_location = _libs['grass_gis.7.0.svn'].G_make_location
-    G_make_location.restype = c_int
-    G_make_location.argtypes = [String, POINTER(struct_Cell_head), POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 382
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_compare_projections'):
-    G_compare_projections = _libs['grass_gis.7.0.svn'].G_compare_projections
-    G_compare_projections.restype = c_int
-    G_compare_projections.argtypes = [POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 386
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_mapset'):
-    G__make_mapset = _libs['grass_gis.7.0.svn'].G__make_mapset
-    G__make_mapset.restype = c_int
-    G__make_mapset.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 388
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_make_mapset'):
-    G_make_mapset = _libs['grass_gis.7.0.svn'].G_make_mapset
-    G_make_mapset.restype = c_int
-    G_make_mapset.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 392
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tolcase'):
-    G_tolcase = _libs['grass_gis.7.0.svn'].G_tolcase
-    G_tolcase.restype = ReturnString
-    G_tolcase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 393
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_toucase'):
-    G_toucase = _libs['grass_gis.7.0.svn'].G_toucase
-    G_toucase.restype = ReturnString
-    G_toucase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 396
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_mapset'):
-    G_mapset = _libs['grass_gis.7.0.svn'].G_mapset
-    G_mapset.restype = ReturnString
-    G_mapset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 397
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset'):
-    G__mapset = _libs['grass_gis.7.0.svn'].G__mapset
-    G__mapset.restype = ReturnString
-    G__mapset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 400
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_mapset_element'):
-    G__make_mapset_element = _libs['grass_gis.7.0.svn'].G__make_mapset_element
-    G__make_mapset_element.restype = c_int
-    G__make_mapset_element.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 401
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_mapset_element_misc'):
-    G__make_mapset_element_misc = _libs['grass_gis.7.0.svn'].G__make_mapset_element_misc
-    G__make_mapset_element_misc.restype = c_int
-    G__make_mapset_element_misc.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 402
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset_permissions'):
-    G__mapset_permissions = _libs['grass_gis.7.0.svn'].G__mapset_permissions
-    G__mapset_permissions.restype = c_int
-    G__mapset_permissions.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 403
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset_permissions2'):
-    G__mapset_permissions2 = _libs['grass_gis.7.0.svn'].G__mapset_permissions2
-    G__mapset_permissions2.restype = c_int
-    G__mapset_permissions2.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 406
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset_name'):
-    G__mapset_name = _libs['grass_gis.7.0.svn'].G__mapset_name
-    G__mapset_name.restype = ReturnString
-    G__mapset_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 407
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_list_of_mapsets'):
-    G_get_list_of_mapsets = _libs['grass_gis.7.0.svn'].G_get_list_of_mapsets
-    G_get_list_of_mapsets.restype = None
-    G_get_list_of_mapsets.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 408
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__create_alt_search_path'):
-    G__create_alt_search_path = _libs['grass_gis.7.0.svn'].G__create_alt_search_path
-    G__create_alt_search_path.restype = None
-    G__create_alt_search_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 409
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__switch_search_path'):
-    G__switch_search_path = _libs['grass_gis.7.0.svn'].G__switch_search_path
-    G__switch_search_path.restype = None
-    G__switch_search_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 410
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_reset_mapsets'):
-    G_reset_mapsets = _libs['grass_gis.7.0.svn'].G_reset_mapsets
-    G_reset_mapsets.restype = None
-    G_reset_mapsets.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 411
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_available_mapsets'):
-    G_available_mapsets = _libs['grass_gis.7.0.svn'].G_available_mapsets
-    G_available_mapsets.restype = POINTER(POINTER(c_char))
-    G_available_mapsets.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 412
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_add_mapset_to_search_path'):
-    G_add_mapset_to_search_path = _libs['grass_gis.7.0.svn'].G_add_mapset_to_search_path
-    G_add_mapset_to_search_path.restype = None
-    G_add_mapset_to_search_path.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 413
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_mapset_in_search_path'):
-    G_is_mapset_in_search_path = _libs['grass_gis.7.0.svn'].G_is_mapset_in_search_path
-    G_is_mapset_in_search_path.restype = c_int
-    G_is_mapset_in_search_path.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 416
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_myname'):
-    G_myname = _libs['grass_gis.7.0.svn'].G_myname
-    G_myname.restype = ReturnString
-    G_myname.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 419
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_color_values'):
-    G_color_values = _libs['grass_gis.7.0.svn'].G_color_values
-    G_color_values.restype = c_int
-    G_color_values.argtypes = [String, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 420
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_color_name'):
-    G_color_name = _libs['grass_gis.7.0.svn'].G_color_name
-    G_color_name.restype = ReturnString
-    G_color_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 423
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_newlines_to_spaces'):
-    G_newlines_to_spaces = _libs['grass_gis.7.0.svn'].G_newlines_to_spaces
-    G_newlines_to_spaces.restype = None
-    G_newlines_to_spaces.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 426
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_name_is_fully_qualified'):
-    G_name_is_fully_qualified = _libs['grass_gis.7.0.svn'].G_name_is_fully_qualified
-    G_name_is_fully_qualified.restype = c_int
-    G_name_is_fully_qualified.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 427
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fully_qualified_name'):
-    G_fully_qualified_name = _libs['grass_gis.7.0.svn'].G_fully_qualified_name
-    G_fully_qualified_name.restype = ReturnString
-    G_fully_qualified_name.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 428
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unqualified_name'):
-    G_unqualified_name = _libs['grass_gis.7.0.svn'].G_unqualified_name
-    G_unqualified_name.restype = c_int
-    G_unqualified_name.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 431
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_new'):
-    G_open_new = _libs['grass_gis.7.0.svn'].G_open_new
-    G_open_new.restype = c_int
-    G_open_new.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 432
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_old'):
-    G_open_old = _libs['grass_gis.7.0.svn'].G_open_old
-    G_open_old.restype = c_int
-    G_open_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 433
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_update'):
-    G_open_update = _libs['grass_gis.7.0.svn'].G_open_update
-    G_open_update.restype = c_int
-    G_open_update.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 434
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_new'):
-    G_fopen_new = _libs['grass_gis.7.0.svn'].G_fopen_new
-    G_fopen_new.restype = POINTER(FILE)
-    G_fopen_new.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 435
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_old'):
-    G_fopen_old = _libs['grass_gis.7.0.svn'].G_fopen_old
-    G_fopen_old.restype = POINTER(FILE)
-    G_fopen_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 436
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_append'):
-    G_fopen_append = _libs['grass_gis.7.0.svn'].G_fopen_append
-    G_fopen_append.restype = POINTER(FILE)
-    G_fopen_append.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 437
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_modify'):
-    G_fopen_modify = _libs['grass_gis.7.0.svn'].G_fopen_modify
-    G_fopen_modify.restype = POINTER(FILE)
-    G_fopen_modify.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 440
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_new_misc'):
-    G_open_new_misc = _libs['grass_gis.7.0.svn'].G_open_new_misc
-    G_open_new_misc.restype = c_int
-    G_open_new_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 441
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_old_misc'):
-    G_open_old_misc = _libs['grass_gis.7.0.svn'].G_open_old_misc
-    G_open_old_misc.restype = c_int
-    G_open_old_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 442
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_update_misc'):
-    G_open_update_misc = _libs['grass_gis.7.0.svn'].G_open_update_misc
-    G_open_update_misc.restype = c_int
-    G_open_update_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 443
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_new_misc'):
-    G_fopen_new_misc = _libs['grass_gis.7.0.svn'].G_fopen_new_misc
-    G_fopen_new_misc.restype = POINTER(FILE)
-    G_fopen_new_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 444
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_old_misc'):
-    G_fopen_old_misc = _libs['grass_gis.7.0.svn'].G_fopen_old_misc
-    G_fopen_old_misc.restype = POINTER(FILE)
-    G_fopen_old_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 446
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_append_misc'):
-    G_fopen_append_misc = _libs['grass_gis.7.0.svn'].G_fopen_append_misc
-    G_fopen_append_misc.restype = POINTER(FILE)
-    G_fopen_append_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 447
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_modify_misc'):
-    G_fopen_modify_misc = _libs['grass_gis.7.0.svn'].G_fopen_modify_misc
-    G_fopen_modify_misc.restype = POINTER(FILE)
-    G_fopen_modify_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 450
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_check_overwrite'):
-    G_check_overwrite = _libs['grass_gis.7.0.svn'].G_check_overwrite
-    G_check_overwrite.restype = c_int
-    G_check_overwrite.argtypes = [c_int, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 453
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_pager'):
-    G_open_pager = _libs['grass_gis.7.0.svn'].G_open_pager
-    G_open_pager.restype = POINTER(FILE)
-    G_open_pager.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 454
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_close_pager'):
-    G_close_pager = _libs['grass_gis.7.0.svn'].G_close_pager
-    G_close_pager.restype = None
-    G_close_pager.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 455
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_mail'):
-    G_open_mail = _libs['grass_gis.7.0.svn'].G_open_mail
-    G_open_mail.restype = POINTER(FILE)
-    G_open_mail.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 456
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_close_mail'):
-    G_close_mail = _libs['grass_gis.7.0.svn'].G_close_mail
-    G_close_mail.restype = None
-    G_close_mail.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 459
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_disable_interactive'):
-    G_disable_interactive = _libs['grass_gis.7.0.svn'].G_disable_interactive
-    G_disable_interactive.restype = None
-    G_disable_interactive.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 460
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_module'):
-    G_define_module = _libs['grass_gis.7.0.svn'].G_define_module
-    G_define_module.restype = POINTER(struct_GModule)
-    G_define_module.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 461
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_flag'):
-    G_define_flag = _libs['grass_gis.7.0.svn'].G_define_flag
-    G_define_flag.restype = POINTER(struct_Flag)
-    G_define_flag.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 462
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_option'):
-    G_define_option = _libs['grass_gis.7.0.svn'].G_define_option
-    G_define_option.restype = POINTER(struct_Option)
-    G_define_option.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 463
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_standard_option'):
-    G_define_standard_option = _libs['grass_gis.7.0.svn'].G_define_standard_option
-    G_define_standard_option.restype = POINTER(struct_Option)
-    G_define_standard_option.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 464
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_parser'):
-    G_parser = _libs['grass_gis.7.0.svn'].G_parser
-    G_parser.restype = c_int
-    G_parser.argtypes = [c_int, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 465
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_usage'):
-    G_usage = _libs['grass_gis.7.0.svn'].G_usage
-    G_usage.restype = None
-    G_usage.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 466
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_recreate_command'):
-    G_recreate_command = _libs['grass_gis.7.0.svn'].G_recreate_command
-    G_recreate_command.restype = ReturnString
-    G_recreate_command.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 467
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_add_keyword'):
-    G_add_keyword = _libs['grass_gis.7.0.svn'].G_add_keyword
-    G_add_keyword.restype = None
-    G_add_keyword.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 468
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_keywords'):
-    G_set_keywords = _libs['grass_gis.7.0.svn'].G_set_keywords
-    G_set_keywords.restype = None
-    G_set_keywords.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 469
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_overwrite'):
-    G_get_overwrite = _libs['grass_gis.7.0.svn'].G_get_overwrite
-    G_get_overwrite.restype = c_int
-    G_get_overwrite.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 472
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_mkdir'):
-    G_mkdir = _libs['grass_gis.7.0.svn'].G_mkdir
-    G_mkdir.restype = c_int
-    G_mkdir.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 473
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_dirsep'):
-    G_is_dirsep = _libs['grass_gis.7.0.svn'].G_is_dirsep
-    G_is_dirsep.restype = c_int
-    G_is_dirsep.argtypes = [c_char]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 474
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_absolute_path'):
-    G_is_absolute_path = _libs['grass_gis.7.0.svn'].G_is_absolute_path
-    G_is_absolute_path.restype = c_int
-    G_is_absolute_path.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 475
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_convert_dirseps_to_host'):
-    G_convert_dirseps_to_host = _libs['grass_gis.7.0.svn'].G_convert_dirseps_to_host
-    G_convert_dirseps_to_host.restype = ReturnString
-    G_convert_dirseps_to_host.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 476
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_convert_dirseps_from_host'):
-    G_convert_dirseps_from_host = _libs['grass_gis.7.0.svn'].G_convert_dirseps_from_host
-    G_convert_dirseps_from_host.restype = ReturnString
-    G_convert_dirseps_from_host.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 477
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lstat'):
-    G_lstat = _libs['grass_gis.7.0.svn'].G_lstat
-    G_lstat.restype = c_int
-    G_lstat.argtypes = [String, POINTER(STRUCT_STAT)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 478
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_stat'):
-    G_stat = _libs['grass_gis.7.0.svn'].G_stat
-    G_stat.restype = c_int
-    G_stat.argtypes = [String, POINTER(STRUCT_STAT)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 481
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_percent'):
-    G_percent = _libs['grass_gis.7.0.svn'].G_percent
-    G_percent.restype = None
-    G_percent.argtypes = [c_long, c_long, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 482
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_percent_reset'):
-    G_percent_reset = _libs['grass_gis.7.0.svn'].G_percent_reset
-    G_percent_reset.restype = None
-    G_percent_reset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 483
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_percent_routine'):
-    G_set_percent_routine = _libs['grass_gis.7.0.svn'].G_set_percent_routine
-    G_set_percent_routine.restype = None
-    G_set_percent_routine.argtypes = [CFUNCTYPE(UNCHECKED(c_int), c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 484
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unset_percent_routine'):
-    G_unset_percent_routine = _libs['grass_gis.7.0.svn'].G_unset_percent_routine
-    G_unset_percent_routine.restype = None
-    G_unset_percent_routine.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 487
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_clear'):
-    G_popen_clear = _libs['grass_gis.7.0.svn'].G_popen_clear
-    G_popen_clear.restype = None
-    G_popen_clear.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 488
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_write'):
-    G_popen_write = _libs['grass_gis.7.0.svn'].G_popen_write
-    G_popen_write.restype = POINTER(FILE)
-    G_popen_write.argtypes = [POINTER(struct_Popen), String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 489
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_read'):
-    G_popen_read = _libs['grass_gis.7.0.svn'].G_popen_read
-    G_popen_read.restype = POINTER(FILE)
-    G_popen_read.argtypes = [POINTER(struct_Popen), String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 490
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_close'):
-    G_popen_close = _libs['grass_gis.7.0.svn'].G_popen_close
-    G_popen_close.restype = None
-    G_popen_close.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 493
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setup_plot'):
-    G_setup_plot = _libs['grass_gis.7.0.svn'].G_setup_plot
-    G_setup_plot.restype = None
-    G_setup_plot.argtypes = [c_double, c_double, c_double, c_double, CFUNCTYPE(UNCHECKED(c_int), c_int, c_int), CFUNCTYPE(UNCHECKED(c_int), c_int, c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 495
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setup_fill'):
-    G_setup_fill = _libs['grass_gis.7.0.svn'].G_setup_fill
-    G_setup_fill.restype = None
-    G_setup_fill.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 496
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_where_xy'):
-    G_plot_where_xy = _libs['grass_gis.7.0.svn'].G_plot_where_xy
-    G_plot_where_xy.restype = None
-    G_plot_where_xy.argtypes = [c_double, c_double, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 497
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_where_en'):
-    G_plot_where_en = _libs['grass_gis.7.0.svn'].G_plot_where_en
-    G_plot_where_en.restype = None
-    G_plot_where_en.argtypes = [c_int, c_int, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 498
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_point'):
-    G_plot_point = _libs['grass_gis.7.0.svn'].G_plot_point
-    G_plot_point.restype = None
-    G_plot_point.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 499
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_line'):
-    G_plot_line = _libs['grass_gis.7.0.svn'].G_plot_line
-    G_plot_line.restype = None
-    G_plot_line.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 500
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_line2'):
-    G_plot_line2 = _libs['grass_gis.7.0.svn'].G_plot_line2
-    G_plot_line2.restype = None
-    G_plot_line2.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 501
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_polygon'):
-    G_plot_polygon = _libs['grass_gis.7.0.svn'].G_plot_polygon
-    G_plot_polygon.restype = c_int
-    G_plot_polygon.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 502
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_area'):
-    G_plot_area = _libs['grass_gis.7.0.svn'].G_plot_area
-    G_plot_area.restype = c_int
-    G_plot_area.argtypes = [POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 503
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_fx'):
-    G_plot_fx = _libs['grass_gis.7.0.svn'].G_plot_fx
-    G_plot_fx.restype = None
-    G_plot_fx.argtypes = [CFUNCTYPE(UNCHECKED(c_double), c_double), c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 506
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_pole_in_polygon'):
-    G_pole_in_polygon = _libs['grass_gis.7.0.svn'].G_pole_in_polygon
-    G_pole_in_polygon.restype = c_int
-    G_pole_in_polygon.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 509
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_program_name'):
-    G_program_name = _libs['grass_gis.7.0.svn'].G_program_name
-    G_program_name.restype = ReturnString
-    G_program_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 510
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_program_name'):
-    G_set_program_name = _libs['grass_gis.7.0.svn'].G_set_program_name
-    G_set_program_name.restype = None
-    G_set_program_name.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 513
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_projection'):
-    G_projection = _libs['grass_gis.7.0.svn'].G_projection
-    G_projection.restype = c_int
-    G_projection.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 516
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__projection_units'):
-    G__projection_units = _libs['grass_gis.7.0.svn'].G__projection_units
-    G__projection_units.restype = c_int
-    G__projection_units.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 517
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__projection_name'):
-    G__projection_name = _libs['grass_gis.7.0.svn'].G__projection_name
-    G__projection_name.restype = ReturnString
-    G__projection_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 520
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_unit_name'):
-    G_database_unit_name = _libs['grass_gis.7.0.svn'].G_database_unit_name
-    G_database_unit_name.restype = ReturnString
-    G_database_unit_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 521
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_projection_name'):
-    G_database_projection_name = _libs['grass_gis.7.0.svn'].G_database_projection_name
-    G_database_projection_name.restype = ReturnString
-    G_database_projection_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 522
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_datum_name'):
-    G_database_datum_name = _libs['grass_gis.7.0.svn'].G_database_datum_name
-    G_database_datum_name.restype = ReturnString
-    G_database_datum_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 523
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_ellipse_name'):
-    G_database_ellipse_name = _libs['grass_gis.7.0.svn'].G_database_ellipse_name
-    G_database_ellipse_name.restype = ReturnString
-    G_database_ellipse_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 524
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_units_to_meters_factor'):
-    G_database_units_to_meters_factor = _libs['grass_gis.7.0.svn'].G_database_units_to_meters_factor
-    G_database_units_to_meters_factor.restype = c_double
-    G_database_units_to_meters_factor.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 527
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_put_window'):
-    G_put_window = _libs['grass_gis.7.0.svn'].G_put_window
-    G_put_window.restype = c_int
-    G_put_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 528
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__put_window'):
-    G__put_window = _libs['grass_gis.7.0.svn'].G__put_window
-    G__put_window.restype = c_int
-    G__put_window.argtypes = [POINTER(struct_Cell_head), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 531
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_putenv'):
-    G_putenv = _libs['grass_gis.7.0.svn'].G_putenv
-    G_putenv.restype = None
-    G_putenv.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 534
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_meridional_radius_of_curvature'):
-    G_meridional_radius_of_curvature = _libs['grass_gis.7.0.svn'].G_meridional_radius_of_curvature
-    G_meridional_radius_of_curvature.restype = c_double
-    G_meridional_radius_of_curvature.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 535
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_transverse_radius_of_curvature'):
-    G_transverse_radius_of_curvature = _libs['grass_gis.7.0.svn'].G_transverse_radius_of_curvature
-    G_transverse_radius_of_curvature.restype = c_double
-    G_transverse_radius_of_curvature.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 536
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_radius_of_conformal_tangent_sphere'):
-    G_radius_of_conformal_tangent_sphere = _libs['grass_gis.7.0.svn'].G_radius_of_conformal_tangent_sphere
-    G_radius_of_conformal_tangent_sphere.restype = c_double
-    G_radius_of_conformal_tangent_sphere.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 539
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_Cell_head'):
-    G__read_Cell_head = _libs['grass_gis.7.0.svn'].G__read_Cell_head
-    G__read_Cell_head.restype = None
-    G__read_Cell_head.argtypes = [POINTER(FILE), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 540
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_Cell_head_array'):
-    G__read_Cell_head_array = _libs['grass_gis.7.0.svn'].G__read_Cell_head_array
-    G__read_Cell_head_array.restype = None
-    G__read_Cell_head_array.argtypes = [POINTER(POINTER(c_char)), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 543
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove'):
-    G_remove = _libs['grass_gis.7.0.svn'].G_remove
-    G_remove.restype = c_int
-    G_remove.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 544
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_misc'):
-    G_remove_misc = _libs['grass_gis.7.0.svn'].G_remove_misc
-    G_remove_misc.restype = c_int
-    G_remove_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 547
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rename_file'):
-    G_rename_file = _libs['grass_gis.7.0.svn'].G_rename_file
-    G_rename_file.restype = c_int
-    G_rename_file.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 548
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rename'):
-    G_rename = _libs['grass_gis.7.0.svn'].G_rename
-    G_rename.restype = c_int
-    G_rename.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 551
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_rhumbline_equation'):
-    G_begin_rhumbline_equation = _libs['grass_gis.7.0.svn'].G_begin_rhumbline_equation
-    G_begin_rhumbline_equation.restype = c_int
-    G_begin_rhumbline_equation.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 552
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rhumbline_lat_from_lon'):
-    G_rhumbline_lat_from_lon = _libs['grass_gis.7.0.svn'].G_rhumbline_lat_from_lon
-    G_rhumbline_lat_from_lon.restype = c_double
-    G_rhumbline_lat_from_lon.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 555
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rotate_around_point'):
-    G_rotate_around_point = _libs['grass_gis.7.0.svn'].G_rotate_around_point
-    G_rotate_around_point.restype = None
-    G_rotate_around_point.argtypes = [c_double, c_double, POINTER(c_double), POINTER(c_double), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 556
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rotate_around_point_int'):
-    G_rotate_around_point_int = _libs['grass_gis.7.0.svn'].G_rotate_around_point_int
-    G_rotate_around_point_int.restype = None
-    G_rotate_around_point_int.argtypes = [c_int, c_int, POINTER(c_int), POINTER(c_int), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 559
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ftell'):
-    G_ftell = _libs['grass_gis.7.0.svn'].G_ftell
-    G_ftell.restype = off_t
-    G_ftell.argtypes = [POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 560
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fseek'):
-    G_fseek = _libs['grass_gis.7.0.svn'].G_fseek
-    G_fseek.restype = None
-    G_fseek.argtypes = [POINTER(FILE), off_t, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 563
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_set_window'):
-    G_get_set_window = _libs['grass_gis.7.0.svn'].G_get_set_window
-    G_get_set_window.restype = None
-    G_get_set_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 564
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_window'):
-    G_set_window = _libs['grass_gis.7.0.svn'].G_set_window
-    G_set_window.restype = None
-    G_set_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 567
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_shortest_way'):
-    G_shortest_way = _libs['grass_gis.7.0.svn'].G_shortest_way
-    G_shortest_way.restype = None
-    G_shortest_way.argtypes = [POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 570
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_sleep'):
-    G_sleep = _libs['grass_gis.7.0.svn'].G_sleep
-    G_sleep.restype = None
-    G_sleep.argtypes = [c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 573
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_snprintf'):
-    _func = _libs['grass_gis.7.0.svn'].G_snprintf
-    _restype = c_int
-    _argtypes = [String, c_size_t, String]
-    G_snprintf = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 577
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strcasecmp'):
-    G_strcasecmp = _libs['grass_gis.7.0.svn'].G_strcasecmp
-    G_strcasecmp.restype = c_int
-    G_strcasecmp.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 578
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_store'):
-    G_store = _libs['grass_gis.7.0.svn'].G_store
-    G_store.restype = ReturnString
-    G_store.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 579
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strchg'):
-    G_strchg = _libs['grass_gis.7.0.svn'].G_strchg
-    G_strchg.restype = ReturnString
-    G_strchg.argtypes = [String, c_char, c_char]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 580
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_replace'):
-    G_str_replace = _libs['grass_gis.7.0.svn'].G_str_replace
-    G_str_replace.restype = ReturnString
-    G_str_replace.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 581
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strip'):
-    G_strip = _libs['grass_gis.7.0.svn'].G_strip
-    G_strip.restype = None
-    G_strip.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 582
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_chop'):
-    G_chop = _libs['grass_gis.7.0.svn'].G_chop
-    G_chop.restype = ReturnString
-    G_chop.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 583
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_to_upper'):
-    G_str_to_upper = _libs['grass_gis.7.0.svn'].G_str_to_upper
-    G_str_to_upper.restype = None
-    G_str_to_upper.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 584
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_to_lower'):
-    G_str_to_lower = _libs['grass_gis.7.0.svn'].G_str_to_lower
-    G_str_to_lower.restype = None
-    G_str_to_lower.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 585
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_to_sql'):
-    G_str_to_sql = _libs['grass_gis.7.0.svn'].G_str_to_sql
-    G_str_to_sql.restype = c_int
-    G_str_to_sql.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 586
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_squeeze'):
-    G_squeeze = _libs['grass_gis.7.0.svn'].G_squeeze
-    G_squeeze.restype = ReturnString
-    G_squeeze.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 589
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_tempfile'):
-    G_init_tempfile = _libs['grass_gis.7.0.svn'].G_init_tempfile
-    G_init_tempfile.restype = None
-    G_init_tempfile.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 590
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tempfile'):
-    G_tempfile = _libs['grass_gis.7.0.svn'].G_tempfile
-    G_tempfile.restype = ReturnString
-    G_tempfile.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 591
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__tempfile'):
-    G__tempfile = _libs['grass_gis.7.0.svn'].G__tempfile
-    G__tempfile.restype = ReturnString
-    G__tempfile.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 592
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__temp_element'):
-    G__temp_element = _libs['grass_gis.7.0.svn'].G__temp_element
-    G__temp_element.restype = None
-    G__temp_element.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 595
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_timestamp'):
-    G_init_timestamp = _libs['grass_gis.7.0.svn'].G_init_timestamp
-    G_init_timestamp.restype = None
-    G_init_timestamp.argtypes = [POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 596
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_timestamp'):
-    G_set_timestamp = _libs['grass_gis.7.0.svn'].G_set_timestamp
-    G_set_timestamp.restype = None
-    G_set_timestamp.argtypes = [POINTER(struct_TimeStamp), POINTER(struct_DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 597
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_timestamp_range'):
-    G_set_timestamp_range = _libs['grass_gis.7.0.svn'].G_set_timestamp_range
-    G_set_timestamp_range.restype = None
-    G_set_timestamp_range.argtypes = [POINTER(struct_TimeStamp), POINTER(struct_DateTime), POINTER(struct_DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 599
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_timestamp'):
-    G__read_timestamp = _libs['grass_gis.7.0.svn'].G__read_timestamp
-    G__read_timestamp.restype = c_int
-    G__read_timestamp.argtypes = [POINTER(FILE), POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 600
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_timestamp'):
-    G__write_timestamp = _libs['grass_gis.7.0.svn'].G__write_timestamp
-    G__write_timestamp.restype = c_int
-    G__write_timestamp.argtypes = [POINTER(FILE), POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 601
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_timestamps'):
-    G_get_timestamps = _libs['grass_gis.7.0.svn'].G_get_timestamps
-    G_get_timestamps.restype = None
-    G_get_timestamps.argtypes = [POINTER(struct_TimeStamp), POINTER(struct_DateTime), POINTER(struct_DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 602
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_raster_timestamp'):
-    G_read_raster_timestamp = _libs['grass_gis.7.0.svn'].G_read_raster_timestamp
-    G_read_raster_timestamp.restype = c_int
-    G_read_raster_timestamp.argtypes = [String, String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 603
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_vector_timestamp'):
-    G_read_vector_timestamp = _libs['grass_gis.7.0.svn'].G_read_vector_timestamp
-    G_read_vector_timestamp.restype = c_int
-    G_read_vector_timestamp.argtypes = [String, String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 604
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_raster_timestamp'):
-    G_write_raster_timestamp = _libs['grass_gis.7.0.svn'].G_write_raster_timestamp
-    G_write_raster_timestamp.restype = c_int
-    G_write_raster_timestamp.argtypes = [String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 605
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_vector_timestamp'):
-    G_write_vector_timestamp = _libs['grass_gis.7.0.svn'].G_write_vector_timestamp
-    G_write_vector_timestamp.restype = c_int
-    G_write_vector_timestamp.argtypes = [String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 606
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_timestamp'):
-    G_format_timestamp = _libs['grass_gis.7.0.svn'].G_format_timestamp
-    G_format_timestamp.restype = c_int
-    G_format_timestamp.argtypes = [POINTER(struct_TimeStamp), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 607
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_timestamp'):
-    G_scan_timestamp = _libs['grass_gis.7.0.svn'].G_scan_timestamp
-    G_scan_timestamp.restype = c_int
-    G_scan_timestamp.argtypes = [POINTER(struct_TimeStamp), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 608
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_raster_timestamp'):
-    G_remove_raster_timestamp = _libs['grass_gis.7.0.svn'].G_remove_raster_timestamp
-    G_remove_raster_timestamp.restype = c_int
-    G_remove_raster_timestamp.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 609
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_vector_timestamp'):
-    G_remove_vector_timestamp = _libs['grass_gis.7.0.svn'].G_remove_vector_timestamp
-    G_remove_vector_timestamp.restype = c_int
-    G_remove_vector_timestamp.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 610
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_grid3_timestamp'):
-    G_read_grid3_timestamp = _libs['grass_gis.7.0.svn'].G_read_grid3_timestamp
-    G_read_grid3_timestamp.restype = c_int
-    G_read_grid3_timestamp.argtypes = [String, String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 611
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_grid3_timestamp'):
-    G_remove_grid3_timestamp = _libs['grass_gis.7.0.svn'].G_remove_grid3_timestamp
-    G_remove_grid3_timestamp.restype = c_int
-    G_remove_grid3_timestamp.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 612
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_grid3_timestamp'):
-    G_write_grid3_timestamp = _libs['grass_gis.7.0.svn'].G_write_grid3_timestamp
-    G_write_grid3_timestamp.restype = c_int
-    G_write_grid3_timestamp.argtypes = [String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 615
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tokenize'):
-    G_tokenize = _libs['grass_gis.7.0.svn'].G_tokenize
-    G_tokenize.restype = POINTER(POINTER(c_char))
-    G_tokenize.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 616
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_number_of_tokens'):
-    G_number_of_tokens = _libs['grass_gis.7.0.svn'].G_number_of_tokens
-    G_number_of_tokens.restype = c_int
-    G_number_of_tokens.argtypes = [POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 617
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_tokens'):
-    G_free_tokens = _libs['grass_gis.7.0.svn'].G_free_tokens
-    G_free_tokens.restype = None
-    G_free_tokens.argtypes = [POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 620
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_trim_decimal'):
-    G_trim_decimal = _libs['grass_gis.7.0.svn'].G_trim_decimal
-    G_trim_decimal.restype = None
-    G_trim_decimal.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 623
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_units_to_meters_factor'):
-    G_units_to_meters_factor = _libs['grass_gis.7.0.svn'].G_units_to_meters_factor
-    G_units_to_meters_factor.restype = c_double
-    G_units_to_meters_factor.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 624
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_units_to_meters_factor_sq'):
-    G_units_to_meters_factor_sq = _libs['grass_gis.7.0.svn'].G_units_to_meters_factor_sq
-    G_units_to_meters_factor_sq.restype = c_double
-    G_units_to_meters_factor_sq.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 625
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_units_name'):
-    G_get_units_name = _libs['grass_gis.7.0.svn'].G_get_units_name
-    G_get_units_name.restype = ReturnString
-    G_get_units_name.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 626
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_units'):
-    G_units = _libs['grass_gis.7.0.svn'].G_units
-    G_units.restype = c_int
-    G_units.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 630
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rc_path'):
-    G_rc_path = _libs['grass_gis.7.0.svn'].G_rc_path
-    G_rc_path.restype = ReturnString
-    G_rc_path.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 634
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose'):
-    G_verbose = _libs['grass_gis.7.0.svn'].G_verbose
-    G_verbose.restype = c_int
-    G_verbose.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 635
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_min'):
-    G_verbose_min = _libs['grass_gis.7.0.svn'].G_verbose_min
-    G_verbose_min.restype = c_int
-    G_verbose_min.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 636
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_std'):
-    G_verbose_std = _libs['grass_gis.7.0.svn'].G_verbose_std
-    G_verbose_std.restype = c_int
-    G_verbose_std.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 637
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_max'):
-    G_verbose_max = _libs['grass_gis.7.0.svn'].G_verbose_max
-    G_verbose_max.restype = c_int
-    G_verbose_max.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 638
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_verbose'):
-    G_set_verbose = _libs['grass_gis.7.0.svn'].G_set_verbose
-    G_set_verbose.restype = c_int
-    G_set_verbose.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 641
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_3dview_warning'):
-    G_3dview_warning = _libs['grass_gis.7.0.svn'].G_3dview_warning
-    G_3dview_warning.restype = None
-    G_3dview_warning.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 642
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_3dview_defaults'):
-    G_get_3dview_defaults = _libs['grass_gis.7.0.svn'].G_get_3dview_defaults
-    G_get_3dview_defaults.restype = c_int
-    G_get_3dview_defaults.argtypes = [POINTER(struct_G_3dview), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 643
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_put_3dview'):
-    G_put_3dview = _libs['grass_gis.7.0.svn'].G_put_3dview
-    G_put_3dview.restype = c_int
-    G_put_3dview.argtypes = [String, String, POINTER(struct_G_3dview), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 645
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_3dview'):
-    G_get_3dview = _libs['grass_gis.7.0.svn'].G_get_3dview
-    G_get_3dview.restype = c_int
-    G_get_3dview.argtypes = [String, String, POINTER(struct_G_3dview)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 648
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_whoami'):
-    G_whoami = _libs['grass_gis.7.0.svn'].G_whoami
-    G_whoami.restype = ReturnString
-    G_whoami.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 651
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_window_to_box'):
-    G_adjust_window_to_box = _libs['grass_gis.7.0.svn'].G_adjust_window_to_box
-    G_adjust_window_to_box.restype = None
-    G_adjust_window_to_box.argtypes = [POINTER(struct_Cell_head), POINTER(struct_Cell_head), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 655
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_northing'):
-    G_format_northing = _libs['grass_gis.7.0.svn'].G_format_northing
-    G_format_northing.restype = None
-    G_format_northing.argtypes = [c_double, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 656
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_easting'):
-    G_format_easting = _libs['grass_gis.7.0.svn'].G_format_easting
-    G_format_easting.restype = None
-    G_format_easting.argtypes = [c_double, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 657
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_resolution'):
-    G_format_resolution = _libs['grass_gis.7.0.svn'].G_format_resolution
-    G_format_resolution.restype = None
-    G_format_resolution.argtypes = [c_double, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 660
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_point_in_region'):
-    G_point_in_region = _libs['grass_gis.7.0.svn'].G_point_in_region
-    G_point_in_region.restype = c_int
-    G_point_in_region.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 661
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_point_in_window'):
-    G_point_in_window = _libs['grass_gis.7.0.svn'].G_point_in_window
-    G_point_in_window.restype = c_int
-    G_point_in_window.argtypes = [c_double, c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 664
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_east'):
-    G_limit_east = _libs['grass_gis.7.0.svn'].G_limit_east
-    G_limit_east.restype = c_int
-    G_limit_east.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 665
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_west'):
-    G_limit_west = _libs['grass_gis.7.0.svn'].G_limit_west
-    G_limit_west.restype = c_int
-    G_limit_west.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 666
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_north'):
-    G_limit_north = _libs['grass_gis.7.0.svn'].G_limit_north
-    G_limit_north.restype = c_int
-    G_limit_north.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 667
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_south'):
-    G_limit_south = _libs['grass_gis.7.0.svn'].G_limit_south
-    G_limit_south.restype = c_int
-    G_limit_south.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 670
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_window_overlap'):
-    G_window_overlap = _libs['grass_gis.7.0.svn'].G_window_overlap
-    G_window_overlap.restype = c_int
-    G_window_overlap.argtypes = [POINTER(struct_Cell_head), c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 672
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_window_percentage_overlap'):
-    G_window_percentage_overlap = _libs['grass_gis.7.0.svn'].G_window_percentage_overlap
-    G_window_percentage_overlap.restype = c_double
-    G_window_percentage_overlap.argtypes = [POINTER(struct_Cell_head), c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 676
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_northing'):
-    G_scan_northing = _libs['grass_gis.7.0.svn'].G_scan_northing
-    G_scan_northing.restype = c_int
-    G_scan_northing.argtypes = [String, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 677
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_easting'):
-    G_scan_easting = _libs['grass_gis.7.0.svn'].G_scan_easting
-    G_scan_easting.restype = c_int
-    G_scan_easting.argtypes = [String, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 678
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_resolution'):
-    G_scan_resolution = _libs['grass_gis.7.0.svn'].G_scan_resolution
-    G_scan_resolution.restype = c_int
-    G_scan_resolution.argtypes = [String, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 681
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_east_longitude'):
-    G_adjust_east_longitude = _libs['grass_gis.7.0.svn'].G_adjust_east_longitude
-    G_adjust_east_longitude.restype = c_double
-    G_adjust_east_longitude.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 682
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_easting'):
-    G_adjust_easting = _libs['grass_gis.7.0.svn'].G_adjust_easting
-    G_adjust_easting.restype = c_double
-    G_adjust_easting.argtypes = [c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 683
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__init_window'):
-    G__init_window = _libs['grass_gis.7.0.svn'].G__init_window
-    G__init_window.restype = None
-    G__init_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 686
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_execute'):
-    G_begin_execute = _libs['grass_gis.7.0.svn'].G_begin_execute
-    G_begin_execute.restype = None
-    G_begin_execute.argtypes = [CFUNCTYPE(UNCHECKED(None), POINTER(None)), POINTER(None), POINTER(POINTER(None)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 687
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_end_execute'):
-    G_end_execute = _libs['grass_gis.7.0.svn'].G_end_execute
-    G_end_execute.restype = None
-    G_end_execute.argtypes = [POINTER(POINTER(None))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 688
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_workers'):
-    G_init_workers = _libs['grass_gis.7.0.svn'].G_init_workers
-    G_init_workers.restype = None
-    G_init_workers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 689
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_finish_workers'):
-    G_finish_workers = _libs['grass_gis.7.0.svn'].G_finish_workers
-    G_finish_workers.restype = None
-    G_finish_workers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 692
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_Cell_head'):
-    G__write_Cell_head = _libs['grass_gis.7.0.svn'].G__write_Cell_head
-    G__write_Cell_head.restype = None
-    G__write_Cell_head.argtypes = [POINTER(FILE), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 693
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_Cell_head3'):
-    G__write_Cell_head3 = _libs['grass_gis.7.0.svn'].G__write_Cell_head3
-    G__write_Cell_head3.restype = None
-    G__write_Cell_head3.argtypes = [POINTER(FILE), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 696
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_zeros'):
-    G_write_zeros = _libs['grass_gis.7.0.svn'].G_write_zeros
-    G_write_zeros.restype = None
-    G_write_zeros.argtypes = [c_int, c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 699
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zero'):
-    G_zero = _libs['grass_gis.7.0.svn'].G_zero
-    G_zero.restype = None
-    G_zero.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 702
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zone'):
-    G_zone = _libs['grass_gis.7.0.svn'].G_zone
-    G_zone.restype = c_int
-    G_zone.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 40
-try:
-    GIS_H_VERSION = '$Revision: 45093 $'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 40
-try:
-    GIS_H_DATE = '$Date: 2011-01-20 13:10:50 +0100 (Thu, 20 Jan 2011) $'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 41
-def G_gisinit(pgm):
-    return (G__gisinit (GIS_H_VERSION, pgm))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 41
-try:
-    G_no_gisinit = (G__no_gisinit (GIS_H_VERSION))
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 44
-try:
-    TRUE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 47
-try:
-    FALSE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 50
-try:
-    PRI_OFF_T = 'lld'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 54
-try:
-    NEWLINE = '\\n'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_UNKNOWN = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_ACRES = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_HECTARES = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_KILOMETERS = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_METERS = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_MILES = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_FEET = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_RADIANS = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_DEGREES = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_XY = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_UTM = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_SP = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_LL = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_OTHER = 99
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 60
-try:
-    PROJECTION_FILE = 'PROJ_INFO'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 60
-try:
-    UNIT_FILE = 'PROJ_UNITS'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 61
-try:
-    CONFIG_DIR = '.grass7'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 64
-try:
-    M_PI = 3.1415926535897931
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 66
-try:
-    M_PI_2 = 1.5707963267948966
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 68
-try:
-    M_PI_4 = 0.78539816339744828
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 70
-try:
-    GRASS_EPSILON = 1.0000000000000001e-15
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 72
-try:
-    G_VAR_GISRC = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 72
-try:
-    G_VAR_MAPSET = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 74
-try:
-    G_GISRC_MODE_FILE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 74
-try:
-    G_GISRC_MODE_MEMORY = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    TYPE_INTEGER = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    TYPE_DOUBLE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    TYPE_STRING = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    YES = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    NO = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 78
-try:
-    GNAME_MAX = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 78
-try:
-    GMAPSET_MAX = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 79
-try:
-    GPATH_MAX = 4096
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 92
-def deserialize_int32_le(buf):
-    return (((((buf [0]) << 0) | ((buf [1]) << 8)) | ((buf [2]) << 16)) | ((buf [3]) << 24))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 104
-def deserialize_int32_be(buf):
-    return (((((buf [0]) << 24) | ((buf [1]) << 16)) | ((buf [2]) << 8)) | ((buf [3]) << 0))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 109
-try:
-    GRASS_DIRSEP = '/'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 113
-try:
-    HOST_DIRSEP = '/'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 113
-try:
-    G_DEV_NULL = '/dev/null'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 170
-try:
-    G_INFO_FORMAT_STANDARD = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 170
-try:
-    G_INFO_FORMAT_GUI = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 170
-try:
-    G_INFO_FORMAT_SILENT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 170
-try:
-    G_INFO_FORMAT_PLAIN = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 172
-try:
-    G_ICON_CROSS = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 172
-try:
-    G_ICON_BOX = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 172
-try:
-    G_ICON_ARROW = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 174
-try:
-    DEFAULT_FG_COLOR = 'black'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 174
-try:
-    DEFAULT_BG_COLOR = 'white'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 176
-try:
-    GR_FATAL_EXIT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 176
-try:
-    GR_FATAL_PRINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 176
-try:
-    GR_FATAL_RETURN = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 45
-def G__alloca(n):
-    return (G_malloc (n))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 45
-def G__freea(p):
-    return (G_free (p))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 58
-def G_incr_void_ptr(ptr, size):
-    return (ptr + size)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 74
-def G_malloc(n):
-    return (G__malloc ('<ctypesgen>', 0, n))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 74
-def G_calloc(m, n):
-    return (G__calloc ('<ctypesgen>', 0, m, n))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 74
-def G_realloc(p, n):
-    return (G__realloc ('<ctypesgen>', 0, p, n))
-
-Cell_head = struct_Cell_head # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 257
-
-G_3dview = struct_G_3dview # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 284
-
-Key_Value = struct_Key_Value # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 311
-
-Option = struct_Option # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 319
-
-Flag = struct_Flag # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 350
-
-GModule = struct_GModule # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 361
-
-TimeStamp = struct_TimeStamp # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 371
-
-Counter = struct_Counter # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 377
-
-Popen = struct_Popen # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 381
-
-# No inserted files
-
diff --git a/lib/python/ctypes/imagery.py b/lib/python/ctypes/imagery.py
deleted file mode 100644
index 681354b..0000000
--- a/lib/python/ctypes/imagery.py
+++ /dev/null
@@ -1,1389 +0,0 @@
-'''Wrapper for imagery.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_imagery.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h -o imagery.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_imagery.7.0.svn"] = load_library("grass_imagery.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-CELL = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 402
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 10
-class struct_Ref_Color(Structure):
-    pass
-
-struct_Ref_Color.__slots__ = [
-    'table',
-    'index',
-    'buf',
-    'fd',
-    'min',
-    'max',
-    'n',
-]
-struct_Ref_Color._fields_ = [
-    ('table', POINTER(c_ubyte)),
-    ('index', POINTER(c_ubyte)),
-    ('buf', POINTER(c_ubyte)),
-    ('fd', c_int),
-    ('min', CELL),
-    ('max', CELL),
-    ('n', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 20
-class struct_Ref_Files(Structure):
-    pass
-
-struct_Ref_Files.__slots__ = [
-    'name',
-    'mapset',
-]
-struct_Ref_Files._fields_ = [
-    ('name', c_char * 256),
-    ('mapset', c_char * 256),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 26
-class struct_Ref(Structure):
-    pass
-
-struct_Ref.__slots__ = [
-    'nfiles',
-    'file',
-    'red',
-    'grn',
-    'blu',
-]
-struct_Ref._fields_ = [
-    ('nfiles', c_int),
-    ('file', POINTER(struct_Ref_Files)),
-    ('red', struct_Ref_Color),
-    ('grn', struct_Ref_Color),
-    ('blu', struct_Ref_Color),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 33
-class struct_Tape_Info(Structure):
-    pass
-
-struct_Tape_Info.__slots__ = [
-    'title',
-    'id',
-    'desc',
-]
-struct_Tape_Info._fields_ = [
-    ('title', c_char * 75),
-    ('id', (c_char * 75) * 2),
-    ('desc', (c_char * 75) * 5),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 40
-class struct_Control_Points(Structure):
-    pass
-
-struct_Control_Points.__slots__ = [
-    'count',
-    'e1',
-    'n1',
-    'e2',
-    'n2',
-    'status',
-]
-struct_Control_Points._fields_ = [
-    ('count', c_int),
-    ('e1', POINTER(c_double)),
-    ('n1', POINTER(c_double)),
-    ('e2', POINTER(c_double)),
-    ('n2', POINTER(c_double)),
-    ('status', POINTER(c_int)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 50
-class struct_One_Sig(Structure):
-    pass
-
-struct_One_Sig.__slots__ = [
-    'desc',
-    'npoints',
-    'mean',
-    'var',
-    'status',
-    'r',
-    'g',
-    'b',
-    'have_color',
-]
-struct_One_Sig._fields_ = [
-    ('desc', c_char * 100),
-    ('npoints', c_int),
-    ('mean', POINTER(c_double)),
-    ('var', POINTER(POINTER(c_double))),
-    ('status', c_int),
-    ('r', c_float),
-    ('g', c_float),
-    ('b', c_float),
-    ('have_color', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 61
-class struct_Signature(Structure):
-    pass
-
-struct_Signature.__slots__ = [
-    'nbands',
-    'nsigs',
-    'title',
-    'sig',
-]
-struct_Signature._fields_ = [
-    ('nbands', c_int),
-    ('nsigs', c_int),
-    ('title', c_char * 100),
-    ('sig', POINTER(struct_One_Sig)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 69
-class struct_SubSig(Structure):
-    pass
-
-struct_SubSig.__slots__ = [
-    'N',
-    'pi',
-    'means',
-    'R',
-    'Rinv',
-    'cnst',
-    'used',
-]
-struct_SubSig._fields_ = [
-    ('N', c_double),
-    ('pi', c_double),
-    ('means', POINTER(c_double)),
-    ('R', POINTER(POINTER(c_double))),
-    ('Rinv', POINTER(POINTER(c_double))),
-    ('cnst', c_double),
-    ('used', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 80
-class struct_ClassData(Structure):
-    pass
-
-struct_ClassData.__slots__ = [
-    'npixels',
-    'count',
-    'x',
-    'p',
-]
-struct_ClassData._fields_ = [
-    ('npixels', c_int),
-    ('count', c_int),
-    ('x', POINTER(POINTER(c_double))),
-    ('p', POINTER(POINTER(c_double))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 88
-class struct_ClassSig(Structure):
-    pass
-
-struct_ClassSig.__slots__ = [
-    'classnum',
-    'title',
-    'used',
-    'type',
-    'nsubclasses',
-    'SubSig',
-    'ClassData',
-]
-struct_ClassSig._fields_ = [
-    ('classnum', c_long),
-    ('title', String),
-    ('used', c_int),
-    ('type', c_int),
-    ('nsubclasses', c_int),
-    ('SubSig', POINTER(struct_SubSig)),
-    ('ClassData', struct_ClassData),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 99
-class struct_SigSet(Structure):
-    pass
-
-struct_SigSet.__slots__ = [
-    'nbands',
-    'nclasses',
-    'title',
-    'ClassSig',
-]
-struct_SigSet._fields_ = [
-    ('nbands', c_int),
-    ('nclasses', c_int),
-    ('title', String),
-    ('ClassSig', POINTER(struct_ClassSig)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 5
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_malloc'):
-    I_malloc = _libs['grass_imagery.7.0.svn'].I_malloc
-    I_malloc.restype = POINTER(None)
-    I_malloc.argtypes = [c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 6
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_realloc'):
-    I_realloc = _libs['grass_imagery.7.0.svn'].I_realloc
-    I_realloc.restype = POINTER(None)
-    I_realloc.argtypes = [POINTER(None), c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 7
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_free'):
-    I_free = _libs['grass_imagery.7.0.svn'].I_free
-    I_free.restype = c_int
-    I_free.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 8
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_alloc_double2'):
-    I_alloc_double2 = _libs['grass_imagery.7.0.svn'].I_alloc_double2
-    I_alloc_double2.restype = POINTER(POINTER(c_double))
-    I_alloc_double2.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 9
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_alloc_int'):
-    I_alloc_int = _libs['grass_imagery.7.0.svn'].I_alloc_int
-    I_alloc_int.restype = POINTER(c_int)
-    I_alloc_int.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 10
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_alloc_int2'):
-    I_alloc_int2 = _libs['grass_imagery.7.0.svn'].I_alloc_int2
-    I_alloc_int2.restype = POINTER(POINTER(c_int))
-    I_alloc_int2.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 11
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_free_int2'):
-    I_free_int2 = _libs['grass_imagery.7.0.svn'].I_free_int2
-    I_free_int2.restype = c_int
-    I_free_int2.argtypes = [POINTER(POINTER(c_int))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 12
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_free_double2'):
-    I_free_double2 = _libs['grass_imagery.7.0.svn'].I_free_double2
-    I_free_double2.restype = c_int
-    I_free_double2.argtypes = [POINTER(POINTER(c_double))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 13
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_alloc_double3'):
-    I_alloc_double3 = _libs['grass_imagery.7.0.svn'].I_alloc_double3
-    I_alloc_double3.restype = POINTER(POINTER(POINTER(c_double)))
-    I_alloc_double3.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 14
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_free_double3'):
-    I_free_double3 = _libs['grass_imagery.7.0.svn'].I_free_double3
-    I_free_double3.restype = c_int
-    I_free_double3.argtypes = [POINTER(POINTER(POINTER(c_double)))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 17
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_to_eol'):
-    I_get_to_eol = _libs['grass_imagery.7.0.svn'].I_get_to_eol
-    I_get_to_eol.restype = c_int
-    I_get_to_eol.argtypes = [String, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 20
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_find_group'):
-    I_find_group = _libs['grass_imagery.7.0.svn'].I_find_group
-    I_find_group.restype = c_int
-    I_find_group.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 21
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_find_group_file'):
-    I_find_group_file = _libs['grass_imagery.7.0.svn'].I_find_group_file
-    I_find_group_file.restype = c_int
-    I_find_group_file.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 22
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_find_subgroup'):
-    I_find_subgroup = _libs['grass_imagery.7.0.svn'].I_find_subgroup
-    I_find_subgroup.restype = c_int
-    I_find_subgroup.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 23
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_find_subgroup_file'):
-    I_find_subgroup_file = _libs['grass_imagery.7.0.svn'].I_find_subgroup_file
-    I_find_subgroup_file.restype = c_int
-    I_find_subgroup_file.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 26
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_group_file_new'):
-    I_fopen_group_file_new = _libs['grass_imagery.7.0.svn'].I_fopen_group_file_new
-    I_fopen_group_file_new.restype = POINTER(FILE)
-    I_fopen_group_file_new.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 27
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_group_file_append'):
-    I_fopen_group_file_append = _libs['grass_imagery.7.0.svn'].I_fopen_group_file_append
-    I_fopen_group_file_append.restype = POINTER(FILE)
-    I_fopen_group_file_append.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 28
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_group_file_old'):
-    I_fopen_group_file_old = _libs['grass_imagery.7.0.svn'].I_fopen_group_file_old
-    I_fopen_group_file_old.restype = POINTER(FILE)
-    I_fopen_group_file_old.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 29
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_subgroup_file_new'):
-    I_fopen_subgroup_file_new = _libs['grass_imagery.7.0.svn'].I_fopen_subgroup_file_new
-    I_fopen_subgroup_file_new.restype = POINTER(FILE)
-    I_fopen_subgroup_file_new.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 30
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_subgroup_file_append'):
-    I_fopen_subgroup_file_append = _libs['grass_imagery.7.0.svn'].I_fopen_subgroup_file_append
-    I_fopen_subgroup_file_append.restype = POINTER(FILE)
-    I_fopen_subgroup_file_append.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 31
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_subgroup_file_old'):
-    I_fopen_subgroup_file_old = _libs['grass_imagery.7.0.svn'].I_fopen_subgroup_file_old
-    I_fopen_subgroup_file_old.restype = POINTER(FILE)
-    I_fopen_subgroup_file_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 34
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_compute_georef_equations'):
-    I_compute_georef_equations = _libs['grass_imagery.7.0.svn'].I_compute_georef_equations
-    I_compute_georef_equations.restype = c_int
-    I_compute_georef_equations.argtypes = [POINTER(struct_Control_Points), c_double * 3, c_double * 3, c_double * 3, c_double * 3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 36
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_georef'):
-    I_georef = _libs['grass_imagery.7.0.svn'].I_georef
-    I_georef.restype = c_int
-    I_georef.argtypes = [c_double, c_double, POINTER(c_double), POINTER(c_double), c_double * 3, c_double * 3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 39
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_group'):
-    I_get_group = _libs['grass_imagery.7.0.svn'].I_get_group
-    I_get_group.restype = c_int
-    I_get_group.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 40
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_group'):
-    I_put_group = _libs['grass_imagery.7.0.svn'].I_put_group
-    I_put_group.restype = c_int
-    I_put_group.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 41
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_subgroup'):
-    I_get_subgroup = _libs['grass_imagery.7.0.svn'].I_get_subgroup
-    I_get_subgroup.restype = c_int
-    I_get_subgroup.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 42
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_subgroup'):
-    I_put_subgroup = _libs['grass_imagery.7.0.svn'].I_put_subgroup
-    I_put_subgroup.restype = c_int
-    I_put_subgroup.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 43
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_group_ref'):
-    I_get_group_ref = _libs['grass_imagery.7.0.svn'].I_get_group_ref
-    I_get_group_ref.restype = c_int
-    I_get_group_ref.argtypes = [String, POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 44
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_subgroup_ref'):
-    I_get_subgroup_ref = _libs['grass_imagery.7.0.svn'].I_get_subgroup_ref
-    I_get_subgroup_ref.restype = c_int
-    I_get_subgroup_ref.argtypes = [String, String, POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 45
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_init_ref_color_nums'):
-    I_init_ref_color_nums = _libs['grass_imagery.7.0.svn'].I_init_ref_color_nums
-    I_init_ref_color_nums.restype = c_int
-    I_init_ref_color_nums.argtypes = [POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 46
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_group_ref'):
-    I_put_group_ref = _libs['grass_imagery.7.0.svn'].I_put_group_ref
-    I_put_group_ref.restype = c_int
-    I_put_group_ref.argtypes = [String, POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 47
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_subgroup_ref'):
-    I_put_subgroup_ref = _libs['grass_imagery.7.0.svn'].I_put_subgroup_ref
-    I_put_subgroup_ref.restype = c_int
-    I_put_subgroup_ref.argtypes = [String, String, POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 48
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_add_file_to_group_ref'):
-    I_add_file_to_group_ref = _libs['grass_imagery.7.0.svn'].I_add_file_to_group_ref
-    I_add_file_to_group_ref.restype = c_int
-    I_add_file_to_group_ref.argtypes = [String, String, POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 49
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_transfer_group_ref_file'):
-    I_transfer_group_ref_file = _libs['grass_imagery.7.0.svn'].I_transfer_group_ref_file
-    I_transfer_group_ref_file.restype = c_int
-    I_transfer_group_ref_file.argtypes = [POINTER(struct_Ref), c_int, POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 50
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_init_group_ref'):
-    I_init_group_ref = _libs['grass_imagery.7.0.svn'].I_init_group_ref
-    I_init_group_ref.restype = c_int
-    I_init_group_ref.argtypes = [POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 51
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_free_group_ref'):
-    I_free_group_ref = _libs['grass_imagery.7.0.svn'].I_free_group_ref
-    I_free_group_ref.restype = c_int
-    I_free_group_ref.argtypes = [POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 54
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_list_group'):
-    I_list_group = _libs['grass_imagery.7.0.svn'].I_list_group
-    I_list_group.restype = c_int
-    I_list_group.argtypes = [String, POINTER(struct_Ref), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 55
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_list_group_simple'):
-    I_list_group_simple = _libs['grass_imagery.7.0.svn'].I_list_group_simple
-    I_list_group_simple.restype = c_int
-    I_list_group_simple.argtypes = [POINTER(struct_Ref), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 58
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_list_subgroup'):
-    I_list_subgroup = _libs['grass_imagery.7.0.svn'].I_list_subgroup
-    I_list_subgroup.restype = c_int
-    I_list_subgroup.argtypes = [String, String, POINTER(struct_Ref), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 59
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_list_subgroup_simple'):
-    I_list_subgroup_simple = _libs['grass_imagery.7.0.svn'].I_list_subgroup_simple
-    I_list_subgroup_simple.restype = c_int
-    I_list_subgroup_simple.argtypes = [POINTER(struct_Ref), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 62
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_location_info'):
-    I_location_info = _libs['grass_imagery.7.0.svn'].I_location_info
-    I_location_info.restype = ReturnString
-    I_location_info.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 65
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_new_control_point'):
-    I_new_control_point = _libs['grass_imagery.7.0.svn'].I_new_control_point
-    I_new_control_point.restype = c_int
-    I_new_control_point.argtypes = [POINTER(struct_Control_Points), c_double, c_double, c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 67
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_control_points'):
-    I_get_control_points = _libs['grass_imagery.7.0.svn'].I_get_control_points
-    I_get_control_points.restype = c_int
-    I_get_control_points.argtypes = [String, POINTER(struct_Control_Points)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 68
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_control_points'):
-    I_put_control_points = _libs['grass_imagery.7.0.svn'].I_put_control_points
-    I_put_control_points.restype = c_int
-    I_put_control_points.argtypes = [String, POINTER(struct_Control_Points)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 71
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_group_ref_new'):
-    I_fopen_group_ref_new = _libs['grass_imagery.7.0.svn'].I_fopen_group_ref_new
-    I_fopen_group_ref_new.restype = POINTER(FILE)
-    I_fopen_group_ref_new.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 72
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_group_ref_old'):
-    I_fopen_group_ref_old = _libs['grass_imagery.7.0.svn'].I_fopen_group_ref_old
-    I_fopen_group_ref_old.restype = POINTER(FILE)
-    I_fopen_group_ref_old.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 73
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_subgroup_ref_new'):
-    I_fopen_subgroup_ref_new = _libs['grass_imagery.7.0.svn'].I_fopen_subgroup_ref_new
-    I_fopen_subgroup_ref_new.restype = POINTER(FILE)
-    I_fopen_subgroup_ref_new.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 74
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_subgroup_ref_old'):
-    I_fopen_subgroup_ref_old = _libs['grass_imagery.7.0.svn'].I_fopen_subgroup_ref_old
-    I_fopen_subgroup_ref_old.restype = POINTER(FILE)
-    I_fopen_subgroup_ref_old.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 77
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_init_signatures'):
-    I_init_signatures = _libs['grass_imagery.7.0.svn'].I_init_signatures
-    I_init_signatures.restype = c_int
-    I_init_signatures.argtypes = [POINTER(struct_Signature), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 78
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_new_signature'):
-    I_new_signature = _libs['grass_imagery.7.0.svn'].I_new_signature
-    I_new_signature.restype = c_int
-    I_new_signature.argtypes = [POINTER(struct_Signature)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 79
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_free_signatures'):
-    I_free_signatures = _libs['grass_imagery.7.0.svn'].I_free_signatures
-    I_free_signatures.restype = c_int
-    I_free_signatures.argtypes = [POINTER(struct_Signature)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 80
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_read_one_signature'):
-    I_read_one_signature = _libs['grass_imagery.7.0.svn'].I_read_one_signature
-    I_read_one_signature.restype = c_int
-    I_read_one_signature.argtypes = [POINTER(FILE), POINTER(struct_Signature)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 81
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_read_signatures'):
-    I_read_signatures = _libs['grass_imagery.7.0.svn'].I_read_signatures
-    I_read_signatures.restype = c_int
-    I_read_signatures.argtypes = [POINTER(FILE), POINTER(struct_Signature)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 82
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_write_signatures'):
-    I_write_signatures = _libs['grass_imagery.7.0.svn'].I_write_signatures
-    I_write_signatures.restype = c_int
-    I_write_signatures.argtypes = [POINTER(FILE), POINTER(struct_Signature)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 85
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_signature_file_new'):
-    I_fopen_signature_file_new = _libs['grass_imagery.7.0.svn'].I_fopen_signature_file_new
-    I_fopen_signature_file_new.restype = POINTER(FILE)
-    I_fopen_signature_file_new.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 86
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_signature_file_old'):
-    I_fopen_signature_file_old = _libs['grass_imagery.7.0.svn'].I_fopen_signature_file_old
-    I_fopen_signature_file_old.restype = POINTER(FILE)
-    I_fopen_signature_file_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 89
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_SigSetNClasses'):
-    I_SigSetNClasses = _libs['grass_imagery.7.0.svn'].I_SigSetNClasses
-    I_SigSetNClasses.restype = c_int
-    I_SigSetNClasses.argtypes = [POINTER(struct_SigSet)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 90
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_AllocClassData'):
-    I_AllocClassData = _libs['grass_imagery.7.0.svn'].I_AllocClassData
-    I_AllocClassData.restype = POINTER(struct_ClassData)
-    I_AllocClassData.argtypes = [POINTER(struct_SigSet), POINTER(struct_ClassSig), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 91
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_InitSigSet'):
-    I_InitSigSet = _libs['grass_imagery.7.0.svn'].I_InitSigSet
-    I_InitSigSet.restype = c_int
-    I_InitSigSet.argtypes = [POINTER(struct_SigSet)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 92
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_SigSetNBands'):
-    I_SigSetNBands = _libs['grass_imagery.7.0.svn'].I_SigSetNBands
-    I_SigSetNBands.restype = c_int
-    I_SigSetNBands.argtypes = [POINTER(struct_SigSet), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 93
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_NewClassSig'):
-    I_NewClassSig = _libs['grass_imagery.7.0.svn'].I_NewClassSig
-    I_NewClassSig.restype = POINTER(struct_ClassSig)
-    I_NewClassSig.argtypes = [POINTER(struct_SigSet)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 94
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_NewSubSig'):
-    I_NewSubSig = _libs['grass_imagery.7.0.svn'].I_NewSubSig
-    I_NewSubSig.restype = POINTER(struct_SubSig)
-    I_NewSubSig.argtypes = [POINTER(struct_SigSet), POINTER(struct_ClassSig)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 95
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_ReadSigSet'):
-    I_ReadSigSet = _libs['grass_imagery.7.0.svn'].I_ReadSigSet
-    I_ReadSigSet.restype = c_int
-    I_ReadSigSet.argtypes = [POINTER(FILE), POINTER(struct_SigSet)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 96
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_SetSigTitle'):
-    I_SetSigTitle = _libs['grass_imagery.7.0.svn'].I_SetSigTitle
-    I_SetSigTitle.restype = c_int
-    I_SetSigTitle.argtypes = [POINTER(struct_SigSet), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 97
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_GetSigTitle'):
-    I_GetSigTitle = _libs['grass_imagery.7.0.svn'].I_GetSigTitle
-    I_GetSigTitle.restype = ReturnString
-    I_GetSigTitle.argtypes = [POINTER(struct_SigSet)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 98
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_SetClassTitle'):
-    I_SetClassTitle = _libs['grass_imagery.7.0.svn'].I_SetClassTitle
-    I_SetClassTitle.restype = c_int
-    I_SetClassTitle.argtypes = [POINTER(struct_ClassSig), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 99
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_GetClassTitle'):
-    I_GetClassTitle = _libs['grass_imagery.7.0.svn'].I_GetClassTitle
-    I_GetClassTitle.restype = ReturnString
-    I_GetClassTitle.argtypes = [POINTER(struct_ClassSig)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 100
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_WriteSigSet'):
-    I_WriteSigSet = _libs['grass_imagery.7.0.svn'].I_WriteSigSet
-    I_WriteSigSet.restype = c_int
-    I_WriteSigSet.argtypes = [POINTER(FILE), POINTER(struct_SigSet)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 103
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_sigset_file_new'):
-    I_fopen_sigset_file_new = _libs['grass_imagery.7.0.svn'].I_fopen_sigset_file_new
-    I_fopen_sigset_file_new.restype = POINTER(FILE)
-    I_fopen_sigset_file_new.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 104
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_sigset_file_old'):
-    I_fopen_sigset_file_old = _libs['grass_imagery.7.0.svn'].I_fopen_sigset_file_old
-    I_fopen_sigset_file_old.restype = POINTER(FILE)
-    I_fopen_sigset_file_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 107
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_target'):
-    I_get_target = _libs['grass_imagery.7.0.svn'].I_get_target
-    I_get_target.restype = c_int
-    I_get_target.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 108
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_target'):
-    I_put_target = _libs['grass_imagery.7.0.svn'].I_put_target
-    I_put_target.restype = c_int
-    I_put_target.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 111
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_group_title'):
-    I_get_group_title = _libs['grass_imagery.7.0.svn'].I_get_group_title
-    I_get_group_title.restype = c_int
-    I_get_group_title.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 112
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_group_title'):
-    I_put_group_title = _libs['grass_imagery.7.0.svn'].I_put_group_title
-    I_put_group_title.restype = c_int
-    I_put_group_title.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 115
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_variance'):
-    I_variance = _libs['grass_imagery.7.0.svn'].I_variance
-    I_variance.restype = c_double
-    I_variance.argtypes = [c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 116
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_stddev'):
-    I_stddev = _libs['grass_imagery.7.0.svn'].I_stddev
-    I_stddev.restype = c_double
-    I_stddev.argtypes = [c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 78
-try:
-    GNAME_MAX = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 8
-try:
-    INAME_LEN = GNAME_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 106
-try:
-    SIGNATURE_TYPE_MIXED = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 107
-try:
-    GROUPFILE = 'CURGROUP'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 107
-try:
-    SUBGROUPFILE = 'CURSUBGROUP'
-except:
-    pass
-
-Ref_Color = struct_Ref_Color # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 10
-
-Ref_Files = struct_Ref_Files # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 20
-
-Ref = struct_Ref # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 26
-
-Tape_Info = struct_Tape_Info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 33
-
-Control_Points = struct_Control_Points # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 40
-
-One_Sig = struct_One_Sig # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 50
-
-Signature = struct_Signature # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 61
-
-SubSig = struct_SubSig # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 69
-
-ClassData = struct_ClassData # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 80
-
-ClassSig = struct_ClassSig # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 88
-
-SigSet = struct_SigSet # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 99
-
-# No inserted files
-
diff --git a/lib/python/ctypes/nviz.py b/lib/python/ctypes/nviz.py
deleted file mode 100644
index acd6bed..0000000
--- a/lib/python/ctypes/nviz.py
+++ /dev/null
@@ -1,1338 +0,0 @@
-'''Wrapper for nviz.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_nviz.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h -o nviz.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_nviz.7.0.svn"] = load_library("grass_nviz.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-XID = c_ulong # /usr/include/X11/X.h: 66
-
-Pixmap = XID # /usr/include/X11/X.h: 102
-
-# /usr/include/X11/Xlib.h: 263
-class struct__XDisplay(Structure):
-    pass
-
-Display = struct__XDisplay # /usr/include/X11/Xlib.h: 495
-
-GLubyte = c_ubyte # /usr/include/GL/gl.h: 162
-
-# /usr/include/GL/glx.h: 178
-class struct___GLXcontextRec(Structure):
-    pass
-
-GLXContext = POINTER(struct___GLXcontextRec) # /usr/include/GL/glx.h: 178
-
-GLXPixmap = XID # /usr/include/GL/glx.h: 179
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 73
-class struct_anon_132(Structure):
-    pass
-
-struct_anon_132.__slots__ = [
-    'id',
-    'brt',
-    'r',
-    'g',
-    'b',
-    'ar',
-    'ag',
-    'ab',
-    'x',
-    'y',
-    'z',
-    'w',
-]
-struct_anon_132._fields_ = [
-    ('id', c_int),
-    ('brt', c_float),
-    ('r', c_float),
-    ('g', c_float),
-    ('b', c_float),
-    ('ar', c_float),
-    ('ag', c_float),
-    ('ab', c_float),
-    ('x', c_float),
-    ('y', c_float),
-    ('z', c_float),
-    ('w', c_float),
-]
-
-light_data = struct_anon_132 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 73
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 75
-class struct_fringe_data(Structure):
-    pass
-
-struct_fringe_data.__slots__ = [
-    'id',
-    'color',
-    'elev',
-    'where',
-]
-struct_fringe_data._fields_ = [
-    ('id', c_int),
-    ('color', c_ulong),
-    ('elev', c_float),
-    ('where', c_int * 4),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 83
-class struct_arrow_data(Structure):
-    pass
-
-struct_arrow_data.__slots__ = [
-    'color',
-    'size',
-    'where',
-]
-struct_arrow_data._fields_ = [
-    ('color', c_ulong),
-    ('size', c_float),
-    ('where', c_float * 3),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 90
-class struct_scalebar_data(Structure):
-    pass
-
-struct_scalebar_data.__slots__ = [
-    'id',
-    'color',
-    'size',
-    'where',
-]
-struct_scalebar_data._fields_ = [
-    ('id', c_int),
-    ('color', c_ulong),
-    ('size', c_float),
-    ('where', c_float * 3),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 127
-class struct_anon_133(Structure):
-    pass
-
-struct_anon_133.__slots__ = [
-    'zrange',
-    'xyrange',
-    'num_cplanes',
-    'cur_cplane',
-    'cp_on',
-    'cp_trans',
-    'cp_rot',
-    'light',
-    'num_fringes',
-    'fringe',
-    'draw_arrow',
-    'arrow',
-    'num_scalebars',
-    'scalebar',
-    'bgcolor',
-]
-struct_anon_133._fields_ = [
-    ('zrange', c_float),
-    ('xyrange', c_float),
-    ('num_cplanes', c_int),
-    ('cur_cplane', c_int),
-    ('cp_on', c_int * 6),
-    ('cp_trans', (c_float * 3) * 6),
-    ('cp_rot', (c_float * 3) * 6),
-    ('light', light_data * 3),
-    ('num_fringes', c_int),
-    ('fringe', POINTER(POINTER(struct_fringe_data))),
-    ('draw_arrow', c_int),
-    ('arrow', POINTER(struct_arrow_data)),
-    ('num_scalebars', c_int),
-    ('scalebar', POINTER(POINTER(struct_scalebar_data))),
-    ('bgcolor', c_int),
-]
-
-nv_data = struct_anon_133 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 127
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 129
-class struct_render_window(Structure):
-    pass
-
-struct_render_window.__slots__ = [
-    'displayId',
-    'contextId',
-    'windowId',
-    'pixmap',
-]
-struct_render_window._fields_ = [
-    ('displayId', POINTER(Display)),
-    ('contextId', GLXContext),
-    ('windowId', GLXPixmap),
-    ('pixmap', Pixmap),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 148
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_resize_window'):
-    Nviz_resize_window = _libs['grass_nviz.7.0.svn'].Nviz_resize_window
-    Nviz_resize_window.restype = c_int
-    Nviz_resize_window.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 149
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_update_ranges'):
-    Nviz_update_ranges = _libs['grass_nviz.7.0.svn'].Nviz_update_ranges
-    Nviz_update_ranges.restype = c_int
-    Nviz_update_ranges.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 150
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_viewpoint_position'):
-    Nviz_set_viewpoint_position = _libs['grass_nviz.7.0.svn'].Nviz_set_viewpoint_position
-    Nviz_set_viewpoint_position.restype = c_int
-    Nviz_set_viewpoint_position.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 151
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_viewpoint_height'):
-    Nviz_set_viewpoint_height = _libs['grass_nviz.7.0.svn'].Nviz_set_viewpoint_height
-    Nviz_set_viewpoint_height.restype = c_int
-    Nviz_set_viewpoint_height.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 152
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_viewpoint_persp'):
-    Nviz_set_viewpoint_persp = _libs['grass_nviz.7.0.svn'].Nviz_set_viewpoint_persp
-    Nviz_set_viewpoint_persp.restype = c_int
-    Nviz_set_viewpoint_persp.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 153
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_viewpoint_twist'):
-    Nviz_set_viewpoint_twist = _libs['grass_nviz.7.0.svn'].Nviz_set_viewpoint_twist
-    Nviz_set_viewpoint_twist.restype = c_int
-    Nviz_set_viewpoint_twist.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 154
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_change_exag'):
-    Nviz_change_exag = _libs['grass_nviz.7.0.svn'].Nviz_change_exag
-    Nviz_change_exag.restype = c_int
-    Nviz_change_exag.argtypes = [POINTER(nv_data), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 155
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_look_here'):
-    Nviz_look_here = _libs['grass_nviz.7.0.svn'].Nviz_look_here
-    Nviz_look_here.restype = c_int
-    Nviz_look_here.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 156
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_modelview'):
-    Nviz_get_modelview = _libs['grass_nviz.7.0.svn'].Nviz_get_modelview
-    Nviz_get_modelview.restype = None
-    Nviz_get_modelview.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 157
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_rotation'):
-    Nviz_set_rotation = _libs['grass_nviz.7.0.svn'].Nviz_set_rotation
-    Nviz_set_rotation.restype = None
-    Nviz_set_rotation.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 158
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_unset_rotation'):
-    Nviz_unset_rotation = _libs['grass_nviz.7.0.svn'].Nviz_unset_rotation
-    Nviz_unset_rotation.restype = None
-    Nviz_unset_rotation.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 159
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_init_rotation'):
-    Nviz_init_rotation = _libs['grass_nviz.7.0.svn'].Nviz_init_rotation
-    Nviz_init_rotation.restype = None
-    Nviz_init_rotation.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 162
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_new_cplane'):
-    Nviz_new_cplane = _libs['grass_nviz.7.0.svn'].Nviz_new_cplane
-    Nviz_new_cplane.restype = c_int
-    Nviz_new_cplane.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 163
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_on_cplane'):
-    Nviz_on_cplane = _libs['grass_nviz.7.0.svn'].Nviz_on_cplane
-    Nviz_on_cplane.restype = c_int
-    Nviz_on_cplane.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 164
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_off_cplane'):
-    Nviz_off_cplane = _libs['grass_nviz.7.0.svn'].Nviz_off_cplane
-    Nviz_off_cplane.restype = c_int
-    Nviz_off_cplane.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 165
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_cplane'):
-    Nviz_draw_cplane = _libs['grass_nviz.7.0.svn'].Nviz_draw_cplane
-    Nviz_draw_cplane.restype = c_int
-    Nviz_draw_cplane.argtypes = [POINTER(nv_data), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 166
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_num_cplanes'):
-    Nviz_num_cplanes = _libs['grass_nviz.7.0.svn'].Nviz_num_cplanes
-    Nviz_num_cplanes.restype = c_int
-    Nviz_num_cplanes.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 167
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_current_cplane'):
-    Nviz_get_current_cplane = _libs['grass_nviz.7.0.svn'].Nviz_get_current_cplane
-    Nviz_get_current_cplane.restype = c_int
-    Nviz_get_current_cplane.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 168
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_cplane_rotation'):
-    Nviz_set_cplane_rotation = _libs['grass_nviz.7.0.svn'].Nviz_set_cplane_rotation
-    Nviz_set_cplane_rotation.restype = c_int
-    Nviz_set_cplane_rotation.argtypes = [POINTER(nv_data), c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 169
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_cplane_rotation'):
-    Nviz_get_cplane_rotation = _libs['grass_nviz.7.0.svn'].Nviz_get_cplane_rotation
-    Nviz_get_cplane_rotation.restype = c_int
-    Nviz_get_cplane_rotation.argtypes = [POINTER(nv_data), c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 170
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_cplane_translation'):
-    Nviz_set_cplane_translation = _libs['grass_nviz.7.0.svn'].Nviz_set_cplane_translation
-    Nviz_set_cplane_translation.restype = c_int
-    Nviz_set_cplane_translation.argtypes = [POINTER(nv_data), c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 171
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_cplane_translation'):
-    Nviz_get_cplane_translation = _libs['grass_nviz.7.0.svn'].Nviz_get_cplane_translation
-    Nviz_get_cplane_translation.restype = c_int
-    Nviz_get_cplane_translation.argtypes = [POINTER(nv_data), c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 172
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_fence_color'):
-    Nviz_set_fence_color = _libs['grass_nviz.7.0.svn'].Nviz_set_fence_color
-    Nviz_set_fence_color.restype = c_int
-    Nviz_set_fence_color.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 173
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_cplane_here'):
-    Nviz_set_cplane_here = _libs['grass_nviz.7.0.svn'].Nviz_set_cplane_here
-    Nviz_set_cplane_here.restype = c_int
-    Nviz_set_cplane_here.argtypes = [POINTER(nv_data), c_int, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 177
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_all_surf'):
-    Nviz_draw_all_surf = _libs['grass_nviz.7.0.svn'].Nviz_draw_all_surf
-    Nviz_draw_all_surf.restype = c_int
-    Nviz_draw_all_surf.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 178
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_all_vect'):
-    Nviz_draw_all_vect = _libs['grass_nviz.7.0.svn'].Nviz_draw_all_vect
-    Nviz_draw_all_vect.restype = c_int
-    Nviz_draw_all_vect.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 179
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_all_site'):
-    Nviz_draw_all_site = _libs['grass_nviz.7.0.svn'].Nviz_draw_all_site
-    Nviz_draw_all_site.restype = c_int
-    Nviz_draw_all_site.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 180
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_all_vol'):
-    Nviz_draw_all_vol = _libs['grass_nviz.7.0.svn'].Nviz_draw_all_vol
-    Nviz_draw_all_vol.restype = c_int
-    Nviz_draw_all_vol.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 181
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_all'):
-    Nviz_draw_all = _libs['grass_nviz.7.0.svn'].Nviz_draw_all
-    Nviz_draw_all.restype = c_int
-    Nviz_draw_all.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 182
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_quick'):
-    Nviz_draw_quick = _libs['grass_nviz.7.0.svn'].Nviz_draw_quick
-    Nviz_draw_quick.restype = c_int
-    Nviz_draw_quick.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 183
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_load_image'):
-    Nviz_load_image = _libs['grass_nviz.7.0.svn'].Nviz_load_image
-    Nviz_load_image.restype = c_int
-    Nviz_load_image.argtypes = [POINTER(GLubyte), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 184
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_image'):
-    Nviz_draw_image = _libs['grass_nviz.7.0.svn'].Nviz_draw_image
-    Nviz_draw_image.restype = None
-    Nviz_draw_image.argtypes = [c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 185
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_2D'):
-    Nviz_set_2D = _libs['grass_nviz.7.0.svn'].Nviz_set_2D
-    Nviz_set_2D.restype = None
-    Nviz_set_2D.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 186
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_del_texture'):
-    Nviz_del_texture = _libs['grass_nviz.7.0.svn'].Nviz_del_texture
-    Nviz_del_texture.restype = None
-    Nviz_del_texture.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 187
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_max_texture'):
-    Nviz_get_max_texture = _libs['grass_nviz.7.0.svn'].Nviz_get_max_texture
-    Nviz_get_max_texture.restype = None
-    Nviz_get_max_texture.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 190
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_exag_height'):
-    Nviz_get_exag_height = _libs['grass_nviz.7.0.svn'].Nviz_get_exag_height
-    Nviz_get_exag_height.restype = c_int
-    Nviz_get_exag_height.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 191
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_exag'):
-    Nviz_get_exag = _libs['grass_nviz.7.0.svn'].Nviz_get_exag
-    Nviz_get_exag.restype = c_double
-    Nviz_get_exag.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 194
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_light_position'):
-    Nviz_set_light_position = _libs['grass_nviz.7.0.svn'].Nviz_set_light_position
-    Nviz_set_light_position.restype = c_int
-    Nviz_set_light_position.argtypes = [POINTER(nv_data), c_int, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 195
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_light_bright'):
-    Nviz_set_light_bright = _libs['grass_nviz.7.0.svn'].Nviz_set_light_bright
-    Nviz_set_light_bright.restype = c_int
-    Nviz_set_light_bright.argtypes = [POINTER(nv_data), c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 196
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_light_color'):
-    Nviz_set_light_color = _libs['grass_nviz.7.0.svn'].Nviz_set_light_color
-    Nviz_set_light_color.restype = c_int
-    Nviz_set_light_color.argtypes = [POINTER(nv_data), c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 197
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_light_ambient'):
-    Nviz_set_light_ambient = _libs['grass_nviz.7.0.svn'].Nviz_set_light_ambient
-    Nviz_set_light_ambient.restype = c_int
-    Nviz_set_light_ambient.argtypes = [POINTER(nv_data), c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 198
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_init_light'):
-    Nviz_init_light = _libs['grass_nviz.7.0.svn'].Nviz_init_light
-    Nviz_init_light.restype = c_int
-    Nviz_init_light.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 199
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_new_light'):
-    Nviz_new_light = _libs['grass_nviz.7.0.svn'].Nviz_new_light
-    Nviz_new_light.restype = c_int
-    Nviz_new_light.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 200
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_model'):
-    Nviz_draw_model = _libs['grass_nviz.7.0.svn'].Nviz_draw_model
-    Nviz_draw_model.restype = None
-    Nviz_draw_model.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 203
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_new_map_obj'):
-    Nviz_new_map_obj = _libs['grass_nviz.7.0.svn'].Nviz_new_map_obj
-    Nviz_new_map_obj.restype = c_int
-    Nviz_new_map_obj.argtypes = [c_int, String, c_double, POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 204
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_attr'):
-    Nviz_set_attr = _libs['grass_nviz.7.0.svn'].Nviz_set_attr
-    Nviz_set_attr.restype = c_int
-    Nviz_set_attr.argtypes = [c_int, c_int, c_int, c_int, String, c_double, POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 205
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_surface_attr_default'):
-    Nviz_set_surface_attr_default = _libs['grass_nviz.7.0.svn'].Nviz_set_surface_attr_default
-    Nviz_set_surface_attr_default.restype = None
-    Nviz_set_surface_attr_default.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 206
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_vpoint_attr_default'):
-    Nviz_set_vpoint_attr_default = _libs['grass_nviz.7.0.svn'].Nviz_set_vpoint_attr_default
-    Nviz_set_vpoint_attr_default.restype = c_int
-    Nviz_set_vpoint_attr_default.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 207
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_volume_attr_default'):
-    Nviz_set_volume_attr_default = _libs['grass_nviz.7.0.svn'].Nviz_set_volume_attr_default
-    Nviz_set_volume_attr_default.restype = c_int
-    Nviz_set_volume_attr_default.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 208
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_unset_attr'):
-    Nviz_unset_attr = _libs['grass_nviz.7.0.svn'].Nviz_unset_attr
-    Nviz_unset_attr.restype = c_int
-    Nviz_unset_attr.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 211
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_init_data'):
-    Nviz_init_data = _libs['grass_nviz.7.0.svn'].Nviz_init_data
-    Nviz_init_data.restype = None
-    Nviz_init_data.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 212
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_destroy_data'):
-    Nviz_destroy_data = _libs['grass_nviz.7.0.svn'].Nviz_destroy_data
-    Nviz_destroy_data.restype = None
-    Nviz_destroy_data.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 213
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_bgcolor'):
-    Nviz_set_bgcolor = _libs['grass_nviz.7.0.svn'].Nviz_set_bgcolor
-    Nviz_set_bgcolor.restype = None
-    Nviz_set_bgcolor.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 214
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_bgcolor'):
-    Nviz_get_bgcolor = _libs['grass_nviz.7.0.svn'].Nviz_get_bgcolor
-    Nviz_get_bgcolor.restype = c_int
-    Nviz_get_bgcolor.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 215
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_color_from_str'):
-    Nviz_color_from_str = _libs['grass_nviz.7.0.svn'].Nviz_color_from_str
-    Nviz_color_from_str.restype = c_int
-    Nviz_color_from_str.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 216
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_new_fringe'):
-    Nviz_new_fringe = _libs['grass_nviz.7.0.svn'].Nviz_new_fringe
-    Nviz_new_fringe.restype = POINTER(struct_fringe_data)
-    Nviz_new_fringe.argtypes = [POINTER(nv_data), c_int, c_ulong, c_double, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 218
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_fringe'):
-    Nviz_set_fringe = _libs['grass_nviz.7.0.svn'].Nviz_set_fringe
-    Nviz_set_fringe.restype = POINTER(struct_fringe_data)
-    Nviz_set_fringe.argtypes = [POINTER(nv_data), c_int, c_ulong, c_double, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 220
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_fringe'):
-    Nviz_draw_fringe = _libs['grass_nviz.7.0.svn'].Nviz_draw_fringe
-    Nviz_draw_fringe.restype = None
-    Nviz_draw_fringe.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 221
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_arrow'):
-    Nviz_draw_arrow = _libs['grass_nviz.7.0.svn'].Nviz_draw_arrow
-    Nviz_draw_arrow.restype = c_int
-    Nviz_draw_arrow.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 222
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_arrow'):
-    Nviz_set_arrow = _libs['grass_nviz.7.0.svn'].Nviz_set_arrow
-    Nviz_set_arrow.restype = c_int
-    Nviz_set_arrow.argtypes = [POINTER(nv_data), c_int, c_int, c_float, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 223
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_delete_arrow'):
-    Nviz_delete_arrow = _libs['grass_nviz.7.0.svn'].Nviz_delete_arrow
-    Nviz_delete_arrow.restype = None
-    Nviz_delete_arrow.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 224
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_new_scalebar'):
-    Nviz_new_scalebar = _libs['grass_nviz.7.0.svn'].Nviz_new_scalebar
-    Nviz_new_scalebar.restype = POINTER(struct_scalebar_data)
-    Nviz_new_scalebar.argtypes = [POINTER(nv_data), c_int, POINTER(c_float), c_float, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 225
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_scalebar'):
-    Nviz_set_scalebar = _libs['grass_nviz.7.0.svn'].Nviz_set_scalebar
-    Nviz_set_scalebar.restype = POINTER(struct_scalebar_data)
-    Nviz_set_scalebar.argtypes = [POINTER(nv_data), c_int, c_int, c_int, c_float, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 226
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_scalebar'):
-    Nviz_draw_scalebar = _libs['grass_nviz.7.0.svn'].Nviz_draw_scalebar
-    Nviz_draw_scalebar.restype = None
-    Nviz_draw_scalebar.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 227
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_delete_scalebar'):
-    Nviz_delete_scalebar = _libs['grass_nviz.7.0.svn'].Nviz_delete_scalebar
-    Nviz_delete_scalebar.restype = None
-    Nviz_delete_scalebar.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 230
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_init_view'):
-    Nviz_init_view = _libs['grass_nviz.7.0.svn'].Nviz_init_view
-    Nviz_init_view.restype = None
-    Nviz_init_view.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 231
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_focus_state'):
-    Nviz_set_focus_state = _libs['grass_nviz.7.0.svn'].Nviz_set_focus_state
-    Nviz_set_focus_state.restype = c_int
-    Nviz_set_focus_state.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 232
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_focus_map'):
-    Nviz_set_focus_map = _libs['grass_nviz.7.0.svn'].Nviz_set_focus_map
-    Nviz_set_focus_map.restype = c_int
-    Nviz_set_focus_map.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 233
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_has_focus'):
-    Nviz_has_focus = _libs['grass_nviz.7.0.svn'].Nviz_has_focus
-    Nviz_has_focus.restype = c_int
-    Nviz_has_focus.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 234
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_focus'):
-    Nviz_set_focus = _libs['grass_nviz.7.0.svn'].Nviz_set_focus
-    Nviz_set_focus.restype = c_int
-    Nviz_set_focus.argtypes = [POINTER(nv_data), c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 235
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_focus'):
-    Nviz_get_focus = _libs['grass_nviz.7.0.svn'].Nviz_get_focus
-    Nviz_get_focus.restype = c_int
-    Nviz_get_focus.argtypes = [POINTER(nv_data), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 236
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_xyrange'):
-    Nviz_get_xyrange = _libs['grass_nviz.7.0.svn'].Nviz_get_xyrange
-    Nviz_get_xyrange.restype = c_float
-    Nviz_get_xyrange.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 237
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_zrange'):
-    Nviz_get_zrange = _libs['grass_nviz.7.0.svn'].Nviz_get_zrange
-    Nviz_get_zrange.restype = c_int
-    Nviz_get_zrange.argtypes = [POINTER(nv_data), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 238
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_longdim'):
-    Nviz_get_longdim = _libs['grass_nviz.7.0.svn'].Nviz_get_longdim
-    Nviz_get_longdim.restype = c_float
-    Nviz_get_longdim.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 241
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_new_render_window'):
-    Nviz_new_render_window = _libs['grass_nviz.7.0.svn'].Nviz_new_render_window
-    Nviz_new_render_window.restype = POINTER(struct_render_window)
-    Nviz_new_render_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 242
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_init_render_window'):
-    Nviz_init_render_window = _libs['grass_nviz.7.0.svn'].Nviz_init_render_window
-    Nviz_init_render_window.restype = None
-    Nviz_init_render_window.argtypes = [POINTER(struct_render_window)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 243
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_destroy_render_window'):
-    Nviz_destroy_render_window = _libs['grass_nviz.7.0.svn'].Nviz_destroy_render_window
-    Nviz_destroy_render_window.restype = None
-    Nviz_destroy_render_window.argtypes = [POINTER(struct_render_window)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 244
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_create_render_window'):
-    Nviz_create_render_window = _libs['grass_nviz.7.0.svn'].Nviz_create_render_window
-    Nviz_create_render_window.restype = c_int
-    Nviz_create_render_window.argtypes = [POINTER(struct_render_window), POINTER(None), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 245
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_make_current_render_window'):
-    Nviz_make_current_render_window = _libs['grass_nviz.7.0.svn'].Nviz_make_current_render_window
-    Nviz_make_current_render_window.restype = c_int
-    Nviz_make_current_render_window.argtypes = [POINTER(struct_render_window)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 16
-try:
-    GS_UNIT_SIZE = 1000.0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 39
-try:
-    MAP_OBJ_UNDEFINED = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 39
-try:
-    MAP_OBJ_SURF = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 39
-try:
-    MAP_OBJ_VOL = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 39
-try:
-    MAP_OBJ_VECT = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 39
-try:
-    MAP_OBJ_SITE = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 40
-try:
-    DRAW_COARSE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 40
-try:
-    DRAW_FINE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 40
-try:
-    DRAW_BOTH = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 42
-try:
-    DRAW_QUICK_SURFACE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 42
-try:
-    DRAW_QUICK_VLINES = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 42
-try:
-    DRAW_QUICK_VPOINTS = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 42
-try:
-    DRAW_QUICK_VOLUME = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 43
-try:
-    RANGE = (5 * GS_UNIT_SIZE)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 43
-try:
-    RANGE_OFFSET = (2 * GS_UNIT_SIZE)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 43
-try:
-    ZRANGE = (3 * GS_UNIT_SIZE)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 43
-try:
-    ZRANGE_OFFSET = (1 * GS_UNIT_SIZE)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 44
-try:
-    DEFAULT_SURF_COLOR = 3390463
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 45
-try:
-    FORMAT_PPM = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 45
-try:
-    FORMAT_TIF = 2
-except:
-    pass
-
-fringe_data = struct_fringe_data # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 75
-
-arrow_data = struct_arrow_data # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 83
-
-scalebar_data = struct_scalebar_data # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 90
-
-render_window = struct_render_window # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 129
-
-# No inserted files
-
diff --git a/lib/python/ctypes/ogsf.py b/lib/python/ctypes/ogsf.py
deleted file mode 100644
index 7a7f2c9..0000000
--- a/lib/python/ctypes/ogsf.py
+++ /dev/null
@@ -1,6214 +0,0 @@
-'''Wrapper for ogsf_proto.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_ogsf.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h /home/neteler/grass70/dist.x86_64-unk [...]
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_ogsf.7.0.svn"] = load_library("grass_ogsf.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 273
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 406
-class struct__Color_Value_(Structure):
-    pass
-
-struct__Color_Value_.__slots__ = [
-    'value',
-    'red',
-    'grn',
-    'blu',
-]
-struct__Color_Value_._fields_ = [
-    ('value', DCELL),
-    ('red', c_ubyte),
-    ('grn', c_ubyte),
-    ('blu', c_ubyte),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 414
-class struct__Color_Rule_(Structure):
-    pass
-
-struct__Color_Rule_.__slots__ = [
-    'low',
-    'high',
-    'next',
-    'prev',
-]
-struct__Color_Rule_._fields_ = [
-    ('low', struct__Color_Value_),
-    ('high', struct__Color_Value_),
-    ('next', POINTER(struct__Color_Rule_)),
-    ('prev', POINTER(struct__Color_Rule_)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 426
-class struct_anon_8(Structure):
-    pass
-
-struct_anon_8.__slots__ = [
-    'red',
-    'grn',
-    'blu',
-    'set',
-    'nalloc',
-    'active',
-]
-struct_anon_8._fields_ = [
-    ('red', POINTER(c_ubyte)),
-    ('grn', POINTER(c_ubyte)),
-    ('blu', POINTER(c_ubyte)),
-    ('set', POINTER(c_ubyte)),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 436
-class struct_anon_9(Structure):
-    pass
-
-struct_anon_9.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-]
-struct_anon_9._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct__Color_Rule_))),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 421
-class struct__Color_Info_(Structure):
-    pass
-
-struct__Color_Info_.__slots__ = [
-    'rules',
-    'n_rules',
-    'lookup',
-    'fp_lookup',
-    'min',
-    'max',
-]
-struct__Color_Info_._fields_ = [
-    ('rules', POINTER(struct__Color_Rule_)),
-    ('n_rules', c_int),
-    ('lookup', struct_anon_8),
-    ('fp_lookup', struct_anon_9),
-    ('min', DCELL),
-    ('max', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 448
-class struct_Colors(Structure):
-    pass
-
-struct_Colors.__slots__ = [
-    'version',
-    'shift',
-    'invert',
-    'is_float',
-    'null_set',
-    'null_red',
-    'null_grn',
-    'null_blu',
-    'undef_set',
-    'undef_red',
-    'undef_grn',
-    'undef_blu',
-    'fixed',
-    'modular',
-    'cmin',
-    'cmax',
-    'organizing',
-]
-struct_Colors._fields_ = [
-    ('version', c_int),
-    ('shift', DCELL),
-    ('invert', c_int),
-    ('is_float', c_int),
-    ('null_set', c_int),
-    ('null_red', c_ubyte),
-    ('null_grn', c_ubyte),
-    ('null_blu', c_ubyte),
-    ('undef_set', c_int),
-    ('undef_red', c_ubyte),
-    ('undef_grn', c_ubyte),
-    ('undef_blu', c_ubyte),
-    ('fixed', struct__Color_Info_),
-    ('modular', struct__Color_Info_),
-    ('cmin', DCELL),
-    ('cmax', DCELL),
-    ('organizing', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/linkm.h: 12
-class struct_link_head(Structure):
-    pass
-
-struct_link_head.__slots__ = [
-    'ptr_array',
-    'max_ptr',
-    'alloced',
-    'chunk_size',
-    'unit_size',
-    'Unused',
-    'exit_flag',
-]
-struct_link_head._fields_ = [
-    ('ptr_array', POINTER(POINTER(c_char))),
-    ('max_ptr', c_int),
-    ('alloced', c_int),
-    ('chunk_size', c_int),
-    ('unit_size', c_int),
-    ('Unused', String),
-    ('exit_flag', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/bitmap.h: 17
-class struct_BM(Structure):
-    pass
-
-struct_BM.__slots__ = [
-    'rows',
-    'cols',
-    'bytes',
-    'data',
-    'sparse',
-    'token',
-]
-struct_BM._fields_ = [
-    ('rows', c_int),
-    ('cols', c_int),
-    ('bytes', c_int),
-    ('data', POINTER(c_ubyte)),
-    ('sparse', c_int),
-    ('token', POINTER(struct_link_head)),
-]
-
-GLint = c_int # /usr/include/GL/gl.h: 161
-
-GLuint = c_uint # /usr/include/GL/gl.h: 164
-
-GLdouble = c_double # /usr/include/GL/gl.h: 168
-
-Point4 = c_float * 4 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 95
-
-Point3 = c_float * 3 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 96
-
-Point2 = c_float * 2 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 97
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 109
-class struct_anon_24(Structure):
-    pass
-
-struct_anon_24.__slots__ = [
-    'fb',
-    'ib',
-    'sb',
-    'cb',
-    'bm',
-    'nm',
-    'tfunc',
-    'k',
-]
-struct_anon_24._fields_ = [
-    ('fb', POINTER(c_float)),
-    ('ib', POINTER(c_int)),
-    ('sb', POINTER(c_short)),
-    ('cb', POINTER(c_ubyte)),
-    ('bm', POINTER(struct_BM)),
-    ('nm', POINTER(struct_BM)),
-    ('tfunc', CFUNCTYPE(UNCHECKED(c_float), c_float, c_int)),
-    ('k', c_float),
-]
-
-typbuff = struct_anon_24 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 109
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 116
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'n_elem',
-    'index',
-    'value',
-]
-struct_anon_25._fields_ = [
-    ('n_elem', c_int),
-    ('index', String),
-    ('value', POINTER(c_int)),
-]
-
-table256 = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 116
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 124
-class struct_anon_26(Structure):
-    pass
-
-struct_anon_26.__slots__ = [
-    'offset',
-    'mult',
-    'use_lookup',
-    'lookup',
-]
-struct_anon_26._fields_ = [
-    ('offset', c_float),
-    ('mult', c_float),
-    ('use_lookup', c_int),
-    ('lookup', table256),
-]
-
-transform = struct_anon_26 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 124
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 137
-class struct_anon_27(Structure):
-    pass
-
-struct_anon_27.__slots__ = [
-    'data_id',
-    'dims',
-    'ndims',
-    'numbytes',
-    'unique_name',
-    'databuff',
-    'changed',
-    'need_reload',
-]
-struct_anon_27._fields_ = [
-    ('data_id', c_int),
-    ('dims', c_int * 4),
-    ('ndims', c_int),
-    ('numbytes', c_int),
-    ('unique_name', String),
-    ('databuff', typbuff),
-    ('changed', c_uint),
-    ('need_reload', c_int),
-]
-
-dataset = struct_anon_27 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 137
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 150
-class struct_anon_28(Structure):
-    pass
-
-struct_anon_28.__slots__ = [
-    'att_src',
-    'att_type',
-    'hdata',
-    'user_func',
-    'constant',
-    'lookup',
-    'min_nz',
-    'max_nz',
-    'range_nz',
-    'default_null',
-]
-struct_anon_28._fields_ = [
-    ('att_src', c_uint),
-    ('att_type', c_uint),
-    ('hdata', c_int),
-    ('user_func', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('constant', c_float),
-    ('lookup', POINTER(c_int)),
-    ('min_nz', c_float),
-    ('max_nz', c_float),
-    ('range_nz', c_float),
-    ('default_null', c_float),
-]
-
-gsurf_att = struct_anon_28 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 150
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 152
-class struct_g_surf(Structure):
-    pass
-
-struct_g_surf.__slots__ = [
-    'gsurf_id',
-    'cols',
-    'rows',
-    'att',
-    'draw_mode',
-    'wire_color',
-    'ox',
-    'oy',
-    'xres',
-    'yres',
-    'z_exag',
-    'x_trans',
-    'y_trans',
-    'z_trans',
-    'xmin',
-    'xmax',
-    'ymin',
-    'ymax',
-    'zmin',
-    'zmax',
-    'zminmasked',
-    'xrange',
-    'yrange',
-    'zrange',
-    'zmin_nz',
-    'zmax_nz',
-    'zrange_nz',
-    'x_mod',
-    'y_mod',
-    'x_modw',
-    'y_modw',
-    'nz_topo',
-    'nz_color',
-    'mask_needupdate',
-    'norm_needupdate',
-    'norms',
-    'curmask',
-    'next',
-    'clientdata',
-]
-struct_g_surf._fields_ = [
-    ('gsurf_id', c_int),
-    ('cols', c_int),
-    ('rows', c_int),
-    ('att', gsurf_att * 7),
-    ('draw_mode', c_uint),
-    ('wire_color', c_long),
-    ('ox', c_double),
-    ('oy', c_double),
-    ('xres', c_double),
-    ('yres', c_double),
-    ('z_exag', c_float),
-    ('x_trans', c_float),
-    ('y_trans', c_float),
-    ('z_trans', c_float),
-    ('xmin', c_float),
-    ('xmax', c_float),
-    ('ymin', c_float),
-    ('ymax', c_float),
-    ('zmin', c_float),
-    ('zmax', c_float),
-    ('zminmasked', c_float),
-    ('xrange', c_float),
-    ('yrange', c_float),
-    ('zrange', c_float),
-    ('zmin_nz', c_float),
-    ('zmax_nz', c_float),
-    ('zrange_nz', c_float),
-    ('x_mod', c_int),
-    ('y_mod', c_int),
-    ('x_modw', c_int),
-    ('y_modw', c_int),
-    ('nz_topo', c_int),
-    ('nz_color', c_int),
-    ('mask_needupdate', c_int),
-    ('norm_needupdate', c_int),
-    ('norms', POINTER(c_ulong)),
-    ('curmask', POINTER(struct_BM)),
-    ('next', POINTER(struct_g_surf)),
-    ('clientdata', POINTER(None)),
-]
-
-geosurf = struct_g_surf # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 173
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 181
-class struct_g_vect_style(Structure):
-    pass
-
-struct_g_vect_style.__slots__ = [
-    'color',
-    'symbol',
-    'size',
-    'width',
-    'next',
-]
-struct_g_vect_style._fields_ = [
-    ('color', c_int),
-    ('symbol', c_int),
-    ('size', c_float),
-    ('width', c_int),
-    ('next', POINTER(struct_g_vect_style)),
-]
-
-gvstyle = struct_g_vect_style # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 194
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 206
-class struct_g_vect_style_thematic(Structure):
-    pass
-
-struct_g_vect_style_thematic.__slots__ = [
-    'active',
-    'layer',
-    'color_column',
-    'symbol_column',
-    'size_column',
-    'width_column',
-]
-struct_g_vect_style_thematic._fields_ = [
-    ('active', c_int),
-    ('layer', c_int),
-    ('color_column', String),
-    ('symbol_column', String),
-    ('size_column', String),
-    ('width_column', String),
-]
-
-gvstyle_thematic = struct_g_vect_style_thematic # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 206
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 217
-class struct_line_cats(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 209
-class struct_g_line(Structure):
-    pass
-
-struct_g_line.__slots__ = [
-    'type',
-    'norm',
-    'dims',
-    'npts',
-    'p3',
-    'p2',
-    'cats',
-    'style',
-    'highlighted',
-    'next',
-]
-struct_g_line._fields_ = [
-    ('type', c_int),
-    ('norm', c_float * 3),
-    ('dims', c_int),
-    ('npts', c_int),
-    ('p3', POINTER(Point3)),
-    ('p2', POINTER(Point2)),
-    ('cats', POINTER(struct_line_cats)),
-    ('style', POINTER(gvstyle)),
-    ('highlighted', c_char),
-    ('next', POINTER(struct_g_line)),
-]
-
-geoline = struct_g_line # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 222
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 225
-class struct_g_vect(Structure):
-    pass
-
-struct_g_vect.__slots__ = [
-    'gvect_id',
-    'use_mem',
-    'n_lines',
-    'drape_surf_id',
-    'flat_val',
-    'n_surfs',
-    'filename',
-    'x_trans',
-    'y_trans',
-    'z_trans',
-    'lines',
-    'fastlines',
-    'bgn_read',
-    'end_read',
-    'nxt_line',
-    'next',
-    'clientdata',
-    'tstyle',
-    'style',
-    'hstyle',
-]
-struct_g_vect._fields_ = [
-    ('gvect_id', c_int),
-    ('use_mem', c_int),
-    ('n_lines', c_int),
-    ('drape_surf_id', c_int * 12),
-    ('flat_val', c_int),
-    ('n_surfs', c_int),
-    ('filename', String),
-    ('x_trans', c_float),
-    ('y_trans', c_float),
-    ('z_trans', c_float),
-    ('lines', POINTER(geoline)),
-    ('fastlines', POINTER(geoline)),
-    ('bgn_read', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('end_read', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('nxt_line', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('next', POINTER(struct_g_vect)),
-    ('clientdata', POINTER(None)),
-    ('tstyle', POINTER(gvstyle_thematic)),
-    ('style', POINTER(gvstyle)),
-    ('hstyle', POINTER(gvstyle)),
-]
-
-geovect = struct_g_vect # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 244
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 247
-class struct_g_point(Structure):
-    pass
-
-struct_g_point.__slots__ = [
-    'dims',
-    'p3',
-    'cats',
-    'style',
-    'highlighted',
-    'next',
-]
-struct_g_point._fields_ = [
-    ('dims', c_int),
-    ('p3', Point3),
-    ('cats', POINTER(struct_line_cats)),
-    ('style', POINTER(gvstyle)),
-    ('highlighted', c_char),
-    ('next', POINTER(struct_g_point)),
-]
-
-geopoint = struct_g_point # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 257
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 260
-class struct_g_site(Structure):
-    pass
-
-struct_g_site.__slots__ = [
-    'gsite_id',
-    'drape_surf_id',
-    'n_surfs',
-    'n_sites',
-    'use_z',
-    'use_mem',
-    'has_z',
-    'filename',
-    'attr_trans',
-    'x_trans',
-    'y_trans',
-    'z_trans',
-    'points',
-    'bgn_read',
-    'end_read',
-    'nxt_site',
-    'next',
-    'clientdata',
-    'tstyle',
-    'style',
-    'hstyle',
-]
-struct_g_site._fields_ = [
-    ('gsite_id', c_int),
-    ('drape_surf_id', c_int * 12),
-    ('n_surfs', c_int),
-    ('n_sites', c_int),
-    ('use_z', c_int),
-    ('use_mem', c_int),
-    ('has_z', c_int),
-    ('filename', String),
-    ('attr_trans', transform),
-    ('x_trans', c_float),
-    ('y_trans', c_float),
-    ('z_trans', c_float),
-    ('points', POINTER(geopoint)),
-    ('bgn_read', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('end_read', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('nxt_site', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('next', POINTER(struct_g_site)),
-    ('clientdata', POINTER(None)),
-    ('tstyle', POINTER(gvstyle_thematic)),
-    ('style', POINTER(gvstyle)),
-    ('hstyle', POINTER(gvstyle)),
-]
-
-geosite = struct_g_site # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 279
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 296
-class struct_anon_29(Structure):
-    pass
-
-struct_anon_29.__slots__ = [
-    'data_id',
-    'file_type',
-    'count',
-    'file_name',
-    'data_type',
-    'map',
-    'min',
-    'max',
-    'status',
-    'mode',
-    'buff',
-]
-struct_anon_29._fields_ = [
-    ('data_id', c_int),
-    ('file_type', c_uint),
-    ('count', c_uint),
-    ('file_name', String),
-    ('data_type', c_uint),
-    ('map', POINTER(None)),
-    ('min', c_double),
-    ('max', c_double),
-    ('status', c_uint),
-    ('mode', c_uint),
-    ('buff', POINTER(None)),
-]
-
-geovol_file = struct_anon_29 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 296
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 308
-class struct_anon_30(Structure):
-    pass
-
-struct_anon_30.__slots__ = [
-    'att_src',
-    'hfile',
-    'user_func',
-    'constant',
-    'att_data',
-    'changed',
-]
-struct_anon_30._fields_ = [
-    ('att_src', c_uint),
-    ('hfile', c_int),
-    ('user_func', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('constant', c_float),
-    ('att_data', POINTER(None)),
-    ('changed', c_int),
-]
-
-geovol_isosurf_att = struct_anon_30 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 308
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 317
-class struct_anon_31(Structure):
-    pass
-
-struct_anon_31.__slots__ = [
-    'inout_mode',
-    'att',
-    'data_desc',
-    'data',
-]
-struct_anon_31._fields_ = [
-    ('inout_mode', c_int),
-    ('att', geovol_isosurf_att * 7),
-    ('data_desc', c_int),
-    ('data', POINTER(c_ubyte)),
-]
-
-geovol_isosurf = struct_anon_31 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 317
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 327
-class struct_anon_32(Structure):
-    pass
-
-struct_anon_32.__slots__ = [
-    'dir',
-    'x1',
-    'x2',
-    'y1',
-    'y2',
-    'z1',
-    'z2',
-    'data',
-    'changed',
-    'mode',
-    'transp',
-]
-struct_anon_32._fields_ = [
-    ('dir', c_int),
-    ('x1', c_float),
-    ('x2', c_float),
-    ('y1', c_float),
-    ('y2', c_float),
-    ('z1', c_float),
-    ('z2', c_float),
-    ('data', POINTER(c_ubyte)),
-    ('changed', c_int),
-    ('mode', c_int),
-    ('transp', c_int),
-]
-
-geovol_slice = struct_anon_32 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 327
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 329
-class struct_g_vol(Structure):
-    pass
-
-struct_g_vol.__slots__ = [
-    'gvol_id',
-    'next',
-    'hfile',
-    'cols',
-    'rows',
-    'depths',
-    'ox',
-    'oy',
-    'oz',
-    'xres',
-    'yres',
-    'zres',
-    'xmin',
-    'xmax',
-    'ymin',
-    'ymax',
-    'zmin',
-    'zmax',
-    'xrange',
-    'yrange',
-    'zrange',
-    'x_trans',
-    'y_trans',
-    'z_trans',
-    'n_isosurfs',
-    'isosurf',
-    'isosurf_x_mod',
-    'isosurf_y_mod',
-    'isosurf_z_mod',
-    'isosurf_draw_mode',
-    'n_slices',
-    'slice',
-    'slice_x_mod',
-    'slice_y_mod',
-    'slice_z_mod',
-    'slice_draw_mode',
-    'clientdata',
-]
-struct_g_vol._fields_ = [
-    ('gvol_id', c_int),
-    ('next', POINTER(struct_g_vol)),
-    ('hfile', c_int),
-    ('cols', c_int),
-    ('rows', c_int),
-    ('depths', c_int),
-    ('ox', c_double),
-    ('oy', c_double),
-    ('oz', c_double),
-    ('xres', c_double),
-    ('yres', c_double),
-    ('zres', c_double),
-    ('xmin', c_double),
-    ('xmax', c_double),
-    ('ymin', c_double),
-    ('ymax', c_double),
-    ('zmin', c_double),
-    ('zmax', c_double),
-    ('xrange', c_double),
-    ('yrange', c_double),
-    ('zrange', c_double),
-    ('x_trans', c_float),
-    ('y_trans', c_float),
-    ('z_trans', c_float),
-    ('n_isosurfs', c_int),
-    ('isosurf', POINTER(geovol_isosurf) * 12),
-    ('isosurf_x_mod', c_int),
-    ('isosurf_y_mod', c_int),
-    ('isosurf_z_mod', c_int),
-    ('isosurf_draw_mode', c_uint),
-    ('n_slices', c_int),
-    ('slice', POINTER(geovol_slice) * 12),
-    ('slice_x_mod', c_int),
-    ('slice_y_mod', c_int),
-    ('slice_z_mod', c_int),
-    ('slice_draw_mode', c_uint),
-    ('clientdata', POINTER(None)),
-]
-
-geovol = struct_g_vol # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 353
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 355
-class struct_lightdefs(Structure):
-    pass
-
-struct_lightdefs.__slots__ = [
-    'position',
-    'color',
-    'ambient',
-    'emission',
-    'shine',
-]
-struct_lightdefs._fields_ = [
-    ('position', c_float * 4),
-    ('color', c_float * 3),
-    ('ambient', c_float * 3),
-    ('emission', c_float * 3),
-    ('shine', c_float),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 364
-class struct_georot(Structure):
-    pass
-
-struct_georot.__slots__ = [
-    'do_rot',
-    'rot_angle',
-    'rot_axes',
-    'rotMatrix',
-]
-struct_georot._fields_ = [
-    ('do_rot', c_int),
-    ('rot_angle', c_double),
-    ('rot_axes', c_double * 3),
-    ('rotMatrix', GLdouble * 16),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 383
-class struct_anon_33(Structure):
-    pass
-
-struct_anon_33.__slots__ = [
-    'coord_sys',
-    'view_proj',
-    'infocus',
-    'from_to',
-    'rotate',
-    'twist',
-    'fov',
-    'incl',
-    'look',
-    'real_to',
-    'vert_exag',
-    'scale',
-    'lights',
-]
-struct_anon_33._fields_ = [
-    ('coord_sys', c_int),
-    ('view_proj', c_int),
-    ('infocus', c_int),
-    ('from_to', (c_float * 4) * 2),
-    ('rotate', struct_georot),
-    ('twist', c_int),
-    ('fov', c_int),
-    ('incl', c_int),
-    ('look', c_int),
-    ('real_to', c_float * 4),
-    ('vert_exag', c_float),
-    ('scale', c_float),
-    ('lights', struct_lightdefs * 3),
-]
-
-geoview = struct_anon_33 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 383
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 390
-class struct_anon_34(Structure):
-    pass
-
-struct_anon_34.__slots__ = [
-    'nearclip',
-    'farclip',
-    'aspect',
-    'left',
-    'right',
-    'bottom',
-    'top',
-    'bgcol',
-]
-struct_anon_34._fields_ = [
-    ('nearclip', c_float),
-    ('farclip', c_float),
-    ('aspect', c_float),
-    ('left', c_short),
-    ('right', c_short),
-    ('bottom', c_short),
-    ('top', c_short),
-    ('bgcol', c_int),
-]
-
-geodisplay = struct_anon_34 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 390
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 392
-try:
-    Cxl_func = (POINTER(CFUNCTYPE(UNCHECKED(None), ))).in_dll(_libs['grass_ogsf.7.0.svn'], 'Cxl_func')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 393
-try:
-    Swap_func = (POINTER(CFUNCTYPE(UNCHECKED(None), ))).in_dll(_libs['grass_ogsf.7.0.svn'], 'Swap_func')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 26
-class struct_view_node(Structure):
-    pass
-
-struct_view_node.__slots__ = [
-    'fields',
-]
-struct_view_node._fields_ = [
-    ('fields', c_float * 8),
-]
-
-Viewnode = struct_view_node # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 26
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 28
-class struct_key_node(Structure):
-    pass
-
-struct_key_node.__slots__ = [
-    'pos',
-    'fields',
-    'look_ahead',
-    'fieldmask',
-    'next',
-    'prior',
-]
-struct_key_node._fields_ = [
-    ('pos', c_float),
-    ('fields', c_float * 8),
-    ('look_ahead', c_int),
-    ('fieldmask', c_ulong),
-    ('next', POINTER(struct_key_node)),
-    ('prior', POINTER(struct_key_node)),
-]
-
-Keylist = struct_key_node # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 34
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 37
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_set_interpmode'):
-    GK_set_interpmode = _libs['grass_ogsf.7.0.svn'].GK_set_interpmode
-    GK_set_interpmode.restype = c_int
-    GK_set_interpmode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 38
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_set_tension'):
-    GK_set_tension = _libs['grass_ogsf.7.0.svn'].GK_set_tension
-    GK_set_tension.restype = None
-    GK_set_tension.argtypes = [c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 39
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_showtension_start'):
-    GK_showtension_start = _libs['grass_ogsf.7.0.svn'].GK_showtension_start
-    GK_showtension_start.restype = None
-    GK_showtension_start.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 40
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_showtension_stop'):
-    GK_showtension_stop = _libs['grass_ogsf.7.0.svn'].GK_showtension_stop
-    GK_showtension_stop.restype = None
-    GK_showtension_stop.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 41
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_update_tension'):
-    GK_update_tension = _libs['grass_ogsf.7.0.svn'].GK_update_tension
-    GK_update_tension.restype = None
-    GK_update_tension.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 42
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_update_frames'):
-    GK_update_frames = _libs['grass_ogsf.7.0.svn'].GK_update_frames
-    GK_update_frames.restype = None
-    GK_update_frames.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 43
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_set_numsteps'):
-    GK_set_numsteps = _libs['grass_ogsf.7.0.svn'].GK_set_numsteps
-    GK_set_numsteps.restype = None
-    GK_set_numsteps.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 44
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_clear_keys'):
-    GK_clear_keys = _libs['grass_ogsf.7.0.svn'].GK_clear_keys
-    GK_clear_keys.restype = None
-    GK_clear_keys.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 45
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_print_keys'):
-    GK_print_keys = _libs['grass_ogsf.7.0.svn'].GK_print_keys
-    GK_print_keys.restype = None
-    GK_print_keys.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 46
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_move_key'):
-    GK_move_key = _libs['grass_ogsf.7.0.svn'].GK_move_key
-    GK_move_key.restype = c_int
-    GK_move_key.argtypes = [c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 47
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_delete_key'):
-    GK_delete_key = _libs['grass_ogsf.7.0.svn'].GK_delete_key
-    GK_delete_key.restype = c_int
-    GK_delete_key.argtypes = [c_float, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 48
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_add_key'):
-    GK_add_key = _libs['grass_ogsf.7.0.svn'].GK_add_key
-    GK_add_key.restype = c_int
-    GK_add_key.argtypes = [c_float, c_ulong, c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 49
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_do_framestep'):
-    GK_do_framestep = _libs['grass_ogsf.7.0.svn'].GK_do_framestep
-    GK_do_framestep.restype = None
-    GK_do_framestep.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 50
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_show_path'):
-    GK_show_path = _libs['grass_ogsf.7.0.svn'].GK_show_path
-    GK_show_path.restype = None
-    GK_show_path.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 51
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_show_vect'):
-    GK_show_vect = _libs['grass_ogsf.7.0.svn'].GK_show_vect
-    GK_show_vect.restype = None
-    GK_show_vect.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 52
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_show_site'):
-    GK_show_site = _libs['grass_ogsf.7.0.svn'].GK_show_site
-    GK_show_site.restype = None
-    GK_show_site.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 53
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_show_vol'):
-    GK_show_vol = _libs['grass_ogsf.7.0.svn'].GK_show_vol
-    GK_show_vol.restype = None
-    GK_show_vol.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 54
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_show_list'):
-    GK_show_list = _libs['grass_ogsf.7.0.svn'].GK_show_list
-    GK_show_list.restype = None
-    GK_show_list.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 57
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_site_exists'):
-    GP_site_exists = _libs['grass_ogsf.7.0.svn'].GP_site_exists
-    GP_site_exists.restype = c_int
-    GP_site_exists.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 58
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_new_site'):
-    GP_new_site = _libs['grass_ogsf.7.0.svn'].GP_new_site
-    GP_new_site.restype = c_int
-    GP_new_site.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 59
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_num_sites'):
-    GP_num_sites = _libs['grass_ogsf.7.0.svn'].GP_num_sites
-    GP_num_sites.restype = c_int
-    GP_num_sites.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 60
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_get_site_list'):
-    GP_get_site_list = _libs['grass_ogsf.7.0.svn'].GP_get_site_list
-    GP_get_site_list.restype = POINTER(c_int)
-    GP_get_site_list.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 61
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_delete_site'):
-    GP_delete_site = _libs['grass_ogsf.7.0.svn'].GP_delete_site
-    GP_delete_site.restype = c_int
-    GP_delete_site.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 62
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_load_site'):
-    GP_load_site = _libs['grass_ogsf.7.0.svn'].GP_load_site
-    GP_load_site.restype = c_int
-    GP_load_site.argtypes = [c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 63
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_get_sitename'):
-    GP_get_sitename = _libs['grass_ogsf.7.0.svn'].GP_get_sitename
-    GP_get_sitename.restype = c_int
-    GP_get_sitename.argtypes = [c_int, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 64
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_get_style'):
-    GP_get_style = _libs['grass_ogsf.7.0.svn'].GP_get_style
-    GP_get_style.restype = c_int
-    GP_get_style.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 65
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_set_style'):
-    GP_set_style = _libs['grass_ogsf.7.0.svn'].GP_set_style
-    GP_set_style.restype = c_int
-    GP_set_style.argtypes = [c_int, c_int, c_int, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 66
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_set_style_thematic'):
-    GP_set_style_thematic = _libs['grass_ogsf.7.0.svn'].GP_set_style_thematic
-    GP_set_style_thematic.restype = c_int
-    GP_set_style_thematic.argtypes = [c_int, c_int, String, String, String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 68
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_unset_style_thematic'):
-    GP_unset_style_thematic = _libs['grass_ogsf.7.0.svn'].GP_unset_style_thematic
-    GP_unset_style_thematic.restype = c_int
-    GP_unset_style_thematic.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 69
-for _lib in _libs.values():
-    if hasattr(_lib, 'GP_attmode_color'):
-        GP_attmode_color = _lib.GP_attmode_color
-        GP_attmode_color.restype = c_int
-        GP_attmode_color.argtypes = [c_int, String]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 70
-for _lib in _libs.values():
-    if hasattr(_lib, 'GP_attmode_none'):
-        GP_attmode_none = _lib.GP_attmode_none
-        GP_attmode_none.restype = c_int
-        GP_attmode_none.argtypes = [c_int]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 71
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_set_zmode'):
-    GP_set_zmode = _libs['grass_ogsf.7.0.svn'].GP_set_zmode
-    GP_set_zmode.restype = c_int
-    GP_set_zmode.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 72
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_get_zmode'):
-    GP_get_zmode = _libs['grass_ogsf.7.0.svn'].GP_get_zmode
-    GP_get_zmode.restype = c_int
-    GP_get_zmode.argtypes = [c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 73
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_set_trans'):
-    GP_set_trans = _libs['grass_ogsf.7.0.svn'].GP_set_trans
-    GP_set_trans.restype = None
-    GP_set_trans.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 74
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_get_trans'):
-    GP_get_trans = _libs['grass_ogsf.7.0.svn'].GP_get_trans
-    GP_get_trans.restype = None
-    GP_get_trans.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 75
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_select_surf'):
-    GP_select_surf = _libs['grass_ogsf.7.0.svn'].GP_select_surf
-    GP_select_surf.restype = c_int
-    GP_select_surf.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 76
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_unselect_surf'):
-    GP_unselect_surf = _libs['grass_ogsf.7.0.svn'].GP_unselect_surf
-    GP_unselect_surf.restype = c_int
-    GP_unselect_surf.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 77
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_surf_is_selected'):
-    GP_surf_is_selected = _libs['grass_ogsf.7.0.svn'].GP_surf_is_selected
-    GP_surf_is_selected.restype = c_int
-    GP_surf_is_selected.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 78
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_draw_site'):
-    GP_draw_site = _libs['grass_ogsf.7.0.svn'].GP_draw_site
-    GP_draw_site.restype = None
-    GP_draw_site.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 79
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_alldraw_site'):
-    GP_alldraw_site = _libs['grass_ogsf.7.0.svn'].GP_alldraw_site
-    GP_alldraw_site.restype = None
-    GP_alldraw_site.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 80
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_Set_ClientData'):
-    GP_Set_ClientData = _libs['grass_ogsf.7.0.svn'].GP_Set_ClientData
-    GP_Set_ClientData.restype = c_int
-    GP_Set_ClientData.argtypes = [c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 81
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_Get_ClientData'):
-    GP_Get_ClientData = _libs['grass_ogsf.7.0.svn'].GP_Get_ClientData
-    GP_Get_ClientData.restype = POINTER(None)
-    GP_Get_ClientData.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 82
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_str_to_marker'):
-    GP_str_to_marker = _libs['grass_ogsf.7.0.svn'].GP_str_to_marker
-    GP_str_to_marker.restype = c_int
-    GP_str_to_marker.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 85
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'void_func'):
-    void_func = _libs['grass_ogsf.7.0.svn'].void_func
-    void_func.restype = None
-    void_func.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 86
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_libinit'):
-    GS_libinit = _libs['grass_ogsf.7.0.svn'].GS_libinit
-    GS_libinit.restype = None
-    GS_libinit.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 87
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_longdim'):
-    GS_get_longdim = _libs['grass_ogsf.7.0.svn'].GS_get_longdim
-    GS_get_longdim.restype = c_int
-    GS_get_longdim.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 88
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_region'):
-    GS_get_region = _libs['grass_ogsf.7.0.svn'].GS_get_region
-    GS_get_region.restype = c_int
-    GS_get_region.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 89
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_att_defaults'):
-    GS_set_att_defaults = _libs['grass_ogsf.7.0.svn'].GS_set_att_defaults
-    GS_set_att_defaults.restype = None
-    GS_set_att_defaults.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 90
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_surf_exists'):
-    GS_surf_exists = _libs['grass_ogsf.7.0.svn'].GS_surf_exists
-    GS_surf_exists.restype = c_int
-    GS_surf_exists.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 91
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_new_surface'):
-    GS_new_surface = _libs['grass_ogsf.7.0.svn'].GS_new_surface
-    GS_new_surface.restype = c_int
-    GS_new_surface.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 92
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_new_light'):
-    GS_new_light = _libs['grass_ogsf.7.0.svn'].GS_new_light
-    GS_new_light.restype = c_int
-    GS_new_light.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 93
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_light_reset'):
-    GS_set_light_reset = _libs['grass_ogsf.7.0.svn'].GS_set_light_reset
-    GS_set_light_reset.restype = None
-    GS_set_light_reset.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 94
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_light_reset'):
-    GS_get_light_reset = _libs['grass_ogsf.7.0.svn'].GS_get_light_reset
-    GS_get_light_reset.restype = c_int
-    GS_get_light_reset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 95
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_setlight_position'):
-    GS_setlight_position = _libs['grass_ogsf.7.0.svn'].GS_setlight_position
-    GS_setlight_position.restype = None
-    GS_setlight_position.argtypes = [c_int, c_float, c_float, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 96
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_setlight_color'):
-    GS_setlight_color = _libs['grass_ogsf.7.0.svn'].GS_setlight_color
-    GS_setlight_color.restype = None
-    GS_setlight_color.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 97
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_setlight_ambient'):
-    GS_setlight_ambient = _libs['grass_ogsf.7.0.svn'].GS_setlight_ambient
-    GS_setlight_ambient.restype = None
-    GS_setlight_ambient.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 98
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_lights_off'):
-    GS_lights_off = _libs['grass_ogsf.7.0.svn'].GS_lights_off
-    GS_lights_off.restype = None
-    GS_lights_off.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 99
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_lights_on'):
-    GS_lights_on = _libs['grass_ogsf.7.0.svn'].GS_lights_on
-    GS_lights_on.restype = None
-    GS_lights_on.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 100
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_switchlight'):
-    GS_switchlight = _libs['grass_ogsf.7.0.svn'].GS_switchlight
-    GS_switchlight.restype = None
-    GS_switchlight.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 101
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_transp_is_set'):
-    GS_transp_is_set = _libs['grass_ogsf.7.0.svn'].GS_transp_is_set
-    GS_transp_is_set.restype = c_int
-    GS_transp_is_set.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 102
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_modelposition1'):
-    GS_get_modelposition1 = _libs['grass_ogsf.7.0.svn'].GS_get_modelposition1
-    GS_get_modelposition1.restype = None
-    GS_get_modelposition1.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 103
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_modelposition'):
-    GS_get_modelposition = _libs['grass_ogsf.7.0.svn'].GS_get_modelposition
-    GS_get_modelposition.restype = None
-    GS_get_modelposition.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 104
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_X'):
-    GS_draw_X = _libs['grass_ogsf.7.0.svn'].GS_draw_X
-    GS_draw_X.restype = None
-    GS_draw_X.argtypes = [c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 105
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_Narrow'):
-    GS_set_Narrow = _libs['grass_ogsf.7.0.svn'].GS_set_Narrow
-    GS_set_Narrow.restype = None
-    GS_set_Narrow.argtypes = [POINTER(c_int), c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 106
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_line_onsurf'):
-    GS_draw_line_onsurf = _libs['grass_ogsf.7.0.svn'].GS_draw_line_onsurf
-    GS_draw_line_onsurf.restype = None
-    GS_draw_line_onsurf.argtypes = [c_int, c_float, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 107
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_nline_onsurf'):
-    GS_draw_nline_onsurf = _libs['grass_ogsf.7.0.svn'].GS_draw_nline_onsurf
-    GS_draw_nline_onsurf.restype = c_int
-    GS_draw_nline_onsurf.argtypes = [c_int, c_float, c_float, c_float, c_float, POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 108
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_flowline_at_xy'):
-    GS_draw_flowline_at_xy = _libs['grass_ogsf.7.0.svn'].GS_draw_flowline_at_xy
-    GS_draw_flowline_at_xy.restype = None
-    GS_draw_flowline_at_xy.argtypes = [c_int, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 109
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_lighting_model1'):
-    GS_draw_lighting_model1 = _libs['grass_ogsf.7.0.svn'].GS_draw_lighting_model1
-    GS_draw_lighting_model1.restype = None
-    GS_draw_lighting_model1.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 110
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_lighting_model'):
-    GS_draw_lighting_model = _libs['grass_ogsf.7.0.svn'].GS_draw_lighting_model
-    GS_draw_lighting_model.restype = None
-    GS_draw_lighting_model.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 111
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_update_curmask'):
-    GS_update_curmask = _libs['grass_ogsf.7.0.svn'].GS_update_curmask
-    GS_update_curmask.restype = c_int
-    GS_update_curmask.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 112
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_is_masked'):
-    GS_is_masked = _libs['grass_ogsf.7.0.svn'].GS_is_masked
-    GS_is_masked.restype = c_int
-    GS_is_masked.argtypes = [c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 113
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_unset_SDsurf'):
-    GS_unset_SDsurf = _libs['grass_ogsf.7.0.svn'].GS_unset_SDsurf
-    GS_unset_SDsurf.restype = None
-    GS_unset_SDsurf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 114
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_SDsurf'):
-    GS_set_SDsurf = _libs['grass_ogsf.7.0.svn'].GS_set_SDsurf
-    GS_set_SDsurf.restype = c_int
-    GS_set_SDsurf.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 115
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_SDscale'):
-    GS_set_SDscale = _libs['grass_ogsf.7.0.svn'].GS_set_SDscale
-    GS_set_SDscale.restype = c_int
-    GS_set_SDscale.argtypes = [c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 116
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_SDsurf'):
-    GS_get_SDsurf = _libs['grass_ogsf.7.0.svn'].GS_get_SDsurf
-    GS_get_SDsurf.restype = c_int
-    GS_get_SDsurf.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 117
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_SDscale'):
-    GS_get_SDscale = _libs['grass_ogsf.7.0.svn'].GS_get_SDscale
-    GS_get_SDscale.restype = c_int
-    GS_get_SDscale.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 118
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_update_normals'):
-    GS_update_normals = _libs['grass_ogsf.7.0.svn'].GS_update_normals
-    GS_update_normals.restype = c_int
-    GS_update_normals.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 119
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_att'):
-    GS_get_att = _libs['grass_ogsf.7.0.svn'].GS_get_att
-    GS_get_att.restype = c_int
-    GS_get_att.argtypes = [c_int, c_int, POINTER(c_int), POINTER(c_float), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 120
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_cat_at_xy'):
-    GS_get_cat_at_xy = _libs['grass_ogsf.7.0.svn'].GS_get_cat_at_xy
-    GS_get_cat_at_xy.restype = c_int
-    GS_get_cat_at_xy.argtypes = [c_int, c_int, String, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 121
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_norm_at_xy'):
-    GS_get_norm_at_xy = _libs['grass_ogsf.7.0.svn'].GS_get_norm_at_xy
-    GS_get_norm_at_xy.restype = c_int
-    GS_get_norm_at_xy.argtypes = [c_int, c_float, c_float, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 122
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_val_at_xy'):
-    GS_get_val_at_xy = _libs['grass_ogsf.7.0.svn'].GS_get_val_at_xy
-    GS_get_val_at_xy.restype = c_int
-    GS_get_val_at_xy.argtypes = [c_int, c_int, String, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 123
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_unset_att'):
-    GS_unset_att = _libs['grass_ogsf.7.0.svn'].GS_unset_att
-    GS_unset_att.restype = c_int
-    GS_unset_att.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 124
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_att_const'):
-    GS_set_att_const = _libs['grass_ogsf.7.0.svn'].GS_set_att_const
-    GS_set_att_const.restype = c_int
-    GS_set_att_const.argtypes = [c_int, c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 125
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_maskmode'):
-    GS_set_maskmode = _libs['grass_ogsf.7.0.svn'].GS_set_maskmode
-    GS_set_maskmode.restype = c_int
-    GS_set_maskmode.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 126
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_maskmode'):
-    GS_get_maskmode = _libs['grass_ogsf.7.0.svn'].GS_get_maskmode
-    GS_get_maskmode.restype = c_int
-    GS_get_maskmode.argtypes = [c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 127
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_Set_ClientData'):
-    GS_Set_ClientData = _libs['grass_ogsf.7.0.svn'].GS_Set_ClientData
-    GS_Set_ClientData.restype = c_int
-    GS_Set_ClientData.argtypes = [c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 128
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_Get_ClientData'):
-    GS_Get_ClientData = _libs['grass_ogsf.7.0.svn'].GS_Get_ClientData
-    GS_Get_ClientData.restype = POINTER(None)
-    GS_Get_ClientData.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 129
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_num_surfs'):
-    GS_num_surfs = _libs['grass_ogsf.7.0.svn'].GS_num_surfs
-    GS_num_surfs.restype = c_int
-    GS_num_surfs.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 130
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_surf_list'):
-    GS_get_surf_list = _libs['grass_ogsf.7.0.svn'].GS_get_surf_list
-    GS_get_surf_list.restype = POINTER(c_int)
-    GS_get_surf_list.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 131
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_delete_surface'):
-    GS_delete_surface = _libs['grass_ogsf.7.0.svn'].GS_delete_surface
-    GS_delete_surface.restype = c_int
-    GS_delete_surface.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 132
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_load_att_map'):
-    GS_load_att_map = _libs['grass_ogsf.7.0.svn'].GS_load_att_map
-    GS_load_att_map.restype = c_int
-    GS_load_att_map.argtypes = [c_int, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 133
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_surf'):
-    GS_draw_surf = _libs['grass_ogsf.7.0.svn'].GS_draw_surf
-    GS_draw_surf.restype = None
-    GS_draw_surf.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 134
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_wire'):
-    GS_draw_wire = _libs['grass_ogsf.7.0.svn'].GS_draw_wire
-    GS_draw_wire.restype = None
-    GS_draw_wire.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 135
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_alldraw_wire'):
-    GS_alldraw_wire = _libs['grass_ogsf.7.0.svn'].GS_alldraw_wire
-    GS_alldraw_wire.restype = None
-    GS_alldraw_wire.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 136
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_alldraw_surf'):
-    GS_alldraw_surf = _libs['grass_ogsf.7.0.svn'].GS_alldraw_surf
-    GS_alldraw_surf.restype = None
-    GS_alldraw_surf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 137
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_exag'):
-    GS_set_exag = _libs['grass_ogsf.7.0.svn'].GS_set_exag
-    GS_set_exag.restype = None
-    GS_set_exag.argtypes = [c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 138
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_global_exag'):
-    GS_set_global_exag = _libs['grass_ogsf.7.0.svn'].GS_set_global_exag
-    GS_set_global_exag.restype = None
-    GS_set_global_exag.argtypes = [c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 139
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_global_exag'):
-    GS_global_exag = _libs['grass_ogsf.7.0.svn'].GS_global_exag
-    GS_global_exag.restype = c_float
-    GS_global_exag.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 140
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_wire_color'):
-    GS_set_wire_color = _libs['grass_ogsf.7.0.svn'].GS_set_wire_color
-    GS_set_wire_color.restype = None
-    GS_set_wire_color.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 141
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_wire_color'):
-    GS_get_wire_color = _libs['grass_ogsf.7.0.svn'].GS_get_wire_color
-    GS_get_wire_color.restype = c_int
-    GS_get_wire_color.argtypes = [c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 142
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_setall_drawmode'):
-    GS_setall_drawmode = _libs['grass_ogsf.7.0.svn'].GS_setall_drawmode
-    GS_setall_drawmode.restype = c_int
-    GS_setall_drawmode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 143
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_drawmode'):
-    GS_set_drawmode = _libs['grass_ogsf.7.0.svn'].GS_set_drawmode
-    GS_set_drawmode.restype = c_int
-    GS_set_drawmode.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 144
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_drawmode'):
-    GS_get_drawmode = _libs['grass_ogsf.7.0.svn'].GS_get_drawmode
-    GS_get_drawmode.restype = c_int
-    GS_get_drawmode.argtypes = [c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 145
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_nozero'):
-    GS_set_nozero = _libs['grass_ogsf.7.0.svn'].GS_set_nozero
-    GS_set_nozero.restype = None
-    GS_set_nozero.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 146
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_nozero'):
-    GS_get_nozero = _libs['grass_ogsf.7.0.svn'].GS_get_nozero
-    GS_get_nozero.restype = c_int
-    GS_get_nozero.argtypes = [c_int, c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 147
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_setall_drawres'):
-    GS_setall_drawres = _libs['grass_ogsf.7.0.svn'].GS_setall_drawres
-    GS_setall_drawres.restype = c_int
-    GS_setall_drawres.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 148
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_drawres'):
-    GS_set_drawres = _libs['grass_ogsf.7.0.svn'].GS_set_drawres
-    GS_set_drawres.restype = c_int
-    GS_set_drawres.argtypes = [c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 149
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_drawres'):
-    GS_get_drawres = _libs['grass_ogsf.7.0.svn'].GS_get_drawres
-    GS_get_drawres.restype = None
-    GS_get_drawres.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 150
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_dims'):
-    GS_get_dims = _libs['grass_ogsf.7.0.svn'].GS_get_dims
-    GS_get_dims.restype = None
-    GS_get_dims.argtypes = [c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 151
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_exag_guess'):
-    GS_get_exag_guess = _libs['grass_ogsf.7.0.svn'].GS_get_exag_guess
-    GS_get_exag_guess.restype = c_int
-    GS_get_exag_guess.argtypes = [c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 152
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_zrange_nz'):
-    GS_get_zrange_nz = _libs['grass_ogsf.7.0.svn'].GS_get_zrange_nz
-    GS_get_zrange_nz.restype = None
-    GS_get_zrange_nz.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 153
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_trans'):
-    GS_set_trans = _libs['grass_ogsf.7.0.svn'].GS_set_trans
-    GS_set_trans.restype = None
-    GS_set_trans.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 154
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_trans'):
-    GS_get_trans = _libs['grass_ogsf.7.0.svn'].GS_get_trans
-    GS_get_trans.restype = None
-    GS_get_trans.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 155
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_default_draw_color'):
-    GS_default_draw_color = _libs['grass_ogsf.7.0.svn'].GS_default_draw_color
-    GS_default_draw_color.restype = c_uint
-    GS_default_draw_color.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 156
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_background_color'):
-    GS_background_color = _libs['grass_ogsf.7.0.svn'].GS_background_color
-    GS_background_color.restype = c_uint
-    GS_background_color.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 157
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_draw'):
-    GS_set_draw = _libs['grass_ogsf.7.0.svn'].GS_set_draw
-    GS_set_draw.restype = None
-    GS_set_draw.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 158
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_ready_draw'):
-    GS_ready_draw = _libs['grass_ogsf.7.0.svn'].GS_ready_draw
-    GS_ready_draw.restype = None
-    GS_ready_draw.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 159
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_done_draw'):
-    GS_done_draw = _libs['grass_ogsf.7.0.svn'].GS_done_draw
-    GS_done_draw.restype = None
-    GS_done_draw.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 160
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_focus'):
-    GS_set_focus = _libs['grass_ogsf.7.0.svn'].GS_set_focus
-    GS_set_focus.restype = None
-    GS_set_focus.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 161
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_focus'):
-    GS_get_focus = _libs['grass_ogsf.7.0.svn'].GS_get_focus
-    GS_get_focus.restype = c_int
-    GS_get_focus.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 162
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_focus_center_map'):
-    GS_set_focus_center_map = _libs['grass_ogsf.7.0.svn'].GS_set_focus_center_map
-    GS_set_focus_center_map.restype = None
-    GS_set_focus_center_map.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 163
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_moveto'):
-    GS_moveto = _libs['grass_ogsf.7.0.svn'].GS_moveto
-    GS_moveto.restype = None
-    GS_moveto.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 164
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_moveto_real'):
-    GS_moveto_real = _libs['grass_ogsf.7.0.svn'].GS_moveto_real
-    GS_moveto_real.restype = None
-    GS_moveto_real.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 165
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_focus_real'):
-    GS_set_focus_real = _libs['grass_ogsf.7.0.svn'].GS_set_focus_real
-    GS_set_focus_real.restype = None
-    GS_set_focus_real.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 166
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_to_real'):
-    GS_get_to_real = _libs['grass_ogsf.7.0.svn'].GS_get_to_real
-    GS_get_to_real.restype = None
-    GS_get_to_real.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 167
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_zextents'):
-    GS_get_zextents = _libs['grass_ogsf.7.0.svn'].GS_get_zextents
-    GS_get_zextents.restype = c_int
-    GS_get_zextents.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 168
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_zrange'):
-    GS_get_zrange = _libs['grass_ogsf.7.0.svn'].GS_get_zrange
-    GS_get_zrange.restype = c_int
-    GS_get_zrange.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 169
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_from'):
-    GS_get_from = _libs['grass_ogsf.7.0.svn'].GS_get_from
-    GS_get_from.restype = None
-    GS_get_from.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 170
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_from_real'):
-    GS_get_from_real = _libs['grass_ogsf.7.0.svn'].GS_get_from_real
-    GS_get_from_real.restype = None
-    GS_get_from_real.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 171
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_to'):
-    GS_get_to = _libs['grass_ogsf.7.0.svn'].GS_get_to
-    GS_get_to.restype = None
-    GS_get_to.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 172
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_viewdir'):
-    GS_get_viewdir = _libs['grass_ogsf.7.0.svn'].GS_get_viewdir
-    GS_get_viewdir.restype = None
-    GS_get_viewdir.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 173
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_viewdir'):
-    GS_set_viewdir = _libs['grass_ogsf.7.0.svn'].GS_set_viewdir
-    GS_set_viewdir.restype = None
-    GS_set_viewdir.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 174
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_fov'):
-    GS_set_fov = _libs['grass_ogsf.7.0.svn'].GS_set_fov
-    GS_set_fov.restype = None
-    GS_set_fov.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 175
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_rotation'):
-    GS_set_rotation = _libs['grass_ogsf.7.0.svn'].GS_set_rotation
-    GS_set_rotation.restype = None
-    GS_set_rotation.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 176
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_rotation_matrix'):
-    GS_get_rotation_matrix = _libs['grass_ogsf.7.0.svn'].GS_get_rotation_matrix
-    GS_get_rotation_matrix.restype = None
-    GS_get_rotation_matrix.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 177
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_rotation_matrix'):
-    GS_set_rotation_matrix = _libs['grass_ogsf.7.0.svn'].GS_set_rotation_matrix
-    GS_set_rotation_matrix.restype = None
-    GS_set_rotation_matrix.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 178
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_init_rotation'):
-    GS_init_rotation = _libs['grass_ogsf.7.0.svn'].GS_init_rotation
-    GS_init_rotation.restype = None
-    GS_init_rotation.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 179
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_unset_rotation'):
-    GS_unset_rotation = _libs['grass_ogsf.7.0.svn'].GS_unset_rotation
-    GS_unset_rotation.restype = None
-    GS_unset_rotation.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 180
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_fov'):
-    GS_get_fov = _libs['grass_ogsf.7.0.svn'].GS_get_fov
-    GS_get_fov.restype = c_int
-    GS_get_fov.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 181
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_twist'):
-    GS_get_twist = _libs['grass_ogsf.7.0.svn'].GS_get_twist
-    GS_get_twist.restype = c_int
-    GS_get_twist.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 182
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_twist'):
-    GS_set_twist = _libs['grass_ogsf.7.0.svn'].GS_set_twist
-    GS_set_twist.restype = None
-    GS_set_twist.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 183
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_nofocus'):
-    GS_set_nofocus = _libs['grass_ogsf.7.0.svn'].GS_set_nofocus
-    GS_set_nofocus.restype = None
-    GS_set_nofocus.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 184
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_infocus'):
-    GS_set_infocus = _libs['grass_ogsf.7.0.svn'].GS_set_infocus
-    GS_set_infocus.restype = None
-    GS_set_infocus.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 185
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_viewport'):
-    GS_set_viewport = _libs['grass_ogsf.7.0.svn'].GS_set_viewport
-    GS_set_viewport.restype = None
-    GS_set_viewport.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 186
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_look_here'):
-    GS_look_here = _libs['grass_ogsf.7.0.svn'].GS_look_here
-    GS_look_here.restype = c_int
-    GS_look_here.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 187
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_selected_point_on_surface'):
-    GS_get_selected_point_on_surface = _libs['grass_ogsf.7.0.svn'].GS_get_selected_point_on_surface
-    GS_get_selected_point_on_surface.restype = c_int
-    GS_get_selected_point_on_surface.argtypes = [c_int, c_int, POINTER(c_int), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 189
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_cplane_rot'):
-    GS_set_cplane_rot = _libs['grass_ogsf.7.0.svn'].GS_set_cplane_rot
-    GS_set_cplane_rot.restype = None
-    GS_set_cplane_rot.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 190
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_cplane_trans'):
-    GS_set_cplane_trans = _libs['grass_ogsf.7.0.svn'].GS_set_cplane_trans
-    GS_set_cplane_trans.restype = None
-    GS_set_cplane_trans.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 191
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_cplane'):
-    GS_draw_cplane = _libs['grass_ogsf.7.0.svn'].GS_draw_cplane
-    GS_draw_cplane.restype = None
-    GS_draw_cplane.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 192
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_cplane_fence'):
-    GS_draw_cplane_fence = _libs['grass_ogsf.7.0.svn'].GS_draw_cplane_fence
-    GS_draw_cplane_fence.restype = c_int
-    GS_draw_cplane_fence.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 193
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_alldraw_cplane_fences'):
-    GS_alldraw_cplane_fences = _libs['grass_ogsf.7.0.svn'].GS_alldraw_cplane_fences
-    GS_alldraw_cplane_fences.restype = None
-    GS_alldraw_cplane_fences.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 194
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_cplane'):
-    GS_set_cplane = _libs['grass_ogsf.7.0.svn'].GS_set_cplane
-    GS_set_cplane.restype = None
-    GS_set_cplane.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 195
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_unset_cplane'):
-    GS_unset_cplane = _libs['grass_ogsf.7.0.svn'].GS_unset_cplane
-    GS_unset_cplane.restype = None
-    GS_unset_cplane.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 196
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_scale'):
-    GS_get_scale = _libs['grass_ogsf.7.0.svn'].GS_get_scale
-    GS_get_scale.restype = None
-    GS_get_scale.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 197
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_fencecolor'):
-    GS_set_fencecolor = _libs['grass_ogsf.7.0.svn'].GS_set_fencecolor
-    GS_set_fencecolor.restype = None
-    GS_set_fencecolor.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 198
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_fencecolor'):
-    GS_get_fencecolor = _libs['grass_ogsf.7.0.svn'].GS_get_fencecolor
-    GS_get_fencecolor.restype = c_int
-    GS_get_fencecolor.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 199
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_distance_alongsurf'):
-    GS_get_distance_alongsurf = _libs['grass_ogsf.7.0.svn'].GS_get_distance_alongsurf
-    GS_get_distance_alongsurf.restype = c_int
-    GS_get_distance_alongsurf.argtypes = [c_int, c_float, c_float, c_float, c_float, POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 200
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_save_3dview'):
-    GS_save_3dview = _libs['grass_ogsf.7.0.svn'].GS_save_3dview
-    GS_save_3dview.restype = c_int
-    GS_save_3dview.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 201
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_load_3dview'):
-    GS_load_3dview = _libs['grass_ogsf.7.0.svn'].GS_load_3dview
-    GS_load_3dview.restype = c_int
-    GS_load_3dview.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 202
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_init_view'):
-    GS_init_view = _libs['grass_ogsf.7.0.svn'].GS_init_view
-    GS_init_view.restype = None
-    GS_init_view.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 203
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_clear'):
-    GS_clear = _libs['grass_ogsf.7.0.svn'].GS_clear
-    GS_clear.restype = None
-    GS_clear.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 204
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_aspect'):
-    GS_get_aspect = _libs['grass_ogsf.7.0.svn'].GS_get_aspect
-    GS_get_aspect.restype = c_double
-    GS_get_aspect.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 205
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_has_transparency'):
-    GS_has_transparency = _libs['grass_ogsf.7.0.svn'].GS_has_transparency
-    GS_has_transparency.restype = c_int
-    GS_has_transparency.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 206
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_zoom_setup'):
-    GS_zoom_setup = _libs['grass_ogsf.7.0.svn'].GS_zoom_setup
-    GS_zoom_setup.restype = None
-    GS_zoom_setup.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 207
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_write_zoom'):
-    GS_write_zoom = _libs['grass_ogsf.7.0.svn'].GS_write_zoom
-    GS_write_zoom.restype = c_int
-    GS_write_zoom.argtypes = [String, c_uint, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 208
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_all_list'):
-    GS_draw_all_list = _libs['grass_ogsf.7.0.svn'].GS_draw_all_list
-    GS_draw_all_list.restype = None
-    GS_draw_all_list.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 209
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_delete_list'):
-    GS_delete_list = _libs['grass_ogsf.7.0.svn'].GS_delete_list
-    GS_delete_list.restype = None
-    GS_delete_list.argtypes = [GLuint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 210
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_legend'):
-    GS_draw_legend = _libs['grass_ogsf.7.0.svn'].GS_draw_legend
-    GS_draw_legend.restype = c_int
-    GS_draw_legend.argtypes = [String, GLuint, c_int, POINTER(c_int), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 211
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_fringe'):
-    GS_draw_fringe = _libs['grass_ogsf.7.0.svn'].GS_draw_fringe
-    GS_draw_fringe.restype = None
-    GS_draw_fringe.argtypes = [c_int, c_ulong, c_float, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 212
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_getlight_position'):
-    GS_getlight_position = _libs['grass_ogsf.7.0.svn'].GS_getlight_position
-    GS_getlight_position.restype = None
-    GS_getlight_position.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 213
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_getlight_color'):
-    GS_getlight_color = _libs['grass_ogsf.7.0.svn'].GS_getlight_color
-    GS_getlight_color.restype = None
-    GS_getlight_color.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 214
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_getlight_ambient'):
-    GS_getlight_ambient = _libs['grass_ogsf.7.0.svn'].GS_getlight_ambient
-    GS_getlight_ambient.restype = None
-    GS_getlight_ambient.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 217
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_check_cancel'):
-    GS_check_cancel = _libs['grass_ogsf.7.0.svn'].GS_check_cancel
-    GS_check_cancel.restype = c_int
-    GS_check_cancel.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 218
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_cancel'):
-    GS_set_cancel = _libs['grass_ogsf.7.0.svn'].GS_set_cancel
-    GS_set_cancel.restype = None
-    GS_set_cancel.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 219
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_cxl_func'):
-    GS_set_cxl_func = _libs['grass_ogsf.7.0.svn'].GS_set_cxl_func
-    GS_set_cxl_func.restype = None
-    GS_set_cxl_func.argtypes = [CFUNCTYPE(UNCHECKED(None), )]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 220
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_swap_func'):
-    GS_set_swap_func = _libs['grass_ogsf.7.0.svn'].GS_set_swap_func
-    GS_set_swap_func.restype = None
-    GS_set_swap_func.argtypes = [CFUNCTYPE(UNCHECKED(None), )]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 223
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_geodistance'):
-    GS_geodistance = _libs['grass_ogsf.7.0.svn'].GS_geodistance
-    GS_geodistance.restype = c_double
-    GS_geodistance.argtypes = [POINTER(c_double), POINTER(c_double), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 224
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_distance'):
-    GS_distance = _libs['grass_ogsf.7.0.svn'].GS_distance
-    GS_distance.restype = c_float
-    GS_distance.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 225
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_P2distance'):
-    GS_P2distance = _libs['grass_ogsf.7.0.svn'].GS_P2distance
-    GS_P2distance.restype = c_float
-    GS_P2distance.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 226
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3eq'):
-    GS_v3eq = _libs['grass_ogsf.7.0.svn'].GS_v3eq
-    GS_v3eq.restype = None
-    GS_v3eq.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 227
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3add'):
-    GS_v3add = _libs['grass_ogsf.7.0.svn'].GS_v3add
-    GS_v3add.restype = None
-    GS_v3add.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 228
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3sub'):
-    GS_v3sub = _libs['grass_ogsf.7.0.svn'].GS_v3sub
-    GS_v3sub.restype = None
-    GS_v3sub.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 229
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3mult'):
-    GS_v3mult = _libs['grass_ogsf.7.0.svn'].GS_v3mult
-    GS_v3mult.restype = None
-    GS_v3mult.argtypes = [POINTER(c_float), c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 230
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3norm'):
-    GS_v3norm = _libs['grass_ogsf.7.0.svn'].GS_v3norm
-    GS_v3norm.restype = c_int
-    GS_v3norm.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 231
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v2norm'):
-    GS_v2norm = _libs['grass_ogsf.7.0.svn'].GS_v2norm
-    GS_v2norm.restype = c_int
-    GS_v2norm.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 232
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_dv3norm'):
-    GS_dv3norm = _libs['grass_ogsf.7.0.svn'].GS_dv3norm
-    GS_dv3norm.restype = c_int
-    GS_dv3norm.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 233
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3normalize'):
-    GS_v3normalize = _libs['grass_ogsf.7.0.svn'].GS_v3normalize
-    GS_v3normalize.restype = c_int
-    GS_v3normalize.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 234
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3dir'):
-    GS_v3dir = _libs['grass_ogsf.7.0.svn'].GS_v3dir
-    GS_v3dir.restype = c_int
-    GS_v3dir.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 235
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v2dir'):
-    GS_v2dir = _libs['grass_ogsf.7.0.svn'].GS_v2dir
-    GS_v2dir.restype = None
-    GS_v2dir.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 236
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3cross'):
-    GS_v3cross = _libs['grass_ogsf.7.0.svn'].GS_v3cross
-    GS_v3cross.restype = None
-    GS_v3cross.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 237
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3mag'):
-    GS_v3mag = _libs['grass_ogsf.7.0.svn'].GS_v3mag
-    GS_v3mag.restype = None
-    GS_v3mag.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 238
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_coordpair_repeats'):
-    GS_coordpair_repeats = _libs['grass_ogsf.7.0.svn'].GS_coordpair_repeats
-    GS_coordpair_repeats.restype = c_int
-    GS_coordpair_repeats.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 241
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_vect_exists'):
-    GV_vect_exists = _libs['grass_ogsf.7.0.svn'].GV_vect_exists
-    GV_vect_exists.restype = c_int
-    GV_vect_exists.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 242
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_new_vector'):
-    GV_new_vector = _libs['grass_ogsf.7.0.svn'].GV_new_vector
-    GV_new_vector.restype = c_int
-    GV_new_vector.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 243
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_num_vects'):
-    GV_num_vects = _libs['grass_ogsf.7.0.svn'].GV_num_vects
-    GV_num_vects.restype = c_int
-    GV_num_vects.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 244
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_get_vect_list'):
-    GV_get_vect_list = _libs['grass_ogsf.7.0.svn'].GV_get_vect_list
-    GV_get_vect_list.restype = POINTER(c_int)
-    GV_get_vect_list.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 245
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_delete_vector'):
-    GV_delete_vector = _libs['grass_ogsf.7.0.svn'].GV_delete_vector
-    GV_delete_vector.restype = c_int
-    GV_delete_vector.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 246
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_load_vector'):
-    GV_load_vector = _libs['grass_ogsf.7.0.svn'].GV_load_vector
-    GV_load_vector.restype = c_int
-    GV_load_vector.argtypes = [c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 247
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_get_vectname'):
-    GV_get_vectname = _libs['grass_ogsf.7.0.svn'].GV_get_vectname
-    GV_get_vectname.restype = c_int
-    GV_get_vectname.argtypes = [c_int, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 248
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_set_style'):
-    GV_set_style = _libs['grass_ogsf.7.0.svn'].GV_set_style
-    GV_set_style.restype = c_int
-    GV_set_style.argtypes = [c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 249
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_get_style'):
-    GV_get_style = _libs['grass_ogsf.7.0.svn'].GV_get_style
-    GV_get_style.restype = c_int
-    GV_get_style.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 250
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_set_style_thematic'):
-    GV_set_style_thematic = _libs['grass_ogsf.7.0.svn'].GV_set_style_thematic
-    GV_set_style_thematic.restype = c_int
-    GV_set_style_thematic.argtypes = [c_int, c_int, String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 251
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_unset_style_thematic'):
-    GV_unset_style_thematic = _libs['grass_ogsf.7.0.svn'].GV_unset_style_thematic
-    GV_unset_style_thematic.restype = c_int
-    GV_unset_style_thematic.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 252
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_set_trans'):
-    GV_set_trans = _libs['grass_ogsf.7.0.svn'].GV_set_trans
-    GV_set_trans.restype = None
-    GV_set_trans.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 253
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_get_trans'):
-    GV_get_trans = _libs['grass_ogsf.7.0.svn'].GV_get_trans
-    GV_get_trans.restype = c_int
-    GV_get_trans.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 254
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_select_surf'):
-    GV_select_surf = _libs['grass_ogsf.7.0.svn'].GV_select_surf
-    GV_select_surf.restype = c_int
-    GV_select_surf.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 255
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_unselect_surf'):
-    GV_unselect_surf = _libs['grass_ogsf.7.0.svn'].GV_unselect_surf
-    GV_unselect_surf.restype = c_int
-    GV_unselect_surf.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 256
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_surf_is_selected'):
-    GV_surf_is_selected = _libs['grass_ogsf.7.0.svn'].GV_surf_is_selected
-    GV_surf_is_selected.restype = c_int
-    GV_surf_is_selected.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 257
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_draw_vect'):
-    GV_draw_vect = _libs['grass_ogsf.7.0.svn'].GV_draw_vect
-    GV_draw_vect.restype = None
-    GV_draw_vect.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 258
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_alldraw_vect'):
-    GV_alldraw_vect = _libs['grass_ogsf.7.0.svn'].GV_alldraw_vect
-    GV_alldraw_vect.restype = None
-    GV_alldraw_vect.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 259
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_alldraw_fastvect'):
-    GV_alldraw_fastvect = _libs['grass_ogsf.7.0.svn'].GV_alldraw_fastvect
-    GV_alldraw_fastvect.restype = None
-    GV_alldraw_fastvect.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 260
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_draw_fastvect'):
-    GV_draw_fastvect = _libs['grass_ogsf.7.0.svn'].GV_draw_fastvect
-    GV_draw_fastvect.restype = None
-    GV_draw_fastvect.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 261
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_Set_ClientData'):
-    GV_Set_ClientData = _libs['grass_ogsf.7.0.svn'].GV_Set_ClientData
-    GV_Set_ClientData.restype = c_int
-    GV_Set_ClientData.argtypes = [c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 262
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_Get_ClientData'):
-    GV_Get_ClientData = _libs['grass_ogsf.7.0.svn'].GV_Get_ClientData
-    GV_Get_ClientData.restype = POINTER(None)
-    GV_Get_ClientData.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 265
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_libinit'):
-    GVL_libinit = _libs['grass_ogsf.7.0.svn'].GVL_libinit
-    GVL_libinit.restype = None
-    GVL_libinit.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 266
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_get_region'):
-    GVL_get_region = _libs['grass_ogsf.7.0.svn'].GVL_get_region
-    GVL_get_region.restype = c_int
-    GVL_get_region.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 267
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_get_window'):
-    GVL_get_window = _libs['grass_ogsf.7.0.svn'].GVL_get_window
-    GVL_get_window.restype = POINTER(None)
-    GVL_get_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 268
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_vol_exists'):
-    GVL_vol_exists = _libs['grass_ogsf.7.0.svn'].GVL_vol_exists
-    GVL_vol_exists.restype = c_int
-    GVL_vol_exists.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 269
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_new_vol'):
-    GVL_new_vol = _libs['grass_ogsf.7.0.svn'].GVL_new_vol
-    GVL_new_vol.restype = c_int
-    GVL_new_vol.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 270
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_num_vols'):
-    GVL_num_vols = _libs['grass_ogsf.7.0.svn'].GVL_num_vols
-    GVL_num_vols.restype = c_int
-    GVL_num_vols.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 271
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_get_vol_list'):
-    GVL_get_vol_list = _libs['grass_ogsf.7.0.svn'].GVL_get_vol_list
-    GVL_get_vol_list.restype = POINTER(c_int)
-    GVL_get_vol_list.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 272
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_delete_vol'):
-    GVL_delete_vol = _libs['grass_ogsf.7.0.svn'].GVL_delete_vol
-    GVL_delete_vol.restype = c_int
-    GVL_delete_vol.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 273
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_load_vol'):
-    GVL_load_vol = _libs['grass_ogsf.7.0.svn'].GVL_load_vol
-    GVL_load_vol.restype = c_int
-    GVL_load_vol.argtypes = [c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 274
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_get_volname'):
-    GVL_get_volname = _libs['grass_ogsf.7.0.svn'].GVL_get_volname
-    GVL_get_volname.restype = c_int
-    GVL_get_volname.argtypes = [c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 275
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_set_trans'):
-    GVL_set_trans = _libs['grass_ogsf.7.0.svn'].GVL_set_trans
-    GVL_set_trans.restype = None
-    GVL_set_trans.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 276
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_get_trans'):
-    GVL_get_trans = _libs['grass_ogsf.7.0.svn'].GVL_get_trans
-    GVL_get_trans.restype = c_int
-    GVL_get_trans.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 277
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_draw_vol'):
-    GVL_draw_vol = _libs['grass_ogsf.7.0.svn'].GVL_draw_vol
-    GVL_draw_vol.restype = None
-    GVL_draw_vol.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 278
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_draw_wire'):
-    GVL_draw_wire = _libs['grass_ogsf.7.0.svn'].GVL_draw_wire
-    GVL_draw_wire.restype = None
-    GVL_draw_wire.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 279
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_alldraw_vol'):
-    GVL_alldraw_vol = _libs['grass_ogsf.7.0.svn'].GVL_alldraw_vol
-    GVL_alldraw_vol.restype = None
-    GVL_alldraw_vol.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 280
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_alldraw_wire'):
-    GVL_alldraw_wire = _libs['grass_ogsf.7.0.svn'].GVL_alldraw_wire
-    GVL_alldraw_wire.restype = None
-    GVL_alldraw_wire.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 281
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_Set_ClientData'):
-    GVL_Set_ClientData = _libs['grass_ogsf.7.0.svn'].GVL_Set_ClientData
-    GVL_Set_ClientData.restype = c_int
-    GVL_Set_ClientData.argtypes = [c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 282
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_Get_ClientData'):
-    GVL_Get_ClientData = _libs['grass_ogsf.7.0.svn'].GVL_Get_ClientData
-    GVL_Get_ClientData.restype = POINTER(None)
-    GVL_Get_ClientData.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 283
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_get_dims'):
-    GVL_get_dims = _libs['grass_ogsf.7.0.svn'].GVL_get_dims
-    GVL_get_dims.restype = None
-    GVL_get_dims.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 284
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_set_focus_center_map'):
-    GVL_set_focus_center_map = _libs['grass_ogsf.7.0.svn'].GVL_set_focus_center_map
-    GVL_set_focus_center_map.restype = None
-    GVL_set_focus_center_map.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 286
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_move_up'):
-    GVL_isosurf_move_up = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_move_up
-    GVL_isosurf_move_up.restype = c_int
-    GVL_isosurf_move_up.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 287
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_move_down'):
-    GVL_isosurf_move_down = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_move_down
-    GVL_isosurf_move_down.restype = c_int
-    GVL_isosurf_move_down.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 288
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_get_drawres'):
-    GVL_isosurf_get_drawres = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_get_drawres
-    GVL_isosurf_get_drawres.restype = None
-    GVL_isosurf_get_drawres.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 289
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_set_drawres'):
-    GVL_isosurf_set_drawres = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_set_drawres
-    GVL_isosurf_set_drawres.restype = c_int
-    GVL_isosurf_set_drawres.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 290
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_get_drawmode'):
-    GVL_isosurf_get_drawmode = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_get_drawmode
-    GVL_isosurf_get_drawmode.restype = c_int
-    GVL_isosurf_get_drawmode.argtypes = [c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 291
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_set_drawmode'):
-    GVL_isosurf_set_drawmode = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_set_drawmode
-    GVL_isosurf_set_drawmode.restype = c_int
-    GVL_isosurf_set_drawmode.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 292
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_add'):
-    GVL_isosurf_add = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_add
-    GVL_isosurf_add.restype = c_int
-    GVL_isosurf_add.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 293
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_del'):
-    GVL_isosurf_del = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_del
-    GVL_isosurf_del.restype = c_int
-    GVL_isosurf_del.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 294
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_get_att'):
-    GVL_isosurf_get_att = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_get_att
-    GVL_isosurf_get_att.restype = c_int
-    GVL_isosurf_get_att.argtypes = [c_int, c_int, c_int, POINTER(c_int), POINTER(c_float), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 295
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_unset_att'):
-    GVL_isosurf_unset_att = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_unset_att
-    GVL_isosurf_unset_att.restype = c_int
-    GVL_isosurf_unset_att.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 296
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_set_att_const'):
-    GVL_isosurf_set_att_const = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_set_att_const
-    GVL_isosurf_set_att_const.restype = c_int
-    GVL_isosurf_set_att_const.argtypes = [c_int, c_int, c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 297
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_set_att_map'):
-    GVL_isosurf_set_att_map = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_set_att_map
-    GVL_isosurf_set_att_map.restype = c_int
-    GVL_isosurf_set_att_map.argtypes = [c_int, c_int, c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 298
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_get_flags'):
-    GVL_isosurf_get_flags = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_get_flags
-    GVL_isosurf_get_flags.restype = c_int
-    GVL_isosurf_get_flags.argtypes = [c_int, c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 299
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_set_flags'):
-    GVL_isosurf_set_flags = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_set_flags
-    GVL_isosurf_set_flags.restype = c_int
-    GVL_isosurf_set_flags.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 300
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_num_isosurfs'):
-    GVL_isosurf_num_isosurfs = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_num_isosurfs
-    GVL_isosurf_num_isosurfs.restype = c_int
-    GVL_isosurf_num_isosurfs.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 301
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_set_maskmode'):
-    GVL_isosurf_set_maskmode = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_set_maskmode
-    GVL_isosurf_set_maskmode.restype = c_int
-    GVL_isosurf_set_maskmode.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 302
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_get_maskmode'):
-    GVL_isosurf_get_maskmode = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_get_maskmode
-    GVL_isosurf_get_maskmode.restype = c_int
-    GVL_isosurf_get_maskmode.argtypes = [c_int, c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 304
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_move_up'):
-    GVL_slice_move_up = _libs['grass_ogsf.7.0.svn'].GVL_slice_move_up
-    GVL_slice_move_up.restype = c_int
-    GVL_slice_move_up.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 305
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_move_down'):
-    GVL_slice_move_down = _libs['grass_ogsf.7.0.svn'].GVL_slice_move_down
-    GVL_slice_move_down.restype = c_int
-    GVL_slice_move_down.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 306
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_get_drawres'):
-    GVL_slice_get_drawres = _libs['grass_ogsf.7.0.svn'].GVL_slice_get_drawres
-    GVL_slice_get_drawres.restype = None
-    GVL_slice_get_drawres.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 307
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_get_transp'):
-    GVL_slice_get_transp = _libs['grass_ogsf.7.0.svn'].GVL_slice_get_transp
-    GVL_slice_get_transp.restype = c_int
-    GVL_slice_get_transp.argtypes = [c_int, c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 308
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_set_transp'):
-    GVL_slice_set_transp = _libs['grass_ogsf.7.0.svn'].GVL_slice_set_transp
-    GVL_slice_set_transp.restype = c_int
-    GVL_slice_set_transp.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 309
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_set_drawres'):
-    GVL_slice_set_drawres = _libs['grass_ogsf.7.0.svn'].GVL_slice_set_drawres
-    GVL_slice_set_drawres.restype = c_int
-    GVL_slice_set_drawres.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 310
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_get_drawmode'):
-    GVL_slice_get_drawmode = _libs['grass_ogsf.7.0.svn'].GVL_slice_get_drawmode
-    GVL_slice_get_drawmode.restype = c_int
-    GVL_slice_get_drawmode.argtypes = [c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 311
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_set_drawmode'):
-    GVL_slice_set_drawmode = _libs['grass_ogsf.7.0.svn'].GVL_slice_set_drawmode
-    GVL_slice_set_drawmode.restype = c_int
-    GVL_slice_set_drawmode.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 312
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_add'):
-    GVL_slice_add = _libs['grass_ogsf.7.0.svn'].GVL_slice_add
-    GVL_slice_add.restype = c_int
-    GVL_slice_add.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 313
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_del'):
-    GVL_slice_del = _libs['grass_ogsf.7.0.svn'].GVL_slice_del
-    GVL_slice_del.restype = c_int
-    GVL_slice_del.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 314
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_num_slices'):
-    GVL_slice_num_slices = _libs['grass_ogsf.7.0.svn'].GVL_slice_num_slices
-    GVL_slice_num_slices.restype = c_int
-    GVL_slice_num_slices.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 315
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_get_pos'):
-    GVL_slice_get_pos = _libs['grass_ogsf.7.0.svn'].GVL_slice_get_pos
-    GVL_slice_get_pos.restype = c_int
-    GVL_slice_get_pos.argtypes = [c_int, c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 317
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_set_pos'):
-    GVL_slice_set_pos = _libs['grass_ogsf.7.0.svn'].GVL_slice_set_pos
-    GVL_slice_set_pos.restype = c_int
-    GVL_slice_set_pos.argtypes = [c_int, c_int, c_float, c_float, c_float, c_float, c_float, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 321
-for _lib in _libs.values():
-    if hasattr(_lib, 'Gp_set_color'):
-        Gp_set_color = _lib.Gp_set_color
-        Gp_set_color.restype = c_int
-        Gp_set_color.argtypes = [String, POINTER(geopoint)]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 322
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gp_load_sites'):
-    Gp_load_sites = _libs['grass_ogsf.7.0.svn'].Gp_load_sites
-    Gp_load_sites.restype = POINTER(geopoint)
-    Gp_load_sites.argtypes = [String, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 323
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gp_load_sites_thematic'):
-    Gp_load_sites_thematic = _libs['grass_ogsf.7.0.svn'].Gp_load_sites_thematic
-    Gp_load_sites_thematic.restype = c_int
-    Gp_load_sites_thematic.argtypes = [POINTER(geosite), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 326
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_distance'):
-    Gs_distance = _libs['grass_ogsf.7.0.svn'].Gs_distance
-    Gs_distance.restype = c_double
-    Gs_distance.argtypes = [POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 327
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_loadmap_as_float'):
-    Gs_loadmap_as_float = _libs['grass_ogsf.7.0.svn'].Gs_loadmap_as_float
-    Gs_loadmap_as_float.restype = c_int
-    Gs_loadmap_as_float.argtypes = [POINTER(struct_Cell_head), String, POINTER(c_float), POINTER(struct_BM), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 329
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_loadmap_as_int'):
-    Gs_loadmap_as_int = _libs['grass_ogsf.7.0.svn'].Gs_loadmap_as_int
-    Gs_loadmap_as_int.restype = c_int
-    Gs_loadmap_as_int.argtypes = [POINTER(struct_Cell_head), String, POINTER(c_int), POINTER(struct_BM), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 331
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_numtype'):
-    Gs_numtype = _libs['grass_ogsf.7.0.svn'].Gs_numtype
-    Gs_numtype.restype = c_int
-    Gs_numtype.argtypes = [String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 332
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_loadmap_as_short'):
-    Gs_loadmap_as_short = _libs['grass_ogsf.7.0.svn'].Gs_loadmap_as_short
-    Gs_loadmap_as_short.restype = c_int
-    Gs_loadmap_as_short.argtypes = [POINTER(struct_Cell_head), String, POINTER(c_short), POINTER(struct_BM), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 334
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_loadmap_as_char'):
-    Gs_loadmap_as_char = _libs['grass_ogsf.7.0.svn'].Gs_loadmap_as_char
-    Gs_loadmap_as_char.restype = c_int
-    Gs_loadmap_as_char.argtypes = [POINTER(struct_Cell_head), String, POINTER(c_ubyte), POINTER(struct_BM), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 336
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_loadmap_as_bitmap'):
-    Gs_loadmap_as_bitmap = _libs['grass_ogsf.7.0.svn'].Gs_loadmap_as_bitmap
-    Gs_loadmap_as_bitmap.restype = c_int
-    Gs_loadmap_as_bitmap.argtypes = [POINTER(struct_Cell_head), String, POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 337
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_build_256lookup'):
-    Gs_build_256lookup = _libs['grass_ogsf.7.0.svn'].Gs_build_256lookup
-    Gs_build_256lookup.restype = c_int
-    Gs_build_256lookup.argtypes = [String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 338
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_pack_colors'):
-    Gs_pack_colors = _libs['grass_ogsf.7.0.svn'].Gs_pack_colors
-    Gs_pack_colors.restype = None
-    Gs_pack_colors.argtypes = [String, POINTER(c_int), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 339
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_pack_colors_float'):
-    Gs_pack_colors_float = _libs['grass_ogsf.7.0.svn'].Gs_pack_colors_float
-    Gs_pack_colors_float.restype = None
-    Gs_pack_colors_float.argtypes = [String, POINTER(c_float), POINTER(c_int), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 340
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_get_cat_label'):
-    Gs_get_cat_label = _libs['grass_ogsf.7.0.svn'].Gs_get_cat_label
-    Gs_get_cat_label.restype = c_int
-    Gs_get_cat_label.argtypes = [String, c_int, c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 341
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_save_3dview'):
-    Gs_save_3dview = _libs['grass_ogsf.7.0.svn'].Gs_save_3dview
-    Gs_save_3dview.restype = c_int
-    Gs_save_3dview.argtypes = [String, POINTER(geoview), POINTER(geodisplay), POINTER(struct_Cell_head), POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 343
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_load_3dview'):
-    Gs_load_3dview = _libs['grass_ogsf.7.0.svn'].Gs_load_3dview
-    Gs_load_3dview.restype = c_int
-    Gs_load_3dview.argtypes = [String, POINTER(geoview), POINTER(geodisplay), POINTER(struct_Cell_head), POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 345
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_update_attrange'):
-    Gs_update_attrange = _libs['grass_ogsf.7.0.svn'].Gs_update_attrange
-    Gs_update_attrange.restype = c_int
-    Gs_update_attrange.argtypes = [POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 348
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gv_load_vect'):
-    Gv_load_vect = _libs['grass_ogsf.7.0.svn'].Gv_load_vect
-    Gv_load_vect.restype = POINTER(geoline)
-    Gv_load_vect.argtypes = [String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 349
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gv_load_vect_thematic'):
-    Gv_load_vect_thematic = _libs['grass_ogsf.7.0.svn'].Gv_load_vect_thematic
-    Gv_load_vect_thematic.restype = c_int
-    Gv_load_vect_thematic.argtypes = [POINTER(geovect), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 350
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'sub_Vectmem'):
-    sub_Vectmem = _libs['grass_ogsf.7.0.svn'].sub_Vectmem
-    sub_Vectmem.restype = None
-    sub_Vectmem.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 353
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_copy_key'):
-    gk_copy_key = _libs['grass_ogsf.7.0.svn'].gk_copy_key
-    gk_copy_key.restype = POINTER(Keylist)
-    gk_copy_key.argtypes = [POINTER(Keylist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 354
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_get_mask_sofar'):
-    gk_get_mask_sofar = _libs['grass_ogsf.7.0.svn'].gk_get_mask_sofar
-    gk_get_mask_sofar.restype = c_ulong
-    gk_get_mask_sofar.argtypes = [c_float, POINTER(Keylist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 355
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_viable_keys_for_mask'):
-    gk_viable_keys_for_mask = _libs['grass_ogsf.7.0.svn'].gk_viable_keys_for_mask
-    gk_viable_keys_for_mask.restype = c_int
-    gk_viable_keys_for_mask.argtypes = [c_ulong, POINTER(Keylist), POINTER(POINTER(Keylist))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 356
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_follow_frames'):
-    gk_follow_frames = _libs['grass_ogsf.7.0.svn'].gk_follow_frames
-    gk_follow_frames.restype = None
-    gk_follow_frames.argtypes = [POINTER(Viewnode), c_int, POINTER(Keylist), c_int, c_int, c_int, c_ulong]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 358
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_free_key'):
-    gk_free_key = _libs['grass_ogsf.7.0.svn'].gk_free_key
-    gk_free_key.restype = None
-    gk_free_key.argtypes = [POINTER(Keylist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 359
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_make_framesfromkeys'):
-    gk_make_framesfromkeys = _libs['grass_ogsf.7.0.svn'].gk_make_framesfromkeys
-    gk_make_framesfromkeys.restype = POINTER(Viewnode)
-    gk_make_framesfromkeys.argtypes = [POINTER(Keylist), c_int, c_int, c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 360
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_key_neighbors'):
-    get_key_neighbors = _libs['grass_ogsf.7.0.svn'].get_key_neighbors
-    get_key_neighbors.restype = c_double
-    get_key_neighbors.argtypes = [c_int, c_double, c_double, c_int, POINTER(POINTER(Keylist)), POINTER(POINTER(Keylist)), POINTER(POINTER(Keylist)), POINTER(POINTER(Keylist)), POINTER(POINTER(Keylist)), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 363
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'lin_interp'):
-    lin_interp = _libs['grass_ogsf.7.0.svn'].lin_interp
-    lin_interp.restype = c_double
-    lin_interp.argtypes = [c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 364
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_2key_neighbors'):
-    get_2key_neighbors = _libs['grass_ogsf.7.0.svn'].get_2key_neighbors
-    get_2key_neighbors.restype = c_double
-    get_2key_neighbors.argtypes = [c_int, c_float, c_float, c_int, POINTER(POINTER(Keylist)), POINTER(POINTER(Keylist)), POINTER(POINTER(Keylist))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 366
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_make_linear_framesfromkeys'):
-    gk_make_linear_framesfromkeys = _libs['grass_ogsf.7.0.svn'].gk_make_linear_framesfromkeys
-    gk_make_linear_framesfromkeys.restype = POINTER(Viewnode)
-    gk_make_linear_framesfromkeys.argtypes = [POINTER(Keylist), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 367
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'correct_twist'):
-    correct_twist = _libs['grass_ogsf.7.0.svn'].correct_twist
-    correct_twist.restype = None
-    correct_twist.argtypes = [POINTER(Keylist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 368
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_draw_path'):
-    gk_draw_path = _libs['grass_ogsf.7.0.svn'].gk_draw_path
-    gk_draw_path.restype = c_int
-    gk_draw_path.argtypes = [POINTER(Viewnode), c_int, POINTER(Keylist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 371
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_get_site'):
-    gp_get_site = _libs['grass_ogsf.7.0.svn'].gp_get_site
-    gp_get_site.restype = POINTER(geosite)
-    gp_get_site.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 372
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_get_prev_site'):
-    gp_get_prev_site = _libs['grass_ogsf.7.0.svn'].gp_get_prev_site
-    gp_get_prev_site.restype = POINTER(geosite)
-    gp_get_prev_site.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 373
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_num_sites'):
-    gp_num_sites = _libs['grass_ogsf.7.0.svn'].gp_num_sites
-    gp_num_sites.restype = c_int
-    gp_num_sites.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 374
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_get_last_site'):
-    gp_get_last_site = _libs['grass_ogsf.7.0.svn'].gp_get_last_site
-    gp_get_last_site.restype = POINTER(geosite)
-    gp_get_last_site.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 375
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_get_new_site'):
-    gp_get_new_site = _libs['grass_ogsf.7.0.svn'].gp_get_new_site
-    gp_get_new_site.restype = POINTER(geosite)
-    gp_get_new_site.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 376
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_update_drapesurfs'):
-    gp_update_drapesurfs = _libs['grass_ogsf.7.0.svn'].gp_update_drapesurfs
-    gp_update_drapesurfs.restype = None
-    gp_update_drapesurfs.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 377
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_set_defaults'):
-    gp_set_defaults = _libs['grass_ogsf.7.0.svn'].gp_set_defaults
-    gp_set_defaults.restype = c_int
-    gp_set_defaults.argtypes = [POINTER(geosite)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 378
-for _lib in _libs.values():
-    if hasattr(_lib, 'print_site_fields'):
-        print_site_fields = _lib.print_site_fields
-        print_site_fields.restype = None
-        print_site_fields.argtypes = [POINTER(geosite)]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 379
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_init_site'):
-    gp_init_site = _libs['grass_ogsf.7.0.svn'].gp_init_site
-    gp_init_site.restype = c_int
-    gp_init_site.argtypes = [POINTER(geosite)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 380
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_delete_site'):
-    gp_delete_site = _libs['grass_ogsf.7.0.svn'].gp_delete_site
-    gp_delete_site.restype = None
-    gp_delete_site.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 381
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_free_site'):
-    gp_free_site = _libs['grass_ogsf.7.0.svn'].gp_free_site
-    gp_free_site.restype = c_int
-    gp_free_site.argtypes = [POINTER(geosite)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 382
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_free_sitemem'):
-    gp_free_sitemem = _libs['grass_ogsf.7.0.svn'].gp_free_sitemem
-    gp_free_sitemem.restype = None
-    gp_free_sitemem.argtypes = [POINTER(geosite)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 383
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_set_drapesurfs'):
-    gp_set_drapesurfs = _libs['grass_ogsf.7.0.svn'].gp_set_drapesurfs
-    gp_set_drapesurfs.restype = None
-    gp_set_drapesurfs.argtypes = [POINTER(geosite), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 386
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_point_in_region'):
-    gs_point_in_region = _libs['grass_ogsf.7.0.svn'].gs_point_in_region
-    gs_point_in_region.restype = c_int
-    gs_point_in_region.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 387
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gpd_obj'):
-    gpd_obj = _libs['grass_ogsf.7.0.svn'].gpd_obj
-    gpd_obj.restype = None
-    gpd_obj.argtypes = [POINTER(geosurf), POINTER(gvstyle), Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 388
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gpd_2dsite'):
-    gpd_2dsite = _libs['grass_ogsf.7.0.svn'].gpd_2dsite
-    gpd_2dsite.restype = c_int
-    gpd_2dsite.argtypes = [POINTER(geosite), POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 389
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gpd_3dsite'):
-    gpd_3dsite = _libs['grass_ogsf.7.0.svn'].gpd_3dsite
-    gpd_3dsite.restype = c_int
-    gpd_3dsite.argtypes = [POINTER(geosite), c_float, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 392
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_err'):
-    gs_err = _libs['grass_ogsf.7.0.svn'].gs_err
-    gs_err.restype = None
-    gs_err.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 393
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_init'):
-    gs_init = _libs['grass_ogsf.7.0.svn'].gs_init
-    gs_init.restype = None
-    gs_init.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 394
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_surf'):
-    gs_get_surf = _libs['grass_ogsf.7.0.svn'].gs_get_surf
-    gs_get_surf.restype = POINTER(geosurf)
-    gs_get_surf.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 395
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_prev_surface'):
-    gs_get_prev_surface = _libs['grass_ogsf.7.0.svn'].gs_get_prev_surface
-    gs_get_prev_surface.restype = POINTER(geosurf)
-    gs_get_prev_surface.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 396
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_getall_surfaces'):
-    gs_getall_surfaces = _libs['grass_ogsf.7.0.svn'].gs_getall_surfaces
-    gs_getall_surfaces.restype = c_int
-    gs_getall_surfaces.argtypes = [POINTER(POINTER(geosurf))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 397
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_num_surfaces'):
-    gs_num_surfaces = _libs['grass_ogsf.7.0.svn'].gs_num_surfaces
-    gs_num_surfaces.restype = c_int
-    gs_num_surfaces.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 398
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_att_is_set'):
-    gs_att_is_set = _libs['grass_ogsf.7.0.svn'].gs_att_is_set
-    gs_att_is_set.restype = c_int
-    gs_att_is_set.argtypes = [POINTER(geosurf), c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 399
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_last_surface'):
-    gs_get_last_surface = _libs['grass_ogsf.7.0.svn'].gs_get_last_surface
-    gs_get_last_surface.restype = POINTER(geosurf)
-    gs_get_last_surface.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 400
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_new_surface'):
-    gs_get_new_surface = _libs['grass_ogsf.7.0.svn'].gs_get_new_surface
-    gs_get_new_surface.restype = POINTER(geosurf)
-    gs_get_new_surface.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 401
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_init_surf'):
-    gs_init_surf = _libs['grass_ogsf.7.0.svn'].gs_init_surf
-    gs_init_surf.restype = c_int
-    gs_init_surf.argtypes = [POINTER(geosurf), c_double, c_double, c_int, c_int, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 402
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_init_normbuff'):
-    gs_init_normbuff = _libs['grass_ogsf.7.0.svn'].gs_init_normbuff
-    gs_init_normbuff.restype = c_int
-    gs_init_normbuff.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 403
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_frto'):
-    print_frto = _libs['grass_ogsf.7.0.svn'].print_frto
-    print_frto.restype = None
-    print_frto.argtypes = [POINTER(c_float * 4)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 404
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_realto'):
-    print_realto = _libs['grass_ogsf.7.0.svn'].print_realto
-    print_realto.restype = None
-    print_realto.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 405
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_256lookup'):
-    print_256lookup = _libs['grass_ogsf.7.0.svn'].print_256lookup
-    print_256lookup.restype = None
-    print_256lookup.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 406
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_surf_fields'):
-    print_surf_fields = _libs['grass_ogsf.7.0.svn'].print_surf_fields
-    print_surf_fields.restype = None
-    print_surf_fields.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 407
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_view_fields'):
-    print_view_fields = _libs['grass_ogsf.7.0.svn'].print_view_fields
-    print_view_fields.restype = None
-    print_view_fields.argtypes = [POINTER(geoview)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 408
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_set_defaults'):
-    gs_set_defaults = _libs['grass_ogsf.7.0.svn'].gs_set_defaults
-    gs_set_defaults.restype = None
-    gs_set_defaults.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 409
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_delete_surf'):
-    gs_delete_surf = _libs['grass_ogsf.7.0.svn'].gs_delete_surf
-    gs_delete_surf.restype = None
-    gs_delete_surf.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 410
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_free_surf'):
-    gs_free_surf = _libs['grass_ogsf.7.0.svn'].gs_free_surf
-    gs_free_surf.restype = c_int
-    gs_free_surf.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 411
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_free_unshared_buffs'):
-    gs_free_unshared_buffs = _libs['grass_ogsf.7.0.svn'].gs_free_unshared_buffs
-    gs_free_unshared_buffs.restype = None
-    gs_free_unshared_buffs.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 412
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_num_datah_reused'):
-    gs_num_datah_reused = _libs['grass_ogsf.7.0.svn'].gs_num_datah_reused
-    gs_num_datah_reused.restype = c_int
-    gs_num_datah_reused.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 413
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_att_type'):
-    gs_get_att_type = _libs['grass_ogsf.7.0.svn'].gs_get_att_type
-    gs_get_att_type.restype = c_int
-    gs_get_att_type.argtypes = [POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 414
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_att_src'):
-    gs_get_att_src = _libs['grass_ogsf.7.0.svn'].gs_get_att_src
-    gs_get_att_src.restype = c_int
-    gs_get_att_src.argtypes = [POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 415
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_att_typbuff'):
-    gs_get_att_typbuff = _libs['grass_ogsf.7.0.svn'].gs_get_att_typbuff
-    gs_get_att_typbuff.restype = POINTER(typbuff)
-    gs_get_att_typbuff.argtypes = [POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 416
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_malloc_att_buff'):
-    gs_malloc_att_buff = _libs['grass_ogsf.7.0.svn'].gs_malloc_att_buff
-    gs_malloc_att_buff.restype = c_int
-    gs_malloc_att_buff.argtypes = [POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 417
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_malloc_lookup'):
-    gs_malloc_lookup = _libs['grass_ogsf.7.0.svn'].gs_malloc_lookup
-    gs_malloc_lookup.restype = c_int
-    gs_malloc_lookup.argtypes = [POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 418
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_set_att_type'):
-    gs_set_att_type = _libs['grass_ogsf.7.0.svn'].gs_set_att_type
-    gs_set_att_type.restype = c_int
-    gs_set_att_type.argtypes = [POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 419
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_set_att_src'):
-    gs_set_att_src = _libs['grass_ogsf.7.0.svn'].gs_set_att_src
-    gs_set_att_src.restype = c_int
-    gs_set_att_src.argtypes = [POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 420
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_set_att_const'):
-    gs_set_att_const = _libs['grass_ogsf.7.0.svn'].gs_set_att_const
-    gs_set_att_const.restype = c_int
-    gs_set_att_const.argtypes = [POINTER(geosurf), c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 421
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_set_maskmode'):
-    gs_set_maskmode = _libs['grass_ogsf.7.0.svn'].gs_set_maskmode
-    gs_set_maskmode.restype = None
-    gs_set_maskmode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 422
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_mask_defined'):
-    gs_mask_defined = _libs['grass_ogsf.7.0.svn'].gs_mask_defined
-    gs_mask_defined.restype = c_int
-    gs_mask_defined.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 423
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_masked'):
-    gs_masked = _libs['grass_ogsf.7.0.svn'].gs_masked
-    gs_masked.restype = c_int
-    gs_masked.argtypes = [POINTER(typbuff), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 424
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_mapcolor'):
-    gs_mapcolor = _libs['grass_ogsf.7.0.svn'].gs_mapcolor
-    gs_mapcolor.restype = c_int
-    gs_mapcolor.argtypes = [POINTER(typbuff), POINTER(gsurf_att), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 425
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_zextents'):
-    gs_get_zextents = _libs['grass_ogsf.7.0.svn'].gs_get_zextents
-    gs_get_zextents.restype = c_int
-    gs_get_zextents.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 426
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_xextents'):
-    gs_get_xextents = _libs['grass_ogsf.7.0.svn'].gs_get_xextents
-    gs_get_xextents.restype = c_int
-    gs_get_xextents.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 427
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_yextents'):
-    gs_get_yextents = _libs['grass_ogsf.7.0.svn'].gs_get_yextents
-    gs_get_yextents.restype = c_int
-    gs_get_yextents.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 428
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_zrange0'):
-    gs_get_zrange0 = _libs['grass_ogsf.7.0.svn'].gs_get_zrange0
-    gs_get_zrange0.restype = c_int
-    gs_get_zrange0.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 429
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_zrange'):
-    gs_get_zrange = _libs['grass_ogsf.7.0.svn'].gs_get_zrange
-    gs_get_zrange.restype = c_int
-    gs_get_zrange.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 430
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_xrange'):
-    gs_get_xrange = _libs['grass_ogsf.7.0.svn'].gs_get_xrange
-    gs_get_xrange.restype = c_int
-    gs_get_xrange.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 431
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_yrange'):
-    gs_get_yrange = _libs['grass_ogsf.7.0.svn'].gs_get_yrange
-    gs_get_yrange.restype = c_int
-    gs_get_yrange.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 432
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_data_avg_zmax'):
-    gs_get_data_avg_zmax = _libs['grass_ogsf.7.0.svn'].gs_get_data_avg_zmax
-    gs_get_data_avg_zmax.restype = c_int
-    gs_get_data_avg_zmax.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 433
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_datacenter'):
-    gs_get_datacenter = _libs['grass_ogsf.7.0.svn'].gs_get_datacenter
-    gs_get_datacenter.restype = c_int
-    gs_get_datacenter.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 434
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_setall_norm_needupdate'):
-    gs_setall_norm_needupdate = _libs['grass_ogsf.7.0.svn'].gs_setall_norm_needupdate
-    gs_setall_norm_needupdate.restype = c_int
-    gs_setall_norm_needupdate.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 435
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_point_is_masked'):
-    gs_point_is_masked = _libs['grass_ogsf.7.0.svn'].gs_point_is_masked
-    gs_point_is_masked.restype = c_int
-    gs_point_is_masked.argtypes = [POINTER(geosurf), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 436
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_distance_onsurf'):
-    gs_distance_onsurf = _libs['grass_ogsf.7.0.svn'].gs_distance_onsurf
-    gs_distance_onsurf.restype = c_int
-    gs_distance_onsurf.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 439
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsbm_make_mask'):
-    gsbm_make_mask = _libs['grass_ogsf.7.0.svn'].gsbm_make_mask
-    gsbm_make_mask.restype = POINTER(struct_BM)
-    gsbm_make_mask.argtypes = [POINTER(typbuff), c_float, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 440
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsbm_zero_mask'):
-    gsbm_zero_mask = _libs['grass_ogsf.7.0.svn'].gsbm_zero_mask
-    gsbm_zero_mask.restype = None
-    gsbm_zero_mask.argtypes = [POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 441
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsbm_or_masks'):
-    gsbm_or_masks = _libs['grass_ogsf.7.0.svn'].gsbm_or_masks
-    gsbm_or_masks.restype = c_int
-    gsbm_or_masks.argtypes = [POINTER(struct_BM), POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 442
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsbm_ornot_masks'):
-    gsbm_ornot_masks = _libs['grass_ogsf.7.0.svn'].gsbm_ornot_masks
-    gsbm_ornot_masks.restype = c_int
-    gsbm_ornot_masks.argtypes = [POINTER(struct_BM), POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 443
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsbm_and_masks'):
-    gsbm_and_masks = _libs['grass_ogsf.7.0.svn'].gsbm_and_masks
-    gsbm_and_masks.restype = c_int
-    gsbm_and_masks.argtypes = [POINTER(struct_BM), POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 444
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsbm_xor_masks'):
-    gsbm_xor_masks = _libs['grass_ogsf.7.0.svn'].gsbm_xor_masks
-    gsbm_xor_masks.restype = c_int
-    gsbm_xor_masks.argtypes = [POINTER(struct_BM), POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 445
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_update_curmask'):
-    gs_update_curmask = _libs['grass_ogsf.7.0.svn'].gs_update_curmask
-    gs_update_curmask.restype = c_int
-    gs_update_curmask.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 446
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_bm'):
-    print_bm = _libs['grass_ogsf.7.0.svn'].print_bm
-    print_bm.restype = None
-    print_bm.argtypes = [POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 449
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'init_vars'):
-    init_vars = _libs['grass_ogsf.7.0.svn'].init_vars
-    init_vars.restype = None
-    init_vars.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 450
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_calc_normals'):
-    gs_calc_normals = _libs['grass_ogsf.7.0.svn'].gs_calc_normals
-    gs_calc_normals.restype = c_int
-    gs_calc_normals.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 451
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'calc_norm'):
-    calc_norm = _libs['grass_ogsf.7.0.svn'].calc_norm
-    calc_norm.restype = c_int
-    calc_norm.argtypes = [POINTER(geosurf), c_int, c_int, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 454
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_los_intersect1'):
-    gs_los_intersect1 = _libs['grass_ogsf.7.0.svn'].gs_los_intersect1
-    gs_los_intersect1.restype = c_int
-    gs_los_intersect1.argtypes = [c_int, POINTER(c_float * 3), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 455
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_los_intersect'):
-    gs_los_intersect = _libs['grass_ogsf.7.0.svn'].gs_los_intersect
-    gs_los_intersect.restype = c_int
-    gs_los_intersect.argtypes = [c_int, POINTER(POINTER(c_float)), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 456
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'RayCvxPolyhedronInt'):
-    RayCvxPolyhedronInt = _libs['grass_ogsf.7.0.svn'].RayCvxPolyhedronInt
-    RayCvxPolyhedronInt.restype = c_int
-    RayCvxPolyhedronInt.argtypes = [Point3, Point3, c_double, POINTER(Point4), c_int, POINTER(c_double), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 458
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_databounds_planes'):
-    gs_get_databounds_planes = _libs['grass_ogsf.7.0.svn'].gs_get_databounds_planes
-    gs_get_databounds_planes.restype = None
-    gs_get_databounds_planes.argtypes = [POINTER(Point4)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 459
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_setlos_enterdata'):
-    gs_setlos_enterdata = _libs['grass_ogsf.7.0.svn'].gs_setlos_enterdata
-    gs_setlos_enterdata.restype = c_int
-    gs_setlos_enterdata.argtypes = [POINTER(Point3)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 462
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_def_cplane'):
-    gsd_def_cplane = _libs['grass_ogsf.7.0.svn'].gsd_def_cplane
-    gsd_def_cplane.restype = None
-    gsd_def_cplane.argtypes = [c_int, POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 463
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_update_cplanes'):
-    gsd_update_cplanes = _libs['grass_ogsf.7.0.svn'].gsd_update_cplanes
-    gsd_update_cplanes.restype = None
-    gsd_update_cplanes.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 464
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_cplane_on'):
-    gsd_cplane_on = _libs['grass_ogsf.7.0.svn'].gsd_cplane_on
-    gsd_cplane_on.restype = None
-    gsd_cplane_on.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 465
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_cplane_off'):
-    gsd_cplane_off = _libs['grass_ogsf.7.0.svn'].gsd_cplane_off
-    gsd_cplane_off.restype = None
-    gsd_cplane_off.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 466
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_get_cplanes_state'):
-    gsd_get_cplanes_state = _libs['grass_ogsf.7.0.svn'].gsd_get_cplanes_state
-    gsd_get_cplanes_state.restype = None
-    gsd_get_cplanes_state.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 467
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_get_cplanes'):
-    gsd_get_cplanes = _libs['grass_ogsf.7.0.svn'].gsd_get_cplanes
-    gsd_get_cplanes.restype = c_int
-    gsd_get_cplanes.argtypes = [POINTER(Point4)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 468
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_update_cpnorm'):
-    gsd_update_cpnorm = _libs['grass_ogsf.7.0.svn'].gsd_update_cpnorm
-    gsd_update_cpnorm.restype = None
-    gsd_update_cpnorm.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 469
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_cplane_setrot'):
-    gsd_cplane_setrot = _libs['grass_ogsf.7.0.svn'].gsd_cplane_setrot
-    gsd_cplane_setrot.restype = None
-    gsd_cplane_setrot.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 470
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_cplane_settrans'):
-    gsd_cplane_settrans = _libs['grass_ogsf.7.0.svn'].gsd_cplane_settrans
-    gsd_cplane_settrans.restype = None
-    gsd_cplane_settrans.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 471
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_draw_cplane_fence'):
-    gsd_draw_cplane_fence = _libs['grass_ogsf.7.0.svn'].gsd_draw_cplane_fence
-    gsd_draw_cplane_fence.restype = None
-    gsd_draw_cplane_fence.argtypes = [POINTER(geosurf), POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 472
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_draw_cplane'):
-    gsd_draw_cplane = _libs['grass_ogsf.7.0.svn'].gsd_draw_cplane
-    gsd_draw_cplane.restype = None
-    gsd_draw_cplane.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 475
-for _lib in _libs.values():
-    if hasattr(_lib, 'gsd_set_font'):
-        gsd_set_font = _lib.gsd_set_font
-        gsd_set_font.restype = GLuint
-        gsd_set_font.argtypes = [String]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 476
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_get_txtwidth'):
-    gsd_get_txtwidth = _libs['grass_ogsf.7.0.svn'].gsd_get_txtwidth
-    gsd_get_txtwidth.restype = c_int
-    gsd_get_txtwidth.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 477
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_get_txtheight'):
-    gsd_get_txtheight = _libs['grass_ogsf.7.0.svn'].gsd_get_txtheight
-    gsd_get_txtheight.restype = c_int
-    gsd_get_txtheight.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 478
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'do_label_display'):
-    do_label_display = _libs['grass_ogsf.7.0.svn'].do_label_display
-    do_label_display.restype = None
-    do_label_display.argtypes = [GLuint, POINTER(c_float), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 479
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_txtdescender'):
-    get_txtdescender = _libs['grass_ogsf.7.0.svn'].get_txtdescender
-    get_txtdescender.restype = c_int
-    get_txtdescender.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 480
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_txtxoffset'):
-    get_txtxoffset = _libs['grass_ogsf.7.0.svn'].get_txtxoffset
-    get_txtxoffset.restype = c_int
-    get_txtxoffset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 483
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_write_ppm'):
-    GS_write_ppm = _libs['grass_ogsf.7.0.svn'].GS_write_ppm
-    GS_write_ppm.restype = c_int
-    GS_write_ppm.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 484
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_init_mpeg'):
-    gsd_init_mpeg = _libs['grass_ogsf.7.0.svn'].gsd_init_mpeg
-    gsd_init_mpeg.restype = c_int
-    gsd_init_mpeg.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 485
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_write_mpegframe'):
-    gsd_write_mpegframe = _libs['grass_ogsf.7.0.svn'].gsd_write_mpegframe
-    gsd_write_mpegframe.restype = c_int
-    gsd_write_mpegframe.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 486
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_close_mpeg'):
-    gsd_close_mpeg = _libs['grass_ogsf.7.0.svn'].gsd_close_mpeg
-    gsd_close_mpeg.restype = c_int
-    gsd_close_mpeg.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 489
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_write_tif'):
-    GS_write_tif = _libs['grass_ogsf.7.0.svn'].GS_write_tif
-    GS_write_tif.restype = c_int
-    GS_write_tif.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 492
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_put_label'):
-    gs_put_label = _libs['grass_ogsf.7.0.svn'].gs_put_label
-    gs_put_label.restype = None
-    gs_put_label.argtypes = [String, GLuint, c_int, c_ulong, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 493
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_remove_curr'):
-    gsd_remove_curr = _libs['grass_ogsf.7.0.svn'].gsd_remove_curr
-    gsd_remove_curr.restype = None
-    gsd_remove_curr.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 494
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_remove_all'):
-    gsd_remove_all = _libs['grass_ogsf.7.0.svn'].gsd_remove_all
-    gsd_remove_all.restype = None
-    gsd_remove_all.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 495
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_call_label'):
-    gsd_call_label = _libs['grass_ogsf.7.0.svn'].gsd_call_label
-    gsd_call_label.restype = None
-    gsd_call_label.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 498
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_box'):
-    gsd_box = _libs['grass_ogsf.7.0.svn'].gsd_box
-    gsd_box.restype = None
-    gsd_box.argtypes = [POINTER(c_float), c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 499
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_plus'):
-    gsd_plus = _libs['grass_ogsf.7.0.svn'].gsd_plus
-    gsd_plus.restype = None
-    gsd_plus.argtypes = [POINTER(c_float), c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 500
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_line_onsurf'):
-    gsd_line_onsurf = _libs['grass_ogsf.7.0.svn'].gsd_line_onsurf
-    gsd_line_onsurf.restype = None
-    gsd_line_onsurf.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 501
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_nline_onsurf'):
-    gsd_nline_onsurf = _libs['grass_ogsf.7.0.svn'].gsd_nline_onsurf
-    gsd_nline_onsurf.restype = c_int
-    gsd_nline_onsurf.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 502
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_x'):
-    gsd_x = _libs['grass_ogsf.7.0.svn'].gsd_x
-    gsd_x.restype = None
-    gsd_x.argtypes = [POINTER(geosurf), POINTER(c_float), c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 503
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_diamond'):
-    gsd_diamond = _libs['grass_ogsf.7.0.svn'].gsd_diamond
-    gsd_diamond.restype = None
-    gsd_diamond.argtypes = [POINTER(c_float), c_ulong, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 504
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_diamond_lines'):
-    gsd_diamond_lines = _libs['grass_ogsf.7.0.svn'].gsd_diamond_lines
-    gsd_diamond_lines.restype = None
-    gsd_diamond_lines.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 505
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_cube'):
-    gsd_cube = _libs['grass_ogsf.7.0.svn'].gsd_cube
-    gsd_cube.restype = None
-    gsd_cube.argtypes = [POINTER(c_float), c_ulong, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 506
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_draw_box'):
-    gsd_draw_box = _libs['grass_ogsf.7.0.svn'].gsd_draw_box
-    gsd_draw_box.restype = None
-    gsd_draw_box.argtypes = [POINTER(c_float), c_ulong, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 507
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_drawsphere'):
-    gsd_drawsphere = _libs['grass_ogsf.7.0.svn'].gsd_drawsphere
-    gsd_drawsphere.restype = None
-    gsd_drawsphere.argtypes = [POINTER(c_float), c_ulong, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 508
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_draw_asterisk'):
-    gsd_draw_asterisk = _libs['grass_ogsf.7.0.svn'].gsd_draw_asterisk
-    gsd_draw_asterisk.restype = None
-    gsd_draw_asterisk.argtypes = [POINTER(c_float), c_ulong, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 509
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_draw_gyro'):
-    gsd_draw_gyro = _libs['grass_ogsf.7.0.svn'].gsd_draw_gyro
-    gsd_draw_gyro.restype = None
-    gsd_draw_gyro.argtypes = [POINTER(c_float), c_ulong, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 510
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_3dcursor'):
-    gsd_3dcursor = _libs['grass_ogsf.7.0.svn'].gsd_3dcursor
-    gsd_3dcursor.restype = None
-    gsd_3dcursor.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 511
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'dir_to_slope_aspect'):
-    dir_to_slope_aspect = _libs['grass_ogsf.7.0.svn'].dir_to_slope_aspect
-    dir_to_slope_aspect.restype = None
-    dir_to_slope_aspect.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 512
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_north_arrow'):
-    gsd_north_arrow = _libs['grass_ogsf.7.0.svn'].gsd_north_arrow
-    gsd_north_arrow.restype = c_int
-    gsd_north_arrow.argtypes = [POINTER(c_float), c_float, GLuint, c_ulong, c_ulong]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 513
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_arrow'):
-    gsd_arrow = _libs['grass_ogsf.7.0.svn'].gsd_arrow
-    gsd_arrow.restype = c_int
-    gsd_arrow.argtypes = [POINTER(c_float), c_ulong, c_float, POINTER(c_float), c_float, POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 514
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_arrow_onsurf'):
-    gsd_arrow_onsurf = _libs['grass_ogsf.7.0.svn'].gsd_arrow_onsurf
-    gsd_arrow_onsurf.restype = c_int
-    gsd_arrow_onsurf.argtypes = [POINTER(c_float), POINTER(c_float), c_ulong, c_int, POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 515
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_3darrow'):
-    gsd_3darrow = _libs['grass_ogsf.7.0.svn'].gsd_3darrow
-    gsd_3darrow.restype = None
-    gsd_3darrow.argtypes = [POINTER(c_float), c_ulong, c_float, c_float, POINTER(c_float), c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 516
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_scalebar'):
-    gsd_scalebar = _libs['grass_ogsf.7.0.svn'].gsd_scalebar
-    gsd_scalebar.restype = c_int
-    gsd_scalebar.argtypes = [POINTER(c_float), c_float, GLuint, c_ulong, c_ulong]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 517
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_scalebar_v2'):
-    gsd_scalebar_v2 = _libs['grass_ogsf.7.0.svn'].gsd_scalebar_v2
-    gsd_scalebar_v2.restype = c_int
-    gsd_scalebar_v2.argtypes = [POINTER(c_float), c_float, GLuint, c_ulong, c_ulong]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 518
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'primitive_cone'):
-    primitive_cone = _libs['grass_ogsf.7.0.svn'].primitive_cone
-    primitive_cone.restype = None
-    primitive_cone.argtypes = [c_ulong]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 519
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'primitive_cylinder'):
-    primitive_cylinder = _libs['grass_ogsf.7.0.svn'].primitive_cylinder
-    primitive_cylinder.restype = None
-    primitive_cylinder.argtypes = [c_ulong, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 522
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_flush'):
-    gsd_flush = _libs['grass_ogsf.7.0.svn'].gsd_flush
-    gsd_flush.restype = None
-    gsd_flush.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 523
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_colormode'):
-    gsd_colormode = _libs['grass_ogsf.7.0.svn'].gsd_colormode
-    gsd_colormode.restype = None
-    gsd_colormode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 524
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'show_colormode'):
-    show_colormode = _libs['grass_ogsf.7.0.svn'].show_colormode
-    show_colormode.restype = None
-    show_colormode.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 525
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_circ'):
-    gsd_circ = _libs['grass_ogsf.7.0.svn'].gsd_circ
-    gsd_circ.restype = None
-    gsd_circ.argtypes = [c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 526
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_disc'):
-    gsd_disc = _libs['grass_ogsf.7.0.svn'].gsd_disc
-    gsd_disc.restype = None
-    gsd_disc.argtypes = [c_float, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 527
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_sphere'):
-    gsd_sphere = _libs['grass_ogsf.7.0.svn'].gsd_sphere
-    gsd_sphere.restype = None
-    gsd_sphere.argtypes = [POINTER(c_float), c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 528
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_zwritemask'):
-    gsd_zwritemask = _libs['grass_ogsf.7.0.svn'].gsd_zwritemask
-    gsd_zwritemask.restype = None
-    gsd_zwritemask.argtypes = [c_ulong]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 529
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_backface'):
-    gsd_backface = _libs['grass_ogsf.7.0.svn'].gsd_backface
-    gsd_backface.restype = None
-    gsd_backface.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 530
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_linewidth'):
-    gsd_linewidth = _libs['grass_ogsf.7.0.svn'].gsd_linewidth
-    gsd_linewidth.restype = None
-    gsd_linewidth.argtypes = [c_short]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 531
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgnqstrip'):
-    gsd_bgnqstrip = _libs['grass_ogsf.7.0.svn'].gsd_bgnqstrip
-    gsd_bgnqstrip.restype = None
-    gsd_bgnqstrip.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 532
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endqstrip'):
-    gsd_endqstrip = _libs['grass_ogsf.7.0.svn'].gsd_endqstrip
-    gsd_endqstrip.restype = None
-    gsd_endqstrip.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 533
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgntmesh'):
-    gsd_bgntmesh = _libs['grass_ogsf.7.0.svn'].gsd_bgntmesh
-    gsd_bgntmesh.restype = None
-    gsd_bgntmesh.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 534
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endtmesh'):
-    gsd_endtmesh = _libs['grass_ogsf.7.0.svn'].gsd_endtmesh
-    gsd_endtmesh.restype = None
-    gsd_endtmesh.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 535
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgntstrip'):
-    gsd_bgntstrip = _libs['grass_ogsf.7.0.svn'].gsd_bgntstrip
-    gsd_bgntstrip.restype = None
-    gsd_bgntstrip.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 536
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endtstrip'):
-    gsd_endtstrip = _libs['grass_ogsf.7.0.svn'].gsd_endtstrip
-    gsd_endtstrip.restype = None
-    gsd_endtstrip.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 537
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgntfan'):
-    gsd_bgntfan = _libs['grass_ogsf.7.0.svn'].gsd_bgntfan
-    gsd_bgntfan.restype = None
-    gsd_bgntfan.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 538
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endtfan'):
-    gsd_endtfan = _libs['grass_ogsf.7.0.svn'].gsd_endtfan
-    gsd_endtfan.restype = None
-    gsd_endtfan.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 539
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_swaptmesh'):
-    gsd_swaptmesh = _libs['grass_ogsf.7.0.svn'].gsd_swaptmesh
-    gsd_swaptmesh.restype = None
-    gsd_swaptmesh.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 540
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgnpolygon'):
-    gsd_bgnpolygon = _libs['grass_ogsf.7.0.svn'].gsd_bgnpolygon
-    gsd_bgnpolygon.restype = None
-    gsd_bgnpolygon.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 541
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endpolygon'):
-    gsd_endpolygon = _libs['grass_ogsf.7.0.svn'].gsd_endpolygon
-    gsd_endpolygon.restype = None
-    gsd_endpolygon.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 542
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgnline'):
-    gsd_bgnline = _libs['grass_ogsf.7.0.svn'].gsd_bgnline
-    gsd_bgnline.restype = None
-    gsd_bgnline.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 543
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endline'):
-    gsd_endline = _libs['grass_ogsf.7.0.svn'].gsd_endline
-    gsd_endline.restype = None
-    gsd_endline.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 544
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_shademodel'):
-    gsd_shademodel = _libs['grass_ogsf.7.0.svn'].gsd_shademodel
-    gsd_shademodel.restype = None
-    gsd_shademodel.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 545
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_getshademodel'):
-    gsd_getshademodel = _libs['grass_ogsf.7.0.svn'].gsd_getshademodel
-    gsd_getshademodel.restype = c_int
-    gsd_getshademodel.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 546
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bothbuffer'):
-    gsd_bothbuffer = _libs['grass_ogsf.7.0.svn'].gsd_bothbuffer
-    gsd_bothbuffer.restype = None
-    gsd_bothbuffer.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 547
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_frontbuffer'):
-    gsd_frontbuffer = _libs['grass_ogsf.7.0.svn'].gsd_frontbuffer
-    gsd_frontbuffer.restype = None
-    gsd_frontbuffer.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 548
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_backbuffer'):
-    gsd_backbuffer = _libs['grass_ogsf.7.0.svn'].gsd_backbuffer
-    gsd_backbuffer.restype = None
-    gsd_backbuffer.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 549
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_swapbuffers'):
-    gsd_swapbuffers = _libs['grass_ogsf.7.0.svn'].gsd_swapbuffers
-    gsd_swapbuffers.restype = None
-    gsd_swapbuffers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 550
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_popmatrix'):
-    gsd_popmatrix = _libs['grass_ogsf.7.0.svn'].gsd_popmatrix
-    gsd_popmatrix.restype = None
-    gsd_popmatrix.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 551
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_pushmatrix'):
-    gsd_pushmatrix = _libs['grass_ogsf.7.0.svn'].gsd_pushmatrix
-    gsd_pushmatrix.restype = None
-    gsd_pushmatrix.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 552
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_scale'):
-    gsd_scale = _libs['grass_ogsf.7.0.svn'].gsd_scale
-    gsd_scale.restype = None
-    gsd_scale.argtypes = [c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 553
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_translate'):
-    gsd_translate = _libs['grass_ogsf.7.0.svn'].gsd_translate
-    gsd_translate.restype = None
-    gsd_translate.argtypes = [c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 554
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_rot'):
-    gsd_rot = _libs['grass_ogsf.7.0.svn'].gsd_rot
-    gsd_rot.restype = None
-    gsd_rot.argtypes = [c_float, c_char]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 555
-for _lib in _libs.values():
-    if hasattr(_lib, 'gsd_checkwindow'):
-        gsd_checkwindow = _lib.gsd_checkwindow
-        gsd_checkwindow.restype = None
-        gsd_checkwindow.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_double), POINTER(c_double)]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 556
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_checkpoint'):
-    gsd_checkpoint = _libs['grass_ogsf.7.0.svn'].gsd_checkpoint
-    gsd_checkpoint.restype = c_int
-    gsd_checkpoint.argtypes = [POINTER(c_float), POINTER(c_int), POINTER(c_int), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 557
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_litvert_func'):
-    gsd_litvert_func = _libs['grass_ogsf.7.0.svn'].gsd_litvert_func
-    gsd_litvert_func.restype = None
-    gsd_litvert_func.argtypes = [POINTER(c_float), c_ulong, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 558
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_litvert_func2'):
-    gsd_litvert_func2 = _libs['grass_ogsf.7.0.svn'].gsd_litvert_func2
-    gsd_litvert_func2.restype = None
-    gsd_litvert_func2.argtypes = [POINTER(c_float), c_ulong, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 559
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_vert_func'):
-    gsd_vert_func = _libs['grass_ogsf.7.0.svn'].gsd_vert_func
-    gsd_vert_func.restype = None
-    gsd_vert_func.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 560
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_color_func'):
-    gsd_color_func = _libs['grass_ogsf.7.0.svn'].gsd_color_func
-    gsd_color_func.restype = None
-    gsd_color_func.argtypes = [c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 561
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_init_lightmodel'):
-    gsd_init_lightmodel = _libs['grass_ogsf.7.0.svn'].gsd_init_lightmodel
-    gsd_init_lightmodel.restype = None
-    gsd_init_lightmodel.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 562
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_set_material'):
-    gsd_set_material = _libs['grass_ogsf.7.0.svn'].gsd_set_material
-    gsd_set_material.restype = None
-    gsd_set_material.argtypes = [c_int, c_int, c_float, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 563
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_deflight'):
-    gsd_deflight = _libs['grass_ogsf.7.0.svn'].gsd_deflight
-    gsd_deflight.restype = None
-    gsd_deflight.argtypes = [c_int, POINTER(struct_lightdefs)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 564
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_switchlight'):
-    gsd_switchlight = _libs['grass_ogsf.7.0.svn'].gsd_switchlight
-    gsd_switchlight.restype = None
-    gsd_switchlight.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 565
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_getimage'):
-    gsd_getimage = _libs['grass_ogsf.7.0.svn'].gsd_getimage
-    gsd_getimage.restype = c_int
-    gsd_getimage.argtypes = [POINTER(POINTER(c_ubyte)), POINTER(c_uint), POINTER(c_uint)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 566
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_blend'):
-    gsd_blend = _libs['grass_ogsf.7.0.svn'].gsd_blend
-    gsd_blend.restype = None
-    gsd_blend.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 567
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_def_clipplane'):
-    gsd_def_clipplane = _libs['grass_ogsf.7.0.svn'].gsd_def_clipplane
-    gsd_def_clipplane.restype = None
-    gsd_def_clipplane.argtypes = [c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 568
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_set_clipplane'):
-    gsd_set_clipplane = _libs['grass_ogsf.7.0.svn'].gsd_set_clipplane
-    gsd_set_clipplane.restype = None
-    gsd_set_clipplane.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 569
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_finish'):
-    gsd_finish = _libs['grass_ogsf.7.0.svn'].gsd_finish
-    gsd_finish.restype = None
-    gsd_finish.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 570
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_viewport'):
-    gsd_viewport = _libs['grass_ogsf.7.0.svn'].gsd_viewport
-    gsd_viewport.restype = None
-    gsd_viewport.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 571
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_makelist'):
-    gsd_makelist = _libs['grass_ogsf.7.0.svn'].gsd_makelist
-    gsd_makelist.restype = c_int
-    gsd_makelist.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 572
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgnlist'):
-    gsd_bgnlist = _libs['grass_ogsf.7.0.svn'].gsd_bgnlist
-    gsd_bgnlist.restype = None
-    gsd_bgnlist.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 573
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endlist'):
-    gsd_endlist = _libs['grass_ogsf.7.0.svn'].gsd_endlist
-    gsd_endlist.restype = None
-    gsd_endlist.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 574
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_calllist'):
-    gsd_calllist = _libs['grass_ogsf.7.0.svn'].gsd_calllist
-    gsd_calllist.restype = None
-    gsd_calllist.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 575
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_deletelist'):
-    gsd_deletelist = _libs['grass_ogsf.7.0.svn'].gsd_deletelist
-    gsd_deletelist.restype = None
-    gsd_deletelist.argtypes = [GLuint, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 576
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_calllists'):
-    gsd_calllists = _libs['grass_ogsf.7.0.svn'].gsd_calllists
-    gsd_calllists.restype = None
-    gsd_calllists.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 577
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_getwindow'):
-    gsd_getwindow = _libs['grass_ogsf.7.0.svn'].gsd_getwindow
-    gsd_getwindow.restype = None
-    gsd_getwindow.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 578
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_writeView'):
-    gsd_writeView = _libs['grass_ogsf.7.0.svn'].gsd_writeView
-    gsd_writeView.restype = c_int
-    gsd_writeView.argtypes = [POINTER(POINTER(c_ubyte)), c_uint, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 581
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_surf'):
-    gsd_surf = _libs['grass_ogsf.7.0.svn'].gsd_surf
-    gsd_surf.restype = c_int
-    gsd_surf.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 582
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_surf_map'):
-    gsd_surf_map = _libs['grass_ogsf.7.0.svn'].gsd_surf_map
-    gsd_surf_map.restype = c_int
-    gsd_surf_map.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 583
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_surf_const'):
-    gsd_surf_const = _libs['grass_ogsf.7.0.svn'].gsd_surf_const
-    gsd_surf_const.restype = c_int
-    gsd_surf_const.argtypes = [POINTER(geosurf), c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 584
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_surf_func'):
-    gsd_surf_func = _libs['grass_ogsf.7.0.svn'].gsd_surf_func
-    gsd_surf_func.restype = c_int
-    gsd_surf_func.argtypes = [POINTER(geosurf), CFUNCTYPE(UNCHECKED(c_int), )]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 585
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_triangulated_wall'):
-    gsd_triangulated_wall = _libs['grass_ogsf.7.0.svn'].gsd_triangulated_wall
-    gsd_triangulated_wall.restype = c_int
-    gsd_triangulated_wall.argtypes = [c_int, c_int, POINTER(geosurf), POINTER(geosurf), POINTER(Point3), POINTER(Point3), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 587
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_setfc'):
-    gsd_setfc = _libs['grass_ogsf.7.0.svn'].gsd_setfc
-    gsd_setfc.restype = None
-    gsd_setfc.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 588
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_getfc'):
-    gsd_getfc = _libs['grass_ogsf.7.0.svn'].gsd_getfc
-    gsd_getfc.restype = c_int
-    gsd_getfc.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 589
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_ortho_wall'):
-    gsd_ortho_wall = _libs['grass_ogsf.7.0.svn'].gsd_ortho_wall
-    gsd_ortho_wall.restype = c_int
-    gsd_ortho_wall.argtypes = [c_int, c_int, POINTER(POINTER(geosurf)), POINTER(POINTER(Point3)), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 590
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_wall'):
-    gsd_wall = _libs['grass_ogsf.7.0.svn'].gsd_wall
-    gsd_wall.restype = c_int
-    gsd_wall.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 591
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_norm_arrows'):
-    gsd_norm_arrows = _libs['grass_ogsf.7.0.svn'].gsd_norm_arrows
-    gsd_norm_arrows.restype = c_int
-    gsd_norm_arrows.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 594
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_get_los'):
-    gsd_get_los = _libs['grass_ogsf.7.0.svn'].gsd_get_los
-    gsd_get_los.restype = c_int
-    gsd_get_los.argtypes = [POINTER(c_float * 3), c_short, c_short]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 595
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_set_view'):
-    gsd_set_view = _libs['grass_ogsf.7.0.svn'].gsd_set_view
-    gsd_set_view.restype = None
-    gsd_set_view.argtypes = [POINTER(geoview), POINTER(geodisplay)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 596
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_check_focus'):
-    gsd_check_focus = _libs['grass_ogsf.7.0.svn'].gsd_check_focus
-    gsd_check_focus.restype = None
-    gsd_check_focus.argtypes = [POINTER(geoview)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 597
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_get_zup'):
-    gsd_get_zup = _libs['grass_ogsf.7.0.svn'].gsd_get_zup
-    gsd_get_zup.restype = None
-    gsd_get_zup.argtypes = [POINTER(geoview), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 598
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_zup_twist'):
-    gsd_zup_twist = _libs['grass_ogsf.7.0.svn'].gsd_zup_twist
-    gsd_zup_twist.restype = c_int
-    gsd_zup_twist.argtypes = [POINTER(geoview)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 599
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_do_scale'):
-    gsd_do_scale = _libs['grass_ogsf.7.0.svn'].gsd_do_scale
-    gsd_do_scale.restype = None
-    gsd_do_scale.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 600
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_real2model'):
-    gsd_real2model = _libs['grass_ogsf.7.0.svn'].gsd_real2model
-    gsd_real2model.restype = None
-    gsd_real2model.argtypes = [Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 601
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_model2real'):
-    gsd_model2real = _libs['grass_ogsf.7.0.svn'].gsd_model2real
-    gsd_model2real.restype = None
-    gsd_model2real.argtypes = [Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 602
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_model2surf'):
-    gsd_model2surf = _libs['grass_ogsf.7.0.svn'].gsd_model2surf
-    gsd_model2surf.restype = None
-    gsd_model2surf.argtypes = [POINTER(geosurf), Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 603
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_surf2model'):
-    gsd_surf2model = _libs['grass_ogsf.7.0.svn'].gsd_surf2model
-    gsd_surf2model.restype = None
-    gsd_surf2model.argtypes = [Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 604
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_surf2real'):
-    gsd_surf2real = _libs['grass_ogsf.7.0.svn'].gsd_surf2real
-    gsd_surf2real.restype = None
-    gsd_surf2real.argtypes = [POINTER(geosurf), Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 605
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_real2surf'):
-    gsd_real2surf = _libs['grass_ogsf.7.0.svn'].gsd_real2surf
-    gsd_real2surf.restype = None
-    gsd_real2surf.argtypes = [POINTER(geosurf), Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 608
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_wire_surf'):
-    gsd_wire_surf = _libs['grass_ogsf.7.0.svn'].gsd_wire_surf
-    gsd_wire_surf.restype = c_int
-    gsd_wire_surf.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 609
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_wire_surf_map'):
-    gsd_wire_surf_map = _libs['grass_ogsf.7.0.svn'].gsd_wire_surf_map
-    gsd_wire_surf_map.restype = c_int
-    gsd_wire_surf_map.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 610
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_coarse_surf_map'):
-    gsd_coarse_surf_map = _libs['grass_ogsf.7.0.svn'].gsd_coarse_surf_map
-    gsd_coarse_surf_map.restype = c_int
-    gsd_coarse_surf_map.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 611
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_wire_surf_const'):
-    gsd_wire_surf_const = _libs['grass_ogsf.7.0.svn'].gsd_wire_surf_const
-    gsd_wire_surf_const.restype = c_int
-    gsd_wire_surf_const.argtypes = [POINTER(geosurf), c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 612
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_wire_surf_func'):
-    gsd_wire_surf_func = _libs['grass_ogsf.7.0.svn'].gsd_wire_surf_func
-    gsd_wire_surf_func.restype = c_int
-    gsd_wire_surf_func.argtypes = [POINTER(geosurf), CFUNCTYPE(UNCHECKED(c_int), )]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 613
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_wire_arrows'):
-    gsd_wire_arrows = _libs['grass_ogsf.7.0.svn'].gsd_wire_arrows
-    gsd_wire_arrows.restype = c_int
-    gsd_wire_arrows.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 616
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdiff_set_SDscale'):
-    gsdiff_set_SDscale = _libs['grass_ogsf.7.0.svn'].gsdiff_set_SDscale
-    gsdiff_set_SDscale.restype = None
-    gsdiff_set_SDscale.argtypes = [c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 617
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdiff_get_SDscale'):
-    gsdiff_get_SDscale = _libs['grass_ogsf.7.0.svn'].gsdiff_get_SDscale
-    gsdiff_get_SDscale.restype = c_float
-    gsdiff_get_SDscale.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 618
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdiff_set_SDref'):
-    gsdiff_set_SDref = _libs['grass_ogsf.7.0.svn'].gsdiff_set_SDref
-    gsdiff_set_SDref.restype = None
-    gsdiff_set_SDref.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 619
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdiff_get_SDref'):
-    gsdiff_get_SDref = _libs['grass_ogsf.7.0.svn'].gsdiff_get_SDref
-    gsdiff_get_SDref.restype = POINTER(geosurf)
-    gsdiff_get_SDref.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 620
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdiff_do_SD'):
-    gsdiff_do_SD = _libs['grass_ogsf.7.0.svn'].gsdiff_do_SD
-    gsdiff_do_SD.restype = c_float
-    gsdiff_do_SD.argtypes = [c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 623
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdrape_set_surface'):
-    gsdrape_set_surface = _libs['grass_ogsf.7.0.svn'].gsdrape_set_surface
-    gsdrape_set_surface.restype = c_int
-    gsdrape_set_surface.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 624
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'seg_intersect_vregion'):
-    seg_intersect_vregion = _libs['grass_ogsf.7.0.svn'].seg_intersect_vregion
-    seg_intersect_vregion.restype = c_int
-    seg_intersect_vregion.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 625
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdrape_get_segments'):
-    gsdrape_get_segments = _libs['grass_ogsf.7.0.svn'].gsdrape_get_segments
-    gsdrape_get_segments.restype = POINTER(Point3)
-    gsdrape_get_segments.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 626
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdrape_get_allsegments'):
-    gsdrape_get_allsegments = _libs['grass_ogsf.7.0.svn'].gsdrape_get_allsegments
-    gsdrape_get_allsegments.restype = POINTER(Point3)
-    gsdrape_get_allsegments.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 627
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'interp_first_last'):
-    interp_first_last = _libs['grass_ogsf.7.0.svn'].interp_first_last
-    interp_first_last.restype = None
-    interp_first_last.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), Point3, Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 628
-if hasattr(_libs['grass_ogsf.7.0.svn'], '_viewcell_tri_interp'):
-    _viewcell_tri_interp = _libs['grass_ogsf.7.0.svn']._viewcell_tri_interp
-    _viewcell_tri_interp.restype = c_int
-    _viewcell_tri_interp.argtypes = [POINTER(geosurf), Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 629
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'viewcell_tri_interp'):
-    viewcell_tri_interp = _libs['grass_ogsf.7.0.svn'].viewcell_tri_interp
-    viewcell_tri_interp.restype = c_int
-    viewcell_tri_interp.argtypes = [POINTER(geosurf), POINTER(typbuff), Point3, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 630
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'in_vregion'):
-    in_vregion = _libs['grass_ogsf.7.0.svn'].in_vregion
-    in_vregion.restype = c_int
-    in_vregion.argtypes = [POINTER(geosurf), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 631
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'order_intersects'):
-    order_intersects = _libs['grass_ogsf.7.0.svn'].order_intersects
-    order_intersects.restype = c_int
-    order_intersects.argtypes = [POINTER(geosurf), Point3, Point3, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 632
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_vert_intersects'):
-    get_vert_intersects = _libs['grass_ogsf.7.0.svn'].get_vert_intersects
-    get_vert_intersects.restype = c_int
-    get_vert_intersects.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 633
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_horz_intersects'):
-    get_horz_intersects = _libs['grass_ogsf.7.0.svn'].get_horz_intersects
-    get_horz_intersects.restype = c_int
-    get_horz_intersects.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 634
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_diag_intersects'):
-    get_diag_intersects = _libs['grass_ogsf.7.0.svn'].get_diag_intersects
-    get_diag_intersects.restype = c_int
-    get_diag_intersects.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 635
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'segs_intersect'):
-    segs_intersect = _libs['grass_ogsf.7.0.svn'].segs_intersect
-    segs_intersect.restype = c_int
-    segs_intersect.argtypes = [c_float, c_float, c_float, c_float, c_float, c_float, c_float, c_float, POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 637
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Point_on_plane'):
-    Point_on_plane = _libs['grass_ogsf.7.0.svn'].Point_on_plane
-    Point_on_plane.restype = c_int
-    Point_on_plane.argtypes = [Point3, Point3, Point3, Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 638
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'XY_intersect_plane'):
-    XY_intersect_plane = _libs['grass_ogsf.7.0.svn'].XY_intersect_plane
-    XY_intersect_plane.restype = c_int
-    XY_intersect_plane.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 639
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'P3toPlane'):
-    P3toPlane = _libs['grass_ogsf.7.0.svn'].P3toPlane
-    P3toPlane.restype = c_int
-    P3toPlane.argtypes = [Point3, Point3, Point3, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 640
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'V3Cross'):
-    V3Cross = _libs['grass_ogsf.7.0.svn'].V3Cross
-    V3Cross.restype = c_int
-    V3Cross.argtypes = [Point3, Point3, Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 643
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_findh'):
-    gsds_findh = _libs['grass_ogsf.7.0.svn'].gsds_findh
-    gsds_findh.restype = c_int
-    gsds_findh.argtypes = [String, POINTER(c_uint), POINTER(c_uint), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 644
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_newh'):
-    gsds_newh = _libs['grass_ogsf.7.0.svn'].gsds_newh
-    gsds_newh.restype = c_int
-    gsds_newh.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 645
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_get_typbuff'):
-    gsds_get_typbuff = _libs['grass_ogsf.7.0.svn'].gsds_get_typbuff
-    gsds_get_typbuff.restype = POINTER(typbuff)
-    gsds_get_typbuff.argtypes = [c_int, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 646
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_get_name'):
-    gsds_get_name = _libs['grass_ogsf.7.0.svn'].gsds_get_name
-    gsds_get_name.restype = ReturnString
-    gsds_get_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 647
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_free_datah'):
-    gsds_free_datah = _libs['grass_ogsf.7.0.svn'].gsds_free_datah
-    gsds_free_datah.restype = c_int
-    gsds_free_datah.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 648
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_free_data_buff'):
-    gsds_free_data_buff = _libs['grass_ogsf.7.0.svn'].gsds_free_data_buff
-    gsds_free_data_buff.restype = c_int
-    gsds_free_data_buff.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 649
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'free_data_buffs'):
-    free_data_buffs = _libs['grass_ogsf.7.0.svn'].free_data_buffs
-    free_data_buffs.restype = c_int
-    free_data_buffs.argtypes = [POINTER(dataset), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 650
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_alloc_typbuff'):
-    gsds_alloc_typbuff = _libs['grass_ogsf.7.0.svn'].gsds_alloc_typbuff
-    gsds_alloc_typbuff.restype = c_int
-    gsds_alloc_typbuff.argtypes = [c_int, POINTER(c_int), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 651
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_get_changed'):
-    gsds_get_changed = _libs['grass_ogsf.7.0.svn'].gsds_get_changed
-    gsds_get_changed.restype = c_int
-    gsds_get_changed.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 652
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_set_changed'):
-    gsds_set_changed = _libs['grass_ogsf.7.0.svn'].gsds_set_changed
-    gsds_set_changed.restype = c_int
-    gsds_set_changed.argtypes = [c_int, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 653
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_get_type'):
-    gsds_get_type = _libs['grass_ogsf.7.0.svn'].gsds_get_type
-    gsds_get_type.restype = c_int
-    gsds_get_type.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 656
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_mapatt'):
-    get_mapatt = _libs['grass_ogsf.7.0.svn'].get_mapatt
-    get_mapatt.restype = c_int
-    get_mapatt.argtypes = [POINTER(typbuff), c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 659
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_get_vect'):
-    gv_get_vect = _libs['grass_ogsf.7.0.svn'].gv_get_vect
-    gv_get_vect.restype = POINTER(geovect)
-    gv_get_vect.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 660
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_get_prev_vect'):
-    gv_get_prev_vect = _libs['grass_ogsf.7.0.svn'].gv_get_prev_vect
-    gv_get_prev_vect.restype = POINTER(geovect)
-    gv_get_prev_vect.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 661
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_num_vects'):
-    gv_num_vects = _libs['grass_ogsf.7.0.svn'].gv_num_vects
-    gv_num_vects.restype = c_int
-    gv_num_vects.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 662
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_get_last_vect'):
-    gv_get_last_vect = _libs['grass_ogsf.7.0.svn'].gv_get_last_vect
-    gv_get_last_vect.restype = POINTER(geovect)
-    gv_get_last_vect.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 663
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_get_new_vect'):
-    gv_get_new_vect = _libs['grass_ogsf.7.0.svn'].gv_get_new_vect
-    gv_get_new_vect.restype = POINTER(geovect)
-    gv_get_new_vect.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 664
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_update_drapesurfs'):
-    gv_update_drapesurfs = _libs['grass_ogsf.7.0.svn'].gv_update_drapesurfs
-    gv_update_drapesurfs.restype = None
-    gv_update_drapesurfs.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 665
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_set_defaults'):
-    gv_set_defaults = _libs['grass_ogsf.7.0.svn'].gv_set_defaults
-    gv_set_defaults.restype = c_int
-    gv_set_defaults.argtypes = [POINTER(geovect)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 666
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_init_vect'):
-    gv_init_vect = _libs['grass_ogsf.7.0.svn'].gv_init_vect
-    gv_init_vect.restype = c_int
-    gv_init_vect.argtypes = [POINTER(geovect)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 667
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_delete_vect'):
-    gv_delete_vect = _libs['grass_ogsf.7.0.svn'].gv_delete_vect
-    gv_delete_vect.restype = None
-    gv_delete_vect.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 668
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_free_vect'):
-    gv_free_vect = _libs['grass_ogsf.7.0.svn'].gv_free_vect
-    gv_free_vect.restype = c_int
-    gv_free_vect.argtypes = [POINTER(geovect)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 669
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_free_vectmem'):
-    gv_free_vectmem = _libs['grass_ogsf.7.0.svn'].gv_free_vectmem
-    gv_free_vectmem.restype = None
-    gv_free_vectmem.argtypes = [POINTER(geovect)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 670
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_set_drapesurfs'):
-    gv_set_drapesurfs = _libs['grass_ogsf.7.0.svn'].gv_set_drapesurfs
-    gv_set_drapesurfs.restype = None
-    gv_set_drapesurfs.argtypes = [POINTER(geovect), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 673
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_line_length'):
-    gv_line_length = _libs['grass_ogsf.7.0.svn'].gv_line_length
-    gv_line_length.restype = c_float
-    gv_line_length.argtypes = [POINTER(geoline)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 674
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gln_num_points'):
-    gln_num_points = _libs['grass_ogsf.7.0.svn'].gln_num_points
-    gln_num_points.restype = c_int
-    gln_num_points.argtypes = [POINTER(geoline)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 675
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_num_points'):
-    gv_num_points = _libs['grass_ogsf.7.0.svn'].gv_num_points
-    gv_num_points.restype = c_int
-    gv_num_points.argtypes = [POINTER(geovect)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 676
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_decimate_lines'):
-    gv_decimate_lines = _libs['grass_ogsf.7.0.svn'].gv_decimate_lines
-    gv_decimate_lines.restype = c_int
-    gv_decimate_lines.argtypes = [POINTER(geovect)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 679
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_clip_segment'):
-    gs_clip_segment = _libs['grass_ogsf.7.0.svn'].gs_clip_segment
-    gs_clip_segment.restype = c_int
-    gs_clip_segment.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 680
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvd_vect'):
-    gvd_vect = _libs['grass_ogsf.7.0.svn'].gvd_vect
-    gvd_vect.restype = c_int
-    gvd_vect.argtypes = [POINTER(geovect), POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 681
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvd_draw_lineonsurf'):
-    gvd_draw_lineonsurf = _libs['grass_ogsf.7.0.svn'].gvd_draw_lineonsurf
-    gvd_draw_lineonsurf.restype = None
-    gvd_draw_lineonsurf.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 684
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_vol'):
-    gvl_get_vol = _libs['grass_ogsf.7.0.svn'].gvl_get_vol
-    gvl_get_vol.restype = POINTER(geovol)
-    gvl_get_vol.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 685
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_prev_vol'):
-    gvl_get_prev_vol = _libs['grass_ogsf.7.0.svn'].gvl_get_prev_vol
-    gvl_get_prev_vol.restype = POINTER(geovol)
-    gvl_get_prev_vol.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 686
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_getall_vols'):
-    gvl_getall_vols = _libs['grass_ogsf.7.0.svn'].gvl_getall_vols
-    gvl_getall_vols.restype = c_int
-    gvl_getall_vols.argtypes = [POINTER(POINTER(geovol))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 687
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_num_vols'):
-    gvl_num_vols = _libs['grass_ogsf.7.0.svn'].gvl_num_vols
-    gvl_num_vols.restype = c_int
-    gvl_num_vols.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 688
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_last_vol'):
-    gvl_get_last_vol = _libs['grass_ogsf.7.0.svn'].gvl_get_last_vol
-    gvl_get_last_vol.restype = POINTER(geovol)
-    gvl_get_last_vol.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 689
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_new_vol'):
-    gvl_get_new_vol = _libs['grass_ogsf.7.0.svn'].gvl_get_new_vol
-    gvl_get_new_vol.restype = POINTER(geovol)
-    gvl_get_new_vol.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 690
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_init_vol'):
-    gvl_init_vol = _libs['grass_ogsf.7.0.svn'].gvl_init_vol
-    gvl_init_vol.restype = c_int
-    gvl_init_vol.argtypes = [POINTER(geovol), c_double, c_double, c_double, c_int, c_int, c_int, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 692
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_delete_vol'):
-    gvl_delete_vol = _libs['grass_ogsf.7.0.svn'].gvl_delete_vol
-    gvl_delete_vol.restype = None
-    gvl_delete_vol.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 693
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_free_vol'):
-    gvl_free_vol = _libs['grass_ogsf.7.0.svn'].gvl_free_vol
-    gvl_free_vol.restype = c_int
-    gvl_free_vol.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 694
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_free_volmem'):
-    gvl_free_volmem = _libs['grass_ogsf.7.0.svn'].gvl_free_volmem
-    gvl_free_volmem.restype = None
-    gvl_free_volmem.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 695
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_vol_fields'):
-    print_vol_fields = _libs['grass_ogsf.7.0.svn'].print_vol_fields
-    print_vol_fields.restype = None
-    print_vol_fields.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 696
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_xextents'):
-    gvl_get_xextents = _libs['grass_ogsf.7.0.svn'].gvl_get_xextents
-    gvl_get_xextents.restype = c_int
-    gvl_get_xextents.argtypes = [POINTER(geovol), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 697
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_yextents'):
-    gvl_get_yextents = _libs['grass_ogsf.7.0.svn'].gvl_get_yextents
-    gvl_get_yextents.restype = c_int
-    gvl_get_yextents.argtypes = [POINTER(geovol), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 698
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_zextents'):
-    gvl_get_zextents = _libs['grass_ogsf.7.0.svn'].gvl_get_zextents
-    gvl_get_zextents.restype = c_int
-    gvl_get_zextents.argtypes = [POINTER(geovol), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 699
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_xrange'):
-    gvl_get_xrange = _libs['grass_ogsf.7.0.svn'].gvl_get_xrange
-    gvl_get_xrange.restype = c_int
-    gvl_get_xrange.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 700
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_yrange'):
-    gvl_get_yrange = _libs['grass_ogsf.7.0.svn'].gvl_get_yrange
-    gvl_get_yrange.restype = c_int
-    gvl_get_yrange.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 701
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_zrange'):
-    gvl_get_zrange = _libs['grass_ogsf.7.0.svn'].gvl_get_zrange
-    gvl_get_zrange.restype = c_int
-    gvl_get_zrange.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 703
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_init'):
-    gvl_isosurf_init = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_init
-    gvl_isosurf_init.restype = c_int
-    gvl_isosurf_init.argtypes = [POINTER(geovol_isosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 704
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_freemem'):
-    gvl_isosurf_freemem = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_freemem
-    gvl_isosurf_freemem.restype = c_int
-    gvl_isosurf_freemem.argtypes = [POINTER(geovol_isosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 705
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_get_isosurf'):
-    gvl_isosurf_get_isosurf = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_get_isosurf
-    gvl_isosurf_get_isosurf.restype = POINTER(geovol_isosurf)
-    gvl_isosurf_get_isosurf.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 706
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_get_att_src'):
-    gvl_isosurf_get_att_src = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_get_att_src
-    gvl_isosurf_get_att_src.restype = c_int
-    gvl_isosurf_get_att_src.argtypes = [POINTER(geovol_isosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 707
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_set_att_src'):
-    gvl_isosurf_set_att_src = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_set_att_src
-    gvl_isosurf_set_att_src.restype = c_int
-    gvl_isosurf_set_att_src.argtypes = [POINTER(geovol_isosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 708
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_set_att_const'):
-    gvl_isosurf_set_att_const = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_set_att_const
-    gvl_isosurf_set_att_const.restype = c_int
-    gvl_isosurf_set_att_const.argtypes = [POINTER(geovol_isosurf), c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 709
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_set_att_map'):
-    gvl_isosurf_set_att_map = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_set_att_map
-    gvl_isosurf_set_att_map.restype = c_int
-    gvl_isosurf_set_att_map.argtypes = [POINTER(geovol_isosurf), c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 710
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_set_att_changed'):
-    gvl_isosurf_set_att_changed = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_set_att_changed
-    gvl_isosurf_set_att_changed.restype = c_int
-    gvl_isosurf_set_att_changed.argtypes = [POINTER(geovol_isosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 712
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_slice_init'):
-    gvl_slice_init = _libs['grass_ogsf.7.0.svn'].gvl_slice_init
-    gvl_slice_init.restype = c_int
-    gvl_slice_init.argtypes = [POINTER(geovol_slice)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 713
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_slice_get_slice'):
-    gvl_slice_get_slice = _libs['grass_ogsf.7.0.svn'].gvl_slice_get_slice
-    gvl_slice_get_slice.restype = POINTER(geovol_slice)
-    gvl_slice_get_slice.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 714
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_slice_freemem'):
-    gvl_slice_freemem = _libs['grass_ogsf.7.0.svn'].gvl_slice_freemem
-    gvl_slice_freemem.restype = c_int
-    gvl_slice_freemem.argtypes = [POINTER(geovol_slice)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 717
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'P_scale'):
-    P_scale = _libs['grass_ogsf.7.0.svn'].P_scale
-    P_scale.restype = None
-    P_scale.argtypes = [c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 718
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'P_transform'):
-    P_transform = _libs['grass_ogsf.7.0.svn'].P_transform
-    P_transform.restype = None
-    P_transform.argtypes = [c_int, POINTER(c_float * 4), POINTER(c_float * 4)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 719
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'P_pushmatrix'):
-    P_pushmatrix = _libs['grass_ogsf.7.0.svn'].P_pushmatrix
-    P_pushmatrix.restype = c_int
-    P_pushmatrix.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 720
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'P_popmatrix'):
-    P_popmatrix = _libs['grass_ogsf.7.0.svn'].P_popmatrix
-    P_popmatrix.restype = c_int
-    P_popmatrix.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 721
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'P_rot'):
-    P_rot = _libs['grass_ogsf.7.0.svn'].P_rot
-    P_rot.restype = None
-    P_rot.argtypes = [c_float, c_char]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 724
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_get_volfile'):
-    gvl_file_get_volfile = _libs['grass_ogsf.7.0.svn'].gvl_file_get_volfile
-    gvl_file_get_volfile.restype = POINTER(geovol_file)
-    gvl_file_get_volfile.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 725
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_get_name'):
-    gvl_file_get_name = _libs['grass_ogsf.7.0.svn'].gvl_file_get_name
-    gvl_file_get_name.restype = ReturnString
-    gvl_file_get_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 726
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_get_file_type'):
-    gvl_file_get_file_type = _libs['grass_ogsf.7.0.svn'].gvl_file_get_file_type
-    gvl_file_get_file_type.restype = c_int
-    gvl_file_get_file_type.argtypes = [POINTER(geovol_file)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 727
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_get_data_type'):
-    gvl_file_get_data_type = _libs['grass_ogsf.7.0.svn'].gvl_file_get_data_type
-    gvl_file_get_data_type.restype = c_int
-    gvl_file_get_data_type.argtypes = [POINTER(geovol_file)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 728
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_newh'):
-    gvl_file_newh = _libs['grass_ogsf.7.0.svn'].gvl_file_newh
-    gvl_file_newh.restype = c_int
-    gvl_file_newh.argtypes = [String, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 729
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_free_datah'):
-    gvl_file_free_datah = _libs['grass_ogsf.7.0.svn'].gvl_file_free_datah
-    gvl_file_free_datah.restype = c_int
-    gvl_file_free_datah.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 730
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_start_read'):
-    gvl_file_start_read = _libs['grass_ogsf.7.0.svn'].gvl_file_start_read
-    gvl_file_start_read.restype = c_int
-    gvl_file_start_read.argtypes = [POINTER(geovol_file)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 731
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_end_read'):
-    gvl_file_end_read = _libs['grass_ogsf.7.0.svn'].gvl_file_end_read
-    gvl_file_end_read.restype = c_int
-    gvl_file_end_read.argtypes = [POINTER(geovol_file)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 732
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_get_value'):
-    gvl_file_get_value = _libs['grass_ogsf.7.0.svn'].gvl_file_get_value
-    gvl_file_get_value.restype = c_int
-    gvl_file_get_value.argtypes = [POINTER(geovol_file), c_int, c_int, c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 733
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_is_null_value'):
-    gvl_file_is_null_value = _libs['grass_ogsf.7.0.svn'].gvl_file_is_null_value
-    gvl_file_is_null_value.restype = c_int
-    gvl_file_is_null_value.argtypes = [POINTER(geovol_file), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 734
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_set_mode'):
-    gvl_file_set_mode = _libs['grass_ogsf.7.0.svn'].gvl_file_set_mode
-    gvl_file_set_mode.restype = c_int
-    gvl_file_set_mode.argtypes = [POINTER(geovol_file), c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 735
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_set_slices_param'):
-    gvl_file_set_slices_param = _libs['grass_ogsf.7.0.svn'].gvl_file_set_slices_param
-    gvl_file_set_slices_param.restype = c_int
-    gvl_file_set_slices_param.argtypes = [POINTER(geovol_file), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 736
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_get_min_max'):
-    gvl_file_get_min_max = _libs['grass_ogsf.7.0.svn'].gvl_file_get_min_max
-    gvl_file_get_min_max.restype = None
-    gvl_file_get_min_max.argtypes = [POINTER(geovol_file), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 739
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gvl_load_colors_data'):
-    Gvl_load_colors_data = _libs['grass_ogsf.7.0.svn'].Gvl_load_colors_data
-    Gvl_load_colors_data.restype = c_int
-    Gvl_load_colors_data.argtypes = [POINTER(POINTER(None)), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 740
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gvl_unload_colors_data'):
-    Gvl_unload_colors_data = _libs['grass_ogsf.7.0.svn'].Gvl_unload_colors_data
-    Gvl_unload_colors_data.restype = c_int
-    Gvl_unload_colors_data.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 741
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gvl_get_color_for_value'):
-    Gvl_get_color_for_value = _libs['grass_ogsf.7.0.svn'].Gvl_get_color_for_value
-    Gvl_get_color_for_value.restype = c_int
-    Gvl_get_color_for_value.argtypes = [POINTER(None), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 744
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_calc'):
-    gvl_isosurf_calc = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_calc
-    gvl_isosurf_calc.restype = c_int
-    gvl_isosurf_calc.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 745
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_slices_calc'):
-    gvl_slices_calc = _libs['grass_ogsf.7.0.svn'].gvl_slices_calc
-    gvl_slices_calc.restype = c_int
-    gvl_slices_calc.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 746
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_write_char'):
-    gvl_write_char = _libs['grass_ogsf.7.0.svn'].gvl_write_char
-    gvl_write_char.restype = None
-    gvl_write_char.argtypes = [c_int, POINTER(POINTER(c_ubyte)), c_ubyte]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 747
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_read_char'):
-    gvl_read_char = _libs['grass_ogsf.7.0.svn'].gvl_read_char
-    gvl_read_char.restype = c_ubyte
-    gvl_read_char.argtypes = [c_int, POINTER(c_ubyte)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 748
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_align_data'):
-    gvl_align_data = _libs['grass_ogsf.7.0.svn'].gvl_align_data
-    gvl_align_data.restype = None
-    gvl_align_data.argtypes = [c_int, POINTER(c_ubyte)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 751
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_vol'):
-    gvld_vol = _libs['grass_ogsf.7.0.svn'].gvld_vol
-    gvld_vol.restype = c_int
-    gvld_vol.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 752
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_wire_vol'):
-    gvld_wire_vol = _libs['grass_ogsf.7.0.svn'].gvld_wire_vol
-    gvld_wire_vol.restype = c_int
-    gvld_wire_vol.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 753
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_isosurf'):
-    gvld_isosurf = _libs['grass_ogsf.7.0.svn'].gvld_isosurf
-    gvld_isosurf.restype = c_int
-    gvld_isosurf.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 754
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_wire_isosurf'):
-    gvld_wire_isosurf = _libs['grass_ogsf.7.0.svn'].gvld_wire_isosurf
-    gvld_wire_isosurf.restype = c_int
-    gvld_wire_isosurf.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 755
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_slices'):
-    gvld_slices = _libs['grass_ogsf.7.0.svn'].gvld_slices
-    gvld_slices.restype = c_int
-    gvld_slices.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 756
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_slice'):
-    gvld_slice = _libs['grass_ogsf.7.0.svn'].gvld_slice
-    gvld_slice.restype = c_int
-    gvld_slice.argtypes = [POINTER(geovol), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 757
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_wire_slices'):
-    gvld_wire_slices = _libs['grass_ogsf.7.0.svn'].gvld_wire_slices
-    gvld_wire_slices.restype = c_int
-    gvld_wire_slices.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 758
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_wind3_box'):
-    gvld_wind3_box = _libs['grass_ogsf.7.0.svn'].gvld_wind3_box
-    gvld_wind3_box.restype = c_int
-    gvld_wind3_box.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 761
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_display_fringe'):
-    gsd_display_fringe = _libs['grass_ogsf.7.0.svn'].gsd_display_fringe
-    gsd_display_fringe.restype = None
-    gsd_display_fringe.argtypes = [POINTER(geosurf), c_ulong, c_float, c_int * 4]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 762
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_fringe_horiz_poly'):
-    gsd_fringe_horiz_poly = _libs['grass_ogsf.7.0.svn'].gsd_fringe_horiz_poly
-    gsd_fringe_horiz_poly.restype = None
-    gsd_fringe_horiz_poly.argtypes = [c_float, POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 763
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_fringe_horiz_line'):
-    gsd_fringe_horiz_line = _libs['grass_ogsf.7.0.svn'].gsd_fringe_horiz_line
-    gsd_fringe_horiz_line.restype = None
-    gsd_fringe_horiz_line.argtypes = [c_float, POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 764
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_fringe_vert_poly'):
-    gsd_fringe_vert_poly = _libs['grass_ogsf.7.0.svn'].gsd_fringe_vert_poly
-    gsd_fringe_vert_poly.restype = None
-    gsd_fringe_vert_poly.argtypes = [c_float, POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 765
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_fringe_vert_line'):
-    gsd_fringe_vert_line = _libs['grass_ogsf.7.0.svn'].gsd_fringe_vert_line
-    gsd_fringe_vert_line.restype = None
-    gsd_fringe_vert_line.argtypes = [c_float, POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 768
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_put_legend'):
-    gsd_put_legend = _libs['grass_ogsf.7.0.svn'].gsd_put_legend
-    gsd_put_legend.restype = GLuint
-    gsd_put_legend.argtypes = [String, GLuint, c_int, POINTER(c_int), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 769
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgn_legend_viewport'):
-    gsd_bgn_legend_viewport = _libs['grass_ogsf.7.0.svn'].gsd_bgn_legend_viewport
-    gsd_bgn_legend_viewport.restype = None
-    gsd_bgn_legend_viewport.argtypes = [GLint, GLint, GLint, GLint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 770
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_end_legend_viewport'):
-    gsd_end_legend_viewport = _libs['grass_ogsf.7.0.svn'].gsd_end_legend_viewport
-    gsd_end_legend_viewport.restype = None
-    gsd_end_legend_viewport.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 771
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_make_nice_number'):
-    gsd_make_nice_number = _libs['grass_ogsf.7.0.svn'].gsd_make_nice_number
-    gsd_make_nice_number.restype = c_int
-    gsd_make_nice_number.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 16
-try:
-    GS_UNIT_SIZE = 1000.0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 17
-def BETWEEN(x, a, b):
-    return (((x > a) and (x < b)) or ((x > b) and (x < a)))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_SURFS = 12
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_VECTS = 50
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_SITES = 50
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_VOLS = 12
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_DSP = 12
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_ATTS = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_LIGHTS = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_CPLANES = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_ISOSURFS = 12
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_SLICES = 12
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 23
-try:
-    MAX_VOL_SLICES = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 23
-try:
-    MAX_VOL_FILES = 100
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 25
-try:
-    DM_GOURAUD = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 25
-try:
-    DM_FLAT = 512
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 26
-try:
-    DM_FRINGE = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 27
-try:
-    DM_WIRE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 27
-try:
-    DM_COL_WIRE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 27
-try:
-    DM_POLY = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 27
-try:
-    DM_WIRE_POLY = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 28
-try:
-    DM_GRID_WIRE = 1024
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 28
-try:
-    DM_GRID_SURF = 2048
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 29
-try:
-    WC_COLOR_ATT = 4278190080
-except:
-    pass
-
-IFLAG = c_uint # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 30
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_NORM = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_TOPO = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_COLOR = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_MASK = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_TRANSP = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_SHINE = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_EMIT = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-def LEGAL_ATT(a):
-    return ((a >= 0) and (a < MAX_ATTS))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 34
-try:
-    NOTSET_ATT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 34
-try:
-    MAP_ATT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 34
-try:
-    CONST_ATT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 34
-try:
-    FUNC_ATT = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 34
-def LEGAL_SRC(s):
-    return ((((s == NOTSET_ATT) or (s == MAP_ATT)) or (s == CONST_ATT)) or (s == FUNC_ATT))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_X = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_BOX = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_SPHERE = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_CUBE = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_DIAMOND = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_DEC_TREE = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_CON_TREE = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_ASTER = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_GYRO = 9
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_HISTOGRAM = 10
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 38
-try:
-    GSD_FRONT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 38
-try:
-    GSD_BACK = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 38
-try:
-    GSD_BOTH = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 40
-try:
-    FC_OFF = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 40
-try:
-    FC_ABOVE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 40
-try:
-    FC_BELOW = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 40
-try:
-    FC_BLEND = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 40
-try:
-    FC_GREY = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 42
-try:
-    LT_DISCRETE = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 42
-try:
-    LT_CONTINUOUS = 512
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 43
-try:
-    LT_LIST = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 45
-try:
-    LT_RANGE_LOWSET = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 45
-try:
-    LT_RANGE_HISET = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 45
-try:
-    LT_RANGE_LOW_HI = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 45
-try:
-    LT_INVERTED = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 46
-try:
-    LT_SHOW_VALS = 4096
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 46
-try:
-    LT_SHOW_LABELS = 8192
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 48
-try:
-    VOL_FTYPE_RASTER3D = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 50
-try:
-    VOL_DTYPE_FLOAT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 50
-try:
-    VOL_DTYPE_DOUBLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 32
-try:
-    X = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 32
-try:
-    Y = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 32
-try:
-    Z = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 32
-try:
-    W = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 32
-try:
-    FROM = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 32
-try:
-    TO = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_COLOR = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_EMISSION = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_AMBIENT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_DIFFUSE = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_SPECULAR = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_AD = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_NULL = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 35
-try:
-    CM_WIRE = CM_COLOR
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 36
-try:
-    NULL_COLOR = 16777215
-except:
-    pass
-
-GS_CHAR8 = c_char # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 38
-
-GS_SHORT16 = c_short # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 38
-
-GS_INT32 = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 38
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_NULL = 32
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_MASK = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_FLOAT = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_INT = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_SHORT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_CHAR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_ANY = 63
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-def LEGAL_TYPE(t):
-    return (((((t == ATTY_MASK) or (t == ATTY_FLOAT)) or (t == ATTY_INT)) or (t == ATTY_SHORT)) or (t == ATTY_CHAR))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 42
-try:
-    MAXDIMS = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 43
-def FUDGE(gs):
-    return ((((gs.contents.zmax_nz).value) - ((gs.contents.zmin_nz).value)) / 500.0)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 43
-def DOT3(a, b):
-    return ((((a [X]) * (b [X])) + ((a [Y]) * (b [Y]))) + ((a [Z]) * (b [Z])))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 45
-try:
-    CF_NOT_CHANGED = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 45
-try:
-    CF_COLOR_PACKED = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 45
-try:
-    CF_USR_CHANGED = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 45
-try:
-    CF_CHARSCALED = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 46
-try:
-    MAX_TF = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 47
-try:
-    MASK_TL = 268435456
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 47
-try:
-    MASK_TR = 16777216
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 47
-try:
-    MASK_BR = 1048576
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 47
-try:
-    MASK_BL = 65536
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 47
-try:
-    MASK_NPTS = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 48
-try:
-    OGSF_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 48
-try:
-    OGSF_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 48
-try:
-    OGSF_POLYGON = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 49
-try:
-    RED_MASK = 255
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 49
-try:
-    GRN_MASK = 65280
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 49
-try:
-    BLU_MASK = 16711680
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 5
-try:
-    KF_FROMX_MASK = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 5
-try:
-    KF_FROMY_MASK = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 5
-try:
-    KF_FROMZ_MASK = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 5
-try:
-    KF_FROM_MASK = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 6
-try:
-    KF_DIRX_MASK = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 6
-try:
-    KF_DIRY_MASK = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 6
-try:
-    KF_DIRZ_MASK = 32
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 6
-try:
-    KF_DIR_MASK = 56
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 7
-try:
-    KF_FOV_MASK = 64
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 7
-try:
-    KF_TWIST_MASK = 128
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 8
-try:
-    KF_ALL_MASK = 255
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 9
-try:
-    KF_NUMFIELDS = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 10
-try:
-    KF_LINEAR = 111
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 10
-try:
-    KF_SPLINE = 222
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 10
-def KF_LEGAL_MODE(m):
-    return ((m == KF_LINEAR) or (m == KF_SPLINE))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_FROMX = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_FROMY = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_FROMZ = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_DIRX = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_DIRY = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_DIRZ = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_FOV = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_TWIST = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 9
-try:
-    FM_VECT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 9
-try:
-    FM_SITE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 9
-try:
-    FM_PATH = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 9
-try:
-    FM_VOL = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 9
-try:
-    FM_LABEL = 16
-except:
-    pass
-
-g_surf = struct_g_surf # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 152
-
-g_vect_style = struct_g_vect_style # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 181
-
-g_vect_style_thematic = struct_g_vect_style_thematic # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 206
-
-line_cats = struct_line_cats # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 217
-
-g_line = struct_g_line # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 209
-
-g_vect = struct_g_vect # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 225
-
-g_point = struct_g_point # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 247
-
-g_site = struct_g_site # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 260
-
-g_vol = struct_g_vol # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 329
-
-lightdefs = struct_lightdefs # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 355
-
-georot = struct_georot # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 364
-
-view_node = struct_view_node # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 26
-
-key_node = struct_key_node # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 28
-
-# No inserted files
-
diff --git a/lib/python/ctypes/proj.py b/lib/python/ctypes/proj.py
deleted file mode 100644
index 8f0b724..0000000
--- a/lib/python/ctypes/proj.py
+++ /dev/null
@@ -1,907 +0,0 @@
-'''Wrapper for gprojects.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_gproj.7.0.svn -I/usr/local/include /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h -o proj.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_gproj.7.0.svn"] = load_library("grass_gproj.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-projPJ = POINTER(None) # /usr/local/include/proj_api.h: 55
-
-OGRSpatialReferenceH = POINTER(None) # /usr/local/include/ogr_srs_api.h: 252
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 33
-class struct_pj_info(Structure):
-    pass
-
-struct_pj_info.__slots__ = [
-    'pj',
-    'meters',
-    'zone',
-    'proj',
-]
-struct_pj_info._fields_ = [
-    ('pj', projPJ),
-    ('meters', c_double),
-    ('zone', c_int),
-    ('proj', c_char * 100),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 41
-class struct_gpj_datum(Structure):
-    pass
-
-struct_gpj_datum.__slots__ = [
-    'name',
-    'longname',
-    'ellps',
-    'dx',
-    'dy',
-    'dz',
-]
-struct_gpj_datum._fields_ = [
-    ('name', String),
-    ('longname', String),
-    ('ellps', String),
-    ('dx', c_double),
-    ('dy', c_double),
-    ('dz', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 47
-class struct_gpj_datum_transform_list(Structure):
-    pass
-
-struct_gpj_datum_transform_list.__slots__ = [
-    'count',
-    'params',
-    'where_used',
-    'comment',
-    'next',
-]
-struct_gpj_datum_transform_list._fields_ = [
-    ('count', c_int),
-    ('params', String),
-    ('where_used', String),
-    ('comment', String),
-    ('next', POINTER(struct_gpj_datum_transform_list)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 63
-class struct_gpj_ellps(Structure):
-    pass
-
-struct_gpj_ellps.__slots__ = [
-    'name',
-    'longname',
-    'a',
-    'es',
-    'rf',
-]
-struct_gpj_ellps._fields_ = [
-    ('name', String),
-    ('longname', String),
-    ('a', c_double),
-    ('es', c_double),
-    ('rf', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 70
-if hasattr(_libs['grass_gproj.7.0.svn'], 'pj_do_proj'):
-    pj_do_proj = _libs['grass_gproj.7.0.svn'].pj_do_proj
-    pj_do_proj.restype = c_int
-    pj_do_proj.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(struct_pj_info), POINTER(struct_pj_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 71
-if hasattr(_libs['grass_gproj.7.0.svn'], 'pj_do_transform'):
-    pj_do_transform = _libs['grass_gproj.7.0.svn'].pj_do_transform
-    pj_do_transform.restype = c_int
-    pj_do_transform.argtypes = [c_int, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(struct_pj_info), POINTER(struct_pj_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 75
-class struct_Key_Value(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 75
-if hasattr(_libs['grass_gproj.7.0.svn'], 'pj_get_kv'):
-    pj_get_kv = _libs['grass_gproj.7.0.svn'].pj_get_kv
-    pj_get_kv.restype = c_int
-    pj_get_kv.argtypes = [POINTER(struct_pj_info), POINTER(struct_Key_Value), POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 76
-if hasattr(_libs['grass_gproj.7.0.svn'], 'pj_get_string'):
-    pj_get_string = _libs['grass_gproj.7.0.svn'].pj_get_string
-    pj_get_string.restype = c_int
-    pj_get_string.argtypes = [POINTER(struct_pj_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 77
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_equivalent_latlong'):
-    GPJ_get_equivalent_latlong = _libs['grass_gproj.7.0.svn'].GPJ_get_equivalent_latlong
-    GPJ_get_equivalent_latlong.restype = c_int
-    GPJ_get_equivalent_latlong.argtypes = [POINTER(struct_pj_info), POINTER(struct_pj_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 78
-if hasattr(_libs['grass_gproj.7.0.svn'], 'set_proj_lib'):
-    set_proj_lib = _libs['grass_gproj.7.0.svn'].set_proj_lib
-    set_proj_lib.restype = ReturnString
-    set_proj_lib.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 79
-if hasattr(_libs['grass_gproj.7.0.svn'], 'pj_print_proj_params'):
-    pj_print_proj_params = _libs['grass_gproj.7.0.svn'].pj_print_proj_params
-    pj_print_proj_params.restype = c_int
-    pj_print_proj_params.argtypes = [POINTER(struct_pj_info), POINTER(struct_pj_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 83
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_grass_to_wkt'):
-    GPJ_grass_to_wkt = _libs['grass_gproj.7.0.svn'].GPJ_grass_to_wkt
-    GPJ_grass_to_wkt.restype = ReturnString
-    GPJ_grass_to_wkt.argtypes = [POINTER(struct_Key_Value), POINTER(struct_Key_Value), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 84
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_grass_to_osr'):
-    GPJ_grass_to_osr = _libs['grass_gproj.7.0.svn'].GPJ_grass_to_osr
-    GPJ_grass_to_osr.restype = OGRSpatialReferenceH
-    GPJ_grass_to_osr.argtypes = [POINTER(struct_Key_Value), POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 85
-class struct_Cell_head(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 85
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_wkt_to_grass'):
-    GPJ_wkt_to_grass = _libs['grass_gproj.7.0.svn'].GPJ_wkt_to_grass
-    GPJ_wkt_to_grass.restype = c_int
-    GPJ_wkt_to_grass.argtypes = [POINTER(struct_Cell_head), POINTER(POINTER(struct_Key_Value)), POINTER(POINTER(struct_Key_Value)), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 87
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_osr_to_grass'):
-    GPJ_osr_to_grass = _libs['grass_gproj.7.0.svn'].GPJ_osr_to_grass
-    GPJ_osr_to_grass.restype = c_int
-    GPJ_osr_to_grass.argtypes = [POINTER(struct_Cell_head), POINTER(POINTER(struct_Key_Value)), POINTER(POINTER(struct_Key_Value)), OGRSpatialReferenceH, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 89
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_set_csv_loc'):
-    GPJ_set_csv_loc = _libs['grass_gproj.7.0.svn'].GPJ_set_csv_loc
-    GPJ_set_csv_loc.restype = ReturnString
-    GPJ_set_csv_loc.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 93
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_datum_by_name'):
-    GPJ_get_datum_by_name = _libs['grass_gproj.7.0.svn'].GPJ_get_datum_by_name
-    GPJ_get_datum_by_name.restype = c_int
-    GPJ_get_datum_by_name.argtypes = [String, POINTER(struct_gpj_datum)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 94
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_default_datum_params_by_name'):
-    GPJ_get_default_datum_params_by_name = _libs['grass_gproj.7.0.svn'].GPJ_get_default_datum_params_by_name
-    GPJ_get_default_datum_params_by_name.restype = c_int
-    GPJ_get_default_datum_params_by_name.argtypes = [String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 95
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_datum_params'):
-    GPJ_get_datum_params = _libs['grass_gproj.7.0.svn'].GPJ_get_datum_params
-    GPJ_get_datum_params.restype = c_int
-    GPJ_get_datum_params.argtypes = [POINTER(POINTER(c_char)), POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 96
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ__get_datum_params'):
-    GPJ__get_datum_params = _libs['grass_gproj.7.0.svn'].GPJ__get_datum_params
-    GPJ__get_datum_params.restype = c_int
-    GPJ__get_datum_params.argtypes = [POINTER(struct_Key_Value), POINTER(POINTER(c_char)), POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 97
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_free_datum'):
-    GPJ_free_datum = _libs['grass_gproj.7.0.svn'].GPJ_free_datum
-    GPJ_free_datum.restype = None
-    GPJ_free_datum.argtypes = [POINTER(struct_gpj_datum)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 98
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_datum_transform_by_name'):
-    GPJ_get_datum_transform_by_name = _libs['grass_gproj.7.0.svn'].GPJ_get_datum_transform_by_name
-    GPJ_get_datum_transform_by_name.restype = POINTER(struct_gpj_datum_transform_list)
-    GPJ_get_datum_transform_by_name.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 99
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_free_datum_transform'):
-    GPJ_free_datum_transform = _libs['grass_gproj.7.0.svn'].GPJ_free_datum_transform
-    GPJ_free_datum_transform.restype = None
-    GPJ_free_datum_transform.argtypes = [POINTER(struct_gpj_datum_transform_list)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 102
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_ellipsoid_by_name'):
-    GPJ_get_ellipsoid_by_name = _libs['grass_gproj.7.0.svn'].GPJ_get_ellipsoid_by_name
-    GPJ_get_ellipsoid_by_name.restype = c_int
-    GPJ_get_ellipsoid_by_name.argtypes = [String, POINTER(struct_gpj_ellps)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 103
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_ellipsoid_params'):
-    GPJ_get_ellipsoid_params = _libs['grass_gproj.7.0.svn'].GPJ_get_ellipsoid_params
-    GPJ_get_ellipsoid_params.restype = c_int
-    GPJ_get_ellipsoid_params.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 104
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ__get_ellipsoid_params'):
-    GPJ__get_ellipsoid_params = _libs['grass_gproj.7.0.svn'].GPJ__get_ellipsoid_params
-    GPJ__get_ellipsoid_params.restype = c_int
-    GPJ__get_ellipsoid_params.argtypes = [POINTER(struct_Key_Value), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 106
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_free_ellps'):
-    GPJ_free_ellps = _libs['grass_gproj.7.0.svn'].GPJ_free_ellps
-    GPJ_free_ellps.restype = None
-    GPJ_free_ellps.argtypes = [POINTER(struct_gpj_ellps)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 113
-class struct_anon_44(Structure):
-    pass
-
-struct_anon_44.__slots__ = [
-    'u',
-    'v',
-]
-struct_anon_44._fields_ = [
-    ('u', c_double),
-    ('v', c_double),
-]
-
-LP = struct_anon_44 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 113
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 115
-class struct_DERIVS(Structure):
-    pass
-
-struct_DERIVS.__slots__ = [
-    'x_l',
-    'x_p',
-    'y_l',
-    'y_p',
-]
-struct_DERIVS._fields_ = [
-    ('x_l', c_double),
-    ('x_p', c_double),
-    ('y_l', c_double),
-    ('y_p', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 120
-class struct_FACTORS(Structure):
-    pass
-
-struct_FACTORS.__slots__ = [
-    'der',
-    'h',
-    'k',
-    'omega',
-    'thetap',
-    'conv',
-    's',
-    'a',
-    'b',
-    'code',
-]
-struct_FACTORS._fields_ = [
-    ('der', struct_DERIVS),
-    ('h', c_double),
-    ('k', c_double),
-    ('omega', c_double),
-    ('thetap', c_double),
-    ('conv', c_double),
-    ('s', c_double),
-    ('a', c_double),
-    ('b', c_double),
-    ('code', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 130
-if hasattr(_libs['grass_gproj.7.0.svn'], 'pj_factors'):
-    pj_factors = _libs['grass_gproj.7.0.svn'].pj_factors
-    pj_factors.restype = c_int
-    pj_factors.argtypes = [LP, POINTER(None), c_double, POINTER(struct_FACTORS)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 27
-try:
-    ELLIPSOIDTABLE = '/etc/ellipse.table'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 27
-try:
-    DATUMTABLE = '/etc/datum.table'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 27
-try:
-    DATUMTRANSFORMTABLE = '/etc/datumtransform.table'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 28
-try:
-    GRIDDIR = '/etc/nad'
-except:
-    pass
-
-pj_info = struct_pj_info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 33
-
-gpj_datum = struct_gpj_datum # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 41
-
-gpj_datum_transform_list = struct_gpj_datum_transform_list # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 47
-
-gpj_ellps = struct_gpj_ellps # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 63
-
-Key_Value = struct_Key_Value # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 75
-
-Cell_head = struct_Cell_head # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 85
-
-DERIVS = struct_DERIVS # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 115
-
-FACTORS = struct_FACTORS # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 120
-
-# No inserted files
-
diff --git a/lib/python/ctypes/raster.py b/lib/python/ctypes/raster.py
deleted file mode 100644
index cc9a300..0000000
--- a/lib/python/ctypes/raster.py
+++ /dev/null
@@ -1,3597 +0,0 @@
-'''Wrapper for raster.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_raster.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h -o raster.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_raster.7.0.svn"] = load_library("grass_raster.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 273
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-CELL = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 402
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-FCELL = c_float # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 404
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 406
-class struct__Color_Value_(Structure):
-    pass
-
-struct__Color_Value_.__slots__ = [
-    'value',
-    'red',
-    'grn',
-    'blu',
-]
-struct__Color_Value_._fields_ = [
-    ('value', DCELL),
-    ('red', c_ubyte),
-    ('grn', c_ubyte),
-    ('blu', c_ubyte),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 414
-class struct__Color_Rule_(Structure):
-    pass
-
-struct__Color_Rule_.__slots__ = [
-    'low',
-    'high',
-    'next',
-    'prev',
-]
-struct__Color_Rule_._fields_ = [
-    ('low', struct__Color_Value_),
-    ('high', struct__Color_Value_),
-    ('next', POINTER(struct__Color_Rule_)),
-    ('prev', POINTER(struct__Color_Rule_)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 426
-class struct_anon_8(Structure):
-    pass
-
-struct_anon_8.__slots__ = [
-    'red',
-    'grn',
-    'blu',
-    'set',
-    'nalloc',
-    'active',
-]
-struct_anon_8._fields_ = [
-    ('red', POINTER(c_ubyte)),
-    ('grn', POINTER(c_ubyte)),
-    ('blu', POINTER(c_ubyte)),
-    ('set', POINTER(c_ubyte)),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 436
-class struct_anon_9(Structure):
-    pass
-
-struct_anon_9.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-]
-struct_anon_9._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct__Color_Rule_))),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 421
-class struct__Color_Info_(Structure):
-    pass
-
-struct__Color_Info_.__slots__ = [
-    'rules',
-    'n_rules',
-    'lookup',
-    'fp_lookup',
-    'min',
-    'max',
-]
-struct__Color_Info_._fields_ = [
-    ('rules', POINTER(struct__Color_Rule_)),
-    ('n_rules', c_int),
-    ('lookup', struct_anon_8),
-    ('fp_lookup', struct_anon_9),
-    ('min', DCELL),
-    ('max', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 448
-class struct_Colors(Structure):
-    pass
-
-struct_Colors.__slots__ = [
-    'version',
-    'shift',
-    'invert',
-    'is_float',
-    'null_set',
-    'null_red',
-    'null_grn',
-    'null_blu',
-    'undef_set',
-    'undef_red',
-    'undef_grn',
-    'undef_blu',
-    'fixed',
-    'modular',
-    'cmin',
-    'cmax',
-    'organizing',
-]
-struct_Colors._fields_ = [
-    ('version', c_int),
-    ('shift', DCELL),
-    ('invert', c_int),
-    ('is_float', c_int),
-    ('null_set', c_int),
-    ('null_red', c_ubyte),
-    ('null_grn', c_ubyte),
-    ('null_blu', c_ubyte),
-    ('undef_set', c_int),
-    ('undef_red', c_ubyte),
-    ('undef_grn', c_ubyte),
-    ('undef_blu', c_ubyte),
-    ('fixed', struct__Color_Info_),
-    ('modular', struct__Color_Info_),
-    ('cmin', DCELL),
-    ('cmax', DCELL),
-    ('organizing', c_int),
-]
-
-RASTER_MAP_TYPE = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 22
-
-INTERP_TYPE = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 25
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 28
-class struct_Reclass(Structure):
-    pass
-
-struct_Reclass.__slots__ = [
-    'name',
-    'mapset',
-    'type',
-    'num',
-    'min',
-    'max',
-    'table',
-]
-struct_Reclass._fields_ = [
-    ('name', String),
-    ('mapset', String),
-    ('type', c_int),
-    ('num', c_int),
-    ('min', CELL),
-    ('max', CELL),
-    ('table', POINTER(CELL)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 39
-class struct_FPReclass_table(Structure):
-    pass
-
-struct_FPReclass_table.__slots__ = [
-    'dLow',
-    'dHigh',
-    'rLow',
-    'rHigh',
-]
-struct_FPReclass_table._fields_ = [
-    ('dLow', DCELL),
-    ('dHigh', DCELL),
-    ('rLow', DCELL),
-    ('rHigh', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 49
-class struct_FPReclass(Structure):
-    pass
-
-struct_FPReclass.__slots__ = [
-    'defaultDRuleSet',
-    'defaultRRuleSet',
-    'infiniteLeftSet',
-    'infiniteRightSet',
-    'rRangeSet',
-    'maxNofRules',
-    'nofRules',
-    'defaultDMin',
-    'defaultDMax',
-    'defaultRMin',
-    'defaultRMax',
-    'infiniteDLeft',
-    'infiniteDRight',
-    'infiniteRLeft',
-    'infiniteRRight',
-    'dMin',
-    'dMax',
-    'rMin',
-    'rMax',
-    'table',
-]
-struct_FPReclass._fields_ = [
-    ('defaultDRuleSet', c_int),
-    ('defaultRRuleSet', c_int),
-    ('infiniteLeftSet', c_int),
-    ('infiniteRightSet', c_int),
-    ('rRangeSet', c_int),
-    ('maxNofRules', c_int),
-    ('nofRules', c_int),
-    ('defaultDMin', DCELL),
-    ('defaultDMax', DCELL),
-    ('defaultRMin', DCELL),
-    ('defaultRMax', DCELL),
-    ('infiniteDLeft', DCELL),
-    ('infiniteDRight', DCELL),
-    ('infiniteRLeft', DCELL),
-    ('infiniteRRight', DCELL),
-    ('dMin', DCELL),
-    ('dMax', DCELL),
-    ('rMin', DCELL),
-    ('rMax', DCELL),
-    ('table', POINTER(struct_FPReclass_table)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 73
-class struct_Quant_table(Structure):
-    pass
-
-struct_Quant_table.__slots__ = [
-    'dLow',
-    'dHigh',
-    'cLow',
-    'cHigh',
-]
-struct_Quant_table._fields_ = [
-    ('dLow', DCELL),
-    ('dHigh', DCELL),
-    ('cLow', CELL),
-    ('cHigh', CELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 106
-class struct_anon_23(Structure):
-    pass
-
-struct_anon_23.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-    'inf_dmin',
-    'inf_dmax',
-    'inf_min',
-    'inf_max',
-]
-struct_anon_23._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct_Quant_table))),
-    ('nalloc', c_int),
-    ('active', c_int),
-    ('inf_dmin', DCELL),
-    ('inf_dmax', DCELL),
-    ('inf_min', CELL),
-    ('inf_max', CELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 81
-class struct_Quant(Structure):
-    pass
-
-struct_Quant.__slots__ = [
-    'truncate_only',
-    'round_only',
-    'defaultDRuleSet',
-    'defaultCRuleSet',
-    'infiniteLeftSet',
-    'infiniteRightSet',
-    'cRangeSet',
-    'maxNofRules',
-    'nofRules',
-    'defaultDMin',
-    'defaultDMax',
-    'defaultCMin',
-    'defaultCMax',
-    'infiniteDLeft',
-    'infiniteDRight',
-    'infiniteCLeft',
-    'infiniteCRight',
-    'dMin',
-    'dMax',
-    'cMin',
-    'cMax',
-    'table',
-    'fp_lookup',
-]
-struct_Quant._fields_ = [
-    ('truncate_only', c_int),
-    ('round_only', c_int),
-    ('defaultDRuleSet', c_int),
-    ('defaultCRuleSet', c_int),
-    ('infiniteLeftSet', c_int),
-    ('infiniteRightSet', c_int),
-    ('cRangeSet', c_int),
-    ('maxNofRules', c_int),
-    ('nofRules', c_int),
-    ('defaultDMin', DCELL),
-    ('defaultDMax', DCELL),
-    ('defaultCMin', CELL),
-    ('defaultCMax', CELL),
-    ('infiniteDLeft', DCELL),
-    ('infiniteDRight', DCELL),
-    ('infiniteCLeft', CELL),
-    ('infiniteCRight', CELL),
-    ('dMin', DCELL),
-    ('dMax', DCELL),
-    ('cMin', CELL),
-    ('cMax', CELL),
-    ('table', POINTER(struct_Quant_table)),
-    ('fp_lookup', struct_anon_23),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 124
-class struct_Categories(Structure):
-    pass
-
-struct_Categories.__slots__ = [
-    'ncats',
-    'num',
-    'title',
-    'fmt',
-    'm1',
-    'a1',
-    'm2',
-    'a2',
-    'q',
-    'labels',
-    'marks',
-    'nalloc',
-    'last_marked_rule',
-]
-struct_Categories._fields_ = [
-    ('ncats', CELL),
-    ('num', CELL),
-    ('title', String),
-    ('fmt', String),
-    ('m1', c_float),
-    ('a1', c_float),
-    ('m2', c_float),
-    ('a2', c_float),
-    ('q', struct_Quant),
-    ('labels', POINTER(POINTER(c_char))),
-    ('marks', POINTER(c_int)),
-    ('nalloc', c_int),
-    ('last_marked_rule', c_int),
-]
-
-enum_History_field = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_MAPID = 0 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_TITLE = (HIST_MAPID + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_MAPSET = (HIST_TITLE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_CREATOR = (HIST_MAPSET + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_MAPTYPE = (HIST_CREATOR + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_DATSRC_1 = (HIST_MAPTYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_DATSRC_2 = (HIST_DATSRC_1 + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_KEYWRD = (HIST_DATSRC_2 + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_NUM_FIELDS = (HIST_KEYWRD + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 164
-class struct_History(Structure):
-    pass
-
-struct_History.__slots__ = [
-    'fields',
-    'nlines',
-    'lines',
-]
-struct_History._fields_ = [
-    ('fields', POINTER(c_char) * HIST_NUM_FIELDS),
-    ('nlines', c_int),
-    ('lines', POINTER(POINTER(c_char))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 173
-class struct_Cell_stats_node(Structure):
-    pass
-
-struct_Cell_stats_node.__slots__ = [
-    'idx',
-    'count',
-    'left',
-    'right',
-]
-struct_Cell_stats_node._fields_ = [
-    ('idx', c_int),
-    ('count', POINTER(c_long)),
-    ('left', c_int),
-    ('right', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 171
-class struct_Cell_stats(Structure):
-    pass
-
-struct_Cell_stats.__slots__ = [
-    'node',
-    'tlen',
-    'N',
-    'curp',
-    'null_data_count',
-    'curoffset',
-]
-struct_Cell_stats._fields_ = [
-    ('node', POINTER(struct_Cell_stats_node)),
-    ('tlen', c_int),
-    ('N', c_int),
-    ('curp', c_int),
-    ('null_data_count', c_long),
-    ('curoffset', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 192
-class struct_Histogram_list(Structure):
-    pass
-
-struct_Histogram_list.__slots__ = [
-    'cat',
-    'count',
-]
-struct_Histogram_list._fields_ = [
-    ('cat', CELL),
-    ('count', c_long),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 188
-class struct_Histogram(Structure):
-    pass
-
-struct_Histogram.__slots__ = [
-    'num',
-    'list',
-]
-struct_Histogram._fields_ = [
-    ('num', c_int),
-    ('list', POINTER(struct_Histogram_list)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 199
-class struct_Range(Structure):
-    pass
-
-struct_Range.__slots__ = [
-    'min',
-    'max',
-    'first_time',
-]
-struct_Range._fields_ = [
-    ('min', CELL),
-    ('max', CELL),
-    ('first_time', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 206
-class struct_FPRange(Structure):
-    pass
-
-struct_FPRange.__slots__ = [
-    'min',
-    'max',
-    'first_time',
-]
-struct_FPRange._fields_ = [
-    ('min', DCELL),
-    ('max', DCELL),
-    ('first_time', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 213
-class struct_FP_stats(Structure):
-    pass
-
-struct_FP_stats.__slots__ = [
-    'geometric',
-    'geom_abs',
-    'flip',
-    'count',
-    'min',
-    'max',
-    'stats',
-    'total',
-]
-struct_FP_stats._fields_ = [
-    ('geometric', c_int),
-    ('geom_abs', c_int),
-    ('flip', c_int),
-    ('count', c_int),
-    ('min', DCELL),
-    ('max', DCELL),
-    ('stats', POINTER(c_ulong)),
-    ('total', c_ulong),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 223
-class struct_GDAL_link(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 228
-class struct_anon_24(Structure):
-    pass
-
-struct_anon_24.__slots__ = [
-    'r',
-    'g',
-    'b',
-    'a',
-]
-struct_anon_24._fields_ = [
-    ('r', c_ubyte),
-    ('g', c_ubyte),
-    ('b', c_ubyte),
-    ('a', c_ubyte),
-]
-
-RGBA_Color = struct_anon_24 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 228
-
-RGB_Color = RGBA_Color # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 230
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 9
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_align_window'):
-    Rast_align_window = _libs['grass_raster.7.0.svn'].Rast_align_window
-    Rast_align_window.restype = None
-    Rast_align_window.argtypes = [POINTER(struct_Cell_head), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 12
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_cell_size'):
-    Rast_cell_size = _libs['grass_raster.7.0.svn'].Rast_cell_size
-    Rast_cell_size.restype = c_size_t
-    Rast_cell_size.argtypes = [RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 13
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_buf'):
-    Rast_allocate_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_buf
-    Rast_allocate_buf.restype = POINTER(None)
-    Rast_allocate_buf.argtypes = [RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 14
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_c_buf'):
-    Rast_allocate_c_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_c_buf
-    Rast_allocate_c_buf.restype = POINTER(CELL)
-    Rast_allocate_c_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 15
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_f_buf'):
-    Rast_allocate_f_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_f_buf
-    Rast_allocate_f_buf.restype = POINTER(FCELL)
-    Rast_allocate_f_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 16
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_d_buf'):
-    Rast_allocate_d_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_d_buf
-    Rast_allocate_d_buf.restype = POINTER(DCELL)
-    Rast_allocate_d_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 17
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_null_buf'):
-    Rast_allocate_null_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_null_buf
-    Rast_allocate_null_buf.restype = ReturnString
-    Rast_allocate_null_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 18
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__allocate_null_bits'):
-    Rast__allocate_null_bits = _libs['grass_raster.7.0.svn'].Rast__allocate_null_bits
-    Rast__allocate_null_bits.restype = POINTER(c_ubyte)
-    Rast__allocate_null_bits.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 19
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__null_bitstream_size'):
-    Rast__null_bitstream_size = _libs['grass_raster.7.0.svn'].Rast__null_bitstream_size
-    Rast__null_bitstream_size.restype = c_int
-    Rast__null_bitstream_size.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 21
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_input_buf'):
-    Rast_allocate_input_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_input_buf
-    Rast_allocate_input_buf.restype = POINTER(None)
-    Rast_allocate_input_buf.argtypes = [RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 22
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_c_input_buf'):
-    Rast_allocate_c_input_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_c_input_buf
-    Rast_allocate_c_input_buf.restype = POINTER(CELL)
-    Rast_allocate_c_input_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 23
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_f_input_buf'):
-    Rast_allocate_f_input_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_f_input_buf
-    Rast_allocate_f_input_buf.restype = POINTER(FCELL)
-    Rast_allocate_f_input_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 24
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_d_input_buf'):
-    Rast_allocate_d_input_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_d_input_buf
-    Rast_allocate_d_input_buf.restype = POINTER(DCELL)
-    Rast_allocate_d_input_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 25
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_null_input_buf'):
-    Rast_allocate_null_input_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_null_input_buf
-    Rast_allocate_null_input_buf.restype = ReturnString
-    Rast_allocate_null_input_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 27
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_output_buf'):
-    Rast_allocate_output_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_output_buf
-    Rast_allocate_output_buf.restype = POINTER(None)
-    Rast_allocate_output_buf.argtypes = [RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 28
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_c_output_buf'):
-    Rast_allocate_c_output_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_c_output_buf
-    Rast_allocate_c_output_buf.restype = POINTER(CELL)
-    Rast_allocate_c_output_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 29
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_f_output_buf'):
-    Rast_allocate_f_output_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_f_output_buf
-    Rast_allocate_f_output_buf.restype = POINTER(FCELL)
-    Rast_allocate_f_output_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 30
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_d_output_buf'):
-    Rast_allocate_d_output_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_d_output_buf
-    Rast_allocate_d_output_buf.restype = POINTER(DCELL)
-    Rast_allocate_d_output_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 31
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_null_output_buf'):
-    Rast_allocate_null_output_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_null_output_buf
-    Rast_allocate_null_output_buf.restype = ReturnString
-    Rast_allocate_null_output_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 34
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__check_for_auto_masking'):
-    Rast__check_for_auto_masking = _libs['grass_raster.7.0.svn'].Rast__check_for_auto_masking
-    Rast__check_for_auto_masking.restype = c_int
-    Rast__check_for_auto_masking.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 35
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_suppress_masking'):
-    Rast_suppress_masking = _libs['grass_raster.7.0.svn'].Rast_suppress_masking
-    Rast_suppress_masking.restype = None
-    Rast_suppress_masking.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 36
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_unsuppress_masking'):
-    Rast_unsuppress_masking = _libs['grass_raster.7.0.svn'].Rast_unsuppress_masking
-    Rast_unsuppress_masking.restype = None
-    Rast_unsuppress_masking.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 39
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_cats'):
-    Rast_read_cats = _libs['grass_raster.7.0.svn'].Rast_read_cats
-    Rast_read_cats.restype = c_int
-    Rast_read_cats.argtypes = [String, String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 40
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_vector_cats'):
-    Rast_read_vector_cats = _libs['grass_raster.7.0.svn'].Rast_read_vector_cats
-    Rast_read_vector_cats.restype = c_int
-    Rast_read_vector_cats.argtypes = [String, String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 41
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_max_c_cat'):
-    Rast_get_max_c_cat = _libs['grass_raster.7.0.svn'].Rast_get_max_c_cat
-    Rast_get_max_c_cat.restype = CELL
-    Rast_get_max_c_cat.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 42
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_cats_title'):
-    Rast_get_cats_title = _libs['grass_raster.7.0.svn'].Rast_get_cats_title
-    Rast_get_cats_title.restype = ReturnString
-    Rast_get_cats_title.argtypes = [POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 43
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_c_cat'):
-    Rast_get_c_cat = _libs['grass_raster.7.0.svn'].Rast_get_c_cat
-    Rast_get_c_cat.restype = ReturnString
-    Rast_get_c_cat.argtypes = [POINTER(CELL), POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 44
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_f_cat'):
-    Rast_get_f_cat = _libs['grass_raster.7.0.svn'].Rast_get_f_cat
-    Rast_get_f_cat.restype = ReturnString
-    Rast_get_f_cat.argtypes = [POINTER(FCELL), POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 45
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_d_cat'):
-    Rast_get_d_cat = _libs['grass_raster.7.0.svn'].Rast_get_d_cat
-    Rast_get_d_cat.restype = ReturnString
-    Rast_get_d_cat.argtypes = [POINTER(DCELL), POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 46
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_cat'):
-    Rast_get_cat = _libs['grass_raster.7.0.svn'].Rast_get_cat
-    Rast_get_cat.restype = ReturnString
-    Rast_get_cat.argtypes = [POINTER(None), POINTER(struct_Categories), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 47
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_unmark_cats'):
-    Rast_unmark_cats = _libs['grass_raster.7.0.svn'].Rast_unmark_cats
-    Rast_unmark_cats.restype = None
-    Rast_unmark_cats.argtypes = [POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 48
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_mark_c_cats'):
-    Rast_mark_c_cats = _libs['grass_raster.7.0.svn'].Rast_mark_c_cats
-    Rast_mark_c_cats.restype = None
-    Rast_mark_c_cats.argtypes = [POINTER(CELL), c_int, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 49
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_mark_f_cats'):
-    Rast_mark_f_cats = _libs['grass_raster.7.0.svn'].Rast_mark_f_cats
-    Rast_mark_f_cats.restype = None
-    Rast_mark_f_cats.argtypes = [POINTER(FCELL), c_int, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 50
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_mark_d_cats'):
-    Rast_mark_d_cats = _libs['grass_raster.7.0.svn'].Rast_mark_d_cats
-    Rast_mark_d_cats.restype = None
-    Rast_mark_d_cats.argtypes = [POINTER(DCELL), c_int, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 51
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_mark_cats'):
-    Rast_mark_cats = _libs['grass_raster.7.0.svn'].Rast_mark_cats
-    Rast_mark_cats.restype = c_int
-    Rast_mark_cats.argtypes = [POINTER(None), c_int, POINTER(struct_Categories), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 52
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_rewind_cats'):
-    Rast_rewind_cats = _libs['grass_raster.7.0.svn'].Rast_rewind_cats
-    Rast_rewind_cats.restype = None
-    Rast_rewind_cats.argtypes = [POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 53
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_next_marked_d_cat'):
-    Rast_get_next_marked_d_cat = _libs['grass_raster.7.0.svn'].Rast_get_next_marked_d_cat
-    Rast_get_next_marked_d_cat.restype = ReturnString
-    Rast_get_next_marked_d_cat.argtypes = [POINTER(struct_Categories), POINTER(DCELL), POINTER(DCELL), POINTER(c_long)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 55
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_next_marked_c_cat'):
-    Rast_get_next_marked_c_cat = _libs['grass_raster.7.0.svn'].Rast_get_next_marked_c_cat
-    Rast_get_next_marked_c_cat.restype = ReturnString
-    Rast_get_next_marked_c_cat.argtypes = [POINTER(struct_Categories), POINTER(CELL), POINTER(CELL), POINTER(c_long)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 57
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_next_marked_f_cat'):
-    Rast_get_next_marked_f_cat = _libs['grass_raster.7.0.svn'].Rast_get_next_marked_f_cat
-    Rast_get_next_marked_f_cat.restype = ReturnString
-    Rast_get_next_marked_f_cat.argtypes = [POINTER(struct_Categories), POINTER(FCELL), POINTER(FCELL), POINTER(c_long)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 59
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_next_marked_cat'):
-    Rast_get_next_marked_cat = _libs['grass_raster.7.0.svn'].Rast_get_next_marked_cat
-    Rast_get_next_marked_cat.restype = ReturnString
-    Rast_get_next_marked_cat.argtypes = [POINTER(struct_Categories), POINTER(None), POINTER(None), POINTER(c_long), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 61
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_c_cat'):
-    Rast_set_c_cat = _libs['grass_raster.7.0.svn'].Rast_set_c_cat
-    Rast_set_c_cat.restype = c_int
-    Rast_set_c_cat.argtypes = [POINTER(CELL), POINTER(CELL), String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 62
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_f_cat'):
-    Rast_set_f_cat = _libs['grass_raster.7.0.svn'].Rast_set_f_cat
-    Rast_set_f_cat.restype = c_int
-    Rast_set_f_cat.argtypes = [POINTER(FCELL), POINTER(FCELL), String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 63
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_d_cat'):
-    Rast_set_d_cat = _libs['grass_raster.7.0.svn'].Rast_set_d_cat
-    Rast_set_d_cat.restype = c_int
-    Rast_set_d_cat.argtypes = [POINTER(DCELL), POINTER(DCELL), String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 64
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_cat'):
-    Rast_set_cat = _libs['grass_raster.7.0.svn'].Rast_set_cat
-    Rast_set_cat.restype = c_int
-    Rast_set_cat.argtypes = [POINTER(None), POINTER(None), String, POINTER(struct_Categories), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 66
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_cats'):
-    Rast_write_cats = _libs['grass_raster.7.0.svn'].Rast_write_cats
-    Rast_write_cats.restype = None
-    Rast_write_cats.argtypes = [String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 67
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_vector_cats'):
-    Rast_write_vector_cats = _libs['grass_raster.7.0.svn'].Rast_write_vector_cats
-    Rast_write_vector_cats.restype = None
-    Rast_write_vector_cats.argtypes = [String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 68
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_ith_d_cat'):
-    Rast_get_ith_d_cat = _libs['grass_raster.7.0.svn'].Rast_get_ith_d_cat
-    Rast_get_ith_d_cat.restype = ReturnString
-    Rast_get_ith_d_cat.argtypes = [POINTER(struct_Categories), c_int, POINTER(DCELL), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 70
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_ith_f_cat'):
-    Rast_get_ith_f_cat = _libs['grass_raster.7.0.svn'].Rast_get_ith_f_cat
-    Rast_get_ith_f_cat.restype = ReturnString
-    Rast_get_ith_f_cat.argtypes = [POINTER(struct_Categories), c_int, POINTER(None), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 71
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_ith_c_cat'):
-    Rast_get_ith_c_cat = _libs['grass_raster.7.0.svn'].Rast_get_ith_c_cat
-    Rast_get_ith_c_cat.restype = ReturnString
-    Rast_get_ith_c_cat.argtypes = [POINTER(struct_Categories), c_int, POINTER(None), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 72
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_ith_cat'):
-    Rast_get_ith_cat = _libs['grass_raster.7.0.svn'].Rast_get_ith_cat
-    Rast_get_ith_cat.restype = ReturnString
-    Rast_get_ith_cat.argtypes = [POINTER(struct_Categories), c_int, POINTER(None), POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 74
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_cats'):
-    Rast_init_cats = _libs['grass_raster.7.0.svn'].Rast_init_cats
-    Rast_init_cats.restype = None
-    Rast_init_cats.argtypes = [String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 75
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_cats_title'):
-    Rast_set_cats_title = _libs['grass_raster.7.0.svn'].Rast_set_cats_title
-    Rast_set_cats_title.restype = None
-    Rast_set_cats_title.argtypes = [String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 76
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_cats_fmt'):
-    Rast_set_cats_fmt = _libs['grass_raster.7.0.svn'].Rast_set_cats_fmt
-    Rast_set_cats_fmt.restype = None
-    Rast_set_cats_fmt.argtypes = [String, c_double, c_double, c_double, c_double, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 78
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_free_cats'):
-    Rast_free_cats = _libs['grass_raster.7.0.svn'].Rast_free_cats
-    Rast_free_cats.restype = None
-    Rast_free_cats.argtypes = [POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 79
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_copy_cats'):
-    Rast_copy_cats = _libs['grass_raster.7.0.svn'].Rast_copy_cats
-    Rast_copy_cats.restype = None
-    Rast_copy_cats.argtypes = [POINTER(struct_Categories), POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 80
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_number_of_cats'):
-    Rast_number_of_cats = _libs['grass_raster.7.0.svn'].Rast_number_of_cats
-    Rast_number_of_cats.restype = c_int
-    Rast_number_of_cats.argtypes = [POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 81
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_sort_cats'):
-    Rast_sort_cats = _libs['grass_raster.7.0.svn'].Rast_sort_cats
-    Rast_sort_cats.restype = c_int
-    Rast_sort_cats.argtypes = [POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 84
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_cell_stats'):
-    Rast_init_cell_stats = _libs['grass_raster.7.0.svn'].Rast_init_cell_stats
-    Rast_init_cell_stats.restype = None
-    Rast_init_cell_stats.argtypes = [POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 85
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_update_cell_stats'):
-    Rast_update_cell_stats = _libs['grass_raster.7.0.svn'].Rast_update_cell_stats
-    Rast_update_cell_stats.restype = c_int
-    Rast_update_cell_stats.argtypes = [POINTER(CELL), c_int, POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 86
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_find_cell_stat'):
-    Rast_find_cell_stat = _libs['grass_raster.7.0.svn'].Rast_find_cell_stat
-    Rast_find_cell_stat.restype = c_int
-    Rast_find_cell_stat.argtypes = [CELL, POINTER(c_long), POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 87
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_rewind_cell_stats'):
-    Rast_rewind_cell_stats = _libs['grass_raster.7.0.svn'].Rast_rewind_cell_stats
-    Rast_rewind_cell_stats.restype = c_int
-    Rast_rewind_cell_stats.argtypes = [POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 88
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_next_cell_stat'):
-    Rast_next_cell_stat = _libs['grass_raster.7.0.svn'].Rast_next_cell_stat
-    Rast_next_cell_stat.restype = c_int
-    Rast_next_cell_stat.argtypes = [POINTER(CELL), POINTER(c_long), POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 89
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_stats_for_null_value'):
-    Rast_get_stats_for_null_value = _libs['grass_raster.7.0.svn'].Rast_get_stats_for_null_value
-    Rast_get_stats_for_null_value.restype = None
-    Rast_get_stats_for_null_value.argtypes = [POINTER(c_long), POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 90
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_free_cell_stats'):
-    Rast_free_cell_stats = _libs['grass_raster.7.0.svn'].Rast_free_cell_stats
-    Rast_free_cell_stats.restype = None
-    Rast_free_cell_stats.argtypes = [POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 93
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_cell_title'):
-    Rast_get_cell_title = _libs['grass_raster.7.0.svn'].Rast_get_cell_title
-    Rast_get_cell_title.restype = ReturnString
-    Rast_get_cell_title.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 96
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_cell_stats_histo_eq'):
-    Rast_cell_stats_histo_eq = _libs['grass_raster.7.0.svn'].Rast_cell_stats_histo_eq
-    Rast_cell_stats_histo_eq.restype = c_int
-    Rast_cell_stats_histo_eq.argtypes = [POINTER(struct_Cell_stats), CELL, CELL, CELL, CELL, c_int, CFUNCTYPE(UNCHECKED(None), CELL, CELL, CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 100
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_close'):
-    Rast_close = _libs['grass_raster.7.0.svn'].Rast_close
-    Rast_close.restype = None
-    Rast_close.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 101
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_unopen'):
-    Rast_unopen = _libs['grass_raster.7.0.svn'].Rast_unopen
-    Rast_unopen.restype = None
-    Rast_unopen.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 102
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__unopen_all'):
-    Rast__unopen_all = _libs['grass_raster.7.0.svn'].Rast__unopen_all
-    Rast__unopen_all.restype = None
-    Rast__unopen_all.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 105
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_ryg_colors'):
-    Rast_make_ryg_colors = _libs['grass_raster.7.0.svn'].Rast_make_ryg_colors
-    Rast_make_ryg_colors.restype = None
-    Rast_make_ryg_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 106
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_ryg_fp_colors'):
-    Rast_make_ryg_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_ryg_fp_colors
-    Rast_make_ryg_fp_colors.restype = None
-    Rast_make_ryg_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 107
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_aspect_colors'):
-    Rast_make_aspect_colors = _libs['grass_raster.7.0.svn'].Rast_make_aspect_colors
-    Rast_make_aspect_colors.restype = None
-    Rast_make_aspect_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 108
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_aspect_fp_colors'):
-    Rast_make_aspect_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_aspect_fp_colors
-    Rast_make_aspect_fp_colors.restype = None
-    Rast_make_aspect_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 109
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_byr_colors'):
-    Rast_make_byr_colors = _libs['grass_raster.7.0.svn'].Rast_make_byr_colors
-    Rast_make_byr_colors.restype = None
-    Rast_make_byr_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 110
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_byr_fp_colors'):
-    Rast_make_byr_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_byr_fp_colors
-    Rast_make_byr_fp_colors.restype = None
-    Rast_make_byr_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 111
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_bgyr_colors'):
-    Rast_make_bgyr_colors = _libs['grass_raster.7.0.svn'].Rast_make_bgyr_colors
-    Rast_make_bgyr_colors.restype = None
-    Rast_make_bgyr_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 112
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_bgyr_fp_colors'):
-    Rast_make_bgyr_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_bgyr_fp_colors
-    Rast_make_bgyr_fp_colors.restype = None
-    Rast_make_bgyr_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 113
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_byg_colors'):
-    Rast_make_byg_colors = _libs['grass_raster.7.0.svn'].Rast_make_byg_colors
-    Rast_make_byg_colors.restype = None
-    Rast_make_byg_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 114
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_byg_fp_colors'):
-    Rast_make_byg_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_byg_fp_colors
-    Rast_make_byg_fp_colors.restype = None
-    Rast_make_byg_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 115
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_grey_scale_colors'):
-    Rast_make_grey_scale_colors = _libs['grass_raster.7.0.svn'].Rast_make_grey_scale_colors
-    Rast_make_grey_scale_colors.restype = None
-    Rast_make_grey_scale_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 116
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_grey_scale_fp_colors'):
-    Rast_make_grey_scale_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_grey_scale_fp_colors
-    Rast_make_grey_scale_fp_colors.restype = None
-    Rast_make_grey_scale_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 117
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_gyr_colors'):
-    Rast_make_gyr_colors = _libs['grass_raster.7.0.svn'].Rast_make_gyr_colors
-    Rast_make_gyr_colors.restype = None
-    Rast_make_gyr_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 118
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_gyr_fp_colors'):
-    Rast_make_gyr_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_gyr_fp_colors
-    Rast_make_gyr_fp_colors.restype = None
-    Rast_make_gyr_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 119
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_rainbow_colors'):
-    Rast_make_rainbow_colors = _libs['grass_raster.7.0.svn'].Rast_make_rainbow_colors
-    Rast_make_rainbow_colors.restype = None
-    Rast_make_rainbow_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 120
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_rainbow_fp_colors'):
-    Rast_make_rainbow_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_rainbow_fp_colors
-    Rast_make_rainbow_fp_colors.restype = None
-    Rast_make_rainbow_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 121
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_ramp_colors'):
-    Rast_make_ramp_colors = _libs['grass_raster.7.0.svn'].Rast_make_ramp_colors
-    Rast_make_ramp_colors.restype = None
-    Rast_make_ramp_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 122
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_ramp_fp_colors'):
-    Rast_make_ramp_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_ramp_fp_colors
-    Rast_make_ramp_fp_colors.restype = None
-    Rast_make_ramp_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 123
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_wave_colors'):
-    Rast_make_wave_colors = _libs['grass_raster.7.0.svn'].Rast_make_wave_colors
-    Rast_make_wave_colors.restype = None
-    Rast_make_wave_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 124
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_wave_fp_colors'):
-    Rast_make_wave_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_wave_fp_colors
-    Rast_make_wave_fp_colors.restype = None
-    Rast_make_wave_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 127
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_free_colors'):
-    Rast_free_colors = _libs['grass_raster.7.0.svn'].Rast_free_colors
-    Rast_free_colors.restype = None
-    Rast_free_colors.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 128
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__color_free_rules'):
-    Rast__color_free_rules = _libs['grass_raster.7.0.svn'].Rast__color_free_rules
-    Rast__color_free_rules.restype = None
-    Rast__color_free_rules.argtypes = [POINTER(struct__Color_Info_)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 129
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__color_free_lookup'):
-    Rast__color_free_lookup = _libs['grass_raster.7.0.svn'].Rast__color_free_lookup
-    Rast__color_free_lookup.restype = None
-    Rast__color_free_lookup.argtypes = [POINTER(struct__Color_Info_)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 130
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__color_free_fp_lookup'):
-    Rast__color_free_fp_lookup = _libs['grass_raster.7.0.svn'].Rast__color_free_fp_lookup
-    Rast__color_free_fp_lookup.restype = None
-    Rast__color_free_fp_lookup.argtypes = [POINTER(struct__Color_Info_)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 131
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__color_reset'):
-    Rast__color_reset = _libs['grass_raster.7.0.svn'].Rast__color_reset
-    Rast__color_reset.restype = None
-    Rast__color_reset.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 134
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_color'):
-    Rast_get_color = _libs['grass_raster.7.0.svn'].Rast_get_color
-    Rast_get_color.restype = c_int
-    Rast_get_color.argtypes = [POINTER(None), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(struct_Colors), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 136
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_c_color'):
-    Rast_get_c_color = _libs['grass_raster.7.0.svn'].Rast_get_c_color
-    Rast_get_c_color.restype = c_int
-    Rast_get_c_color.argtypes = [POINTER(CELL), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 137
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_f_color'):
-    Rast_get_f_color = _libs['grass_raster.7.0.svn'].Rast_get_f_color
-    Rast_get_f_color.restype = c_int
-    Rast_get_f_color.argtypes = [POINTER(FCELL), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 138
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_d_color'):
-    Rast_get_d_color = _libs['grass_raster.7.0.svn'].Rast_get_d_color
-    Rast_get_d_color.restype = c_int
-    Rast_get_d_color.argtypes = [POINTER(DCELL), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 139
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_null_value_color'):
-    Rast_get_null_value_color = _libs['grass_raster.7.0.svn'].Rast_get_null_value_color
-    Rast_get_null_value_color.restype = None
-    Rast_get_null_value_color.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 140
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_default_color'):
-    Rast_get_default_color = _libs['grass_raster.7.0.svn'].Rast_get_default_color
-    Rast_get_default_color.restype = None
-    Rast_get_default_color.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 143
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_histogram_eq_colors'):
-    Rast_make_histogram_eq_colors = _libs['grass_raster.7.0.svn'].Rast_make_histogram_eq_colors
-    Rast_make_histogram_eq_colors.restype = None
-    Rast_make_histogram_eq_colors.argtypes = [POINTER(struct_Colors), POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 144
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_histogram_log_colors'):
-    Rast_make_histogram_log_colors = _libs['grass_raster.7.0.svn'].Rast_make_histogram_log_colors
-    Rast_make_histogram_log_colors.restype = None
-    Rast_make_histogram_log_colors.argtypes = [POINTER(struct_Colors), POINTER(struct_Cell_stats), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 147
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_colors'):
-    Rast_init_colors = _libs['grass_raster.7.0.svn'].Rast_init_colors
-    Rast_init_colors.restype = None
-    Rast_init_colors.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 150
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__insert_color_into_lookup'):
-    Rast__insert_color_into_lookup = _libs['grass_raster.7.0.svn'].Rast__insert_color_into_lookup
-    Rast__insert_color_into_lookup.restype = c_int
-    Rast__insert_color_into_lookup.argtypes = [CELL, c_int, c_int, c_int, POINTER(struct__Color_Info_)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 153
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_invert_colors'):
-    Rast_invert_colors = _libs['grass_raster.7.0.svn'].Rast_invert_colors
-    Rast_invert_colors.restype = None
-    Rast_invert_colors.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 156
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_lookup_c_colors'):
-    Rast_lookup_c_colors = _libs['grass_raster.7.0.svn'].Rast_lookup_c_colors
-    Rast_lookup_c_colors.restype = None
-    Rast_lookup_c_colors.argtypes = [POINTER(CELL), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 159
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_lookup_colors'):
-    Rast_lookup_colors = _libs['grass_raster.7.0.svn'].Rast_lookup_colors
-    Rast_lookup_colors.restype = None
-    Rast_lookup_colors.argtypes = [POINTER(None), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), c_int, POINTER(struct_Colors), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 162
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_lookup_f_colors'):
-    Rast_lookup_f_colors = _libs['grass_raster.7.0.svn'].Rast_lookup_f_colors
-    Rast_lookup_f_colors.restype = None
-    Rast_lookup_f_colors.argtypes = [POINTER(FCELL), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 165
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_lookup_d_colors'):
-    Rast_lookup_d_colors = _libs['grass_raster.7.0.svn'].Rast_lookup_d_colors
-    Rast_lookup_d_colors.restype = None
-    Rast_lookup_d_colors.argtypes = [POINTER(DCELL), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 168
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__lookup_colors'):
-    Rast__lookup_colors = _libs['grass_raster.7.0.svn'].Rast__lookup_colors
-    Rast__lookup_colors.restype = None
-    Rast__lookup_colors.argtypes = [POINTER(None), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), c_int, POINTER(struct_Colors), c_int, c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 171
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__interpolate_color_rule'):
-    Rast__interpolate_color_rule = _libs['grass_raster.7.0.svn'].Rast__interpolate_color_rule
-    Rast__interpolate_color_rule.restype = None
-    Rast__interpolate_color_rule.argtypes = [DCELL, POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(struct__Color_Rule_)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 175
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__organize_colors'):
-    Rast__organize_colors = _libs['grass_raster.7.0.svn'].Rast__organize_colors
-    Rast__organize_colors.restype = None
-    Rast__organize_colors.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 178
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_print_colors'):
-    Rast_print_colors = _libs['grass_raster.7.0.svn'].Rast_print_colors
-    Rast_print_colors.restype = None
-    Rast_print_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL, POINTER(FILE), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 181
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_random_colors'):
-    Rast_make_random_colors = _libs['grass_raster.7.0.svn'].Rast_make_random_colors
-    Rast_make_random_colors.restype = None
-    Rast_make_random_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 184
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_c_color_range'):
-    Rast_set_c_color_range = _libs['grass_raster.7.0.svn'].Rast_set_c_color_range
-    Rast_set_c_color_range.restype = None
-    Rast_set_c_color_range.argtypes = [CELL, CELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 185
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_d_color_range'):
-    Rast_set_d_color_range = _libs['grass_raster.7.0.svn'].Rast_set_d_color_range
-    Rast_set_d_color_range.restype = None
-    Rast_set_d_color_range.argtypes = [DCELL, DCELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 186
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_c_color_range'):
-    Rast_get_c_color_range = _libs['grass_raster.7.0.svn'].Rast_get_c_color_range
-    Rast_get_c_color_range.restype = None
-    Rast_get_c_color_range.argtypes = [POINTER(CELL), POINTER(CELL), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 187
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_d_color_range'):
-    Rast_get_d_color_range = _libs['grass_raster.7.0.svn'].Rast_get_d_color_range
-    Rast_get_d_color_range.restype = None
-    Rast_get_d_color_range.argtypes = [POINTER(DCELL), POINTER(DCELL), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 190
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_colors'):
-    Rast_read_colors = _libs['grass_raster.7.0.svn'].Rast_read_colors
-    Rast_read_colors.restype = c_int
-    Rast_read_colors.argtypes = [String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 191
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__read_colors'):
-    Rast__read_colors = _libs['grass_raster.7.0.svn'].Rast__read_colors
-    Rast__read_colors.restype = c_int
-    Rast__read_colors.argtypes = [String, String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 192
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_mark_colors_as_fp'):
-    Rast_mark_colors_as_fp = _libs['grass_raster.7.0.svn'].Rast_mark_colors_as_fp
-    Rast_mark_colors_as_fp.restype = None
-    Rast_mark_colors_as_fp.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 195
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_remove_colors'):
-    Rast_remove_colors = _libs['grass_raster.7.0.svn'].Rast_remove_colors
-    Rast_remove_colors.restype = c_int
-    Rast_remove_colors.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 198
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_d_color_rule'):
-    Rast_add_d_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_d_color_rule
-    Rast_add_d_color_rule.restype = None
-    Rast_add_d_color_rule.argtypes = [POINTER(DCELL), c_int, c_int, c_int, POINTER(DCELL), c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 201
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_f_color_rule'):
-    Rast_add_f_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_f_color_rule
-    Rast_add_f_color_rule.restype = None
-    Rast_add_f_color_rule.argtypes = [POINTER(FCELL), c_int, c_int, c_int, POINTER(FCELL), c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 204
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_c_color_rule'):
-    Rast_add_c_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_c_color_rule
-    Rast_add_c_color_rule.restype = None
-    Rast_add_c_color_rule.argtypes = [POINTER(CELL), c_int, c_int, c_int, POINTER(CELL), c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 207
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_color_rule'):
-    Rast_add_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_color_rule
-    Rast_add_color_rule.restype = None
-    Rast_add_color_rule.argtypes = [POINTER(None), c_int, c_int, c_int, POINTER(None), c_int, c_int, c_int, POINTER(struct_Colors), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 210
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_modular_d_color_rule'):
-    Rast_add_modular_d_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_modular_d_color_rule
-    Rast_add_modular_d_color_rule.restype = c_int
-    Rast_add_modular_d_color_rule.argtypes = [POINTER(DCELL), c_int, c_int, c_int, POINTER(DCELL), c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 213
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_modular_f_color_rule'):
-    Rast_add_modular_f_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_modular_f_color_rule
-    Rast_add_modular_f_color_rule.restype = c_int
-    Rast_add_modular_f_color_rule.argtypes = [POINTER(FCELL), c_int, c_int, c_int, POINTER(FCELL), c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 216
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_modular_c_color_rule'):
-    Rast_add_modular_c_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_modular_c_color_rule
-    Rast_add_modular_c_color_rule.restype = c_int
-    Rast_add_modular_c_color_rule.argtypes = [POINTER(CELL), c_int, c_int, c_int, POINTER(CELL), c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 219
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_modular_color_rule'):
-    Rast_add_modular_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_modular_color_rule
-    Rast_add_modular_color_rule.restype = c_int
-    Rast_add_modular_color_rule.argtypes = [POINTER(None), c_int, c_int, c_int, POINTER(None), c_int, c_int, c_int, POINTER(struct_Colors), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 224
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_colors_count'):
-    Rast_colors_count = _libs['grass_raster.7.0.svn'].Rast_colors_count
-    Rast_colors_count.restype = c_int
-    Rast_colors_count.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 225
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_fp_color_rule'):
-    Rast_get_fp_color_rule = _libs['grass_raster.7.0.svn'].Rast_get_fp_color_rule
-    Rast_get_fp_color_rule.restype = c_int
-    Rast_get_fp_color_rule.argtypes = [POINTER(DCELL), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(DCELL), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(struct_Colors), c_int]
-
-read_rule_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(None), DCELL, DCELL, POINTER(DCELL), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 231
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 233
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_parse_color_rule'):
-    Rast_parse_color_rule = _libs['grass_raster.7.0.svn'].Rast_parse_color_rule
-    Rast_parse_color_rule.restype = c_int
-    Rast_parse_color_rule.argtypes = [DCELL, DCELL, String, POINTER(DCELL), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 235
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_parse_color_rule_error'):
-    Rast_parse_color_rule_error = _libs['grass_raster.7.0.svn'].Rast_parse_color_rule_error
-    Rast_parse_color_rule_error.restype = ReturnString
-    Rast_parse_color_rule_error.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 236
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_color_rule'):
-    Rast_read_color_rule = _libs['grass_raster.7.0.svn'].Rast_read_color_rule
-    Rast_read_color_rule.restype = c_int
-    Rast_read_color_rule.argtypes = [POINTER(None), DCELL, DCELL, POINTER(DCELL), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 238
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_color_rules'):
-    Rast_read_color_rules = _libs['grass_raster.7.0.svn'].Rast_read_color_rules
-    Rast_read_color_rules.restype = c_int
-    Rast_read_color_rules.argtypes = [POINTER(struct_Colors), DCELL, DCELL, POINTER(read_rule_fn), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 239
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_load_colors'):
-    Rast_load_colors = _libs['grass_raster.7.0.svn'].Rast_load_colors
-    Rast_load_colors.restype = c_int
-    Rast_load_colors.argtypes = [POINTER(struct_Colors), String, CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 240
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_load_fp_colors'):
-    Rast_load_fp_colors = _libs['grass_raster.7.0.svn'].Rast_load_fp_colors
-    Rast_load_fp_colors.restype = c_int
-    Rast_load_fp_colors.argtypes = [POINTER(struct_Colors), String, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 241
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_colors'):
-    Rast_make_colors = _libs['grass_raster.7.0.svn'].Rast_make_colors
-    Rast_make_colors.restype = None
-    Rast_make_colors.argtypes = [POINTER(struct_Colors), String, CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 242
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_fp_colors'):
-    Rast_make_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_fp_colors
-    Rast_make_fp_colors.restype = None
-    Rast_make_fp_colors.argtypes = [POINTER(struct_Colors), String, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 245
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_c_color'):
-    Rast_set_c_color = _libs['grass_raster.7.0.svn'].Rast_set_c_color
-    Rast_set_c_color.restype = None
-    Rast_set_c_color.argtypes = [CELL, c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 246
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_d_color'):
-    Rast_set_d_color = _libs['grass_raster.7.0.svn'].Rast_set_d_color
-    Rast_set_d_color.restype = None
-    Rast_set_d_color.argtypes = [DCELL, c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 247
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_null_value_color'):
-    Rast_set_null_value_color = _libs['grass_raster.7.0.svn'].Rast_set_null_value_color
-    Rast_set_null_value_color.restype = None
-    Rast_set_null_value_color.argtypes = [c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 248
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_default_color'):
-    Rast_set_default_color = _libs['grass_raster.7.0.svn'].Rast_set_default_color
-    Rast_set_default_color.restype = None
-    Rast_set_default_color.argtypes = [c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 251
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_shift_c_colors'):
-    Rast_shift_c_colors = _libs['grass_raster.7.0.svn'].Rast_shift_c_colors
-    Rast_shift_c_colors.restype = None
-    Rast_shift_c_colors.argtypes = [CELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 252
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_shift_d_colors'):
-    Rast_shift_d_colors = _libs['grass_raster.7.0.svn'].Rast_shift_d_colors
-    Rast_shift_d_colors.restype = None
-    Rast_shift_d_colors.argtypes = [DCELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 255
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_colors'):
-    Rast_write_colors = _libs['grass_raster.7.0.svn'].Rast_write_colors
-    Rast_write_colors.restype = None
-    Rast_write_colors.argtypes = [String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 256
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__write_colors'):
-    Rast__write_colors = _libs['grass_raster.7.0.svn'].Rast__write_colors
-    Rast__write_colors.restype = None
-    Rast__write_colors.argtypes = [POINTER(FILE), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 259
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_histogram_eq_colors'):
-    Rast_histogram_eq_colors = _libs['grass_raster.7.0.svn'].Rast_histogram_eq_colors
-    Rast_histogram_eq_colors.restype = None
-    Rast_histogram_eq_colors.argtypes = [POINTER(struct_Colors), POINTER(struct_Colors), POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 261
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_histogram_eq_fp_colors'):
-    Rast_histogram_eq_fp_colors = _libs['grass_raster.7.0.svn'].Rast_histogram_eq_fp_colors
-    Rast_histogram_eq_fp_colors.restype = None
-    Rast_histogram_eq_fp_colors.argtypes = [POINTER(struct_Colors), POINTER(struct_Colors), POINTER(struct_FP_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 263
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_log_colors'):
-    Rast_log_colors = _libs['grass_raster.7.0.svn'].Rast_log_colors
-    Rast_log_colors.restype = None
-    Rast_log_colors.argtypes = [POINTER(struct_Colors), POINTER(struct_Colors), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 264
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_abs_log_colors'):
-    Rast_abs_log_colors = _libs['grass_raster.7.0.svn'].Rast_abs_log_colors
-    Rast_abs_log_colors.restype = None
-    Rast_abs_log_colors.argtypes = [POINTER(struct_Colors), POINTER(struct_Colors), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 267
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__check_format'):
-    Rast__check_format = _libs['grass_raster.7.0.svn'].Rast__check_format
-    Rast__check_format.restype = c_int
-    Rast__check_format.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 268
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__read_row_ptrs'):
-    Rast__read_row_ptrs = _libs['grass_raster.7.0.svn'].Rast__read_row_ptrs
-    Rast__read_row_ptrs.restype = c_int
-    Rast__read_row_ptrs.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 269
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__write_row_ptrs'):
-    Rast__write_row_ptrs = _libs['grass_raster.7.0.svn'].Rast__write_row_ptrs
-    Rast__write_row_ptrs.restype = c_int
-    Rast__write_row_ptrs.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 272
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_clear'):
-    Rast_fpreclass_clear = _libs['grass_raster.7.0.svn'].Rast_fpreclass_clear
-    Rast_fpreclass_clear.restype = None
-    Rast_fpreclass_clear.argtypes = [POINTER(struct_FPReclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 273
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_reset'):
-    Rast_fpreclass_reset = _libs['grass_raster.7.0.svn'].Rast_fpreclass_reset
-    Rast_fpreclass_reset.restype = None
-    Rast_fpreclass_reset.argtypes = [POINTER(struct_FPReclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 274
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_init'):
-    Rast_fpreclass_init = _libs['grass_raster.7.0.svn'].Rast_fpreclass_init
-    Rast_fpreclass_init.restype = None
-    Rast_fpreclass_init.argtypes = [POINTER(struct_FPReclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 275
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_set_domain'):
-    Rast_fpreclass_set_domain = _libs['grass_raster.7.0.svn'].Rast_fpreclass_set_domain
-    Rast_fpreclass_set_domain.restype = None
-    Rast_fpreclass_set_domain.argtypes = [POINTER(struct_FPReclass), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 276
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_set_range'):
-    Rast_fpreclass_set_range = _libs['grass_raster.7.0.svn'].Rast_fpreclass_set_range
-    Rast_fpreclass_set_range.restype = None
-    Rast_fpreclass_set_range.argtypes = [POINTER(struct_FPReclass), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 277
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_get_limits'):
-    Rast_fpreclass_get_limits = _libs['grass_raster.7.0.svn'].Rast_fpreclass_get_limits
-    Rast_fpreclass_get_limits.restype = c_int
-    Rast_fpreclass_get_limits.argtypes = [POINTER(struct_FPReclass), POINTER(DCELL), POINTER(DCELL), POINTER(DCELL), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 279
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_nof_rules'):
-    Rast_fpreclass_nof_rules = _libs['grass_raster.7.0.svn'].Rast_fpreclass_nof_rules
-    Rast_fpreclass_nof_rules.restype = c_int
-    Rast_fpreclass_nof_rules.argtypes = [POINTER(struct_FPReclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 280
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_get_ith_rule'):
-    Rast_fpreclass_get_ith_rule = _libs['grass_raster.7.0.svn'].Rast_fpreclass_get_ith_rule
-    Rast_fpreclass_get_ith_rule.restype = None
-    Rast_fpreclass_get_ith_rule.argtypes = [POINTER(struct_FPReclass), c_int, POINTER(DCELL), POINTER(DCELL), POINTER(DCELL), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 282
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_set_neg_infinite_rule'):
-    Rast_fpreclass_set_neg_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_fpreclass_set_neg_infinite_rule
-    Rast_fpreclass_set_neg_infinite_rule.restype = None
-    Rast_fpreclass_set_neg_infinite_rule.argtypes = [POINTER(struct_FPReclass), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 283
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_get_neg_infinite_rule'):
-    Rast_fpreclass_get_neg_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_fpreclass_get_neg_infinite_rule
-    Rast_fpreclass_get_neg_infinite_rule.restype = c_int
-    Rast_fpreclass_get_neg_infinite_rule.argtypes = [POINTER(struct_FPReclass), POINTER(DCELL), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 285
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_set_pos_infinite_rule'):
-    Rast_fpreclass_set_pos_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_fpreclass_set_pos_infinite_rule
-    Rast_fpreclass_set_pos_infinite_rule.restype = None
-    Rast_fpreclass_set_pos_infinite_rule.argtypes = [POINTER(struct_FPReclass), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 286
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_get_pos_infinite_rule'):
-    Rast_fpreclass_get_pos_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_fpreclass_get_pos_infinite_rule
-    Rast_fpreclass_get_pos_infinite_rule.restype = c_int
-    Rast_fpreclass_get_pos_infinite_rule.argtypes = [POINTER(struct_FPReclass), POINTER(DCELL), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 288
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_add_rule'):
-    Rast_fpreclass_add_rule = _libs['grass_raster.7.0.svn'].Rast_fpreclass_add_rule
-    Rast_fpreclass_add_rule.restype = None
-    Rast_fpreclass_add_rule.argtypes = [POINTER(struct_FPReclass), DCELL, DCELL, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 289
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_reverse_rule_order'):
-    Rast_fpreclass_reverse_rule_order = _libs['grass_raster.7.0.svn'].Rast_fpreclass_reverse_rule_order
-    Rast_fpreclass_reverse_rule_order.restype = None
-    Rast_fpreclass_reverse_rule_order.argtypes = [POINTER(struct_FPReclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 290
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_get_cell_value'):
-    Rast_fpreclass_get_cell_value = _libs['grass_raster.7.0.svn'].Rast_fpreclass_get_cell_value
-    Rast_fpreclass_get_cell_value.restype = DCELL
-    Rast_fpreclass_get_cell_value.argtypes = [POINTER(struct_FPReclass), DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 291
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_di'):
-    Rast_fpreclass_perform_di = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_di
-    Rast_fpreclass_perform_di.restype = None
-    Rast_fpreclass_perform_di.argtypes = [POINTER(struct_FPReclass), POINTER(DCELL), POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 293
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_df'):
-    Rast_fpreclass_perform_df = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_df
-    Rast_fpreclass_perform_df.restype = None
-    Rast_fpreclass_perform_df.argtypes = [POINTER(struct_FPReclass), POINTER(DCELL), POINTER(FCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 295
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_dd'):
-    Rast_fpreclass_perform_dd = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_dd
-    Rast_fpreclass_perform_dd.restype = None
-    Rast_fpreclass_perform_dd.argtypes = [POINTER(struct_FPReclass), POINTER(DCELL), POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 297
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_fi'):
-    Rast_fpreclass_perform_fi = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_fi
-    Rast_fpreclass_perform_fi.restype = None
-    Rast_fpreclass_perform_fi.argtypes = [POINTER(struct_FPReclass), POINTER(FCELL), POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 299
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_ff'):
-    Rast_fpreclass_perform_ff = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_ff
-    Rast_fpreclass_perform_ff.restype = None
-    Rast_fpreclass_perform_ff.argtypes = [POINTER(struct_FPReclass), POINTER(FCELL), POINTER(FCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 301
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_fd'):
-    Rast_fpreclass_perform_fd = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_fd
-    Rast_fpreclass_perform_fd.restype = None
-    Rast_fpreclass_perform_fd.argtypes = [POINTER(struct_FPReclass), POINTER(FCELL), POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 303
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_ii'):
-    Rast_fpreclass_perform_ii = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_ii
-    Rast_fpreclass_perform_ii.restype = None
-    Rast_fpreclass_perform_ii.argtypes = [POINTER(struct_FPReclass), POINTER(CELL), POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 305
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_if'):
-    Rast_fpreclass_perform_if = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_if
-    Rast_fpreclass_perform_if.restype = None
-    Rast_fpreclass_perform_if.argtypes = [POINTER(struct_FPReclass), POINTER(CELL), POINTER(FCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 307
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_id'):
-    Rast_fpreclass_perform_id = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_id
-    Rast_fpreclass_perform_id.restype = None
-    Rast_fpreclass_perform_id.argtypes = [POINTER(struct_FPReclass), POINTER(CELL), POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 310
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_gdal'):
-    Rast_init_gdal = _libs['grass_raster.7.0.svn'].Rast_init_gdal
-    Rast_init_gdal.restype = None
-    Rast_init_gdal.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 311
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_gdal_link'):
-    Rast_get_gdal_link = _libs['grass_raster.7.0.svn'].Rast_get_gdal_link
-    Rast_get_gdal_link.restype = POINTER(struct_GDAL_link)
-    Rast_get_gdal_link.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 312
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_create_gdal_link'):
-    Rast_create_gdal_link = _libs['grass_raster.7.0.svn'].Rast_create_gdal_link
-    Rast_create_gdal_link.restype = POINTER(struct_GDAL_link)
-    Rast_create_gdal_link.argtypes = [String, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 313
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_close_gdal_link'):
-    Rast_close_gdal_link = _libs['grass_raster.7.0.svn'].Rast_close_gdal_link
-    Rast_close_gdal_link.restype = None
-    Rast_close_gdal_link.argtypes = [POINTER(struct_GDAL_link)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 314
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_close_gdal_write_link'):
-    Rast_close_gdal_write_link = _libs['grass_raster.7.0.svn'].Rast_close_gdal_write_link
-    Rast_close_gdal_write_link.restype = c_int
-    Rast_close_gdal_write_link.argtypes = [POINTER(struct_GDAL_link)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 317
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_cellhd'):
-    Rast_get_cellhd = _libs['grass_raster.7.0.svn'].Rast_get_cellhd
-    Rast_get_cellhd.restype = None
-    Rast_get_cellhd.argtypes = [String, String, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 320
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_row_nomask'):
-    Rast_get_row_nomask = _libs['grass_raster.7.0.svn'].Rast_get_row_nomask
-    Rast_get_row_nomask.restype = None
-    Rast_get_row_nomask.argtypes = [c_int, POINTER(None), c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 321
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_c_row_nomask'):
-    Rast_get_c_row_nomask = _libs['grass_raster.7.0.svn'].Rast_get_c_row_nomask
-    Rast_get_c_row_nomask.restype = None
-    Rast_get_c_row_nomask.argtypes = [c_int, POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 322
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_f_row_nomask'):
-    Rast_get_f_row_nomask = _libs['grass_raster.7.0.svn'].Rast_get_f_row_nomask
-    Rast_get_f_row_nomask.restype = None
-    Rast_get_f_row_nomask.argtypes = [c_int, POINTER(FCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 323
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_d_row_nomask'):
-    Rast_get_d_row_nomask = _libs['grass_raster.7.0.svn'].Rast_get_d_row_nomask
-    Rast_get_d_row_nomask.restype = None
-    Rast_get_d_row_nomask.argtypes = [c_int, POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 324
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_row'):
-    Rast_get_row = _libs['grass_raster.7.0.svn'].Rast_get_row
-    Rast_get_row.restype = None
-    Rast_get_row.argtypes = [c_int, POINTER(None), c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 325
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_c_row'):
-    Rast_get_c_row = _libs['grass_raster.7.0.svn'].Rast_get_c_row
-    Rast_get_c_row.restype = None
-    Rast_get_c_row.argtypes = [c_int, POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 326
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_f_row'):
-    Rast_get_f_row = _libs['grass_raster.7.0.svn'].Rast_get_f_row
-    Rast_get_f_row.restype = None
-    Rast_get_f_row.argtypes = [c_int, POINTER(FCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 327
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_d_row'):
-    Rast_get_d_row = _libs['grass_raster.7.0.svn'].Rast_get_d_row
-    Rast_get_d_row.restype = None
-    Rast_get_d_row.argtypes = [c_int, POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 328
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_null_value_row'):
-    Rast_get_null_value_row = _libs['grass_raster.7.0.svn'].Rast_get_null_value_row
-    Rast_get_null_value_row.restype = None
-    Rast_get_null_value_row.argtypes = [c_int, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 331
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_row_colors'):
-    Rast_get_row_colors = _libs['grass_raster.7.0.svn'].Rast_get_row_colors
-    Rast_get_row_colors.restype = None
-    Rast_get_row_colors.argtypes = [c_int, c_int, POINTER(struct_Colors), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 335
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_histogram_eq'):
-    Rast_histogram_eq = _libs['grass_raster.7.0.svn'].Rast_histogram_eq
-    Rast_histogram_eq.restype = None
-    Rast_histogram_eq.argtypes = [POINTER(struct_Histogram), POINTER(POINTER(c_ubyte)), POINTER(CELL), POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 339
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_histogram'):
-    Rast_init_histogram = _libs['grass_raster.7.0.svn'].Rast_init_histogram
-    Rast_init_histogram.restype = None
-    Rast_init_histogram.argtypes = [POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 340
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_histogram'):
-    Rast_read_histogram = _libs['grass_raster.7.0.svn'].Rast_read_histogram
-    Rast_read_histogram.restype = c_int
-    Rast_read_histogram.argtypes = [String, String, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 341
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_histogram'):
-    Rast_write_histogram = _libs['grass_raster.7.0.svn'].Rast_write_histogram
-    Rast_write_histogram.restype = None
-    Rast_write_histogram.argtypes = [String, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 342
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_histogram_cs'):
-    Rast_write_histogram_cs = _libs['grass_raster.7.0.svn'].Rast_write_histogram_cs
-    Rast_write_histogram_cs.restype = None
-    Rast_write_histogram_cs.argtypes = [String, POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 343
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_histogram_cs'):
-    Rast_make_histogram_cs = _libs['grass_raster.7.0.svn'].Rast_make_histogram_cs
-    Rast_make_histogram_cs.restype = None
-    Rast_make_histogram_cs.argtypes = [POINTER(struct_Cell_stats), POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 344
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_histogram_num'):
-    Rast_get_histogram_num = _libs['grass_raster.7.0.svn'].Rast_get_histogram_num
-    Rast_get_histogram_num.restype = c_int
-    Rast_get_histogram_num.argtypes = [POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 345
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_histogram_cat'):
-    Rast_get_histogram_cat = _libs['grass_raster.7.0.svn'].Rast_get_histogram_cat
-    Rast_get_histogram_cat.restype = CELL
-    Rast_get_histogram_cat.argtypes = [c_int, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 346
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_histogram_count'):
-    Rast_get_histogram_count = _libs['grass_raster.7.0.svn'].Rast_get_histogram_count
-    Rast_get_histogram_count.restype = c_long
-    Rast_get_histogram_count.argtypes = [c_int, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 347
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_free_histogram'):
-    Rast_free_histogram = _libs['grass_raster.7.0.svn'].Rast_free_histogram
-    Rast_free_histogram.restype = None
-    Rast_free_histogram.argtypes = [POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 348
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_sort_histogram'):
-    Rast_sort_histogram = _libs['grass_raster.7.0.svn'].Rast_sort_histogram
-    Rast_sort_histogram.restype = c_int
-    Rast_sort_histogram.argtypes = [POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 349
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_sort_histogram_by_count'):
-    Rast_sort_histogram_by_count = _libs['grass_raster.7.0.svn'].Rast_sort_histogram_by_count
-    Rast_sort_histogram_by_count.restype = c_int
-    Rast_sort_histogram_by_count.argtypes = [POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 350
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_remove_histogram'):
-    Rast_remove_histogram = _libs['grass_raster.7.0.svn'].Rast_remove_histogram
-    Rast_remove_histogram.restype = None
-    Rast_remove_histogram.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 351
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_histogram'):
-    Rast_add_histogram = _libs['grass_raster.7.0.svn'].Rast_add_histogram
-    Rast_add_histogram.restype = c_int
-    Rast_add_histogram.argtypes = [CELL, c_long, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 352
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_histogram'):
-    Rast_set_histogram = _libs['grass_raster.7.0.svn'].Rast_set_histogram
-    Rast_set_histogram.restype = c_int
-    Rast_set_histogram.argtypes = [CELL, c_long, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 353
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_extend_histogram'):
-    Rast_extend_histogram = _libs['grass_raster.7.0.svn'].Rast_extend_histogram
-    Rast_extend_histogram.restype = None
-    Rast_extend_histogram.argtypes = [CELL, c_long, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 354
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_zero_histogram'):
-    Rast_zero_histogram = _libs['grass_raster.7.0.svn'].Rast_zero_histogram
-    Rast_zero_histogram.restype = None
-    Rast_zero_histogram.argtypes = [POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 357
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__read_history'):
-    Rast__read_history = _libs['grass_raster.7.0.svn'].Rast__read_history
-    Rast__read_history.restype = c_int
-    Rast__read_history.argtypes = [POINTER(struct_History), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 358
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_history'):
-    Rast_read_history = _libs['grass_raster.7.0.svn'].Rast_read_history
-    Rast_read_history.restype = c_int
-    Rast_read_history.argtypes = [String, String, POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 359
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__write_history'):
-    Rast__write_history = _libs['grass_raster.7.0.svn'].Rast__write_history
-    Rast__write_history.restype = None
-    Rast__write_history.argtypes = [POINTER(struct_History), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 360
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_history'):
-    Rast_write_history = _libs['grass_raster.7.0.svn'].Rast_write_history
-    Rast_write_history.restype = None
-    Rast_write_history.argtypes = [String, POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 361
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_short_history'):
-    Rast_short_history = _libs['grass_raster.7.0.svn'].Rast_short_history
-    Rast_short_history.restype = None
-    Rast_short_history.argtypes = [String, String, POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 362
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_command_history'):
-    Rast_command_history = _libs['grass_raster.7.0.svn'].Rast_command_history
-    Rast_command_history.restype = c_int
-    Rast_command_history.argtypes = [POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 363
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_append_history'):
-    Rast_append_history = _libs['grass_raster.7.0.svn'].Rast_append_history
-    Rast_append_history.restype = None
-    Rast_append_history.argtypes = [POINTER(struct_History), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 364
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_append_format_history'):
-    _func = _libs['grass_raster.7.0.svn'].Rast_append_format_history
-    _restype = None
-    _argtypes = [POINTER(struct_History), String]
-    Rast_append_format_history = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 366
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_history'):
-    Rast_get_history = _libs['grass_raster.7.0.svn'].Rast_get_history
-    Rast_get_history.restype = ReturnString
-    Rast_get_history.argtypes = [POINTER(struct_History), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 367
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_history'):
-    Rast_set_history = _libs['grass_raster.7.0.svn'].Rast_set_history
-    Rast_set_history.restype = None
-    Rast_set_history.argtypes = [POINTER(struct_History), c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 368
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_format_history'):
-    _func = _libs['grass_raster.7.0.svn'].Rast_format_history
-    _restype = None
-    _argtypes = [POINTER(struct_History), c_int, String]
-    Rast_format_history = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 370
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_clear_history'):
-    Rast_clear_history = _libs['grass_raster.7.0.svn'].Rast_clear_history
-    Rast_clear_history.restype = None
-    Rast_clear_history.argtypes = [POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 371
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_free_history'):
-    Rast_free_history = _libs['grass_raster.7.0.svn'].Rast_free_history
-    Rast_free_history.restype = None
-    Rast_free_history.argtypes = [POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 372
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_history_length'):
-    Rast_history_length = _libs['grass_raster.7.0.svn'].Rast_history_length
-    Rast_history_length.restype = c_int
-    Rast_history_length.argtypes = [POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 373
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_history_line'):
-    Rast_history_line = _libs['grass_raster.7.0.svn'].Rast_history_line
-    Rast_history_line.restype = ReturnString
-    Rast_history_line.argtypes = [POINTER(struct_History), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 376
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init'):
-    Rast_init = _libs['grass_raster.7.0.svn'].Rast_init
-    Rast_init.restype = None
-    Rast_init.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 377
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__check_init'):
-    Rast__check_init = _libs['grass_raster.7.0.svn'].Rast__check_init
-    Rast__check_init.restype = None
-    Rast__check_init.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 378
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_all'):
-    Rast_init_all = _libs['grass_raster.7.0.svn'].Rast_init_all
-    Rast_init_all.restype = None
-    Rast_init_all.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 379
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__init'):
-    Rast__init = _libs['grass_raster.7.0.svn'].Rast__init
-    Rast__init.restype = None
-    Rast__init.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 380
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__error_handler'):
-    Rast__error_handler = _libs['grass_raster.7.0.svn'].Rast__error_handler
-    Rast__error_handler.restype = None
-    Rast__error_handler.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 383
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_linear'):
-    Rast_interp_linear = _libs['grass_raster.7.0.svn'].Rast_interp_linear
-    Rast_interp_linear.restype = DCELL
-    Rast_interp_linear.argtypes = [c_double, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 384
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_bilinear'):
-    Rast_interp_bilinear = _libs['grass_raster.7.0.svn'].Rast_interp_bilinear
-    Rast_interp_bilinear.restype = DCELL
-    Rast_interp_bilinear.argtypes = [c_double, c_double, DCELL, DCELL, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 385
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_cubic'):
-    Rast_interp_cubic = _libs['grass_raster.7.0.svn'].Rast_interp_cubic
-    Rast_interp_cubic.restype = DCELL
-    Rast_interp_cubic.argtypes = [c_double, DCELL, DCELL, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 386
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_bicubic'):
-    Rast_interp_bicubic = _libs['grass_raster.7.0.svn'].Rast_interp_bicubic
-    Rast_interp_bicubic.restype = DCELL
-    Rast_interp_bicubic.argtypes = [c_double, c_double, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 390
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_lanczos'):
-    Rast_interp_lanczos = _libs['grass_raster.7.0.svn'].Rast_interp_lanczos
-    Rast_interp_lanczos.restype = DCELL
-    Rast_interp_lanczos.argtypes = [c_double, c_double, POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 391
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_cubic_bspline'):
-    Rast_interp_cubic_bspline = _libs['grass_raster.7.0.svn'].Rast_interp_cubic_bspline
-    Rast_interp_cubic_bspline.restype = DCELL
-    Rast_interp_cubic_bspline.argtypes = [c_double, DCELL, DCELL, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 392
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_bicubic_bspline'):
-    Rast_interp_bicubic_bspline = _libs['grass_raster.7.0.svn'].Rast_interp_bicubic_bspline
-    Rast_interp_bicubic_bspline.restype = DCELL
-    Rast_interp_bicubic_bspline.argtypes = [c_double, c_double, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 398
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_mask_info'):
-    Rast_mask_info = _libs['grass_raster.7.0.svn'].Rast_mask_info
-    Rast_mask_info.restype = ReturnString
-    Rast_mask_info.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 399
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__mask_info'):
-    Rast__mask_info = _libs['grass_raster.7.0.svn'].Rast__mask_info
-    Rast__mask_info.restype = c_int
-    Rast__mask_info.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 402
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_maskfd'):
-    Rast_maskfd = _libs['grass_raster.7.0.svn'].Rast_maskfd
-    Rast_maskfd.restype = c_int
-    Rast_maskfd.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 412
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__set_null_value'):
-    Rast__set_null_value = _libs['grass_raster.7.0.svn'].Rast__set_null_value
-    Rast__set_null_value.restype = None
-    Rast__set_null_value.argtypes = [POINTER(None), c_int, c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 413
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_null_value'):
-    Rast_set_null_value = _libs['grass_raster.7.0.svn'].Rast_set_null_value
-    Rast_set_null_value.restype = None
-    Rast_set_null_value.argtypes = [POINTER(None), c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 414
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_c_null_value'):
-    Rast_set_c_null_value = _libs['grass_raster.7.0.svn'].Rast_set_c_null_value
-    Rast_set_c_null_value.restype = None
-    Rast_set_c_null_value.argtypes = [POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 415
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_f_null_value'):
-    Rast_set_f_null_value = _libs['grass_raster.7.0.svn'].Rast_set_f_null_value
-    Rast_set_f_null_value.restype = None
-    Rast_set_f_null_value.argtypes = [POINTER(FCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 416
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_d_null_value'):
-    Rast_set_d_null_value = _libs['grass_raster.7.0.svn'].Rast_set_d_null_value
-    Rast_set_d_null_value.restype = None
-    Rast_set_d_null_value.argtypes = [POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 417
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_is_null_value'):
-    Rast_is_null_value = _libs['grass_raster.7.0.svn'].Rast_is_null_value
-    Rast_is_null_value.restype = c_int
-    Rast_is_null_value.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 427
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_insert_null_values'):
-    Rast_insert_null_values = _libs['grass_raster.7.0.svn'].Rast_insert_null_values
-    Rast_insert_null_values.restype = None
-    Rast_insert_null_values.argtypes = [POINTER(None), String, c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 428
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_insert_c_null_values'):
-    Rast_insert_c_null_values = _libs['grass_raster.7.0.svn'].Rast_insert_c_null_values
-    Rast_insert_c_null_values.restype = None
-    Rast_insert_c_null_values.argtypes = [POINTER(CELL), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 429
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_insert_f_null_values'):
-    Rast_insert_f_null_values = _libs['grass_raster.7.0.svn'].Rast_insert_f_null_values
-    Rast_insert_f_null_values.restype = None
-    Rast_insert_f_null_values.argtypes = [POINTER(FCELL), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 430
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_insert_d_null_values'):
-    Rast_insert_d_null_values = _libs['grass_raster.7.0.svn'].Rast_insert_d_null_values
-    Rast_insert_d_null_values.restype = None
-    Rast_insert_d_null_values.argtypes = [POINTER(DCELL), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 431
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__check_null_bit'):
-    Rast__check_null_bit = _libs['grass_raster.7.0.svn'].Rast__check_null_bit
-    Rast__check_null_bit.restype = c_int
-    Rast__check_null_bit.argtypes = [POINTER(c_ubyte), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 432
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__convert_01_flags'):
-    Rast__convert_01_flags = _libs['grass_raster.7.0.svn'].Rast__convert_01_flags
-    Rast__convert_01_flags.restype = None
-    Rast__convert_01_flags.argtypes = [String, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 433
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__convert_flags_01'):
-    Rast__convert_flags_01 = _libs['grass_raster.7.0.svn'].Rast__convert_flags_01
-    Rast__convert_flags_01.restype = None
-    Rast__convert_flags_01.argtypes = [String, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 434
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__init_null_bits'):
-    Rast__init_null_bits = _libs['grass_raster.7.0.svn'].Rast__init_null_bits
-    Rast__init_null_bits.restype = None
-    Rast__init_null_bits.argtypes = [POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 437
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_old'):
-    Rast_open_old = _libs['grass_raster.7.0.svn'].Rast_open_old
-    Rast_open_old.restype = c_int
-    Rast_open_old.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 438
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__open_old'):
-    Rast__open_old = _libs['grass_raster.7.0.svn'].Rast__open_old
-    Rast__open_old.restype = c_int
-    Rast__open_old.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 439
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_c_new'):
-    Rast_open_c_new = _libs['grass_raster.7.0.svn'].Rast_open_c_new
-    Rast_open_c_new.restype = c_int
-    Rast_open_c_new.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 440
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_c_new_uncompressed'):
-    Rast_open_c_new_uncompressed = _libs['grass_raster.7.0.svn'].Rast_open_c_new_uncompressed
-    Rast_open_c_new_uncompressed.restype = c_int
-    Rast_open_c_new_uncompressed.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 441
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_want_histogram'):
-    Rast_want_histogram = _libs['grass_raster.7.0.svn'].Rast_want_histogram
-    Rast_want_histogram.restype = None
-    Rast_want_histogram.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 442
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_cell_format'):
-    Rast_set_cell_format = _libs['grass_raster.7.0.svn'].Rast_set_cell_format
-    Rast_set_cell_format.restype = None
-    Rast_set_cell_format.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 443
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_cell_format'):
-    Rast_get_cell_format = _libs['grass_raster.7.0.svn'].Rast_get_cell_format
-    Rast_get_cell_format.restype = c_int
-    Rast_get_cell_format.argtypes = [CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 444
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_fp_new'):
-    Rast_open_fp_new = _libs['grass_raster.7.0.svn'].Rast_open_fp_new
-    Rast_open_fp_new.restype = c_int
-    Rast_open_fp_new.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 445
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_fp_new_uncompressed'):
-    Rast_open_fp_new_uncompressed = _libs['grass_raster.7.0.svn'].Rast_open_fp_new_uncompressed
-    Rast_open_fp_new_uncompressed.restype = c_int
-    Rast_open_fp_new_uncompressed.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 446
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_fp_type'):
-    Rast_set_fp_type = _libs['grass_raster.7.0.svn'].Rast_set_fp_type
-    Rast_set_fp_type.restype = None
-    Rast_set_fp_type.argtypes = [RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 447
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_map_is_fp'):
-    Rast_map_is_fp = _libs['grass_raster.7.0.svn'].Rast_map_is_fp
-    Rast_map_is_fp.restype = c_int
-    Rast_map_is_fp.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 448
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_map_type'):
-    Rast_map_type = _libs['grass_raster.7.0.svn'].Rast_map_type
-    Rast_map_type.restype = RASTER_MAP_TYPE
-    Rast_map_type.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 449
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__check_fp_type'):
-    Rast__check_fp_type = _libs['grass_raster.7.0.svn'].Rast__check_fp_type
-    Rast__check_fp_type.restype = RASTER_MAP_TYPE
-    Rast__check_fp_type.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 450
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_map_type'):
-    Rast_get_map_type = _libs['grass_raster.7.0.svn'].Rast_get_map_type
-    Rast_get_map_type.restype = RASTER_MAP_TYPE
-    Rast_get_map_type.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 451
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_new'):
-    Rast_open_new = _libs['grass_raster.7.0.svn'].Rast_open_new
-    Rast_open_new.restype = c_int
-    Rast_open_new.argtypes = [String, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 452
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_new_uncompressed'):
-    Rast_open_new_uncompressed = _libs['grass_raster.7.0.svn'].Rast_open_new_uncompressed
-    Rast_open_new_uncompressed.restype = c_int
-    Rast_open_new_uncompressed.argtypes = [String, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 453
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_quant_rules'):
-    Rast_set_quant_rules = _libs['grass_raster.7.0.svn'].Rast_set_quant_rules
-    Rast_set_quant_rules.restype = None
-    Rast_set_quant_rules.argtypes = [c_int, POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 456
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_cellhd'):
-    Rast_put_cellhd = _libs['grass_raster.7.0.svn'].Rast_put_cellhd
-    Rast_put_cellhd.restype = None
-    Rast_put_cellhd.argtypes = [String, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 459
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_row'):
-    Rast_put_row = _libs['grass_raster.7.0.svn'].Rast_put_row
-    Rast_put_row.restype = None
-    Rast_put_row.argtypes = [c_int, POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 460
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_c_row'):
-    Rast_put_c_row = _libs['grass_raster.7.0.svn'].Rast_put_c_row
-    Rast_put_c_row.restype = None
-    Rast_put_c_row.argtypes = [c_int, POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 461
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_f_row'):
-    Rast_put_f_row = _libs['grass_raster.7.0.svn'].Rast_put_f_row
-    Rast_put_f_row.restype = None
-    Rast_put_f_row.argtypes = [c_int, POINTER(FCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 462
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_d_row'):
-    Rast_put_d_row = _libs['grass_raster.7.0.svn'].Rast_put_d_row
-    Rast_put_d_row.restype = None
-    Rast_put_d_row.argtypes = [c_int, POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 463
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__open_null_write'):
-    Rast__open_null_write = _libs['grass_raster.7.0.svn'].Rast__open_null_write
-    Rast__open_null_write.restype = c_int
-    Rast__open_null_write.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 464
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__write_null_bits'):
-    Rast__write_null_bits = _libs['grass_raster.7.0.svn'].Rast__write_null_bits
-    Rast__write_null_bits.restype = None
-    Rast__write_null_bits.argtypes = [c_int, POINTER(c_ubyte), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 467
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_cell_title'):
-    Rast_put_cell_title = _libs['grass_raster.7.0.svn'].Rast_put_cell_title
-    Rast_put_cell_title.restype = c_int
-    Rast_put_cell_title.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 470
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_clear'):
-    Rast_quant_clear = _libs['grass_raster.7.0.svn'].Rast_quant_clear
-    Rast_quant_clear.restype = None
-    Rast_quant_clear.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 471
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_free'):
-    Rast_quant_free = _libs['grass_raster.7.0.svn'].Rast_quant_free
-    Rast_quant_free.restype = None
-    Rast_quant_free.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 472
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__quant_organize_fp_lookup'):
-    Rast__quant_organize_fp_lookup = _libs['grass_raster.7.0.svn'].Rast__quant_organize_fp_lookup
-    Rast__quant_organize_fp_lookup.restype = c_int
-    Rast__quant_organize_fp_lookup.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 473
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_init'):
-    Rast_quant_init = _libs['grass_raster.7.0.svn'].Rast_quant_init
-    Rast_quant_init.restype = None
-    Rast_quant_init.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 474
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_is_truncate'):
-    Rast_quant_is_truncate = _libs['grass_raster.7.0.svn'].Rast_quant_is_truncate
-    Rast_quant_is_truncate.restype = c_int
-    Rast_quant_is_truncate.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 475
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_is_round'):
-    Rast_quant_is_round = _libs['grass_raster.7.0.svn'].Rast_quant_is_round
-    Rast_quant_is_round.restype = c_int
-    Rast_quant_is_round.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 476
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_truncate'):
-    Rast_quant_truncate = _libs['grass_raster.7.0.svn'].Rast_quant_truncate
-    Rast_quant_truncate.restype = None
-    Rast_quant_truncate.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 477
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_round'):
-    Rast_quant_round = _libs['grass_raster.7.0.svn'].Rast_quant_round
-    Rast_quant_round.restype = None
-    Rast_quant_round.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 478
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_get_limits'):
-    Rast_quant_get_limits = _libs['grass_raster.7.0.svn'].Rast_quant_get_limits
-    Rast_quant_get_limits.restype = c_int
-    Rast_quant_get_limits.argtypes = [POINTER(struct_Quant), POINTER(DCELL), POINTER(DCELL), POINTER(CELL), POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 480
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_nof_rules'):
-    Rast_quant_nof_rules = _libs['grass_raster.7.0.svn'].Rast_quant_nof_rules
-    Rast_quant_nof_rules.restype = c_int
-    Rast_quant_nof_rules.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 481
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_get_ith_rule'):
-    Rast_quant_get_ith_rule = _libs['grass_raster.7.0.svn'].Rast_quant_get_ith_rule
-    Rast_quant_get_ith_rule.restype = None
-    Rast_quant_get_ith_rule.argtypes = [POINTER(struct_Quant), c_int, POINTER(DCELL), POINTER(DCELL), POINTER(CELL), POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 483
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_set_neg_infinite_rule'):
-    Rast_quant_set_neg_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_quant_set_neg_infinite_rule
-    Rast_quant_set_neg_infinite_rule.restype = None
-    Rast_quant_set_neg_infinite_rule.argtypes = [POINTER(struct_Quant), DCELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 484
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_get_neg_infinite_rule'):
-    Rast_quant_get_neg_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_quant_get_neg_infinite_rule
-    Rast_quant_get_neg_infinite_rule.restype = c_int
-    Rast_quant_get_neg_infinite_rule.argtypes = [POINTER(struct_Quant), POINTER(DCELL), POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 485
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_set_pos_infinite_rule'):
-    Rast_quant_set_pos_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_quant_set_pos_infinite_rule
-    Rast_quant_set_pos_infinite_rule.restype = None
-    Rast_quant_set_pos_infinite_rule.argtypes = [POINTER(struct_Quant), DCELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 486
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_get_pos_infinite_rule'):
-    Rast_quant_get_pos_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_quant_get_pos_infinite_rule
-    Rast_quant_get_pos_infinite_rule.restype = c_int
-    Rast_quant_get_pos_infinite_rule.argtypes = [POINTER(struct_Quant), POINTER(DCELL), POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 487
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_add_rule'):
-    Rast_quant_add_rule = _libs['grass_raster.7.0.svn'].Rast_quant_add_rule
-    Rast_quant_add_rule.restype = None
-    Rast_quant_add_rule.argtypes = [POINTER(struct_Quant), DCELL, DCELL, CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 488
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_reverse_rule_order'):
-    Rast_quant_reverse_rule_order = _libs['grass_raster.7.0.svn'].Rast_quant_reverse_rule_order
-    Rast_quant_reverse_rule_order.restype = None
-    Rast_quant_reverse_rule_order.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 489
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_get_cell_value'):
-    Rast_quant_get_cell_value = _libs['grass_raster.7.0.svn'].Rast_quant_get_cell_value
-    Rast_quant_get_cell_value.restype = CELL
-    Rast_quant_get_cell_value.argtypes = [POINTER(struct_Quant), DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 490
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_perform_d'):
-    Rast_quant_perform_d = _libs['grass_raster.7.0.svn'].Rast_quant_perform_d
-    Rast_quant_perform_d.restype = None
-    Rast_quant_perform_d.argtypes = [POINTER(struct_Quant), POINTER(DCELL), POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 491
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_perform_f'):
-    Rast_quant_perform_f = _libs['grass_raster.7.0.svn'].Rast_quant_perform_f
-    Rast_quant_perform_f.restype = None
-    Rast_quant_perform_f.argtypes = [POINTER(struct_Quant), POINTER(FCELL), POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 492
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__quant_get_rule_for_d_raster_val'):
-    Rast__quant_get_rule_for_d_raster_val = _libs['grass_raster.7.0.svn'].Rast__quant_get_rule_for_d_raster_val
-    Rast__quant_get_rule_for_d_raster_val.restype = POINTER(struct_Quant_table)
-    Rast__quant_get_rule_for_d_raster_val.argtypes = [POINTER(struct_Quant), DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 496
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__quant_import'):
-    Rast__quant_import = _libs['grass_raster.7.0.svn'].Rast__quant_import
-    Rast__quant_import.restype = c_int
-    Rast__quant_import.argtypes = [String, String, POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 497
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__quant_export'):
-    Rast__quant_export = _libs['grass_raster.7.0.svn'].Rast__quant_export
-    Rast__quant_export.restype = c_int
-    Rast__quant_export.argtypes = [String, String, POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 500
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_truncate_fp_map'):
-    Rast_truncate_fp_map = _libs['grass_raster.7.0.svn'].Rast_truncate_fp_map
-    Rast_truncate_fp_map.restype = None
-    Rast_truncate_fp_map.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 501
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_round_fp_map'):
-    Rast_round_fp_map = _libs['grass_raster.7.0.svn'].Rast_round_fp_map
-    Rast_round_fp_map.restype = None
-    Rast_round_fp_map.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 502
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quantize_fp_map'):
-    Rast_quantize_fp_map = _libs['grass_raster.7.0.svn'].Rast_quantize_fp_map
-    Rast_quantize_fp_map.restype = None
-    Rast_quantize_fp_map.argtypes = [String, String, CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 503
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quantize_fp_map_range'):
-    Rast_quantize_fp_map_range = _libs['grass_raster.7.0.svn'].Rast_quantize_fp_map_range
-    Rast_quantize_fp_map_range.restype = None
-    Rast_quantize_fp_map_range.argtypes = [String, String, DCELL, DCELL, CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 505
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_quant'):
-    Rast_write_quant = _libs['grass_raster.7.0.svn'].Rast_write_quant
-    Rast_write_quant.restype = None
-    Rast_write_quant.argtypes = [String, String, POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 506
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_quant'):
-    Rast_read_quant = _libs['grass_raster.7.0.svn'].Rast_read_quant
-    Rast_read_quant.restype = c_int
-    Rast_read_quant.argtypes = [String, String, POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 509
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__remove_fp_range'):
-    Rast__remove_fp_range = _libs['grass_raster.7.0.svn'].Rast__remove_fp_range
-    Rast__remove_fp_range.restype = None
-    Rast__remove_fp_range.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 510
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_construct_default_range'):
-    Rast_construct_default_range = _libs['grass_raster.7.0.svn'].Rast_construct_default_range
-    Rast_construct_default_range.restype = None
-    Rast_construct_default_range.argtypes = [POINTER(struct_Range)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 511
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_fp_range'):
-    Rast_read_fp_range = _libs['grass_raster.7.0.svn'].Rast_read_fp_range
-    Rast_read_fp_range.restype = c_int
-    Rast_read_fp_range.argtypes = [String, String, POINTER(struct_FPRange)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 512
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_range'):
-    Rast_read_range = _libs['grass_raster.7.0.svn'].Rast_read_range
-    Rast_read_range.restype = c_int
-    Rast_read_range.argtypes = [String, String, POINTER(struct_Range)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 513
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_range'):
-    Rast_write_range = _libs['grass_raster.7.0.svn'].Rast_write_range
-    Rast_write_range.restype = None
-    Rast_write_range.argtypes = [String, POINTER(struct_Range)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 514
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_fp_range'):
-    Rast_write_fp_range = _libs['grass_raster.7.0.svn'].Rast_write_fp_range
-    Rast_write_fp_range.restype = None
-    Rast_write_fp_range.argtypes = [String, POINTER(struct_FPRange)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 515
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_update_range'):
-    Rast_update_range = _libs['grass_raster.7.0.svn'].Rast_update_range
-    Rast_update_range.restype = None
-    Rast_update_range.argtypes = [CELL, POINTER(struct_Range)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 516
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_update_fp_range'):
-    Rast_update_fp_range = _libs['grass_raster.7.0.svn'].Rast_update_fp_range
-    Rast_update_fp_range.restype = None
-    Rast_update_fp_range.argtypes = [DCELL, POINTER(struct_FPRange)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 517
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_row_update_range'):
-    Rast_row_update_range = _libs['grass_raster.7.0.svn'].Rast_row_update_range
-    Rast_row_update_range.restype = None
-    Rast_row_update_range.argtypes = [POINTER(CELL), c_int, POINTER(struct_Range)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 518
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__row_update_range'):
-    Rast__row_update_range = _libs['grass_raster.7.0.svn'].Rast__row_update_range
-    Rast__row_update_range.restype = None
-    Rast__row_update_range.argtypes = [POINTER(CELL), c_int, POINTER(struct_Range), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 519
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_row_update_fp_range'):
-    Rast_row_update_fp_range = _libs['grass_raster.7.0.svn'].Rast_row_update_fp_range
-    Rast_row_update_fp_range.restype = None
-    Rast_row_update_fp_range.argtypes = [POINTER(None), c_int, POINTER(struct_FPRange), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 521
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_range'):
-    Rast_init_range = _libs['grass_raster.7.0.svn'].Rast_init_range
-    Rast_init_range.restype = None
-    Rast_init_range.argtypes = [POINTER(struct_Range)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 522
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_range_min_max'):
-    Rast_get_range_min_max = _libs['grass_raster.7.0.svn'].Rast_get_range_min_max
-    Rast_get_range_min_max.restype = None
-    Rast_get_range_min_max.argtypes = [POINTER(struct_Range), POINTER(CELL), POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 523
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_fp_range'):
-    Rast_init_fp_range = _libs['grass_raster.7.0.svn'].Rast_init_fp_range
-    Rast_init_fp_range.restype = None
-    Rast_init_fp_range.argtypes = [POINTER(struct_FPRange)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 524
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_fp_range_min_max'):
-    Rast_get_fp_range_min_max = _libs['grass_raster.7.0.svn'].Rast_get_fp_range_min_max
-    Rast_get_fp_range_min_max.restype = None
-    Rast_get_fp_range_min_max.argtypes = [POINTER(struct_FPRange), POINTER(DCELL), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 527
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_raster_cmp'):
-    Rast_raster_cmp = _libs['grass_raster.7.0.svn'].Rast_raster_cmp
-    Rast_raster_cmp.restype = c_int
-    Rast_raster_cmp.argtypes = [POINTER(None), POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 528
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_raster_cpy'):
-    Rast_raster_cpy = _libs['grass_raster.7.0.svn'].Rast_raster_cpy
-    Rast_raster_cpy.restype = None
-    Rast_raster_cpy.argtypes = [POINTER(None), POINTER(None), c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 529
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_c_value'):
-    Rast_set_c_value = _libs['grass_raster.7.0.svn'].Rast_set_c_value
-    Rast_set_c_value.restype = None
-    Rast_set_c_value.argtypes = [POINTER(None), CELL, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 530
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_f_value'):
-    Rast_set_f_value = _libs['grass_raster.7.0.svn'].Rast_set_f_value
-    Rast_set_f_value.restype = None
-    Rast_set_f_value.argtypes = [POINTER(None), FCELL, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 531
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_d_value'):
-    Rast_set_d_value = _libs['grass_raster.7.0.svn'].Rast_set_d_value
-    Rast_set_d_value.restype = None
-    Rast_set_d_value.argtypes = [POINTER(None), DCELL, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 532
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_c_value'):
-    Rast_get_c_value = _libs['grass_raster.7.0.svn'].Rast_get_c_value
-    Rast_get_c_value.restype = CELL
-    Rast_get_c_value.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 533
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_f_value'):
-    Rast_get_f_value = _libs['grass_raster.7.0.svn'].Rast_get_f_value
-    Rast_get_f_value.restype = FCELL
-    Rast_get_f_value.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 534
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_d_value'):
-    Rast_get_d_value = _libs['grass_raster.7.0.svn'].Rast_get_d_value
-    Rast_get_d_value.restype = DCELL
-    Rast_get_d_value.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 537
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_units'):
-    Rast_read_units = _libs['grass_raster.7.0.svn'].Rast_read_units
-    Rast_read_units.restype = ReturnString
-    Rast_read_units.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 538
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_vdatum'):
-    Rast_read_vdatum = _libs['grass_raster.7.0.svn'].Rast_read_vdatum
-    Rast_read_vdatum.restype = ReturnString
-    Rast_read_vdatum.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 539
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_units'):
-    Rast_write_units = _libs['grass_raster.7.0.svn'].Rast_write_units
-    Rast_write_units.restype = None
-    Rast_write_units.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 540
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_vdatum'):
-    Rast_write_vdatum = _libs['grass_raster.7.0.svn'].Rast_write_vdatum
-    Rast_write_vdatum.restype = None
-    Rast_write_vdatum.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 543
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_is_reclass'):
-    Rast_is_reclass = _libs['grass_raster.7.0.svn'].Rast_is_reclass
-    Rast_is_reclass.restype = c_int
-    Rast_is_reclass.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 544
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_is_reclassed_to'):
-    Rast_is_reclassed_to = _libs['grass_raster.7.0.svn'].Rast_is_reclassed_to
-    Rast_is_reclassed_to.restype = c_int
-    Rast_is_reclassed_to.argtypes = [String, String, POINTER(c_int), POINTER(POINTER(POINTER(c_char)))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 545
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_reclass'):
-    Rast_get_reclass = _libs['grass_raster.7.0.svn'].Rast_get_reclass
-    Rast_get_reclass.restype = c_int
-    Rast_get_reclass.argtypes = [String, String, POINTER(struct_Reclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 546
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_free_reclass'):
-    Rast_free_reclass = _libs['grass_raster.7.0.svn'].Rast_free_reclass
-    Rast_free_reclass.restype = None
-    Rast_free_reclass.argtypes = [POINTER(struct_Reclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 547
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_reclass'):
-    Rast_put_reclass = _libs['grass_raster.7.0.svn'].Rast_put_reclass
-    Rast_put_reclass.restype = c_int
-    Rast_put_reclass.argtypes = [String, POINTER(struct_Reclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 550
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_sample_nearest'):
-    Rast_get_sample_nearest = _libs['grass_raster.7.0.svn'].Rast_get_sample_nearest
-    Rast_get_sample_nearest.restype = DCELL
-    Rast_get_sample_nearest.argtypes = [c_int, POINTER(struct_Cell_head), POINTER(struct_Categories), c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 551
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_sample_bilinear'):
-    Rast_get_sample_bilinear = _libs['grass_raster.7.0.svn'].Rast_get_sample_bilinear
-    Rast_get_sample_bilinear.restype = DCELL
-    Rast_get_sample_bilinear.argtypes = [c_int, POINTER(struct_Cell_head), POINTER(struct_Categories), c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 552
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_sample_cubic'):
-    Rast_get_sample_cubic = _libs['grass_raster.7.0.svn'].Rast_get_sample_cubic
-    Rast_get_sample_cubic.restype = DCELL
-    Rast_get_sample_cubic.argtypes = [c_int, POINTER(struct_Cell_head), POINTER(struct_Categories), c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 553
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_sample'):
-    Rast_get_sample = _libs['grass_raster.7.0.svn'].Rast_get_sample
-    Rast_get_sample.restype = DCELL
-    Rast_get_sample.argtypes = [c_int, POINTER(struct_Cell_head), POINTER(struct_Categories), c_double, c_double, c_int, INTERP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 556
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__init_window'):
-    Rast__init_window = _libs['grass_raster.7.0.svn'].Rast__init_window
-    Rast__init_window.restype = None
-    Rast__init_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 557
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_window'):
-    Rast_set_window = _libs['grass_raster.7.0.svn'].Rast_set_window
-    Rast_set_window.restype = None
-    Rast_set_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 558
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_unset_window'):
-    Rast_unset_window = _libs['grass_raster.7.0.svn'].Rast_unset_window
-    Rast_unset_window.restype = None
-    Rast_unset_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 559
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_output_window'):
-    Rast_set_output_window = _libs['grass_raster.7.0.svn'].Rast_set_output_window
-    Rast_set_output_window.restype = None
-    Rast_set_output_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 560
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_input_window'):
-    Rast_set_input_window = _libs['grass_raster.7.0.svn'].Rast_set_input_window
-    Rast_set_input_window.restype = None
-    Rast_set_input_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 563
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_window'):
-    Rast_get_window = _libs['grass_raster.7.0.svn'].Rast_get_window
-    Rast_get_window.restype = None
-    Rast_get_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 564
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_input_window'):
-    Rast_get_input_window = _libs['grass_raster.7.0.svn'].Rast_get_input_window
-    Rast_get_input_window.restype = None
-    Rast_get_input_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 565
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_output_window'):
-    Rast_get_output_window = _libs['grass_raster.7.0.svn'].Rast_get_output_window
-    Rast_get_output_window.restype = None
-    Rast_get_output_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 566
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_window_rows'):
-    Rast_window_rows = _libs['grass_raster.7.0.svn'].Rast_window_rows
-    Rast_window_rows.restype = c_int
-    Rast_window_rows.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 567
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_window_cols'):
-    Rast_window_cols = _libs['grass_raster.7.0.svn'].Rast_window_cols
-    Rast_window_cols.restype = c_int
-    Rast_window_cols.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 568
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_input_window_rows'):
-    Rast_input_window_rows = _libs['grass_raster.7.0.svn'].Rast_input_window_rows
-    Rast_input_window_rows.restype = c_int
-    Rast_input_window_rows.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 569
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_input_window_cols'):
-    Rast_input_window_cols = _libs['grass_raster.7.0.svn'].Rast_input_window_cols
-    Rast_input_window_cols.restype = c_int
-    Rast_input_window_cols.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 570
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_output_window_rows'):
-    Rast_output_window_rows = _libs['grass_raster.7.0.svn'].Rast_output_window_rows
-    Rast_output_window_rows.restype = c_int
-    Rast_output_window_rows.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 571
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_output_window_cols'):
-    Rast_output_window_cols = _libs['grass_raster.7.0.svn'].Rast_output_window_cols
-    Rast_output_window_cols.restype = c_int
-    Rast_output_window_cols.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 572
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_northing_to_row'):
-    Rast_northing_to_row = _libs['grass_raster.7.0.svn'].Rast_northing_to_row
-    Rast_northing_to_row.restype = c_double
-    Rast_northing_to_row.argtypes = [c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 573
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_easting_to_col'):
-    Rast_easting_to_col = _libs['grass_raster.7.0.svn'].Rast_easting_to_col
-    Rast_easting_to_col.restype = c_double
-    Rast_easting_to_col.argtypes = [c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 574
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_row_to_northing'):
-    Rast_row_to_northing = _libs['grass_raster.7.0.svn'].Rast_row_to_northing
-    Rast_row_to_northing.restype = c_double
-    Rast_row_to_northing.argtypes = [c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 575
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_col_to_easting'):
-    Rast_col_to_easting = _libs['grass_raster.7.0.svn'].Rast_col_to_easting
-    Rast_col_to_easting.restype = c_double
-    Rast_col_to_easting.argtypes = [c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 578
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__create_window_mapping'):
-    Rast__create_window_mapping = _libs['grass_raster.7.0.svn'].Rast__create_window_mapping
-    Rast__create_window_mapping.restype = None
-    Rast__create_window_mapping.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 579
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_row_repeat_nomask'):
-    Rast_row_repeat_nomask = _libs['grass_raster.7.0.svn'].Rast_row_repeat_nomask
-    Rast_row_repeat_nomask.restype = c_int
-    Rast_row_repeat_nomask.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 582
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_zero_buf'):
-    Rast_zero_buf = _libs['grass_raster.7.0.svn'].Rast_zero_buf
-    Rast_zero_buf.restype = None
-    Rast_zero_buf.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 583
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_zero_input_buf'):
-    Rast_zero_input_buf = _libs['grass_raster.7.0.svn'].Rast_zero_input_buf
-    Rast_zero_input_buf.restype = None
-    Rast_zero_input_buf.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 584
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_zero_output_buf'):
-    Rast_zero_output_buf = _libs['grass_raster.7.0.svn'].Rast_zero_output_buf
-    Rast_zero_output_buf.restype = None
-    Rast_zero_output_buf.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 7
-try:
-    RECLASS_TABLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 7
-try:
-    RECLASS_RULES = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 7
-try:
-    RECLASS_SCALE = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 8
-try:
-    CELL_TYPE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 8
-try:
-    FCELL_TYPE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 8
-try:
-    DCELL_TYPE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 10
-try:
-    UNKNOWN = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 10
-try:
-    NEAREST = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 10
-try:
-    BILINEAR = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 10
-try:
-    CUBIC = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 223
-try:
-    RGBA_COLOR_OPAQUE = 255
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 223
-try:
-    RGBA_COLOR_TRANSPARENT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 223
-try:
-    RGBA_COLOR_NONE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 404
-def Rast_is_c_null_value(cellVal):
-    return ((cellVal[0]) == 2147483648)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 405
-def Rast_is_f_null_value(fcellVal):
-    return ((fcellVal[0]) != (fcellVal[0]))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 406
-def Rast_is_d_null_value(dcellVal):
-    return ((dcellVal[0]) != (dcellVal[0]))
-
-Reclass = struct_Reclass # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 28
-
-FPReclass_table = struct_FPReclass_table # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 39
-
-FPReclass = struct_FPReclass # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 49
-
-Quant_table = struct_Quant_table # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 73
-
-Quant = struct_Quant # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 81
-
-Categories = struct_Categories # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 124
-
-History = struct_History # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 164
-
-Cell_stats_node = struct_Cell_stats_node # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 173
-
-Cell_stats = struct_Cell_stats # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 171
-
-Histogram_list = struct_Histogram_list # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 192
-
-Histogram = struct_Histogram # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 188
-
-Range = struct_Range # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 199
-
-FPRange = struct_FPRange # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 206
-
-FP_stats = struct_FP_stats # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 213
-
-GDAL_link = struct_GDAL_link # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 223
-
-# No inserted files
-
diff --git a/lib/python/ctypes/raster3d.py b/lib/python/ctypes/raster3d.py
deleted file mode 100644
index c481819..0000000
--- a/lib/python/ctypes/raster3d.py
+++ /dev/null
@@ -1,1037 +0,0 @@
-'''Wrapper for raster3d.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_g3d.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h -o raster3d.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_g3d.7.0.svn"] = load_library("grass_g3d.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-NULL = None # <built-in>
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 206
-class struct_FPRange(Structure):
-    pass
-
-struct_FPRange.__slots__ = [
-    'min',
-    'max',
-    'first_time',
-]
-struct_FPRange._fields_ = [
-    ('min', DCELL),
-    ('max', DCELL),
-    ('first_time', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 63
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-    'rows',
-    'cols',
-    'depths',
-    'ns_res',
-    'ew_res',
-    'tb_res',
-    'proj',
-    'zone',
-]
-struct_anon_25._fields_ = [
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-    ('rows', c_int),
-    ('cols', c_int),
-    ('depths', c_int),
-    ('ns_res', c_double),
-    ('ew_res', c_double),
-    ('tb_res', c_double),
-    ('proj', c_int),
-    ('zone', c_int),
-]
-
-RASTER3D_Region = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 63
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 73
-class struct_RASTER3D_Map(Structure):
-    pass
-
-resample_fn = CFUNCTYPE(UNCHECKED(None), POINTER(struct_RASTER3D_Map), c_int, c_int, c_int, POINTER(None), c_int) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 69
-
-struct_RASTER3D_Map.__slots__ = [
-    'fileName',
-    'tempName',
-    'mapset',
-    'operation',
-    'region',
-    'window',
-    'resampleFun',
-    'unit',
-    'tileX',
-    'tileY',
-    'tileZ',
-    'nx',
-    'ny',
-    'nz',
-    'data_fd',
-    'type',
-    'precision',
-    'compression',
-    'useLzw',
-    'useRle',
-    'useXdr',
-    'offset',
-    'indexOffset',
-    'indexLongNbytes',
-    'indexNbytesUsed',
-    'fileEndPtr',
-    'hasIndex',
-    'index',
-    'tileLength',
-    'typeIntern',
-    'data',
-    'currentIndex',
-    'useCache',
-    'cache',
-    'cacheFD',
-    'cacheFileName',
-    'cachePosLast',
-    'range',
-    'numLengthExtern',
-    'numLengthIntern',
-    'clipX',
-    'clipY',
-    'clipZ',
-    'tileXY',
-    'tileSize',
-    'nxy',
-    'nTiles',
-    'useMask',
-]
-struct_RASTER3D_Map._fields_ = [
-    ('fileName', String),
-    ('tempName', String),
-    ('mapset', String),
-    ('operation', c_int),
-    ('region', RASTER3D_Region),
-    ('window', RASTER3D_Region),
-    ('resampleFun', POINTER(resample_fn)),
-    ('unit', String),
-    ('tileX', c_int),
-    ('tileY', c_int),
-    ('tileZ', c_int),
-    ('nx', c_int),
-    ('ny', c_int),
-    ('nz', c_int),
-    ('data_fd', c_int),
-    ('type', c_int),
-    ('precision', c_int),
-    ('compression', c_int),
-    ('useLzw', c_int),
-    ('useRle', c_int),
-    ('useXdr', c_int),
-    ('offset', c_int),
-    ('indexOffset', c_long),
-    ('indexLongNbytes', c_int),
-    ('indexNbytesUsed', c_int),
-    ('fileEndPtr', c_int),
-    ('hasIndex', c_int),
-    ('index', POINTER(c_long)),
-    ('tileLength', POINTER(c_int)),
-    ('typeIntern', c_int),
-    ('data', String),
-    ('currentIndex', c_int),
-    ('useCache', c_int),
-    ('cache', POINTER(None)),
-    ('cacheFD', c_int),
-    ('cacheFileName', String),
-    ('cachePosLast', c_long),
-    ('range', struct_FPRange),
-    ('numLengthExtern', c_int),
-    ('numLengthIntern', c_int),
-    ('clipX', c_int),
-    ('clipY', c_int),
-    ('clipZ', c_int),
-    ('tileXY', c_int),
-    ('tileSize', c_int),
-    ('nxy', c_int),
-    ('nTiles', c_int),
-    ('useMask', c_int),
-]
-
-RASTER3D_Map = struct_RASTER3D_Map # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 185
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 220
-class struct_anon_26(Structure):
-    pass
-
-struct_anon_26.__slots__ = [
-    'elts',
-    'nofElts',
-    'eltSize',
-    'names',
-    'locks',
-    'autoLock',
-    'nofUnlocked',
-    'minUnlocked',
-    'next',
-    'prev',
-    'first',
-    'last',
-    'eltRemoveFun',
-    'eltRemoveFunData',
-    'eltLoadFun',
-    'eltLoadFunData',
-    'hash',
-]
-struct_anon_26._fields_ = [
-    ('elts', String),
-    ('nofElts', c_int),
-    ('eltSize', c_int),
-    ('names', POINTER(c_int)),
-    ('locks', String),
-    ('autoLock', c_int),
-    ('nofUnlocked', c_int),
-    ('minUnlocked', c_int),
-    ('next', POINTER(c_int)),
-    ('prev', POINTER(c_int)),
-    ('first', c_int),
-    ('last', c_int),
-    ('eltRemoveFun', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('eltRemoveFunData', POINTER(None)),
-    ('eltLoadFun', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('eltLoadFunData', POINTER(None)),
-    ('hash', POINTER(None)),
-]
-
-RASTER3D_cache = struct_anon_26 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 220
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 234
-class struct_anon_27(Structure):
-    pass
-
-struct_anon_27.__slots__ = [
-    'nofNames',
-    'index',
-    'active',
-    'lastName',
-    'lastIndex',
-    'lastIndexActive',
-]
-struct_anon_27._fields_ = [
-    ('nofNames', c_int),
-    ('index', POINTER(c_int)),
-    ('active', String),
-    ('lastName', c_int),
-    ('lastIndex', c_int),
-    ('lastIndexActive', c_int),
-]
-
-Rast3d_cache_hash = struct_anon_27 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 234
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 239
-class struct__d_interval(Structure):
-    pass
-
-struct__d_interval.__slots__ = [
-    'low',
-    'high',
-    'inf',
-    'next',
-]
-struct__d_interval._fields_ = [
-    ('low', c_double),
-    ('high', c_double),
-    ('inf', c_int),
-    ('next', POINTER(struct__d_interval)),
-]
-
-d_Interval = struct__d_interval # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 244
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 249
-class struct__d_mask(Structure):
-    pass
-
-struct__d_mask.__slots__ = [
-    'list',
-]
-struct__d_mask._fields_ = [
-    ('list', POINTER(d_Interval)),
-]
-
-d_Mask = struct__d_mask # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 249
-
-write_fn = CFUNCTYPE(UNCHECKED(c_int), c_int, POINTER(None), POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 253
-
-read_fn = CFUNCTYPE(UNCHECKED(c_int), c_int, POINTER(None), POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 254
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 7
-try:
-    RASTER3D_TILE_SAME_AS_FILE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 8
-try:
-    RASTER3D_NO_COMPRESSION = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 8
-try:
-    RASTER3D_COMPRESSION = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 9
-try:
-    RASTER3D_USE_LZW = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 9
-try:
-    RASTER3D_NO_LZW = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 10
-try:
-    RASTER3D_USE_RLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 10
-try:
-    RASTER3D_NO_RLE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 11
-try:
-    RASTER3D_MAX_PRECISION = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_NO_CACHE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_DEFAULT = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_X = (-2)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_Y = (-3)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_Z = (-4)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_XY = (-5)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_XZ = (-6)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_YZ = (-7)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_XYZ = (-8)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 13
-try:
-    RASTER3D_DEFAULT_WINDOW = NULL
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_DIRECTORY = 'grid3'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_CELL_ELEMENT = 'cell'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_CATS_ELEMENT = 'cats'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_RANGE_ELEMENT = 'range'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_HEADER_ELEMENT = 'cellhd'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_HISTORY_ELEMENT = 'hist'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_COLOR_ELEMENT = 'color'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_COLOR2_DIRECTORY = 'colr2'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_MASK_MAP = 'RASTER3D_MASK'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_WINDOW_ELEMENT = 'WIND3'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_DEFAULT_WINDOW_ELEMENT = 'DEFAULT_WIND3'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_WINDOW_DATABASE = 'windows3d'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_PERMANENT_MAPSET = 'PERMANENT'
-except:
-    pass
-
-RASTER3D_Map = struct_RASTER3D_Map # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 73
-
-_d_interval = struct__d_interval # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 239
-
-_d_mask = struct__d_mask # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 249
-
-# No inserted files
-
diff --git a/lib/python/ctypes/stats.py b/lib/python/ctypes/stats.py
deleted file mode 100644
index 7336192..0000000
--- a/lib/python/ctypes/stats.py
+++ /dev/null
@@ -1,844 +0,0 @@
-'''Wrapper for stats.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_stats.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h -o stats.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_stats.7.0.svn"] = load_library("grass_stats.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-stat_func = CFUNCTYPE(UNCHECKED(None), POINTER(DCELL), POINTER(DCELL), c_int, POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 8
-
-stat_func_w = CFUNCTYPE(UNCHECKED(None), POINTER(DCELL), POINTER(DCELL * 2), c_int, POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 9
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 11
-try:
-    c_ave = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_ave')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 12
-try:
-    c_count = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_count')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 13
-try:
-    c_divr = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_divr')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 14
-try:
-    c_intr = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_intr')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 15
-try:
-    c_max = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_max')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 16
-try:
-    c_maxx = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_maxx')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 17
-try:
-    c_median = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_median')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 18
-try:
-    c_min = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_min')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 19
-try:
-    c_minx = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_minx')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 20
-try:
-    c_mode = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_mode')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 21
-try:
-    c_stddev = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_stddev')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 22
-try:
-    c_sum = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_sum')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 23
-try:
-    c_thresh = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_thresh')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 24
-try:
-    c_var = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_var')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 25
-try:
-    c_range = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_range')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 26
-try:
-    c_reg_m = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_reg_m')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 27
-try:
-    c_reg_c = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_reg_c')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 28
-try:
-    c_reg_r2 = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_reg_r2')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 29
-try:
-    c_quart1 = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_quart1')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 30
-try:
-    c_quart3 = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_quart3')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 31
-try:
-    c_perc90 = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_perc90')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 32
-try:
-    c_quant = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_quant')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 33
-try:
-    c_skew = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_skew')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 34
-try:
-    c_kurt = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_kurt')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 36
-try:
-    w_ave = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_ave')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 37
-try:
-    w_count = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_count')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 38
-try:
-    w_median = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_median')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 39
-try:
-    w_min = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_min')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 40
-try:
-    w_max = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_max')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 41
-try:
-    w_mode = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_mode')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 42
-try:
-    w_quart1 = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_quart1')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 43
-try:
-    w_quart3 = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_quart3')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 44
-try:
-    w_perc90 = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_perc90')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 45
-try:
-    w_quant = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_quant')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 46
-try:
-    w_reg_m = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_reg_m')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 47
-try:
-    w_reg_c = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_reg_c')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 48
-try:
-    w_reg_r2 = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_reg_r2')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 49
-try:
-    w_stddev = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_stddev')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 50
-try:
-    w_sum = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_sum')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 51
-try:
-    w_var = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_var')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 52
-try:
-    w_skew = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_skew')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 53
-try:
-    w_kurt = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_kurt')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 55
-if hasattr(_libs['grass_stats.7.0.svn'], 'sort_cell'):
-    sort_cell = _libs['grass_stats.7.0.svn'].sort_cell
-    sort_cell.restype = c_int
-    sort_cell.argtypes = [POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 56
-if hasattr(_libs['grass_stats.7.0.svn'], 'sort_cell_w'):
-    sort_cell_w = _libs['grass_stats.7.0.svn'].sort_cell_w
-    sort_cell_w.restype = c_int
-    sort_cell_w.argtypes = [POINTER(DCELL * 2), c_int]
-
-# No inserted files
-
diff --git a/lib/python/ctypes/trans.py b/lib/python/ctypes/trans.py
deleted file mode 100644
index af93d84..0000000
--- a/lib/python/ctypes/trans.py
+++ /dev/null
@@ -1,628 +0,0 @@
-'''Wrapper for transform.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_trans.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h -o trans.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_trans.7.0.svn"] = load_library("grass_trans.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 11
-if hasattr(_libs['grass_trans.7.0.svn'], 'inverse'):
-    inverse = _libs['grass_trans.7.0.svn'].inverse
-    inverse.restype = c_int
-    inverse.argtypes = [(c_double * 3) * 3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 12
-if hasattr(_libs['grass_trans.7.0.svn'], 'isnull'):
-    isnull = _libs['grass_trans.7.0.svn'].isnull
-    isnull.restype = c_int
-    isnull.argtypes = [(c_double * 3) * 3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 15
-if hasattr(_libs['grass_trans.7.0.svn'], 'm_mult'):
-    m_mult = _libs['grass_trans.7.0.svn'].m_mult
-    m_mult.restype = c_int
-    m_mult.argtypes = [(c_double * 3) * 3, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 18
-if hasattr(_libs['grass_trans.7.0.svn'], 'compute_transformation_coef'):
-    compute_transformation_coef = _libs['grass_trans.7.0.svn'].compute_transformation_coef
-    compute_transformation_coef.restype = c_int
-    compute_transformation_coef.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 20
-if hasattr(_libs['grass_trans.7.0.svn'], 'transform_a_into_b'):
-    transform_a_into_b = _libs['grass_trans.7.0.svn'].transform_a_into_b
-    transform_a_into_b.restype = c_int
-    transform_a_into_b.argtypes = [c_double, c_double, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 21
-if hasattr(_libs['grass_trans.7.0.svn'], 'transform_b_into_a'):
-    transform_b_into_a = _libs['grass_trans.7.0.svn'].transform_b_into_a
-    transform_b_into_a.restype = c_int
-    transform_b_into_a.argtypes = [c_double, c_double, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 22
-if hasattr(_libs['grass_trans.7.0.svn'], 'residuals_a_predicts_b'):
-    residuals_a_predicts_b = _libs['grass_trans.7.0.svn'].residuals_a_predicts_b
-    residuals_a_predicts_b.restype = c_int
-    residuals_a_predicts_b.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_int), c_int, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 24
-if hasattr(_libs['grass_trans.7.0.svn'], 'residuals_b_predicts_a'):
-    residuals_b_predicts_a = _libs['grass_trans.7.0.svn'].residuals_b_predicts_a
-    residuals_b_predicts_a.restype = c_int
-    residuals_b_predicts_a.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_int), c_int, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 8
-try:
-    DIM_matrix = 3
-except:
-    pass
-
-# No inserted files
-
diff --git a/lib/python/ctypes/vector.py b/lib/python/ctypes/vector.py
deleted file mode 100644
index c4f2a05..0000000
--- a/lib/python/ctypes/vector.py
+++ /dev/null
@@ -1,5751 +0,0 @@
-'''Wrapper for vector.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_vector.7.0.svn -lgrass_dig2.7.0.svn -lgrass_dgl.7.0.svn -lgrass_rtree.7.0.svn -lgrass_linkm.7.0.svn -lgrass_dbmiclient.7.0.svn -lgrass_dbmibase.7.0.svn -lgrass_btree2.7.0.svn -lgrass_gproj.7.0.svn -I/usr/local/include /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/g [...]
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_vector.7.0.svn"] = load_library("grass_vector.7.0.svn")
-_libs["grass_dig2.7.0.svn"] = load_library("grass_dig2.7.0.svn")
-_libs["grass_dgl.7.0.svn"] = load_library("grass_dgl.7.0.svn")
-_libs["grass_rtree.7.0.svn"] = load_library("grass_rtree.7.0.svn")
-_libs["grass_linkm.7.0.svn"] = load_library("grass_linkm.7.0.svn")
-_libs["grass_dbmiclient.7.0.svn"] = load_library("grass_dbmiclient.7.0.svn")
-_libs["grass_dbmibase.7.0.svn"] = load_library("grass_dbmibase.7.0.svn")
-_libs["grass_btree2.7.0.svn"] = load_library("grass_btree2.7.0.svn")
-_libs["grass_gproj.7.0.svn"] = load_library("grass_gproj.7.0.svn")
-
-# 9 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 273
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 335
-class struct_Option(Structure):
-    pass
-
-struct_Option.__slots__ = [
-    'key',
-    'type',
-    'required',
-    'multiple',
-    'options',
-    'opts',
-    'key_desc',
-    'label',
-    'description',
-    'descriptions',
-    'descs',
-    'answer',
-    '_def',
-    'answers',
-    'next_opt',
-    'gisprompt',
-    'guisection',
-    'guidependency',
-    'checker',
-    'count',
-]
-struct_Option._fields_ = [
-    ('key', String),
-    ('type', c_int),
-    ('required', c_int),
-    ('multiple', c_int),
-    ('options', String),
-    ('opts', POINTER(POINTER(c_char))),
-    ('key_desc', String),
-    ('label', String),
-    ('description', String),
-    ('descriptions', String),
-    ('descs', POINTER(POINTER(c_char))),
-    ('answer', String),
-    ('_def', String),
-    ('answers', POINTER(POINTER(c_char))),
-    ('next_opt', POINTER(struct_Option)),
-    ('gisprompt', String),
-    ('guisection', String),
-    ('guidependency', String),
-    ('checker', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('count', c_int),
-]
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 406
-class struct__Color_Value_(Structure):
-    pass
-
-struct__Color_Value_.__slots__ = [
-    'value',
-    'red',
-    'grn',
-    'blu',
-]
-struct__Color_Value_._fields_ = [
-    ('value', DCELL),
-    ('red', c_ubyte),
-    ('grn', c_ubyte),
-    ('blu', c_ubyte),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 414
-class struct__Color_Rule_(Structure):
-    pass
-
-struct__Color_Rule_.__slots__ = [
-    'low',
-    'high',
-    'next',
-    'prev',
-]
-struct__Color_Rule_._fields_ = [
-    ('low', struct__Color_Value_),
-    ('high', struct__Color_Value_),
-    ('next', POINTER(struct__Color_Rule_)),
-    ('prev', POINTER(struct__Color_Rule_)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 426
-class struct_anon_8(Structure):
-    pass
-
-struct_anon_8.__slots__ = [
-    'red',
-    'grn',
-    'blu',
-    'set',
-    'nalloc',
-    'active',
-]
-struct_anon_8._fields_ = [
-    ('red', POINTER(c_ubyte)),
-    ('grn', POINTER(c_ubyte)),
-    ('blu', POINTER(c_ubyte)),
-    ('set', POINTER(c_ubyte)),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 436
-class struct_anon_9(Structure):
-    pass
-
-struct_anon_9.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-]
-struct_anon_9._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct__Color_Rule_))),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 421
-class struct__Color_Info_(Structure):
-    pass
-
-struct__Color_Info_.__slots__ = [
-    'rules',
-    'n_rules',
-    'lookup',
-    'fp_lookup',
-    'min',
-    'max',
-]
-struct__Color_Info_._fields_ = [
-    ('rules', POINTER(struct__Color_Rule_)),
-    ('n_rules', c_int),
-    ('lookup', struct_anon_8),
-    ('fp_lookup', struct_anon_9),
-    ('min', DCELL),
-    ('max', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 448
-class struct_Colors(Structure):
-    pass
-
-struct_Colors.__slots__ = [
-    'version',
-    'shift',
-    'invert',
-    'is_float',
-    'null_set',
-    'null_red',
-    'null_grn',
-    'null_blu',
-    'undef_set',
-    'undef_red',
-    'undef_grn',
-    'undef_blu',
-    'fixed',
-    'modular',
-    'cmin',
-    'cmax',
-    'organizing',
-]
-struct_Colors._fields_ = [
-    ('version', c_int),
-    ('shift', DCELL),
-    ('invert', c_int),
-    ('is_float', c_int),
-    ('null_set', c_int),
-    ('null_red', c_ubyte),
-    ('null_grn', c_ubyte),
-    ('null_blu', c_ubyte),
-    ('undef_set', c_int),
-    ('undef_red', c_ubyte),
-    ('undef_grn', c_ubyte),
-    ('undef_blu', c_ubyte),
-    ('fixed', struct__Color_Info_),
-    ('modular', struct__Color_Info_),
-    ('cmin', DCELL),
-    ('cmax', DCELL),
-    ('organizing', c_int),
-]
-
-off_t = __off64_t # /usr/include/sys/types.h: 90
-
-enum_overlay_operator = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 216
-
-GV_O_AND = 0 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 216
-
-GV_O_OVERLAP = (GV_O_AND + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 216
-
-OVERLAY_OPERATOR = enum_overlay_operator # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 222
-
-dglByte_t = c_ubyte # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/type.h: 36
-
-dglInt32_t = c_long # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/type.h: 37
-
-dglInt64_t = c_longlong # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/type.h: 38
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 33
-class union__dglHeapData(Union):
-    pass
-
-union__dglHeapData.__slots__ = [
-    'pv',
-    'n',
-    'un',
-    'l',
-    'ul',
-]
-union__dglHeapData._fields_ = [
-    ('pv', POINTER(None)),
-    ('n', c_int),
-    ('un', c_uint),
-    ('l', c_long),
-    ('ul', c_ulong),
-]
-
-dglHeapData_u = union__dglHeapData # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 33
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 42
-class struct__dglHeapNode(Structure):
-    pass
-
-struct__dglHeapNode.__slots__ = [
-    'key',
-    'value',
-    'flags',
-]
-struct__dglHeapNode._fields_ = [
-    ('key', c_long),
-    ('value', dglHeapData_u),
-    ('flags', c_ubyte),
-]
-
-dglHeapNode_s = struct__dglHeapNode # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 42
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 52
-class struct__dglHeap(Structure):
-    pass
-
-struct__dglHeap.__slots__ = [
-    'index',
-    'count',
-    'block',
-    'pnode',
-]
-struct__dglHeap._fields_ = [
-    ('index', c_long),
-    ('count', c_long),
-    ('block', c_long),
-    ('pnode', POINTER(dglHeapNode_s)),
-]
-
-dglHeap_s = struct__dglHeap # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 52
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/tree.h: 165
-class struct__dglTreeEdgePri32(Structure):
-    pass
-
-struct__dglTreeEdgePri32.__slots__ = [
-    'nKey',
-    'cnData',
-    'pnData',
-]
-struct__dglTreeEdgePri32._fields_ = [
-    ('nKey', dglInt32_t),
-    ('cnData', dglInt32_t),
-    ('pnData', POINTER(dglInt32_t)),
-]
-
-dglTreeEdgePri32_s = struct__dglTreeEdgePri32 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/tree.h: 165
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 135
-class struct_anon_23(Structure):
-    pass
-
-struct_anon_23.__slots__ = [
-    'pvAVL',
-]
-struct_anon_23._fields_ = [
-    ('pvAVL', POINTER(None)),
-]
-
-dglNodePrioritizer_s = struct_anon_23 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 135
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 146
-class struct_anon_24(Structure):
-    pass
-
-struct_anon_24.__slots__ = [
-    'cEdge',
-    'iEdge',
-    'pEdgePri32Item',
-    'pvAVL',
-]
-struct_anon_24._fields_ = [
-    ('cEdge', c_int),
-    ('iEdge', c_int),
-    ('pEdgePri32Item', POINTER(dglTreeEdgePri32_s)),
-    ('pvAVL', POINTER(None)),
-]
-
-dglEdgePrioritizer_s = struct_anon_24 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 146
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 193
-class struct__dglGraph(Structure):
-    pass
-
-struct__dglGraph.__slots__ = [
-    'iErrno',
-    'Version',
-    'Endian',
-    'NodeAttrSize',
-    'EdgeAttrSize',
-    'aOpaqueSet',
-    'cNode',
-    'cHead',
-    'cTail',
-    'cAlone',
-    'cEdge',
-    'nnCost',
-    'Flags',
-    'nFamily',
-    'nOptions',
-    'pNodeTree',
-    'pEdgeTree',
-    'pNodeBuffer',
-    'iNodeBuffer',
-    'pEdgeBuffer',
-    'iEdgeBuffer',
-    'edgePrioritizer',
-    'nodePrioritizer',
-]
-struct__dglGraph._fields_ = [
-    ('iErrno', c_int),
-    ('Version', dglByte_t),
-    ('Endian', dglByte_t),
-    ('NodeAttrSize', dglInt32_t),
-    ('EdgeAttrSize', dglInt32_t),
-    ('aOpaqueSet', dglInt32_t * 16),
-    ('cNode', dglInt32_t),
-    ('cHead', dglInt32_t),
-    ('cTail', dglInt32_t),
-    ('cAlone', dglInt32_t),
-    ('cEdge', dglInt32_t),
-    ('nnCost', dglInt64_t),
-    ('Flags', dglInt32_t),
-    ('nFamily', dglInt32_t),
-    ('nOptions', dglInt32_t),
-    ('pNodeTree', POINTER(None)),
-    ('pEdgeTree', POINTER(None)),
-    ('pNodeBuffer', POINTER(dglByte_t)),
-    ('iNodeBuffer', dglInt32_t),
-    ('pEdgeBuffer', POINTER(dglByte_t)),
-    ('iEdgeBuffer', dglInt32_t),
-    ('edgePrioritizer', dglEdgePrioritizer_s),
-    ('nodePrioritizer', dglNodePrioritizer_s),
-]
-
-dglGraph_s = struct__dglGraph # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 193
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 243
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'nStartNode',
-    'NodeHeap',
-    'pvVisited',
-    'pvPredist',
-]
-struct_anon_25._fields_ = [
-    ('nStartNode', dglInt32_t),
-    ('NodeHeap', dglHeap_s),
-    ('pvVisited', POINTER(None)),
-    ('pvPredist', POINTER(None)),
-]
-
-dglSPCache_s = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 243
-
-RectReal = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 29
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 59
-class struct_RTree_Rect(Structure):
-    pass
-
-struct_RTree_Rect.__slots__ = [
-    'boundary',
-]
-struct_RTree_Rect._fields_ = [
-    ('boundary', RectReal * (2 * 3)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 79
-class struct_RTree_Node(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 66
-class union_RTree_Child(Union):
-    pass
-
-union_RTree_Child.__slots__ = [
-    'id',
-    'ptr',
-    'pos',
-]
-union_RTree_Child._fields_ = [
-    ('id', c_int),
-    ('ptr', POINTER(struct_RTree_Node)),
-    ('pos', off_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 73
-class struct_RTree_Branch(Structure):
-    pass
-
-struct_RTree_Branch.__slots__ = [
-    'rect',
-    'child',
-]
-struct_RTree_Branch._fields_ = [
-    ('rect', struct_RTree_Rect),
-    ('child', union_RTree_Child),
-]
-
-struct_RTree_Node.__slots__ = [
-    'count',
-    'level',
-    'branch',
-]
-struct_RTree_Node._fields_ = [
-    ('count', c_int),
-    ('level', c_int),
-    ('branch', struct_RTree_Branch * 9),
-]
-
-SearchHitCallback = CFUNCTYPE(UNCHECKED(c_int), c_int, struct_RTree_Rect, POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 93
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 103
-class struct_RTree(Structure):
-    pass
-
-rt_search_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(struct_RTree), POINTER(struct_RTree_Rect), POINTER(SearchHitCallback), POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 97
-
-rt_insert_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(struct_RTree_Rect), union_RTree_Child, c_int, POINTER(struct_RTree)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 99
-
-rt_delete_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(struct_RTree_Rect), union_RTree_Child, POINTER(struct_RTree)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 100
-
-rt_valid_child_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(union_RTree_Child)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 101
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 127
-class struct__recycle(Structure):
-    pass
-
-struct__recycle.__slots__ = [
-    'avail',
-    'alloc',
-    'pos',
-]
-struct__recycle._fields_ = [
-    ('avail', c_int),
-    ('alloc', c_int),
-    ('pos', POINTER(off_t)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 135
-class struct_NodeBuffer(Structure):
-    pass
-
-struct_NodeBuffer.__slots__ = [
-    'n',
-    'pos',
-    'dirty',
-]
-struct_NodeBuffer._fields_ = [
-    ('n', struct_RTree_Node),
-    ('pos', off_t),
-    ('dirty', c_char),
-]
-
-struct_RTree.__slots__ = [
-    'fd',
-    'ndims',
-    'nsides',
-    'nodesize',
-    'branchsize',
-    'rectsize',
-    'n_nodes',
-    'n_leafs',
-    'rootlevel',
-    'nodecard',
-    'leafcard',
-    'min_node_fill',
-    'min_leaf_fill',
-    'minfill_node_split',
-    'minfill_leaf_split',
-    'free_nodes',
-    'nb',
-    'used',
-    'insert_rect',
-    'delete_rect',
-    'search_rect',
-    'valid_child',
-    'root',
-    'rootpos',
-]
-struct_RTree._fields_ = [
-    ('fd', c_int),
-    ('ndims', c_ubyte),
-    ('nsides', c_ubyte),
-    ('nodesize', c_int),
-    ('branchsize', c_int),
-    ('rectsize', c_int),
-    ('n_nodes', c_int),
-    ('n_leafs', c_int),
-    ('rootlevel', c_int),
-    ('nodecard', c_int),
-    ('leafcard', c_int),
-    ('min_node_fill', c_int),
-    ('min_leaf_fill', c_int),
-    ('minfill_node_split', c_int),
-    ('minfill_leaf_split', c_int),
-    ('free_nodes', struct__recycle),
-    ('nb', (struct_NodeBuffer * 3) * 20),
-    ('used', (c_char * 3) * 20),
-    ('insert_rect', POINTER(rt_insert_fn)),
-    ('delete_rect', POINTER(rt_delete_fn)),
-    ('search_rect', POINTER(rt_search_fn)),
-    ('valid_child', POINTER(rt_valid_child_fn)),
-    ('root', POINTER(struct_RTree_Node)),
-    ('rootpos', off_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 149
-class struct__dbmscap(Structure):
-    pass
-
-struct__dbmscap.__slots__ = [
-    'driverName',
-    'startup',
-    'comment',
-    'next',
-]
-struct__dbmscap._fields_ = [
-    ('driverName', c_char * 256),
-    ('startup', c_char * 256),
-    ('comment', c_char * 256),
-    ('next', POINTER(struct__dbmscap)),
-]
-
-dbDbmscap = struct__dbmscap # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 155
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-class struct__db_driver(Structure):
-    pass
-
-struct__db_driver.__slots__ = [
-    'dbmscap',
-    'send',
-    'recv',
-    'pid',
-]
-struct__db_driver._fields_ = [
-    ('dbmscap', dbDbmscap),
-    ('send', POINTER(FILE)),
-    ('recv', POINTER(FILE)),
-    ('pid', c_int),
-]
-
-dbDriver = struct__db_driver # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-
-OGRFeatureH = POINTER(None) # /usr/local/include/ogr_api.h: 199
-
-OGRLayerH = POINTER(None) # /usr/local/include/ogr_api.h: 302
-
-OGRDataSourceH = POINTER(None) # /usr/local/include/ogr_api.h: 303
-
-OGRSFDriverH = POINTER(None) # /usr/local/include/ogr_api.h: 304
-
-plus_t = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 41
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 46
-class struct_site_att(Structure):
-    pass
-
-struct_site_att.__slots__ = [
-    'cat',
-    'dbl',
-    'str',
-]
-struct_site_att._fields_ = [
-    ('cat', c_int),
-    ('dbl', POINTER(c_double)),
-    ('str', POINTER(POINTER(c_char))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 65
-class struct_bound_box(Structure):
-    pass
-
-struct_bound_box.__slots__ = [
-    'N',
-    'S',
-    'E',
-    'W',
-    'T',
-    'B',
-]
-struct_bound_box._fields_ = [
-    ('N', c_double),
-    ('S', c_double),
-    ('E', c_double),
-    ('W', c_double),
-    ('T', c_double),
-    ('B', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 96
-class struct_gvfile(Structure):
-    pass
-
-struct_gvfile.__slots__ = [
-    'file',
-    'start',
-    'current',
-    'end',
-    'size',
-    'alloc',
-    'loaded',
-]
-struct_gvfile._fields_ = [
-    ('file', POINTER(FILE)),
-    ('start', String),
-    ('current', String),
-    ('end', String),
-    ('size', off_t),
-    ('alloc', off_t),
-    ('loaded', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 134
-class struct_field_info(Structure):
-    pass
-
-struct_field_info.__slots__ = [
-    'number',
-    'name',
-    'driver',
-    'database',
-    'table',
-    'key',
-]
-struct_field_info._fields_ = [
-    ('number', c_int),
-    ('name', String),
-    ('driver', String),
-    ('database', String),
-    ('table', String),
-    ('key', String),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 165
-class struct_dblinks(Structure):
-    pass
-
-struct_dblinks.__slots__ = [
-    'field',
-    'alloc_fields',
-    'n_fields',
-]
-struct_dblinks._fields_ = [
-    ('field', POINTER(struct_field_info)),
-    ('alloc_fields', c_int),
-    ('n_fields', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 186
-class struct_Port_info(Structure):
-    pass
-
-struct_Port_info.__slots__ = [
-    'byte_order',
-    'off_t_size',
-    'dbl_cnvrt',
-    'flt_cnvrt',
-    'lng_cnvrt',
-    'int_cnvrt',
-    'shrt_cnvrt',
-    'off_t_cnvrt',
-    'dbl_quick',
-    'flt_quick',
-    'lng_quick',
-    'int_quick',
-    'shrt_quick',
-    'off_t_quick',
-]
-struct_Port_info._fields_ = [
-    ('byte_order', c_int),
-    ('off_t_size', c_int),
-    ('dbl_cnvrt', c_ubyte * 8),
-    ('flt_cnvrt', c_ubyte * 4),
-    ('lng_cnvrt', c_ubyte * 4),
-    ('int_cnvrt', c_ubyte * 4),
-    ('shrt_cnvrt', c_ubyte * 2),
-    ('off_t_cnvrt', c_ubyte * 8),
-    ('dbl_quick', c_int),
-    ('flt_quick', c_int),
-    ('lng_quick', c_int),
-    ('int_quick', c_int),
-    ('shrt_quick', c_int),
-    ('off_t_quick', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 272
-class struct_recycle(Structure):
-    pass
-
-struct_recycle.__slots__ = [
-    'dummy',
-]
-struct_recycle._fields_ = [
-    ('dummy', c_char),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 282
-class struct_dig_head(Structure):
-    pass
-
-struct_dig_head.__slots__ = [
-    'organization',
-    'date',
-    'user_name',
-    'map_name',
-    'source_date',
-    'orig_scale',
-    'comment',
-    'proj',
-    'plani_zone',
-    'digit_thresh',
-    'Version_Major',
-    'Version_Minor',
-    'Back_Major',
-    'Back_Minor',
-    'with_z',
-    'size',
-    'head_size',
-    'port',
-    'last_offset',
-    'recycle',
-]
-struct_dig_head._fields_ = [
-    ('organization', String),
-    ('date', String),
-    ('user_name', String),
-    ('map_name', String),
-    ('source_date', String),
-    ('orig_scale', c_long),
-    ('comment', String),
-    ('proj', c_int),
-    ('plani_zone', c_int),
-    ('digit_thresh', c_double),
-    ('Version_Major', c_int),
-    ('Version_Minor', c_int),
-    ('Back_Major', c_int),
-    ('Back_Minor', c_int),
-    ('with_z', c_int),
-    ('size', off_t),
-    ('head_size', c_long),
-    ('port', struct_Port_info),
-    ('last_offset', off_t),
-    ('recycle', POINTER(struct_recycle)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 381
-class struct_Coor_info(Structure):
-    pass
-
-struct_Coor_info.__slots__ = [
-    'size',
-    'mtime',
-]
-struct_Coor_info._fields_ = [
-    ('size', off_t),
-    ('mtime', c_long),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1469
-class struct_line_pnts(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 399
-class struct_Format_info_ogr(Structure):
-    pass
-
-struct_Format_info_ogr.__slots__ = [
-    'driver_name',
-    'dsn',
-    'layer_name',
-    'driver',
-    'ds',
-    'layer',
-    'dbdriver',
-    'dsn_options',
-    'layer_options',
-    'lines',
-    'lines_types',
-    'lines_alloc',
-    'lines_num',
-    'lines_next',
-    'feature_cache',
-    'feature_cache_id',
-    'offset',
-    'offset_num',
-    'offset_alloc',
-    'next_line',
-]
-struct_Format_info_ogr._fields_ = [
-    ('driver_name', String),
-    ('dsn', String),
-    ('layer_name', String),
-    ('driver', OGRSFDriverH),
-    ('ds', OGRDataSourceH),
-    ('layer', OGRLayerH),
-    ('dbdriver', POINTER(dbDriver)),
-    ('dsn_options', POINTER(POINTER(c_char))),
-    ('layer_options', POINTER(POINTER(c_char))),
-    ('lines', POINTER(POINTER(struct_line_pnts))),
-    ('lines_types', POINTER(c_int)),
-    ('lines_alloc', c_int),
-    ('lines_num', c_int),
-    ('lines_next', c_int),
-    ('feature_cache', OGRFeatureH),
-    ('feature_cache_id', c_int),
-    ('offset', POINTER(c_int)),
-    ('offset_num', c_int),
-    ('offset_alloc', c_int),
-    ('next_line', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 522
-class struct_Format_info(Structure):
-    pass
-
-struct_Format_info.__slots__ = [
-    'i',
-    'ogr',
-]
-struct_Format_info._fields_ = [
-    ('i', c_int),
-    ('ogr', struct_Format_info_ogr),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 537
-class struct_Cat_index(Structure):
-    pass
-
-struct_Cat_index.__slots__ = [
-    'field',
-    'n_cats',
-    'a_cats',
-    'cat',
-    'n_ucats',
-    'n_types',
-    'type',
-    'offset',
-]
-struct_Cat_index._fields_ = [
-    ('field', c_int),
-    ('n_cats', c_int),
-    ('a_cats', c_int),
-    ('cat', POINTER(c_int * 3)),
-    ('n_ucats', c_int),
-    ('n_types', c_int),
-    ('type', (c_int * 2) * 7),
-    ('offset', off_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1249
-class struct_P_node(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1371
-class struct_P_line(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1399
-class struct_P_area(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1440
-class struct_P_isle(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 586
-class struct_Plus_head(Structure):
-    pass
-
-struct_Plus_head.__slots__ = [
-    'Version_Major',
-    'Version_Minor',
-    'Back_Major',
-    'Back_Minor',
-    'spidx_Version_Major',
-    'spidx_Version_Minor',
-    'spidx_Back_Major',
-    'spidx_Back_Minor',
-    'cidx_Version_Major',
-    'cidx_Version_Minor',
-    'cidx_Back_Major',
-    'cidx_Back_Minor',
-    'with_z',
-    'spidx_with_z',
-    'off_t_size',
-    'head_size',
-    'spidx_head_size',
-    'cidx_head_size',
-    'release_support',
-    'port',
-    'spidx_port',
-    'cidx_port',
-    'mode',
-    'built',
-    'box',
-    'Node',
-    'Line',
-    'Area',
-    'Isle',
-    'n_plines',
-    'n_llines',
-    'n_blines',
-    'n_clines',
-    'n_flines',
-    'n_klines',
-    'n_vfaces',
-    'n_hfaces',
-    'n_nodes',
-    'n_edges',
-    'n_lines',
-    'n_areas',
-    'n_isles',
-    'n_faces',
-    'n_volumes',
-    'n_holes',
-    'alloc_nodes',
-    'alloc_edges',
-    'alloc_lines',
-    'alloc_areas',
-    'alloc_isles',
-    'alloc_faces',
-    'alloc_volumes',
-    'alloc_holes',
-    'Node_offset',
-    'Edge_offset',
-    'Line_offset',
-    'Area_offset',
-    'Isle_offset',
-    'Volume_offset',
-    'Hole_offset',
-    'Spidx_built',
-    'Spidx_new',
-    'Spidx_file',
-    'spidx_fp',
-    'Node_spidx_offset',
-    'Line_spidx_offset',
-    'Area_spidx_offset',
-    'Isle_spidx_offset',
-    'Face_spidx_offset',
-    'Volume_spidx_offset',
-    'Hole_spidx_offset',
-    'Node_spidx',
-    'Line_spidx',
-    'Area_spidx',
-    'Isle_spidx',
-    'Face_spidx',
-    'Volume_spidx',
-    'Hole_spidx',
-    'update_cidx',
-    'n_cidx',
-    'a_cidx',
-    'cidx',
-    'cidx_up_to_date',
-    'coor_size',
-    'coor_mtime',
-    'do_uplist',
-    'uplines',
-    'alloc_uplines',
-    'n_uplines',
-    'upnodes',
-    'alloc_upnodes',
-    'n_upnodes',
-]
-struct_Plus_head._fields_ = [
-    ('Version_Major', c_int),
-    ('Version_Minor', c_int),
-    ('Back_Major', c_int),
-    ('Back_Minor', c_int),
-    ('spidx_Version_Major', c_int),
-    ('spidx_Version_Minor', c_int),
-    ('spidx_Back_Major', c_int),
-    ('spidx_Back_Minor', c_int),
-    ('cidx_Version_Major', c_int),
-    ('cidx_Version_Minor', c_int),
-    ('cidx_Back_Major', c_int),
-    ('cidx_Back_Minor', c_int),
-    ('with_z', c_int),
-    ('spidx_with_z', c_int),
-    ('off_t_size', c_int),
-    ('head_size', c_long),
-    ('spidx_head_size', c_long),
-    ('cidx_head_size', c_long),
-    ('release_support', c_int),
-    ('port', struct_Port_info),
-    ('spidx_port', struct_Port_info),
-    ('cidx_port', struct_Port_info),
-    ('mode', c_int),
-    ('built', c_int),
-    ('box', struct_bound_box),
-    ('Node', POINTER(POINTER(struct_P_node))),
-    ('Line', POINTER(POINTER(struct_P_line))),
-    ('Area', POINTER(POINTER(struct_P_area))),
-    ('Isle', POINTER(POINTER(struct_P_isle))),
-    ('n_plines', plus_t),
-    ('n_llines', plus_t),
-    ('n_blines', plus_t),
-    ('n_clines', plus_t),
-    ('n_flines', plus_t),
-    ('n_klines', plus_t),
-    ('n_vfaces', plus_t),
-    ('n_hfaces', plus_t),
-    ('n_nodes', plus_t),
-    ('n_edges', plus_t),
-    ('n_lines', plus_t),
-    ('n_areas', plus_t),
-    ('n_isles', plus_t),
-    ('n_faces', plus_t),
-    ('n_volumes', plus_t),
-    ('n_holes', plus_t),
-    ('alloc_nodes', plus_t),
-    ('alloc_edges', plus_t),
-    ('alloc_lines', plus_t),
-    ('alloc_areas', plus_t),
-    ('alloc_isles', plus_t),
-    ('alloc_faces', plus_t),
-    ('alloc_volumes', plus_t),
-    ('alloc_holes', plus_t),
-    ('Node_offset', off_t),
-    ('Edge_offset', off_t),
-    ('Line_offset', off_t),
-    ('Area_offset', off_t),
-    ('Isle_offset', off_t),
-    ('Volume_offset', off_t),
-    ('Hole_offset', off_t),
-    ('Spidx_built', c_int),
-    ('Spidx_new', c_int),
-    ('Spidx_file', c_int),
-    ('spidx_fp', struct_gvfile),
-    ('Node_spidx_offset', off_t),
-    ('Line_spidx_offset', off_t),
-    ('Area_spidx_offset', off_t),
-    ('Isle_spidx_offset', off_t),
-    ('Face_spidx_offset', off_t),
-    ('Volume_spidx_offset', off_t),
-    ('Hole_spidx_offset', off_t),
-    ('Node_spidx', POINTER(struct_RTree)),
-    ('Line_spidx', POINTER(struct_RTree)),
-    ('Area_spidx', POINTER(struct_RTree)),
-    ('Isle_spidx', POINTER(struct_RTree)),
-    ('Face_spidx', POINTER(struct_RTree)),
-    ('Volume_spidx', POINTER(struct_RTree)),
-    ('Hole_spidx', POINTER(struct_RTree)),
-    ('update_cidx', c_int),
-    ('n_cidx', c_int),
-    ('a_cidx', c_int),
-    ('cidx', POINTER(struct_Cat_index)),
-    ('cidx_up_to_date', c_int),
-    ('coor_size', off_t),
-    ('coor_mtime', c_long),
-    ('do_uplist', c_int),
-    ('uplines', POINTER(c_int)),
-    ('alloc_uplines', c_int),
-    ('n_uplines', c_int),
-    ('upnodes', POINTER(c_int)),
-    ('alloc_upnodes', c_int),
-    ('n_upnodes', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1052
-class struct_Map_info(Structure):
-    pass
-
-struct_Map_info.__slots__ = [
-    'format',
-    'temporary',
-    'dblnk',
-    'plus',
-    'graph_line_type',
-    'graph',
-    'spCache',
-    'edge_fcosts',
-    'edge_bcosts',
-    'node_costs',
-    'cost_multip',
-    'open',
-    'mode',
-    'level',
-    'head_only',
-    'support_updated',
-    'next_line',
-    'name',
-    'mapset',
-    'location',
-    'gisdbase',
-    'Constraint_region_flag',
-    'Constraint_type_flag',
-    'Constraint_box',
-    'Constraint_type',
-    'proj',
-    'dig_fp',
-    'head',
-    'fInfo',
-    'hist_fp',
-    'site_att',
-    'n_site_att',
-    'n_site_dbl',
-    'n_site_str',
-]
-struct_Map_info._fields_ = [
-    ('format', c_int),
-    ('temporary', c_int),
-    ('dblnk', POINTER(struct_dblinks)),
-    ('plus', struct_Plus_head),
-    ('graph_line_type', c_int),
-    ('graph', dglGraph_s),
-    ('spCache', dglSPCache_s),
-    ('edge_fcosts', POINTER(c_double)),
-    ('edge_bcosts', POINTER(c_double)),
-    ('node_costs', POINTER(c_double)),
-    ('cost_multip', c_int),
-    ('open', c_int),
-    ('mode', c_int),
-    ('level', c_int),
-    ('head_only', c_int),
-    ('support_updated', c_int),
-    ('next_line', plus_t),
-    ('name', String),
-    ('mapset', String),
-    ('location', String),
-    ('gisdbase', String),
-    ('Constraint_region_flag', c_int),
-    ('Constraint_type_flag', c_int),
-    ('Constraint_box', struct_bound_box),
-    ('Constraint_type', c_int),
-    ('proj', c_int),
-    ('dig_fp', struct_gvfile),
-    ('head', struct_dig_head),
-    ('fInfo', struct_Format_info),
-    ('hist_fp', POINTER(FILE)),
-    ('site_att', POINTER(struct_site_att)),
-    ('n_site_att', c_int),
-    ('n_site_dbl', c_int),
-    ('n_site_str', c_int),
-]
-
-struct_P_node.__slots__ = [
-    'x',
-    'y',
-    'z',
-    'alloc_lines',
-    'n_lines',
-    'lines',
-    'angles',
-]
-struct_P_node._fields_ = [
-    ('x', c_double),
-    ('y', c_double),
-    ('z', c_double),
-    ('alloc_lines', plus_t),
-    ('n_lines', plus_t),
-    ('lines', POINTER(plus_t)),
-    ('angles', POINTER(c_float)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1291
-class struct_P_topo_l(Structure):
-    pass
-
-struct_P_topo_l.__slots__ = [
-    'N1',
-    'N2',
-]
-struct_P_topo_l._fields_ = [
-    ('N1', plus_t),
-    ('N2', plus_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1306
-class struct_P_topo_b(Structure):
-    pass
-
-struct_P_topo_b.__slots__ = [
-    'N1',
-    'N2',
-    'left',
-    'right',
-]
-struct_P_topo_b._fields_ = [
-    ('N1', plus_t),
-    ('N2', plus_t),
-    ('left', plus_t),
-    ('right', plus_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1329
-class struct_P_topo_c(Structure):
-    pass
-
-struct_P_topo_c.__slots__ = [
-    'area',
-]
-struct_P_topo_c._fields_ = [
-    ('area', plus_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1340
-class struct_P_topo_f(Structure):
-    pass
-
-struct_P_topo_f.__slots__ = [
-    'E',
-    'left',
-    'right',
-]
-struct_P_topo_f._fields_ = [
-    ('E', plus_t * 3),
-    ('left', plus_t),
-    ('right', plus_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1360
-class struct_P_topo_k(Structure):
-    pass
-
-struct_P_topo_k.__slots__ = [
-    'volume',
-]
-struct_P_topo_k._fields_ = [
-    ('volume', plus_t),
-]
-
-struct_P_line.__slots__ = [
-    'type',
-    'offset',
-    'topo',
-]
-struct_P_line._fields_ = [
-    ('type', c_char),
-    ('offset', off_t),
-    ('topo', POINTER(None)),
-]
-
-struct_P_area.__slots__ = [
-    'n_lines',
-    'alloc_lines',
-    'lines',
-    'centroid',
-    'n_isles',
-    'alloc_isles',
-    'isles',
-]
-struct_P_area._fields_ = [
-    ('n_lines', plus_t),
-    ('alloc_lines', plus_t),
-    ('lines', POINTER(plus_t)),
-    ('centroid', plus_t),
-    ('n_isles', plus_t),
-    ('alloc_isles', plus_t),
-    ('isles', POINTER(plus_t)),
-]
-
-struct_P_isle.__slots__ = [
-    'n_lines',
-    'alloc_lines',
-    'lines',
-    'area',
-]
-struct_P_isle._fields_ = [
-    ('n_lines', plus_t),
-    ('alloc_lines', plus_t),
-    ('lines', POINTER(plus_t)),
-    ('area', plus_t),
-]
-
-struct_line_pnts.__slots__ = [
-    'x',
-    'y',
-    'z',
-    'n_points',
-    'alloc_points',
-]
-struct_line_pnts._fields_ = [
-    ('x', POINTER(c_double)),
-    ('y', POINTER(c_double)),
-    ('z', POINTER(c_double)),
-    ('n_points', c_int),
-    ('alloc_points', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1496
-class struct_line_cats(Structure):
-    pass
-
-struct_line_cats.__slots__ = [
-    'field',
-    'cat',
-    'n_cats',
-    'alloc_cats',
-]
-struct_line_cats._fields_ = [
-    ('field', POINTER(c_int)),
-    ('cat', POINTER(c_int)),
-    ('n_cats', c_int),
-    ('alloc_cats', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1517
-class struct_cat_list(Structure):
-    pass
-
-struct_cat_list.__slots__ = [
-    'field',
-    'min',
-    'max',
-    'n_ranges',
-    'alloc_ranges',
-]
-struct_cat_list._fields_ = [
-    ('field', c_int),
-    ('min', POINTER(c_int)),
-    ('max', POINTER(c_int)),
-    ('n_ranges', c_int),
-    ('alloc_ranges', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1546
-class struct_ilist(Structure):
-    pass
-
-struct_ilist.__slots__ = [
-    'value',
-    'n_values',
-    'alloc_values',
-]
-struct_ilist._fields_ = [
-    ('value', POINTER(c_int)),
-    ('n_values', c_int),
-    ('alloc_values', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1565
-class struct_boxlist(Structure):
-    pass
-
-struct_boxlist.__slots__ = [
-    'id',
-    'box',
-    'have_boxes',
-    'n_values',
-    'alloc_values',
-]
-struct_boxlist._fields_ = [
-    ('id', POINTER(c_int)),
-    ('box', POINTER(struct_bound_box)),
-    ('have_boxes', c_int),
-    ('n_values', c_int),
-    ('alloc_values', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1594
-class struct_varray(Structure):
-    pass
-
-struct_varray.__slots__ = [
-    'size',
-    'c',
-]
-struct_varray._fields_ = [
-    ('size', c_int),
-    ('c', POINTER(c_int)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1614
-class struct_spatial_index(Structure):
-    pass
-
-struct_spatial_index.__slots__ = [
-    'si_tree',
-    'name',
-]
-struct_spatial_index._fields_ = [
-    ('si_tree', POINTER(struct_RTree)),
-    ('name', String),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 20
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_line_struct'):
-    Vect_new_line_struct = _libs['grass_vector.7.0.svn'].Vect_new_line_struct
-    Vect_new_line_struct.restype = POINTER(struct_line_pnts)
-    Vect_new_line_struct.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 21
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_append_point'):
-    Vect_append_point = _libs['grass_vector.7.0.svn'].Vect_append_point
-    Vect_append_point.restype = c_int
-    Vect_append_point.argtypes = [POINTER(struct_line_pnts), c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 22
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_append_points'):
-    Vect_append_points = _libs['grass_vector.7.0.svn'].Vect_append_points
-    Vect_append_points.restype = c_int
-    Vect_append_points.argtypes = [POINTER(struct_line_pnts), POINTER(struct_line_pnts), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 23
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_insert_point'):
-    Vect_line_insert_point = _libs['grass_vector.7.0.svn'].Vect_line_insert_point
-    Vect_line_insert_point.restype = c_int
-    Vect_line_insert_point.argtypes = [POINTER(struct_line_pnts), c_int, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 24
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_delete_point'):
-    Vect_line_delete_point = _libs['grass_vector.7.0.svn'].Vect_line_delete_point
-    Vect_line_delete_point.restype = c_int
-    Vect_line_delete_point.argtypes = [POINTER(struct_line_pnts), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 25
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_get_point'):
-    Vect_line_get_point = _libs['grass_vector.7.0.svn'].Vect_line_get_point
-    Vect_line_get_point.restype = c_int
-    Vect_line_get_point.argtypes = [POINTER(struct_line_pnts), c_int, POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 27
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_line_points'):
-    Vect_get_num_line_points = _libs['grass_vector.7.0.svn'].Vect_get_num_line_points
-    Vect_get_num_line_points.restype = c_int
-    Vect_get_num_line_points.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 28
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_prune'):
-    Vect_line_prune = _libs['grass_vector.7.0.svn'].Vect_line_prune
-    Vect_line_prune.restype = c_int
-    Vect_line_prune.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 29
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_prune_thresh'):
-    Vect_line_prune_thresh = _libs['grass_vector.7.0.svn'].Vect_line_prune_thresh
-    Vect_line_prune_thresh.restype = c_int
-    Vect_line_prune_thresh.argtypes = [POINTER(struct_line_pnts), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 30
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_reverse'):
-    Vect_line_reverse = _libs['grass_vector.7.0.svn'].Vect_line_reverse
-    Vect_line_reverse.restype = None
-    Vect_line_reverse.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 31
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_xyz_to_pnts'):
-    Vect_copy_xyz_to_pnts = _libs['grass_vector.7.0.svn'].Vect_copy_xyz_to_pnts
-    Vect_copy_xyz_to_pnts.restype = c_int
-    Vect_copy_xyz_to_pnts.argtypes = [POINTER(struct_line_pnts), POINTER(c_double), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 33
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_pnts_to_xyz'):
-    Vect_copy_pnts_to_xyz = _libs['grass_vector.7.0.svn'].Vect_copy_pnts_to_xyz
-    Vect_copy_pnts_to_xyz.restype = c_int
-    Vect_copy_pnts_to_xyz.argtypes = [POINTER(struct_line_pnts), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 35
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_reset_line'):
-    Vect_reset_line = _libs['grass_vector.7.0.svn'].Vect_reset_line
-    Vect_reset_line.restype = None
-    Vect_reset_line.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 36
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_destroy_line_struct'):
-    Vect_destroy_line_struct = _libs['grass_vector.7.0.svn'].Vect_destroy_line_struct
-    Vect_destroy_line_struct.restype = None
-    Vect_destroy_line_struct.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 37
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_on_line'):
-    Vect_point_on_line = _libs['grass_vector.7.0.svn'].Vect_point_on_line
-    Vect_point_on_line.restype = c_int
-    Vect_point_on_line.argtypes = [POINTER(struct_line_pnts), c_double, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 39
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_segment'):
-    Vect_line_segment = _libs['grass_vector.7.0.svn'].Vect_line_segment
-    Vect_line_segment.restype = c_int
-    Vect_line_segment.argtypes = [POINTER(struct_line_pnts), c_double, c_double, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 40
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_length'):
-    Vect_line_length = _libs['grass_vector.7.0.svn'].Vect_line_length
-    Vect_line_length.restype = c_double
-    Vect_line_length.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 41
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_area_perimeter'):
-    Vect_area_perimeter = _libs['grass_vector.7.0.svn'].Vect_area_perimeter
-    Vect_area_perimeter.restype = c_double
-    Vect_area_perimeter.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 42
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_geodesic_length'):
-    Vect_line_geodesic_length = _libs['grass_vector.7.0.svn'].Vect_line_geodesic_length
-    Vect_line_geodesic_length.restype = c_double
-    Vect_line_geodesic_length.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 43
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_distance'):
-    Vect_line_distance = _libs['grass_vector.7.0.svn'].Vect_line_distance
-    Vect_line_distance.restype = c_int
-    Vect_line_distance.argtypes = [POINTER(struct_line_pnts), c_double, c_double, c_double, c_int, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 46
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_box'):
-    Vect_line_box = _libs['grass_vector.7.0.svn'].Vect_line_box
-    Vect_line_box.restype = None
-    Vect_line_box.argtypes = [POINTER(struct_line_pnts), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 47
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_parallel'):
-    Vect_line_parallel = _libs['grass_vector.7.0.svn'].Vect_line_parallel
-    Vect_line_parallel.restype = None
-    Vect_line_parallel.argtypes = [POINTER(struct_line_pnts), c_double, c_double, c_int, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 49
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_parallel2'):
-    Vect_line_parallel2 = _libs['grass_vector.7.0.svn'].Vect_line_parallel2
-    Vect_line_parallel2.restype = None
-    Vect_line_parallel2.argtypes = [POINTER(struct_line_pnts), c_double, c_double, c_double, c_int, c_int, c_double, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 52
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_buffer'):
-    Vect_line_buffer = _libs['grass_vector.7.0.svn'].Vect_line_buffer
-    Vect_line_buffer.restype = None
-    Vect_line_buffer.argtypes = [POINTER(struct_line_pnts), c_double, c_double, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 53
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_buffer2'):
-    Vect_line_buffer2 = _libs['grass_vector.7.0.svn'].Vect_line_buffer2
-    Vect_line_buffer2.restype = None
-    Vect_line_buffer2.argtypes = [POINTER(struct_line_pnts), c_double, c_double, c_double, c_int, c_int, c_double, POINTER(POINTER(struct_line_pnts)), POINTER(POINTER(POINTER(struct_line_pnts))), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 57
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_area_buffer2'):
-    Vect_area_buffer2 = _libs['grass_vector.7.0.svn'].Vect_area_buffer2
-    Vect_area_buffer2.restype = None
-    Vect_area_buffer2.argtypes = [POINTER(struct_Map_info), c_int, c_double, c_double, c_double, c_int, c_int, c_double, POINTER(POINTER(struct_line_pnts)), POINTER(POINTER(POINTER(struct_line_pnts))), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 61
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_buffer2'):
-    Vect_point_buffer2 = _libs['grass_vector.7.0.svn'].Vect_point_buffer2
-    Vect_point_buffer2.restype = None
-    Vect_point_buffer2.argtypes = [c_double, c_double, c_double, c_double, c_double, c_int, c_double, POINTER(POINTER(struct_line_pnts))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 67
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_cats_struct'):
-    Vect_new_cats_struct = _libs['grass_vector.7.0.svn'].Vect_new_cats_struct
-    Vect_new_cats_struct.restype = POINTER(struct_line_cats)
-    Vect_new_cats_struct.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 68
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cat_set'):
-    Vect_cat_set = _libs['grass_vector.7.0.svn'].Vect_cat_set
-    Vect_cat_set.restype = c_int
-    Vect_cat_set.argtypes = [POINTER(struct_line_cats), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 69
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cat_get'):
-    Vect_cat_get = _libs['grass_vector.7.0.svn'].Vect_cat_get
-    Vect_cat_get.restype = c_int
-    Vect_cat_get.argtypes = [POINTER(struct_line_cats), c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 70
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cat_del'):
-    Vect_cat_del = _libs['grass_vector.7.0.svn'].Vect_cat_del
-    Vect_cat_del.restype = c_int
-    Vect_cat_del.argtypes = [POINTER(struct_line_cats), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 71
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_field_cat_del'):
-    Vect_field_cat_del = _libs['grass_vector.7.0.svn'].Vect_field_cat_del
-    Vect_field_cat_del.restype = c_int
-    Vect_field_cat_del.argtypes = [POINTER(struct_line_cats), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 72
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_field_cat_get'):
-    Vect_field_cat_get = _libs['grass_vector.7.0.svn'].Vect_field_cat_get
-    Vect_field_cat_get.restype = c_int
-    Vect_field_cat_get.argtypes = [POINTER(struct_line_cats), c_int, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 73
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cat_in_array'):
-    Vect_cat_in_array = _libs['grass_vector.7.0.svn'].Vect_cat_in_array
-    Vect_cat_in_array.restype = c_int
-    Vect_cat_in_array.argtypes = [c_int, POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 74
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_reset_cats'):
-    Vect_reset_cats = _libs['grass_vector.7.0.svn'].Vect_reset_cats
-    Vect_reset_cats.restype = c_int
-    Vect_reset_cats.argtypes = [POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 75
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_destroy_cats_struct'):
-    Vect_destroy_cats_struct = _libs['grass_vector.7.0.svn'].Vect_destroy_cats_struct
-    Vect_destroy_cats_struct.restype = None
-    Vect_destroy_cats_struct.argtypes = [POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 76
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_cats'):
-    Vect_get_area_cats = _libs['grass_vector.7.0.svn'].Vect_get_area_cats
-    Vect_get_area_cats.restype = c_int
-    Vect_get_area_cats.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 77
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_cat'):
-    Vect_get_area_cat = _libs['grass_vector.7.0.svn'].Vect_get_area_cat
-    Vect_get_area_cat.restype = c_int
-    Vect_get_area_cat.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 78
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_line_cat'):
-    Vect_get_line_cat = _libs['grass_vector.7.0.svn'].Vect_get_line_cat
-    Vect_get_line_cat.restype = c_int
-    Vect_get_line_cat.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 81
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_cat_list'):
-    Vect_new_cat_list = _libs['grass_vector.7.0.svn'].Vect_new_cat_list
-    Vect_new_cat_list.restype = POINTER(struct_cat_list)
-    Vect_new_cat_list.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 82
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_str_to_cat_list'):
-    Vect_str_to_cat_list = _libs['grass_vector.7.0.svn'].Vect_str_to_cat_list
-    Vect_str_to_cat_list.restype = c_int
-    Vect_str_to_cat_list.argtypes = [String, POINTER(struct_cat_list)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 83
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_array_to_cat_list'):
-    Vect_array_to_cat_list = _libs['grass_vector.7.0.svn'].Vect_array_to_cat_list
-    Vect_array_to_cat_list.restype = c_int
-    Vect_array_to_cat_list.argtypes = [POINTER(c_int), c_int, POINTER(struct_cat_list)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 84
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cat_in_cat_list'):
-    Vect_cat_in_cat_list = _libs['grass_vector.7.0.svn'].Vect_cat_in_cat_list
-    Vect_cat_in_cat_list.restype = c_int
-    Vect_cat_in_cat_list.argtypes = [c_int, POINTER(struct_cat_list)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 85
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_destroy_cat_list'):
-    Vect_destroy_cat_list = _libs['grass_vector.7.0.svn'].Vect_destroy_cat_list
-    Vect_destroy_cat_list.restype = None
-    Vect_destroy_cat_list.argtypes = [POINTER(struct_cat_list)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 88
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_varray'):
-    Vect_new_varray = _libs['grass_vector.7.0.svn'].Vect_new_varray
-    Vect_new_varray.restype = POINTER(struct_varray)
-    Vect_new_varray.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 89
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_varray_from_cat_string'):
-    Vect_set_varray_from_cat_string = _libs['grass_vector.7.0.svn'].Vect_set_varray_from_cat_string
-    Vect_set_varray_from_cat_string.restype = c_int
-    Vect_set_varray_from_cat_string.argtypes = [POINTER(struct_Map_info), c_int, String, c_int, c_int, POINTER(struct_varray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 91
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_varray_from_cat_list'):
-    Vect_set_varray_from_cat_list = _libs['grass_vector.7.0.svn'].Vect_set_varray_from_cat_list
-    Vect_set_varray_from_cat_list.restype = c_int
-    Vect_set_varray_from_cat_list.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_cat_list), c_int, c_int, POINTER(struct_varray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 93
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_varray_from_db'):
-    Vect_set_varray_from_db = _libs['grass_vector.7.0.svn'].Vect_set_varray_from_db
-    Vect_set_varray_from_db.restype = c_int
-    Vect_set_varray_from_db.argtypes = [POINTER(struct_Map_info), c_int, String, c_int, c_int, POINTER(struct_varray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 97
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_dblinks_struct'):
-    Vect_new_dblinks_struct = _libs['grass_vector.7.0.svn'].Vect_new_dblinks_struct
-    Vect_new_dblinks_struct.restype = POINTER(struct_dblinks)
-    Vect_new_dblinks_struct.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 98
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_reset_dblinks'):
-    Vect_reset_dblinks = _libs['grass_vector.7.0.svn'].Vect_reset_dblinks
-    Vect_reset_dblinks.restype = None
-    Vect_reset_dblinks.argtypes = [POINTER(struct_dblinks)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 99
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_add_dblink'):
-    Vect_add_dblink = _libs['grass_vector.7.0.svn'].Vect_add_dblink
-    Vect_add_dblink.restype = c_int
-    Vect_add_dblink.argtypes = [POINTER(struct_dblinks), c_int, String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 101
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_check_dblink'):
-    Vect_check_dblink = _libs['grass_vector.7.0.svn'].Vect_check_dblink
-    Vect_check_dblink.restype = c_int
-    Vect_check_dblink.argtypes = [POINTER(struct_dblinks), c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 102
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_map_add_dblink'):
-    Vect_map_add_dblink = _libs['grass_vector.7.0.svn'].Vect_map_add_dblink
-    Vect_map_add_dblink.restype = c_int
-    Vect_map_add_dblink.argtypes = [POINTER(struct_Map_info), c_int, String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 105
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_map_del_dblink'):
-    Vect_map_del_dblink = _libs['grass_vector.7.0.svn'].Vect_map_del_dblink
-    Vect_map_del_dblink.restype = c_int
-    Vect_map_del_dblink.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 106
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_map_check_dblink'):
-    Vect_map_check_dblink = _libs['grass_vector.7.0.svn'].Vect_map_check_dblink
-    Vect_map_check_dblink.restype = c_int
-    Vect_map_check_dblink.argtypes = [POINTER(struct_Map_info), c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 107
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_dblinks'):
-    Vect_read_dblinks = _libs['grass_vector.7.0.svn'].Vect_read_dblinks
-    Vect_read_dblinks.restype = c_int
-    Vect_read_dblinks.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 108
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_write_dblinks'):
-    Vect_write_dblinks = _libs['grass_vector.7.0.svn'].Vect_write_dblinks
-    Vect_write_dblinks.restype = c_int
-    Vect_write_dblinks.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 109
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_default_field_info'):
-    Vect_default_field_info = _libs['grass_vector.7.0.svn'].Vect_default_field_info
-    Vect_default_field_info.restype = POINTER(struct_field_info)
-    Vect_default_field_info.argtypes = [POINTER(struct_Map_info), c_int, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 111
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_dblink'):
-    Vect_get_dblink = _libs['grass_vector.7.0.svn'].Vect_get_dblink
-    Vect_get_dblink.restype = POINTER(struct_field_info)
-    Vect_get_dblink.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 112
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_field'):
-    Vect_get_field = _libs['grass_vector.7.0.svn'].Vect_get_field
-    Vect_get_field.restype = POINTER(struct_field_info)
-    Vect_get_field.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 113
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_field_by_name'):
-    Vect_get_field_by_name = _libs['grass_vector.7.0.svn'].Vect_get_field_by_name
-    Vect_get_field_by_name.restype = POINTER(struct_field_info)
-    Vect_get_field_by_name.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 114
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_field2'):
-    Vect_get_field2 = _libs['grass_vector.7.0.svn'].Vect_get_field2
-    Vect_get_field2.restype = POINTER(struct_field_info)
-    Vect_get_field2.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 115
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_field_number'):
-    Vect_get_field_number = _libs['grass_vector.7.0.svn'].Vect_get_field_number
-    Vect_get_field_number.restype = c_int
-    Vect_get_field_number.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 116
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_db_updated'):
-    Vect_set_db_updated = _libs['grass_vector.7.0.svn'].Vect_set_db_updated
-    Vect_set_db_updated.restype = None
-    Vect_set_db_updated.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 117
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_column_names'):
-    Vect_get_column_names = _libs['grass_vector.7.0.svn'].Vect_get_column_names
-    Vect_get_column_names.restype = ReturnString
-    Vect_get_column_names.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 118
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_column_types'):
-    Vect_get_column_types = _libs['grass_vector.7.0.svn'].Vect_get_column_types
-    Vect_get_column_types.restype = ReturnString
-    Vect_get_column_types.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 119
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_column_names_types'):
-    Vect_get_column_names_types = _libs['grass_vector.7.0.svn'].Vect_get_column_names_types
-    Vect_get_column_names_types.restype = ReturnString
-    Vect_get_column_names_types.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 122
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_list'):
-    Vect_new_list = _libs['grass_vector.7.0.svn'].Vect_new_list
-    Vect_new_list.restype = POINTER(struct_ilist)
-    Vect_new_list.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 123
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_list_append'):
-    Vect_list_append = _libs['grass_vector.7.0.svn'].Vect_list_append
-    Vect_list_append.restype = c_int
-    Vect_list_append.argtypes = [POINTER(struct_ilist), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 124
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_list_append_list'):
-    Vect_list_append_list = _libs['grass_vector.7.0.svn'].Vect_list_append_list
-    Vect_list_append_list.restype = c_int
-    Vect_list_append_list.argtypes = [POINTER(struct_ilist), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 125
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_list_delete'):
-    Vect_list_delete = _libs['grass_vector.7.0.svn'].Vect_list_delete
-    Vect_list_delete.restype = c_int
-    Vect_list_delete.argtypes = [POINTER(struct_ilist), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 126
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_list_delete_list'):
-    Vect_list_delete_list = _libs['grass_vector.7.0.svn'].Vect_list_delete_list
-    Vect_list_delete_list.restype = c_int
-    Vect_list_delete_list.argtypes = [POINTER(struct_ilist), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 127
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_val_in_list'):
-    Vect_val_in_list = _libs['grass_vector.7.0.svn'].Vect_val_in_list
-    Vect_val_in_list.restype = c_int
-    Vect_val_in_list.argtypes = [POINTER(struct_ilist), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 128
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_reset_list'):
-    Vect_reset_list = _libs['grass_vector.7.0.svn'].Vect_reset_list
-    Vect_reset_list.restype = c_int
-    Vect_reset_list.argtypes = [POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 129
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_destroy_list'):
-    Vect_destroy_list = _libs['grass_vector.7.0.svn'].Vect_destroy_list
-    Vect_destroy_list.restype = None
-    Vect_destroy_list.argtypes = [POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 132
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_boxlist'):
-    Vect_new_boxlist = _libs['grass_vector.7.0.svn'].Vect_new_boxlist
-    Vect_new_boxlist.restype = POINTER(struct_boxlist)
-    Vect_new_boxlist.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 133
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_boxlist_append'):
-    Vect_boxlist_append = _libs['grass_vector.7.0.svn'].Vect_boxlist_append
-    Vect_boxlist_append.restype = c_int
-    Vect_boxlist_append.argtypes = [POINTER(struct_boxlist), c_int, struct_bound_box]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 134
-for _lib in _libs.values():
-    if hasattr(_lib, 'Vect_boxlist_append_list'):
-        Vect_boxlist_append_list = _lib.Vect_boxlist_append_list
-        Vect_boxlist_append_list.restype = c_int
-        Vect_boxlist_append_list.argtypes = [POINTER(struct_boxlist), POINTER(struct_boxlist)]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 135
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_boxlist_delete'):
-    Vect_boxlist_delete = _libs['grass_vector.7.0.svn'].Vect_boxlist_delete
-    Vect_boxlist_delete.restype = c_int
-    Vect_boxlist_delete.argtypes = [POINTER(struct_boxlist), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 136
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_boxlist_delete_boxlist'):
-    Vect_boxlist_delete_boxlist = _libs['grass_vector.7.0.svn'].Vect_boxlist_delete_boxlist
-    Vect_boxlist_delete_boxlist.restype = c_int
-    Vect_boxlist_delete_boxlist.argtypes = [POINTER(struct_boxlist), POINTER(struct_boxlist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 137
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_val_in_boxlist'):
-    Vect_val_in_boxlist = _libs['grass_vector.7.0.svn'].Vect_val_in_boxlist
-    Vect_val_in_boxlist.restype = c_int
-    Vect_val_in_boxlist.argtypes = [POINTER(struct_boxlist), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 138
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_reset_boxlist'):
-    Vect_reset_boxlist = _libs['grass_vector.7.0.svn'].Vect_reset_boxlist
-    Vect_reset_boxlist.restype = c_int
-    Vect_reset_boxlist.argtypes = [POINTER(struct_boxlist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 139
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_destroy_boxlist'):
-    Vect_destroy_boxlist = _libs['grass_vector.7.0.svn'].Vect_destroy_boxlist
-    Vect_destroy_boxlist.restype = None
-    Vect_destroy_boxlist.argtypes = [POINTER(struct_boxlist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 142
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_in_box'):
-    Vect_point_in_box = _libs['grass_vector.7.0.svn'].Vect_point_in_box
-    Vect_point_in_box.restype = c_int
-    Vect_point_in_box.argtypes = [c_double, c_double, c_double, POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 143
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_box_overlap'):
-    Vect_box_overlap = _libs['grass_vector.7.0.svn'].Vect_box_overlap
-    Vect_box_overlap.restype = c_int
-    Vect_box_overlap.argtypes = [POINTER(struct_bound_box), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 144
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_box_copy'):
-    Vect_box_copy = _libs['grass_vector.7.0.svn'].Vect_box_copy
-    Vect_box_copy.restype = c_int
-    Vect_box_copy.argtypes = [POINTER(struct_bound_box), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 145
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_box_extend'):
-    Vect_box_extend = _libs['grass_vector.7.0.svn'].Vect_box_extend
-    Vect_box_extend.restype = c_int
-    Vect_box_extend.argtypes = [POINTER(struct_bound_box), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 146
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_box_clip'):
-    Vect_box_clip = _libs['grass_vector.7.0.svn'].Vect_box_clip
-    Vect_box_clip.restype = c_int
-    Vect_box_clip.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 147
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_region_box'):
-    Vect_region_box = _libs['grass_vector.7.0.svn'].Vect_region_box
-    Vect_region_box.restype = c_int
-    Vect_region_box.argtypes = [POINTER(struct_Cell_head), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 150
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_num_fields'):
-    Vect_cidx_get_num_fields = _libs['grass_vector.7.0.svn'].Vect_cidx_get_num_fields
-    Vect_cidx_get_num_fields.restype = c_int
-    Vect_cidx_get_num_fields.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 151
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_field_number'):
-    Vect_cidx_get_field_number = _libs['grass_vector.7.0.svn'].Vect_cidx_get_field_number
-    Vect_cidx_get_field_number.restype = c_int
-    Vect_cidx_get_field_number.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 152
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_field_index'):
-    Vect_cidx_get_field_index = _libs['grass_vector.7.0.svn'].Vect_cidx_get_field_index
-    Vect_cidx_get_field_index.restype = c_int
-    Vect_cidx_get_field_index.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 153
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_num_unique_cats_by_index'):
-    Vect_cidx_get_num_unique_cats_by_index = _libs['grass_vector.7.0.svn'].Vect_cidx_get_num_unique_cats_by_index
-    Vect_cidx_get_num_unique_cats_by_index.restype = c_int
-    Vect_cidx_get_num_unique_cats_by_index.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 154
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_num_cats_by_index'):
-    Vect_cidx_get_num_cats_by_index = _libs['grass_vector.7.0.svn'].Vect_cidx_get_num_cats_by_index
-    Vect_cidx_get_num_cats_by_index.restype = c_int
-    Vect_cidx_get_num_cats_by_index.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 155
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_num_types_by_index'):
-    Vect_cidx_get_num_types_by_index = _libs['grass_vector.7.0.svn'].Vect_cidx_get_num_types_by_index
-    Vect_cidx_get_num_types_by_index.restype = c_int
-    Vect_cidx_get_num_types_by_index.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 156
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_type_count_by_index'):
-    Vect_cidx_get_type_count_by_index = _libs['grass_vector.7.0.svn'].Vect_cidx_get_type_count_by_index
-    Vect_cidx_get_type_count_by_index.restype = c_int
-    Vect_cidx_get_type_count_by_index.argtypes = [POINTER(struct_Map_info), c_int, c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 158
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_type_count'):
-    Vect_cidx_get_type_count = _libs['grass_vector.7.0.svn'].Vect_cidx_get_type_count
-    Vect_cidx_get_type_count.restype = c_int
-    Vect_cidx_get_type_count.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 159
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_cat_by_index'):
-    Vect_cidx_get_cat_by_index = _libs['grass_vector.7.0.svn'].Vect_cidx_get_cat_by_index
-    Vect_cidx_get_cat_by_index.restype = c_int
-    Vect_cidx_get_cat_by_index.argtypes = [POINTER(struct_Map_info), c_int, c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 161
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_find_next'):
-    Vect_cidx_find_next = _libs['grass_vector.7.0.svn'].Vect_cidx_find_next
-    Vect_cidx_find_next.restype = c_int
-    Vect_cidx_find_next.argtypes = [POINTER(struct_Map_info), c_int, c_int, c_int, c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 162
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_find_all'):
-    Vect_cidx_find_all = _libs['grass_vector.7.0.svn'].Vect_cidx_find_all
-    Vect_cidx_find_all.restype = None
-    Vect_cidx_find_all.argtypes = [POINTER(struct_Map_info), c_int, c_int, c_int, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 163
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_dump'):
-    Vect_cidx_dump = _libs['grass_vector.7.0.svn'].Vect_cidx_dump
-    Vect_cidx_dump.restype = c_int
-    Vect_cidx_dump.argtypes = [POINTER(struct_Map_info), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 164
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_save'):
-    Vect_cidx_save = _libs['grass_vector.7.0.svn'].Vect_cidx_save
-    Vect_cidx_save.restype = c_int
-    Vect_cidx_save.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 165
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_open'):
-    Vect_cidx_open = _libs['grass_vector.7.0.svn'].Vect_cidx_open
-    Vect_cidx_open.restype = c_int
-    Vect_cidx_open.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 169
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_header'):
-    Vect_read_header = _libs['grass_vector.7.0.svn'].Vect_read_header
-    Vect_read_header.restype = c_int
-    Vect_read_header.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 170
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_write_header'):
-    Vect_write_header = _libs['grass_vector.7.0.svn'].Vect_write_header
-    Vect_write_header.restype = c_int
-    Vect_write_header.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 171
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_name'):
-    Vect_get_name = _libs['grass_vector.7.0.svn'].Vect_get_name
-    Vect_get_name.restype = ReturnString
-    Vect_get_name.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 172
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_mapset'):
-    Vect_get_mapset = _libs['grass_vector.7.0.svn'].Vect_get_mapset
-    Vect_get_mapset.restype = ReturnString
-    Vect_get_mapset.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 173
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_full_name'):
-    Vect_get_full_name = _libs['grass_vector.7.0.svn'].Vect_get_full_name
-    Vect_get_full_name.restype = ReturnString
-    Vect_get_full_name.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 174
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_ogr_dsn_name'):
-    Vect_get_ogr_dsn_name = _libs['grass_vector.7.0.svn'].Vect_get_ogr_dsn_name
-    Vect_get_ogr_dsn_name.restype = ReturnString
-    Vect_get_ogr_dsn_name.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 175
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_ogr_layer_name'):
-    Vect_get_ogr_layer_name = _libs['grass_vector.7.0.svn'].Vect_get_ogr_layer_name
-    Vect_get_ogr_layer_name.restype = ReturnString
-    Vect_get_ogr_layer_name.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 176
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_ogr_format_info'):
-    Vect_get_ogr_format_info = _libs['grass_vector.7.0.svn'].Vect_get_ogr_format_info
-    Vect_get_ogr_format_info.restype = ReturnString
-    Vect_get_ogr_format_info.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 177
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_ogr_geometry_type'):
-    Vect_get_ogr_geometry_type = _libs['grass_vector.7.0.svn'].Vect_get_ogr_geometry_type
-    Vect_get_ogr_geometry_type.restype = ReturnString
-    Vect_get_ogr_geometry_type.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 178
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_is_3d'):
-    Vect_is_3d = _libs['grass_vector.7.0.svn'].Vect_is_3d
-    Vect_is_3d.restype = c_int
-    Vect_is_3d.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 179
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_organization'):
-    Vect_set_organization = _libs['grass_vector.7.0.svn'].Vect_set_organization
-    Vect_set_organization.restype = c_int
-    Vect_set_organization.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 180
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_organization'):
-    Vect_get_organization = _libs['grass_vector.7.0.svn'].Vect_get_organization
-    Vect_get_organization.restype = ReturnString
-    Vect_get_organization.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 181
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_date'):
-    Vect_set_date = _libs['grass_vector.7.0.svn'].Vect_set_date
-    Vect_set_date.restype = c_int
-    Vect_set_date.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 182
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_date'):
-    Vect_get_date = _libs['grass_vector.7.0.svn'].Vect_get_date
-    Vect_get_date.restype = ReturnString
-    Vect_get_date.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 183
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_person'):
-    Vect_set_person = _libs['grass_vector.7.0.svn'].Vect_set_person
-    Vect_set_person.restype = c_int
-    Vect_set_person.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 184
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_person'):
-    Vect_get_person = _libs['grass_vector.7.0.svn'].Vect_get_person
-    Vect_get_person.restype = ReturnString
-    Vect_get_person.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 185
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_map_name'):
-    Vect_set_map_name = _libs['grass_vector.7.0.svn'].Vect_set_map_name
-    Vect_set_map_name.restype = c_int
-    Vect_set_map_name.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 186
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_map_name'):
-    Vect_get_map_name = _libs['grass_vector.7.0.svn'].Vect_get_map_name
-    Vect_get_map_name.restype = ReturnString
-    Vect_get_map_name.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 187
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_map_date'):
-    Vect_set_map_date = _libs['grass_vector.7.0.svn'].Vect_set_map_date
-    Vect_set_map_date.restype = c_int
-    Vect_set_map_date.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 188
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_map_date'):
-    Vect_get_map_date = _libs['grass_vector.7.0.svn'].Vect_get_map_date
-    Vect_get_map_date.restype = ReturnString
-    Vect_get_map_date.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 189
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_comment'):
-    Vect_set_comment = _libs['grass_vector.7.0.svn'].Vect_set_comment
-    Vect_set_comment.restype = c_int
-    Vect_set_comment.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 190
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_comment'):
-    Vect_get_comment = _libs['grass_vector.7.0.svn'].Vect_get_comment
-    Vect_get_comment.restype = ReturnString
-    Vect_get_comment.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 191
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_scale'):
-    Vect_set_scale = _libs['grass_vector.7.0.svn'].Vect_set_scale
-    Vect_set_scale.restype = c_int
-    Vect_set_scale.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 192
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_scale'):
-    Vect_get_scale = _libs['grass_vector.7.0.svn'].Vect_get_scale
-    Vect_get_scale.restype = c_int
-    Vect_get_scale.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 193
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_zone'):
-    Vect_set_zone = _libs['grass_vector.7.0.svn'].Vect_set_zone
-    Vect_set_zone.restype = c_int
-    Vect_set_zone.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 194
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_zone'):
-    Vect_get_zone = _libs['grass_vector.7.0.svn'].Vect_get_zone
-    Vect_get_zone.restype = c_int
-    Vect_get_zone.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 195
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_proj'):
-    Vect_get_proj = _libs['grass_vector.7.0.svn'].Vect_get_proj
-    Vect_get_proj.restype = c_int
-    Vect_get_proj.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 196
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_proj'):
-    Vect_set_proj = _libs['grass_vector.7.0.svn'].Vect_set_proj
-    Vect_set_proj.restype = c_int
-    Vect_set_proj.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 197
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_proj_name'):
-    Vect_get_proj_name = _libs['grass_vector.7.0.svn'].Vect_get_proj_name
-    Vect_get_proj_name.restype = ReturnString
-    Vect_get_proj_name.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 198
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_thresh'):
-    Vect_set_thresh = _libs['grass_vector.7.0.svn'].Vect_set_thresh
-    Vect_set_thresh.restype = c_int
-    Vect_set_thresh.argtypes = [POINTER(struct_Map_info), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 199
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_thresh'):
-    Vect_get_thresh = _libs['grass_vector.7.0.svn'].Vect_get_thresh
-    Vect_get_thresh.restype = c_double
-    Vect_get_thresh.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 200
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_constraint_box'):
-    Vect_get_constraint_box = _libs['grass_vector.7.0.svn'].Vect_get_constraint_box
-    Vect_get_constraint_box.restype = c_int
-    Vect_get_constraint_box.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 204
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_level'):
-    Vect_level = _libs['grass_vector.7.0.svn'].Vect_level
-    Vect_level.restype = c_int
-    Vect_level.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 205
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_line_type'):
-    Vect_get_line_type = _libs['grass_vector.7.0.svn'].Vect_get_line_type
-    Vect_get_line_type.restype = c_int
-    Vect_get_line_type.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 206
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_nodes'):
-    Vect_get_num_nodes = _libs['grass_vector.7.0.svn'].Vect_get_num_nodes
-    Vect_get_num_nodes.restype = plus_t
-    Vect_get_num_nodes.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 207
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_primitives'):
-    Vect_get_num_primitives = _libs['grass_vector.7.0.svn'].Vect_get_num_primitives
-    Vect_get_num_primitives.restype = plus_t
-    Vect_get_num_primitives.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 208
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_lines'):
-    Vect_get_num_lines = _libs['grass_vector.7.0.svn'].Vect_get_num_lines
-    Vect_get_num_lines.restype = plus_t
-    Vect_get_num_lines.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 209
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_areas'):
-    Vect_get_num_areas = _libs['grass_vector.7.0.svn'].Vect_get_num_areas
-    Vect_get_num_areas.restype = plus_t
-    Vect_get_num_areas.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 210
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_faces'):
-    Vect_get_num_faces = _libs['grass_vector.7.0.svn'].Vect_get_num_faces
-    Vect_get_num_faces.restype = plus_t
-    Vect_get_num_faces.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 211
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_kernels'):
-    Vect_get_num_kernels = _libs['grass_vector.7.0.svn'].Vect_get_num_kernels
-    Vect_get_num_kernels.restype = plus_t
-    Vect_get_num_kernels.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 212
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_volumes'):
-    Vect_get_num_volumes = _libs['grass_vector.7.0.svn'].Vect_get_num_volumes
-    Vect_get_num_volumes.restype = plus_t
-    Vect_get_num_volumes.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 213
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_islands'):
-    Vect_get_num_islands = _libs['grass_vector.7.0.svn'].Vect_get_num_islands
-    Vect_get_num_islands.restype = plus_t
-    Vect_get_num_islands.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 214
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_holes'):
-    Vect_get_num_holes = _libs['grass_vector.7.0.svn'].Vect_get_num_holes
-    Vect_get_num_holes.restype = plus_t
-    Vect_get_num_holes.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 215
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_line_box'):
-    Vect_get_line_box = _libs['grass_vector.7.0.svn'].Vect_get_line_box
-    Vect_get_line_box.restype = c_int
-    Vect_get_line_box.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 216
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_box'):
-    Vect_get_area_box = _libs['grass_vector.7.0.svn'].Vect_get_area_box
-    Vect_get_area_box.restype = c_int
-    Vect_get_area_box.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 217
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_isle_box'):
-    Vect_get_isle_box = _libs['grass_vector.7.0.svn'].Vect_get_isle_box
-    Vect_get_isle_box.restype = c_int
-    Vect_get_isle_box.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 218
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_map_box'):
-    Vect_get_map_box = _libs['grass_vector.7.0.svn'].Vect_get_map_box
-    Vect_get_map_box.restype = c_int
-    Vect_get_map_box.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 219
-if hasattr(_libs['grass_vector.7.0.svn'], 'V__map_overlap'):
-    V__map_overlap = _libs['grass_vector.7.0.svn'].V__map_overlap
-    V__map_overlap.restype = c_int
-    V__map_overlap.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 220
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_release_support'):
-    Vect_set_release_support = _libs['grass_vector.7.0.svn'].Vect_set_release_support
-    Vect_set_release_support.restype = None
-    Vect_set_release_support.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 221
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_category_index_update'):
-    Vect_set_category_index_update = _libs['grass_vector.7.0.svn'].Vect_set_category_index_update
-    Vect_set_category_index_update.restype = None
-    Vect_set_category_index_update.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 224
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_fatal_error'):
-    Vect_set_fatal_error = _libs['grass_vector.7.0.svn'].Vect_set_fatal_error
-    Vect_set_fatal_error.restype = c_int
-    Vect_set_fatal_error.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 225
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_fatal_error'):
-    Vect_get_fatal_error = _libs['grass_vector.7.0.svn'].Vect_get_fatal_error
-    Vect_get_fatal_error.restype = c_int
-    Vect_get_fatal_error.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 228
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_check_input_output_name'):
-    Vect_check_input_output_name = _libs['grass_vector.7.0.svn'].Vect_check_input_output_name
-    Vect_check_input_output_name.restype = c_int
-    Vect_check_input_output_name.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 229
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_legal_filename'):
-    Vect_legal_filename = _libs['grass_vector.7.0.svn'].Vect_legal_filename
-    Vect_legal_filename.restype = c_int
-    Vect_legal_filename.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 230
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_open_level'):
-    Vect_set_open_level = _libs['grass_vector.7.0.svn'].Vect_set_open_level
-    Vect_set_open_level.restype = c_int
-    Vect_set_open_level.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 231
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_old'):
-    Vect_open_old = _libs['grass_vector.7.0.svn'].Vect_open_old
-    Vect_open_old.restype = c_int
-    Vect_open_old.argtypes = [POINTER(struct_Map_info), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 232
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_old2'):
-    Vect_open_old2 = _libs['grass_vector.7.0.svn'].Vect_open_old2
-    Vect_open_old2.restype = c_int
-    Vect_open_old2.argtypes = [POINTER(struct_Map_info), String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 233
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_old_head'):
-    Vect_open_old_head = _libs['grass_vector.7.0.svn'].Vect_open_old_head
-    Vect_open_old_head.restype = c_int
-    Vect_open_old_head.argtypes = [POINTER(struct_Map_info), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 234
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_old_head2'):
-    Vect_open_old_head2 = _libs['grass_vector.7.0.svn'].Vect_open_old_head2
-    Vect_open_old_head2.restype = c_int
-    Vect_open_old_head2.argtypes = [POINTER(struct_Map_info), String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 235
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_new'):
-    Vect_open_new = _libs['grass_vector.7.0.svn'].Vect_open_new
-    Vect_open_new.restype = c_int
-    Vect_open_new.argtypes = [POINTER(struct_Map_info), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 236
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_update'):
-    Vect_open_update = _libs['grass_vector.7.0.svn'].Vect_open_update
-    Vect_open_update.restype = c_int
-    Vect_open_update.argtypes = [POINTER(struct_Map_info), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 237
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_update2'):
-    Vect_open_update2 = _libs['grass_vector.7.0.svn'].Vect_open_update2
-    Vect_open_update2.restype = c_int
-    Vect_open_update2.argtypes = [POINTER(struct_Map_info), String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 238
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_update_head'):
-    Vect_open_update_head = _libs['grass_vector.7.0.svn'].Vect_open_update_head
-    Vect_open_update_head.restype = c_int
-    Vect_open_update_head.argtypes = [POINTER(struct_Map_info), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 239
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_head_data'):
-    Vect_copy_head_data = _libs['grass_vector.7.0.svn'].Vect_copy_head_data
-    Vect_copy_head_data.restype = c_int
-    Vect_copy_head_data.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 240
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build'):
-    Vect_build = _libs['grass_vector.7.0.svn'].Vect_build
-    Vect_build.restype = c_int
-    Vect_build.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 241
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_built'):
-    Vect_get_built = _libs['grass_vector.7.0.svn'].Vect_get_built
-    Vect_get_built.restype = c_int
-    Vect_get_built.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 242
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build_partial'):
-    Vect_build_partial = _libs['grass_vector.7.0.svn'].Vect_build_partial
-    Vect_build_partial.restype = c_int
-    Vect_build_partial.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 243
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_constraint_region'):
-    Vect_set_constraint_region = _libs['grass_vector.7.0.svn'].Vect_set_constraint_region
-    Vect_set_constraint_region.restype = c_int
-    Vect_set_constraint_region.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 245
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_constraint_type'):
-    Vect_set_constraint_type = _libs['grass_vector.7.0.svn'].Vect_set_constraint_type
-    Vect_set_constraint_type.restype = c_int
-    Vect_set_constraint_type.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 246
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_remove_constraints'):
-    Vect_remove_constraints = _libs['grass_vector.7.0.svn'].Vect_remove_constraints
-    Vect_remove_constraints.restype = c_int
-    Vect_remove_constraints.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 247
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_rewind'):
-    Vect_rewind = _libs['grass_vector.7.0.svn'].Vect_rewind
-    Vect_rewind.restype = c_int
-    Vect_rewind.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 248
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_close'):
-    Vect_close = _libs['grass_vector.7.0.svn'].Vect_close
-    Vect_close.restype = c_int
-    Vect_close.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 252
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_next_line'):
-    Vect_read_next_line = _libs['grass_vector.7.0.svn'].Vect_read_next_line
-    Vect_read_next_line.restype = c_int
-    Vect_read_next_line.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 254
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_write_line'):
-    Vect_write_line = _libs['grass_vector.7.0.svn'].Vect_write_line
-    Vect_write_line.restype = off_t
-    Vect_write_line.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 257
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_dblinks'):
-    Vect_get_num_dblinks = _libs['grass_vector.7.0.svn'].Vect_get_num_dblinks
-    Vect_get_num_dblinks.restype = c_int
-    Vect_get_num_dblinks.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 260
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_line'):
-    Vect_read_line = _libs['grass_vector.7.0.svn'].Vect_read_line
-    Vect_read_line.restype = c_int
-    Vect_read_line.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 262
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_rewrite_line'):
-    Vect_rewrite_line = _libs['grass_vector.7.0.svn'].Vect_rewrite_line
-    Vect_rewrite_line.restype = off_t
-    Vect_rewrite_line.argtypes = [POINTER(struct_Map_info), c_int, c_int, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 264
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_delete_line'):
-    Vect_delete_line = _libs['grass_vector.7.0.svn'].Vect_delete_line
-    Vect_delete_line.restype = c_int
-    Vect_delete_line.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 265
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_restore_line'):
-    Vect_restore_line = _libs['grass_vector.7.0.svn'].Vect_restore_line
-    Vect_restore_line.restype = c_int
-    Vect_restore_line.argtypes = [POINTER(struct_Map_info), c_int, off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 267
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_alive'):
-    Vect_line_alive = _libs['grass_vector.7.0.svn'].Vect_line_alive
-    Vect_line_alive.restype = c_int
-    Vect_line_alive.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 268
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_node_alive'):
-    Vect_node_alive = _libs['grass_vector.7.0.svn'].Vect_node_alive
-    Vect_node_alive.restype = c_int
-    Vect_node_alive.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 269
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_area_alive'):
-    Vect_area_alive = _libs['grass_vector.7.0.svn'].Vect_area_alive
-    Vect_area_alive.restype = c_int
-    Vect_area_alive.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 270
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_isle_alive'):
-    Vect_isle_alive = _libs['grass_vector.7.0.svn'].Vect_isle_alive
-    Vect_isle_alive.restype = c_int
-    Vect_isle_alive.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 271
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_line_nodes'):
-    Vect_get_line_nodes = _libs['grass_vector.7.0.svn'].Vect_get_line_nodes
-    Vect_get_line_nodes.restype = c_int
-    Vect_get_line_nodes.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 272
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_line_areas'):
-    Vect_get_line_areas = _libs['grass_vector.7.0.svn'].Vect_get_line_areas
-    Vect_get_line_areas.restype = c_int
-    Vect_get_line_areas.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 273
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_line_offset'):
-    Vect_get_line_offset = _libs['grass_vector.7.0.svn'].Vect_get_line_offset
-    Vect_get_line_offset.restype = off_t
-    Vect_get_line_offset.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 275
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_node_coor'):
-    Vect_get_node_coor = _libs['grass_vector.7.0.svn'].Vect_get_node_coor
-    Vect_get_node_coor.restype = c_int
-    Vect_get_node_coor.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 276
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_node_n_lines'):
-    Vect_get_node_n_lines = _libs['grass_vector.7.0.svn'].Vect_get_node_n_lines
-    Vect_get_node_n_lines.restype = c_int
-    Vect_get_node_n_lines.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 277
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_node_line'):
-    Vect_get_node_line = _libs['grass_vector.7.0.svn'].Vect_get_node_line
-    Vect_get_node_line.restype = c_int
-    Vect_get_node_line.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 278
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_node_line_angle'):
-    Vect_get_node_line_angle = _libs['grass_vector.7.0.svn'].Vect_get_node_line_angle
-    Vect_get_node_line_angle.restype = c_float
-    Vect_get_node_line_angle.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 280
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_points'):
-    Vect_get_area_points = _libs['grass_vector.7.0.svn'].Vect_get_area_points
-    Vect_get_area_points.restype = c_int
-    Vect_get_area_points.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 281
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_centroid'):
-    Vect_get_area_centroid = _libs['grass_vector.7.0.svn'].Vect_get_area_centroid
-    Vect_get_area_centroid.restype = c_int
-    Vect_get_area_centroid.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 282
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_num_isles'):
-    Vect_get_area_num_isles = _libs['grass_vector.7.0.svn'].Vect_get_area_num_isles
-    Vect_get_area_num_isles.restype = c_int
-    Vect_get_area_num_isles.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 283
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_isle'):
-    Vect_get_area_isle = _libs['grass_vector.7.0.svn'].Vect_get_area_isle
-    Vect_get_area_isle.restype = c_int
-    Vect_get_area_isle.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 284
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_area'):
-    Vect_get_area_area = _libs['grass_vector.7.0.svn'].Vect_get_area_area
-    Vect_get_area_area.restype = c_double
-    Vect_get_area_area.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 285
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_boundaries'):
-    Vect_get_area_boundaries = _libs['grass_vector.7.0.svn'].Vect_get_area_boundaries
-    Vect_get_area_boundaries.restype = c_int
-    Vect_get_area_boundaries.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 287
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_isle_points'):
-    Vect_get_isle_points = _libs['grass_vector.7.0.svn'].Vect_get_isle_points
-    Vect_get_isle_points.restype = c_int
-    Vect_get_isle_points.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 288
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_isle_area'):
-    Vect_get_isle_area = _libs['grass_vector.7.0.svn'].Vect_get_isle_area
-    Vect_get_isle_area.restype = c_int
-    Vect_get_isle_area.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 289
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_isle_boundaries'):
-    Vect_get_isle_boundaries = _libs['grass_vector.7.0.svn'].Vect_get_isle_boundaries
-    Vect_get_isle_boundaries.restype = c_int
-    Vect_get_isle_boundaries.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 291
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_centroid_area'):
-    Vect_get_centroid_area = _libs['grass_vector.7.0.svn'].Vect_get_centroid_area
-    Vect_get_centroid_area.restype = c_int
-    Vect_get_centroid_area.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 294
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_updated_lines'):
-    Vect_get_num_updated_lines = _libs['grass_vector.7.0.svn'].Vect_get_num_updated_lines
-    Vect_get_num_updated_lines.restype = c_int
-    Vect_get_num_updated_lines.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 295
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_updated_line'):
-    Vect_get_updated_line = _libs['grass_vector.7.0.svn'].Vect_get_updated_line
-    Vect_get_updated_line.restype = c_int
-    Vect_get_updated_line.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 296
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_updated_nodes'):
-    Vect_get_num_updated_nodes = _libs['grass_vector.7.0.svn'].Vect_get_num_updated_nodes
-    Vect_get_num_updated_nodes.restype = c_int
-    Vect_get_num_updated_nodes.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 297
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_updated_node'):
-    Vect_get_updated_node = _libs['grass_vector.7.0.svn'].Vect_get_updated_node
-    Vect_get_updated_node.restype = c_int
-    Vect_get_updated_node.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 300
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_hist_command'):
-    Vect_hist_command = _libs['grass_vector.7.0.svn'].Vect_hist_command
-    Vect_hist_command.restype = c_int
-    Vect_hist_command.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 301
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_hist_write'):
-    Vect_hist_write = _libs['grass_vector.7.0.svn'].Vect_hist_write
-    Vect_hist_write.restype = c_int
-    Vect_hist_write.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 302
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_hist_copy'):
-    Vect_hist_copy = _libs['grass_vector.7.0.svn'].Vect_hist_copy
-    Vect_hist_copy.restype = c_int
-    Vect_hist_copy.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 303
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_hist_rewind'):
-    Vect_hist_rewind = _libs['grass_vector.7.0.svn'].Vect_hist_rewind
-    Vect_hist_rewind.restype = None
-    Vect_hist_rewind.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 304
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_hist_read'):
-    Vect_hist_read = _libs['grass_vector.7.0.svn'].Vect_hist_read
-    Vect_hist_read.restype = ReturnString
-    Vect_hist_read.argtypes = [String, c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 307
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_lines_by_box'):
-    Vect_select_lines_by_box = _libs['grass_vector.7.0.svn'].Vect_select_lines_by_box
-    Vect_select_lines_by_box.restype = c_int
-    Vect_select_lines_by_box.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box), c_int, POINTER(struct_boxlist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 309
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_areas_by_box'):
-    Vect_select_areas_by_box = _libs['grass_vector.7.0.svn'].Vect_select_areas_by_box
-    Vect_select_areas_by_box.restype = c_int
-    Vect_select_areas_by_box.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box), POINTER(struct_boxlist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 310
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_isles_by_box'):
-    Vect_select_isles_by_box = _libs['grass_vector.7.0.svn'].Vect_select_isles_by_box
-    Vect_select_isles_by_box.restype = c_int
-    Vect_select_isles_by_box.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box), POINTER(struct_boxlist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 311
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_nodes_by_box'):
-    Vect_select_nodes_by_box = _libs['grass_vector.7.0.svn'].Vect_select_nodes_by_box
-    Vect_select_nodes_by_box.restype = c_int
-    Vect_select_nodes_by_box.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 312
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_find_node'):
-    Vect_find_node = _libs['grass_vector.7.0.svn'].Vect_find_node
-    Vect_find_node.restype = c_int
-    Vect_find_node.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 313
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_find_line'):
-    Vect_find_line = _libs['grass_vector.7.0.svn'].Vect_find_line
-    Vect_find_line.restype = c_int
-    Vect_find_line.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_int, c_double, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 315
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_find_line_list'):
-    Vect_find_line_list = _libs['grass_vector.7.0.svn'].Vect_find_line_list
-    Vect_find_line_list.restype = c_int
-    Vect_find_line_list.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_int, c_double, c_int, POINTER(struct_ilist), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 317
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_find_area'):
-    Vect_find_area = _libs['grass_vector.7.0.svn'].Vect_find_area
-    Vect_find_area.restype = c_int
-    Vect_find_area.argtypes = [POINTER(struct_Map_info), c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 318
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_find_island'):
-    Vect_find_island = _libs['grass_vector.7.0.svn'].Vect_find_island
-    Vect_find_island.restype = c_int
-    Vect_find_island.argtypes = [POINTER(struct_Map_info), c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 319
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_lines_by_polygon'):
-    Vect_select_lines_by_polygon = _libs['grass_vector.7.0.svn'].Vect_select_lines_by_polygon
-    Vect_select_lines_by_polygon.restype = c_int
-    Vect_select_lines_by_polygon.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), c_int, POINTER(POINTER(struct_line_pnts)), c_int, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 321
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_areas_by_polygon'):
-    Vect_select_areas_by_polygon = _libs['grass_vector.7.0.svn'].Vect_select_areas_by_polygon
-    Vect_select_areas_by_polygon.restype = c_int
-    Vect_select_areas_by_polygon.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), c_int, POINTER(POINTER(struct_line_pnts)), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 325
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_tin_get_z'):
-    Vect_tin_get_z = _libs['grass_vector.7.0.svn'].Vect_tin_get_z
-    Vect_tin_get_z.restype = c_int
-    Vect_tin_get_z.argtypes = [POINTER(struct_Map_info), c_double, c_double, POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 329
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_find_poly_centroid'):
-    Vect_find_poly_centroid = _libs['grass_vector.7.0.svn'].Vect_find_poly_centroid
-    Vect_find_poly_centroid.restype = c_int
-    Vect_find_poly_centroid.argtypes = [POINTER(struct_line_pnts), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 330
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect__intersect_line_with_poly'):
-    Vect__intersect_line_with_poly = _libs['grass_vector.7.0.svn'].Vect__intersect_line_with_poly
-    Vect__intersect_line_with_poly.restype = c_int
-    Vect__intersect_line_with_poly.argtypes = [POINTER(struct_line_pnts), c_double, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 332
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_point_in_area'):
-    Vect_get_point_in_area = _libs['grass_vector.7.0.svn'].Vect_get_point_in_area
-    Vect_get_point_in_area.restype = c_int
-    Vect_get_point_in_area.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 333
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_point_in_poly'):
-    Vect_get_point_in_poly = _libs['grass_vector.7.0.svn'].Vect_get_point_in_poly
-    Vect_get_point_in_poly.restype = c_int
-    Vect_get_point_in_poly.argtypes = [POINTER(struct_line_pnts), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 334
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_point_in_poly_isl'):
-    Vect_get_point_in_poly_isl = _libs['grass_vector.7.0.svn'].Vect_get_point_in_poly_isl
-    Vect_get_point_in_poly_isl.restype = c_int
-    Vect_get_point_in_poly_isl.argtypes = [POINTER(struct_line_pnts), POINTER(POINTER(struct_line_pnts)), c_int, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 336
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_in_area'):
-    Vect_point_in_area = _libs['grass_vector.7.0.svn'].Vect_point_in_area
-    Vect_point_in_area.restype = c_int
-    Vect_point_in_area.argtypes = [c_double, c_double, POINTER(struct_Map_info), c_int, struct_bound_box]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 337
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_in_area_outer_ring'):
-    Vect_point_in_area_outer_ring = _libs['grass_vector.7.0.svn'].Vect_point_in_area_outer_ring
-    Vect_point_in_area_outer_ring.restype = c_int
-    Vect_point_in_area_outer_ring.argtypes = [c_double, c_double, POINTER(struct_Map_info), c_int, struct_bound_box]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 338
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_in_island'):
-    Vect_point_in_island = _libs['grass_vector.7.0.svn'].Vect_point_in_island
-    Vect_point_in_island.restype = c_int
-    Vect_point_in_island.argtypes = [c_double, c_double, POINTER(struct_Map_info), c_int, struct_bound_box]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 339
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_in_poly'):
-    Vect_point_in_poly = _libs['grass_vector.7.0.svn'].Vect_point_in_poly
-    Vect_point_in_poly.restype = c_int
-    Vect_point_in_poly.argtypes = [c_double, c_double, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 342
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_break_lines'):
-    Vect_break_lines = _libs['grass_vector.7.0.svn'].Vect_break_lines
-    Vect_break_lines.restype = None
-    Vect_break_lines.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 343
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_break_lines_list'):
-    Vect_break_lines_list = _libs['grass_vector.7.0.svn'].Vect_break_lines_list
-    Vect_break_lines_list.restype = c_int
-    Vect_break_lines_list.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), POINTER(struct_ilist), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 345
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_merge_lines'):
-    Vect_merge_lines = _libs['grass_vector.7.0.svn'].Vect_merge_lines
-    Vect_merge_lines.restype = c_int
-    Vect_merge_lines.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_int), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 346
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_break_polygons'):
-    Vect_break_polygons = _libs['grass_vector.7.0.svn'].Vect_break_polygons
-    Vect_break_polygons.restype = None
-    Vect_break_polygons.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 347
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_remove_duplicates'):
-    Vect_remove_duplicates = _libs['grass_vector.7.0.svn'].Vect_remove_duplicates
-    Vect_remove_duplicates.restype = None
-    Vect_remove_duplicates.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 348
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_check_duplicate'):
-    Vect_line_check_duplicate = _libs['grass_vector.7.0.svn'].Vect_line_check_duplicate
-    Vect_line_check_duplicate.restype = c_int
-    Vect_line_check_duplicate.argtypes = [POINTER(struct_line_pnts), POINTER(struct_line_pnts), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 350
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_snap_lines'):
-    Vect_snap_lines = _libs['grass_vector.7.0.svn'].Vect_snap_lines
-    Vect_snap_lines.restype = None
-    Vect_snap_lines.argtypes = [POINTER(struct_Map_info), c_int, c_double, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 351
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_snap_lines_list'):
-    Vect_snap_lines_list = _libs['grass_vector.7.0.svn'].Vect_snap_lines_list
-    Vect_snap_lines_list.restype = None
-    Vect_snap_lines_list.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), c_double, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 353
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_remove_dangles'):
-    Vect_remove_dangles = _libs['grass_vector.7.0.svn'].Vect_remove_dangles
-    Vect_remove_dangles.restype = None
-    Vect_remove_dangles.argtypes = [POINTER(struct_Map_info), c_int, c_double, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 354
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_chtype_dangles'):
-    Vect_chtype_dangles = _libs['grass_vector.7.0.svn'].Vect_chtype_dangles
-    Vect_chtype_dangles.restype = None
-    Vect_chtype_dangles.argtypes = [POINTER(struct_Map_info), c_double, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 355
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_dangles'):
-    Vect_select_dangles = _libs['grass_vector.7.0.svn'].Vect_select_dangles
-    Vect_select_dangles.restype = None
-    Vect_select_dangles.argtypes = [POINTER(struct_Map_info), c_int, c_double, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 356
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_remove_bridges'):
-    Vect_remove_bridges = _libs['grass_vector.7.0.svn'].Vect_remove_bridges
-    Vect_remove_bridges.restype = None
-    Vect_remove_bridges.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 357
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_chtype_bridges'):
-    Vect_chtype_bridges = _libs['grass_vector.7.0.svn'].Vect_chtype_bridges
-    Vect_chtype_bridges.restype = None
-    Vect_chtype_bridges.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 358
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_remove_small_areas'):
-    Vect_remove_small_areas = _libs['grass_vector.7.0.svn'].Vect_remove_small_areas
-    Vect_remove_small_areas.restype = c_int
-    Vect_remove_small_areas.argtypes = [POINTER(struct_Map_info), c_double, POINTER(struct_Map_info), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 360
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_clean_small_angles_at_nodes'):
-    Vect_clean_small_angles_at_nodes = _libs['grass_vector.7.0.svn'].Vect_clean_small_angles_at_nodes
-    Vect_clean_small_angles_at_nodes.restype = c_int
-    Vect_clean_small_angles_at_nodes.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 364
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_overlay_str_to_operator'):
-    Vect_overlay_str_to_operator = _libs['grass_vector.7.0.svn'].Vect_overlay_str_to_operator
-    Vect_overlay_str_to_operator.restype = c_int
-    Vect_overlay_str_to_operator.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 365
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_overlay'):
-    Vect_overlay = _libs['grass_vector.7.0.svn'].Vect_overlay
-    Vect_overlay.restype = c_int
-    Vect_overlay.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_ilist), POINTER(struct_ilist), POINTER(struct_Map_info), c_int, POINTER(struct_ilist), POINTER(struct_ilist), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 368
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_overlay_and'):
-    Vect_overlay_and = _libs['grass_vector.7.0.svn'].Vect_overlay_and
-    Vect_overlay_and.restype = c_int
-    Vect_overlay_and.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_ilist), POINTER(struct_ilist), POINTER(struct_Map_info), c_int, POINTER(struct_ilist), POINTER(struct_ilist), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 373
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_graph_init'):
-    Vect_graph_init = _libs['grass_vector.7.0.svn'].Vect_graph_init
-    Vect_graph_init.restype = None
-    Vect_graph_init.argtypes = [POINTER(dglGraph_s), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 374
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_graph_build'):
-    Vect_graph_build = _libs['grass_vector.7.0.svn'].Vect_graph_build
-    Vect_graph_build.restype = None
-    Vect_graph_build.argtypes = [POINTER(dglGraph_s)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 375
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_graph_add_edge'):
-    Vect_graph_add_edge = _libs['grass_vector.7.0.svn'].Vect_graph_add_edge
-    Vect_graph_add_edge.restype = None
-    Vect_graph_add_edge.argtypes = [POINTER(dglGraph_s), c_int, c_int, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 376
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_graph_set_node_costs'):
-    Vect_graph_set_node_costs = _libs['grass_vector.7.0.svn'].Vect_graph_set_node_costs
-    Vect_graph_set_node_costs.restype = None
-    Vect_graph_set_node_costs.argtypes = [POINTER(dglGraph_s), c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 377
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_graph_shortest_path'):
-    Vect_graph_shortest_path = _libs['grass_vector.7.0.svn'].Vect_graph_shortest_path
-    Vect_graph_shortest_path.restype = c_int
-    Vect_graph_shortest_path.argtypes = [POINTER(dglGraph_s), c_int, c_int, POINTER(struct_ilist), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 380
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_build_graph'):
-    Vect_net_build_graph = _libs['grass_vector.7.0.svn'].Vect_net_build_graph
-    Vect_net_build_graph.restype = c_int
-    Vect_net_build_graph.argtypes = [POINTER(struct_Map_info), c_int, c_int, c_int, String, String, String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 382
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_shortest_path'):
-    Vect_net_shortest_path = _libs['grass_vector.7.0.svn'].Vect_net_shortest_path
-    Vect_net_shortest_path.restype = c_int
-    Vect_net_shortest_path.argtypes = [POINTER(struct_Map_info), c_int, c_int, POINTER(struct_ilist), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 384
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_get_line_cost'):
-    Vect_net_get_line_cost = _libs['grass_vector.7.0.svn'].Vect_net_get_line_cost
-    Vect_net_get_line_cost.restype = c_int
-    Vect_net_get_line_cost.argtypes = [POINTER(struct_Map_info), c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 385
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_get_node_cost'):
-    Vect_net_get_node_cost = _libs['grass_vector.7.0.svn'].Vect_net_get_node_cost
-    Vect_net_get_node_cost.restype = c_int
-    Vect_net_get_node_cost.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 386
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_nearest_nodes'):
-    Vect_net_nearest_nodes = _libs['grass_vector.7.0.svn'].Vect_net_nearest_nodes
-    Vect_net_nearest_nodes.restype = c_int
-    Vect_net_nearest_nodes.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_int, c_double, POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_double), POINTER(c_double), POINTER(struct_line_pnts), POINTER(struct_line_pnts), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 389
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_shortest_path_coor'):
-    Vect_net_shortest_path_coor = _libs['grass_vector.7.0.svn'].Vect_net_shortest_path_coor
-    Vect_net_shortest_path_coor.restype = c_int
-    Vect_net_shortest_path_coor.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, POINTER(c_double), POINTER(struct_line_pnts), POINTER(struct_ilist), POINTER(struct_line_pnts), POINTER(struct_line_pnts), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 394
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_shortest_path_coor2'):
-    Vect_net_shortest_path_coor2 = _libs['grass_vector.7.0.svn'].Vect_net_shortest_path_coor2
-    Vect_net_shortest_path_coor2.restype = c_int
-    Vect_net_shortest_path_coor2.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, POINTER(c_double), POINTER(struct_line_pnts), POINTER(struct_ilist), POINTER(struct_ilist), POINTER(struct_line_pnts), POINTER(struct_line_pnts), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 401
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_topo_dump'):
-    Vect_topo_dump = _libs['grass_vector.7.0.svn'].Vect_topo_dump
-    Vect_topo_dump.restype = c_int
-    Vect_topo_dump.argtypes = [POINTER(struct_Map_info), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 402
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_points_distance'):
-    Vect_points_distance = _libs['grass_vector.7.0.svn'].Vect_points_distance
-    Vect_points_distance.restype = c_double
-    Vect_points_distance.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 404
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_option_to_types'):
-    Vect_option_to_types = _libs['grass_vector.7.0.svn'].Vect_option_to_types
-    Vect_option_to_types.restype = c_int
-    Vect_option_to_types.argtypes = [POINTER(struct_Option)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 405
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_map_lines'):
-    Vect_copy_map_lines = _libs['grass_vector.7.0.svn'].Vect_copy_map_lines
-    Vect_copy_map_lines.restype = c_int
-    Vect_copy_map_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 406
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_map_lines_field'):
-    Vect_copy_map_lines_field = _libs['grass_vector.7.0.svn'].Vect_copy_map_lines_field
-    Vect_copy_map_lines_field.restype = c_int
-    Vect_copy_map_lines_field.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 407
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy'):
-    Vect_copy = _libs['grass_vector.7.0.svn'].Vect_copy
-    Vect_copy.restype = c_int
-    Vect_copy.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 408
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_rename'):
-    Vect_rename = _libs['grass_vector.7.0.svn'].Vect_rename
-    Vect_rename.restype = c_int
-    Vect_rename.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 409
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_table'):
-    Vect_copy_table = _libs['grass_vector.7.0.svn'].Vect_copy_table
-    Vect_copy_table.restype = c_int
-    Vect_copy_table.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info), c_int, c_int, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 411
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_table_by_cats'):
-    Vect_copy_table_by_cats = _libs['grass_vector.7.0.svn'].Vect_copy_table_by_cats
-    Vect_copy_table_by_cats.restype = c_int
-    Vect_copy_table_by_cats.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info), c_int, c_int, String, c_int, POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 413
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_tables'):
-    Vect_copy_tables = _libs['grass_vector.7.0.svn'].Vect_copy_tables
-    Vect_copy_tables.restype = c_int
-    Vect_copy_tables.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 414
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_delete'):
-    Vect_delete = _libs['grass_vector.7.0.svn'].Vect_delete
-    Vect_delete.restype = c_int
-    Vect_delete.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 415
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_segment_intersection'):
-    Vect_segment_intersection = _libs['grass_vector.7.0.svn'].Vect_segment_intersection
-    Vect_segment_intersection.restype = c_int
-    Vect_segment_intersection.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 419
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_intersection'):
-    Vect_line_intersection = _libs['grass_vector.7.0.svn'].Vect_line_intersection
-    Vect_line_intersection.restype = c_int
-    Vect_line_intersection.argtypes = [POINTER(struct_line_pnts), POINTER(struct_line_pnts), POINTER(POINTER(POINTER(struct_line_pnts))), POINTER(POINTER(POINTER(struct_line_pnts))), POINTER(c_int), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 422
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_check_intersection'):
-    Vect_line_check_intersection = _libs['grass_vector.7.0.svn'].Vect_line_check_intersection
-    Vect_line_check_intersection.restype = c_int
-    Vect_line_check_intersection.argtypes = [POINTER(struct_line_pnts), POINTER(struct_line_pnts), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 423
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_get_intersections'):
-    Vect_line_get_intersections = _libs['grass_vector.7.0.svn'].Vect_line_get_intersections
-    Vect_line_get_intersections.restype = c_int
-    Vect_line_get_intersections.argtypes = [POINTER(struct_line_pnts), POINTER(struct_line_pnts), POINTER(struct_line_pnts), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 425
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_subst_var'):
-    Vect_subst_var = _libs['grass_vector.7.0.svn'].Vect_subst_var
-    Vect_subst_var.restype = ReturnString
-    Vect_subst_var.argtypes = [String, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 428
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_spatial_index_init'):
-    Vect_spatial_index_init = _libs['grass_vector.7.0.svn'].Vect_spatial_index_init
-    Vect_spatial_index_init.restype = None
-    Vect_spatial_index_init.argtypes = [POINTER(struct_spatial_index), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 429
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_spatial_index_destroy'):
-    Vect_spatial_index_destroy = _libs['grass_vector.7.0.svn'].Vect_spatial_index_destroy
-    Vect_spatial_index_destroy.restype = None
-    Vect_spatial_index_destroy.argtypes = [POINTER(struct_spatial_index)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 430
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_spatial_index_add_item'):
-    Vect_spatial_index_add_item = _libs['grass_vector.7.0.svn'].Vect_spatial_index_add_item
-    Vect_spatial_index_add_item.restype = None
-    Vect_spatial_index_add_item.argtypes = [POINTER(struct_spatial_index), c_int, POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 431
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_spatial_index_del_item'):
-    Vect_spatial_index_del_item = _libs['grass_vector.7.0.svn'].Vect_spatial_index_del_item
-    Vect_spatial_index_del_item.restype = None
-    Vect_spatial_index_del_item.argtypes = [POINTER(struct_spatial_index), c_int, POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 432
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_spatial_index_select'):
-    Vect_spatial_index_select = _libs['grass_vector.7.0.svn'].Vect_spatial_index_select
-    Vect_spatial_index_select.restype = c_int
-    Vect_spatial_index_select.argtypes = [POINTER(struct_spatial_index), POINTER(struct_bound_box), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 435
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_ascii'):
-    Vect_read_ascii = _libs['grass_vector.7.0.svn'].Vect_read_ascii
-    Vect_read_ascii.restype = c_int
-    Vect_read_ascii.argtypes = [POINTER(FILE), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 436
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_ascii_head'):
-    Vect_read_ascii_head = _libs['grass_vector.7.0.svn'].Vect_read_ascii_head
-    Vect_read_ascii_head.restype = c_int
-    Vect_read_ascii_head.argtypes = [POINTER(FILE), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 437
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_write_ascii'):
-    Vect_write_ascii = _libs['grass_vector.7.0.svn'].Vect_write_ascii
-    Vect_write_ascii.restype = c_int
-    Vect_write_ascii.argtypes = [POINTER(FILE), POINTER(FILE), POINTER(struct_Map_info), c_int, c_int, c_int, String, c_int, c_int, POINTER(struct_cat_list), String, POINTER(POINTER(c_char)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 441
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_write_ascii_head'):
-    Vect_write_ascii_head = _libs['grass_vector.7.0.svn'].Vect_write_ascii_head
-    Vect_write_ascii_head.restype = None
-    Vect_write_ascii_head.argtypes = [POINTER(FILE), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 444
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_get_line_type'):
-    Vect_sfa_get_line_type = _libs['grass_vector.7.0.svn'].Vect_sfa_get_line_type
-    Vect_sfa_get_line_type.restype = c_int
-    Vect_sfa_get_line_type.argtypes = [POINTER(struct_line_pnts), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 445
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_check_line_type'):
-    Vect_sfa_check_line_type = _libs['grass_vector.7.0.svn'].Vect_sfa_check_line_type
-    Vect_sfa_check_line_type.restype = c_int
-    Vect_sfa_check_line_type.argtypes = [POINTER(struct_line_pnts), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 446
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_line_dimension'):
-    Vect_sfa_line_dimension = _libs['grass_vector.7.0.svn'].Vect_sfa_line_dimension
-    Vect_sfa_line_dimension.restype = c_int
-    Vect_sfa_line_dimension.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 447
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_line_geometry_type'):
-    Vect_sfa_line_geometry_type = _libs['grass_vector.7.0.svn'].Vect_sfa_line_geometry_type
-    Vect_sfa_line_geometry_type.restype = ReturnString
-    Vect_sfa_line_geometry_type.argtypes = [POINTER(struct_line_pnts), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 448
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_line_astext'):
-    Vect_sfa_line_astext = _libs['grass_vector.7.0.svn'].Vect_sfa_line_astext
-    Vect_sfa_line_astext.restype = c_int
-    Vect_sfa_line_astext.argtypes = [POINTER(struct_line_pnts), c_int, c_int, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 449
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_is_line_simple'):
-    Vect_sfa_is_line_simple = _libs['grass_vector.7.0.svn'].Vect_sfa_is_line_simple
-    Vect_sfa_is_line_simple.restype = c_int
-    Vect_sfa_is_line_simple.argtypes = [POINTER(struct_line_pnts), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 450
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_is_line_closed'):
-    Vect_sfa_is_line_closed = _libs['grass_vector.7.0.svn'].Vect_sfa_is_line_closed
-    Vect_sfa_is_line_closed.restype = c_int
-    Vect_sfa_is_line_closed.argtypes = [POINTER(struct_line_pnts), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 455
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_print_header'):
-    Vect_print_header = _libs['grass_vector.7.0.svn'].Vect_print_header
-    Vect_print_header.restype = c_int
-    Vect_print_header.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 456
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect__init_head'):
-    Vect__init_head = _libs['grass_vector.7.0.svn'].Vect__init_head
-    Vect__init_head.restype = None
-    Vect__init_head.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 459
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_coor_info'):
-    Vect_coor_info = _libs['grass_vector.7.0.svn'].Vect_coor_info
-    Vect_coor_info.restype = c_int
-    Vect_coor_info.argtypes = [POINTER(struct_Map_info), POINTER(struct_Coor_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 460
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_maptype_info'):
-    Vect_maptype_info = _libs['grass_vector.7.0.svn'].Vect_maptype_info
-    Vect_maptype_info.restype = ReturnString
-    Vect_maptype_info.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 461
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_maptype'):
-    Vect_maptype = _libs['grass_vector.7.0.svn'].Vect_maptype
-    Vect_maptype.restype = c_int
-    Vect_maptype.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 462
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_topo'):
-    Vect_open_topo = _libs['grass_vector.7.0.svn'].Vect_open_topo
-    Vect_open_topo.restype = c_int
-    Vect_open_topo.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 463
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_save_topo'):
-    Vect_save_topo = _libs['grass_vector.7.0.svn'].Vect_save_topo
-    Vect_save_topo.restype = c_int
-    Vect_save_topo.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 464
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_sidx'):
-    Vect_open_sidx = _libs['grass_vector.7.0.svn'].Vect_open_sidx
-    Vect_open_sidx.restype = c_int
-    Vect_open_sidx.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 465
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_save_sidx'):
-    Vect_save_sidx = _libs['grass_vector.7.0.svn'].Vect_save_sidx
-    Vect_save_sidx.restype = c_int
-    Vect_save_sidx.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 466
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sidx_dump'):
-    Vect_sidx_dump = _libs['grass_vector.7.0.svn'].Vect_sidx_dump
-    Vect_sidx_dump.restype = c_int
-    Vect_sidx_dump.argtypes = [POINTER(struct_Map_info), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 467
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build_sidx_from_topo'):
-    Vect_build_sidx_from_topo = _libs['grass_vector.7.0.svn'].Vect_build_sidx_from_topo
-    Vect_build_sidx_from_topo.restype = c_int
-    Vect_build_sidx_from_topo.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 468
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build_sidx'):
-    Vect_build_sidx = _libs['grass_vector.7.0.svn'].Vect_build_sidx
-    Vect_build_sidx.restype = c_int
-    Vect_build_sidx.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 470
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect__write_head'):
-    Vect__write_head = _libs['grass_vector.7.0.svn'].Vect__write_head
-    Vect__write_head.restype = c_int
-    Vect__write_head.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 471
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect__read_head'):
-    Vect__read_head = _libs['grass_vector.7.0.svn'].Vect__read_head
-    Vect__read_head.restype = c_int
-    Vect__read_head.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 472
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_open_old_nat'):
-    V1_open_old_nat = _libs['grass_vector.7.0.svn'].V1_open_old_nat
-    V1_open_old_nat.restype = c_int
-    V1_open_old_nat.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 473
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_open_old_ogr'):
-    V1_open_old_ogr = _libs['grass_vector.7.0.svn'].V1_open_old_ogr
-    V1_open_old_ogr.restype = c_int
-    V1_open_old_ogr.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 474
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_open_old_ogr'):
-    V2_open_old_ogr = _libs['grass_vector.7.0.svn'].V2_open_old_ogr
-    V2_open_old_ogr.restype = c_int
-    V2_open_old_ogr.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 475
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_open_new_nat'):
-    V1_open_new_nat = _libs['grass_vector.7.0.svn'].V1_open_new_nat
-    V1_open_new_nat.restype = c_int
-    V1_open_new_nat.argtypes = [POINTER(struct_Map_info), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 476
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_open_new_ogr'):
-    V1_open_new_ogr = _libs['grass_vector.7.0.svn'].V1_open_new_ogr
-    V1_open_new_ogr.restype = c_int
-    V1_open_new_ogr.argtypes = [POINTER(struct_Map_info), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 477
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_open_new_ogr'):
-    V2_open_new_ogr = _libs['grass_vector.7.0.svn'].V2_open_new_ogr
-    V2_open_new_ogr.restype = c_int
-    V2_open_new_ogr.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 478
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_rewind_nat'):
-    V1_rewind_nat = _libs['grass_vector.7.0.svn'].V1_rewind_nat
-    V1_rewind_nat.restype = c_int
-    V1_rewind_nat.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 479
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_rewind_ogr'):
-    V1_rewind_ogr = _libs['grass_vector.7.0.svn'].V1_rewind_ogr
-    V1_rewind_ogr.restype = c_int
-    V1_rewind_ogr.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 480
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_rewind_nat'):
-    V2_rewind_nat = _libs['grass_vector.7.0.svn'].V2_rewind_nat
-    V2_rewind_nat.restype = c_int
-    V2_rewind_nat.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 481
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_rewind_ogr'):
-    V2_rewind_ogr = _libs['grass_vector.7.0.svn'].V2_rewind_ogr
-    V2_rewind_ogr.restype = c_int
-    V2_rewind_ogr.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 482
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_close_nat'):
-    V1_close_nat = _libs['grass_vector.7.0.svn'].V1_close_nat
-    V1_close_nat.restype = c_int
-    V1_close_nat.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 483
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_close_ogr'):
-    V1_close_ogr = _libs['grass_vector.7.0.svn'].V1_close_ogr
-    V1_close_ogr.restype = c_int
-    V1_close_ogr.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 484
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_close_ogr'):
-    V2_close_ogr = _libs['grass_vector.7.0.svn'].V2_close_ogr
-    V2_close_ogr.restype = c_int
-    V2_close_ogr.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 487
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_read_line_nat'):
-    V1_read_line_nat = _libs['grass_vector.7.0.svn'].V1_read_line_nat
-    V1_read_line_nat.restype = c_int
-    V1_read_line_nat.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 489
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_read_line_ogr'):
-    V1_read_line_ogr = _libs['grass_vector.7.0.svn'].V1_read_line_ogr
-    V1_read_line_ogr.restype = c_int
-    V1_read_line_ogr.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 491
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_read_next_line_nat'):
-    V1_read_next_line_nat = _libs['grass_vector.7.0.svn'].V1_read_next_line_nat
-    V1_read_next_line_nat.restype = c_int
-    V1_read_next_line_nat.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 493
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_read_next_line_ogr'):
-    V1_read_next_line_ogr = _libs['grass_vector.7.0.svn'].V1_read_next_line_ogr
-    V1_read_next_line_ogr.restype = c_int
-    V1_read_next_line_ogr.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 495
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_read_line_nat'):
-    V2_read_line_nat = _libs['grass_vector.7.0.svn'].V2_read_line_nat
-    V2_read_line_nat.restype = c_int
-    V2_read_line_nat.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 497
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_read_line_ogr'):
-    V2_read_line_ogr = _libs['grass_vector.7.0.svn'].V2_read_line_ogr
-    V2_read_line_ogr.restype = c_int
-    V2_read_line_ogr.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 499
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_read_next_line_nat'):
-    V2_read_next_line_nat = _libs['grass_vector.7.0.svn'].V2_read_next_line_nat
-    V2_read_next_line_nat.restype = c_int
-    V2_read_next_line_nat.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 501
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_read_next_line_ogr'):
-    V2_read_next_line_ogr = _libs['grass_vector.7.0.svn'].V2_read_next_line_ogr
-    V2_read_next_line_ogr.restype = c_int
-    V2_read_next_line_ogr.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 503
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_delete_line_nat'):
-    V1_delete_line_nat = _libs['grass_vector.7.0.svn'].V1_delete_line_nat
-    V1_delete_line_nat.restype = c_int
-    V1_delete_line_nat.argtypes = [POINTER(struct_Map_info), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 504
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_delete_line_nat'):
-    V2_delete_line_nat = _libs['grass_vector.7.0.svn'].V2_delete_line_nat
-    V2_delete_line_nat.restype = c_int
-    V2_delete_line_nat.argtypes = [POINTER(struct_Map_info), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 505
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_delete_line_ogr'):
-    V1_delete_line_ogr = _libs['grass_vector.7.0.svn'].V1_delete_line_ogr
-    V1_delete_line_ogr.restype = c_int
-    V1_delete_line_ogr.argtypes = [POINTER(struct_Map_info), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 506
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_delete_line_ogr'):
-    V2_delete_line_ogr = _libs['grass_vector.7.0.svn'].V2_delete_line_ogr
-    V2_delete_line_ogr.restype = c_int
-    V2_delete_line_ogr.argtypes = [POINTER(struct_Map_info), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 507
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_restore_line_nat'):
-    V1_restore_line_nat = _libs['grass_vector.7.0.svn'].V1_restore_line_nat
-    V1_restore_line_nat.restype = c_int
-    V1_restore_line_nat.argtypes = [POINTER(struct_Map_info), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 508
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_restore_line_nat'):
-    V2_restore_line_nat = _libs['grass_vector.7.0.svn'].V2_restore_line_nat
-    V2_restore_line_nat.restype = c_int
-    V2_restore_line_nat.argtypes = [POINTER(struct_Map_info), c_int, off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 509
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_write_line_nat'):
-    V1_write_line_nat = _libs['grass_vector.7.0.svn'].V1_write_line_nat
-    V1_write_line_nat.restype = off_t
-    V1_write_line_nat.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 511
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_write_line_nat'):
-    V2_write_line_nat = _libs['grass_vector.7.0.svn'].V2_write_line_nat
-    V2_write_line_nat.restype = off_t
-    V2_write_line_nat.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 513
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_write_line_ogr'):
-    V1_write_line_ogr = _libs['grass_vector.7.0.svn'].V1_write_line_ogr
-    V1_write_line_ogr.restype = off_t
-    V1_write_line_ogr.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 515
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_write_line_ogr'):
-    V2_write_line_ogr = _libs['grass_vector.7.0.svn'].V2_write_line_ogr
-    V2_write_line_ogr.restype = off_t
-    V2_write_line_ogr.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 517
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_rewrite_line_nat'):
-    V1_rewrite_line_nat = _libs['grass_vector.7.0.svn'].V1_rewrite_line_nat
-    V1_rewrite_line_nat.restype = off_t
-    V1_rewrite_line_nat.argtypes = [POINTER(struct_Map_info), c_int, c_int, off_t, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 519
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_rewrite_line_nat'):
-    V2_rewrite_line_nat = _libs['grass_vector.7.0.svn'].V2_rewrite_line_nat
-    V2_rewrite_line_nat.restype = off_t
-    V2_rewrite_line_nat.argtypes = [POINTER(struct_Map_info), c_int, c_int, off_t, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 521
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_rewrite_line_ogr'):
-    V1_rewrite_line_ogr = _libs['grass_vector.7.0.svn'].V1_rewrite_line_ogr
-    V1_rewrite_line_ogr.restype = off_t
-    V1_rewrite_line_ogr.argtypes = [POINTER(struct_Map_info), c_int, c_int, off_t, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 523
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_rewrite_line_ogr'):
-    V2_rewrite_line_ogr = _libs['grass_vector.7.0.svn'].V2_rewrite_line_ogr
-    V2_rewrite_line_ogr.restype = off_t
-    V2_rewrite_line_ogr.argtypes = [POINTER(struct_Map_info), c_int, c_int, off_t, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 527
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build_nat'):
-    Vect_build_nat = _libs['grass_vector.7.0.svn'].Vect_build_nat
-    Vect_build_nat.restype = c_int
-    Vect_build_nat.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 528
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build_ogr'):
-    Vect_build_ogr = _libs['grass_vector.7.0.svn'].Vect_build_ogr
-    Vect_build_ogr.restype = c_int
-    Vect_build_ogr.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 529
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build_line_area'):
-    Vect_build_line_area = _libs['grass_vector.7.0.svn'].Vect_build_line_area
-    Vect_build_line_area.restype = c_int
-    Vect_build_line_area.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 530
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_isle_find_area'):
-    Vect_isle_find_area = _libs['grass_vector.7.0.svn'].Vect_isle_find_area
-    Vect_isle_find_area.restype = c_int
-    Vect_isle_find_area.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 531
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_attach_isle'):
-    Vect_attach_isle = _libs['grass_vector.7.0.svn'].Vect_attach_isle
-    Vect_attach_isle.restype = c_int
-    Vect_attach_isle.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 532
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_attach_isles'):
-    Vect_attach_isles = _libs['grass_vector.7.0.svn'].Vect_attach_isles
-    Vect_attach_isles.restype = c_int
-    Vect_attach_isles.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 533
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_attach_centroids'):
-    Vect_attach_centroids = _libs['grass_vector.7.0.svn'].Vect_attach_centroids
-    Vect_attach_centroids.restype = c_int
-    Vect_attach_centroids.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 545
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_colors'):
-    Vect_read_colors = _libs['grass_vector.7.0.svn'].Vect_read_colors
-    Vect_read_colors.restype = c_int
-    Vect_read_colors.argtypes = [String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 546
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_remove_colors'):
-    Vect_remove_colors = _libs['grass_vector.7.0.svn'].Vect_remove_colors
-    Vect_remove_colors.restype = c_int
-    Vect_remove_colors.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 547
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_write_colors'):
-    Vect_write_colors = _libs['grass_vector.7.0.svn'].Vect_write_colors
-    Vect_write_colors.restype = None
-    Vect_write_colors.argtypes = [String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 11
-try:
-    GV_FATAL_EXIT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 11
-try:
-    GV_FATAL_PRINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 11
-try:
-    GV_FATAL_RETURN = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 13
-try:
-    GV_DIRECTORY = 'vector'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 14
-try:
-    GV_FRMT_ELEMENT = 'frmt'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 15
-try:
-    GV_COOR_ELEMENT = 'coor'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 16
-try:
-    GV_HEAD_ELEMENT = 'head'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 17
-try:
-    GV_DBLN_ELEMENT = 'dbln'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 18
-try:
-    GV_HIST_ELEMENT = 'hist'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 19
-try:
-    GV_TOPO_ELEMENT = 'topo'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 20
-try:
-    GV_SIDX_ELEMENT = 'sidx'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 21
-try:
-    GV_CIDX_ELEMENT = 'cidx'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 22
-try:
-    GV_FIDX_ELEMENT = 'fidx'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 23
-try:
-    GV_COLR_ELEMENT = 'colr'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 24
-try:
-    GV_COLR2_DIRECTORY = 'vcolr2'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 29
-try:
-    ENDIAN_LITTLE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 29
-try:
-    ENDIAN_BIG = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 29
-try:
-    ENDIAN_OTHER = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_DOUBLE = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_FLOAT = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_LONG = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_INT = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_SHORT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_CHAR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_OFF_T = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    DBL_SIZ = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    FLT_SIZ = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    LNG_SIZ = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    SHRT_SIZ = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_DOUBLE_MAX = 1.7976931348623157e+308
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_DOUBLE_MIN = 2.2250738585072014e-308
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_FLOAT_MAX = 3.4028234699999998e+38
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_FLOAT_MIN = 1.17549435e-38
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_LONG_MAX = 2147483647L
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_LONG_MIN = (-2147483647L)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_INT_MAX = 2147483647
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_INT_MIN = (-2147483647)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_SHORT_MAX = 32767
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_SHORT_MIN = (-32768)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_CHAR_MAX = 127
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_CHAR_MIN = (-128)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 74
-try:
-    GV_FORMAT_NATIVE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 75
-try:
-    GV_FORMAT_OGR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 76
-try:
-    GV_FORMAT_OGR_DIRECT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 78
-try:
-    GV_1TABLE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 79
-try:
-    GV_MTABLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 81
-try:
-    GV_MODE_READ = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 82
-try:
-    GV_MODE_WRITE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 83
-try:
-    GV_MODE_RW = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 85
-try:
-    VECT_OPEN_CODE = 1428335138
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 86
-try:
-    VECT_CLOSED_CODE = 581575253
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 93
-try:
-    LEVEL_1 = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 93
-try:
-    LEVEL_2 = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 93
-try:
-    LEVEL_3 = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 96
-try:
-    GV_BUILD_NONE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 97
-try:
-    GV_BUILD_BASE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 98
-try:
-    GV_BUILD_AREAS = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 99
-try:
-    GV_BUILD_ATTACH_ISLES = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 100
-try:
-    GV_BUILD_CENTROIDS = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 100
-try:
-    GV_BUILD_ALL = GV_BUILD_CENTROIDS
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 102
-def VECT_OPEN(Map):
-    return (((Map.contents.open).value) == VECT_OPEN_CODE)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 104
-try:
-    GV_MEMORY_ALWAYS = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 104
-try:
-    GV_MEMORY_NEVER = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 104
-try:
-    GV_MEMORY_AUTO = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 106
-try:
-    GV_COOR_HEAD_SIZE = 14
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 107
-try:
-    GRASS_V_VERSION = '5.0'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_COOR_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_COOR_VER_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_TOPO_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_TOPO_VER_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_SIDX_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_SIDX_VER_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_CIDX_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_CIDX_VER_MINOR = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_COOR_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_COOR_EARLIEST_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_TOPO_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_TOPO_EARLIEST_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_SIDX_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_SIDX_EARLIEST_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_CIDX_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_CIDX_EARLIEST_MINOR = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 114
-try:
-    WITHOUT_Z = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 114
-try:
-    WITH_Z = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 116
-try:
-    GV_LEFT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 116
-try:
-    GV_RIGHT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 118
-try:
-    GV_FORWARD = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 118
-try:
-    GV_BACKWARD = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_BOUNDARY = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_CENTROID = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_FACE = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_KERNEL = 32
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_AREA = 64
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_VOLUME = 128
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 121
-try:
-    GV_POINTS = (GV_POINT | GV_CENTROID)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 121
-try:
-    GV_LINES = (GV_LINE | GV_BOUNDARY)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_BOUNDARY = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_CENTROID = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_FACE = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_KERNEL = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_AREA = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_VOLUME = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 125
-try:
-    GV_ON_AND = 'AND'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 125
-try:
-    GV_ON_OVERLAP = 'OVERLAP'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 135
-try:
-    GV_NCATS_MAX = PORT_INT_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 136
-try:
-    GV_FIELD_MAX = PORT_INT_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 137
-try:
-    GV_CAT_MAX = PORT_INT_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 139
-try:
-    GV_ASCII_FORMAT_POINT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 139
-try:
-    GV_ASCII_FORMAT_STD = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 139
-try:
-    GV_ASCII_FORMAT_WKT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_LINESTRING = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_LINEARRING = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_POLYGON = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 142
-try:
-    HEADSTR = 50
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 11
-try:
-    GV_FATAL_EXIT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 11
-try:
-    GV_FATAL_PRINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 11
-try:
-    GV_FATAL_RETURN = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 13
-try:
-    GV_DIRECTORY = 'vector'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 14
-try:
-    GV_FRMT_ELEMENT = 'frmt'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 15
-try:
-    GV_COOR_ELEMENT = 'coor'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 16
-try:
-    GV_HEAD_ELEMENT = 'head'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 17
-try:
-    GV_DBLN_ELEMENT = 'dbln'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 18
-try:
-    GV_HIST_ELEMENT = 'hist'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 19
-try:
-    GV_TOPO_ELEMENT = 'topo'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 20
-try:
-    GV_SIDX_ELEMENT = 'sidx'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 21
-try:
-    GV_CIDX_ELEMENT = 'cidx'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 22
-try:
-    GV_FIDX_ELEMENT = 'fidx'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 23
-try:
-    GV_COLR_ELEMENT = 'colr'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 24
-try:
-    GV_COLR2_DIRECTORY = 'vcolr2'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 29
-try:
-    ENDIAN_LITTLE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 29
-try:
-    ENDIAN_BIG = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 29
-try:
-    ENDIAN_OTHER = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_DOUBLE = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_FLOAT = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_LONG = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_INT = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_SHORT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_CHAR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_OFF_T = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    DBL_SIZ = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    FLT_SIZ = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    LNG_SIZ = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    SHRT_SIZ = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_DOUBLE_MAX = 1.7976931348623157e+308
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_DOUBLE_MIN = 2.2250738585072014e-308
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_FLOAT_MAX = 3.4028234699999998e+38
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_FLOAT_MIN = 1.17549435e-38
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_LONG_MAX = 2147483647L
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_LONG_MIN = (-2147483647L)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_INT_MAX = 2147483647
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_INT_MIN = (-2147483647)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_SHORT_MAX = 32767
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_SHORT_MIN = (-32768)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_CHAR_MAX = 127
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_CHAR_MIN = (-128)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 74
-try:
-    GV_FORMAT_NATIVE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 75
-try:
-    GV_FORMAT_OGR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 76
-try:
-    GV_FORMAT_OGR_DIRECT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 78
-try:
-    GV_1TABLE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 79
-try:
-    GV_MTABLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 81
-try:
-    GV_MODE_READ = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 82
-try:
-    GV_MODE_WRITE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 83
-try:
-    GV_MODE_RW = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 85
-try:
-    VECT_OPEN_CODE = 1428335138
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 86
-try:
-    VECT_CLOSED_CODE = 581575253
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 93
-try:
-    LEVEL_1 = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 93
-try:
-    LEVEL_2 = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 93
-try:
-    LEVEL_3 = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 96
-try:
-    GV_BUILD_NONE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 97
-try:
-    GV_BUILD_BASE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 98
-try:
-    GV_BUILD_AREAS = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 99
-try:
-    GV_BUILD_ATTACH_ISLES = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 100
-try:
-    GV_BUILD_CENTROIDS = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 100
-try:
-    GV_BUILD_ALL = GV_BUILD_CENTROIDS
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 102
-def VECT_OPEN(Map):
-    return (((Map.contents.open).value) == VECT_OPEN_CODE)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 104
-try:
-    GV_MEMORY_ALWAYS = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 104
-try:
-    GV_MEMORY_NEVER = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 104
-try:
-    GV_MEMORY_AUTO = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 106
-try:
-    GV_COOR_HEAD_SIZE = 14
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 107
-try:
-    GRASS_V_VERSION = '5.0'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_COOR_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_COOR_VER_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_TOPO_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_TOPO_VER_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_SIDX_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_SIDX_VER_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_CIDX_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_CIDX_VER_MINOR = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_COOR_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_COOR_EARLIEST_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_TOPO_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_TOPO_EARLIEST_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_SIDX_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_SIDX_EARLIEST_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_CIDX_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_CIDX_EARLIEST_MINOR = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 114
-try:
-    WITHOUT_Z = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 114
-try:
-    WITH_Z = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 116
-try:
-    GV_LEFT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 116
-try:
-    GV_RIGHT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 118
-try:
-    GV_FORWARD = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 118
-try:
-    GV_BACKWARD = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_BOUNDARY = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_CENTROID = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_FACE = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_KERNEL = 32
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_AREA = 64
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_VOLUME = 128
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 121
-try:
-    GV_POINTS = (GV_POINT | GV_CENTROID)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 121
-try:
-    GV_LINES = (GV_LINE | GV_BOUNDARY)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_BOUNDARY = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_CENTROID = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_FACE = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_KERNEL = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_AREA = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_VOLUME = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 125
-try:
-    GV_ON_AND = 'AND'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 125
-try:
-    GV_ON_OVERLAP = 'OVERLAP'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 135
-try:
-    GV_NCATS_MAX = PORT_INT_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 136
-try:
-    GV_FIELD_MAX = PORT_INT_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 137
-try:
-    GV_CAT_MAX = PORT_INT_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 139
-try:
-    GV_ASCII_FORMAT_POINT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 139
-try:
-    GV_ASCII_FORMAT_STD = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 139
-try:
-    GV_ASCII_FORMAT_WKT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_LINESTRING = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_LINEARRING = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_POLYGON = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 142
-try:
-    HEADSTR = 50
-except:
-    pass
-
-site_att = struct_site_att # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 46
-
-bound_box = struct_bound_box # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 65
-
-gvfile = struct_gvfile # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 96
-
-field_info = struct_field_info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 134
-
-dblinks = struct_dblinks # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 165
-
-Port_info = struct_Port_info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 186
-
-recycle = struct_recycle # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 272
-
-dig_head = struct_dig_head # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 282
-
-Coor_info = struct_Coor_info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 381
-
-line_pnts = struct_line_pnts # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1469
-
-Format_info_ogr = struct_Format_info_ogr # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 399
-
-Format_info = struct_Format_info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 522
-
-Cat_index = struct_Cat_index # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 537
-
-P_node = struct_P_node # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1249
-
-P_line = struct_P_line # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1371
-
-P_area = struct_P_area # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1399
-
-P_isle = struct_P_isle # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1440
-
-Plus_head = struct_Plus_head # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 586
-
-Map_info = struct_Map_info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1052
-
-P_topo_l = struct_P_topo_l # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1291
-
-P_topo_b = struct_P_topo_b # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1306
-
-P_topo_c = struct_P_topo_c # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1329
-
-P_topo_f = struct_P_topo_f # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1340
-
-P_topo_k = struct_P_topo_k # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1360
-
-line_cats = struct_line_cats # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1496
-
-cat_list = struct_cat_list # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1517
-
-ilist = struct_ilist # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1546
-
-boxlist = struct_boxlist # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1565
-
-varray = struct_varray # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1594
-
-spatial_index = struct_spatial_index # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1614
-
-# No inserted files
-
diff --git a/lib/python/ctypes/vedit.py b/lib/python/ctypes/vedit.py
deleted file mode 100644
index fb1c300..0000000
--- a/lib/python/ctypes/vedit.py
+++ /dev/null
@@ -1,2096 +0,0 @@
-'''Wrapper for vedit.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_vedit.7.0.svn -I/usr/local/include /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h -o vedit.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_vedit.7.0.svn"] = load_library("grass_vedit.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-off_t = __off64_t # /usr/include/sys/types.h: 90
-
-dglByte_t = c_ubyte # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/type.h: 36
-
-dglInt32_t = c_long # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/type.h: 37
-
-dglInt64_t = c_longlong # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/type.h: 38
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 33
-class union__dglHeapData(Union):
-    pass
-
-union__dglHeapData.__slots__ = [
-    'pv',
-    'n',
-    'un',
-    'l',
-    'ul',
-]
-union__dglHeapData._fields_ = [
-    ('pv', POINTER(None)),
-    ('n', c_int),
-    ('un', c_uint),
-    ('l', c_long),
-    ('ul', c_ulong),
-]
-
-dglHeapData_u = union__dglHeapData # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 33
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 42
-class struct__dglHeapNode(Structure):
-    pass
-
-struct__dglHeapNode.__slots__ = [
-    'key',
-    'value',
-    'flags',
-]
-struct__dglHeapNode._fields_ = [
-    ('key', c_long),
-    ('value', dglHeapData_u),
-    ('flags', c_ubyte),
-]
-
-dglHeapNode_s = struct__dglHeapNode # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 42
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 52
-class struct__dglHeap(Structure):
-    pass
-
-struct__dglHeap.__slots__ = [
-    'index',
-    'count',
-    'block',
-    'pnode',
-]
-struct__dglHeap._fields_ = [
-    ('index', c_long),
-    ('count', c_long),
-    ('block', c_long),
-    ('pnode', POINTER(dglHeapNode_s)),
-]
-
-dglHeap_s = struct__dglHeap # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 52
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/tree.h: 165
-class struct__dglTreeEdgePri32(Structure):
-    pass
-
-struct__dglTreeEdgePri32.__slots__ = [
-    'nKey',
-    'cnData',
-    'pnData',
-]
-struct__dglTreeEdgePri32._fields_ = [
-    ('nKey', dglInt32_t),
-    ('cnData', dglInt32_t),
-    ('pnData', POINTER(dglInt32_t)),
-]
-
-dglTreeEdgePri32_s = struct__dglTreeEdgePri32 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/tree.h: 165
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 135
-class struct_anon_23(Structure):
-    pass
-
-struct_anon_23.__slots__ = [
-    'pvAVL',
-]
-struct_anon_23._fields_ = [
-    ('pvAVL', POINTER(None)),
-]
-
-dglNodePrioritizer_s = struct_anon_23 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 135
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 146
-class struct_anon_24(Structure):
-    pass
-
-struct_anon_24.__slots__ = [
-    'cEdge',
-    'iEdge',
-    'pEdgePri32Item',
-    'pvAVL',
-]
-struct_anon_24._fields_ = [
-    ('cEdge', c_int),
-    ('iEdge', c_int),
-    ('pEdgePri32Item', POINTER(dglTreeEdgePri32_s)),
-    ('pvAVL', POINTER(None)),
-]
-
-dglEdgePrioritizer_s = struct_anon_24 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 146
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 193
-class struct__dglGraph(Structure):
-    pass
-
-struct__dglGraph.__slots__ = [
-    'iErrno',
-    'Version',
-    'Endian',
-    'NodeAttrSize',
-    'EdgeAttrSize',
-    'aOpaqueSet',
-    'cNode',
-    'cHead',
-    'cTail',
-    'cAlone',
-    'cEdge',
-    'nnCost',
-    'Flags',
-    'nFamily',
-    'nOptions',
-    'pNodeTree',
-    'pEdgeTree',
-    'pNodeBuffer',
-    'iNodeBuffer',
-    'pEdgeBuffer',
-    'iEdgeBuffer',
-    'edgePrioritizer',
-    'nodePrioritizer',
-]
-struct__dglGraph._fields_ = [
-    ('iErrno', c_int),
-    ('Version', dglByte_t),
-    ('Endian', dglByte_t),
-    ('NodeAttrSize', dglInt32_t),
-    ('EdgeAttrSize', dglInt32_t),
-    ('aOpaqueSet', dglInt32_t * 16),
-    ('cNode', dglInt32_t),
-    ('cHead', dglInt32_t),
-    ('cTail', dglInt32_t),
-    ('cAlone', dglInt32_t),
-    ('cEdge', dglInt32_t),
-    ('nnCost', dglInt64_t),
-    ('Flags', dglInt32_t),
-    ('nFamily', dglInt32_t),
-    ('nOptions', dglInt32_t),
-    ('pNodeTree', POINTER(None)),
-    ('pEdgeTree', POINTER(None)),
-    ('pNodeBuffer', POINTER(dglByte_t)),
-    ('iNodeBuffer', dglInt32_t),
-    ('pEdgeBuffer', POINTER(dglByte_t)),
-    ('iEdgeBuffer', dglInt32_t),
-    ('edgePrioritizer', dglEdgePrioritizer_s),
-    ('nodePrioritizer', dglNodePrioritizer_s),
-]
-
-dglGraph_s = struct__dglGraph # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 193
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 243
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'nStartNode',
-    'NodeHeap',
-    'pvVisited',
-    'pvPredist',
-]
-struct_anon_25._fields_ = [
-    ('nStartNode', dglInt32_t),
-    ('NodeHeap', dglHeap_s),
-    ('pvVisited', POINTER(None)),
-    ('pvPredist', POINTER(None)),
-]
-
-dglSPCache_s = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 243
-
-RectReal = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 29
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 59
-class struct_RTree_Rect(Structure):
-    pass
-
-struct_RTree_Rect.__slots__ = [
-    'boundary',
-]
-struct_RTree_Rect._fields_ = [
-    ('boundary', RectReal * (2 * 3)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 79
-class struct_RTree_Node(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 66
-class union_RTree_Child(Union):
-    pass
-
-union_RTree_Child.__slots__ = [
-    'id',
-    'ptr',
-    'pos',
-]
-union_RTree_Child._fields_ = [
-    ('id', c_int),
-    ('ptr', POINTER(struct_RTree_Node)),
-    ('pos', off_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 73
-class struct_RTree_Branch(Structure):
-    pass
-
-struct_RTree_Branch.__slots__ = [
-    'rect',
-    'child',
-]
-struct_RTree_Branch._fields_ = [
-    ('rect', struct_RTree_Rect),
-    ('child', union_RTree_Child),
-]
-
-struct_RTree_Node.__slots__ = [
-    'count',
-    'level',
-    'branch',
-]
-struct_RTree_Node._fields_ = [
-    ('count', c_int),
-    ('level', c_int),
-    ('branch', struct_RTree_Branch * 9),
-]
-
-SearchHitCallback = CFUNCTYPE(UNCHECKED(c_int), c_int, struct_RTree_Rect, POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 93
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 103
-class struct_RTree(Structure):
-    pass
-
-rt_search_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(struct_RTree), POINTER(struct_RTree_Rect), POINTER(SearchHitCallback), POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 97
-
-rt_insert_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(struct_RTree_Rect), union_RTree_Child, c_int, POINTER(struct_RTree)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 99
-
-rt_delete_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(struct_RTree_Rect), union_RTree_Child, POINTER(struct_RTree)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 100
-
-rt_valid_child_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(union_RTree_Child)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 101
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 127
-class struct__recycle(Structure):
-    pass
-
-struct__recycle.__slots__ = [
-    'avail',
-    'alloc',
-    'pos',
-]
-struct__recycle._fields_ = [
-    ('avail', c_int),
-    ('alloc', c_int),
-    ('pos', POINTER(off_t)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 135
-class struct_NodeBuffer(Structure):
-    pass
-
-struct_NodeBuffer.__slots__ = [
-    'n',
-    'pos',
-    'dirty',
-]
-struct_NodeBuffer._fields_ = [
-    ('n', struct_RTree_Node),
-    ('pos', off_t),
-    ('dirty', c_char),
-]
-
-struct_RTree.__slots__ = [
-    'fd',
-    'ndims',
-    'nsides',
-    'nodesize',
-    'branchsize',
-    'rectsize',
-    'n_nodes',
-    'n_leafs',
-    'rootlevel',
-    'nodecard',
-    'leafcard',
-    'min_node_fill',
-    'min_leaf_fill',
-    'minfill_node_split',
-    'minfill_leaf_split',
-    'free_nodes',
-    'nb',
-    'used',
-    'insert_rect',
-    'delete_rect',
-    'search_rect',
-    'valid_child',
-    'root',
-    'rootpos',
-]
-struct_RTree._fields_ = [
-    ('fd', c_int),
-    ('ndims', c_ubyte),
-    ('nsides', c_ubyte),
-    ('nodesize', c_int),
-    ('branchsize', c_int),
-    ('rectsize', c_int),
-    ('n_nodes', c_int),
-    ('n_leafs', c_int),
-    ('rootlevel', c_int),
-    ('nodecard', c_int),
-    ('leafcard', c_int),
-    ('min_node_fill', c_int),
-    ('min_leaf_fill', c_int),
-    ('minfill_node_split', c_int),
-    ('minfill_leaf_split', c_int),
-    ('free_nodes', struct__recycle),
-    ('nb', (struct_NodeBuffer * 3) * 20),
-    ('used', (c_char * 3) * 20),
-    ('insert_rect', POINTER(rt_insert_fn)),
-    ('delete_rect', POINTER(rt_delete_fn)),
-    ('search_rect', POINTER(rt_search_fn)),
-    ('valid_child', POINTER(rt_valid_child_fn)),
-    ('root', POINTER(struct_RTree_Node)),
-    ('rootpos', off_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 149
-class struct__dbmscap(Structure):
-    pass
-
-struct__dbmscap.__slots__ = [
-    'driverName',
-    'startup',
-    'comment',
-    'next',
-]
-struct__dbmscap._fields_ = [
-    ('driverName', c_char * 256),
-    ('startup', c_char * 256),
-    ('comment', c_char * 256),
-    ('next', POINTER(struct__dbmscap)),
-]
-
-dbDbmscap = struct__dbmscap # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 155
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-class struct__db_driver(Structure):
-    pass
-
-struct__db_driver.__slots__ = [
-    'dbmscap',
-    'send',
-    'recv',
-    'pid',
-]
-struct__db_driver._fields_ = [
-    ('dbmscap', dbDbmscap),
-    ('send', POINTER(FILE)),
-    ('recv', POINTER(FILE)),
-    ('pid', c_int),
-]
-
-dbDriver = struct__db_driver # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-
-OGRFeatureH = POINTER(None) # /usr/local/include/ogr_api.h: 199
-
-OGRLayerH = POINTER(None) # /usr/local/include/ogr_api.h: 302
-
-OGRDataSourceH = POINTER(None) # /usr/local/include/ogr_api.h: 303
-
-OGRSFDriverH = POINTER(None) # /usr/local/include/ogr_api.h: 304
-
-plus_t = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 41
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 46
-class struct_site_att(Structure):
-    pass
-
-struct_site_att.__slots__ = [
-    'cat',
-    'dbl',
-    'str',
-]
-struct_site_att._fields_ = [
-    ('cat', c_int),
-    ('dbl', POINTER(c_double)),
-    ('str', POINTER(POINTER(c_char))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 65
-class struct_bound_box(Structure):
-    pass
-
-struct_bound_box.__slots__ = [
-    'N',
-    'S',
-    'E',
-    'W',
-    'T',
-    'B',
-]
-struct_bound_box._fields_ = [
-    ('N', c_double),
-    ('S', c_double),
-    ('E', c_double),
-    ('W', c_double),
-    ('T', c_double),
-    ('B', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 96
-class struct_gvfile(Structure):
-    pass
-
-struct_gvfile.__slots__ = [
-    'file',
-    'start',
-    'current',
-    'end',
-    'size',
-    'alloc',
-    'loaded',
-]
-struct_gvfile._fields_ = [
-    ('file', POINTER(FILE)),
-    ('start', String),
-    ('current', String),
-    ('end', String),
-    ('size', off_t),
-    ('alloc', off_t),
-    ('loaded', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 134
-class struct_field_info(Structure):
-    pass
-
-struct_field_info.__slots__ = [
-    'number',
-    'name',
-    'driver',
-    'database',
-    'table',
-    'key',
-]
-struct_field_info._fields_ = [
-    ('number', c_int),
-    ('name', String),
-    ('driver', String),
-    ('database', String),
-    ('table', String),
-    ('key', String),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 165
-class struct_dblinks(Structure):
-    pass
-
-struct_dblinks.__slots__ = [
-    'field',
-    'alloc_fields',
-    'n_fields',
-]
-struct_dblinks._fields_ = [
-    ('field', POINTER(struct_field_info)),
-    ('alloc_fields', c_int),
-    ('n_fields', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 186
-class struct_Port_info(Structure):
-    pass
-
-struct_Port_info.__slots__ = [
-    'byte_order',
-    'off_t_size',
-    'dbl_cnvrt',
-    'flt_cnvrt',
-    'lng_cnvrt',
-    'int_cnvrt',
-    'shrt_cnvrt',
-    'off_t_cnvrt',
-    'dbl_quick',
-    'flt_quick',
-    'lng_quick',
-    'int_quick',
-    'shrt_quick',
-    'off_t_quick',
-]
-struct_Port_info._fields_ = [
-    ('byte_order', c_int),
-    ('off_t_size', c_int),
-    ('dbl_cnvrt', c_ubyte * 8),
-    ('flt_cnvrt', c_ubyte * 4),
-    ('lng_cnvrt', c_ubyte * 4),
-    ('int_cnvrt', c_ubyte * 4),
-    ('shrt_cnvrt', c_ubyte * 2),
-    ('off_t_cnvrt', c_ubyte * 8),
-    ('dbl_quick', c_int),
-    ('flt_quick', c_int),
-    ('lng_quick', c_int),
-    ('int_quick', c_int),
-    ('shrt_quick', c_int),
-    ('off_t_quick', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 272
-class struct_recycle(Structure):
-    pass
-
-struct_recycle.__slots__ = [
-    'dummy',
-]
-struct_recycle._fields_ = [
-    ('dummy', c_char),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 282
-class struct_dig_head(Structure):
-    pass
-
-struct_dig_head.__slots__ = [
-    'organization',
-    'date',
-    'user_name',
-    'map_name',
-    'source_date',
-    'orig_scale',
-    'comment',
-    'proj',
-    'plani_zone',
-    'digit_thresh',
-    'Version_Major',
-    'Version_Minor',
-    'Back_Major',
-    'Back_Minor',
-    'with_z',
-    'size',
-    'head_size',
-    'port',
-    'last_offset',
-    'recycle',
-]
-struct_dig_head._fields_ = [
-    ('organization', String),
-    ('date', String),
-    ('user_name', String),
-    ('map_name', String),
-    ('source_date', String),
-    ('orig_scale', c_long),
-    ('comment', String),
-    ('proj', c_int),
-    ('plani_zone', c_int),
-    ('digit_thresh', c_double),
-    ('Version_Major', c_int),
-    ('Version_Minor', c_int),
-    ('Back_Major', c_int),
-    ('Back_Minor', c_int),
-    ('with_z', c_int),
-    ('size', off_t),
-    ('head_size', c_long),
-    ('port', struct_Port_info),
-    ('last_offset', off_t),
-    ('recycle', POINTER(struct_recycle)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1469
-class struct_line_pnts(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 399
-class struct_Format_info_ogr(Structure):
-    pass
-
-struct_Format_info_ogr.__slots__ = [
-    'driver_name',
-    'dsn',
-    'layer_name',
-    'driver',
-    'ds',
-    'layer',
-    'dbdriver',
-    'dsn_options',
-    'layer_options',
-    'lines',
-    'lines_types',
-    'lines_alloc',
-    'lines_num',
-    'lines_next',
-    'feature_cache',
-    'feature_cache_id',
-    'offset',
-    'offset_num',
-    'offset_alloc',
-    'next_line',
-]
-struct_Format_info_ogr._fields_ = [
-    ('driver_name', String),
-    ('dsn', String),
-    ('layer_name', String),
-    ('driver', OGRSFDriverH),
-    ('ds', OGRDataSourceH),
-    ('layer', OGRLayerH),
-    ('dbdriver', POINTER(dbDriver)),
-    ('dsn_options', POINTER(POINTER(c_char))),
-    ('layer_options', POINTER(POINTER(c_char))),
-    ('lines', POINTER(POINTER(struct_line_pnts))),
-    ('lines_types', POINTER(c_int)),
-    ('lines_alloc', c_int),
-    ('lines_num', c_int),
-    ('lines_next', c_int),
-    ('feature_cache', OGRFeatureH),
-    ('feature_cache_id', c_int),
-    ('offset', POINTER(c_int)),
-    ('offset_num', c_int),
-    ('offset_alloc', c_int),
-    ('next_line', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 522
-class struct_Format_info(Structure):
-    pass
-
-struct_Format_info.__slots__ = [
-    'i',
-    'ogr',
-]
-struct_Format_info._fields_ = [
-    ('i', c_int),
-    ('ogr', struct_Format_info_ogr),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 537
-class struct_Cat_index(Structure):
-    pass
-
-struct_Cat_index.__slots__ = [
-    'field',
-    'n_cats',
-    'a_cats',
-    'cat',
-    'n_ucats',
-    'n_types',
-    'type',
-    'offset',
-]
-struct_Cat_index._fields_ = [
-    ('field', c_int),
-    ('n_cats', c_int),
-    ('a_cats', c_int),
-    ('cat', POINTER(c_int * 3)),
-    ('n_ucats', c_int),
-    ('n_types', c_int),
-    ('type', (c_int * 2) * 7),
-    ('offset', off_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1249
-class struct_P_node(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1371
-class struct_P_line(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1399
-class struct_P_area(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1440
-class struct_P_isle(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 586
-class struct_Plus_head(Structure):
-    pass
-
-struct_Plus_head.__slots__ = [
-    'Version_Major',
-    'Version_Minor',
-    'Back_Major',
-    'Back_Minor',
-    'spidx_Version_Major',
-    'spidx_Version_Minor',
-    'spidx_Back_Major',
-    'spidx_Back_Minor',
-    'cidx_Version_Major',
-    'cidx_Version_Minor',
-    'cidx_Back_Major',
-    'cidx_Back_Minor',
-    'with_z',
-    'spidx_with_z',
-    'off_t_size',
-    'head_size',
-    'spidx_head_size',
-    'cidx_head_size',
-    'release_support',
-    'port',
-    'spidx_port',
-    'cidx_port',
-    'mode',
-    'built',
-    'box',
-    'Node',
-    'Line',
-    'Area',
-    'Isle',
-    'n_plines',
-    'n_llines',
-    'n_blines',
-    'n_clines',
-    'n_flines',
-    'n_klines',
-    'n_vfaces',
-    'n_hfaces',
-    'n_nodes',
-    'n_edges',
-    'n_lines',
-    'n_areas',
-    'n_isles',
-    'n_faces',
-    'n_volumes',
-    'n_holes',
-    'alloc_nodes',
-    'alloc_edges',
-    'alloc_lines',
-    'alloc_areas',
-    'alloc_isles',
-    'alloc_faces',
-    'alloc_volumes',
-    'alloc_holes',
-    'Node_offset',
-    'Edge_offset',
-    'Line_offset',
-    'Area_offset',
-    'Isle_offset',
-    'Volume_offset',
-    'Hole_offset',
-    'Spidx_built',
-    'Spidx_new',
-    'Spidx_file',
-    'spidx_fp',
-    'Node_spidx_offset',
-    'Line_spidx_offset',
-    'Area_spidx_offset',
-    'Isle_spidx_offset',
-    'Face_spidx_offset',
-    'Volume_spidx_offset',
-    'Hole_spidx_offset',
-    'Node_spidx',
-    'Line_spidx',
-    'Area_spidx',
-    'Isle_spidx',
-    'Face_spidx',
-    'Volume_spidx',
-    'Hole_spidx',
-    'update_cidx',
-    'n_cidx',
-    'a_cidx',
-    'cidx',
-    'cidx_up_to_date',
-    'coor_size',
-    'coor_mtime',
-    'do_uplist',
-    'uplines',
-    'alloc_uplines',
-    'n_uplines',
-    'upnodes',
-    'alloc_upnodes',
-    'n_upnodes',
-]
-struct_Plus_head._fields_ = [
-    ('Version_Major', c_int),
-    ('Version_Minor', c_int),
-    ('Back_Major', c_int),
-    ('Back_Minor', c_int),
-    ('spidx_Version_Major', c_int),
-    ('spidx_Version_Minor', c_int),
-    ('spidx_Back_Major', c_int),
-    ('spidx_Back_Minor', c_int),
-    ('cidx_Version_Major', c_int),
-    ('cidx_Version_Minor', c_int),
-    ('cidx_Back_Major', c_int),
-    ('cidx_Back_Minor', c_int),
-    ('with_z', c_int),
-    ('spidx_with_z', c_int),
-    ('off_t_size', c_int),
-    ('head_size', c_long),
-    ('spidx_head_size', c_long),
-    ('cidx_head_size', c_long),
-    ('release_support', c_int),
-    ('port', struct_Port_info),
-    ('spidx_port', struct_Port_info),
-    ('cidx_port', struct_Port_info),
-    ('mode', c_int),
-    ('built', c_int),
-    ('box', struct_bound_box),
-    ('Node', POINTER(POINTER(struct_P_node))),
-    ('Line', POINTER(POINTER(struct_P_line))),
-    ('Area', POINTER(POINTER(struct_P_area))),
-    ('Isle', POINTER(POINTER(struct_P_isle))),
-    ('n_plines', plus_t),
-    ('n_llines', plus_t),
-    ('n_blines', plus_t),
-    ('n_clines', plus_t),
-    ('n_flines', plus_t),
-    ('n_klines', plus_t),
-    ('n_vfaces', plus_t),
-    ('n_hfaces', plus_t),
-    ('n_nodes', plus_t),
-    ('n_edges', plus_t),
-    ('n_lines', plus_t),
-    ('n_areas', plus_t),
-    ('n_isles', plus_t),
-    ('n_faces', plus_t),
-    ('n_volumes', plus_t),
-    ('n_holes', plus_t),
-    ('alloc_nodes', plus_t),
-    ('alloc_edges', plus_t),
-    ('alloc_lines', plus_t),
-    ('alloc_areas', plus_t),
-    ('alloc_isles', plus_t),
-    ('alloc_faces', plus_t),
-    ('alloc_volumes', plus_t),
-    ('alloc_holes', plus_t),
-    ('Node_offset', off_t),
-    ('Edge_offset', off_t),
-    ('Line_offset', off_t),
-    ('Area_offset', off_t),
-    ('Isle_offset', off_t),
-    ('Volume_offset', off_t),
-    ('Hole_offset', off_t),
-    ('Spidx_built', c_int),
-    ('Spidx_new', c_int),
-    ('Spidx_file', c_int),
-    ('spidx_fp', struct_gvfile),
-    ('Node_spidx_offset', off_t),
-    ('Line_spidx_offset', off_t),
-    ('Area_spidx_offset', off_t),
-    ('Isle_spidx_offset', off_t),
-    ('Face_spidx_offset', off_t),
-    ('Volume_spidx_offset', off_t),
-    ('Hole_spidx_offset', off_t),
-    ('Node_spidx', POINTER(struct_RTree)),
-    ('Line_spidx', POINTER(struct_RTree)),
-    ('Area_spidx', POINTER(struct_RTree)),
-    ('Isle_spidx', POINTER(struct_RTree)),
-    ('Face_spidx', POINTER(struct_RTree)),
-    ('Volume_spidx', POINTER(struct_RTree)),
-    ('Hole_spidx', POINTER(struct_RTree)),
-    ('update_cidx', c_int),
-    ('n_cidx', c_int),
-    ('a_cidx', c_int),
-    ('cidx', POINTER(struct_Cat_index)),
-    ('cidx_up_to_date', c_int),
-    ('coor_size', off_t),
-    ('coor_mtime', c_long),
-    ('do_uplist', c_int),
-    ('uplines', POINTER(c_int)),
-    ('alloc_uplines', c_int),
-    ('n_uplines', c_int),
-    ('upnodes', POINTER(c_int)),
-    ('alloc_upnodes', c_int),
-    ('n_upnodes', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1052
-class struct_Map_info(Structure):
-    pass
-
-struct_Map_info.__slots__ = [
-    'format',
-    'temporary',
-    'dblnk',
-    'plus',
-    'graph_line_type',
-    'graph',
-    'spCache',
-    'edge_fcosts',
-    'edge_bcosts',
-    'node_costs',
-    'cost_multip',
-    'open',
-    'mode',
-    'level',
-    'head_only',
-    'support_updated',
-    'next_line',
-    'name',
-    'mapset',
-    'location',
-    'gisdbase',
-    'Constraint_region_flag',
-    'Constraint_type_flag',
-    'Constraint_box',
-    'Constraint_type',
-    'proj',
-    'dig_fp',
-    'head',
-    'fInfo',
-    'hist_fp',
-    'site_att',
-    'n_site_att',
-    'n_site_dbl',
-    'n_site_str',
-]
-struct_Map_info._fields_ = [
-    ('format', c_int),
-    ('temporary', c_int),
-    ('dblnk', POINTER(struct_dblinks)),
-    ('plus', struct_Plus_head),
-    ('graph_line_type', c_int),
-    ('graph', dglGraph_s),
-    ('spCache', dglSPCache_s),
-    ('edge_fcosts', POINTER(c_double)),
-    ('edge_bcosts', POINTER(c_double)),
-    ('node_costs', POINTER(c_double)),
-    ('cost_multip', c_int),
-    ('open', c_int),
-    ('mode', c_int),
-    ('level', c_int),
-    ('head_only', c_int),
-    ('support_updated', c_int),
-    ('next_line', plus_t),
-    ('name', String),
-    ('mapset', String),
-    ('location', String),
-    ('gisdbase', String),
-    ('Constraint_region_flag', c_int),
-    ('Constraint_type_flag', c_int),
-    ('Constraint_box', struct_bound_box),
-    ('Constraint_type', c_int),
-    ('proj', c_int),
-    ('dig_fp', struct_gvfile),
-    ('head', struct_dig_head),
-    ('fInfo', struct_Format_info),
-    ('hist_fp', POINTER(FILE)),
-    ('site_att', POINTER(struct_site_att)),
-    ('n_site_att', c_int),
-    ('n_site_dbl', c_int),
-    ('n_site_str', c_int),
-]
-
-struct_P_node.__slots__ = [
-    'x',
-    'y',
-    'z',
-    'alloc_lines',
-    'n_lines',
-    'lines',
-    'angles',
-]
-struct_P_node._fields_ = [
-    ('x', c_double),
-    ('y', c_double),
-    ('z', c_double),
-    ('alloc_lines', plus_t),
-    ('n_lines', plus_t),
-    ('lines', POINTER(plus_t)),
-    ('angles', POINTER(c_float)),
-]
-
-struct_P_line.__slots__ = [
-    'type',
-    'offset',
-    'topo',
-]
-struct_P_line._fields_ = [
-    ('type', c_char),
-    ('offset', off_t),
-    ('topo', POINTER(None)),
-]
-
-struct_P_area.__slots__ = [
-    'n_lines',
-    'alloc_lines',
-    'lines',
-    'centroid',
-    'n_isles',
-    'alloc_isles',
-    'isles',
-]
-struct_P_area._fields_ = [
-    ('n_lines', plus_t),
-    ('alloc_lines', plus_t),
-    ('lines', POINTER(plus_t)),
-    ('centroid', plus_t),
-    ('n_isles', plus_t),
-    ('alloc_isles', plus_t),
-    ('isles', POINTER(plus_t)),
-]
-
-struct_P_isle.__slots__ = [
-    'n_lines',
-    'alloc_lines',
-    'lines',
-    'area',
-]
-struct_P_isle._fields_ = [
-    ('n_lines', plus_t),
-    ('alloc_lines', plus_t),
-    ('lines', POINTER(plus_t)),
-    ('area', plus_t),
-]
-
-struct_line_pnts.__slots__ = [
-    'x',
-    'y',
-    'z',
-    'n_points',
-    'alloc_points',
-]
-struct_line_pnts._fields_ = [
-    ('x', POINTER(c_double)),
-    ('y', POINTER(c_double)),
-    ('z', POINTER(c_double)),
-    ('n_points', c_int),
-    ('alloc_points', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1517
-class struct_cat_list(Structure):
-    pass
-
-struct_cat_list.__slots__ = [
-    'field',
-    'min',
-    'max',
-    'n_ranges',
-    'alloc_ranges',
-]
-struct_cat_list._fields_ = [
-    ('field', c_int),
-    ('min', POINTER(c_int)),
-    ('max', POINTER(c_int)),
-    ('n_ranges', c_int),
-    ('alloc_ranges', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1546
-class struct_ilist(Structure):
-    pass
-
-struct_ilist.__slots__ = [
-    'value',
-    'n_values',
-    'alloc_values',
-]
-struct_ilist._fields_ = [
-    ('value', POINTER(c_int)),
-    ('n_values', c_int),
-    ('alloc_values', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 45
-class struct_rpoint(Structure):
-    pass
-
-struct_rpoint.__slots__ = [
-    'x',
-    'y',
-]
-struct_rpoint._fields_ = [
-    ('x', c_int),
-    ('y', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 50
-class struct_robject(Structure):
-    pass
-
-struct_robject.__slots__ = [
-    'fid',
-    'type',
-    'npoints',
-    'point',
-]
-struct_robject._fields_ = [
-    ('fid', c_int),
-    ('type', c_int),
-    ('npoints', c_int),
-    ('point', POINTER(struct_rpoint)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 58
-class struct_robject_list(Structure):
-    pass
-
-struct_robject_list.__slots__ = [
-    'nitems',
-    'item',
-]
-struct_robject_list._fields_ = [
-    ('nitems', c_int),
-    ('item', POINTER(POINTER(struct_robject))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 65
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_split_lines'):
-    Vedit_split_lines = _libs['grass_vedit.7.0.svn'].Vedit_split_lines
-    Vedit_split_lines.restype = c_int
-    Vedit_split_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), POINTER(struct_line_pnts), c_double, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 67
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_connect_lines'):
-    Vedit_connect_lines = _libs['grass_vedit.7.0.svn'].Vedit_connect_lines
-    Vedit_connect_lines.restype = c_int
-    Vedit_connect_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 70
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_modify_cats'):
-    Vedit_modify_cats = _libs['grass_vedit.7.0.svn'].Vedit_modify_cats
-    Vedit_modify_cats.restype = c_int
-    Vedit_modify_cats.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), c_int, c_int, POINTER(struct_cat_list)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 74
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_copy_lines'):
-    Vedit_copy_lines = _libs['grass_vedit.7.0.svn'].Vedit_copy_lines
-    Vedit_copy_lines.restype = c_int
-    Vedit_copy_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 77
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_chtype_lines'):
-    Vedit_chtype_lines = _libs['grass_vedit.7.0.svn'].Vedit_chtype_lines
-    Vedit_chtype_lines.restype = c_int
-    Vedit_chtype_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 81
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_delete_lines'):
-    Vedit_delete_lines = _libs['grass_vedit.7.0.svn'].Vedit_delete_lines
-    Vedit_delete_lines.restype = c_int
-    Vedit_delete_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 84
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_get_min_distance'):
-    Vedit_get_min_distance = _libs['grass_vedit.7.0.svn'].Vedit_get_min_distance
-    Vedit_get_min_distance.restype = c_double
-    Vedit_get_min_distance.argtypes = [POINTER(struct_line_pnts), POINTER(struct_line_pnts), c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 88
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_flip_lines'):
-    Vedit_flip_lines = _libs['grass_vedit.7.0.svn'].Vedit_flip_lines
-    Vedit_flip_lines.restype = c_int
-    Vedit_flip_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 91
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_merge_lines'):
-    Vedit_merge_lines = _libs['grass_vedit.7.0.svn'].Vedit_merge_lines
-    Vedit_merge_lines.restype = c_int
-    Vedit_merge_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 94
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_move_lines'):
-    Vedit_move_lines = _libs['grass_vedit.7.0.svn'].Vedit_move_lines
-    Vedit_move_lines.restype = c_int
-    Vedit_move_lines.argtypes = [POINTER(struct_Map_info), POINTER(POINTER(struct_Map_info)), c_int, POINTER(struct_ilist), c_double, c_double, c_double, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 98
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_render_map'):
-    Vedit_render_map = _libs['grass_vedit.7.0.svn'].Vedit_render_map
-    Vedit_render_map.restype = POINTER(struct_robject_list)
-    Vedit_render_map.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box), c_int, c_double, c_double, c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 102
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_select_by_query'):
-    Vedit_select_by_query = _libs['grass_vedit.7.0.svn'].Vedit_select_by_query
-    Vedit_select_by_query.restype = c_int
-    Vedit_select_by_query.argtypes = [POINTER(struct_Map_info), c_int, c_int, c_double, c_int, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 106
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_snap_point'):
-    Vedit_snap_point = _libs['grass_vedit.7.0.svn'].Vedit_snap_point
-    Vedit_snap_point.restype = c_int
-    Vedit_snap_point.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_double), POINTER(c_double), POINTER(c_double), c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 108
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_snap_line'):
-    Vedit_snap_line = _libs['grass_vedit.7.0.svn'].Vedit_snap_line
-    Vedit_snap_line.restype = c_int
-    Vedit_snap_line.argtypes = [POINTER(struct_Map_info), POINTER(POINTER(struct_Map_info)), c_int, c_int, POINTER(struct_line_pnts), c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 110
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_snap_lines'):
-    Vedit_snap_lines = _libs['grass_vedit.7.0.svn'].Vedit_snap_lines
-    Vedit_snap_lines.restype = c_int
-    Vedit_snap_lines.argtypes = [POINTER(struct_Map_info), POINTER(POINTER(struct_Map_info)), c_int, POINTER(struct_ilist), c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 114
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_move_vertex'):
-    Vedit_move_vertex = _libs['grass_vedit.7.0.svn'].Vedit_move_vertex
-    Vedit_move_vertex.restype = c_int
-    Vedit_move_vertex.argtypes = [POINTER(struct_Map_info), POINTER(POINTER(struct_Map_info)), c_int, POINTER(struct_ilist), POINTER(struct_line_pnts), c_double, c_double, c_double, c_double, c_double, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 118
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_add_vertex'):
-    Vedit_add_vertex = _libs['grass_vedit.7.0.svn'].Vedit_add_vertex
-    Vedit_add_vertex.restype = c_int
-    Vedit_add_vertex.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), POINTER(struct_line_pnts), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 120
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_remove_vertex'):
-    Vedit_remove_vertex = _libs['grass_vedit.7.0.svn'].Vedit_remove_vertex
-    Vedit_remove_vertex.restype = c_int
-    Vedit_remove_vertex.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), POINTER(struct_line_pnts), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 124
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_bulk_labeling'):
-    Vedit_bulk_labeling = _libs['grass_vedit.7.0.svn'].Vedit_bulk_labeling
-    Vedit_bulk_labeling.restype = c_int
-    Vedit_bulk_labeling.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 7
-try:
-    NO_SNAP = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 7
-try:
-    SNAP = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 7
-try:
-    SNAPVERTEX = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 8
-try:
-    QUERY_UNKNOWN = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 8
-try:
-    QUERY_LENGTH = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 8
-try:
-    QUERY_DANGLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_BOUNDARYNO = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_BOUNDARYTWO = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_BOUNDARYONE = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_CENTROIDIN = 32
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_CENTROIDOUT = 64
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_CENTROIDDUP = 128
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_NODEONE = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_NODETWO = 512
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_VERTEX = 1024
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_AREA = 2048
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_ISLE = 4096
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_DIRECTION = 8192
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_BOUNDARYNO = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_BOUNDARYTWO = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_BOUNDARYONE = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_CENTROIDIN = 32
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_CENTROIDOUT = 64
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_CENTROIDDUP = 128
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_NODEONE = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_NODETWO = 512
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_VERTEX = 1024
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_AREA = 2048
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_DIRECTION = 4096
-except:
-    pass
-
-rpoint = struct_rpoint # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 45
-
-robject = struct_robject # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 50
-
-robject_list = struct_robject_list # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 58
-
-# No inserted files
-
diff --git a/lib/python/pygrass/modules/grid/grid.py b/lib/python/pygrass/modules/grid/grid.py
index 9f2663c..6a25b05 100644
--- a/lib/python/pygrass/modules/grid/grid.py
+++ b/lib/python/pygrass/modules/grid/grid.py
@@ -81,7 +81,7 @@ def copy_mapset(mapset, path):
     >>> sorted(os.listdir(path))
     [u'PERMANENT', u'user1']
     >>> sorted(os.listdir(os.path.join(path, 'PERMANENT')))
-    [u'DEFAULT_WIND', u'PROJ_INFO', u'PROJ_UNITS', u'VAR', u'WIND']
+    [u'DEFAULT_WIND', u'PROJ_EPSG', u'PROJ_INFO', u'PROJ_UNITS', u'VAR', u'WIND']
     >>> sorted(os.listdir(os.path.join(path, 'user1'))) # doctest: +ELLIPSIS
     [...u'SEARCH_PATH', u'VAR', u'WIND']
     >>> import shutil
diff --git a/lib/python/pygrass/utils.py b/lib/python/pygrass/utils.py
index 2b8d992..c639114 100644
--- a/lib/python/pygrass/utils.py
+++ b/lib/python/pygrass/utils.py
@@ -265,32 +265,31 @@ def r_export(rast, output='', fmt='png', **kargs):
 
 def get_lib_path(modname, libname=None):
     """Return the path of the libname contained in the module.
-
-    >>> get_lib_path(modname='r.modis', libname='libmodis')
     """
-    from os.path import isdir, join
+    from os.path import isdir, join, sep
     from os import getenv
 
     if isdir(join(getenv('GISBASE'), 'etc', modname)):
         path = join(os.getenv('GISBASE'), 'etc', modname)
     elif getenv('GRASS_ADDON_BASE') and libname and \
             isdir(join(getenv('GRASS_ADDON_BASE'), 'etc', modname, libname)):
-        path = join(getenv('GRASS_ADDON_BASE'), 'etc', modname, libname)
+        path = join(getenv('GRASS_ADDON_BASE'), 'etc', modname)
     elif getenv('GRASS_ADDON_BASE') and \
             isdir(join(getenv('GRASS_ADDON_BASE'), 'etc', modname)):
         path = join(getenv('GRASS_ADDON_BASE'), 'etc', modname)
     elif getenv('GRASS_ADDON_BASE') and \
             isdir(join(getenv('GRASS_ADDON_BASE'), modname, modname)):
         path = join(os.getenv('GRASS_ADDON_BASE'), modname, modname)
-    elif libname and isdir(join('..', libname)): # used by g.extension compilation process
-        path = join('..', libname)
-    elif isdir(join('..', 'etc', modname)):      # used by g.extension compilation process
-        path = join('..', 'etc', modname)
-    elif isdir(join('etc', modname)):            # used by g.extension compilation process
-        path = join('etc', modname)
     else:
-        path = None
-
+        # used by g.extension compilation process
+        cwd = os.getcwd()
+        idx = cwd.find(modname)
+        if idx < 0:
+            return None
+        path = '{cwd}{sep}etc{sep}{modname}'.format(cwd=cwd[:idx+len(modname)],
+                                                    sep=sep,
+                                                    modname=modname)
+    
     return path
 
 
@@ -316,20 +315,20 @@ def set_path(modulename, dirname=None, path='.'):
 
         grass_prompt> tree ../../../r.green
         ../../../r.green
-        ├── ...
-        ├── libgreen
-        │   ├── pyfile1.py
-        │   └── pyfile2.py
-        └── r.green.hydro
-           ├── Makefile
-           ├── libhydro
-           │   ├── pyfile1.py
-           │   └── pyfile2.py
-           ├── r.green.hydro.*
-           └── r.green.hydro.financial
-               ├── Makefile
-               ├── ...
-               └── r.green.hydro.financial.py
+        |-- ...
+        |-- libgreen
+        |   |-- pyfile1.py
+        |   +-- pyfile2.py
+        +-- r.green.hydro
+           |-- Makefile
+           |-- libhydro
+           |   |-- pyfile1.py
+           |   +-- pyfile2.py
+           |-- r.green.hydro.*
+           +-- r.green.hydro.financial
+               |-- Makefile
+               |-- ...
+               +-- r.green.hydro.financial.py
 
         21 directories, 125 files
 
@@ -363,13 +362,13 @@ def set_path(modulename, dirname=None, path='.'):
         sys.path.append(os.path.abspath(path))
     else:
         # running from GRASS GIS session
-        from grass.pygrass.utils import get_lib_path
         path = get_lib_path(modulename, dirname)
         if path is None:
             pathname = os.path.join(modulename, dirname) if dirname else modulename
             raise ImportError("Not able to find the path '%s' directory "
                               "(current dir '%s')." % (pathname, os.getcwd()))
-        sys.path.append(path)
+        
+        sys.path.insert(0, path)
 
 
 def split_in_chunk(iterable, length=10):
diff --git a/lib/python/script/core.py b/lib/python/script/core.py
index 8df6076..2467ec6 100644
--- a/lib/python/script/core.py
+++ b/lib/python/script/core.py
@@ -55,7 +55,8 @@ class Popen(subprocess.Popen):
             and kwargs.get('executable') is None):
             cmd = shutil_which(args[0])
             if cmd is None:
-                raise OSError
+                raise OSError(_("Cannot find the executable {}")
+                              .format(args[0]))
             args = [cmd] + args[1:]
             name, ext = os.path.splitext(cmd)
             if ext.lower() not in self._builtin_exts:
@@ -1508,13 +1509,20 @@ def version():
 _debug_level = None
 
 
-def debug_level():
+def debug_level(force=False):
     global _debug_level
-    if _debug_level is not None:
+    if not force and _debug_level is not None:
         return _debug_level
     _debug_level = 0
     if find_program('g.gisenv', '--help'):
-        _debug_level = int(gisenv().get('DEBUG', 0))
+        try:
+            _debug_level = int(gisenv().get('DEBUG', 0))
+            if _debug_level < 0 or _debug_level > 5:
+                raise ValueError(_("Debug level {}").format(_debug_level))
+        except ValueError as e:
+            _debug_level = 0
+            sys.stderr.write(_("WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n").format(e))
+            
     return _debug_level
 
 
diff --git a/lib/python/script/setup.py b/lib/python/script/setup.py
index c5c3c89..347abb6 100644
--- a/lib/python/script/setup.py
+++ b/lib/python/script/setup.py
@@ -109,6 +109,13 @@ def write_gisrc(dbase, location, mapset):
     return gisrc
 
 
+def set_gui_path():
+    """Insert wxPython GRASS path to sys.path."""
+    gui_path = os.path.join(os.environ['GISBASE'], 'gui', 'wxpython')
+    if gui_path and gui_path not in sys.path:
+        sys.path.insert(0, gui_path)
+
+
 # TODO: there should be a function to do the clean up
 # (unset the GISRC and delete the file)
 def init(gisbase, dbase='', location='demolocation', mapset='PERMANENT'):
diff --git a/lib/python/script/setup.py b/lib/python/script/setup.py.tmp
similarity index 97%
copy from lib/python/script/setup.py
copy to lib/python/script/setup.py.tmp
index c5c3c89..a9805fb 100644
--- a/lib/python/script/setup.py
+++ b/lib/python/script/setup.py.tmp
@@ -165,9 +165,9 @@ def init(gisbase, dbase='', location='demolocation', mapset='PERMANENT'):
         os.environ['PATH'] += os.pathsep + os.path.join(addon_base, 'scripts')
 
     # define LD_LIBRARY_PATH
-    if '@LD_LIBRARY_PATH_VAR@' not in os.environ:
-        os.environ['@LD_LIBRARY_PATH_VAR@'] = ''
-    os.environ['@LD_LIBRARY_PATH_VAR@'] += os.pathsep + os.path.join(gisbase, 'lib')
+    if 'LD_LIBRARY_PATH' not in os.environ:
+        os.environ['LD_LIBRARY_PATH'] = ''
+    os.environ['LD_LIBRARY_PATH'] += os.pathsep + os.path.join(gisbase, 'lib')
 
     os.environ['GIS_LOCK'] = str(os.getpid())
 
diff --git a/lib/python/script/utils.py b/lib/python/script/utils.py
index 8868a82..dff0ac6 100644
--- a/lib/python/script/utils.py
+++ b/lib/python/script/utils.py
@@ -20,6 +20,7 @@ for details.
 import os
 import shutil
 import locale
+import re
 
 
 def float_or_dms(s):
@@ -148,6 +149,32 @@ class KeyValue(dict):
         self[key] = value
 
 
+def decode(string):
+    """Decode string with defualt locale
+
+    :param str string: the string to decode
+    """
+    enc = locale.getdefaultlocale()[1]
+    if enc:
+        if hasattr(string, 'decode'):
+            return string.decode(enc)
+
+    return string
+
+
+def encode(string):
+    """Encode string with defualt locale
+
+    :param str string: the string to encode
+    """
+    enc = locale.getdefaultlocale()[1]
+    if enc:
+        if hasattr(string, 'encode'):
+            return string.encode(enc)
+
+    return string
+
+
 def parse_key_val(s, sep='=', dflt=None, val_type=None, vsep=None):
     """Parse a string into a dictionary, where entries are separated
     by newlines and the key and value are separated by `sep` (default: `=`)
@@ -171,6 +198,10 @@ def parse_key_val(s, sep='=', dflt=None, val_type=None, vsep=None):
     if not s:
         return result
 
+    if isinstance(s, bytes):
+        sep = encode(sep)
+        vsep = encode(vsep) if vsep else vsep
+
     if vsep:
         lines = s.split(vsep)
         try:
@@ -182,9 +213,9 @@ def parse_key_val(s, sep='=', dflt=None, val_type=None, vsep=None):
 
     for line in lines:
         kv = line.split(sep, 1)
-        k = kv[0].strip()
+        k = decode(kv[0].strip())
         if len(kv) > 1:
-            v = kv[1].strip()
+            v = decode(kv[1].strip())
         else:
             v = dflt
 
@@ -196,30 +227,6 @@ def parse_key_val(s, sep='=', dflt=None, val_type=None, vsep=None):
     return result
 
 
-def decode(string):
-    """Decode string with defualt locale
-
-    :param str string: the string to decode
-    """
-    enc = locale.getdefaultlocale()[1]
-    if enc:
-        return string.decode(enc)
-
-    return string
-
-
-def encode(string):
-    """Encode string with defualt locale
-
-    :param str string: the string to encode
-    """
-    enc = locale.getdefaultlocale()[1]
-    if enc:
-        return string.encode(enc)
-
-    return string
-
-
 def get_num_suffix(number, max_number):
     """Returns formatted number with number of padding zeros
     depending on maximum number, used for creating suffix for data series.
@@ -235,3 +242,13 @@ def get_num_suffix(number, max_number):
     """
     return '{number:0{width}d}'.format(width=len(str(max_number)),
                                        number=number)
+
+# source:
+#    http://stackoverflow.com/questions/4836710/
+#    does-python-have-a-built-in-function-for-string-natural-sort/4836734#4836734
+def natural_sort(l):
+    """Returns sorted strings using natural sort
+    """
+    convert = lambda text: int(text) if text.isdigit() else text.lower()
+    alphanum_key = lambda key: [convert(c) for c in re.split('([0-9]+)', key)]
+    return sorted(l, key=alphanum_key)
diff --git a/lib/python/temporal/list_stds.py b/lib/python/temporal/list_stds.py
index 3330141..7d5a1f8 100644
--- a/lib/python/temporal/list_stds.py
+++ b/lib/python/temporal/list_stds.py
@@ -10,9 +10,9 @@ Usage:
     tgis.register_maps_in_space_time_dataset(type, name, maps)
 
 
-(C) 2012-2013 by the GRASS Development Team
+(C) 2012-2016 by the GRASS Development Team
 This program is free software under the GNU General Public
-License (>=v2). Read the file COPYING that comes with GRASS
+License (>=v2). Read the file COPYING that comes with GRASS GIS
 for details.
 
 :authors: Soeren Gebbert
@@ -51,7 +51,8 @@ def get_dataset_list(type, temporal_type, columns=None, where=None,
             >>> tgis.init()
             >>> name = "list_stds_test"
             >>> sp = tgis.open_new_stds(name=name, type="strds",
-            ... temporaltype="absolute", title="title", descr="descr", semantic="mean", dbif=None, overwrite=True)
+            ... temporaltype="absolute", title="title", descr="descr",
+            ... semantic="mean", dbif=None, overwrite=True)
             >>> mapset = tgis.get_current_mapset()
             >>> stds_list = tgis.get_dataset_list("strds", "absolute", columns="name")
             >>> rows =  stds_list[mapset]
@@ -59,7 +60,8 @@ def get_dataset_list(type, temporal_type, columns=None, where=None,
             ...     if row["name"] == name:
             ...         print True
             True
-            >>> stds_list = tgis.get_dataset_list("strds", "absolute", columns="name,mapset", where="mapset = '%s'"%(mapset))
+            >>> stds_list = tgis.get_dataset_list("strds", "absolute",
+            ... columns="name,mapset", where="mapset = '%s'"%(mapset))
             >>> rows =  stds_list[mapset]
             >>> for row in rows:
             ...     if row["name"] == name and row["mapset"] == mapset:
@@ -111,8 +113,9 @@ def get_dataset_list(type, temporal_type, columns=None, where=None,
 
 
 def list_maps_of_stds(type, input, columns, order, where, separator,
-                      method, no_header=False, gran=None):
-    """ List the maps of a space time dataset using diffetent methods
+                      method, no_header=False, gran=None,
+                      outpath=None):
+    """ List the maps of a space time dataset using different methods
 
         :param type: The type of the maps raster, raster3d or vector
         :param input: Name of a space time raster dataset
@@ -131,14 +134,15 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
                end time, relative length of intervals and the relative
                distance to the begin
             - "deltagaps" Same as "delta" with additional listing of gaps.
-              Gaps can be simply identified as the id is "None"
+               Gaps can be easily identified as the id is "None"
             - "gran" List map using the granularity of the space time dataset,
-              columns are identical to deltagaps
+               columns are identical to deltagaps
 
         :param no_header: Supress the printing of column names
         :param gran: The user defined granule to be used if method=gran is
                      set, in case gran=None the granule of the space time
                      dataset is used
+        :param outpath: The path to file where to save output
     """
 
     dbif, connected = init_dbif(None)
@@ -149,6 +153,9 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
     if separator is None or separator == "":
         separator = "\t"
 
+    if outpath:
+        outfile = open(outpath, 'w')
+
     # This method expects a list of objects for gap detection
     if method == "delta" or method == "deltagaps" or method == "gran":
         if type == "stvds":
@@ -180,7 +187,10 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
             string += "%s%s" % ("end_time", separator)
             string += "%s%s" % ("interval_length", separator)
             string += "%s" % ("distance_from_begin")
-            print string
+            if outpath:
+                outfile.write('{st}\n'.format(st=string))
+            else:
+                print string
 
         if maps and len(maps) > 0:
 
@@ -225,7 +235,10 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
                 string += "%s%s" % (end, separator)
                 string += "%s%s" % (delta, separator)
                 string += "%s" % (delta_first)
-                print string
+                if outpath:
+                    outfile.write('{st}\n'.format(st=string))
+                else:
+                    print string
 
     else:
         # In comma separated mode only map ids are needed
@@ -244,7 +257,10 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
                     else:
                         string += ",%s" % row["id"]
                     count += 1
-                print string
+                if outpath:
+                    outfile.write('{st}\n'.format(st=string))
+                else:
+                    print string
 
             elif method == "cols":
                 # Print the column names if requested
@@ -260,7 +276,10 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
                         else:
                             output += str(key)
                         count += 1
-                    print output
+                    if outpath:
+                        outfile.write('{st}\n'.format(st=output))
+                    else:
+                        print output
 
                 for row in rows:
                     output = ""
@@ -271,8 +290,12 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
                         else:
                             output += str(col)
                         count += 1
-
-                    print output
+                    if outpath:
+                        outfile.write('{st}\n'.format(st=output))
+                    else:
+                        print output
+    if outpath:
+        outfile.close()
     if connected:
         dbif.close()
 
diff --git a/lib/python/temporal/open_stds.py b/lib/python/temporal/open_stds.py
index d2a04f6..c81457e 100644
--- a/lib/python/temporal/open_stds.py
+++ b/lib/python/temporal/open_stds.py
@@ -25,7 +25,7 @@ from factory import *
 
 def open_old_stds(name, type, dbif=None):
     """This function opens an existing space time dataset and return the
-       created and intialized object of the specified type.
+       created and initialized object of the specified type.
 
        This function will call exit() or raise a
        grass.pygrass.messages.FatalError in case the type is wrong,
diff --git a/lib/python/temporal/temporal_algebra.py b/lib/python/temporal/temporal_algebra.py
index 40d9174..2424f0a 100644
--- a/lib/python/temporal/temporal_algebra.py
+++ b/lib/python/temporal/temporal_algebra.py
@@ -2148,7 +2148,7 @@ class TemporalAlgebraParser(object):
         t[0] = t[1]
 
     def p_expr_strds_function(self, t):
-        # Specifiy a explicitely a space time raster dataset
+        # Explicitly specify a space time raster dataset
         # R = A : strds(B) 
         """
         expr : STRDS LPAREN stds RPAREN
@@ -2161,7 +2161,7 @@ class TemporalAlgebraParser(object):
                 print "Opening STRDS: ",  t[0]
 
     def p_expr_str3ds_function(self, t):
-        # Specifiy a explicitely a space time raster dataset
+        # Explicitly specify a space time raster dataset
         # R = A : str3ds(B) 
         """
         expr : STR3DS LPAREN stds RPAREN
@@ -2174,7 +2174,7 @@ class TemporalAlgebraParser(object):
                 print "Opening STR3DS: ",  t[0]
 
     def p_expr_stvds_function(self, t):
-        # Specifiy a explicitely a space time vector dataset
+        # Explicitly specify a space time vector dataset
         # R = A : stvds(B) 
         """
         expr : STVDS LPAREN stds RPAREN
diff --git a/lib/raster/cats.c b/lib/raster/cats.c
index e0870f8..0f775d9 100644
--- a/lib/raster/cats.c
+++ b/lib/raster/cats.c
@@ -50,7 +50,7 @@
  *
  *   sprintf(buff,"Elevation: %.2f to %.2f feet", num*5.0+1000, num*5.0*1005)
  *
- * Note: while both the format and coefficent lins must be present
+ * Note: while both the format and coefficient lines must be present
  *       a blank line for the fmt will effectively suppress automatic
  *       label generation
  *
diff --git a/lib/raster/gdal.c b/lib/raster/gdal.c
index 9b61c5b..38b4a73 100644
--- a/lib/raster/gdal.c
+++ b/lib/raster/gdal.c
@@ -104,16 +104,17 @@ static void load_library(void)
 {
     static const char *const candidates[] = {
 # ifdef __unix__
+	"libgdal.so.20",
+	"libgdal.so.1",
 	"libgdal.1.1.so",
-	"libgdal1.6.0.so",
 	"gdal.1.0.so",
 	"gdal.so.1.0",
-	"libgdal.so.1",
 	"libgdal.so",
 	"libgdal1.6.0.so",
 	"libgdal1.7.0.so",
 # endif
 # ifdef _WIN32
+	"gdal200.dll",
 	"gdal111.dll",
 	"gdal110.dll",
 	"gdal19.dll",
@@ -579,7 +580,7 @@ void Rast_close_gdal_link(struct GDAL_link *gdal)
 }
 
 /*!
-  \brief Close exising GDAL link and write out data
+  \brief Close existing GDAL link and write out data
 
   \param gdal pointer to GDAL_link to be closed
 
diff --git a/lib/raster/open.c b/lib/raster/open.c
index 9216930..a2bb018 100644
--- a/lib/raster/open.c
+++ b/lib/raster/open.c
@@ -29,6 +29,8 @@
 #include "R.h"
 #define FORMAT_FILE "f_format"
 #define NULL_FILE   "null"
+/* cmpressed null file */
+#define NULLC_FILE  "nullcmpr"
 
 static int new_fileinfo(void)
 {
@@ -340,6 +342,11 @@ int Rast__open_old(const char *name, const char *mapset)
 	if (!G_find_file2_misc("cell_misc", NULL_FILE, r_name, r_mapset)) {
 	    /* G_warning("unable to find [%s]",path); */
 	    fcb->null_file_exists = 0;
+	    /* check for compressed null file */
+	    if (G_find_file2_misc("cell_misc", NULLC_FILE, r_name, r_mapset)) {
+		G_fatal_error(_("Unable to read compressed null file for <%s@%s>"), r_name, r_mapset);
+		return -1;
+	    }
 	}
 	else {
 	    fcb->null_fd = G_open_old_misc("cell_misc", NULL_FILE, r_name, r_mapset);
diff --git a/lib/raster/range.c b/lib/raster/range.c
index f2a1c06..3cd3283 100644
--- a/lib/raster/range.c
+++ b/lib/raster/range.c
@@ -542,7 +542,7 @@ void Rast_init_fp_range(struct FPRange *range)
 }
 
 /*!
- * \brief Get minumum and maximum value from fp range
+ * \brief Get minimum and maximum value from fp range
  *
  * Extract the min/max from the range structure <i>range</i>.  If the
  * range structure has no defined min/max (first!=0) there will not be
diff --git a/lib/vector/Vlib/box.c b/lib/vector/Vlib/box.c
index 11c2d1c..87f203b 100644
--- a/lib/vector/Vlib/box.c
+++ b/lib/vector/Vlib/box.c
@@ -5,7 +5,7 @@
 
    Higher level functions for reading/writing/manipulating vectors.
 
-   (C) 2001-2009 by the GRASS Development Team
+   (C) 2001-2015 by the GRASS Development Team
 
    This program is free software under the 
    GNU General Public License (>=v2). 
@@ -20,13 +20,30 @@
 #include <grass/glocale.h>
 
 /*!
-   \brief Tests for point in box
-
-   \param x,y,z coordinates
-   \param Box boundary box
-
-   \return 1 point is in box
-   \return 0 point is not in box
+    \brief Tests if point is in 3D box
+
+    This function considers 3D point and 3D bounding box.
+
+    \par Example
+
+    \verbatim
+    struct bound_box bbox;
+    bbox.N = 135;
+    bbox.S = 125;
+    bbox.E = 220;
+    bbox.W = 215;
+    bbox.T = 340;
+    bbox.B = 330;
+    Vect_point_in_box(217, 130, 335, &bbox);
+    \endverbatim
+
+    \param x coordinate (W-E direction)
+    \param y coordinate (S-N direction)
+    \param z coordinate (B-T direction)
+    \param Box boundary box
+
+    \returns 1 if point is in box
+    \returns 0 if point is not in box
  */
 int Vect_point_in_box(double x, double y, double z, const struct bound_box *Box)
 {
@@ -37,6 +54,25 @@ int Vect_point_in_box(double x, double y, double z, const struct bound_box *Box)
 }
 
 /*!
+    \brief Tests if point is in 2D box
+
+    Only x and y are tested. Top and bottom of the bounding box are ignored.
+
+    \param x coordinate (W-E direction)
+    \param y coordinate (S-N direction)
+    \param Box boundary box (only W, E, S, N are used)
+
+    \returns 1 if point is in box
+    \returns 0 if point is not in box
+ */
+int Vect_point_in_box_2d(double x, double y, const struct bound_box *Box)
+{
+
+    return (x >= Box->W && x <= Box->E &&
+            y >= Box->S && y <= Box->N);
+}
+
+/*!
    \brief Tests for overlap of two boxes
 
    \param A boundary box A
diff --git a/lib/vector/Vlib/build_pg.c b/lib/vector/Vlib/build_pg.c
index e35d65f..65c9d4c 100644
--- a/lib/vector/Vlib/build_pg.c
+++ b/lib/vector/Vlib/build_pg.c
@@ -175,7 +175,7 @@ int build_topo(struct Map_info *Map, int build)
              * mode, before building native topology read nodes from
              * PostGIS Topology */
 
-            /* clean-up spatial a category indeces */
+            /* clean-up spatial a category indices */
             dig_free_plus(&(Map->plus));
             dig_init_plus(&(Map->plus));
             plus->Spidx_new = TRUE;   
diff --git a/lib/vector/Vlib/header.c b/lib/vector/Vlib/header.c
index 857637b..5dd70f9 100644
--- a/lib/vector/Vlib/header.c
+++ b/lib/vector/Vlib/header.c
@@ -395,7 +395,7 @@ int Vect_set_map_date(struct Map_info *Map, const char *str)
 
    \param Map pointer to Map_info structure
 
-   \return string containg a date
+   \return string containing a date
  */
 const char *Vect_get_map_date(const struct Map_info *Map)
 {
diff --git a/lib/vector/Vlib/intersect2.c b/lib/vector/Vlib/intersect2.c
index 2924e77..d325c89 100644
--- a/lib/vector/Vlib/intersect2.c
+++ b/lib/vector/Vlib/intersect2.c
@@ -1,5 +1,5 @@
 /*!
-   \file lib/vector/Vlib/intersect.c
+   \file lib/vector/Vlib/intersect2.c
 
    \brief Vector library - intersection
 
@@ -547,12 +547,12 @@ static int boq_load(struct boq *q, struct line_pnts *Pnts,
  *
  * Creates array of new lines created from original A line, by
  * intersection with B line. Points (Points->n_points == 1) are not
- * supported.
+ * supported. If B line is NULL, A line is intersected with itself.
  * 
  * simplified Bentley–Ottmann Algorithm
  *
  * \param APoints first input line 
- * \param BPoints second input line 
+ * \param BPoints second input line or NULL
  * \param[out] ALines array of new lines created from original A line
  * \param[out] BLines array of new lines created from original B line
  * \param[out] nalines number of new lines (ALines)
@@ -598,6 +598,12 @@ Vect_line_intersection2(struct line_pnts *APoints,
     APnts = APoints;
     BPnts = BPoints;
 
+    same = 0;
+    if (!BPoints) {
+	BPnts = APoints;
+	same = 1;
+    }
+
     ABPnts[0] = APnts;
     ABPnts[1] = BPnts;
 
@@ -659,26 +665,26 @@ Vect_line_intersection2(struct line_pnts *APoints,
      *  we have to break both A and B  at once i.e. in one Vect_line_intersection () call.
      */
 
-    if (!Vect_box_overlap(ABox, BBox)) {
-	*nalines = 0;
-	*nblines = 0;
+    if (!same && !Vect_box_overlap(ABox, BBox)) {
 	return 0;
     }
 
     /* overlap box of A line and B line */
-    abbox = *BBox;
-    if (abbox.N > ABox->N)
-	abbox.N = ABox->N;
-    if (abbox.S < ABox->S)
-	abbox.S = ABox->S;
-    if (abbox.E > ABox->E)
-	abbox.E = ABox->E;
-    if (abbox.W < ABox->W)
-	abbox.W = ABox->W;
-    if (abbox.T > ABox->T)
-	abbox.T = ABox->T;
-    if (abbox.B < ABox->B)
-	abbox.B = ABox->B;
+    abbox = *ABox;
+    if (!same) {
+	if (abbox.N > BBox->N)
+	    abbox.N = BBox->N;
+	if (abbox.S < BBox->S)
+	    abbox.S = BBox->S;
+	if (abbox.E > BBox->E)
+	    abbox.E = BBox->E;
+	if (abbox.W < BBox->W)
+	    abbox.W = BBox->W;
+	if (abbox.T > BBox->T)
+	    abbox.T = BBox->T;
+	if (abbox.B < BBox->B)
+	    abbox.B = BBox->B;
+    }
 
     abbox.N += rethresh;
     abbox.S -= rethresh;
@@ -692,20 +698,6 @@ Vect_line_intersection2(struct line_pnts *APoints,
 	return 0;
     }
 
-    if (APnts->n_points == BPnts->n_points) {
-	same = 1;
-	for (i = 0; i < APnts->n_points; i++) {
-	    if (APnts->x[i] != BPnts->x[i] ||
-	        APnts->y[i] != BPnts->y[i] ||
-		(with_z && APnts->z[i] != BPnts->z[i])) {
-		same = 0;
-		break;
-	    }
-	}
-	if (same)
-	    G_debug(3, "Intersecting different lines");
-    }
-
     /* initialize queue */
     bo_queue.count = 0;
     bo_queue.alloc = 2 * (APnts->n_points + BPnts->n_points);
@@ -789,39 +781,39 @@ Vect_line_intersection2(struct line_pnts *APoints,
 	/* 1. of A seg */
 	seg = cross[i].segment[0];
 	curdist =
-	    dist2(cross[i].x, cross[i].y, APoints->x[seg], APoints->y[seg]);
-	x = APoints->x[seg];
-	y = APoints->y[seg];
+	    dist2(cross[i].x, cross[i].y, APnts->x[seg], APnts->y[seg]);
+	x = APnts->x[seg];
+	y = APnts->y[seg];
 
 	cross[i].distance[0] = curdist;
 
 	/* 2. of A seg */
 	dist =
-	    dist2(cross[i].x, cross[i].y, APoints->x[seg + 1],
-		  APoints->y[seg + 1]);
+	    dist2(cross[i].x, cross[i].y, APnts->x[seg + 1],
+		  APnts->y[seg + 1]);
 	if (dist < curdist) {
 	    curdist = dist;
-	    x = APoints->x[seg + 1];
-	    y = APoints->y[seg + 1];
+	    x = APnts->x[seg + 1];
+	    y = APnts->y[seg + 1];
 	}
 
 	/* 1. of B seg */
 	seg = cross[i].segment[1];
 	dist =
-	    dist2(cross[i].x, cross[i].y, BPoints->x[seg], BPoints->y[seg]);
+	    dist2(cross[i].x, cross[i].y, BPnts->x[seg], BPnts->y[seg]);
 	cross[i].distance[1] = dist;
 
 	if (dist < curdist) {
 	    curdist = dist;
-	    x = BPoints->x[seg];
-	    y = BPoints->y[seg];
+	    x = BPnts->x[seg];
+	    y = BPnts->y[seg];
 	}
 	/* 2. of B seg */
-	dist = dist2(cross[i].x, cross[i].y, BPoints->x[seg + 1], BPoints->y[seg + 1]);
+	dist = dist2(cross[i].x, cross[i].y, BPnts->x[seg + 1], BPnts->y[seg + 1]);
 	if (dist < curdist) {
 	    curdist = dist;
-	    x = BPoints->x[seg + 1];
-	    y = BPoints->y[seg + 1];
+	    x = BPnts->x[seg + 1];
+	    y = BPnts->y[seg + 1];
 	}
 	if (curdist < rethresh * rethresh) {
 	    cross[i].x = x;
@@ -830,10 +822,10 @@ Vect_line_intersection2(struct line_pnts *APoints,
 	    /* Update distances along segments */
 	    seg = cross[i].segment[0];
 	    cross[i].distance[0] =
-		dist2(APoints->x[seg], APoints->y[seg], cross[i].x, cross[i].y);
+		dist2(APnts->x[seg], APnts->y[seg], cross[i].x, cross[i].y);
 	    seg = cross[i].segment[1];
 	    cross[i].distance[1] =
-		dist2(BPoints->x[seg], BPoints->y[seg], cross[i].x, cross[i].y);
+		dist2(BPnts->x[seg], BPnts->y[seg], cross[i].x, cross[i].y);
 	}
     }
 
@@ -850,17 +842,17 @@ Vect_line_intersection2(struct line_pnts *APoints,
 
 	if (l == 1) {
 	    G_debug(2, "Clean and create array for line A");
-	    Points = APoints;
-	    Points1 = APoints;
-	    Points2 = BPoints;
+	    Points = APnts;
+	    Points1 = APnts;
+	    Points2 = BPnts;
 	    current = 0;
 	    second = 1;
 	}
 	else {
 	    G_debug(2, "Clean and create array for line B");
-	    Points = BPoints;
-	    Points1 = BPoints;
-	    Points2 = APoints;
+	    Points = BPnts;
+	    Points1 = BPnts;
+	    Points2 = APnts;
 	    current = 1;
 	    second = 0;
 	}
diff --git a/lib/vector/Vlib/net.c b/lib/vector/Vlib/net.c
index 05a8ffc..0c31bf1 100644
--- a/lib/vector/Vlib/net.c
+++ b/lib/vector/Vlib/net.c
@@ -78,7 +78,7 @@ static int clipper(dglGraph_s * pgraph,
    \param abcol column with backward costs for arc (if NULL, back costs = forward costs), 
    \param ncol column with costs for nodes (if NULL, do not use node costs), 
    \param geo use geodesic calculation for length (LL), 
-   \param algorithm not used (in future code for algorithm)
+   \param version graph version to create (1, 2, 3)
 
    \return 0 on success, 1 on error
  */
@@ -89,7 +89,7 @@ Vect_net_build_graph(struct Map_info *Map,
 		     int nfield,
 		     const char *afcol,
 		     const char *abcol,
-		     const char *ncol, int geo, int algorithm)
+		     const char *ncol, int geo, int version)
 {
     int i, j, from, to, line, nlines, nnodes, ret, type, cat, skipped, cfound;
     int dofw, dobw;
@@ -148,11 +148,14 @@ Vect_net_build_graph(struct Map_info *Map,
 	Map->dgraph.node_costs[i] = 0;
     }
 
+    if (version < 1 || version > 3)
+	version = 1;
+
     if (ncol != NULL)
-	dglInitialize(gr, (dglByte_t) 1, sizeof(dglInt32_t), (dglInt32_t) 0,
+	dglInitialize(gr, (dglByte_t) version, sizeof(dglInt32_t), (dglInt32_t) 0,
 		      opaqueset);
     else
-	dglInitialize(gr, (dglByte_t) 1, (dglInt32_t) 0, (dglInt32_t) 0,
+	dglInitialize(gr, (dglByte_t) version, (dglInt32_t) 0, (dglInt32_t) 0,
 		      opaqueset);
 
     if (gr == NULL)
diff --git a/lib/vector/Vlib/open_pg.c b/lib/vector/Vlib/open_pg.c
index c08d20a..092e0fb 100644
--- a/lib/vector/Vlib/open_pg.c
+++ b/lib/vector/Vlib/open_pg.c
@@ -331,9 +331,9 @@ int Vect__open_topo_pg(struct Map_info *Map, int head_only, int update)
         return 1;
     
     /* free and init plus structure, update spatial and category
-     * indeces  */
+     * indices  */
     dig_init_plus(plus);
-    plus->Spidx_new = TRUE;        /* force building spatial and category indeces */
+    plus->Spidx_new = TRUE;        /* force building spatial and category indices */
     plus->update_cidx = TRUE; 
     Map->support_updated = FALSE;  /* don't write support files */
 
@@ -507,7 +507,7 @@ void connect_db(struct Format_info_pg *pg_info)
     if (!strstr(pg_info->conninfo, "user")) {
         char dbname[GNAME_MAX];
         char *p;
-        const char *user, *passwd;
+        const char *user, *passwd, *host, *port;
         
         dbname[0] = '\0';
         p = strstr(pg_info->conninfo, "dbname");
@@ -521,11 +521,11 @@ void connect_db(struct Format_info_pg *pg_info)
         
         /* try connection settings for given database first, then try
          * any settings defined for pg driver */
-        db_get_login("pg", dbname, &user, &passwd);
+        db_get_login2("pg", dbname, &user, &passwd, &host, &port);
         if (strlen(dbname) > 0 && !user && !passwd)
-            db_get_login("pg", NULL, &user, &passwd);
+            db_get_login2("pg", NULL, &user, &passwd, &host, &port);
         
-        if (user || passwd) {
+        if (user || passwd || host || port) {
             char  conninfo[DB_SQL_MAX];
 
             sprintf(conninfo, "%s", pg_info->conninfo);
@@ -537,6 +537,14 @@ void connect_db(struct Format_info_pg *pg_info)
                 strcat(conninfo, " password=");
                 strcat(conninfo, passwd);
             }
+            if (host) {
+                strcat(conninfo, " host=");
+                strcat(conninfo, host);
+            }
+            if (port) {
+                strcat(conninfo, " port=");
+                strcat(conninfo, port);
+            }
             G_free(pg_info->conninfo);
             pg_info->conninfo = G_store(conninfo);
         }
diff --git a/lib/vector/Vlib/write_pg.c b/lib/vector/Vlib/write_pg.c
index 6ef75b0..624829f 100644
--- a/lib/vector/Vlib/write_pg.c
+++ b/lib/vector/Vlib/write_pg.c
@@ -755,7 +755,7 @@ int create_table(struct Format_info_pg *pg_info)
         return -1;
     }
     
-    /* create indeces
+    /* create indices
         - GV_KEY_COLUMN
         - geometry column
     */
diff --git a/lib/vector/neta/components.c b/lib/vector/neta/components.c
index c931be9..b2a612e 100644
--- a/lib/vector/neta/components.c
+++ b/lib/vector/neta/components.c
@@ -11,6 +11,26 @@
    (>=v2). Read the file COPYING that comes with GRASS for details.
 
    \author Daniel Bundala (Google Summer of Code 2009)
+   \author Markus Metz
+ */
+
+/* example:
+ * 
+ * X -->-- X ---- X --<-- X ---- X
+ * N1      N2     N3      N4     N5
+ * 
+ * -->--, --<-- one-way
+ * ---- both ways
+ * 
+ * weakly connected:
+ * all 5 nodes, even though there is no direct path from N1 to N4, 5
+ * but N1 connects to N2, 3, and N4, 5 also connect to N2, 3
+ * 
+ * strongly connected:
+ * no path from N2 to N1, no path from N3 to N4
+ * component 1: N1
+ * component 2: N2, 3
+ * Component3: N4, 5
  */
 
 #include <stdio.h>
@@ -21,43 +41,53 @@
 #include <grass/dgl/graph.h>
 
 /*!
-   \brief Computes weekly connected components
+   \brief Computes weakly connected components
 
    \param graph input graph
-   \param[out] component list of components
+   \param[out] component array of component ids
 
    \return number of components
    \return -1 on failure
  */
 int NetA_weakly_connected_components(dglGraph_s * graph, int *component)
 {
-    int nnodes;
+    int nnodes, i;
     dglInt32_t *stack;
-    int *visited;
     int stack_size, components;
     dglInt32_t *cur_node;
     dglNodeTraverser_s nt;
+    int have_node_costs;
+    dglInt32_t ncost;
+
+    if (graph->Version < 2) {
+	G_warning("Directed graph must be version 2 or 3 for NetA_weakly_connected_components()");
+	return -1;
+    }
 
     components = 0;
     nnodes = dglGet_NodeCount(graph);
     stack = (dglInt32_t *) G_calloc(nnodes + 1, sizeof(dglInt32_t));
-    visited = (int *)G_calloc(nnodes + 1, sizeof(int));
-    if (!stack || !visited) {
+    if (!stack) {
 	G_fatal_error(_("Out of memory"));
 	return -1;
     }
 
+    for (i = 1; i <= nnodes; i++)
+	component[i] = 0;
+
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
     dglNode_T_Initialize(&nt, graph);
 
     for (cur_node = dglNode_T_First(&nt); cur_node;
 	 cur_node = dglNode_T_Next(&nt)) {
-	dglInt32_t node_id = dglNodeGet_Id(graph, cur_node);
+	dglInt32_t cur_node_id = dglNodeGet_Id(graph, cur_node);
 
-	if (!visited[node_id]) {
-	    visited[node_id] = 1;
-	    stack[0] = node_id;
+	if (!component[cur_node_id]) {
+	    stack[0] = cur_node_id;
 	    stack_size = 1;
-	    component[node_id] = ++components;
+	    component[cur_node_id] = ++components;
 	    while (stack_size) {
 		dglInt32_t *node, *edgeset, *edge;
 		dglEdgesetTraverser_s et;
@@ -70,10 +100,35 @@ int NetA_weakly_connected_components(dglGraph_s * graph, int *component)
 		    dglInt32_t to;
 
 		    to = dglNodeGet_Id(graph, dglEdgeGet_Tail(graph, edge));
-		    if (!visited[to]) {
-			visited[to] = 1;
+		    if (!component[to]) {
 			component[to] = components;
-			stack[stack_size++] = to;
+			/* do not go through closed nodes */
+			if (have_node_costs) {
+			    memcpy(&ncost, dglNodeGet_Attr(graph, dglEdgeGet_Tail(graph, edge)),
+				   sizeof(ncost));
+			}
+			if (ncost >= 0)
+			    stack[stack_size++] = to;
+		    }
+		}
+		dglEdgeset_T_Release(&et);
+
+		edgeset = dglNodeGet_InEdgeset(graph, node);
+		dglEdgeset_T_Initialize(&et, graph, edgeset);
+		for (edge = dglEdgeset_T_First(&et); edge;
+		     edge = dglEdgeset_T_Next(&et)) {
+		    dglInt32_t to;
+
+		    to = dglNodeGet_Id(graph, dglEdgeGet_Head(graph, edge));
+		    if (!component[to]) {
+			component[to] = components;
+			/* do not go through closed nodes */
+			if (have_node_costs) {
+			    memcpy(&ncost, dglNodeGet_Attr(graph, dglEdgeGet_Tail(graph, edge)),
+				   sizeof(ncost));
+			}
+			if (ncost >= 0)
+			    stack[stack_size++] = to;
 		    }
 		}
 		dglEdgeset_T_Release(&et);
@@ -81,73 +136,95 @@ int NetA_weakly_connected_components(dglGraph_s * graph, int *component)
 	}
     }
     dglNode_T_Release(&nt);
-    G_free(visited);
+
+    G_free(stack);
     return components;
 }
 
 /*!
-   \brief Computes strongly connected components
+   \brief Computes strongly connected components with Kosaraju's 
+   two-pass algorithm
 
    \param graph input graph
-   \param[out] component list of components
+   \param[out] component array of component ids
 
    \return number of components
    \return -1 on failure
  */
 int NetA_strongly_connected_components(dglGraph_s * graph, int *component)
 {
-    int nnodes;
+    int nnodes, i;
     dglInt32_t *stack, *order;
-    int *visited, *processed;
+    int *processed;
     int stack_size, order_size, components;
-    dglInt32_t *node;
+    dglInt32_t *cur_node;
     dglNodeTraverser_s nt;
+    int have_node_costs;
+    dglInt32_t ncost;
+
+    if (graph->Version < 2) {
+	G_warning("Directed graph must be version 2 or 3 for NetA_strongly_connected_components()");
+	return -1;
+    }
 
     components = 0;
     nnodes = dglGet_NodeCount(graph);
     stack = (dglInt32_t *) G_calloc(nnodes + 1, sizeof(dglInt32_t));
     order = (dglInt32_t *) G_calloc(nnodes + 1, sizeof(dglInt32_t));
-    visited = (int *)G_calloc(nnodes + 1, sizeof(int));
     processed = (int *)G_calloc(nnodes + 1, sizeof(int));
-    if (!stack || !visited || !order || !processed) {
+    if (!stack || !order || !processed) {
 	G_fatal_error(_("Out of memory"));
 	return -1;
     }
 
+    for (i = 1; i <= nnodes; i++) {
+	component[i] = 0;
+    }
+
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
     order_size = 0;
     dglNode_T_Initialize(&nt, graph);
 
-    for (node = dglNode_T_First(&nt); node; node = dglNode_T_Next(&nt)) {
-	dglInt32_t node_id = dglNodeGet_Id(graph, node);
+    for (cur_node = dglNode_T_First(&nt); cur_node;
+	 cur_node = dglNode_T_Next(&nt)) {
+	dglInt32_t cur_node_id = dglNodeGet_Id(graph, cur_node);
 
-	component[node_id] = 0;
-	if (!visited[node_id]) {
-	    visited[node_id] = 1;
-	    stack[0] = node_id;
+	if (!component[cur_node_id]) {
+	    component[cur_node_id] = --components;
+	    stack[0] = cur_node_id;
 	    stack_size = 1;
 	    while (stack_size) {
 		dglInt32_t *node, *edgeset, *edge;
 		dglEdgesetTraverser_s et;
-		dglInt32_t cur_node_id = stack[stack_size - 1];
+		dglInt32_t node_id = stack[stack_size - 1];
 
-		if (processed[cur_node_id]) {
+		if (processed[node_id]) {
 		    stack_size--;
-		    order[order_size++] = cur_node_id;
+		    order[order_size++] = node_id;
 		    continue;
 		}
-		processed[cur_node_id] = 1;
-		node = dglGetNode(graph, cur_node_id);
+		processed[node_id] = 1;
+
+		node = dglGetNode(graph, node_id);
 		edgeset = dglNodeGet_OutEdgeset(graph, node);
 		dglEdgeset_T_Initialize(&et, graph, edgeset);
 		for (edge = dglEdgeset_T_First(&et); edge;
 		     edge = dglEdgeset_T_Next(&et)) {
 		    dglInt32_t to;
 
-		    if (dglEdgeGet_Id(graph, edge) < 0)
-			continue;	/*ignore backward edges */
 		    to = dglNodeGet_Id(graph, dglEdgeGet_Tail(graph, edge));
-		    if (!visited[to]) {
-			visited[to] = 1;
+		    if (!component[to]) {
+			component[to] = components;
+			/* do not go through closed nodes */
+			if (have_node_costs) {
+			    memcpy(&ncost, dglNodeGet_Attr(graph, dglEdgeGet_Tail(graph, edge)),
+				   sizeof(ncost));
+			}
+			if (ncost < 0)
+			    processed[to] = 1;
+
 			stack[stack_size++] = to;
 		    }
 		}
@@ -158,41 +235,48 @@ int NetA_strongly_connected_components(dglGraph_s * graph, int *component)
 
     dglNode_T_Release(&nt);
 
+    components = 0;
+    dglNode_T_Initialize(&nt, graph);
+
     while (order_size) {
-	dglInt32_t node_id = order[--order_size];
-
-	if (component[node_id])
-	    continue;
-	components++;
-	component[node_id] = components;
-	stack[0] = node_id;
-	stack_size = 1;
-	while (stack_size) {
-	    dglInt32_t *node, *edgeset, *edge;
-	    dglEdgesetTraverser_s et;
-	    dglInt32_t cur_node_id = stack[--stack_size];
-
-	    node = dglGetNode(graph, cur_node_id);
-	    edgeset = dglNodeGet_OutEdgeset(graph, node);
-	    dglEdgeset_T_Initialize(&et, graph, edgeset);
-	    for (edge = dglEdgeset_T_First(&et); edge;
-		 edge = dglEdgeset_T_Next(&et)) {
-		dglInt32_t to;
-
-		if (dglEdgeGet_Id(graph, edge) > 0)
-		    continue;	/*ignore forward edges */
-		to = dglNodeGet_Id(graph, dglEdgeGet_Tail(graph, edge));
-		if (!component[to]) {
-		    component[to] = components;
-		    stack[stack_size++] = to;
+	dglInt32_t cur_node_id = order[--order_size];
+	int cur_comp = component[cur_node_id];
+
+	if (cur_comp < 1) {
+	    component[cur_node_id] = ++components;
+	    stack[0] = cur_node_id;
+	    stack_size = 1;
+	    while (stack_size) {
+		dglInt32_t *node, *edgeset, *edge;
+		dglEdgesetTraverser_s et;
+		dglInt32_t node_id = stack[--stack_size];
+
+		node = dglGetNode(graph, node_id);
+		edgeset = dglNodeGet_InEdgeset(graph, node);
+		dglEdgeset_T_Initialize(&et, graph, edgeset);
+		for (edge = dglEdgeset_T_First(&et); edge;
+		     edge = dglEdgeset_T_Next(&et)) {
+		    dglInt32_t to;
+
+		    to = dglNodeGet_Id(graph, dglEdgeGet_Head(graph, edge));
+		    if (component[to] == cur_comp) {
+			component[to] = components;
+			/* do not go through closed nodes */
+			if (have_node_costs) {
+			    memcpy(&ncost, dglNodeGet_Attr(graph, dglEdgeGet_Head(graph, edge)),
+				   sizeof(ncost));
+			}
+			if (ncost >= 0)
+			    stack[stack_size++] = to;
+		    }
 		}
+		dglEdgeset_T_Release(&et);
 	    }
-	    dglEdgeset_T_Release(&et);
 	}
     }
+    dglNode_T_Release(&nt);
 
     G_free(stack);
-    G_free(visited);
     G_free(order);
     G_free(processed);
     return components;
diff --git a/lib/vector/neta/path.c b/lib/vector/neta/path.c
index de3b744..e3330c3 100644
--- a/lib/vector/neta/path.c
+++ b/lib/vector/neta/path.c
@@ -11,6 +11,7 @@
    (>=v2). Read the file COPYING that comes with GRASS for details.
 
    \author Daniel Bundala (Google Summer of Code 2009)
+   \author Markus Metz
  */
 
 #include <stdio.h>
@@ -22,16 +23,16 @@
 #include <grass/neta.h>
 
 /*!
-   \brief Computes shortests paths to every node from nodes in "from".
+   \brief Computes shortest paths to every node from nodes in "from".
 
-   Array "dst" contains the length of the path or -1 if the node is not
+   Array "dst" contains the cost of the path or -1 if the node is not
    reachable. Prev contains edges from predecessor along the shortest
    path.
 
    \param graph input graph
    \param from list of 'from' positions
-   \param dst list of 'to' positions
-   \param[out] prev list of edges from predecessor along the shortest path
+   \param[out] dst array of costs to reach nodes
+   \param[out] prev array of edges from predecessor along the shortest path
 
    \return 0 on success
    \return -1 on failure
@@ -41,6 +42,8 @@ int NetA_distance_from_points(dglGraph_s *graph, struct ilist *from,
 {
     int i, nnodes;
     dglHeap_s heap;
+    int have_node_costs;
+    dglInt32_t ncost;
 
     nnodes = dglGet_NodeCount(graph);
     dglEdgesetTraverser_s et;
@@ -51,13 +54,16 @@ int NetA_distance_from_points(dglGraph_s *graph, struct ilist *from,
 	prev[i] = NULL;
     }
 
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
     dglHeapInit(&heap);
 
     for (i = 0; i < from->n_values; i++) {
 	int v = from->value[i];
 
 	if (dst[v] == 0)
-	    continue;		/*ingore duplicates */
+	    continue;		/* ignore duplicates */
 	dst[v] = 0;		/* make sure all from nodes are processed first */
 	dglHeapData_u heap_data;
 
@@ -68,6 +74,8 @@ int NetA_distance_from_points(dglGraph_s *graph, struct ilist *from,
 	dglInt32_t v, dist;
 	dglHeapNode_s heap_node;
 	dglHeapData_u heap_data;
+	dglInt32_t *edge;
+	dglInt32_t *node;
 
 	if (!dglHeapExtractMin(&heap, &heap_node))
 	    break;
@@ -76,11 +84,20 @@ int NetA_distance_from_points(dglGraph_s *graph, struct ilist *from,
 	if (dst[v] < dist)
 	    continue;
 
-	dglInt32_t *edge;
+	node = dglGetNode(graph, v);
+
+	if (have_node_costs && prev[v]) {
+	    memcpy(&ncost, dglNodeGet_Attr(graph, node),
+		   sizeof(ncost));
+	    if (ncost > 0)
+		dist += ncost;
+	    /* do not go through closed nodes */
+	    if (ncost < 0)
+		continue;
+	}
 
 	dglEdgeset_T_Initialize(&et, graph,
-				dglNodeGet_OutEdgeset(graph,
-						      dglGetNode(graph, v)));
+				dglNodeGet_OutEdgeset(graph, node));
 
 	for (edge = dglEdgeset_T_First(&et); edge;
 	     edge = dglEdgeset_T_Next(&et)) {
@@ -105,16 +122,123 @@ int NetA_distance_from_points(dglGraph_s *graph, struct ilist *from,
 }
 
 /*!
-   \brief Find a path (minimum number of edges) from 'from' to 'to' using only edges in 'edges'.
+   \brief Computes shortest paths from every node to nodes in "to".
+
+   Array "dst" contains the cost of the path or -1 if the node is not
+   reachable. Nxt contains edges from successor along the shortest
+   path. This method does reverse search starting with "to" nodes and 
+   going backward.
+
+   \param graph input graph
+   \param to list of 'to' positions
+   \param[out] dst array of costs to reach nodes
+   \param[out] nxt array of edges from successor along the shortest path
+
+   \return 0 on success
+   \return -1 on failure
+ */
+int NetA_distance_to_points(dglGraph_s *graph, struct ilist *to,
+			      int *dst, dglInt32_t **nxt)
+{
+    int i, nnodes;
+    dglHeap_s heap;
+    dglEdgesetTraverser_s et;
+    int have_node_costs;
+    dglInt32_t ncost;
+
+    nnodes = dglGet_NodeCount(graph);
+
+    /* initialize costs and edge list */
+    for (i = 1; i <= nnodes; i++) {
+	dst[i] = -1;
+	nxt[i] = NULL;
+    }
+
+    if (graph->Version < 2) {
+	G_warning("Directed graph must be version 2 or 3 for NetA_distance_to_points()");
+	return -1;
+    }
+
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
+    dglHeapInit(&heap);
+
+    for (i = 0; i < to->n_values; i++) {
+	int v = to->value[i];
+
+	if (dst[v] == 0)
+	    continue;		/* ignore duplicates */
+	dst[v] = 0;		/* make sure all to nodes are processed first */
+	dglHeapData_u heap_data;
+
+	heap_data.ul = v;
+	dglHeapInsertMin(&heap, 0, ' ', heap_data);
+    }
+    while (1) {
+	dglInt32_t v, dist;
+	dglHeapNode_s heap_node;
+	dglHeapData_u heap_data;
+	dglInt32_t *edge;
+	dglInt32_t *node;
+
+	if (!dglHeapExtractMin(&heap, &heap_node))
+	    break;
+	v = heap_node.value.ul;
+	dist = heap_node.key;
+	if (dst[v] < dist)
+	    continue;
+
+	node = dglGetNode(graph, v);
+
+	if (have_node_costs && nxt[v]) {
+	    memcpy(&ncost, dglNodeGet_Attr(graph, node),
+		   sizeof(ncost));
+	    if (ncost > 0)
+		dist += ncost;
+	    /* do not go through closed nodes */
+	    if (ncost < 0)
+		continue;
+	}
+
+	dglEdgeset_T_Initialize(&et, graph,
+				dglNodeGet_InEdgeset(graph, node));
+
+	for (edge = dglEdgeset_T_First(&et); edge;
+	     edge = dglEdgeset_T_Next(&et)) {
+	    dglInt32_t *from = dglEdgeGet_Head(graph, edge);
+	    dglInt32_t from_id = dglNodeGet_Id(graph, from);
+	    dglInt32_t d = dglEdgeGet_Cost(graph, edge);
+
+	    if (dst[from_id] < 0 || dst[from_id] > dist + d) {
+		dst[from_id] = dist + d;
+		nxt[from_id] = edge;
+		heap_data.ul = from_id;
+		dglHeapInsertMin(&heap, dist + d, ' ', heap_data);
+	    }
+	}
+
+	dglEdgeset_T_Release(&et);
+    }
+
+    dglHeapFree(&heap, NULL);
+
+    return 0;
+}
+
+/*!
+   \brief Find a path (minimum number of edges) from 'from' to 'to' 
+   using only edges flagged as valid in 'edges'. Edge costs are not 
+   considered. Closed nodes are not traversed.
 
    Precisely, edge with id I is used if edges[abs(i)] == 1. List
-   stores the indices of lines on the path. Method return number of
-   edges or -1 if no path exist.
+   stores the indices of lines on the path. The method returns the 
+   number of edges or -1 if no path exists.
 
    \param graph input graph
    \param from 'from' position
    \param to 'to' position
-   \param edges list of available edges
+   \param edges array of edges indicating wether an edge should be used
    \param[out] list list of edges
 
    \return number of edges
@@ -127,6 +251,8 @@ int NetA_find_path(dglGraph_s * graph, int from, int to, int *edges,
     dglEdgesetTraverser_s et;
     char *vis;
     int begin, end, cur, nnodes;
+    int have_node_costs;
+    dglInt32_t ncost;
 
     nnodes = dglGet_NodeCount(graph);
     prev = (dglInt32_t **) G_calloc(nnodes + 1, sizeof(dglInt32_t *));
@@ -138,6 +264,9 @@ int NetA_find_path(dglGraph_s * graph, int from, int to, int *edges,
     }
     Vect_reset_list(list);
 
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
     begin = 0;
     end = 1;
     vis[from] = 'y';
@@ -145,22 +274,32 @@ int NetA_find_path(dglGraph_s * graph, int from, int to, int *edges,
     prev[from] = NULL;
     while (begin != end) {
 	dglInt32_t vertex = queue[begin++];
+	dglInt32_t *edge, *node;
 
 	if (vertex == to)
 	    break;
-	dglInt32_t *edge, *node = dglGetNode(graph, vertex);
+
+	/* do not go through closed nodes */
+	if (have_node_costs && prev[vertex]) {
+	    memcpy(&ncost, dglNodeGet_Attr(graph, dglEdgeGet_Tail(graph, edge)),
+		   sizeof(ncost));
+	    if (ncost < 0)
+		continue;
+	}
+
+	node = dglGetNode(graph, vertex);
 
 	dglEdgeset_T_Initialize(&et, graph,
 				dglNodeGet_OutEdgeset(graph, node));
 	for (edge = dglEdgeset_T_First(&et); edge;
 	     edge = dglEdgeset_T_Next(&et)) {
-	    dglInt32_t id = abs(dglEdgeGet_Id(graph, edge));
-	    dglInt32_t to =
+	    dglInt32_t edge_id = abs(dglEdgeGet_Id(graph, edge));
+	    dglInt32_t node_id =
 		dglNodeGet_Id(graph, dglEdgeGet_Tail(graph, edge));
-	    if (edges[id] && !vis[to]) {
-		vis[to] = 'y';
-		prev[to] = edge;
-		queue[end++] = to;
+	    if (edges[edge_id] && !vis[node_id]) {
+		vis[node_id] = 'y';
+		prev[node_id] = edge;
+		queue[end++] = node_id;
 	    }
 	}
 	dglEdgeset_T_Release(&et);
diff --git a/lib/vector/neta/spanningtree.c b/lib/vector/neta/spanningtree.c
index ec88ed8..006f2d7 100644
--- a/lib/vector/neta/spanningtree.c
+++ b/lib/vector/neta/spanningtree.c
@@ -136,6 +136,7 @@ int NetA_spanning_tree(dglGraph_s * graph, struct ilist *tree_list)
 	    Vect_list_append(tree_list, dglEdgeGet_Id(graph, perm[i].edge));
 	}
     }
+    G_percent(index, index, 1);
     G_free(perm);
     uf_release(&uf);
     return edges;
diff --git a/lib/vector/neta/utils.c b/lib/vector/neta/utils.c
index 5140183..8a7281a 100644
--- a/lib/vector/neta/utils.c
+++ b/lib/vector/neta/utils.c
@@ -1,5 +1,5 @@
 /*!
-   \file vector/neta/timetables.c
+   \file vector/neta/utils.c
 
    \brief Network Analysis library - utils
 
@@ -91,8 +91,8 @@ void NetA_points_to_nodes(struct Map_info *In, struct ilist *point_list)
    the array node_costs. If there is no point with a category,
    node_costs=0.
 
-   node_costs are multiplied by 1000000 and truncated to integers (as
-   is done in Vect_net_build_graph)
+   node_costs are multiplied by the graph's cost multiplier and  
+   truncated to integers (as is done in Vect_net_build_graph)
 
    \param In pointer to Map_info structure
    \param layer layer number
@@ -141,8 +141,12 @@ int NetA_get_node_costs(struct Map_info *In, int layer, char *column,
 	    if (!Vect_cat_get(Cats, layer, &cat))
 		continue;
 	    Vect_get_line_nodes(In, i, &node, NULL);
-	    if (db_CatValArray_get_value_double(&vals, cat, &value) == DB_OK)
-		node_costs[node] = value * 1000000.0;
+	    if (db_CatValArray_get_value_double(&vals, cat, &value) == DB_OK) {
+		if (value < 0)
+		    node_costs[node] = -1;
+		else
+		    node_costs[node] = value * In->dgraph.cost_multip;
+	    }
 	}
     }
 
@@ -159,12 +163,13 @@ int NetA_get_node_costs(struct Map_info *In, int layer, char *column,
    nodes_to_features conains the index of a feature adjecent to each
    node or -1 if no such feature specified by varray
    exists. Nodes_to_features might be NULL, in which case it is left
-   unitialised.
+   unitialised. Nodes_to_features will be wrong if several lines connect 
+   to the same node.
 
    \param map pointer to Map_info structure
    \param varray pointer to varray structure
    \param[out] nodes list of node ids
-   \param node_to_features ?
+   \param[out] nodes_to_features maps nodes to features
  */
 void NetA_varray_to_nodes(struct Map_info *map, struct varray *varray,
 			  struct ilist *nodes, int *nodes_to_features)
diff --git a/lib/vector/vectorlib_pg.dox b/lib/vector/vectorlib_pg.dox
index 16a58f7..b78564c 100644
--- a/lib/vector/vectorlib_pg.dox
+++ b/lib/vector/vectorlib_pg.dox
@@ -28,7 +28,7 @@ API. They are internally used by the vector library when accessing
 PostGIS data. The programmer should use higher level functions
 instead.
 
-- Vect_open_old() to open exising vector map (ie. PostGIS table when using GRASS-PostGIS data provider)
+- Vect_open_old() to open existing vector map (ie. PostGIS table when using GRASS-PostGIS data provider)
 - Vect_open_new() to create new vector map
 - Vect_close() to close vector map
 
@@ -38,7 +38,7 @@ instead.
 
 - Vect_write_line() to write a new feature
 - Vect_delete_line() to delete existing feature
-- Vect_rewrite_line() to modify exising feature
+- Vect_rewrite_line() to modify existing feature
 
 - Vect_build() to build (pseudo-)topology
 
@@ -74,7 +74,7 @@ access is provided by functions starting with <tt>V2_</tt> prefix.
 - V2_write_line_sfa() - write new simple feature
 - V2_write_line_pg() - write new topological element in PostGIS Topology schema
 
-\par Delete exising feature or topological element
+\par Delete existing feature or topological element
 
 - V1_delete_line_pg()
 - V2_delete_line_sfa() - delete simple feature
diff --git a/locale/po/grassmods_ar.po b/locale/po/grassmods_ar.po
index 614080f..08a16f6 100644
--- a/locale/po/grassmods_ar.po
+++ b/locale/po/grassmods_ar.po
@@ -14984,7 +14984,7 @@ msgid "Name of target mapset"
 msgstr "اسم الخريطة الناتجة"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -34382,9 +34382,10 @@ msgstr "نوع غير معروف"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "التوقيع ..."
 
 #: ../vector/v.transform/main.c:290
@@ -37350,11 +37351,6 @@ msgstr "لم توجد<%s>الخريطة الفيكتورية"
 msgid "Reading categories..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "التوقيع ..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -40308,7 +40304,7 @@ msgid ""
 msgstr "خريطة مخرجة حيث ستكتب النقاط"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_cs.po b/locale/po/grassmods_cs.po
index 847f2e5..442a68f 100644
--- a/locale/po/grassmods_cs.po
+++ b/locale/po/grassmods_cs.po
@@ -16,14 +16,14 @@ msgstr ""
 "Project-Id-Version: grassmods_cs\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-01-24 21:19+0100\n"
-"PO-Revision-Date: 2015-03-15 18:32+0100\n"
-"Last-Translator: Stanislav Horáček <stanislav.horacek at gmail.com>\n"
-"Language-Team: <freegeocz at fsv.cvut.cz>\n"
+"PO-Revision-Date: 2016-04-10 15:14+0200\n"
+"Last-Translator: \n"
+"Language-Team: cs at li.org\n"
 "Language: cs_CS\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.8.4\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
@@ -95,12 +95,8 @@ msgstr "vektor, transformace"
 
 #: ../display/d.his/main.c:69
 #, fuzzy
-msgid ""
-"Displays the result obtained by combining hue, intensity, and saturation "
-"(HIS) values from user-specified input raster map layers."
-msgstr ""
-"Vytvoří červené, zelené a modré rastrové mapy kombinací hodnot odstínu,"
-"intenzity a nasycení (his) z uživatelem zadaných vstupních rastrových map."
+msgid "Displays the result obtained by combining hue, intensity, and saturation (HIS) values from user-specified input raster map layers."
+msgstr "Vytvoří červené, zelené a modré rastrové mapy kombinací hodnot odstínu,intenzity a nasycení (his) z uživatelem zadaných vstupních rastrových map."
 
 #: ../display/d.his/main.c:78 ../raster/r.his/main.c:82
 #, fuzzy
@@ -224,44 +220,45 @@ msgstr "Soubor s tabulkou barev pro <%s> není dostupný"
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
-#: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
-#: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
-#: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
-#: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
-#: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
-#: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
-#: ../raster/r.fill.dir/main.c:86 ../raster/r.in.png/main.c:519
-#: ../raster/r.surf.random/main.c:36 ../raster/r.spreadpath/main.c:88
-#: ../raster/r.category/main.c:52 ../raster/r.quant/main.c:47
-#: ../raster/r.tile/main.c:43 ../raster/r.colors/edit_colors.c:63
-#: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
-#: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
-#: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
-#: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
-#: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
-#: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
-#: ../raster/r.cross/main.c:69 ../raster/r.in.mat/main.c:91
-#: ../raster/r.timestamp/main.c:35 ../raster/r.rescale/main.c:48
-#: ../raster/r.series.interp/main.c:64 ../raster/r.colors.out/raster_main.c:45
-#: ../raster/r.gwflow/main.c:208 ../raster/r.external.out/main.c:235
-#: ../raster/r.in.xyz/main.c:159 ../raster/r.relief/main.c:107
-#: ../raster/r.surf.idw/main.c:104 ../raster/r.profile/main.c:53
-#: ../raster/r.covar/main.c:51 ../raster/r.carve/main.c:74
-#: ../raster/r.statistics/main.c:55 ../raster/r.support/main.c:55
-#: ../raster/r.contour/main.c:87 ../raster/r.usler/main.c:52
-#: ../raster/r.mfilter/main.c:56 ../raster/r.stream.extract/main.c:76
-#: ../raster/r.coin/main.c:66 ../raster/r.out.ppm/main.c:54
-#: ../raster/r.out.mpeg/main.c:102 ../raster/r.info/main.c:69
-#: ../raster/r.kappa/main.c:68 ../raster/r.what/main.c:98
-#: ../raster/r.resamp.interp/main.c:76 ../raster3d/r3.to.rast/main.c:208
-#: ../raster3d/r3.cross.rast/main.c:230 ../vector/v.to.rast/main.c:46
-#: ../vector/v.what.rast3/main.c:66 ../vector/v.what.rast/main.c:73
-#: ../vector/v.sample/main.c:77 ../vector/v.neighbors/main.c:53
+#: ../raster/r.univar/r.univar_main.c:100
+#: ../raster/r.regression.line/main.c:46 ../raster/r.grow.distance/main.c:151
+#: ../raster/r.null/main.c:59 ../raster/r.mapcalc/main.c:115
+#: ../raster/r.in.gdal/main.c:87 ../raster/r.in.ascii/main.c:69
+#: ../raster/r.random/main.c:51 ../raster/r.out.gridatb/main.c:67
+#: ../raster/r.region/main.c:51 ../raster/r.reclass/main.c:50
+#: ../raster/r.report/main.c:67 ../raster/r.random.cells/main.c:45
+#: ../raster/r.resamp.filter/main.c:384 ../raster/r.neighbors/main.c:167
+#: ../raster/r.flow/main.c:421 ../raster/r.what.color/main.c:88
+#: ../raster/r.his/main.c:67 ../raster/r.thin/main.c:57
+#: ../raster/r.out.ppm3/main.c:57 ../raster/r.fill.dir/main.c:86
+#: ../raster/r.in.png/main.c:519 ../raster/r.surf.random/main.c:36
+#: ../raster/r.spreadpath/main.c:88 ../raster/r.category/main.c:52
+#: ../raster/r.quant/main.c:47 ../raster/r.tile/main.c:43
+#: ../raster/r.colors/edit_colors.c:63 ../raster/r.volume/main.c:75
+#: ../raster/r.buffer/main.c:66 ../raster/r.resamp.stats/main.c:256
+#: ../raster/r.stats/main.c:106 ../raster/r.quantile/main.c:255
+#: ../raster/r.sunhours/main.c:72 ../raster/r.series.accumulate/main.c:80
+#: ../raster/r.in.lidar/main.c:170 ../raster/r.uslek/main.c:53
+#: ../raster/r.out.mat/main.c:62 ../raster/r.param.scale/interface.c:54
+#: ../raster/r.rescale.eq/main.c:52 ../raster/r.out.bin/main.c:279
+#: ../raster/r.random.surface/main.c:57 ../raster/r.cross/main.c:69
+#: ../raster/r.in.mat/main.c:91 ../raster/r.timestamp/main.c:35
+#: ../raster/r.rescale/main.c:48 ../raster/r.series.interp/main.c:64
+#: ../raster/r.colors.out/raster_main.c:45 ../raster/r.gwflow/main.c:208
+#: ../raster/r.external.out/main.c:235 ../raster/r.in.xyz/main.c:159
+#: ../raster/r.relief/main.c:107 ../raster/r.surf.idw/main.c:104
+#: ../raster/r.profile/main.c:53 ../raster/r.covar/main.c:51
+#: ../raster/r.carve/main.c:74 ../raster/r.statistics/main.c:55
+#: ../raster/r.support/main.c:55 ../raster/r.contour/main.c:87
+#: ../raster/r.usler/main.c:52 ../raster/r.mfilter/main.c:56
+#: ../raster/r.stream.extract/main.c:76 ../raster/r.coin/main.c:66
+#: ../raster/r.out.ppm/main.c:54 ../raster/r.out.mpeg/main.c:102
+#: ../raster/r.info/main.c:69 ../raster/r.kappa/main.c:68
+#: ../raster/r.what/main.c:98 ../raster/r.resamp.interp/main.c:76
+#: ../raster3d/r3.to.rast/main.c:208 ../raster3d/r3.cross.rast/main.c:230
+#: ../vector/v.to.rast/main.c:46 ../vector/v.what.rast3/main.c:66
+#: ../vector/v.what.rast/main.c:73 ../vector/v.sample/main.c:77
+#: ../vector/v.neighbors/main.c:53
 msgid "raster"
 msgstr "rastr"
 
@@ -306,14 +303,12 @@ msgstr ""
 
 #: ../display/d.colortable/main.c:112
 #, c-format
-msgid ""
-"<%s> is floating-point; ignoring [lines] and drawing continuous color ramp"
+msgid "<%s> is floating-point; ignoring [lines] and drawing continuous color ramp"
 msgstr ""
 
 #: ../display/d.colortable/main.c:126
 #, c-format
-msgid ""
-"<%s> is floating-point; ignoring [cols] and drawing continuous color ramp"
+msgid "<%s> is floating-point; ignoring [cols] and drawing continuous color ramp"
 msgstr ""
 
 #: ../display/d.colortable/main.c:137
@@ -343,9 +338,7 @@ msgstr ""
 
 #: ../display/d.legend/main.c:89
 #, fuzzy
-msgid ""
-"Displays a legend for a 2D or 3D raster map in the active frame of the "
-"graphics monitor."
+msgid "Displays a legend for a 2D or 3D raster map in the active frame of the graphics monitor."
 msgstr "Nahlaš informace o vstupním rastru a ukonči se"
 
 #: ../display/d.legend/main.c:95 ../display/d.legend/main.c:100
@@ -426,8 +419,7 @@ msgid "Gradient"
 msgstr "Variance"
 
 #: ../display/d.legend/main.c:137
-msgid ""
-"Size and placement as percentage of screen coordinates (0,0 is lower left)"
+msgid "Size and placement as percentage of screen coordinates (0,0 is lower left)"
 msgstr ""
 
 #: ../display/d.legend/main.c:147
@@ -580,9 +572,7 @@ msgid "Nothing to draw! (no categories with labels?)"
 msgstr ""
 
 #: ../display/d.linegraph/main.c:122
-msgid ""
-"Generates and displays simple line graphs in the active graphics monitor "
-"display frame."
+msgid "Generates and displays simple line graphs in the active graphics monitor display frame."
 msgstr ""
 
 #: ../display/d.linegraph/main.c:126
@@ -661,6 +651,7 @@ msgid "The last point will be ignored"
 msgid_plural "The last %d points will be ignored"
 msgstr[0] ""
 msgstr[1] ""
+msgstr[2] ""
 
 #: ../display/d.linegraph/main.c:380
 #, fuzzy, c-format
@@ -851,20 +842,21 @@ msgstr "Spojení s databází nebylo definováno pro vrstvu %d "
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
-#: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115
+#: ../ps/ps.map/catval.c:181 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:418
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:236 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
 #: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
@@ -884,10 +876,10 @@ msgstr "Spojení s databází nebylo definováno pro vrstvu %d "
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
 #: ../vector/v.distance/main.c:499 ../vector/v.distance/main.c:545
 #: ../vector/v.distance/main.c:1274 ../vector/v.distance/main.c:1295
-#: ../vector/v.surf.bspline/crosscorr.c:123 ../vector/v.surf.bspline/main.c:378
-#: ../vector/v.out.ogr/main.c:635 ../vector/v.out.svg/main.c:159
-#: ../vector/v.extract/main.c:263 ../vector/v.in.dwg/main.c:213
-#: ../vector/v.select/copy_tabs.c:77
+#: ../vector/v.surf.bspline/crosscorr.c:123
+#: ../vector/v.surf.bspline/main.c:378 ../vector/v.out.ogr/main.c:635
+#: ../vector/v.out.svg/main.c:159 ../vector/v.extract/main.c:263
+#: ../vector/v.in.dwg/main.c:213 ../vector/v.select/copy_tabs.c:77
 #, c-format
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "Nelze otevřít databázi <%s> ovladačem <%s>"
@@ -904,8 +896,7 @@ msgid "chart maps"
 msgstr "Vstupní mapy"
 
 #: ../display/d.vect.chart/main.c:67
-msgid ""
-"Displays charts of vector data in the active frame on the graphics monitor."
+msgid "Displays charts of vector data in the active frame on the graphics monitor."
 msgstr ""
 
 #: ../display/d.vect.chart/main.c:86
@@ -1162,7 +1153,8 @@ msgstr ""
 #: ../vector/v.what.rast3/main.c:64 ../vector/v.net.centrality/main.c:96
 #: ../vector/v.what.rast/main.c:71 ../vector/v.out.ascii/main.c:47
 #: ../vector/v.net.distance/main.c:64 ../vector/v.net.allpairs/main.c:61
-#: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
+#: ../vector/v.lrs/v.lrs.where/main.c:57
+#: ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
 #: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
@@ -1369,9 +1361,7 @@ msgid "Draw the symbol without text"
 msgstr ""
 
 #: ../display/d.rgb/main.c:58
-msgid ""
-"Displays three user-specified raster maps as red, green, and blue overlays "
-"in the active graphics frame."
+msgid "Displays three user-specified raster maps as red, green, and blue overlays in the active graphics frame."
 msgstr ""
 
 #: ../display/d.rgb/main.c:69 ../raster/r.composite/main.c:90
@@ -1386,9 +1376,7 @@ msgid "map annotations"
 msgstr "Provádím logaritmickou transforamci"
 
 #: ../display/d.rast.num/main.c:80
-msgid ""
-"Overlays cell category values on a raster map displayed in the active "
-"graphics frame."
+msgid "Overlays cell category values on a raster map displayed in the active graphics frame."
 msgstr ""
 
 #: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
@@ -1400,8 +1388,7 @@ msgstr "Barva rámečku"
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
-msgstr ""
-"Počet míst za desetinnou čárkou (pouze pro mapy s plovoucí desetinnou čárkou)"
+msgstr "Počet míst za desetinnou čárkou (pouze pro mapy s plovoucí desetinnou čárkou)"
 
 #: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
 #, fuzzy
@@ -1422,6 +1409,7 @@ msgid "%d row"
 msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
+msgstr[2] ""
 
 #: ../display/d.rast.num/main.c:177
 #, fuzzy, c-format
@@ -1429,14 +1417,14 @@ msgid "%d col"
 msgid_plural "%d cols"
 msgstr[0] "Barva rámečku"
 msgstr[1] "Barva rámečku"
+msgstr[2] ""
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
 #: ../display/d.rast.num/main.c:179
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
-"Your current region setting may be too large. Cells displayed on your "
-"graphics window may be too small for cell category number to be visible."
+"Your current region setting may be too large. Cells displayed on your graphics window may be too small for cell category number to be visible."
 msgstr ""
 
 #: ../display/d.rast.num/main.c:189
@@ -1444,9 +1432,7 @@ msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
 #: ../display/d.rast.arrow/main.c:99
-msgid ""
-"Draws arrows representing cell aspect direction for a raster map containing "
-"aspect data."
+msgid "Draws arrows representing cell aspect direction for a raster map containing aspect data."
 msgstr ""
 
 #: ../display/d.rast.arrow/main.c:103
@@ -1647,10 +1633,10 @@ msgstr ""
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
-#: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
-#: ../vector/v.net.spanningtree/main.c:47
+#: ../vector/v.lrs/v.lrs.segment/main.c:73
+#: ../vector/v.net.visibility/main.c:46 ../vector/v.net.path/main.c:41
+#: ../vector/v.net.components/main.c:72 ../vector/v.net.timetable/main.c:261
+#: ../vector/v.net.iso/main.c:72 ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
 msgstr "síť"
@@ -1665,9 +1651,7 @@ msgstr "nejkratší cesta"
 #: ../display/d.path/main.c:52
 #, fuzzy
 msgid "Finds shortest path for selected starting and ending node."
-msgstr ""
-"Nalézá nejkratší cestu ve vektorové síti pro vybraný počáteční a koncový "
-"uzel."
+msgstr "Nalézá nejkratší cestu ve vektorové síti pro vybraný počáteční a koncový uzel."
 
 #: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
 #: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
@@ -1709,10 +1693,11 @@ msgstr "Sloupec s cenami hran (pohyb dopředu/obousměrně)."
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
 #: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
-#: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
-#: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.connectivity/main.c:83
+#: ../vector/v.net.centrality/main.c:135 ../vector/v.net.distance/main.c:145
+#: ../vector/v.net.allpairs/main.c:99 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.components/main.c:102 ../vector/v.net.timetable/main.c:295
+#: ../vector/v.net.iso/main.c:107
 msgid "Arc backward direction cost column (number)"
 msgstr "Sloupec s cenami hran (pohyb ve směru zpět)."
 
@@ -1765,9 +1750,8 @@ msgid "The current projection is not longitude-latitude"
 msgstr "Současná projekce není ve sférických souřadnicích (šířka-délka)"
 
 #: ../display/d.histogram/main.c:84
-#, fuzzy
 msgid "histogram"
-msgstr "Počítám histogram"
+msgstr "histogram"
 
 #: ../display/d.histogram/main.c:85
 #: ../locale/scriptstrings/db.univar_to_translate.c:3
@@ -1785,41 +1769,38 @@ msgstr "Počítám histogram"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
-#: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
-#: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
-#: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
-#: ../raster/r.covar/main.c:52 ../raster/r.statistics/main.c:56
-#: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
-#: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
-#: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
-#: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
-#: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
-#: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
+#: ../raster/r.univar/r.univar_main.c:101
+#: ../raster/r.regression.line/main.c:47 ../raster/r.report/main.c:68
+#: ../raster/r.neighbors/main.c:169 ../raster/r.quant/main.c:48
+#: ../raster/r.stats/main.c:107 ../raster/r.quantile/main.c:257
+#: ../raster/r.cross/main.c:70 ../raster/r.covar/main.c:52
+#: ../raster/r.statistics/main.c:56 ../raster/r.mfilter/main.c:58
+#: ../raster/r.coin/main.c:67 ../raster/r.kappa/main.c:69
+#: ../raster3d/r3.stats/main.c:49 ../raster3d/r3.neighbors/main.c:211
+#: ../vector/v.qcount/main.c:61 ../vector/v.random/main.c:98
+#: ../vector/v.perturb/main.c:64 ../vector/v.univar/main.c:93
+#: ../vector/v.kcv/main.c:56 ../vector/v.normal/main.c:73
+#: ../vector/v.neighbors/main.c:52 ../vector/v.class/main.c:48
+#: ../vector/v.outlier/main.c:70
 #, fuzzy
 msgid "statistics"
 msgstr "Statistika"
 
 #: ../display/d.histogram/main.c:87
-#, fuzzy
-msgid ""
-"Displays a histogram in the form of a pie or bar chart for a user-specified "
-"raster map."
-msgstr "Vypíše základní informace o uživatelem vybrané 3D rastrové mapě."
+msgid "Displays a histogram in the form of a pie or bar chart for a user-specified raster map."
+msgstr "Pro uživatelem zadanou rastrovou vrstvu zobrazí histogram v podobě koláčového nebo sloupcového grafu."
 
 #: ../display/d.histogram/main.c:91
-#, fuzzy
 msgid "Raster map for which histogram will be displayed"
-msgstr "Rastrová jejíž soubor NULL bude editován"
+msgstr "Rastrová vrstva, pro kterou se histogram zobrazí"
 
 #: ../display/d.histogram/main.c:95
 msgid "Indicate if a pie or bar chart is desired"
-msgstr ""
+msgstr "Určete, zda je požadován koláčový, nebo sloupcový graf"
 
 #: ../display/d.histogram/main.c:104
 msgid "Color for text and axes"
-msgstr ""
+msgstr "Barva textu a os"
 
 #: ../display/d.histogram/main.c:115
 msgid "Indicate if cell counts or map areas should be displayed"
@@ -1830,15 +1811,13 @@ msgid "Number of steps to divide the data range into (fp maps only)"
 msgstr ""
 
 #: ../display/d.histogram/main.c:132
-#, fuzzy
 msgid "Display information for null cells"
-msgstr "Vytiskni pouze informace o topologii"
+msgstr "Zobrazit informaci o buňkách s hodnotou NULL"
 
 #: ../display/d.histogram/main.c:137
 #, fuzzy
 msgid "Report for ranges defined in cats file (fp maps only)"
-msgstr ""
-"Zpráva pro jednotlivé kategorie rastrových map s plovoucí desetinnou čárkou"
+msgstr "Zpráva pro jednotlivé kategorie rastrových map s plovoucí desetinnou čárkou"
 
 #: ../display/d.histogram/main.c:161
 #, fuzzy, c-format
@@ -1855,9 +1834,7 @@ msgid "Category file for <%s> not available"
 msgstr "Soubor s kategoriemi pro <%s> není dostupný"
 
 #: ../display/d.font/main.c:48
-msgid ""
-"Selects the font in which text will be displayed on the user's graphics "
-"monitor."
+msgid "Selects the font in which text will be displayed on the user's graphics monitor."
 msgstr ""
 
 #: ../display/d.font/main.c:56
@@ -1871,7 +1848,7 @@ msgstr ""
 
 #: ../display/d.font/main.c:70
 msgid "Character encoding"
-msgstr ""
+msgstr "Kódování znaků"
 
 #: ../display/d.font/main.c:74
 #, fuzzy
@@ -1895,8 +1872,7 @@ msgstr "Font '%s' není font typu FreeType \n"
 
 #: ../display/d.font/main.c:124
 #, c-format
-msgid ""
-"Font name <%s> is invalid. Check font name or consider running 'g.mkfontcap'"
+msgid "Font name <%s> is invalid. Check font name or consider running 'g.mkfontcap'"
 msgstr ""
 
 #: ../display/d.vect.thematic/plot1.c:120
@@ -1906,13 +1882,12 @@ msgstr "Název vstupního zdroje nebyl specifikován"
 
 #: ../display/d.vect.thematic/plot1.c:130
 #, c-format
-msgid ""
-"Color definition column (%s) not a string. Column must be of form RRR:GGG:"
-"BBB where RGB values range 0-255."
+msgid "Color definition column (%s) not a string. Column must be of form RRR:GGG:BBB where RGB values range 0-255."
 msgstr ""
 
 #: ../display/d.vect.thematic/plot1.c:135
-#: ../display/d.vect.thematic/plot1.c:163 ../display/d.vect.thematic/main.c:233
+#: ../display/d.vect.thematic/plot1.c:163
+#: ../display/d.vect.thematic/main.c:233
 #, fuzzy, c-format
 msgid "Cannot select data (%s) from table"
 msgstr "Nelze vybrat data z tabulky"
@@ -1936,11 +1911,8 @@ msgstr ""
 
 #: ../display/d.vect.thematic/plot1.c:279
 #, fuzzy, c-format
-msgid ""
-"Error in color definition column (%s), element %d with cat %d: colorstring "
-"[%s]"
-msgstr ""
-"Chyba ve sloupci s definicí barvy (%s), kategorie %d: barevný řetězec [%s]"
+msgid "Error in color definition column (%s), element %d with cat %d: colorstring [%s]"
+msgstr "Chyba ve sloupci s definicí barvy (%s), kategorie %d: barevný řetězec [%s]"
 
 #: ../display/d.vect.thematic/plot1.c:286
 #, fuzzy, c-format
@@ -1949,10 +1921,8 @@ msgstr "Chyba ve sloupci s definicí barvy (%s),  kategorie %d"
 
 #: ../display/d.vect.thematic/plot1.c:354
 #, fuzzy, c-format
-msgid ""
-"Error in line width column (%s), element %d with cat %d: line width [%d]"
-msgstr ""
-"Chyba ve sloupci s definicí barvy (%s), kategorie %d: barevný řetězec [%s]"
+msgid "Error in line width column (%s), element %d with cat %d: line width [%d]"
+msgstr "Chyba ve sloupci s definicí barvy (%s), kategorie %d: barevný řetězec [%s]"
 
 #: ../display/d.vect.thematic/main.c:80
 #, fuzzy
@@ -1967,8 +1937,7 @@ msgstr "Překrytí dvo vektorových map."
 #: ../display/d.vect.thematic/main.c:90
 #, fuzzy
 msgid "Layer number. If -1, all layers are displayed."
-msgstr ""
-"Jméno OGR vrstvy, pokud není zadán, jsou pouze vytištěny přítomné vrstvy"
+msgstr "Jméno OGR vrstvy, pokud není zadán, jsou pouze vytištěny přítomné vrstvy"
 
 #: ../display/d.vect.thematic/main.c:96
 #, fuzzy
@@ -1988,7 +1957,7 @@ msgstr "rastr"
 
 #: ../display/d.vect.thematic/main.c:112 ../vector/v.class/main.c:68
 msgid "Algorithm to use for classification"
-msgstr "Algoritmus použity pro clasifikaci"
+msgstr "Algoritmus použitý pro klasifikaci"
 
 #: ../display/d.vect.thematic/main.c:116 ../vector/v.class/main.c:76
 #, fuzzy
@@ -2042,9 +2011,7 @@ msgid "Legend"
 msgstr ""
 
 #: ../display/d.vect.thematic/main.c:171
-msgid ""
-"When printing legend info, include extended statistical info from "
-"classification algorithm"
+msgid "When printing legend info, include extended statistical info from classification algorithm"
 msgstr ""
 
 #: ../display/d.vect.thematic/main.c:176
@@ -2099,9 +2066,7 @@ msgid "Unknown color: [%s]"
 msgstr "Neznámá metrika: [%s]."
 
 #: ../display/d.vect.thematic/main.c:307
-msgid ""
-"You gave both manual breaks and a classification algorithm or a number of "
-"classes. The manual breaks have precedence and will thus be used."
+msgid "You gave both manual breaks and a classification algorithm or a number of classes. The manual breaks have precedence and will thus be used."
 msgstr ""
 
 #: ../display/d.vect.thematic/main.c:344
@@ -2127,8 +2092,7 @@ msgstr "Převádím..."
 
 #: ../display/d.vect.thematic/main.c:386
 #, fuzzy
-msgid ""
-"The bounding box of the map is outside the current region, nothing drawn."
+msgid "The bounding box of the map is outside the current region, nothing drawn."
 msgstr "Počáteční bod %d je mimo současný region"
 
 #: ../display/d.vect.thematic/main.c:436
@@ -2139,11 +2103,9 @@ msgid ""
 msgstr "Neplatné číslo řádku <%s>"
 
 #: ../display/d.vect.thematic/main.c:438
-#, fuzzy, c-format
+#, c-format
 msgid "Classification of %s into %i classes\n"
-msgstr ""
-"\n"
-"Clasifikace %s do %i tříd\n"
+msgstr "Klasifikace %s do %i tříd\n"
 
 #: ../display/d.vect.thematic/main.c:440 ../vector/v.class/main.c:203
 #, c-format
@@ -2235,9 +2197,7 @@ msgid "graticule"
 msgstr ""
 
 #: ../display/d.grid/main.c:55
-msgid ""
-"Overlays a user-specified grid in the active display frame on the graphics "
-"monitor."
+msgid "Overlays a user-specified grid in the active display frame on the graphics monitor."
 msgstr ""
 
 #: ../display/d.grid/main.c:63
@@ -2246,9 +2206,7 @@ msgid "Size of grid to be drawn (in map units)"
 msgstr "Velikost ikony bodových prvků (v mapových jednotkách)"
 
 #: ../display/d.grid/main.c:64
-msgid ""
-"0 for north-south resolution of the current region. In map units or DDD:MM:"
-"SS format. Example: \"1000\" or \"0:10\""
+msgid "0 for north-south resolution of the current region. In map units or DDD:MM:SS format. Example: \"1000\" or \"0:10\""
 msgstr ""
 
 #: ../display/d.grid/main.c:72
@@ -2400,17 +2358,13 @@ msgid "Cannot read symbol, cannot display points"
 msgstr "Nelze číst symbol, nemohu zobrazit body"
 
 #: ../display/d.graph/main.c:61
-msgid ""
-"Program for generating and displaying simple graphics on the display monitor."
+msgid "Program for generating and displaying simple graphics on the display monitor."
 msgstr ""
 
 #: ../display/d.graph/main.c:66
 #, fuzzy
-msgid ""
-"Name of file containing graphics commands, if not given reads from standard "
-"input"
-msgstr ""
-"Název souboru s pravidly rozdělení , pokud nezadáno, čte se standardní vstup"
+msgid "Name of file containing graphics commands, if not given reads from standard input"
+msgstr "Název souboru s pravidly rozdělení , pokud nezadáno, čte se standardní vstup"
 
 #: ../display/d.graph/main.c:73
 msgid "Color to draw with, either a standard GRASS color or R:G:B triplet"
@@ -2441,9 +2395,7 @@ msgid "great circle"
 msgstr ""
 
 #: ../display/d.geodesic/main.c:51
-msgid ""
-"Displays a geodesic line, tracing the shortest distance between two "
-"geographic points along a great circle, in a longitude/latitude data set."
+msgid "Displays a geodesic line, tracing the shortest distance between two geographic points along a great circle, in a longitude/latitude data set."
 msgstr ""
 
 #: ../display/d.where/where.c:29
@@ -2487,12 +2439,8 @@ msgstr "vektor, dotazování"
 
 #: ../display/d.where/main.c:48
 #, fuzzy
-msgid ""
-"Identifies the geographic coordinates associated with point locations given "
-"in display coordinates."
-msgstr ""
-"Určí geografické souřadnice vybraného bodu v v aktivním rámci grafického "
-"monitoru."
+msgid "Identifies the geographic coordinates associated with point locations given in display coordinates."
+msgstr "Určí geografické souřadnice vybraného bodu v v aktivním rámci grafického monitoru."
 
 #: ../display/d.where/main.c:58
 #, fuzzy
@@ -2513,9 +2461,7 @@ msgid "Output lat/long referenced to current ellipsoid"
 msgstr ""
 
 #: ../display/d.where/main.c:77
-msgid ""
-"Output lat/long referenced to WGS84 ellipsoid using datum transformation "
-"parameters defined in current location (if available)"
+msgid "Output lat/long referenced to WGS84 ellipsoid using datum transformation parameters defined in current location (if available)"
 msgstr ""
 
 #: ../display/d.where/main.c:83
@@ -2551,9 +2497,7 @@ msgid ""
 msgstr ""
 
 #: ../display/d.vect/topo.c:18
-msgid ""
-"Unable to display topology, not available.Please try to rebuild topology "
-"using v.build or v.build.all."
+msgid "Unable to display topology, not available.Please try to rebuild topology using v.build or v.build.all."
 msgstr ""
 
 #: ../display/d.vect/topo.c:52 ../display/d.vect/vert.c:27
@@ -2582,10 +2526,7 @@ msgstr ""
 
 #: ../display/d.vect/shape.c:68
 #, c-format
-msgid ""
-"Color definition column ('%s') not a string. Column must be of form 'RRR:GGG:"
-"BBB' where RGB values range 0-255. You can use '%s' module to define color "
-"rules. Unable to colorize features."
+msgid "Color definition column ('%s') not a string. Column must be of form 'RRR:GGG:BBB' where RGB values range 0-255. You can use '%s' module to define color rules. Unable to colorize features."
 msgstr ""
 
 #: ../display/d.vect/shape.c:77 ../display/d.vect/shape.c:100
@@ -2625,8 +2566,7 @@ msgid "Symbol rotation column ('%s') is not numeric"
 msgstr "Jméno sloupce s rotací musí být číselného typu"
 
 #: ../display/d.vect/shape.c:182
-msgid ""
-"Vector map is not 3D. Unable to colorize features based on z-coordinates."
+msgid "Vector map is not 3D. Unable to colorize features based on z-coordinates."
 msgstr ""
 
 #: ../display/d.vect/shape.c:186
@@ -2655,9 +2595,7 @@ msgid "Unable to read symbol <%s>, unable to display points"
 msgstr "Nelze číst symbol, nemohu zobrazit body"
 
 #: ../display/d.vect/lines.c:121
-msgid ""
-"Unable to display features by id, topology not available. Please try to "
-"rebuild topology using v.build or v.build.all."
+msgid "Unable to display features by id, topology not available. Please try to rebuild topology using v.build or v.build.all."
 msgstr ""
 
 #: ../display/d.vect/lines.c:169
@@ -2666,6 +2604,7 @@ msgid "%d invalid color rule for lines skipped"
 msgid_plural "%d invalid color rules for lines skipped"
 msgstr[0] "[%d] mrtvých linií přeskočeno"
 msgstr[1] "[%d] mrtvých linií přeskočeno"
+msgstr[2] ""
 
 #: ../display/d.vect/lines.c:175
 #, fuzzy, c-format
@@ -2673,6 +2612,7 @@ msgid "%d point plotted"
 msgid_plural "%d points plotted"
 msgstr[0] "%d bodů načteno"
 msgstr[1] "%d bodů načteno"
+msgstr[2] ""
 
 #: ../display/d.vect/lines.c:177
 #, fuzzy, c-format
@@ -2680,6 +2620,7 @@ msgid "%d line plotted"
 msgid_plural "%d lines plotted"
 msgstr[0] "%d linií připojeno"
 msgstr[1] "%d linií připojeno"
+msgstr[2] ""
 
 #: ../display/d.vect/lines.c:179
 #, fuzzy, c-format
@@ -2687,6 +2628,7 @@ msgid "%d centroid plotted"
 msgid_plural "%d centroids plotted"
 msgstr[0] "[%d] centroidů načteno"
 msgstr[1] "[%d] centroidů načteno"
+msgstr[2] ""
 
 #: ../display/d.vect/lines.c:181
 #, fuzzy, c-format
@@ -2694,6 +2636,7 @@ msgid "%d boundary plotted"
 msgid_plural "%d boundaries plotted"
 msgstr[0] "%d hranic uzavřeno"
 msgstr[1] "%d hranic uzavřeno"
+msgstr[2] ""
 
 #: ../display/d.vect/lines.c:183
 #, fuzzy, c-format
@@ -2701,6 +2644,7 @@ msgid "%d face plotted"
 msgid_plural "%d faces plotted"
 msgstr[0] "%d prvků smazáno"
 msgstr[1] "%d prvků smazáno"
+msgstr[2] ""
 
 #: ../display/d.vect/attr.c:28
 #, fuzzy
@@ -2714,8 +2658,7 @@ msgstr "Nelze získat atributové data pro cat= %d"
 
 #: ../display/d.vect/main.c:73
 msgid "Displays user-specified vector map in the active graphics frame."
-msgstr ""
-"Zobrazí v aktivním grafickém okně vektorovou vrstvu zadanou uživatelem."
+msgstr "Zobrazí v aktivním grafickém okně vektorovou vrstvu zadanou uživatelem."
 
 #: ../display/d.vect/main.c:89
 msgid "Display"
@@ -2777,9 +2720,7 @@ msgstr "Název číselného sloupce obsahujícího šířku linie"
 #: ../display/d.vect/main.c:148
 #, fuzzy
 msgid "These values will be scaled by width_scale"
-msgstr ""
-"Faktor měřítka pro hodnoty přečtené z rastrové mapy. Hodnoty budou tímto "
-"faktorem přenásobeny."
+msgstr "Faktor měřítka pro hodnoty přečtené z rastrové mapy. Hodnoty budou tímto faktorem přenásobeny."
 
 #: ../display/d.vect/main.c:155
 #, fuzzy
@@ -2861,26 +2802,16 @@ msgid "Label vertical justification"
 msgstr "Svislé zarovnání popisku"
 
 #: ../display/d.vect/main.c:265
-msgid ""
-"Minimum region size (average from height and width) when map is displayed"
-msgstr ""
-"Minimální velikost regionu (průměr výšky a šířky), při které se vrstva "
-"zobrazí"
+msgid "Minimum region size (average from height and width) when map is displayed"
+msgstr "Minimální velikost regionu (průměr výšky a šířky), při které se vrstva zobrazí"
 
 #: ../display/d.vect/main.c:273
-msgid ""
-"Maximum region size (average from height and width) when map is displayed"
-msgstr ""
-"Maximální velikost regionu (průměr výšky a šířky), při které se vrstva "
-"zobrazí"
+msgid "Maximum region size (average from height and width) when map is displayed"
+msgstr "Maximální velikost regionu (průměr výšky a šířky), při které se vrstva zobrazí"
 
 #: ../display/d.vect/main.c:281
-msgid ""
-"Random colors according to category number (or layer number if 'layer=-1' is "
-"given)"
-msgstr ""
-"Náhodné barvy podle čísla kategorie (nebo čísla vrstvy, je-li zvoleno "
-"'layer=-1')"
+msgid "Random colors according to category number (or layer number if 'layer=-1' is given)"
+msgstr "Náhodné barvy podle čísla kategorie (nebo čísla vrstvy, je-li zvoleno 'layer=-1')"
 
 #: ../display/d.vect/main.c:288
 msgid "Use values from 'cats' option as feature id"
@@ -2891,12 +2822,8 @@ msgid "Use square root of the value of size_column"
 msgstr "Použít odmocninu hodnoty size_column"
 
 #: ../display/d.vect/main.c:294
-msgid ""
-"This makes circle areas proportionate to the size_column values instead of "
-"circle radius"
-msgstr ""
-"To zajistí, že hodnotám size_column budou přímoúměrné plochy kruhů, nikoliv "
-"jejich poloměry"
+msgid "This makes circle areas proportionate to the size_column values instead of circle radius"
+msgstr "To zajistí, že hodnotám size_column budou přímoúměrné plochy kruhů, nikoliv jejich poloměry"
 
 #: ../display/d.vect/main.c:312
 msgid "Region size is lower than minreg, nothing displayed"
@@ -2908,9 +2835,7 @@ msgstr ""
 
 #: ../display/d.vect/main.c:333
 #, c-format
-msgid ""
-"The -%c flag and <%s> option cannot be used together, the -%c flag will be "
-"ignored!"
+msgid "The -%c flag and <%s> option cannot be used together, the -%c flag will be ignored!"
 msgstr ""
 
 #: ../display/d.vect/main.c:357 ../display/d.vect/main.c:363
@@ -2924,6 +2849,7 @@ msgid "%d error in cat option"
 msgid_plural "%d errors in cat option"
 msgstr[0] "%d chyb ve volbě id"
 msgstr[1] "%d chyb ve volbě id"
+msgstr[2] ""
 
 #: ../display/d.vect/main.c:383
 #, fuzzy
@@ -2932,8 +2858,7 @@ msgstr "Tisknu ..."
 
 #: ../display/d.vect/main.c:391
 #, fuzzy
-msgid ""
-"The bounding box of the map is outside the current region, nothing drawn"
+msgid "The bounding box of the map is outside the current region, nothing drawn"
 msgstr "Počáteční bod %d je mimo současný region"
 
 #: ../display/d.vect/main.c:457
@@ -2941,9 +2866,7 @@ msgid "Rendering failed"
 msgstr "Vykreslování selhalo"
 
 #: ../display/d.vect/area.c:37
-msgid ""
-"Unable to display areas, topology not available. Please try to rebuild "
-"topology using v.build or v.build.all."
+msgid "Unable to display areas, topology not available. Please try to rebuild topology using v.build or v.build.all."
 msgstr ""
 
 #: ../display/d.vect/area.c:137
@@ -2957,11 +2880,10 @@ msgid "%d invalid color rule for areas skipped"
 msgid_plural "%d invalid color rules for areas skipped"
 msgstr[0] "Špatné jméno oblasti"
 msgstr[1] "Špatné jméno oblasti"
+msgstr[2] ""
 
 #: ../display/d.text/main.c:141
-msgid ""
-"Draws text in the active display frame on the graphics monitor using the "
-"current font."
+msgid "Draws text in the active display frame on the graphics monitor using the current font."
 msgstr ""
 
 #: ../display/d.text/main.c:147
@@ -2986,9 +2908,7 @@ msgid "The screen line number on which text will begin to be drawn"
 msgstr ""
 
 #: ../display/d.text/main.c:189
-msgid ""
-"Screen position at which text will begin to be drawn (percentage, [0,0] is "
-"lower left)"
+msgid "Screen position at which text will begin to be drawn (percentage, [0,0] is lower left)"
 msgstr ""
 
 #: ../display/d.text/main.c:197
@@ -3361,9 +3281,7 @@ msgid "Option <%s> ignored"
 msgstr "Location <%s> vytvořena"
 
 #: ../display/d.erase/main.c:33
-msgid ""
-"Erases the contents of the active graphics display frame with user defined "
-"color."
+msgid "Erases the contents of the active graphics display frame with user defined color."
 msgstr ""
 
 #: ../display/d.erase/main.c:42
@@ -3372,8 +3290,7 @@ msgid "Remove all frames and erase the screen"
 msgstr "Smazání malých úhlů na uzlech"
 
 #: ../display/d.title/main.c:52
-msgid ""
-"Create a TITLE for a raster map in a form suitable for display with d.text."
+msgid "Create a TITLE for a raster map in a form suitable for display with d.text."
 msgstr ""
 
 #: ../display/d.title/main.c:63
@@ -3472,9 +3389,7 @@ msgid "paint labels"
 msgstr "vektor, štítky"
 
 #: ../display/d.labels/main.c:46
-msgid ""
-"Displays text labels (created with v.label) to the active frame on the "
-"graphics monitor."
+msgid "Displays text labels (created with v.label) to the active frame on the graphics monitor."
 msgstr ""
 
 #: ../display/d.labels/main.c:52
@@ -3539,9 +3454,9 @@ msgstr "úspěch"
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
-#: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../raster/r.univar/r.univar_main.c:121
+#: ../raster/r.regression.line/main.c:77 ../raster/r.stats/main.c:227
+#: ../raster/r.what/main.c:170 ../vector/v.db.select/main.c:117
 #, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "Nelze otevřít soubor <%s> pro psaní"
@@ -3561,10 +3476,10 @@ msgstr "Soubor obsahující příkazy SQL"
 
 #: ../db/db.select/main.c:208 ../db/db.execute/main.c:139
 #: ../general/g.proj/main.c:141 ../general/g.proj/main.c:150
-#: ../locale/scriptstrings/m.proj_to_translate.c:7 ../raster/r.recode/main.c:60
-#: ../raster/r.in.ascii/main.c:79 ../raster/r.reclass/main.c:66
-#: ../vector/v.what/main.c:76 ../vector/v.edit/args.c:89
-#: ../vector/v.segment/main.c:80
+#: ../locale/scriptstrings/m.proj_to_translate.c:7
+#: ../raster/r.recode/main.c:60 ../raster/r.in.ascii/main.c:79
+#: ../raster/r.reclass/main.c:66 ../vector/v.what/main.c:76
+#: ../vector/v.edit/args.c:89 ../vector/v.segment/main.c:80
 #, fuzzy
 msgid "'-' for standard input"
 msgstr "Pokud není zadáno '-' čte se standardní vstup"
@@ -3603,9 +3518,9 @@ msgstr "Výstupní vertikální oddělovač záznamů"
 #: ../db/db.select/main.c:241
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:6
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
-#: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
-#: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../raster/r.univar/r3.univar_main.c:42
+#: ../raster/r.univar/r.univar_main.c:41 ../raster/r.stats/main.c:119
+#: ../raster/r.what/main.c:125 ../vector/v.db.select/main.c:86
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "Název výstupní mapy (pro standardní výstup použijte \"-\")"
 
@@ -3862,12 +3777,8 @@ msgstr "ovladač MySQL: sloupec '%s', typu %d není podporován"
 
 #: ../db/drivers/mysql/describe.c:127
 #, c-format
-msgid ""
-"column '%s' : type BIGINT is stored as integer (4 bytes) some data may be "
-"damaged"
-msgstr ""
-"sloupec '%s' : typ BITINT byl uložen jako integer některá data mohou být "
-"poškozena"
+msgid "column '%s' : type BIGINT is stored as integer (4 bytes) some data may be damaged"
+msgstr "sloupec '%s' : typ BITINT byl uložen jako integer některá data mohou být poškozena"
 
 #: ../db/drivers/mysql/parse.c:62
 msgid "Wrong port number in MySQL database definition: "
@@ -4080,30 +3991,18 @@ msgstr "ovladač MySQL: sloupec '%s', typu %d není podporován"
 
 #: ../db/drivers/postgres/describe.c:130
 #, c-format
-msgid ""
-"column '%s' : type int8 (bigint) is stored as integer (4 bytes) some data "
-"may be damaged"
-msgstr ""
-"sloupec '%s' : typ int8 (bigint) byl uložen jako integer (celé číslo - 4 "
-"byty) některá data mohou být poškozena"
+msgid "column '%s' : type int8 (bigint) is stored as integer (4 bytes) some data may be damaged"
+msgstr "sloupec '%s' : typ int8 (bigint) byl uložen jako integer (celé číslo - 4 byty) některá data mohou být poškozena"
 
 #: ../db/drivers/postgres/describe.c:134
 #, c-format
-msgid ""
-"column '%s' : type character varying is stored as varchar(250) some data may "
-"be lost"
-msgstr ""
-"sloupec '%s' : typ character varying byl uložen jako varchar(250), některá "
-"data mohou být ztracena"
+msgid "column '%s' : type character varying is stored as varchar(250) some data may be lost"
+msgstr "sloupec '%s' : typ character varying byl uložen jako varchar(250), některá data mohou být ztracena"
 
 #: ../db/drivers/postgres/describe.c:140
 #, c-format
-msgid ""
-"column '%s' : type bool (boolean) is stored as char(1), values: 0 (false), 1 "
-"(true)"
-msgstr ""
-"sloupec '%s' : typ boolean je uložen jako char(1), hodnoty: 0 (false), 1 "
-"(true)"
+msgid "column '%s' : type bool (boolean) is stored as char(1), values: 0 (false), 1 (true)"
+msgstr "sloupec '%s' : typ boolean je uložen jako char(1), hodnoty: 0 (false), 1 (true)"
 
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
@@ -4175,12 +4074,8 @@ msgstr "Ovladač OGR: sloupec '%s', typu %d není podporován"
 
 #: ../db/drivers/ogr/describe.c:192
 #, c-format
-msgid ""
-"column '%s', type 'string': unknown width -> stored as varchar(250) some "
-"data may be lost"
-msgstr ""
-"sloupec '%s' typu 'string': neznámé šířky -> uložen jako varchar(250), "
-"některá data mohou být ztracena"
+msgid "column '%s', type 'string': unknown width -> stored as varchar(250) some data may be lost"
+msgstr "sloupec '%s' typu 'string': neznámé šířky -> uložen jako varchar(250), některá data mohou být ztracena"
 
 #: ../db/drivers/ogr/execute.c:56 ../vector/v.out.ogr/main.c:593
 #, c-format
@@ -4245,8 +4140,7 @@ msgid "Unable to scan timestamp:"
 msgstr "Nelze zjistit časovou značku: "
 
 #: ../db/drivers/sqlite/fetch.c:218
-msgid ""
-"SQLite driver: parsing of interval values not implemented; assuming seconds"
+msgid "SQLite driver: parsing of interval values not implemented; assuming seconds"
 msgstr ""
 
 #: ../db/drivers/sqlite/fetch.c:223
@@ -4600,9 +4494,7 @@ msgid "The password was stored in file (%s%cdblogin)"
 msgstr "Heslo bylo uloženo v souboru."
 
 #: ../db/db.databases/main.c:53
-msgid ""
-"Unable to list databases. Try to define correct connection settings by db."
-"login."
+msgid "Unable to list databases. Try to define correct connection settings by db.login."
 msgstr ""
 
 #: ../db/db.databases/main.c:63
@@ -4648,12 +4540,8 @@ msgid "Copy a table."
 msgstr "Kopírování tabulky."
 
 #: ../db/db.copy/main.c:40
-msgid ""
-"Either 'from_table' (optionally with 'where') can be used or 'select' "
-"option, but not 'from_table' and 'select' at the same time."
-msgstr ""
-"Použita může být buď volba 'from_table' (volitelně s 'where') nebo volba "
-"'select', ale nikoliv 'from_table' a 'select' současně."
+msgid "Either 'from_table' (optionally with 'where') can be used or 'select' option, but not 'from_table' and 'select' at the same time."
+msgstr "Použita může být buď volba 'from_table' (volitelně s 'where') nebo volba 'select', ale nikoliv 'from_table' a 'select' současně."
 
 #: ../db/db.copy/main.c:46
 msgid "Input driver name"
@@ -4681,8 +4569,7 @@ msgstr "Název výstupní tabulky"
 
 #: ../db/db.copy/main.c:87
 msgid "Full select statement (only, if 'from_table' and 'where' is not used)"
-msgstr ""
-"Úplný příkaz select (pouze pokud nebyly použity 'from_table' a 'where'), "
+msgstr "Úplný příkaz select (pouze pokud nebyly použity 'from_table' a 'where'), "
 
 #: ../db/db.copy/main.c:88
 msgid "E.g.: SELECT dedek FROM starobince WHERE obec = 'Frimburg'"
@@ -4719,8 +4606,7 @@ msgstr "Popiš tabulku (detailně)."
 #: ../db/db.connect/main.c:47
 #, fuzzy
 msgid "Prints/sets general DB connection for current mapset."
-msgstr ""
-"Vytisknout/nastavit obecné DB připojení aktuálního mapsetu a ukončit se."
+msgstr "Vytisknout/nastavit obecné DB připojení aktuálního mapsetu a ukončit se."
 
 #: ../db/db.connect/main.c:51 ../temporal/t.connect/main.c:42
 msgid "Print current connection parameters and exit"
@@ -4737,9 +4623,7 @@ msgstr "Vypiš parametry současného připojení a ukonči se"
 
 #: ../db/db.connect/main.c:63 ../temporal/t.connect/main.c:48
 msgid "Check connection parameters, set if uninitialized, and exit"
-msgstr ""
-"Zkontrolovat nastavení parametrů současného připojení, nastavit je pokud "
-"nejsou, a ukončit se"
+msgstr "Zkontrolovat nastavení parametrů současného připojení, nastavit je pokud nejsou, a ukončit se"
 
 #: ../db/db.connect/main.c:64 ../db/db.connect/main.c:70
 #: ../db/db.connect/main.c:75 ../db/db.connect/main.c:79
@@ -4763,8 +4647,7 @@ msgstr "Přepiš existující MASKu"
 
 #: ../db/db.connect/main.c:91
 msgid "Default group of database users to which select privilege is granted"
-msgstr ""
-"Výchozí skupina uživatelů databáze, které jsou přiřazeny práva na select."
+msgstr "Výchozí skupina uživatelů databáze, které jsou přiřazeny práva na select."
 
 #: ../db/db.connect/main.c:161 ../db/db.connect/main.c:188
 #: ../temporal/t.connect/main.c:133
@@ -4797,11 +4680,8 @@ msgid "miscellaneous"
 msgstr "různé"
 
 #: ../misc/m.cogo/main.c:227
-msgid ""
-"A simple utility for converting bearing and distance measurements to "
-"coordinates and vice versa."
-msgstr ""
-"Jednoduchá utilita pro převod orientace a vzdálenosti na souřadnice a naopak."
+msgid "A simple utility for converting bearing and distance measurements to coordinates and vice versa."
+msgstr "Jednoduchá utilita pro převod orientace a vzdálenosti na souřadnice a naopak."
 
 #: ../misc/m.cogo/main.c:229
 msgid "It assumes a cartesian coordinate system"
@@ -5000,17 +4880,13 @@ msgid "Created NVIZ script <%s>."
 msgstr ""
 
 #: ../misc/m.nviz.script/main.c:439
-msgid ""
-"Skipping this point, selected point is outside region. Perhaps the camera "
-"setback distance puts it beyond the edge?"
+msgid "Skipping this point, selected point is outside region. Perhaps the camera setback distance puts it beyond the edge?"
 msgstr ""
 
 #: ../misc/m.transform/main.c:92
 #, fuzzy, c-format
 msgid "Not enough points, %d are required"
-msgstr ""
-"Nedostatek aktivnich kontrolních bodů pro zadaný řád rektifikace, je "
-"požadováno %d."
+msgstr "Nedostatek aktivnich kontrolních bodů pro zadaný řád rektifikace, je požadováno %d."
 
 #: ../misc/m.transform/main.c:96
 #: ../imagery/i.ortho.photo/i.ortho.transform/main.c:93
@@ -5062,9 +4938,7 @@ msgstr "vektor, transformace"
 #: ../imagery/i.ortho.photo/i.ortho.transform/main.c:393
 #, fuzzy
 msgid "Computes a coordinate transformation based on the control points."
-msgstr ""
-"Rektifikuje obrazová data na základě vlícovacích bodů pomocí souřadnicové "
-"transformace pro každý pixel obrazu."
+msgstr "Rektifikuje obrazová data na základě vlícovacích bodů pomocí souřadnicové transformace pro každý pixel obrazu."
 
 #: ../misc/m.transform/main.c:329
 #, fuzzy
@@ -5757,9 +5631,7 @@ msgid "Fringe elevation"
 msgstr "Sleduj terén"
 
 #: ../misc/m.nviz.image/args.c:903
-msgid ""
-"Place north arrow at given position \t(in screen coordinates from bottom "
-"left corner)"
+msgid "Place north arrow at given position \t(in screen coordinates from bottom left corner)"
 msgstr ""
 
 #: ../misc/m.nviz.image/args.c:905 ../misc/m.nviz.image/args.c:915
@@ -5823,14 +5695,10 @@ msgstr ""
 #: ../misc/m.nviz.image/main.c:55
 #, fuzzy
 msgid "Creates a 3D rendering of GIS data."
-msgstr ""
-"Vytvoří novou vektorovou (bodovou) mapu na základě databázové takulky "
-"obsahující souřadnice."
+msgstr "Vytvoří novou vektorovou (bodovou) mapu na základě databázové takulky obsahující souřadnice."
 
 #: ../misc/m.nviz.image/main.c:56
-msgid ""
-"Renders surfaces (raster data), 2D/3D vector data, and volumes (3D raster "
-"data) in 3D."
+msgid "Renders surfaces (raster data), 2D/3D vector data, and volumes (3D raster data) in 3D."
 msgstr ""
 
 #: ../misc/m.nviz.image/main.c:82
@@ -5860,10 +5728,8 @@ msgstr "Soubor <%s> byl vytvořen"
 
 #: ../temporal/t.connect/main.c:38
 #, fuzzy
-msgid ""
-"Prints/sets general temporal GIS database connection for current mapset."
-msgstr ""
-"Vytisknout/nastavit obecné DB připojení aktuálního mapsetu a ukončit se."
+msgid "Prints/sets general temporal GIS database connection for current mapset."
+msgstr "Vytisknout/nastavit obecné DB připojení aktuálního mapsetu a ukončit se."
 
 #: ../temporal/t.connect/main.c:54
 #, fuzzy
@@ -6036,8 +5902,7 @@ msgstr "%s mapa <%s> nebyla nalezena"
 #: ../general/g.rename/main.c:80
 #, fuzzy, c-format
 msgid "<%s> already exists in mapset <%s>"
-msgstr ""
-"Rastrová mapa <%s> již existuje v mapsetu <%s>, zkuste prosím jiné jméno."
+msgstr "Rastrová mapa <%s> již existuje v mapsetu <%s>, zkuste prosím jiné jméno."
 
 #: ../general/g.rename/main.c:85 ../general/g.copy/main.c:80
 #: ../imagery/i.landsat.acca/main.c:187 ../imagery/i.landsat.toar/main.c:563
@@ -6074,9 +5939,7 @@ msgid "Unable to update dependency file in <%s@%s>"
 msgstr "Nelze otevřít vstupní GRASS site soubor <%s@%s>"
 
 #: ../general/g.copy/main.c:44
-msgid ""
-"Copies available data files in the current mapset search path to the user's "
-"current mapset."
+msgid "Copies available data files in the current mapset search path to the user's current mapset."
 msgstr ""
 
 #: ../general/g.copy/main.c:51
@@ -6108,9 +5971,7 @@ msgid "list"
 msgstr ""
 
 #: ../general/g.list/main.c:93
-msgid ""
-"Lists available GRASS data base files of the user-specified data type "
-"optionally using the search pattern."
+msgid "Lists available GRASS data base files of the user-specified data type optionally using the search pattern."
 msgstr ""
 
 #: ../general/g.list/main.c:109
@@ -6131,9 +5992,7 @@ msgstr "rastr"
 #: ../general/g.list/main.c:117
 #, fuzzy
 msgid "Map name exclusion pattern (default: none)"
-msgstr ""
-"Naimportuj jako hodnoty s plovoucí desetinnou čárkou (double) (výchozí: "
-"celočíselné)"
+msgstr "Naimportuj jako hodnoty s plovoucí desetinnou čárkou (double) (výchozí: celočíselné)"
 
 #: ../general/g.list/main.c:123
 #, fuzzy
@@ -6256,15 +6115,11 @@ msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
 #: ../general/g.region/printwindow.c:412
-msgid ""
-"You are in a simple XY location, projection to Lat/Lon is not possible. Use "
-"the -p flag instead."
+msgid "You are in a simple XY location, projection to Lat/Lon is not possible. Use the -p flag instead."
 msgstr ""
 
 #: ../general/g.region/printwindow.c:637
-msgid ""
-"WGS84 output not possible as this location does not contain datum "
-"transformation parameters. Try running g.setproj."
+msgid "WGS84 output not possible as this location does not contain datum transformation parameters. Try running g.setproj."
 msgstr ""
 
 #: ../general/g.region/printwindow.c:783
@@ -6337,9 +6192,7 @@ msgid "Print the convergence angle (degrees CCW)"
 msgstr ""
 
 #: ../general/g.region/main.c:125
-msgid ""
-"The difference between the projection's grid north and true north, measured "
-"at the center coordinates of the current region."
+msgid "The difference between the projection's grid north and true north, measured at the center coordinates of the current region."
 msgstr ""
 
 #: ../general/g.region/main.c:131
@@ -6361,9 +6214,7 @@ msgid "Print in shell script style"
 msgstr "Vypiš výsledek ve stylu pro shell skript"
 
 #: ../general/g.region/main.c:148
-msgid ""
-"Align region to resolution (default = align to bounds, works only for 2D "
-"resolution)"
+msgid "Align region to resolution (default = align to bounds, works only for 2D resolution)"
 msgstr ""
 
 #: ../general/g.region/main.c:150 ../general/g.region/main.c:194
@@ -6503,15 +6354,15 @@ msgid "Region <%s> not found"
 msgstr "Region <%s> nebyl nalezen"
 
 #: ../general/g.region/main.c:444 ../raster/r.univar/r3.univar_main.c:144
-#: ../raster/r.univar/r3.univar_main.c:182 ../raster/r.colors/edit_colors.c:400
-#: ../raster3d/r3.mask/main.c:58 ../raster3d/r3.out.bin/main.c:299
-#: ../raster3d/r3.stats/main.c:96 ../raster3d/r3.retile/main.c:113
-#: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
-#: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
-#: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster/r.univar/r3.univar_main.c:182
+#: ../raster/r.colors/edit_colors.c:400 ../raster3d/r3.mask/main.c:58
+#: ../raster3d/r3.out.bin/main.c:299 ../raster3d/r3.stats/main.c:96
+#: ../raster3d/r3.retile/main.c:113 ../raster3d/r3.to.rast/main.c:222
+#: ../raster3d/r3.out.netcdf/main.c:600 ../raster3d/r3.null/main.c:103
+#: ../raster3d/r3.support/main.c:135 ../raster3d/r3.out.vtk/main.c:142
+#: ../raster3d/r3.timestamp/main.c:72 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, fuzzy, c-format
 msgid "3D raster map <%s> not found"
 msgstr "3D rastrová mapa <%s> nebyla nalezena"
@@ -6559,8 +6410,7 @@ msgstr ""
 #: ../general/g.remove/construct_pattern.c:37
 #, c-format
 msgid "%s: Cannot remove or exclude files not in the current mapset."
-msgstr ""
-"%s: Nelze odstranit nebo vynechat soubory, které nejsou v aktuálním mapsetu."
+msgstr "%s: Nelze odstranit nebo vynechat soubory, které nejsou v aktuálním mapsetu."
 
 #: ../general/g.remove/construct_pattern.c:57
 msgid "Illegal filenames not allowed in the name or ignore option."
@@ -6573,12 +6423,8 @@ msgid "remove"
 msgstr "Mazání přívěsků"
 
 #: ../general/g.remove/main.c:73
-msgid ""
-"Removes data base element files from the user's current mapset using the "
-"search pattern."
-msgstr ""
-"Odstraní z adresáře s databází soubory aktuálního mapsetu uživatele zadané "
-"pomocí parametrů vyhledávání."
+msgid "Removes data base element files from the user's current mapset using the search pattern."
+msgstr "Odstraní z adresáře s databází soubory aktuálního mapsetu uživatele zadané pomocí parametrů vyhledávání."
 
 #: ../general/g.remove/main.c:83 ../general/g.remove/main.c:91
 #: ../general/g.remove/main.c:133
@@ -6623,9 +6469,7 @@ msgstr "Nebyly nalezeny žádné rastrové mapy"
 
 #: ../general/g.remove/main.c:267
 #, fuzzy, c-format
-msgid ""
-"Nothing removed. You must use the force flag (-%c) to actually remove them. "
-"Exiting."
+msgid "Nothing removed. You must use the force flag (-%c) to actually remove them. Exiting."
 msgstr "Chcete-li je skutečně odstranit, použijte přepínač (-%c). Ukončuje se."
 
 #: ../general/g.mapset/main.c:51
@@ -6634,8 +6478,7 @@ msgid "Changes/reports current mapset."
 msgstr "Název cílového mapsetu"
 
 #: ../general/g.mapset/main.c:52
-msgid ""
-"Optionally create new mapset or list available mapsets in given location."
+msgid "Optionally create new mapset or list available mapsets in given location."
 msgstr ""
 
 #: ../general/g.mapset/main.c:56
@@ -6688,9 +6531,7 @@ msgstr "Nelze vytvořit vektorovou mapu <%s>"
 #: ../general/g.mapset/main.c:156
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist. Use -c flag to create it."
-msgstr ""
-"Mapa <%s> neexistuje v současném mapsetu. Přidejte přepínač -n pro vytvoření "
-"nové mapy."
+msgstr "Mapa <%s> neexistuje v současném mapsetu. Přidejte přepínač -n pro vytvoření nové mapy."
 
 #: ../general/g.mapset/main.c:166
 #, fuzzy
@@ -6713,8 +6554,7 @@ msgid "Cleaning up temporary files..."
 msgstr "Vytvářím nějaké dočasné soubory..."
 
 #: ../general/g.mapset/main.c:205
-msgid ""
-"Mapset switched. Your shell continues to use the history for the old mapset"
+msgid "Mapset switched. Your shell continues to use the history for the old mapset"
 msgstr ""
 
 #: ../general/g.mapset/main.c:210
@@ -6820,15 +6660,11 @@ msgstr ""
 
 #: ../general/g.version/main.c:157
 #, c-format
-msgid ""
-"Cannot determine GRASS libgis version and date number. The GRASS build might "
-"be broken. Report this to developers or packagers.\n"
+msgid "Cannot determine GRASS libgis version and date number. The GRASS build might be broken. Report this to developers or packagers.\n"
 msgstr ""
 
 #: ../general/g.version/main.c:164
-msgid ""
-"GRASS GIS libgis version and date number don't have the expected format. "
-"Trying to print the original strings..."
+msgid "GRASS GIS libgis version and date number don't have the expected format. Trying to print the original strings..."
 msgstr ""
 
 #: ../general/g.version/main.c:166
@@ -6906,15 +6742,11 @@ msgstr "Vypiš přítomné vrstvy a ukonči se"
 
 #: ../general/g.findfile/main.c:97
 #, c-format
-msgid ""
-"Parameter 'file' contains reference to <%s> mapset, but mapset parameter <"
-"%s> does not correspond"
+msgid "Parameter 'file' contains reference to <%s> mapset, but mapset parameter <%s> does not correspond"
 msgstr ""
 
 #: ../general/g.mkfontcap/main.c:73
-msgid ""
-"Generates the font configuration file by scanning various directories for "
-"fonts."
+msgid "Generates the font configuration file by scanning various directories for fonts."
 msgstr ""
 
 #: ../general/g.mkfontcap/main.c:79
@@ -6922,8 +6754,7 @@ msgid "Overwrite font configuration file if already existing"
 msgstr ""
 
 #: ../general/g.mkfontcap/main.c:84
-msgid ""
-"Write font configuration file to standard output instead of $GISBASE/etc"
+msgid "Write font configuration file to standard output instead of $GISBASE/etc"
 msgstr ""
 
 #: ../general/g.mkfontcap/main.c:91
@@ -6931,21 +6762,16 @@ msgid "List of extra directories to scan"
 msgstr ""
 
 #: ../general/g.mkfontcap/main.c:93
-msgid ""
-"Comma-separated list of extra directories to scan for Freetype-compatible "
-"fonts as well as the defaults (see documentation)"
+msgid "Comma-separated list of extra directories to scan for Freetype-compatible fonts as well as the defaults (see documentation)"
 msgstr ""
 
 #: ../general/g.mkfontcap/main.c:110
 #, fuzzy, c-format
-msgid ""
-"Fontcap file %s already exists; use -%c flag if you wish to overwrite it"
+msgid "Fontcap file %s already exists; use -%c flag if you wish to overwrite it"
 msgstr "Soubor '%s' již existuje a bude přepsán."
 
 #: ../general/g.mkfontcap/main.c:122
-msgid ""
-"This GRASS installation was compiled without Freetype support, extradirs "
-"parameter ignored"
+msgid "This GRASS installation was compiled without Freetype support, extradirs parameter ignored"
 msgstr ""
 
 #: ../general/g.mkfontcap/main.c:149
@@ -6977,9 +6803,7 @@ msgid "Modifies/prints the user's current mapset search path."
 msgstr ""
 
 #: ../general/g.mapsets/main.c:67
-msgid ""
-"Affects the user's access to data existing under the other mapsets in the "
-"current location."
+msgid "Affects the user's access to data existing under the other mapsets in the current location."
 msgstr ""
 
 #: ../general/g.mapsets/main.c:73
@@ -7388,10 +7212,7 @@ msgid "UTM zone information has not been updated"
 msgstr "Informace v hlavičce by také měly být upraveny."
 
 #: ../general/g.setproj/main.c:456
-msgid ""
-"But if you change zone, all the existing data will be interpreted by "
-"projection software. GRASS will not automatically re-project or even change "
-"the headers for existing maps."
+msgid "But if you change zone, all the existing data will be interpreted by projection software. GRASS will not automatically re-project or even change the headers for existing maps."
 msgstr ""
 
 #: ../general/g.setproj/main.c:461
@@ -7521,8 +7342,7 @@ msgid "input= and opacity= must have the same number of values"
 msgstr "output= a method= musí mít stejný počet hodnot"
 
 #: ../general/g.message/main.c:37
-msgid ""
-"Prints a message, warning, progress info, or fatal error in the GRASS way."
+msgid "Prints a message, warning, progress info, or fatal error in the GRASS way."
 msgstr ""
 
 #: ../general/g.message/main.c:39
@@ -7805,9 +7625,7 @@ msgstr "Location: %s\n"
 
 #: ../general/g.proj/main.c:69
 #, fuzzy
-msgid ""
-"Prints or modifies GRASS projection information files (in various co-"
-"ordinate system descriptions)."
+msgid "Prints or modifies GRASS projection information files (in various co-ordinate system descriptions)."
 msgstr "Vypiš informace o způsobu sestavení GRASSu"
 
 #: ../general/g.proj/main.c:72
@@ -7823,9 +7641,7 @@ msgstr "Vypiš informace o způsobu sestavení GRASSu"
 #: ../general/g.proj/main.c:82
 #, fuzzy
 msgid "Print projection information in conventional GRASS format"
-msgstr ""
-"Nelze převést informace o vstupní mapové projekci do formátu GRASSu (pro "
-"kontrolu)"
+msgstr "Nelze převést informace o vstupní mapové projekci do formátu GRASSu (pro kontrolu)"
 
 #: ../general/g.proj/main.c:88
 #, fuzzy
@@ -7843,8 +7659,7 @@ msgid "Print projection information in PROJ.4 format"
 msgstr "Vytiskni pouze informace o topologii"
 
 #: ../general/g.proj/main.c:106
-msgid ""
-"Print 'flat' output with no linebreaks (applies to WKT and PROJ.4 output)"
+msgid "Print 'flat' output with no linebreaks (applies to WKT and PROJ.4 output)"
 msgstr ""
 
 #: ../general/g.proj/main.c:116
@@ -7855,8 +7670,7 @@ msgstr "Vytiskni pouze informace o topologii"
 #: ../general/g.proj/main.c:122
 #, fuzzy
 msgid "Use ESRI-style format (applies to WKT output only)"
-msgstr ""
-"Použít styl ESRI - formát souboru .prj (aplikované pouze na výstup SHAPE)"
+msgstr "Použít styl ESRI - formát souboru .prj (aplikované pouze na výstup SHAPE)"
 
 #: ../general/g.proj/main.c:129 ../general/g.proj/main.c:138
 #: ../general/g.proj/main.c:148 ../general/g.proj/main.c:158
@@ -7867,8 +7681,7 @@ msgstr "Bodová klasifikace"
 #: ../general/g.proj/main.c:130
 #, fuzzy
 msgid "Name of georeferenced data file to read projection information from"
-msgstr ""
-"Název location, ze které bude načtena mapová projekce pro GCP transformaci"
+msgstr "Název location, ze které bude načtena mapová projekce pro GCP transformaci"
 
 #: ../general/g.proj/main.c:139
 #, fuzzy
@@ -7903,18 +7716,14 @@ msgstr ""
 #: ../locale/scriptstrings/v.import_to_translate.c:23
 #, fuzzy
 msgid "Index number of datum transform parameters"
-msgstr ""
-"Není definována žádné číslo kategorie. používám přednastavené parametry "
-"transformace."
+msgstr "Není definována žádné číslo kategorie. používám přednastavené parametry transformace."
 
 #: ../general/g.proj/main.c:182
 msgid "\"0\" for unspecified or \"-1\" to list and exit"
 msgstr ""
 
 #: ../general/g.proj/main.c:188
-msgid ""
-"Force override of datum transformation information in input co-ordinate "
-"system"
+msgid "Force override of datum transformation information in input co-ordinate system"
 msgstr ""
 
 #: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
@@ -7988,16 +7797,11 @@ msgstr ""
 
 #: ../general/g.proj/create.c:40
 #, c-format
-msgid ""
-"You must select the PERMANENT mapset before updating the current location's "
-"projection (current mapset is <%s>)"
+msgid "You must select the PERMANENT mapset before updating the current location's projection (current mapset is <%s>)"
 msgstr ""
 
 #: ../general/g.proj/create.c:66
-msgid ""
-"Default region was updated to the new projection, but if you have multiple "
-"mapsets `g.region -d` should be run in each to update the region from the "
-"default"
+msgid "Default region was updated to the new projection, but if you have multiple mapsets `g.region -d` should be run in each to update the region from the default"
 msgstr ""
 
 #: ../general/g.proj/create.c:70
@@ -8049,9 +7853,7 @@ msgstr ""
 
 #: ../general/g.proj/input.c:259
 #, c-format
-msgid ""
-"Read of file %s was successful, but it did not contain projection "
-"information. 'XY (unprojected)' will be used"
+msgid "Read of file %s was successful, but it did not contain projection information. 'XY (unprojected)' will be used"
 msgstr ""
 
 #: ../visualization/ximgview/color.c:90 ../visualization/ximgview/color.c:288
@@ -8250,15 +8052,12 @@ msgid "Print spatio-temporal relationships and exit"
 msgstr "Vytiskne transfoemační matici na standartní výstup"
 
 #: ../locale/scriptstrings/d.what.rast_to_translate.c:1
-msgid ""
-"Allows the user to interactively query raster map layers at user-selected "
-"locations."
+msgid "Allows the user to interactively query raster map layers at user-selected locations."
 msgstr ""
 
 #: ../locale/scriptstrings/v.db.renamecolumn_to_translate.c:1
 #, fuzzy
-msgid ""
-"Renames a column in the attribute table connected to a given vector map."
+msgid "Renames a column in the attribute table connected to a given vector map."
 msgstr "Nelze kopírovat atributovou tabulku do vektorové mapy <%s>"
 
 #: ../locale/scriptstrings/v.db.renamecolumn_to_translate.c:5
@@ -8441,7 +8240,8 @@ msgstr "Jméno svrchní rastrové mapy"
 msgid "Percent to brighten"
 msgstr "Procentuální konvergence"
 
-#: ../locale/scriptstrings/r.shade_to_translate.c:12 ../raster/r.his/main.c:121
+#: ../locale/scriptstrings/r.shade_to_translate.c:12
+#: ../raster/r.his/main.c:121
 #, fuzzy
 msgid "Color to use instead of NULL values"
 msgstr "Ignoruj nulové (0) buňky, místo NULLových"
@@ -8450,18 +8250,16 @@ msgstr "Ignoruj nulové (0) buňky, místo NULLových"
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr ""
 
-#: ../locale/scriptstrings/r.shade_to_translate.c:14 ../raster/r.his/main.c:126
+#: ../locale/scriptstrings/r.shade_to_translate.c:14
+#: ../raster/r.his/main.c:126
 #, fuzzy
 msgid "Use colors from color tables for NULL values"
 msgstr "Nelze číst barevnou tabulku pro %s"
 
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:1
 #, fuzzy
-msgid ""
-"Uploads space time raster dataset values at positions of vector points to "
-"the table."
-msgstr ""
-"Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
+msgid "Uploads space time raster dataset values at positions of vector points to the table."
+msgstr "Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
 
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:9
 #, fuzzy
@@ -8469,15 +8267,12 @@ msgid "Update attribute table of input vector map"
 msgstr "Nelze kopírovat atributovou tabulku do výstupní mapy"
 
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:10
-msgid ""
-"Instead of creating a new vector map update the attribute table with value(s)"
+msgid "Instead of creating a new vector map update the attribute table with value(s)"
 msgstr ""
 
 #: ../locale/scriptstrings/v.db.reconnect.all_to_translate.c:1
 #, fuzzy
-msgid ""
-"Reconnects attribute tables for all vector maps from the current mapset to a "
-"new database."
+msgid "Reconnects attribute tables for all vector maps from the current mapset to a new database."
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
 #: ../locale/scriptstrings/v.db.reconnect.all_to_translate.c:5
@@ -8519,7 +8314,8 @@ msgstr "Schéma databáze."
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Převede 3D rastrové mapy na 2D rastrové mapy"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3
+#: ../raster/r.patch/main.c:58
 msgid "merge"
 msgstr ""
 
@@ -8551,9 +8347,7 @@ msgid "Tasseled Cap transformation"
 msgstr "vektor, transformace"
 
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:7
-msgid ""
-"For Landsat4-7: bands 1, 2, 3, 4, 5, 7; for Landsat8: bands 2, 3, 4, 5, 6, "
-"7; for MODIS: bands 1, 2, 3, 4, 5, 6, 7"
+msgid "For Landsat4-7: bands 1, 2, 3, 4, 5, 7; for Landsat8: bands 2, 3, 4, 5, 6, 7; for MODIS: bands 1, 2, 3, 4, 5, 6, 7"
 msgstr ""
 
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:8
@@ -8567,18 +8361,12 @@ msgid "Satellite sensor"
 msgstr ""
 
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:10
-msgid ""
-"landsat4_tm;Use transformation rules for Landsat 4 TM;landsat5_tm;Use "
-"transformation rules for Landsat 5 TM;landsat7_etm;Use transformation rules "
-"for Landsat 7 ETM;landsat8_oli;Use transformation rules for Landsat 8 OLI;"
-"modis;Use transformation rules for MODIS"
+msgid "landsat4_tm;Use transformation rules for Landsat 4 TM;landsat5_tm;Use transformation rules for Landsat 5 TM;landsat7_etm;Use transformation rules for Landsat 7 ETM;landsat8_oli;Use transformation rules for Landsat 8 OLI;modis;Use transformation rules for MODIS"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:1
 #, fuzzy
-msgid ""
-"Performs r3.mapcalc expressions on maps of sampled space time 3D raster "
-"datasets."
+msgid "Performs r3.mapcalc expressions on maps of sampled space time 3D raster datasets."
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
@@ -8642,9 +8430,7 @@ msgstr "Název vstupní 3D rastrové mapy"
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
 #: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
+msgid "A numerical suffix separated by an underscore will be attached to create a unique identifier"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
@@ -8684,9 +8470,7 @@ msgid "extract"
 msgstr "vektor, vyjmutí"
 
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:8
-msgid ""
-"The number of v.extract processes to run in parallel. Use only if database "
-"backend is used which supports concurrent writing"
+msgid "The number of v.extract processes to run in parallel. Use only if database backend is used which supports concurrent writing"
 msgstr ""
 
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:9
@@ -8695,9 +8479,7 @@ msgid "Register empty maps"
 msgstr "Nelze zavřít vstupní mapu"
 
 #: ../locale/scriptstrings/r.tileset_to_translate.c:1
-msgid ""
-"Produces tilings of the source projection for use in the destination region "
-"and projection."
+msgid "Produces tilings of the source projection for use in the destination region and projection."
 msgstr ""
 
 #: ../locale/scriptstrings/r.tileset_to_translate.c:3
@@ -8717,10 +8499,8 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.tileset_to_translate.c:6
 #, fuzzy
-msgid ""
-"Name of region to use instead of current region for bounds and resolution"
-msgstr ""
-"Rozlišení rastrové mapy expozice je různé od aktuálního rozlišení regionu"
+msgid "Name of region to use instead of current region for bounds and resolution"
+msgstr "Rozlišení rastrové mapy expozice je různé od aktuálního rozlišení regionu"
 
 #: ../locale/scriptstrings/r.tileset_to_translate.c:7
 #, fuzzy
@@ -8788,9 +8568,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/t.register_to_translate.c:14
 #: ../locale/scriptstrings/t.register_to_translate.c:17
-msgid ""
-"Format absolute time: \"yyyy-mm-dd HH:MM:SS +HHMM\", relative time is of "
-"type integer)."
+msgid "Format absolute time: \"yyyy-mm-dd HH:MM:SS +HHMM\", relative time is of type integer)."
 msgstr ""
 
 #: ../locale/scriptstrings/t.register_to_translate.c:15
@@ -8820,10 +8598,7 @@ msgid "Time increment, works only in conjunction with start option"
 msgstr ""
 
 #: ../locale/scriptstrings/t.register_to_translate.c:23
-msgid ""
-"Time increment between maps for valid time interval creation (format "
-"absolute: NNN seconds, minutes, hours, days, weeks, months, years; format "
-"relative is integer: 5)"
+msgid "Time increment between maps for valid time interval creation (format absolute: NNN seconds, minutes, hours, days, weeks, months, years; format relative is integer: 5)"
 msgstr ""
 
 #: ../locale/scriptstrings/t.register_to_translate.c:25
@@ -8832,9 +8607,7 @@ msgid "Field separator character of the input file"
 msgstr "Oddělovač sloupců (bodový mód)"
 
 #: ../locale/scriptstrings/t.register_to_translate.c:27
-msgid ""
-"Create an interval (start and end time) in case an increment and the start "
-"time are provided"
+msgid "Create an interval (start and end time) in case an increment and the start time are provided"
 msgstr ""
 
 #: ../locale/scriptstrings/db.univar_to_translate.c:1
@@ -8845,17 +8618,15 @@ msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové map
 #: ../locale/scriptstrings/db.univar_to_translate.c:5
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:5
 #, fuzzy
-msgid ""
-"Name of attribute column on which to calculate statistics (must be numeric)"
+msgid "Name of attribute column on which to calculate statistics (must be numeric)"
 msgstr "Jméno sloupce (musí být číselného typu)"
 
 #: ../locale/scriptstrings/db.univar_to_translate.c:6
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:6
-#: ../raster/r.univar/r3.univar_main.c:52 ../raster/r.univar/r.univar_main.c:52
-#: ../vector/v.univar/main.c:122
+#: ../raster/r.univar/r3.univar_main.c:52
+#: ../raster/r.univar/r.univar_main.c:52 ../vector/v.univar/main.c:122
 msgid "Percentile to calculate (requires extended statistics flag)"
-msgstr ""
-"Percentil, který se má spočítat (vyžaduje přepínač rozšíření statistiky)"
+msgstr "Percentil, který se má spočítat (vyžaduje přepínač rozšíření statistiky)"
 
 #: ../locale/scriptstrings/db.univar_to_translate.c:7
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:7
@@ -8873,8 +8644,7 @@ msgid "Rebuilds or removes all locally installed GRASS Addons extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:2
-msgid ""
-"By default only extensions built against different GIS Library are rebuilt."
+msgid "By default only extensions built against different GIS Library are rebuilt."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:4
@@ -9000,9 +8770,7 @@ msgid "Shift granularity"
 msgstr ""
 
 #: ../locale/scriptstrings/t.shift_to_translate.c:9
-msgid ""
-"Format absolute time: \"x years, x months, x weeks, x days, x hours, x "
-"minutes, x seconds\", relative time is of type integer"
+msgid "Format absolute time: \"x years, x months, x weeks, x days, x hours, x minutes, x seconds\", relative time is of type integer"
 msgstr ""
 
 #: ../locale/scriptstrings/d.correlate_to_translate.c:1
@@ -9021,10 +8789,8 @@ msgid "correlation"
 msgstr "Korelace"
 
 #: ../locale/scriptstrings/v.db.dropcolumn_to_translate.c:1
-msgid ""
-"Drops a column from the attribute table connected to a given vector map."
-msgstr ""
-"Odstraní sloupec z atributové tabulky připojené k dané vektorové vrstvě."
+msgid "Drops a column from the attribute table connected to a given vector map."
+msgstr "Odstraní sloupec z atributové tabulky připojené k dané vektorové vrstvě."
 
 #: ../locale/scriptstrings/v.db.dropcolumn_to_translate.c:5
 #, fuzzy
@@ -9033,9 +8799,7 @@ msgstr "Počet sloupců"
 
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
-msgid ""
-"Samples the input space time dataset(s) with a sample space time dataset and "
-"print the result to stdout."
+msgid "Samples the input space time dataset(s) with a sample space time dataset and print the result to stdout."
 msgstr "Název existující rastrové mapy obsahující výsledky klasifikace"
 
 #: ../locale/scriptstrings/t.sample_to_translate.c:5
@@ -9054,9 +8818,7 @@ msgid "Field separator between output columns, default is tabular \" | \""
 msgstr "Oddělovač sloupců (bodový mód)"
 
 #: ../locale/scriptstrings/t.sample_to_translate.c:10
-msgid ""
-"Do not use \",\" as this char is reserved to list several map ids in a "
-"sample granule"
+msgid "Do not use \",\" as this char is reserved to list several map ids in a sample granule"
 msgstr ""
 
 #: ../locale/scriptstrings/t.sample_to_translate.c:11
@@ -9096,12 +8858,8 @@ msgstr "Výsledná rastrová mapa"
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:1
 #: ../raster/r.buffer/main.c:69
 #, fuzzy
-msgid ""
-"Creates a raster map showing buffer zones surrounding cells that contain non-"
-"NULL category values."
-msgstr ""
-"Vytvoří rastrovou mapu zachycující obalové zóny kolem buněk s neNULLovou "
-"hodnotou."
+msgid "Creates a raster map showing buffer zones surrounding cells that contain non-NULL category values."
+msgstr "Vytvoří rastrovou mapu zachycující obalové zóny kolem buněk s neNULLovou hodnotou."
 
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:2
 msgid "This is the low-memory alternative to the classic r.buffer module."
@@ -9159,9 +8917,7 @@ msgstr "Název existující rastrové mapy"
 
 #: ../locale/scriptstrings/t.info_to_translate.c:10
 #, fuzzy
-msgid ""
-"Print history information in human readable shell style for space time "
-"datasets"
+msgid "Print history information in human readable shell style for space time datasets"
 msgstr "Potlač výpis informací z hlavičky"
 
 #: ../locale/scriptstrings/t.info_to_translate.c:11
@@ -9196,9 +8952,7 @@ msgid "The export format of a single raster map"
 msgstr "Vytvoří statistiku ploch pro rastrové mapy."
 
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:10
-msgid ""
-"Supported are GTiff, AAIGrid via r.out.gdal and the GRASS package format of "
-"r.pack"
+msgid "Supported are GTiff, AAIGrid via r.out.gdal and the GRASS package format of r.pack"
 msgstr ""
 
 #: ../locale/scriptstrings/db.dropcolumn_to_translate.c:1
@@ -9218,15 +8972,11 @@ msgid "accumulation"
 msgstr "Výpočet střední hodnoty"
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:6
-msgid ""
-"Input space time raster dataset that defines the lower threshold, values "
-"lower this threshold are excluded from accumulation"
+msgid "Input space time raster dataset that defines the lower threshold, values lower this threshold are excluded from accumulation"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:7
-msgid ""
-"Input space time raster dataset that defines the upper threshold, values "
-"upper this threshold are excluded from accumulation"
+msgid "Input space time raster dataset that defines the upper threshold, values upper this threshold are excluded from accumulation"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:8
@@ -9254,9 +9004,7 @@ msgid "The granularity for accumulation '1 day'"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
-msgid ""
-"Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+msgid "Use these limits in case lower and/or upper input  space time raster datasets are not defined"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9270,22 +9018,16 @@ msgid "Shift factor for input space time raster dataset"
 msgstr "Název existující rastrové mapy obsahující výsledky klasifikace"
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:18
-msgid ""
-"This method will be applied to compute the accumulative values from the "
-"input maps in a single granule"
+msgid "This method will be applied to compute the accumulative values from the input maps in a single granule"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:19
-msgid ""
-"Growing Degree Days or Winkler indices; Mean: sum(input maps)/(number of "
-"input maps); Biologically Effective Degree Days; Huglin Heliothermal index"
+msgid "Growing Degree Days or Winkler indices; Mean: sum(input maps)/(number of input maps); Biologically Effective Degree Days; Huglin Heliothermal index"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:20
 #: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:18
-msgid ""
-"Register empty maps in the output space time raster dataset, otherwise they "
-"will be deleted"
+msgid "Register empty maps in the output space time raster dataset, otherwise they will be deleted"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:21
@@ -9316,8 +9058,7 @@ msgid "Specify alternate spatial reference system (example: EPSG:4326)"
 msgstr ""
 
 #: ../locale/scriptstrings/v.in.wfs_to_translate.c:8
-msgid ""
-"The given code must be supported by the server, consult the capabilities file"
+msgid "The given code must be supported by the server, consult the capabilities file"
 msgstr ""
 
 #: ../locale/scriptstrings/v.in.wfs_to_translate.c:9
@@ -9338,9 +9079,7 @@ msgid "(default: start with the first feature)"
 msgstr ""
 
 #: ../locale/scriptstrings/v.in.wfs_to_translate.c:13
-msgid ""
-"Download server capabilities to 'wms_capabilities.xml' in the current "
-"directory and exit"
+msgid "Download server capabilities to 'wms_capabilities.xml' in the current directory and exit"
 msgstr ""
 
 #: ../locale/scriptstrings/v.in.wfs_to_translate.c:14
@@ -9417,9 +9156,7 @@ msgid "Method used for data listing"
 msgstr "Text pro jednotky nové mapy"
 
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:13
-msgid ""
-"The granule to be used for listing. The granule must be specified as string "
-"eg.: absolute time \"1 months\" or relative time \"1\""
+msgid "The granule to be used for listing. The granule must be specified as string eg.: absolute time \"1 months\" or relative time \"1\""
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:14
@@ -9456,16 +9193,14 @@ msgstr "Jména vstupních souborů"
 
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:1
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from the non-null cells for each registered "
-"3D raster map of a space time 3D raster dataset."
+msgid "Calculates univariate statistics from the non-null cells for each registered 3D raster map of a space time 3D raster dataset."
 msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
 
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:10
 #: ../locale/scriptstrings/t.rast.univar_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:10
-#: ../raster/r.univar/r3.univar_main.c:63 ../raster/r.univar/r.univar_main.c:66
-#: ../vector/v.univar/main.c:130
+#: ../raster/r.univar/r3.univar_main.c:63
+#: ../raster/r.univar/r.univar_main.c:66 ../vector/v.univar/main.c:130
 msgid "Calculate extended statistics"
 msgstr "Spočítej rozšířenou statistiku"
 
@@ -9489,8 +9224,7 @@ msgid "Supported are GML via v.out.ogr and the GRASS package format of v.pack"
 msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:1
-msgid ""
-"Exports a raster map to a text file as x,y,z values based on cell centers."
+msgid "Exports a raster map to a text file as x,y,z values based on cell centers."
 msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:4
@@ -9547,9 +9281,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:11
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:11
-msgid ""
-"Create a new location and import the data into it. Do not run this module in "
-"parallel or interrupt it when a new location should be created"
+msgid "Create a new location and import the data into it. Do not run this module in parallel or interrupt it when a new location should be created"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:12
@@ -9585,19 +9317,13 @@ msgid "Assume that the dataset has same projection as the current location"
 msgstr "Nelze získat jednotky kartografického zobrazení aktuální lokace"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:17
-msgid ""
-"Create the location specified by the \"location\" parameter and exit. Do not "
-"import the space time raster datasets."
+msgid "Create the location specified by the \"location\" parameter and exit. Do not import the space time raster datasets."
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:1
 #, fuzzy
-msgid ""
-"Create a 3D raster map from an assemblage of many coordinates using "
-"univariate statistics"
-msgstr ""
-"Vytvoří rastrovou mapu smontováním více souřadnic za pomoci univariantní "
-"statistiky"
+msgid "Create a 3D raster map from an assemblage of many coordinates using univariate statistics"
+msgstr "Vytvoří rastrovou mapu smontováním více souřadnic za pomoci univariantní statistiky"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
 #: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
@@ -9631,7 +9357,8 @@ msgstr "ASCII soubor obsahující vstupní data (\"-\" pro standardní vstup)"
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:10
 #: ../locale/scriptstrings/r.import_to_translate.c:11
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:6
-#: ../locale/scriptstrings/v.krige_to_translate.c:8 ../imagery/i.ifft/main.c:93
+#: ../locale/scriptstrings/v.krige_to_translate.c:8
+#: ../imagery/i.ifft/main.c:93
 msgid "Name for output raster map"
 msgstr "Název výstupní rastrové mapy"
 
@@ -9658,9 +9385,7 @@ msgstr "Typ uložení výsledné rastrové mapy"
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:15
 #: ../raster/r.in.xyz/main.c:201
 msgid "Column number of x coordinates in input file (first column is 1)"
-msgstr ""
-"Číslo sloupce použitého jako souřadnice x ve vstupním souboru (první sloupec "
-"je 1)"
+msgstr "Číslo sloupce použitého jako souřadnice x ve vstupním souboru (první sloupec je 1)"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:17
 #: ../raster/r.in.xyz/main.c:209
@@ -9704,12 +9429,8 @@ msgstr "pth percentil hodnot"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
 #: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
-msgid ""
-"Discard <trim> percent of the smallest and <trim> percent of the largest "
-"observations"
-msgstr ""
-"Vyřadit <trim> procent nejmenších a <trim> procent nejvetších hodnot "
-"pozorování"
+msgid "Discard <trim> percent of the smallest and <trim> percent of the largest observations"
+msgstr "Vyřadit <trim> procent nejmenších a <trim> procent nejvetších hodnot pozorování"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:31
 #, fuzzy
@@ -9741,9 +9462,7 @@ msgstr "bod"
 #: ../locale/scriptstrings/v.in.lines_to_translate.c:6
 #, fuzzy
 msgid "Create a 3D line from 3 column data"
-msgstr ""
-"Vytvoří novou vektorovou (bodovou) mapu na základě databázové takulky "
-"obsahující souřadnice."
+msgstr "Vytvoří novou vektorovou (bodovou) mapu na základě databázové takulky obsahující souřadnice."
 
 #: ../locale/scriptstrings/v.in.lines_to_translate.c:7
 #, fuzzy
@@ -9752,9 +9471,7 @@ msgstr "Jméno vstupního souboru, nebo \"-\" pročtení ze standardního vstupu
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:1
 #, fuzzy
-msgid ""
-"Creates/modifies the color table associated with each raster map of the "
-"space time raster dataset."
+msgid "Creates/modifies the color table associated with each raster map of the space time raster dataset."
 msgstr "Vytvoří/upraví tabulku barev spojenou s rastrovou mapou."
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:6
@@ -9809,8 +9526,9 @@ msgstr "Smazat existující tabulku barev"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
 #: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
-#: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
+#: ../locale/scriptstrings/r.mask_to_translate.c:20
+#: ../raster/r.null/main.c:107 ../raster/r.colors/edit_colors.c:116
+#: ../vector/v.colors/main.c:123
 #, fuzzy
 msgid "Remove"
 msgstr "Mazání přívěsků"
@@ -9848,11 +9566,8 @@ msgstr "Vyrovnání histogramu"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:1
 #, fuzzy
-msgid ""
-"Imports vector data into a GRASS vector map using OGR library and reprojects "
-"on the fly."
-msgstr ""
-"Importuje vektorová data do vektorové vrstvy GRASSu za použití knihovny OGR."
+msgid "Imports vector data into a GRASS vector map using OGR library and reprojects on the fly."
+msgstr "Importuje vektorová data do vektorové vrstvy GRASSu za použití knihovny OGR."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
 #, fuzzy
@@ -9862,8 +9577,7 @@ msgstr "Název rastrového souboru, který má být importován"
 #: ../locale/scriptstrings/v.import_to_translate.c:7
 #: ../vector/v.in.ogr/main.c:153
 msgid "OGR layer name. If not given, all available layers are imported"
-msgstr ""
-"Jméno OGR vrstvy, pokud není zadán, jsou pouze vytištěny přítomné vrstvy"
+msgstr "Jméno OGR vrstvy, pokud není zadán, jsou pouze vytištěny přítomné vrstvy"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
 #: ../vector/v.proj/main.c:104
@@ -9923,8 +9637,9 @@ msgid "Output vector map extent"
 msgstr "Výstupnívektorová mapa s chybami "
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Zarovnat současný region podle vstupní mapy"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
@@ -9958,9 +9673,7 @@ msgstr "Vstup"
 #: ../locale/scriptstrings/v.import_to_translate.c:24
 #, fuzzy
 msgid "-1 to list available datum transform parameters"
-msgstr ""
-"Není definována žádné číslo kategorie. používám přednastavené parametry "
-"transformace."
+msgstr "Není definována žádné číslo kategorie. používám přednastavené parametry transformace."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
 #: ../vector/v.in.ogr/main.c:251
@@ -10016,9 +9729,7 @@ msgstr "Minimální počet sloupců: %d"
 #: ../locale/scriptstrings/v.db.droprow_to_translate.c:1
 #, fuzzy
 msgid "Removes a vector feature from a vector map through attribute selection."
-msgstr ""
-"Nastavit barevné pravidla pro prvky vektoru s využitím numerického sloupce "
-"atributu."
+msgstr "Nastavit barevné pravidla pro prvky vektoru s využitím numerického sloupce atributu."
 
 #: ../locale/scriptstrings/v.centroids_to_translate.c:1
 msgid "Adds missing centroids to closed boundaries."
@@ -10068,9 +9779,7 @@ msgstr "Vstupní mapa obsahující linie"
 
 #: ../locale/scriptstrings/t.remove_to_translate.c:12
 #, fuzzy
-msgid ""
-"Remove all registered maps from the temporal and also from the spatial "
-"database"
+msgid "Remove all registered maps from the temporal and also from the spatial database"
 msgstr "Odstraní tabulku z databáze."
 
 #: ../locale/scriptstrings/t.remove_to_translate.c:13
@@ -10117,9 +9826,7 @@ msgstr "Oblast neobsahuje žádná data"
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:5
 #, fuzzy
 msgid "Create a 3D vector points map from 3 column Matlab data"
-msgstr ""
-"Vytvoří novou vektorovou (bodovou) mapu na základě databázové takulky "
-"obsahující souřadnice."
+msgstr "Vytvoří novou vektorovou (bodovou) mapu na základě databázové takulky obsahující souřadnice."
 
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:6
 #, fuzzy
@@ -10134,9 +9841,7 @@ msgstr "Jméno výstupního vektoru pro zarovnané body bystřin"
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:1
 #, fuzzy
 msgid "Mosaics several images and extends colormap."
-msgstr ""
-"Vytvoří mozaiku ze 4 a více snmků, roztáhne barevnou paletu a vytvoří mapu *."
-"mosaic"
+msgstr "Vytvoří mozaiku ze 4 a více snmků, roztáhne barevnou paletu a vytvoří mapu *.mosaic"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
@@ -10166,9 +9871,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:1
 #, fuzzy
-msgid ""
-"Aggregates temporally the maps of a space time raster dataset by a user "
-"defined granularity."
+msgid "Aggregates temporally the maps of a space time raster dataset by a user defined granularity."
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:3
@@ -10183,15 +9886,11 @@ msgid "aggregation"
 msgstr "Vytvoření"
 
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:7
-msgid ""
-"Either a numerical suffix or the start time (s-flag) separated by an "
-"underscore will be attached to create a unique identifier"
+msgid "Either a numerical suffix or the start time (s-flag) separated by an underscore will be attached to create a unique identifier"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:8
-msgid ""
-"Aggregation granularity, format absolute time \"x years, x months, x weeks, "
-"x days, x hours, x minutes, x seconds\" or an integer value for relative time"
+msgid "Aggregation granularity, format absolute time \"x years, x months, x weeks, x days, x hours, x minutes, x seconds\" or an integer value for relative time"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:9
@@ -10205,9 +9904,7 @@ msgstr "Název dvou nebo více vstupních rsatrových vrstev"
 
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:10
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:11
-msgid ""
-"Offset that is used to create the output map ids, output map id is generated "
-"as: basename_ (count + offset)"
+msgid "Offset that is used to create the output map ids, output map id is generated as: basename_ (count + offset)"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:11
@@ -10217,16 +9914,12 @@ msgstr "Počet bodů pro interpolaci"
 
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
-msgid ""
-"Use start time - truncated according to granularity - as suffix (overrides "
-"offset option)"
+msgid "Use start time - truncated according to granularity - as suffix (overrides offset option)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:1
 #, fuzzy
-msgid ""
-"Imports raster data into a GRASS raster map using GDAL library and "
-"reprojects on the fly."
+msgid "Imports raster data into a GRASS raster map using GDAL library and reprojects on the fly."
 msgstr "Importuje binární rastrový soubor jako GRASS rastrovou mapu."
 
 #: ../locale/scriptstrings/r.import_to_translate.c:5
@@ -10261,11 +9954,7 @@ msgid "Resampling method to use for reprojection"
 msgstr "Interpolační metoda, která má být použita"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:14
-msgid ""
-"nearest;nearest neighbor;bilinear;bilinear interpolation;bicubic;bicubic "
-"interpolation;lanczos;lanczos filter;bilinear_f;bilinear interpolation with "
-"fallback;bicubic_f;bicubic interpolation with fallback;lanczos_f;lanczos "
-"filter with fallback"
+msgid "nearest;nearest neighbor;bilinear;bilinear interpolation;bicubic;bicubic interpolation;lanczos;lanczos filter;bilinear_f;bilinear interpolation with fallback;bicubic_f;bicubic interpolation with fallback;lanczos_f;lanczos filter with fallback"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:16
@@ -10285,9 +9974,7 @@ msgstr "Rozlišení výstupní mapy"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:20
 #, fuzzy
-msgid ""
-"estimated;estimated resolution;value;user-specified resolution;region;"
-"current region resolution"
+msgid "estimated;estimated resolution;value;user-specified resolution;region;current region resolution"
 msgstr "Rozlišení mapy elevace je různé od současného rozlišení regionu"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:22
@@ -10370,12 +10057,8 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.plane_to_translate.c:1
 #, fuzzy
-msgid ""
-"Creates raster plane map given dip (inclination), aspect (azimuth) and one "
-"point."
-msgstr ""
-"Vytvoří rastrovou mapu a bodovou vektorovou mapu obsahující náhodně "
-"rozmístěné body."
+msgid "Creates raster plane map given dip (inclination), aspect (azimuth) and one point."
+msgstr "Vytvoří rastrovou mapu a bodovou vektorovou mapu obsahující náhodně rozmístěné body."
 
 #: ../locale/scriptstrings/r.plane_to_translate.c:4
 #, fuzzy
@@ -10432,9 +10115,7 @@ msgstr "Metrický"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:8
 msgid "Value to write for input cells which are non-NULL (-1 => NULL)"
-msgstr ""
-"Hodnota, která bude přiřazena vstupním, nenulovým, buňkám, které jsou ne-"
-"NULLOvé (-1 => NULL)"
+msgstr "Hodnota, která bude přiřazena vstupním, nenulovým, buňkám, které jsou ne-NULLOvé (-1 => NULL)"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:9
 msgid "Value to write for \"grown\" cells"
@@ -10451,9 +10132,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:1
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from a raster map based on a vector map and "
-"uploads statistics to new attribute columns."
+msgid "Calculates univariate statistics from a raster map based on a vector map and uploads statistics to new attribute columns."
 msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
@@ -10516,11 +10195,8 @@ msgstr "Hodnota pro označení buněk \"žádná data\""
 
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:9
 #: ../raster/r.out.vtk/parameters.c:59
-msgid ""
-"Create VTK point data instead of VTK cell data (if no elevation map is given)"
-msgstr ""
-"Vytvoří bodová data VTK z rastrových dat VTK (pokud není zadána žádná mapa s "
-"elevací)"
+msgid "Create VTK point data instead of VTK cell data (if no elevation map is given)"
+msgstr "Vytvoří bodová data VTK z rastrových dat VTK (pokud není zadána žádná mapa s elevací)"
 
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:10
 #: ../vector/v.out.vtk/main.c:84
@@ -10528,15 +10204,12 @@ msgid "Correct the coordinates to fit the VTK-OpenGL precision"
 msgstr "Opravte souřadnice tak, aby odpovídaly VTK-OpenGL přesnosti"
 
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:11
-msgid ""
-"Export files using the space time dataset granularity for equidistant time "
-"between maps, where statement will be ignored"
+msgid "Export files using the space time dataset granularity for equidistant time between maps, where statement will be ignored"
 msgstr ""
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
-msgid ""
-"Prints attributes of vector maps registered in a space time vector dataset."
+msgid "Prints attributes of vector maps registered in a space time vector dataset."
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
@@ -10583,9 +10256,7 @@ msgstr "Jméno atributového sloupce použitého pro volbu dotazu 'query'"
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 #, fuzzy
 msgid "Exports attribute tables into various formats."
-msgstr ""
-"Exportuje GRASS rastrové mapy do jednoho z formátů podporovaných knihovnou "
-"GDAL."
+msgstr "Exportuje GRASS rastrové mapy do jednoho z formátů podporovaných knihovnou GDAL."
 
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:5
 #, fuzzy
@@ -10655,33 +10326,22 @@ msgstr ""
 
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:1
 #, fuzzy
-msgid ""
-"Stores raster map values at spatial and temporal positions of vector points "
-"as vector attributes."
-msgstr ""
-"Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
+msgid "Stores raster map values at spatial and temporal positions of vector points as vector attributes."
+msgstr "Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
 
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:6
 #, fuzzy
-msgid ""
-"Name of the vector column to be created and to store sampled raster values"
+msgid "Name of the vector column to be created and to store sampled raster values"
 msgstr "Název sloupce atributu, který má být použit pro štítky"
 
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:7
-msgid ""
-"The use of a column name forces t.vect.what.rast to sample only values from "
-"the first map found in an interval. Otherwise the raster map names are used "
-"as column names"
+msgid "The use of a column name forces t.vect.what.rast to sample only values from the first map found in an interval. Otherwise the raster map names are used as column names"
 msgstr ""
 
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:1
 #, fuzzy
-msgid ""
-"Georeference, rectify, and import Terra-ASTER imagery and relative DEMs "
-"using gdalwarp."
-msgstr ""
-"Georeferencuje, rektifikuje a importuje snímky ve formátu Terra-ASTER a "
-"příbuzných DMTů za použití gdalwarp."
+msgid "Georeference, rectify, and import Terra-ASTER imagery and relative DEMs using gdalwarp."
+msgstr "Georeferencuje, rektifikuje a importuje snímky ve formátu Terra-ASTER a příbuzných DMTů za použití gdalwarp."
 
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:5
 #: ../imagery/i.aster.toar/main.c:99
@@ -10699,16 +10359,12 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:8
 #, fuzzy
-msgid ""
-"List L1A or L1B band to translate (1,2,3n,...), or enter 'all' to translate "
-"all bands"
-msgstr ""
-"L1A nebo L1B k přeložení (1,2,3n,3b,4-14). Umím přeložit pouze jeden kanál"
+msgid "List L1A or L1B band to translate (1,2,3n,...), or enter 'all' to translate all bands"
+msgstr "L1A nebo L1B k přeložení (1,2,3n,3b,4-14). Umím přeložit pouze jeden kanál"
 
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:9
 #, fuzzy
-msgid ""
-"Base name for output raster map (band number will be appended to base name)"
+msgid "Base name for output raster map (band number will be appended to base name)"
 msgstr "Jméno výstupní rastrové mapy (saturation-sytost)"
 
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:1
@@ -10726,9 +10382,7 @@ msgid "Name of input E00 file"
 msgstr "Jména vstupních souborů"
 
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:1
-msgid ""
-"Allows the user to interactively query vector map layers at user-selected "
-"locations."
+msgid "Allows the user to interactively query vector map layers at user-selected locations."
 msgstr ""
 
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:1
@@ -10797,12 +10451,8 @@ msgid "Subset of columns from the other table"
 msgstr "Počet iterací"
 
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:1
-msgid ""
-"Adds one or more columns to the attribute table connected to a given vector "
-"map."
-msgstr ""
-"Přidá jeden nebo více sloupců k atributové tabulce připojené k zadané "
-"vektorové vrstvě."
+msgid "Adds one or more columns to the attribute table connected to a given vector map."
+msgstr "Přidá jeden nebo více sloupců k atributové tabulce připojené k zadané vektorové vrstvě."
 
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:5
 msgid "Layer number where to add column(s)"
@@ -10813,22 +10463,17 @@ msgid "Name and type of the new column(s) ('name type [,name type, ...]')"
 msgstr "Názvy a typy nových sloupců ('název typ [,název typ, ...]')"
 
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:7
-msgid ""
-"Data types depend on database backend, but all support VARCHAR(), INT, "
-"DOUBLE PRECISION and DATE"
+msgid "Data types depend on database backend, but all support VARCHAR(), INT, DOUBLE PRECISION and DATE"
 msgstr ""
 
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:1
 #, fuzzy
-msgid ""
-"Calculates univariate statistics on selected table column for a GRASS vector "
-"map."
+msgid "Calculates univariate statistics on selected table column for a GRASS vector map."
 msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:1
 #, fuzzy
-msgid ""
-"Imports a vector map as GRASS GIS specific archive file (packed with v.pack)"
+msgid "Imports a vector map as GRASS GIS specific archive file (packed with v.pack)"
 msgstr "Název základní rastrové mapy"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:5
@@ -10871,14 +10516,11 @@ msgstr "Název souboru s filtrem"
 
 #: ../locale/scriptstrings/t.list_to_translate.c:9
 #: ../locale/scriptstrings/t.list_to_translate.c:12
-msgid ""
-"Columns number_of_maps and granularity only available for space time datasets"
+msgid "Columns number_of_maps and granularity only available for space time datasets"
 msgstr ""
 
 #: ../locale/scriptstrings/v.db.addtable_to_translate.c:1
-msgid ""
-"Creates and connects a new attribute table to a given layer of an existing "
-"vector map."
+msgid "Creates and connects a new attribute table to a given layer of an existing vector map."
 msgstr ""
 
 #: ../locale/scriptstrings/v.db.addtable_to_translate.c:5
@@ -10904,17 +10546,12 @@ msgid "Name and type of the new column(s)"
 msgstr "Názvy a typy nových sloupců"
 
 #: ../locale/scriptstrings/v.db.addtable_to_translate.c:11
-msgid ""
-"Types depend on database backend, but all support VARCHAR(), INT, DOUBLE "
-"PRECISION and DATE. Example: \"label varchar(250), type integer\""
-msgstr ""
-"Typy závisí na použité databázi, ale všechny podporují VARCHAR(), INT, "
-"DOUBLE PRECISION a DATE). Příklad: \"popisek varchar(250), typ integer\""
+msgid "Types depend on database backend, but all support VARCHAR(), INT, DOUBLE PRECISION and DATE. Example: \"label varchar(250), type integer\""
+msgstr "Typy závisí na použité databázi, ale všechny podporují VARCHAR(), INT, DOUBLE PRECISION a DATE). Příklad: \"popisek varchar(250), typ integer\""
 
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:1
 #, fuzzy
-msgid ""
-"Replaces gaps in a space time raster dataset with interpolated raster maps."
+msgid "Replaces gaps in a space time raster dataset with interpolated raster maps."
 msgstr "Převede 3D rastrové mapy na 2D rastrové mapy"
 
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:8
@@ -10923,8 +10560,7 @@ msgid "Number of interpolation processes to run in parallel"
 msgstr "Počet bodů pro interpolaci"
 
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:9
-msgid ""
-"Assign the space time raster dataset start and end time to the output map"
+msgid "Assign the space time raster dataset start and end time to the output map"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rename_to_translate.c:1
@@ -10935,8 +10571,7 @@ msgstr "Vytvořit prázdnou databázi."
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:1
 #, fuzzy
 msgid "Sets color rules based on stddev from a raster map's mean value."
-msgstr ""
-"Nastavit pravidla barev podle směrodatné odchylky z průměrné hodnoty mapy"
+msgstr "Nastavit pravidla barev podle směrodatné odchylky z průměrné hodnoty mapy"
 
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:4
 #, fuzzy
@@ -10967,9 +10602,7 @@ msgid "Input is a 1-arcsec tile (default: 3-arcsec)"
 msgstr ""
 
 #: ../locale/scriptstrings/i.pansharpen_to_translate.c:1
-msgid ""
-"Image fusion algorithms to sharpen multispectral with high-res panchromatic "
-"channels"
+msgid "Image fusion algorithms to sharpen multispectral with high-res panchromatic channels"
 msgstr ""
 
 #: ../locale/scriptstrings/i.pansharpen_to_translate.c:3
@@ -11093,20 +10726,15 @@ msgstr ""
 
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:1
 #, fuzzy
-msgid ""
-"Imports a space time vector dataset from a GRASS GIS specific archive file."
+msgid "Imports a space time vector dataset from a GRASS GIS specific archive file."
 msgstr "Název základní rastrové mapy"
 
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:15
-msgid ""
-"Create the location specified by the \"location\" parameter and exit. Do not "
-"import the space time vector datasets."
+msgid "Create the location specified by the \"location\" parameter and exit. Do not import the space time vector datasets."
 msgstr ""
 
 #: ../locale/scriptstrings/t.unregister_to_translate.c:1
-msgid ""
-"Unregisters raster, vector and raster3d maps from the temporal database or a "
-"specific space time dataset."
+msgid "Unregisters raster, vector and raster3d maps from the temporal database or a specific space time dataset."
 msgstr ""
 
 #: ../locale/scriptstrings/t.unregister_to_translate.c:4
@@ -11121,15 +10749,11 @@ msgstr "Název existující(ch) rastrové(ých) map(y) pro dotazování."
 
 #: ../locale/scriptstrings/t.rast.univar_to_translate.c:1
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from the non-null cells for each registered "
-"raster map of a space time raster dataset."
+msgid "Calculates univariate statistics from the non-null cells for each registered raster map of a space time raster dataset."
 msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
 
 #: ../locale/scriptstrings/t.rast.univar_to_translate.c:10
-msgid ""
-"Ignore the current region settings and use the raster map regions for univar "
-"statistical calculation"
+msgid "Ignore the current region settings and use the raster map regions for univar statistical calculation"
 msgstr ""
 
 #: ../locale/scriptstrings/v.db.update_to_translate.c:1
@@ -11147,12 +10771,8 @@ msgstr "Doslovná hodnota, kterou má být sloupec aktualizován"
 
 #: ../locale/scriptstrings/v.db.update_to_translate.c:7
 #, fuzzy
-msgid ""
-"Name of other attribute column to query, can be combination of columns (e.g. "
-"co1+col2)"
-msgstr ""
-"Nová hodnota, která bude přiřazena do sloupečku (textové řetězce misí být "
-"'uvozeny')"
+msgid "Name of other attribute column to query, can be combination of columns (e.g. co1+col2)"
+msgstr "Nová hodnota, která bude přiřazena do sloupečku (textové řetězce misí být 'uvozeny')"
 
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 #, fuzzy
@@ -11213,9 +10833,7 @@ msgid "Use current location as input and LL WGS84 as output projection"
 msgstr ""
 
 #: ../locale/scriptstrings/m.proj_to_translate.c:21
-msgid ""
-"Output long/lat in decimal degrees, or other projections with many decimal "
-"places"
+msgid "Output long/lat in decimal degrees, or other projections with many decimal places"
 msgstr ""
 
 #: ../locale/scriptstrings/m.proj_to_translate.c:23
@@ -11231,9 +10849,7 @@ msgstr "Nezahrnuj jména sloupců do výstupu"
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:1
 #, fuzzy
 msgid "Converts vector polygons or points to lines."
-msgstr ""
-"Převede binární GRASS vektorovou mapovou vrstvu (pouze body) na 3D GRASS "
-"rastrovou mapovou vrstvu."
+msgstr "Převede binární GRASS vektorovou mapovou vrstvu (pouze body) na 3D GRASS rastrovou mapovou vrstvu."
 
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:7
 #, fuzzy
@@ -11298,10 +10914,7 @@ msgid "Driver used to communication with server"
 msgstr ""
 
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:15
-msgid ""
-"WMS_GDAL;Download data using GDAL WMS driver;WMS_GRASS;Download data using "
-"native GRASS-WMS driver;WMTS_GRASS;Download data using native GRASS-WMTS "
-"driver;OnEarth_GRASS;Download data using native GRASS-OnEarth driver;"
+msgid "WMS_GDAL;Download data using GDAL WMS driver;WMS_GRASS;Download data using native GRASS-WMS driver;WMTS_GRASS;Download data using native GRASS-WMTS driver;OnEarth_GRASS;Download data using native GRASS-OnEarth driver;"
 msgstr ""
 
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:17
@@ -11346,9 +10959,7 @@ msgid "Format: 0xRRGGBB"
 msgstr ""
 
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:35
-msgid ""
-"Capabilities file to parse (input). It is relevant for WMTS_GRASS and "
-"OnEarth_GRASS drivers"
+msgid "Capabilities file to parse (input). It is relevant for WMTS_GRASS and OnEarth_GRASS drivers"
 msgstr ""
 
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:36
@@ -11399,29 +11010,22 @@ msgid "Name of input raster map to generate legend from"
 msgstr "Název rastrové mapy, která má být použita pro <%s>"
 
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:1
-msgid ""
-"Observes specific locations in a space time raster dataset over a period of "
-"time using vector points."
+msgid "Observes specific locations in a space time raster dataset over a period of time using vector points."
 msgstr ""
 
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:6
 #, fuzzy
-msgid ""
-"Name of the new created vector map that stores the sampled values in "
-"different layers"
+msgid "Name of the new created vector map that stores the sampled values in different layers"
 msgstr "Název rastrové mapy která bude zobrazena"
 
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:7
 #, fuzzy
-msgid ""
-"Names of the vector columns to be created and to store sampled raster "
-"values, one name for each STRDS"
+msgid "Names of the vector columns to be created and to store sampled raster values, one name for each STRDS"
 msgstr "Název sloupce atributu, který má být použit pro štítky"
 
 #: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:1
 #, fuzzy
-msgid ""
-"Performs a neighborhood analysis for each map in a space time raster dataset."
+msgid "Performs a neighborhood analysis for each map in a space time raster dataset."
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
 #: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:6
@@ -11453,8 +11057,7 @@ msgstr "Počet třid "
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 #, fuzzy
 msgid "Uploads vector values at positions of vector points to the table."
-msgstr ""
-"Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
+msgstr "Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
 
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:8
 #: ../vector/v.what.rast3/main.c:75 ../vector/v.what.rast/main.c:82
@@ -11484,15 +11087,11 @@ msgid "Maximum query distance in map units"
 msgstr "Vzdálenost bufferu v mapových jednotkách"
 
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:1
-msgid ""
-"Aggregates data of an existing space time raster dataset using the time "
-"intervals of a second space time dataset."
+msgid "Aggregates data of an existing space time raster dataset using the time intervals of a second space time dataset."
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:6
-msgid ""
-"Time intervals from this space time dataset (raster, vector or raster3d) are "
-"used for aggregation computation"
+msgid "Time intervals from this space time dataset (raster, vector or raster3d) are used for aggregation computation"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:7
@@ -11502,8 +11101,7 @@ msgstr "Název souboru s filtrem"
 
 #: ../locale/scriptstrings/r.unpack_to_translate.c:1
 #, fuzzy
-msgid ""
-"Imports a raster map as GRASS GIS specific archive file (packed with r.pack)"
+msgid "Imports a raster map as GRASS GIS specific archive file (packed with r.pack)"
 msgstr "Název základní rastrové mapy"
 
 #: ../locale/scriptstrings/r.unpack_to_translate.c:6
@@ -11516,9 +11114,7 @@ msgid "Maintains GRASS Addons extensions in local GRASS installation."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
-msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+msgid "Downloads, installs extensions from GRASS Addons SVN repository into local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
@@ -11549,16 +11145,12 @@ msgstr "Vypiš dostupná pravidla barev a ukonči se"
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:14
 #, fuzzy
-msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+msgid "List available extensions in the GRASS Addons SVN repository including module description"
 msgstr "Vypiš dostupná pravidla barev a ukonči se"
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:16
 #, fuzzy
-msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+msgid "List available extensions in the GRASS Addons SVN repository (shell script style)"
 msgstr "Vypiš dostupná pravidla barev a ukonči se"
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:18
@@ -11609,20 +11201,15 @@ msgid "Description of the space time dataset"
 msgstr "Název souboru s filtrem"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
-msgid ""
-"Update the metadata information and spatial extent of registered maps from "
-"the GRASS spatial database"
+msgid "Update the metadata information and spatial extent of registered maps from the GRASS spatial database"
 msgstr ""
 
 #: ../locale/scriptstrings/t.support_to_translate.c:11
-msgid ""
-"Check for removed maps and delete them from the temporal database and all "
-"effected space time datasets"
+msgid "Check for removed maps and delete them from the temporal database and all effected space time datasets"
 msgstr ""
 
 #: ../locale/scriptstrings/t.support_to_translate.c:12
-msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+msgid "Update metadata information, temporal and spatial extent from registered maps"
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11631,9 +11218,7 @@ msgid "Rebuilds topology on all vector maps in the current mapset."
 msgstr "Nelze editovat vektorovou vrstvu uloženou v jiném mapsetu."
 
 #: ../locale/scriptstrings/t.select_to_translate.c:1
-msgid ""
-"Select maps from space time datasets by topological relationships to other "
-"space time datasets using temporal algebra."
+msgid "Select maps from space time datasets by topological relationships to other space time datasets using temporal algebra."
 msgstr ""
 
 #: ../locale/scriptstrings/t.select_to_translate.c:7
@@ -11744,9 +11329,7 @@ msgid "Display online manuals instead of locally installed"
 msgstr ""
 
 #: ../locale/scriptstrings/g.manual_to_translate.c:9
-msgid ""
-"Use online manuals available at http://grass.osgeo.org website. This flag "
-"has no effect when displaying MAN text pages."
+msgid "Use online manuals available at http://grass.osgeo.org website. This flag has no effect when displaying MAN text pages."
 msgstr ""
 
 #: ../locale/scriptstrings/g.manual_to_translate.c:10
@@ -11755,8 +11338,7 @@ msgid "Manual entry to be displayed"
 msgstr "Rastrová mapa, která má být vzorkována"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:1
-msgid ""
-"Displays spectral response at user specified locations in group or images."
+msgid "Displays spectral response at user specified locations in group or images."
 msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:5
@@ -11787,9 +11369,7 @@ msgstr "Text k zobrazení"
 
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
-msgid ""
-"Performs different aggregation algorithms from r.series on all or a subset "
-"of raster maps in a space time raster dataset."
+msgid "Performs different aggregation algorithms from r.series on all or a subset of raster maps in a space time raster dataset."
 msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
 
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:3
@@ -11806,21 +11386,18 @@ msgstr "Vytvořit prázdnou databázi."
 
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
-msgid ""
-"Do not assign the space time raster dataset start and end time to the output "
-"map"
+msgid "Do not assign the space time raster dataset start and end time to the output map"
 msgstr "Převede 3D rastrové mapy na 2D rastrové mapy"
 
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:9
 #: ../raster/r.series/main.c:183 ../raster/r.resamp.filter/main.c:425
-#: ../raster/r.resamp.stats/main.c:283 ../raster/r.series.accumulate/main.c:159
+#: ../raster/r.resamp.stats/main.c:283
+#: ../raster/r.series.accumulate/main.c:159
 msgid "Propagate NULLs"
 msgstr "Vytvářej hodnoty NULL"
 
 #: ../locale/scriptstrings/r.reclass.area_to_translate.c:1
-msgid ""
-"Reclasses a raster map greater or less than user specified area size (in "
-"hectares)."
+msgid "Reclasses a raster map greater or less than user specified area size (in hectares)."
 msgstr ""
 
 #: ../locale/scriptstrings/r.reclass.area_to_translate.c:5
@@ -11925,12 +11502,8 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.dissolve_to_translate.c:1
 #, fuzzy
-msgid ""
-"Dissolves boundaries between adjacent areas sharing a common category number "
-"or attribute."
-msgstr ""
-"Nebyla nalezena žádná atributová tabulka -> použiji jako atributy pouze "
-"čísla kategorie"
+msgid "Dissolves boundaries between adjacent areas sharing a common category number or attribute."
+msgstr "Nebyla nalezena žádná atributová tabulka -> použiji jako atributy pouze čísla kategorie"
 
 #: ../locale/scriptstrings/v.dissolve_to_translate.c:3
 #: ../vector/v.extract/main.c:80
@@ -11945,65 +11518,44 @@ msgstr "Číslo vrstvy (to)"
 #: ../locale/scriptstrings/v.dissolve_to_translate.c:7
 #, fuzzy
 msgid "Name of attribute column used to dissolve common boundaries"
-msgstr ""
-"Název sloupce atributu, který má být použit jaok štítky pro kategorie "
-"rastrové mapy"
+msgstr "Název sloupce atributu, který má být použit jaok štítky pro kategorie rastrové mapy"
 
 #: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:1
-msgid ""
-"Detects accumulation patterns in temporally accumulated space time raster "
-"datasets created by t.rast.accumulate."
+msgid "Detects accumulation patterns in temporally accumulated space time raster datasets created by t.rast.accumulate."
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:6
-msgid ""
-"Input space time raster dataset that specifies the minimum values to detect "
-"the accumulation pattern"
+msgid "Input space time raster dataset that specifies the minimum values to detect the accumulation pattern"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:7
-msgid ""
-"Input space time raster dataset that specifies the maximum values to detect "
-"the accumulation pattern"
+msgid "Input space time raster dataset that specifies the maximum values to detect the accumulation pattern"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:8
-msgid ""
-"The output space time raster dataset that stores the occurrence of the the "
-"accumulation pattern using the provided data range"
+msgid "The output space time raster dataset that stores the occurrence of the the accumulation pattern using the provided data range"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:9
-msgid ""
-"The output space time raster dataset that stores the indication of the "
-"start, intermediate and end of the specified data range"
+msgid "The output space time raster dataset that stores the indication of the start, intermediate and end of the specified data range"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:16
-msgid ""
-"The minimum and maximum value of the occurrence of accumulated values, these "
-"values will be used if the min/max space time raster datasets are not "
-"specified"
+msgid "The minimum and maximum value of the occurrence of accumulated values, these values will be used if the min/max space time raster datasets are not specified"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:17
-msgid ""
-"The user defined values that indicate start, intermediate and end status in "
-"the indicator output space time raster dataset"
+msgid "The user defined values that indicate start, intermediate and end status in the indicator output space time raster dataset"
 msgstr ""
 
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:1
 #, fuzzy
-msgid ""
-"Calculates univariate statistics of attributes for each registered vector "
-"map of a space time vector dataset"
+msgid "Calculates univariate statistics of attributes for each registered vector map of a space time vector dataset"
 msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
 
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:1
 #, fuzzy
-msgid ""
-"Performs spatio-temporal mapcalc expressions on temporally sampled maps of "
-"space time raster datasets."
+msgid "Performs spatio-temporal mapcalc expressions on temporally sampled maps of space time raster datasets."
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
@@ -12157,9 +11709,7 @@ msgstr "Zpracovávám..."
 
 #: ../imagery/i.landsat.acca/main.c:70
 #, c-format
-msgid ""
-"Input raster map <%s> is not floating point (process DN using i.landsat.toar "
-"to radiance first)"
+msgid "Input raster map <%s> is not floating point (process DN using i.landsat.toar to radiance first)"
 msgstr ""
 
 #: ../imagery/i.landsat.acca/main.c:104
@@ -12216,8 +11766,7 @@ msgid "Always use cloud signature (step 14)"
 msgstr ""
 
 #: ../imagery/i.landsat.acca/main.c:157
-msgid ""
-"Bypass second-pass processing, and merge warm (not ambiguous) and cold clouds"
+msgid "Bypass second-pass processing, and merge warm (not ambiguous) and cold clouds"
 msgstr ""
 
 #: ../imagery/i.landsat.acca/main.c:162
@@ -12231,9 +11780,7 @@ msgid "evapotranspiration"
 msgstr "vektor, transformace"
 
 #: ../imagery/i.evapo.pt/main.c:69
-msgid ""
-"Computes evapotranspiration calculation Priestley and Taylor formulation, "
-"1972."
+msgid "Computes evapotranspiration calculation Priestley and Taylor formulation, 1972."
 msgstr ""
 
 #: ../imagery/i.evapo.pt/main.c:75
@@ -12284,9 +11831,7 @@ msgstr ""
 #: ../imagery/i.cca/main.c:89
 #, fuzzy
 msgid "Canonical components analysis (CCA) program for image processing."
-msgstr ""
-"Program pro zpracování obrazových dat - kónickou transformaci komponent "
-"(cca)."
+msgstr "Program pro zpracování obrazových dat - kónickou transformaci komponent (cca)."
 
 #: ../imagery/i.cca/main.c:96
 msgid "Name of input imagery subgroup"
@@ -12324,8 +11869,7 @@ msgstr "Potřeba nejméně dva příznaky v souboru s příznaky."
 #: ../imagery/i.cca/main.c:226
 #, c-format
 msgid "The output cell map <%s.%d> has values outside the 0-255 range."
-msgstr ""
-"Výstupní rastrová (cell) mapa <%s.%d> obsahuje hodnoty mimo interval 0-255."
+msgstr "Výstupní rastrová (cell) mapa <%s.%d> obsahuje hodnoty mimo interval 0-255."
 
 #: ../imagery/i.zc/main.c:53 ../vector/v.lidar.edgedetection/main.c:74
 msgid "edges"
@@ -12450,12 +11994,8 @@ msgid "SMAP"
 msgstr ""
 
 #: ../imagery/i.smap/main.c:44
-msgid ""
-"Performs contextual image classification using sequential maximum a "
-"posteriori (SMAP) estimation."
-msgstr ""
-"Provede kontextuální klasifikaci obrazu s využitím metody SMAP (sequential "
-"maximum a posteriori)."
+msgid "Performs contextual image classification using sequential maximum a posteriori (SMAP) estimation."
+msgstr "Provede kontextuální klasifikaci obrazu s využitím metody SMAP (sequential maximum a posteriori)."
 
 #: ../imagery/i.smap/segment.c:67
 msgid "Number of classes must be < 256"
@@ -12483,8 +12023,7 @@ msgstr "Jméno rastrové mapy obsahující výsledky klasifikace"
 #: ../imagery/i.smap/parse.c:33
 #, fuzzy
 msgid "Name for output raster map holding goodness of fit (lower is better)"
-msgstr ""
-"Výstupní vektorová mapa, do které budou zapsány výběry vstupního vektoru"
+msgstr "Výstupní vektorová mapa, do které budou zapsány výběry vstupního vektoru"
 
 #: ../imagery/i.smap/parse.c:37
 msgid "Size of submatrix to process at one time"
@@ -12530,9 +12069,7 @@ msgid "Metadata file <%s> not found"
 msgstr "GRASS site soubor <%s> nebyl nalezen"
 
 #: ../imagery/i.landsat.toar/main.c:69
-msgid ""
-"Calculates top-of-atmosphere radiance or reflectance and temperature for "
-"Landsat MSS/TM/ETM+/OLI"
+msgid "Calculates top-of-atmosphere radiance or reflectance and temperature for Landsat MSS/TM/ETM+/OLI"
 msgstr ""
 
 #: ../imagery/i.landsat.toar/main.c:71 ../imagery/i.aster.toar/main.c:98
@@ -12737,8 +12274,7 @@ msgid "Output at-sensor radiance instead of reflectance for all bands"
 msgstr ""
 
 #: ../imagery/i.landsat.toar/main.c:226
-msgid ""
-"Input raster maps use as extension the number of the band instead the code"
+msgid "Input raster maps use as extension the number of the band instead the code"
 msgstr ""
 
 #: ../imagery/i.landsat.toar/main.c:230
@@ -12826,13 +12362,8 @@ msgstr "Klasifikovat spektrální odraz buňky v obrazových datech."
 
 #: ../imagery/i.maxlik/main.c:68
 #, fuzzy
-msgid ""
-"Classification is based on the spectral signature information generated by "
-"either i.cluster, g.gui.iclass, or i.gensig."
-msgstr ""
-"Obrazová funkce pro klasifikaci spektrální odrazivosti v obrazových datech "
-"založená na informaci o spekrálních příznacích vytvořených pomocí i.cluster, "
-"i.class nebo i.gensig."
+msgid "Classification is based on the spectral signature information generated by either i.cluster, g.gui.iclass, or i.gensig."
+msgstr "Obrazová funkce pro klasifikaci spektrální odrazivosti v obrazových datech založená na informaci o spekrálních příznacích vytvořených pomocí i.cluster, i.class nebo i.gensig."
 
 #: ../imagery/i.maxlik/main.c:82
 #, fuzzy
@@ -12846,21 +12377,13 @@ msgstr "Název rastrové mapy obsahující prahové výsledky"
 
 #: ../imagery/i.maxlik/open.c:27
 #, c-format
-msgid ""
-"Subgroup <%s> of group <%s> doesn't have any raster maps. The subgroup must "
-"have at least 2 raster maps."
-msgstr ""
-"Podskupina <%s> ze skupiny <%s> neobsahuje žádné rastrové mapy. Podskupina "
-"musí obsahovat nejméně 2 rastrové mapy"
+msgid "Subgroup <%s> of group <%s> doesn't have any raster maps. The subgroup must have at least 2 raster maps."
+msgstr "Podskupina <%s> ze skupiny <%s> neobsahuje žádné rastrové mapy. Podskupina musí obsahovat nejméně 2 rastrové mapy"
 
 #: ../imagery/i.maxlik/open.c:30
 #, c-format
-msgid ""
-"Subgroup <%s> of group <%s> only has 1 raster map. The subgroup must have at "
-"least 2 raster maps."
-msgstr ""
-"Podskupina <%s> ze skupiny <%s> obsahuje pouze 1 rastrovou mapu. Podskupina "
-"musí obsahovat nejméně 2 rastrové mapy."
+msgid "Subgroup <%s> of group <%s> only has 1 raster map. The subgroup must have at least 2 raster maps."
+msgstr "Podskupina <%s> ze skupiny <%s> obsahuje pouze 1 rastrovou mapu. Podskupina musí obsahovat nejméně 2 rastrové mapy."
 
 #: ../imagery/i.maxlik/open.c:47
 #, c-format
@@ -12995,9 +12518,7 @@ msgid "Name of time of satellite overpass raster map [local time in UTC]"
 msgstr "Jméno rastrové mapy s výškou vodní hladiny [m]"
 
 #: ../imagery/i.eb.netrad/main.c:85
-msgid ""
-"Name of the difference map of temperature from surface skin to about 2 m "
-"height [K]"
+msgid "Name of the difference map of temperature from surface skin to about 2 m height [K]"
 msgstr ""
 
 #: ../imagery/i.eb.netrad/main.c:89
@@ -13026,9 +12547,7 @@ msgid "Name of the output net radiation layer"
 msgstr "Název existující rastrové mapy obsahující výsledky klasifikace"
 
 #: ../imagery/i.evapo.time/main.c:79
-msgid ""
-"Computes temporal integration of satellite ET actual (ETa) following the "
-"daily ET reference (ETo) from meteorological station(s)."
+msgid "Computes temporal integration of satellite ET actual (ETa) following the daily ET reference (ETo) from meteorological station(s)."
 msgstr ""
 
 #: ../imagery/i.evapo.time/main.c:86
@@ -13340,12 +12859,8 @@ msgid "group <%s> references the following subgroups\n"
 msgstr "Podskupina <%s> neobsahuje žádné rastrové mapy"
 
 #: ../imagery/i.rgb.his/main.c:52
-msgid ""
-"Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-"
-"Intensity-Saturation) color space."
-msgstr ""
-"Převede rastrové mapy z RGB (Red-Green-Blue) barevného schématu do scématu "
-"HIS (Hue-Intensity-Saturation)"
+msgid "Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space."
+msgstr "Převede rastrové mapy z RGB (Red-Green-Blue) barevného schématu do scématu HIS (Hue-Intensity-Saturation)"
 
 #: ../imagery/i.rgb.his/main.c:58
 msgid "Name of input raster map (red)"
@@ -13434,9 +12949,7 @@ msgstr "Hledání trénovacích tříd..."
 #: ../imagery/i.gensig/get_train.c:55 ../imagery/i.gensigset/get_train.c:58
 #, c-format
 msgid "Training class %d only has one cell - this class will be ignored"
-msgstr ""
-"Trénovací třída %d obsahuje pouze jednu rastrovou buňku - tato třída bude "
-"ignorována."
+msgstr "Trénovací třída %d obsahuje pouze jednu rastrovou buňku - tato třída bude ignorována."
 
 #: ../imagery/i.gensig/get_train.c:60 ../imagery/i.gensigset/get_train.c:63
 msgid "Training map has no classes"
@@ -13470,9 +12983,7 @@ msgstr "Jméno výstupní imaginární čásit pole uložené jako rastrový sou
 
 #: ../imagery/i.fft/main.c:106
 msgid "Raster MASK found, consider to remove (see man-page). Will continue..."
-msgstr ""
-"Nalezena rastrová MASKA, zvažte její odstranění (viz manuálová stránka). "
-"Pokračuji..."
+msgstr "Nalezena rastrová MASKA, zvažte její odstranění (viz manuálová stránka). Pokračuji..."
 
 #: ../imagery/i.fft/main.c:129
 #, c-format
@@ -13496,9 +13007,7 @@ msgid " "
 msgstr " "
 
 #: ../imagery/i.evapo.pm/main.c:61
-msgid ""
-"Computes potential evapotranspiration calculation with hourly Penman-"
-"Monteith."
+msgid "Computes potential evapotranspiration calculation with hourly Penman-Monteith."
 msgstr ""
 
 #: ../imagery/i.evapo.pm/main.c:65
@@ -13546,9 +13055,7 @@ msgid "Use Night-time"
 msgstr ""
 
 #: ../imagery/i.evapo.mh/main.c:72
-msgid ""
-"Computes evapotranspiration calculation modified or original Hargreaves "
-"formulation, 2001."
+msgid "Computes evapotranspiration calculation modified or original Hargreaves formulation, 2001."
 msgstr ""
 
 #: ../imagery/i.evapo.mh/main.c:78
@@ -13786,20 +13293,12 @@ msgid "class distribution"
 msgstr "distribuce třídy"
 
 #: ../imagery/i.cluster/main.c:79
-msgid ""
-"Generates spectral signatures for land cover types in an image using a "
-"clustering algorithm."
-msgstr ""
-"Vytvořit spektrální jednotky typů půdního pokryvu pomocí algoritmu "
-"seskupování. "
+msgid "Generates spectral signatures for land cover types in an image using a clustering algorithm."
+msgstr "Vytvořit spektrální jednotky typů půdního pokryvu pomocí algoritmu seskupování. "
 
 #: ../imagery/i.cluster/main.c:82
-msgid ""
-"The resulting signature file is used as input for i.maxlik, to generate an "
-"unsupervised image classification."
-msgstr ""
-"Výsledný soubor spektrálních signatur je používán jako vstup pro modul i."
-"maxlik,který na jeho základě provede neřízenou klasifikaci snímku."
+msgid "The resulting signature file is used as input for i.maxlik, to generate an unsupervised image classification."
+msgstr "Výsledný soubor spektrálních signatur je používán jako vstup pro modul i.maxlik,který na jeho základě provede neřízenou klasifikaci snímku."
 
 #: ../imagery/i.cluster/main.c:102
 msgid "Initial number of classes"
@@ -13995,18 +13494,12 @@ msgid "Sample size: %d points%s"
 msgstr "Velikost vzorku: %d bodů\n"
 
 #: ../imagery/i.cluster/main.c:297
-msgid ""
-"Not enough sample points. Please run again and choose a larger sample size."
-msgstr ""
-"Nedostatek bodů vzorku. Prosím, spusťte znovu a vyberte menší velikost "
-"vzorku."
+msgid "Not enough sample points. Please run again and choose a larger sample size."
+msgstr "Nedostatek bodů vzorku. Prosím, spusťte znovu a vyberte menší velikost vzorku."
 
 #: ../imagery/i.cluster/main.c:301
-msgid ""
-"Not enough non-zero sample data points. Check your current region (and mask)."
-msgstr ""
-"Nedostatek nenulových bodů vzorku. Zkontrolujte váš aktuální region (a "
-"masku)."
+msgid "Not enough non-zero sample data points. Check your current region (and mask)."
+msgstr "Nedostatek nenulových bodů vzorku. Zkontrolujte váš aktuální region (a masku)."
 
 #: ../imagery/i.cluster/main.c:314
 #, fuzzy, c-format
@@ -14060,8 +13553,7 @@ msgid "Calculates different types of vegetation indices."
 msgstr ""
 
 #: ../imagery/i.vi/main.c:94
-msgid ""
-"Uses red and nir bands mostly, and some indices require additional bands."
+msgid "Uses red and nir bands mostly, and some indices require additional bands."
 msgstr ""
 
 #: ../imagery/i.vi/main.c:101
@@ -14217,9 +13709,7 @@ msgid "Maximum bits for digital numbers"
 msgstr "Maximální poloměr kruhu (v metrech)"
 
 #: ../imagery/i.vi/main.c:202
-msgid ""
-"If data is in Digital Numbers (i.e. integer type), give the max bits (i.e. 8 "
-"for Landsat -> [0-255])"
+msgid "If data is in Digital Numbers (i.e. integer type), give the max bits (i.e. 8 for Landsat -> [0-255])"
 msgstr ""
 
 #: ../imagery/i.vi/main.c:227
@@ -14255,8 +13745,7 @@ msgid "msavi index requires red and nir maps"
 msgstr ""
 
 #: ../imagery/i.vi/main.c:253
-msgid ""
-"msavi2 index requires red and nir maps, and 3 parameters related to soil line"
+msgid "msavi2 index requires red and nir maps, and 3 parameters related to soil line"
 msgstr ""
 
 #: ../imagery/i.vi/main.c:256
@@ -14573,9 +14062,7 @@ msgid "mcd43B2q: Quality of BRDF correction performed"
 msgstr ""
 
 #: ../imagery/i.modis.qc/main.c:310
-msgid ""
-"Band number of MODIS product (mod09Q1=[1,2],mod09A1=[1-7],m[o/"
-"y]d09CMG=[1-7], mcd43B2q=[1-7])"
+msgid "Band number of MODIS product (mod09Q1=[1,2],mod09A1=[1-7],m[o/y]d09CMG=[1-7], mcd43B2q=[1-7])"
 msgstr ""
 
 #: ../imagery/i.modis.qc/main.c:314
@@ -14879,9 +14366,7 @@ msgstr "Soubor s kontrolními body pro skupinu <%s@%s> - "
 #: ../imagery/i.rectify/cp.c:21
 #, fuzzy, c-format
 msgid "Not enough active control points for thin plate spline."
-msgstr ""
-"Nedostatek aktivnich kontrolních bodů pro zadaný řád rektifikace, je "
-"požadováno %d."
+msgstr "Nedostatek aktivnich kontrolních bodů pro zadaný řád rektifikace, je požadováno %d."
 
 #: ../imagery/i.rectify/cp.c:24 ../imagery/i.rectify/cp.c:51
 #: ../vector/v.rectify/cp.c:363
@@ -14906,9 +14391,7 @@ msgstr "Neplatný řád rektifikace"
 #: ../imagery/i.rectify/cp.c:47 ../vector/v.rectify/cp.c:359
 #, c-format
 msgid "Not enough active control points for current order, %d are required."
-msgstr ""
-"Nedostatek aktivnich kontrolních bodů pro zadaný řád rektifikace, je "
-"požadováno %d."
+msgstr "Nedostatek aktivnich kontrolních bodů pro zadaný řád rektifikace, je požadováno %d."
 
 #: ../imagery/i.rectify/main.c:100 ../vector/v.rectify/main.c:71
 #, fuzzy
@@ -14916,12 +14399,8 @@ msgid "rectify"
 msgstr "obrazová datsa, rektifikace"
 
 #: ../imagery/i.rectify/main.c:102
-msgid ""
-"Rectifies an image by computing a coordinate transformation for each pixel "
-"in the image based on the control points."
-msgstr ""
-"Rektifikuje obrazová data na základě vlícovacích bodů pomocí souřadnicové "
-"transformace pro každý pixel obrazu."
+msgid "Rectifies an image by computing a coordinate transformation for each pixel in the image based on the control points."
+msgstr "Rektifikuje obrazová data na základě vlícovacích bodů pomocí souřadnicové transformace pro každý pixel obrazu."
 
 #: ../imagery/i.rectify/main.c:116
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:103
@@ -14945,11 +14424,8 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:153
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:137
-msgid ""
-"Use current region settings in target location (def.=calculate smallest area)"
-msgstr ""
-"Použít nastavení aktuálního regionu ve cílové location (def.=vypočítat "
-"nejmenší plochu)"
+msgid "Use current region settings in target location (def.=calculate smallest area)"
+msgstr "Použít nastavení aktuálního regionu ve cílové location (def.=vypočítat nejmenší plochu)"
 
 #: ../imagery/i.rectify/main.c:157
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:141
@@ -15092,7 +14568,7 @@ msgid "Name of target mapset"
 msgstr "Název cílového mapsetu"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Nastaví aktuální lokaci a mapset jako cíl pro obrazovou skupinu"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15193,8 +14669,7 @@ msgid "Name of input bounding/constraining raster map"
 msgstr "Název vstupní rastrové mapy"
 
 #: ../imagery/i.segment/parse_args.c:117
-msgid ""
-"Must be integer values, each area will be segmented independent of the others"
+msgid "Must be integer values, each area will be segmented independent of the others"
 msgstr ""
 
 #: ../imagery/i.segment/parse_args.c:123
@@ -15203,9 +14678,7 @@ msgid "Name for output goodness of fit estimate map"
 msgstr "Název výstupní rastrové mapy profilových křivostí"
 
 #: ../imagery/i.segment/parse_args.c:128
-msgid ""
-"Use 8 neighbors (3x3 neighborhood) instead of the default 4 neighbors for "
-"each pixel"
+msgid "Use 8 neighbors (3x3 neighborhood) instead of the default 4 neighbors for each pixel"
 msgstr ""
 
 #: ../imagery/i.segment/parse_args.c:134
@@ -15285,13 +14758,15 @@ msgstr "Zapisuji výstupní mapu..."
 msgid "Group <%s> not found in the current mapset"
 msgstr "Rastrová mapa <%s> nebyla v aktuálním mapsetu nalezena"
 
-#: ../imagery/i.segment/write_output.c:100 ../imagery/i.segment/open_files.c:44
+#: ../imagery/i.segment/write_output.c:100
+#: ../imagery/i.segment/open_files.c:44
 #, fuzzy, c-format
 msgid "Group <%s> contains no raster maps"
 msgstr "Skupina <%s> neobsahuje žádné mapové vrstvy. Spusťte i.group"
 
-#: ../imagery/i.segment/write_output.c:116 ../imagery/i.segment/open_files.c:69
-#: ../imagery/i.segment/open_files.c:228 ../imagery/i.segment/open_files.c:236
+#: ../imagery/i.segment/write_output.c:116
+#: ../imagery/i.segment/open_files.c:69 ../imagery/i.segment/open_files.c:228
+#: ../imagery/i.segment/open_files.c:236
 #, fuzzy, c-format
 msgid "No min/max found in raster map <%s>"
 msgstr "Sloupec <%s> nebyl nalezen v tabulce <%s>"
@@ -15405,9 +14880,7 @@ msgstr "Zpracovávám plochy..."
 
 #: ../imagery/i.segment/create_isegs.c:522
 #, c-format
-msgid ""
-"Segmentation processes stopped at %d due to reaching max iteration limit, "
-"more merges may be possible"
+msgid "Segmentation processes stopped at %d due to reaching max iteration limit, more merges may be possible"
 msgstr ""
 
 #: ../imagery/i.segment/create_isegs.c:524
@@ -15551,9 +15024,7 @@ msgid "Aggressive mode (Landsat)"
 msgstr ""
 
 #: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
-msgid ""
-"Albedo dry run to calculate some water to beach/sand/desert stretching, a "
-"kind of simple atmospheric correction"
+msgid "Albedo dry run to calculate some water to beach/sand/desert stretching, a kind of simple atmospheric correction"
 msgstr ""
 
 #: ../imagery/i.albedo/main.c:127
@@ -15593,9 +15064,7 @@ msgid "HAPEX-Sahel empirical correction (Roerink, 1995)"
 msgstr ""
 
 #: ../imagery/i.aster.toar/main.c:104
-msgid ""
-"Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature "
-"from ASTER DN.\n"
+msgid "Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature from ASTER DN.\n"
 msgstr ""
 
 #: ../imagery/i.aster.toar/main.c:108
@@ -15645,9 +15114,7 @@ msgid "The input band number should be 15"
 msgstr ""
 
 #: ../imagery/i.eb.evapfr/main.c:53
-msgid ""
-"Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil "
-"moisture (Makin, Molden and Bastiaanssen, 2001)."
+msgid "Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil moisture (Makin, Molden and Bastiaanssen, 2001)."
 msgstr ""
 
 #: ../imagery/i.eb.evapfr/main.c:63
@@ -15675,12 +15142,8 @@ msgid "Root zone soil moisture output (Makin, Molden and Bastiaanssen, 2001)"
 msgstr ""
 
 #: ../imagery/i.his.rgb/main.c:52
-msgid ""
-"Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to "
-"RGB (Red-Green-Blue) color space."
-msgstr ""
-"Převede rastrové mapy z HIS (Hue-Intensity-Saturation) barevného schématu do "
-"RGB (Red-Green-Blue) schématu."
+msgid "Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to RGB (Red-Green-Blue) color space."
+msgstr "Převede rastrové mapy z HIS (Hue-Intensity-Saturation) barevného schématu do RGB (Red-Green-Blue) schématu."
 
 #: ../imagery/i.his.rgb/main.c:58
 msgid "Name of input raster map (hue)"
@@ -15717,8 +15180,7 @@ msgstr "Nelze otevřít přechodný soubor."
 
 #: ../imagery/i.ifft/main.c:81
 msgid "Inverse Fast Fourier Transform (IFFT) for image processing."
-msgstr ""
-"Rychlá inverzní Fourierova transformace (IFFT) pro zpracování obrazových dat."
+msgstr "Rychlá inverzní Fourierova transformace (IFFT) pro zpracování obrazových dat."
 
 #: ../imagery/i.ifft/main.c:86
 msgid "Name of input raster map (image fft, real part)"
@@ -15847,9 +15309,7 @@ msgid "orthorectify"
 msgstr "obrazová datsa, rektifikace"
 
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:91
-msgid ""
-"Orthorectifies an image by using the image to photo coordinate "
-"transformation matrix."
+msgid "Orthorectifies an image by using the image to photo coordinate transformation matrix."
 msgstr ""
 
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:132
@@ -15942,8 +15402,7 @@ msgstr ""
 
 #: ../imagery/i.ortho.photo/i.ortho.camera/main.c:153
 #, c-format
-msgid ""
-"Replacing coordinates of principal point '%.17g, %.17g' with '%.17g, %.17g'"
+msgid "Replacing coordinates of principal point '%.17g, %.17g' with '%.17g, %.17g'"
 msgstr ""
 
 #: ../imagery/i.ortho.photo/i.ortho.camera/main.c:164
@@ -16056,9 +15515,7 @@ msgid "not found\n"
 msgstr "nenalezen"
 
 #: ../imagery/i.ortho.photo/i.ortho.init/main.c:50
-msgid ""
-"Interactively creates or modifies entries in a camera initial exposure "
-"station file for imagery group referenced by a sub-block."
+msgid "Interactively creates or modifies entries in a camera initial exposure station file for imagery group referenced by a sub-block."
 msgstr ""
 
 #: ../imagery/i.ortho.photo/i.ortho.init/main.c:62
@@ -16203,11 +15660,8 @@ msgstr "souřadnice y hydraulického napřimovače vodivosti v [m/s]"
 
 #: ../raster/r.solute.transport/main.c:79
 #, fuzzy
-msgid ""
-"The status for each cell, = 0 - inactive cell, 1 - active cell, 2 - "
-"dirichlet- and 3 - transfer boundary condition"
-msgstr ""
-"Status pro každou buňku, = 0 -neaktivní, 1 - aktivní, 2 - Dirichletovo šíření"
+msgid "The status for each cell, = 0 - inactive cell, 1 - active cell, 2 - dirichlet- and 3 - transfer boundary condition"
+msgstr "Status pro každou buňku, = 0 -neaktivní, 1 - aktivní, 2 - Dirichletovo šíření"
 
 #: ../raster/r.solute.transport/main.c:85
 #, fuzzy
@@ -16233,14 +15687,11 @@ msgid "Groundwater sources and sinks in [m^3/s]"
 msgstr "Prameny a jezera v [m^3/s]"
 
 #: ../raster/r.solute.transport/main.c:103
-msgid ""
-"Concentration sources and sinks bounded to a water source or sink in [kg/s]"
+msgid "Concentration sources and sinks bounded to a water source or sink in [kg/s]"
 msgstr ""
 
 #: ../raster/r.solute.transport/main.c:112
-msgid ""
-"Concentration of inner sources and inner sinks in [kg/s] (i.e. a chemical "
-"reaction)"
+msgid "Concentration of inner sources and inner sinks in [kg/s] (i.e. a chemical reaction)"
 msgstr ""
 
 #: ../raster/r.solute.transport/main.c:117
@@ -16261,26 +15712,19 @@ msgstr "Spodní vodonosný povrch v [m]"
 
 #: ../raster/r.solute.transport/main.c:132
 #, fuzzy
-msgid ""
-"The resulting concentration of the numerical solute transport calculation "
-"will be written to this map. [kg/m^3]"
-msgstr ""
-"Výsledná piezometrická hodnota numerického výpočtu bude zapsána do mapy"
+msgid "The resulting concentration of the numerical solute transport calculation will be written to this map. [kg/m^3]"
+msgstr "Výsledná piezometrická hodnota numerického výpočtu bude zapsána do mapy"
 
 #: ../raster/r.solute.transport/main.c:140
 #, fuzzy
-msgid ""
-"Calculate and store the groundwater filter velocity vector part in x "
-"direction [m/s]\n"
+msgid "Calculate and store the groundwater filter velocity vector part in x direction [m/s]\n"
 msgstr ""
 "Vypočítat filt rrychlosti pozemního toku vektorového pole [m/s]\n"
 "a zapsat x a y části do map s názvem jmeno_mapy_[xy]"
 
 #: ../raster/r.solute.transport/main.c:147
 #, fuzzy
-msgid ""
-"Calculate and store the groundwater filter velocity vector part in y "
-"direction [m/s]\n"
+msgid "Calculate and store the groundwater filter velocity vector part in y direction [m/s]\n"
 msgstr ""
 "Vypočítat filt rrychlosti pozemního toku vektorového pole [m/s]\n"
 "a zapsat x a y části do map s názvem jmeno_mapy_[xy]"
@@ -16294,9 +15738,7 @@ msgid "The transversal dispersivity length. [m]"
 msgstr ""
 
 #: ../raster/r.solute.transport/main.c:177
-msgid ""
-"Use this number of time loops if the CFL flag is off. The timestep will "
-"become dt/loops."
+msgid "Use this number of time loops if the CFL flag is off. The timestep will become dt/loops."
 msgstr ""
 
 #: ../raster/r.solute.transport/main.c:187
@@ -16304,9 +15746,7 @@ msgid "Set the flow stabilizing scheme (full or exponential upwinding)."
 msgstr ""
 
 #: ../raster/r.solute.transport/main.c:192 ../raster3d/r3.gwflow/main.c:131
-msgid ""
-"Use a full filled quadratic linear equation system, default is a sparse "
-"linear equation system."
+msgid "Use a full filled quadratic linear equation system, default is a sparse linear equation system."
 msgstr ""
 
 #: ../raster/r.solute.transport/main.c:199
@@ -16315,14 +15755,15 @@ msgstr ""
 
 #: ../raster/r.solute.transport/main.c:230
 #: ../raster/r.sim/r.sim.water/main.c:110
-#: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
-#: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
-#: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
-#: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
-#: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
-#: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
-#: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster/r.sim/r.sim.sediment/main.c:110
+#: ../raster/r.water.outlet/main.c:57 ../raster/r.topidx/main.c:40
+#: ../raster/r.drain/main.c:110 ../raster/r.topmodel/main.c:52
+#: ../raster/r.lake/main.c:151 ../raster/r.watershed/front/main.c:73
+#: ../raster/r.basins.fill/main.c:55 ../raster/r.flow/main.c:422
+#: ../raster/r.fill.dir/main.c:87 ../raster/r.uslek/main.c:54
+#: ../raster/r.gwflow/main.c:210 ../raster/r.carve/main.c:75
+#: ../raster/r.usler/main.c:53 ../raster/r.stream.extract/main.c:77
+#: ../raster3d/r3.gwflow/main.c:162
 msgid "hydrology"
 msgstr ""
 
@@ -16333,12 +15774,8 @@ msgstr "vektor, transformace"
 
 #: ../raster/r.solute.transport/main.c:233
 #, fuzzy
-msgid ""
-"Numerical calculation program for transient, confined and unconfined solute "
-"transport in two dimensions"
-msgstr ""
-"Numerický výpočetní program pro soustředěný, nesoustředěný a nejaký tok ve "
-"dvou dimenzích"
+msgid "Numerical calculation program for transient, confined and unconfined solute transport in two dimensions"
+msgstr "Numerický výpočetní program pro soustředěný, nesoustředěný a nejaký tok ve dvou dimenzích"
 
 #: ../raster/r.solute.transport/main.c:244 ../raster/r.topidx/main.c:56
 #: ../raster/r.gwflow/main.c:222 ../raster/r.carve/main.c:213
@@ -16376,8 +15813,7 @@ msgstr ""
 
 #: ../raster/r.solute.transport/main.c:385
 #, c-format
-msgid ""
-"The time step is to large: %gs. The largest time step should be of size %gs."
+msgid "The time step is to large: %gs. The largest time step should be of size %gs."
 msgstr ""
 
 #: ../raster/r.solute.transport/main.c:397
@@ -16395,7 +15831,8 @@ msgstr "Nelze vytvořit a vyřešit soustavu lineárních rovnic"
 msgid "Failed to set raster attribute table"
 msgstr "Nevytvářet atributové tabulky"
 
-#: ../raster/r.out.gdal/export_band.c:52 ../raster/r.out.gdal/export_band.c:344
+#: ../raster/r.out.gdal/export_band.c:52
+#: ../raster/r.out.gdal/export_band.c:344
 msgid "Unable to allocate buffer for reading raster map"
 msgstr "Nelze alokovat buffer pro čtení rastru"
 
@@ -16406,38 +15843,22 @@ msgstr "export do datového typu GDAL: %s"
 
 #: ../raster/r.out.gdal/export_band.c:161
 #, fuzzy, c-format
-msgid ""
-"Input raster map contains cells with NULL-value (no-data). The value %d will "
-"be used to represent no-data values in the input map. You can specify a "
-"nodata value with the %s option."
-msgstr ""
-"Vstupní rastrová mapa obsahující NULLové hodnoty (žádná data). Pro NULLové "
-"hodnoty byla použita hodnota %d. Můžete určit hodnotu reprezentující NULLové "
-"hodnoty parametrem %s."
+msgid "Input raster map contains cells with NULL-value (no-data). The value %d will be used to represent no-data values in the input map. You can specify a nodata value with the %s option."
+msgstr "Vstupní rastrová mapa obsahující NULLové hodnoty (žádná data). Pro NULLové hodnoty byla použita hodnota %d. Můžete určit hodnotu reprezentující NULLové hodnoty parametrem %s."
 
 #: ../raster/r.out.gdal/export_band.c:166
 #, fuzzy, c-format
-msgid ""
-"Input raster map contains cells with NULL-value (no-data). The value %g will "
-"be used to represent no-data values in the input map. You can specify a "
-"nodata value with the %s option."
-msgstr ""
-"Vstupní rastrová mapa obsahující NULLové hodnoty (žádná data). Pro NULLové "
-"hodnoty byla použita hodnota %d. Můžete určit hodnotu reprezentující NULLové "
-"hodnoty parametrem %s."
+msgid "Input raster map contains cells with NULL-value (no-data). The value %g will be used to represent no-data values in the input map. You can specify a nodata value with the %s option."
+msgstr "Vstupní rastrová mapa obsahující NULLové hodnoty (žádná data). Pro NULLové hodnoty byla použita hodnota %d. Můžete určit hodnotu reprezentující NULLové hodnoty parametrem %s."
 
 #: ../raster/r.out.gdal/export_band.c:176
 #, c-format
-msgid ""
-"The default nodata value is present in rasterband <%s> and would lead to "
-"data loss. Please specify a custom nodata value with the %s parameter."
+msgid "The default nodata value is present in rasterband <%s> and would lead to data loss. Please specify a custom nodata value with the %s parameter."
 msgstr ""
 
 #: ../raster/r.out.gdal/export_band.c:183
 #, c-format
-msgid ""
-"The user given nodata value %g is present in rasterband <%s> and would lead "
-"to data loss. Please specify a different nodata value with the %s parameter."
+msgid "The user given nodata value %g is present in rasterband <%s> and would lead to data loss. Please specify a different nodata value with the %s parameter."
 msgstr ""
 
 #: ../raster/r.out.gdal/export_band.c:227
@@ -16502,9 +15923,7 @@ msgstr "Podporované formáty:\n"
 
 #: ../raster/r.out.gdal/main.c:135
 msgid "Exports GRASS raster maps into GDAL supported formats."
-msgstr ""
-"Exportuje GRASS rastrové mapy do jednoho z formátů podporovaných knihovnou "
-"GDAL."
+msgstr "Exportuje GRASS rastrové mapy do jednoho z formátů podporovaných knihovnou GDAL."
 
 #: ../raster/r.out.gdal/main.c:141
 msgid "List supported output formats"
@@ -16583,12 +16002,8 @@ msgid "Metadata key(s) and value(s) to include"
 msgstr "Klíče metadat a hodnoty pro vložení"
 
 #: ../raster/r.out.gdal/main.c:214
-msgid ""
-"In the form of \"META-TAG=VALUE\", separate multiple entries with a comma. "
-"Not supported by all output format drivers."
-msgstr ""
-"Ve formuláři \"META-TAG=VALUE\", oddělujte násobný vstup tečkou. Není "
-"podporováno všemi ovladači formátu výstupu."
+msgid "In the form of \"META-TAG=VALUE\", separate multiple entries with a comma. Not supported by all output format drivers."
+msgstr "Ve formuláři \"META-TAG=VALUE\", oddělujte násobný vstup tečkou. Není podporováno všemi ovladači formátu výstupu."
 
 #: ../raster/r.out.gdal/main.c:224
 msgid "Assign a specified nodata value to output bands"
@@ -16611,12 +16026,8 @@ msgstr "Nelze získat ovladač <%s>"
 
 #: ../raster/r.out.gdal/main.c:278
 #, c-format
-msgid ""
-"Driver <%s> does not support direct writing. Using MEM driver for "
-"intermediate dataset."
-msgstr ""
-"Ovladač <%s> nepodporuje přímý zápis. Používám ovladač MEM pro přechodný "
-"dataset."
+msgid "Driver <%s> does not support direct writing. Using MEM driver for intermediate dataset."
+msgstr "Ovladač <%s> nepodporuje přímý zápis. Používám ovladač MEM pro přechodný dataset."
 
 #: ../raster/r.out.gdal/main.c:283
 msgid "Unable to get in-memory raster driver"
@@ -16643,23 +16054,17 @@ msgstr ""
 
 #: ../raster/r.out.gdal/main.c:445
 #, c-format
-msgid ""
-"Precision loss: Raster map <%s> of type %s to be exported as %s. This can be "
-"avoided by using %s."
+msgid "Precision loss: Raster map <%s> of type %s to be exported as %s. This can be avoided by using %s."
 msgstr ""
 
 #: ../raster/r.out.gdal/main.c:456
 #, c-format
-msgid ""
-"Precision loss: The range of <%s> can not be accurately preserved with GDAL "
-"datatype Float32. This can be avoided by exporting to Int32 or Float64."
+msgid "Precision loss: The range of <%s> can not be accurately preserved with GDAL datatype Float32. This can be avoided by exporting to Int32 or Float64."
 msgstr ""
 
 #: ../raster/r.out.gdal/main.c:464
 #, c-format
-msgid ""
-"Precision loss: Float32 can not preserve the DCELL precision of raster <%s>. "
-"This can be avoided by using Float64"
+msgid "Precision loss: Float32 can not preserve the DCELL precision of raster <%s>. This can be avoided by using Float64"
 msgstr ""
 
 #: ../raster/r.out.gdal/main.c:473
@@ -16740,10 +16145,7 @@ msgstr ""
 #: ../raster/r.out.gdal/main.c:760 ../raster/r.out.gdal/main.c:773
 #: ../raster/r.out.gdal/main.c:788
 #, c-format
-msgid ""
-"Mismatch between metadata nodata value and actual nodata value in exported "
-"raster: specified nodata value %g gets converted to %d by selected GDAL "
-"datatype."
+msgid "Mismatch between metadata nodata value and actual nodata value in exported raster: specified nodata value %g gets converted to %d by selected GDAL datatype."
 msgstr ""
 
 #: ../raster/r.out.gdal/main.c:736 ../raster/r.out.gdal/main.c:763
@@ -16759,10 +16161,7 @@ msgstr ""
 
 #: ../raster/r.out.gdal/main.c:802
 #, c-format
-msgid ""
-"Mismatch between metadata nodata value and actual nodata value in exported "
-"raster: specified nodata value %g gets converted to %g by selected GDAL "
-"datatype."
+msgid "Mismatch between metadata nodata value and actual nodata value in exported raster: specified nodata value %g gets converted to %g by selected GDAL datatype."
 msgstr ""
 
 #: ../raster/r.out.gdal/main.c:805
@@ -16803,16 +16202,8 @@ msgstr "Vytvoří statistiku ploch pro rastrové mapy."
 
 #: ../raster/r.ros/main.c:220
 #, fuzzy
-msgid ""
-"Generates three, or four raster map layers showing the base (perpendicular) "
-"rate of spread (ROS), the maximum (forward) ROS, the direction of the "
-"maximum ROS, and optionally the maximum potential spotting distance for fire "
-"spread simulation."
-msgstr ""
-"Vytvoří 3 nebo 4 rastrové mapy, kde: 1. - základní (kolmé) tempo šíření "
-"(ROS), 2. - maximální tempo (vpřed) ROS, 3. - směr maximálního ROS, a "
-"volitelně, 4. - maximální potenciální vzdálenost, na kterou se může přenést "
-"požár jiskrami."
+msgid "Generates three, or four raster map layers showing the base (perpendicular) rate of spread (ROS), the maximum (forward) ROS, the direction of the maximum ROS, and optionally the maximum potential spotting distance for fire spread simulation."
+msgstr "Vytvoří 3 nebo 4 rastrové mapy, kde: 1. - základní (kolmé) tempo šíření (ROS), 2. - maximální tempo (vpřed) ROS, 3. - směr maximálního ROS, a volitelně, 4. - maximální potenciální vzdálenost, na kterou se může přenést požár jiskrami."
 
 #: ../raster/r.ros/main.c:227
 #, fuzzy
@@ -16820,49 +16211,34 @@ msgid "Raster map containing fuel models"
 msgstr "Název rastrové mapy obsahující potenciálně hořlavý materiál"
 
 #: ../raster/r.ros/main.c:229
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing the standard fuel models defined by the USDA Forest Service. "
-"Valid values are 1-13; other numbers are recognized as barriers by r.ros."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing the standard fuel models defined by the USDA Forest Service. Valid values are 1-13; other numbers are recognized as barriers by r.ros."
 msgstr ""
 
 #: ../raster/r.ros/main.c:238
 #, fuzzy
 msgid "Raster map containing the 1-hour fuel moisture (%)"
-msgstr ""
-"Název rastrové mapy obsahující materiál, který vzdoruje ohni do 1 hodiny"
+msgstr "Název rastrové mapy obsahující materiál, který vzdoruje ohni do 1 hodiny"
 
 #: ../raster/r.ros/main.c:240 ../raster/r.spread/main.c:205
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing the 1-hour (<.25\") fuel moisture (percentage content "
-"multiplied by 100)."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing the 1-hour (<.25\") fuel moisture (percentage content multiplied by 100)."
 msgstr ""
 
 #: ../raster/r.ros/main.c:248
 #, fuzzy
 msgid "Raster map containing the 10-hour fuel moisture (%)"
-msgstr ""
-"Název rastrové mapy obsahující materiál, který vzdoruje ohni do 10 hodin"
+msgstr "Název rastrové mapy obsahující materiál, který vzdoruje ohni do 10 hodin"
 
 #: ../raster/r.ros/main.c:250
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing the 10-hour (.25-1\") fuel moisture (percentage content "
-"multiplied by 100)."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing the 10-hour (.25-1\") fuel moisture (percentage content multiplied by 100)."
 msgstr ""
 
 #: ../raster/r.ros/main.c:258
 #, fuzzy
 msgid "Raster map containing the 100-hour fuel moisture (%)"
-msgstr ""
-"Název rastrové mapy obsahující materiál, který vzdoruje ohni do 100 hodin"
+msgstr "Název rastrové mapy obsahující materiál, který vzdoruje ohni do 100 hodin"
 
 #: ../raster/r.ros/main.c:260
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing the 100-hour (1-3\") fuel moisture (percentage content "
-"multiplied by 100)."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing the 100-hour (1-3\") fuel moisture (percentage content multiplied by 100)."
 msgstr ""
 
 #: ../raster/r.ros/main.c:267
@@ -16871,10 +16247,7 @@ msgid "Raster map containing live fuel moisture (%)"
 msgstr "Název rastrové mapy obsahující vlhkost v rostlinách (%)"
 
 #: ../raster/r.ros/main.c:269
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing live (herbaceous) fuel moisture (percentage content "
-"multiplied by 100)."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing live (herbaceous) fuel moisture (percentage content multiplied by 100)."
 msgstr ""
 
 #: ../raster/r.ros/main.c:277
@@ -16883,10 +16256,7 @@ msgid "Raster map containing midflame wind velocities (ft/min)"
 msgstr "Název rastrové mapy obsahující rychlost větru (stopy/min)"
 
 #: ../raster/r.ros/main.c:279 ../raster/r.spread/main.c:193
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing wind velocities at half of the average flame height (feet/"
-"minute)."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing wind velocities at half of the average flame height (feet/minute)."
 msgstr ""
 
 #: ../raster/r.ros/main.c:287
@@ -16895,9 +16265,7 @@ msgid "Name of raster map containing wind directions (degree)"
 msgstr "Název rastrové mapy obsahující směry větru (ve stupních)"
 
 #: ../raster/r.ros/main.c:289
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing wind direction, clockwise from north (degree)."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing wind direction, clockwise from north (degree)."
 msgstr ""
 
 #: ../raster/r.ros/main.c:297
@@ -16906,23 +16274,16 @@ msgid "Name of raster map containing slope (degree)"
 msgstr "Název rastrové mapy sklonů svahů (ve stupních)"
 
 #: ../raster/r.ros/main.c:299
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing topographic slope (degree)."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing topographic slope (degree)."
 msgstr ""
 
 #: ../raster/r.ros/main.c:307
 #, fuzzy
 msgid "Raster map containing aspect (degree, CCW from E)"
-msgstr ""
-"Název rastrové mapy expozice svahů (ve stupních, od V proti směru hodinových "
-"ručiček)"
+msgstr "Název rastrové mapy expozice svahů (ve stupních, od V proti směru hodinových ručiček)"
 
 #: ../raster/r.ros/main.c:309
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing topographic aspect, counterclockwise from east (GRASS "
-"convention) in degrees."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing topographic aspect, counterclockwise from east (GRASS convention) in degrees."
 msgstr ""
 
 #: ../raster/r.ros/main.c:317
@@ -16931,10 +16292,7 @@ msgid "Raster map containing elevation (m, required for spotting)"
 msgstr "Název rastrové mapy obsahující DMR (m)"
 
 #: ../raster/r.ros/main.c:319
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing elevation (meters). Option is required from spotting "
-"distance computation (when spotting_distance option is provided)"
+msgid "Name of an existing raster map layer in the user's current mapset search path containing elevation (meters). Option is required from spotting distance computation (when spotting_distance option is provided)"
 msgstr ""
 
 #: ../raster/r.ros/main.c:328
@@ -16967,34 +16325,24 @@ msgstr ""
 #: ../raster/r.ros/main.c:352
 #, fuzzy
 msgid "Output raster map containing maximal spotting distance (m)"
-msgstr ""
-"Název rastrové mapy obsahující maximální vzdálenost, na kterou může "
-"přeskočit jiskra a způsobit požár (m) (požadováno w/ -s)"
+msgstr "Název rastrové mapy obsahující maximální vzdálenost, na kterou může přeskočit jiskra a způsobit požár (m) (požadováno w/ -s)"
 
 #: ../raster/r.ros/main.c:354
-msgid ""
-"The maximal potential spotting distance (requires elevation raster map to be "
-"provided)."
+msgid "The maximal potential spotting distance (requires elevation raster map to be provided)."
 msgstr ""
 
 #: ../raster/r.ros/main.c:373
-msgid ""
-"No dead fuel moisture is given. At least one of the 1-h, 10-h, 100-h "
-"moisture layers is required."
+msgid "No dead fuel moisture is given. At least one of the 1-h, 10-h, 100-h moisture layers is required."
 msgstr ""
 
 #: ../raster/r.ros/main.c:397
 #, c-format
-msgid ""
-"A wind direction layer should be given if the wind velocity layer <%s> has "
-"been given"
+msgid "A wind direction layer should be given if the wind velocity layer <%s> has been given"
 msgstr ""
 
 #: ../raster/r.ros/main.c:402
 #, c-format
-msgid ""
-"A wind velocity layer should be given if the wind direction layer <%s> has "
-"been given"
+msgid "A wind velocity layer should be given if the wind direction layer <%s> has been given"
 msgstr ""
 
 #: ../raster/r.ros/main.c:416
@@ -17019,8 +16367,7 @@ msgstr "Rastrová mapa <%s> byla vytvořena."
 #: ../raster/r.in.gridatb/main.c:48
 #, fuzzy
 msgid "Imports GRIDATB.FOR map file (TOPMODEL) into a GRASS raster map."
-msgstr ""
-"Importuje mapový soubor GRIDATB.FOR (TOPMODEL) jako rastrovou mapu GRASSu"
+msgstr "Importuje mapový soubor GRIDATB.FOR (TOPMODEL) jako rastrovou mapu GRASSu"
 
 #: ../raster/r.in.gridatb/main.c:51
 msgid "GRIDATB i/o map file"
@@ -17049,13 +16396,8 @@ msgid "patching"
 msgstr "Zobrazit obsah"
 
 #: ../raster/r.patch/main.c:61
-msgid ""
-"Creates a composite raster map layer by using known category values from one "
-"(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
-msgstr ""
-"Vytváří složenou rastrovou mapu tak, že použije známé hodnoty kategorií z "
-"jedné nebo několika map tak, že vyplní oblasti \"bez žádných dat\" v "
-"jinémapové vrstvě."
+msgid "Creates a composite raster map layer by using known category values from one (or more) map layer(s) to fill in areas of \"no data\" in another map layer."
+msgstr "Vytváří složenou rastrovou mapu tak, že použije známé hodnoty kategorií z jedné nebo několika map tak, že vyplní oblasti \"bez žádných dat\" v jinémapové vrstvě."
 
 #: ../raster/r.patch/main.c:68
 msgid "Name of raster maps to be patched together"
@@ -17195,8 +16537,7 @@ msgstr "Typ podporchového toku"
 #: ../raster/r.sim/r.sim.water/main.c:116
 #, fuzzy
 msgid "Overland flow hydrologic simulation using path sampling method (SIMWE)."
-msgstr ""
-"Hydrologický model povrchového odtoku s použitím metody vzorové cesty (SIMWE)"
+msgstr "Hydrologický model povrchového odtoku s použitím metody vzorové cesty (SIMWE)"
 
 #: ../raster/r.sim/r.sim.water/main.c:123
 #: ../raster/r.sim/r.sim.sediment/main.c:128
@@ -17274,9 +16615,7 @@ msgstr "Jméno vektorové mapy s koncovými body"
 
 #: ../raster/r.sim/r.sim.water/main.c:218
 #: ../raster/r.sim/r.sim.sediment/main.c:207
-msgid ""
-"Name for sampling points output text file. For each observation vector point "
-"the time series of sediment transport is stored."
+msgid "Name for sampling points output text file. For each observation vector point the time series of sediment transport is stored."
 msgstr ""
 
 #: ../raster/r.sim/r.sim.water/main.c:226
@@ -17306,9 +16645,7 @@ msgstr ""
 #: ../raster/r.sim/r.sim.water/main.c:271
 #, fuzzy
 msgid "Diffusion increases after this water depth is reached"
-msgstr ""
-"Prahová hloubka vody [m] (prostupnost se zvětšuje, pokud je tato hloubka "
-"dosažena)"
+msgstr "Prahová hloubka vody [m] (prostupnost se zvětšuje, pokud je tato hloubka dosažena)"
 
 #: ../raster/r.sim/r.sim.water/main.c:279
 msgid "Diffusion increase constant"
@@ -17368,7 +16705,8 @@ msgstr "nwalk (%d) > maxw (%d)!"
 msgid "Unable to write raster maps"
 msgstr "Nelze zapsat rastrové mapy"
 
-#: ../raster/r.sim/simlib/hydro.c:467 ../raster/r.sim/r.sim.sediment/main.c:382
+#: ../raster/r.sim/simlib/hydro.c:467
+#: ../raster/r.sim/r.sim.sediment/main.c:382
 msgid "Cannot write raster maps"
 msgstr "Nelze zapsat rastrové mapy"
 
@@ -17379,12 +16717,8 @@ msgstr "3D rastrová mapa <%s> nebyla nalezena"
 
 #: ../raster/r.sim/simlib/input.c:58
 #, c-format
-msgid ""
-"Raster map <%s> not found, and manin_val undefined, choose one to be allowed "
-"to process"
-msgstr ""
-"Rastrová mapa <%s> nabyla nalezena, a manin_val nenastavena, prosím vyberte "
-"jedno z toho pro umožnění výpočtu"
+msgid "Raster map <%s> not found, and manin_val undefined, choose one to be allowed to process"
+msgstr "Rastrová mapa <%s> nabyla nalezena, a manin_val nenastavena, prosím vyberte jedno z toho pro umožnění výpočtu"
 
 #: ../raster/r.sim/simlib/input.c:171
 msgid "Zero value in Mannings n"
@@ -17392,9 +16726,7 @@ msgstr "Nulová hodnota v Manningově součiniteli n (drsnost koryta)"
 
 #: ../raster/r.sim/simlib/input.c:222
 msgid "Infiltration exceeds the rainfall rate everywhere! No overland flow."
-msgstr ""
-"Vsak je větší než množství srážek na celém území! nevznikne žádný povrchový "
-"odtok."
+msgstr "Vsak je větší než množství srážek na celém území! nevznikne žádný povrchový odtok."
 
 #: ../raster/r.sim/simlib/input.c:246
 #, c-format
@@ -17408,9 +16740,7 @@ msgstr ""
 #: ../raster/r.sim/simlib/input.c:248
 #, c-format
 msgid "Mean Source Rate (rainf. excess or sediment) \t= %f m/s or kg/m2s \n"
-msgstr ""
-"průměrná hodnota zdroje (nadmíra srážek nebo sedimentů) \t= %f m/s nebo kg/"
-"m2s \n"
+msgstr "průměrná hodnota zdroje (nadmíra srážek nebo sedimentů) \t= %f m/s nebo kg/m2s \n"
 
 #: ../raster/r.sim/simlib/input.c:250
 #, c-format
@@ -17428,6 +16758,7 @@ msgid "Number of iterations \t= %d cell\n"
 msgid_plural "Number of iterations \t= %d cells\n"
 msgstr[0] "Počet opakování \t= %d buňek\n"
 msgstr[1] "Počet opakování \t= %d buňek\n"
+msgstr[2] ""
 
 #: ../raster/r.sim/simlib/input.c:257
 #, c-format
@@ -17469,12 +16800,8 @@ msgstr "Umístění"
 
 #: ../raster/r.sim/r.sim.sediment/main.c:117
 #, fuzzy
-msgid ""
-"Sediment transport and erosion/deposition simulation using path sampling "
-"method (SIMWE)."
-msgstr ""
-"Simulace transportu sedimentů a eroze/usazování za použití vzorové cesty "
-"(SIMWE)"
+msgid "Sediment transport and erosion/deposition simulation using path sampling method (SIMWE)."
+msgstr "Simulace transportu sedimentů a eroze/usazování za použití vzorové cesty (SIMWE)"
 
 #: ../raster/r.sim/r.sim.sediment/main.c:124
 #, fuzzy
@@ -17503,8 +16830,7 @@ msgstr "Výstupní rastrová mapa transportní kapacity [kg/ms]"
 
 #: ../raster/r.sim/r.sim.sediment/main.c:180
 #, fuzzy
-msgid ""
-"Name for output transport limited erosion-deposition raster map [kg/m2s]"
+msgid "Name for output transport limited erosion-deposition raster map [kg/m2s]"
 msgstr "Výstupní rastrová mapa transportem limitované eroze-usazování [kg/m2s]"
 
 #: ../raster/r.sim/r.sim.sediment/main.c:187
@@ -17626,8 +16952,7 @@ msgstr "Jemné rohy plošných prvků"
 
 #: ../raster/r.to.vect/main.c:99
 msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-"Použij rastrové hodnoty jako kategorie místo jedinečné sekvence (pouze CELL)"
+msgstr "Použij rastrové hodnoty jako kategorie místo jedinečné sekvence (pouze CELL)"
 
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
 #: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
@@ -17649,9 +16974,7 @@ msgstr "Posun hodnot souřadnice z"
 #: ../raster/r.to.vect/main.c:105
 #, fuzzy
 msgid "Table is not created. Currently supported only for points."
-msgstr ""
-"Zapíše rastrové hodnoty jako souřadnice z. Není vytvořena tabulka. V "
-"současné době jsou podporovány pouze body."
+msgstr "Zapíše rastrové hodnoty jako souřadnice z. Není vytvořena tabulka. V současné době jsou podporovány pouze body."
 
 #: ../raster/r.to.vect/main.c:111
 msgid "Do not build vector topology"
@@ -17666,27 +16989,18 @@ msgid "z flag is supported only for points"
 msgstr "přepínač -z není u bodů podporován"
 
 #: ../raster/r.to.vect/main.c:136
-msgid ""
-"Raster is not CELL, '-v' flag ignored, raster values will be written to the "
-"table."
-msgstr ""
-"Rastrová mapa není typu CELL, přepínač '-v' ignorován, rastrové hodnoty "
-"budou zapsány do tabulky."
+msgid "Raster is not CELL, '-v' flag ignored, raster values will be written to the table."
+msgstr "Rastrová mapa není typu CELL, přepínač '-v' ignorován, rastrové hodnoty budou zapsány do tabulky."
 
 #: ../raster/r.to.vect/main.c:138
 #, fuzzy
-msgid ""
-"Raster is not CELL, '-v' flag ignored, raster values will be z coordinate."
-msgstr ""
-"Rastrová mapa není typu CELL, přepínač '-v' ignorován, rastrové hodnoty "
-"budou zapsány do tabulky."
+msgid "Raster is not CELL, '-v' flag ignored, raster values will be z coordinate."
+msgstr "Rastrová mapa není typu CELL, přepínač '-v' ignorován, rastrové hodnoty budou zapsány do tabulky."
 
 #: ../raster/r.to.vect/main.c:140
 #, fuzzy
 msgid "Raster is not CELL, '-v' flag ignored, raster values will be lost."
-msgstr ""
-"Rastrová mapa není typu CELL, přepínač '-v' ignorován, rastrové hodnoty "
-"budou zapsány do tabulky."
+msgstr "Rastrová mapa není typu CELL, přepínač '-v' ignorován, rastrové hodnoty budou zapsány do tabulky."
 
 #: ../raster/r.to.vect/main.c:145
 msgid "Categories will be unique sequence, raster values will be lost."
@@ -17818,8 +17132,7 @@ msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
 #: ../raster/r.proj/main.c:218
 #, fuzzy
-msgid ""
-"Print input map's bounds in the current projection and exit (shell style)"
+msgid "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "Vypiš parametry současného připojení ve stylu shellu a ukonči se."
 
 #: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
@@ -17832,19 +17145,15 @@ msgstr "Vstupní a výstupní lokace jsou stejné."
 
 #: ../raster/r.proj/main.c:263
 msgid "Unable to get projection info of output raster map"
-msgstr ""
-"Nelze získat informace o kartografickém zobrazení výstupní rastrové vrstvy"
+msgstr "Nelze získat informace o kartografickém zobrazení výstupní rastrové vrstvy"
 
 #: ../raster/r.proj/main.c:266
 msgid "Unable to get projection units of output raster map"
-msgstr ""
-"Nelze získat jednotky kartografického zobrazení výstupní rastrové vrstvy"
+msgstr "Nelze získat jednotky kartografického zobrazení výstupní rastrové vrstvy"
 
 #: ../raster/r.proj/main.c:269
 msgid "Unable to get projection key values of output raster map"
-msgstr ""
-"Nelze získat klíčové hodnoty kartografického zobrazení výstupní rastrové "
-"vrstvy"
+msgstr "Nelze získat klíčové hodnoty kartografického zobrazení výstupní rastrové vrstvy"
 
 #: ../raster/r.proj/main.c:278
 #, c-format
@@ -17949,12 +17258,8 @@ msgid "reading r.stats output"
 msgstr "čtu výstup z r.stats"
 
 #: ../raster/r.mode/main.c:58
-msgid ""
-"Finds the mode of values in a cover map within areas assigned the same "
-"category value in a user-specified base map."
-msgstr ""
-"Nalezne modus hodnot z překrývající mapy, která bude rozdělena podle ploch "
-"se stejnými hodnotami z pokladové mapy."
+msgid "Finds the mode of values in a cover map within areas assigned the same category value in a user-specified base map."
+msgstr "Nalezne modus hodnot z překrývající mapy, která bude rozdělena podle ploch se stejnými hodnotami z pokladové mapy."
 
 #: ../raster/r.mode/main.c:64
 msgid "Base map to be reclassified"
@@ -17974,8 +17279,7 @@ msgid "%s: Unable to read category labels"
 msgstr "%s: Nemohu načít popisky kategorií"
 
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:47
-msgid ""
-"Calculates edge density index on a raster map, using a 4 neighbour algorithm"
+msgid "Calculates edge density index on a raster map, using a 4 neighbour algorithm"
 msgstr "Počítá index hustoty hran rastrové mapy za použití algoritmu 4 sousedů"
 
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:49
@@ -18028,9 +17332,7 @@ msgid "The value of the patch type"
 msgstr "Západní okraj"
 
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:69
-msgid ""
-"It can be integer, double or float; it will be changed in function of map "
-"type"
+msgid "It can be integer, double or float; it will be changed in function of map type"
 msgstr ""
 
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:74
@@ -18095,8 +17397,7 @@ msgstr "Nepravidelná definice překryvných maskovacích ploch"
 #: ../raster/r.li/r.li.daemon/daemon.c:479
 #, fuzzy, c-format
 msgid "The configuration file can only be used with the <%s> raster map"
-msgstr ""
-"Konfigurační soubor může být použit pouze s \t\t\t%s rastrovým souborem"
+msgstr "Konfigurační soubor může být použit pouze s \t\t\t%s rastrovým souborem"
 
 #: ../raster/r.li/r.li.daemon/daemon.c:485
 #, fuzzy
@@ -18123,9 +17424,7 @@ msgstr "Nelze provést lseek"
 #: ../raster/r.li/r.li.daemon/worker.c:135
 #, fuzzy, c-format
 msgid "unable to open <%s> mask ... continuing without!"
-msgstr ""
-"DCEŘINÝ PROCES[pid = %i]: nelze otevřít soubor s maskou %s ... pokračuji bez "
-"ní!"
+msgstr "DCEŘINÝ PROCES[pid = %i]: nelze otevřít soubor s maskou %s ... pokračuji bez ní!"
 
 #: ../raster/r.li/r.li.padcv/padcv.c:52
 msgid "Calculates coefficient of variation of patch area on a raster map"
@@ -18176,10 +17475,8 @@ msgid "Calculates Pielou's diversity index on a raster map"
 msgstr "Spočítá Simpsonův index diversity index rastrové mapy"
 
 #: ../raster/r.li/r.li.patchdensity/main.c:50
-msgid ""
-"Calculates patch density index on a raster map, using a 4 neighbour algorithm"
-msgstr ""
-"Počítá index hustoty plošek na rastrové mapě za použití algoritmu 4 sousedů"
+msgid "Calculates patch density index on a raster map, using a 4 neighbour algorithm"
+msgstr "Počítá index hustoty plošek na rastrové mapě za použití algoritmu 4 sousedů"
 
 #: ../raster/r.li/r.li.shape/main.c:48
 msgid "Calculates shape index on a raster map"
@@ -18190,18 +17487,12 @@ msgid "Calculates dominance's diversity index on a raster map"
 msgstr "Počítám index diversity dominance rastrové mapy"
 
 #: ../raster/r.li/r.li.mps/mps.c:51
-msgid ""
-"Calculates mean patch size index on a raster map, using a 4 neighbour "
-"algorithm"
-msgstr ""
-"Počítá průměrný index velikosti plošek rastrové mapy za použití algoritmu 4 "
-"sousedů."
+msgid "Calculates mean patch size index on a raster map, using a 4 neighbour algorithm"
+msgstr "Počítá průměrný index velikosti plošek rastrové mapy za použití algoritmu 4 sousedů."
 
 #: ../raster/r.li/r.li.patchnum/main.c:49
-msgid ""
-"Calculates patch number index on a raster map, using a 4 neighbour algorithm."
-msgstr ""
-"Počítá index počtu plošek na rastrové mapě za použití altoritmu 4 sousedů."
+msgid "Calculates patch number index on a raster map, using a 4 neighbour algorithm."
+msgstr "Počítá index počtu plošek na rastrové mapě za použití altoritmu 4 sousedů."
 
 #: ../raster/r.regression.multi/main.c:61
 msgid "Matrix is unsolvable"
@@ -18238,9 +17529,7 @@ msgstr ""
 
 #: ../raster/r.regression.multi/main.c:157
 #: ../raster/r.regression.line/main.c:65
-msgid ""
-"ASCII file for storing regression coefficients (output to screen if file not "
-"specified)."
+msgid "ASCII file for storing regression coefficients (output to screen if file not specified)."
 msgstr ""
 
 #: ../raster/r.regression.multi/main.c:249
@@ -18263,9 +17552,7 @@ msgstr ""
 
 #: ../raster/r.stats.zonal/main.c:105
 #, fuzzy
-msgid ""
-"Calculates category or object oriented statistics (accumulator-based "
-"statistics)."
+msgid "Calculates category or object oriented statistics (accumulator-based statistics)."
 msgstr "Počítá statistky podle kategorií nebo objektově orientované."
 
 #: ../raster/r.stats.zonal/main.c:115 ../raster/r.statistics/main.c:69
@@ -18336,54 +17623,32 @@ msgid "Solar irradiance and irradiation model."
 msgstr "Sluneční záření a model záření."
 
 #: ../raster/r.sun/main.c:245
-msgid ""
-"Computes direct (beam), diffuse and reflected solar irradiation raster maps "
-"for given day, latitude, surface and atmospheric conditions. Solar "
-"parameters (e.g. sunrise, sunset times, declination, extraterrestrial "
-"irradiance, daylight length) are saved in the map history file. "
-"Alternatively, a local time can be specified to compute solar incidence "
-"angle and/or irradiance raster maps. The shadowing effect of the topography "
-"is optionally incorporated."
-msgstr ""
-"Počítá mapu přímého (paprsek), difíşzního a odraženého slunečního záření pro "
-"zadaný den, zem. šířku, povrch a atmosférické podmínky. Sluneční parametry "
-"(např. východ a západ slunce) jsou uloženy do do souboru s historií mapy. "
-"Alternativně stačí specifikovat čas pro výpočet slunečního íşhlu a/nebo mapy "
-"ozáření. Také lze volitelně zahrnout efekt stínu terénu."
+msgid "Computes direct (beam), diffuse and reflected solar irradiation raster maps for given day, latitude, surface and atmospheric conditions. Solar parameters (e.g. sunrise, sunset times, declination, extraterrestrial irradiance, daylight length) are saved in the map history file. Alternatively, a local time can be specified to compute solar incidence angle and/or irradiance raster maps. The shadowing effect of the topography is optionally incorporated."
+msgstr "Počítá mapu přímého (paprsek), difíşzního a odraženého slunečního záření pro zadaný den, zem. šířku, povrch a atmosférické podmínky. Sluneční parametry (např. východ a západ slunce) jsou uloženy do do souboru s historií mapy. Alternativně stačí specifikovat čas pro výpočet slunečního íşhlu a/nebo mapy ozáření. Také lze volitelně zahrnout efekt stínu terénu."
 
 #: ../raster/r.sun/main.c:259
 msgid "Name of the input elevation raster map [meters]"
 msgstr "Název vstupního souboru s digitálním modelem terénu"
 
 #: ../raster/r.sun/main.c:268
-msgid ""
-"Name of the input aspect map (terrain aspect or azimuth of the solar panel) "
-"[decimal degrees]"
-msgstr ""
-"Jméno vstupní mapy expozice (expozice terénu nebo azimut slunce) [dicimální "
-"stupně]"
+msgid "Name of the input aspect map (terrain aspect or azimuth of the solar panel) [decimal degrees]"
+msgstr "Jméno vstupní mapy expozice (expozice terénu nebo azimut slunce) [dicimální stupně]"
 
 #: ../raster/r.sun/main.c:277
 msgid "A single value of the orientation (aspect), 270 is south"
 msgstr "Jedinečná hodnota orientace (expozice) 270 je Jih"
 
 #: ../raster/r.sun/main.c:286
-msgid ""
-"Name of the input slope raster map (terrain slope or solar panel "
-"inclination) [decimal degrees]"
-msgstr ""
-"Jméno vstupní mapy sklonových poměrů (míra svahů terénu nebo inklinace "
-"slunce [decimální stupně]"
+msgid "Name of the input slope raster map (terrain slope or solar panel inclination) [decimal degrees]"
+msgstr "Jméno vstupní mapy sklonových poměrů (míra svahů terénu nebo inklinace slunce [decimální stupně]"
 
 #: ../raster/r.sun/main.c:294
 msgid "A single value of inclination (slope)"
 msgstr "Jedinečná hodnota sklonu (svažitosti)"
 
 #: ../raster/r.sun/main.c:303
-msgid ""
-"Name of the Linke atmospheric turbidity coefficient input raster map [-]"
-msgstr ""
-"Název rastrového souboru Linkovými koeficienty atmosferické turbulence [-]"
+msgid "Name of the Linke atmospheric turbidity coefficient input raster map [-]"
+msgstr "Název rastrového souboru Linkovými koeficienty atmosferické turbulence [-]"
 
 #: ../raster/r.sun/main.c:312
 msgid "A single value of the Linke atmospheric turbidity coefficient [-]"
@@ -18409,15 +17674,12 @@ msgstr "Název existující rastrové mapy obsahující frikční hodnoty"
 
 #: ../raster/r.sun/main.c:357
 #, fuzzy
-msgid ""
-"Name of real-sky beam radiation coefficient (thick cloud) input raster map "
-"[0-1]"
+msgid "Name of real-sky beam radiation coefficient (thick cloud) input raster map [0-1]"
 msgstr "Vstupní rastrová mapa s koeficientem přímého slunečního záření [-]"
 
 #: ../raster/r.sun/main.c:366
 #, fuzzy
-msgid ""
-"Name of real-sky diffuse radiation coefficient (haze) input raster map [0-1]"
+msgid "Name of real-sky diffuse radiation coefficient (haze) input raster map [0-1]"
 msgstr "Název rastrové mapy s koeficientem real-sky difůzního záření [-]"
 
 #: ../raster/r.sun/main.c:373
@@ -18434,36 +17696,20 @@ msgid "Output incidence angle raster map (mode 1 only)"
 msgstr "Výstupní rastrový soubor íşhlu dopadu paprsku (pouze mód 1)"
 
 #: ../raster/r.sun/main.c:399
-msgid ""
-"Output beam irradiance [W.m-2] (mode 1) or irradiation raster map [Wh.m-2."
-"day-1] (mode 2)"
-msgstr ""
-"Výstupní osvětlení paprskem [W.m-2] (mode 1) nebo rastrovou mapu osvětlení "
-"[Wh.m-2.den-1] (mode 2)"
+msgid "Output beam irradiance [W.m-2] (mode 1) or irradiation raster map [Wh.m-2.day-1] (mode 2)"
+msgstr "Výstupní osvětlení paprskem [W.m-2] (mode 1) nebo rastrovou mapu osvětlení [Wh.m-2.den-1] (mode 2)"
 
 #: ../raster/r.sun/main.c:408
-msgid ""
-"Output diffuse irradiance [W.m-2] (mode 1) or irradiation raster map [Wh.m-2."
-"day-1] (mode 2)"
-msgstr ""
-"Výstupní difůzní osvětlení [W.m-2] (mode 1) nebo mapa osvětlení [Wh.m-2."
-"den-1] (mode 2)"
+msgid "Output diffuse irradiance [W.m-2] (mode 1) or irradiation raster map [Wh.m-2.day-1] (mode 2)"
+msgstr "Výstupní difůzní osvětlení [W.m-2] (mode 1) nebo mapa osvětlení [Wh.m-2.den-1] (mode 2)"
 
 #: ../raster/r.sun/main.c:417
-msgid ""
-"Output ground reflected irradiance [W.m-2] (mode 1) or irradiation raster "
-"map [Wh.m-2.day-1] (mode 2)"
-msgstr ""
-"Výstupní záření odražené od země [W.m-2] (mode 1) nebo rastrová mapa ozáření "
-"[Wh.m-2.den-1] (mode 2)"
+msgid "Output ground reflected irradiance [W.m-2] (mode 1) or irradiation raster map [Wh.m-2.day-1] (mode 2)"
+msgstr "Výstupní záření odražené od země [W.m-2] (mode 1) nebo rastrová mapa ozáření [Wh.m-2.den-1] (mode 2)"
 
 #: ../raster/r.sun/main.c:426
-msgid ""
-"Output global (total) irradiance/irradiation [W.m-2] (mode 1) or irradiance/"
-"irradiation raster map [Wh.m-2.day-1] (mode 2)"
-msgstr ""
-"Výstupní globální (totální) osvětlení paprskem [W.m-2] (mode 1) nebo "
-"rastrová mapa osvětlení [Wh.m-2.den-1] (mode 2)"
+msgid "Output global (total) irradiance/irradiation [W.m-2] (mode 1) or irradiance/irradiation raster map [Wh.m-2.day-1] (mode 2)"
+msgstr "Výstupní globální (totální) osvětlení paprskem [W.m-2] (mode 1) nebo rastrová mapa osvětlení [Wh.m-2.den-1] (mode 2)"
 
 #: ../raster/r.sun/main.c:435
 msgid "Output insolation time raster map [h] (mode 2 only)"
@@ -18542,19 +17788,15 @@ msgid "The horizon step size must be greater than 0."
 msgstr "velikost horizontálního kroku musí být větší než nula"
 
 #: ../raster/r.sun/main.c:609
-msgid ""
-"If you use the horizon option you must also set the 'horizonstep' parameter."
-msgstr ""
-"POkud zadáte volbu obzor, musíte také nastavit parametr 'krok horizontu'"
+msgid "If you use the horizon option you must also set the 'horizonstep' parameter."
+msgstr "POkud zadáte volbu obzor, musíte také nastavit parametr 'krok horizontu'"
 
 #: ../raster/r.sun/main.c:615
 msgid "Time and insol_time are incompatible options"
 msgstr "time a insol_time jsou neslučitelné volby"
 
 #: ../raster/r.sun/main.c:617
-msgid ""
-"Mode 1: instantaneous solar incidence angle & irradiance using a set local "
-"time"
+msgid "Mode 1: instantaneous solar incidence angle & irradiance using a set local time"
 msgstr "Mode 1: okamžitý solární ůhel dopadu & ozářenost daná lokálním časem"
 
 #: ../raster/r.sun/main.c:622
@@ -18567,17 +17809,11 @@ msgstr "Mode 2: denní ozářenost pro zadaný den roku."
 
 #: ../raster/r.sun/main.c:670
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
-msgstr ""
-"POkud použijete volbu -s a žádnou rastrovou mapu s horizontem, numpartitions "
-"musí být =1"
+msgstr "POkud použijete volbu -s a žádnou rastrovou mapu s horizontem, numpartitions musí být =1"
 
 #: ../raster/r.sun/main.c:683
-msgid ""
-"If you want to save memory and to use shadows, you must use pre-calculated "
-"horizons."
-msgstr ""
-"Pokud chcete ušetřit zabrání množství paměti a zároveň použít stíny, je "
-"třeba použít před-vypočítané horizonty."
+msgid "If you want to save memory and to use shadows, you must use pre-calculated horizons."
+msgstr "Pokud chcete ušetřit zabrání množství paměti a zároveň použít stíny, je třeba použít před-vypočítané horizonty."
 
 #: ../raster/r.sun/main.c:750
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
@@ -18593,15 +17829,8 @@ msgstr ""
 
 #: ../raster/r.spread/main.c:113
 #, fuzzy
-msgid ""
-"Generates a raster map of the cumulative time of spread, given raster maps "
-"containing the rates of spread (ROS), the ROS directions and the spread "
-"origins. It optionally produces raster maps to contain backlink UTM "
-"coordinates for tracing spread paths. Usable for fire spread simulations."
-msgstr ""
-"Simuluje (elipticky) anizotropní šíření požáru v grafickém okně a vytvoří "
-"rastrovou mapu kumulativního času šíření, podle zadaných vstupních "
-"rastrových map obsahujících tempo šíření (ROS), směr šíření a zdroj požáru."
+msgid "Generates a raster map of the cumulative time of spread, given raster maps containing the rates of spread (ROS), the ROS directions and the spread origins. It optionally produces raster maps to contain backlink UTM coordinates for tracing spread paths. Usable for fire spread simulations."
+msgstr "Simuluje (elipticky) anizotropní šíření požáru v grafickém okně a vytvoří rastrovou mapu kumulativního času šíření, podle zadaných vstupních rastrových map obsahujících tempo šíření (ROS), směr šíření a zdroj požáru."
 
 #: ../raster/r.spread/main.c:127
 #, fuzzy
@@ -18609,11 +17838,7 @@ msgid "Raster map containing base ROS (cm/min)"
 msgstr "Název rastrové mapy obsahující základní rychlost šíření ohně (cm/min)"
 
 #: ../raster/r.spread/main.c:129
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing the ROS values in the directions perpendicular to maximum "
-"ROSes' (cm/minute). These ROSes are also the ones without the effect of "
-"directional factors."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing the ROS values in the directions perpendicular to maximum ROSes' (cm/minute). These ROSes are also the ones without the effect of directional factors."
 msgstr ""
 
 #: ../raster/r.spread/main.c:141
@@ -18622,9 +17847,7 @@ msgid "Raster map containing maximal ROS (cm/min)"
 msgstr "Název rastrové mapy obsahující základní rychlost šíření ohně (cm/min)"
 
 #: ../raster/r.spread/main.c:143
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing the maximum ROS values (cm/minute)."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing the maximum ROS values (cm/minute)."
 msgstr ""
 
 #: ../raster/r.spread/main.c:153
@@ -18633,10 +17856,7 @@ msgid "Raster map containing directions of maximal ROS (degree)"
 msgstr "Název rastrové mapy obsahující směry šíření ohně (ve stupních)"
 
 #: ../raster/r.spread/main.c:155
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing directions of the maximum ROSes, clockwise from north "
-"(degree)."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing directions of the maximum ROSes, clockwise from north (degree)."
 msgstr ""
 
 #: ../raster/r.spread/main.c:166
@@ -18645,67 +17865,44 @@ msgid "Raster map containing starting sources"
 msgstr "Název rastrové mapy obsahující zdrojová místa odkud se šíří požár"
 
 #: ../raster/r.spread/main.c:168
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing starting locations of the spread phenomenon. Any positive "
-"integers in this map are recognized as starting sources (seeds)."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing starting locations of the spread phenomenon. Any positive integers in this map are recognized as starting sources (seeds)."
 msgstr ""
 
 #: ../raster/r.spread/main.c:179
 #, fuzzy
 msgid "Raster map containing maximal spotting distance (m, required with -s)"
-msgstr ""
-"Název rastrové mapy obsahující maximální vzdálenost, na kterou může "
-"přeskočit jiskra a způsobit požár (m) (požadováno w/ -s)"
+msgstr "Název rastrové mapy obsahující maximální vzdálenost, na kterou může přeskočit jiskra a způsobit požár (m) (požadováno w/ -s)"
 
 #: ../raster/r.spread/main.c:181
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path containing the maximum potential spotting distances (meters)."
+msgid "Name of an existing raster map layer in the user's current mapset search path containing the maximum potential spotting distances (meters)."
 msgstr ""
 
 #: ../raster/r.spread/main.c:191
 #, fuzzy
 msgid "Raster map containing midflame wind speed (ft/min, required with -s)"
-msgstr ""
-"Název rastrové mapy obsahujího rychlost větru (stopy/min) (požadováno w/ -s)"
+msgstr "Název rastrové mapy obsahujího rychlost větru (stopy/min) (požadováno w/ -s)"
 
 #: ../raster/r.spread/main.c:203
 #, fuzzy
-msgid ""
-"Raster map containing fine fuel moisture of the cell receiving a spotting "
-"firebrand (%, required with -s)"
-msgstr ""
-"Název rastrové mapy obsahující zbytkovou vlhkost v potenciálně hořlavém "
-"materiálu představujícího oharky (hořlavý materiál) v (%) (požadováno w/ -s)"
+msgid "Raster map containing fine fuel moisture of the cell receiving a spotting firebrand (%, required with -s)"
+msgstr "Název rastrové mapy obsahující zbytkovou vlhkost v potenciálně hořlavém materiálu představujícího oharky (hořlavý materiál) v (%) (požadováno w/ -s)"
 
 #: ../raster/r.spread/main.c:215
 #, fuzzy
 msgid "Basic sampling window size needed to meet certain accuracy (3)"
-msgstr ""
-"Základní velikost okna pro analýzy potřebná k dosažení určité přesnosti (3)"
+msgstr "Základní velikost okna pro analýzy potřebná k dosažení určité přesnosti (3)"
 
 #: ../raster/r.spread/main.c:217
-msgid ""
-"An odd integer ranging 3 - 15 indicating the basic sampling window size "
-"within which all cells will be considered to see whether they will be "
-"reached by the current spread cell. The default number is 3 which means a "
-"3x3 window."
+msgid "An odd integer ranging 3 - 15 indicating the basic sampling window size within which all cells will be considered to see whether they will be reached by the current spread cell. The default number is 3 which means a 3x3 window."
 msgstr ""
 
 #: ../raster/r.spread/main.c:227
 #, fuzzy
 msgid "Sampling density for additional computing (range: 0.0 - 1.0 (0.5))"
-msgstr ""
-"Hustota sběru (DENS) pro doplňkové kalkulace (COMP) (rozsah: 0.0 - 1.0 (0.5))"
+msgstr "Hustota sběru (DENS) pro doplňkové kalkulace (COMP) (rozsah: 0.0 - 1.0 (0.5))"
 
 #: ../raster/r.spread/main.c:229
-msgid ""
-"A decimal number ranging 0.0 - 1.0 indicating additional sampling cells will "
-"be considered to see whether they will be reached by the current spread "
-"cell. The closer to 1.0 the decimal number is, the longer the program will "
-"run and the higher the simulation accuracy will be. The default number is "
-"0.5."
+msgid "A decimal number ranging 0.0 - 1.0 indicating additional sampling cells will be considered to see whether they will be reached by the current spread cell. The closer to 1.0 the decimal number is, the longer the program will run and the higher the simulation accuracy will be. The default number is 0.5."
 msgstr ""
 
 #: ../raster/r.spread/main.c:241
@@ -18714,10 +17911,7 @@ msgid "Initial time for current simulation (0) (min)"
 msgstr "Iniciální čas pro simulaci (0) v minutách"
 
 #: ../raster/r.spread/main.c:243
-msgid ""
-"A non-negative number specifying the initial time for the current spread "
-"simulation (minutes). This is useful when multiple phase simulation is "
-"conducted. The default time is 0."
+msgid "A non-negative number specifying the initial time for the current spread simulation (minutes). This is useful when multiple phase simulation is conducted. The default time is 0."
 msgstr ""
 
 #: ../raster/r.spread/main.c:252
@@ -18725,12 +17919,7 @@ msgid "Simulating time duration LAG (fill the region) (min)"
 msgstr "Trvání simulace LAG (vyplnění oblasti) (v min)"
 
 #: ../raster/r.spread/main.c:254
-msgid ""
-"A non-negative integer specifying the simulating duration time lag "
-"(minutes). The default is infinite, but the program will terminate when the "
-"current geographic region/mask has been filled. It also controls the "
-"computational time, the shorter the time lag, the faster the program will "
-"run."
+msgid "A non-negative integer specifying the simulating duration time lag (minutes). The default is infinite, but the program will terminate when the current geographic region/mask has been filled. It also controls the computational time, the shorter the time lag, the faster the program will run."
 msgstr ""
 
 #: ../raster/r.spread/main.c:266
@@ -18738,10 +17927,7 @@ msgid "Name of raster map as a display backdrop"
 msgstr "Název rastrové mapy, která bude umístěn na pozadí"
 
 #: ../raster/r.spread/main.c:268
-msgid ""
-"Name of an existing raster map layer in the user's current mapset search "
-"path to be used as the background on which the \"live\" movement will be "
-"shown."
+msgid "Name of an existing raster map layer in the user's current mapset search path to be used as the background on which the \"live\" movement will be shown."
 msgstr ""
 
 #: ../raster/r.spread/main.c:279
@@ -18750,10 +17936,7 @@ msgid "Raster map to contain output spread time (min)"
 msgstr "Název rastrové mapy, která bude obsahovat VÉSTUPNÍ čas šíření (v min)"
 
 #: ../raster/r.spread/main.c:281
-msgid ""
-"Name of the new raster map layer to contain the results of the cumulative "
-"spread time needed for a phenomenon to reach each cell from the starting "
-"sources (minutes)."
+msgid "Name of the new raster map layer to contain the results of the cumulative spread time needed for a phenomenon to reach each cell from the starting sources (minutes)."
 msgstr ""
 
 #: ../raster/r.spread/main.c:291
@@ -18762,9 +17945,7 @@ msgid "Name of raster map to contain X back coordinates"
 msgstr "Název rastrové mapy obsahující souřadnice X_BACK"
 
 #: ../raster/r.spread/main.c:293
-msgid ""
-"Name of the new raster map layer to contain the results of backlink "
-"information in UTM easting coordinates for each cell."
+msgid "Name of the new raster map layer to contain the results of backlink information in UTM easting coordinates for each cell."
 msgstr ""
 
 #: ../raster/r.spread/main.c:303
@@ -18773,9 +17954,7 @@ msgid "Name of raster map to contain Y back coordinates"
 msgstr "Název rastrové mapy obsahující souřadnice Y_BACK"
 
 #: ../raster/r.spread/main.c:305
-msgid ""
-"Name of the new raster map layer to contain the results of backlink "
-"information in UTM northing coordinates for each cell."
+msgid "Name of the new raster map layer to contain the results of backlink information in UTM northing coordinates for each cell."
 msgstr ""
 
 #: ../raster/r.spread/main.c:312
@@ -18783,9 +17962,7 @@ msgid "DISPLAY 'live' spread process on screen"
 msgstr "Zobraz proces šíření na obrazovce v reálném čase"
 
 #: ../raster/r.spread/main.c:314
-msgid ""
-"Display the 'live' simulation on screen. A graphics window must be opened "
-"and selected before using this option."
+msgid "Display the 'live' simulation on screen. A graphics window must be opened and selected before using this option."
 msgstr ""
 
 #: ../raster/r.spread/main.c:320
@@ -18798,11 +17975,7 @@ msgid "Use start raster map values in output spread time raster map"
 msgstr "Název rastrové mapy, která bude obsahovat VÉSTUPNÍ čas šíření (v min)"
 
 #: ../raster/r.spread/main.c:326
-msgid ""
-"Designed to be used with output of previous run of r.spread when computing "
-"spread iteratively. The values in start raster map are considered as time. "
-"Allowed values in raster map are from zero to the value of init_time option. "
-"If not enabled, init_time is used in the area of start raster map"
+msgid "Designed to be used with output of previous run of r.spread when computing spread iteratively. The values in start raster map are considered as time. Allowed values in raster map are from zero to the value of init_time option. If not enabled, init_time is used in the area of start raster map"
 msgstr ""
 
 #: ../raster/r.spread/main.c:502
@@ -18847,8 +18020,7 @@ msgstr "Název existující rastrové mapy obsahující vrstevnice"
 
 #: ../raster/r.describe/main.c:57
 msgid "Prints terse list of category values found in a raster map layer."
-msgstr ""
-"Vytiskne pouze stručný seznam hodnot kategorií, nalezených v rastrové mapě."
+msgstr "Vytiskne pouze stručný seznam hodnot kategorií, nalezených v rastrové mapě."
 
 #: ../raster/r.describe/main.c:71
 msgid "Number of quantization steps"
@@ -18895,12 +18067,8 @@ msgid "Name for output ASCII grid map (use out=- for stdout)"
 msgstr "Název výstupního ASCII souboru (pro standardní výstup použijte out=-)"
 
 #: ../raster/r.out.ascii/main.c:86
-msgid ""
-"Number of values printed before wrapping a line (only SURFER or MODFLOW "
-"format)"
-msgstr ""
-"Počet hodnot vytištěných před zalomením řádku (pouze pro formáty SURFER nebo "
-"MODFLOW)"
+msgid "Number of values printed before wrapping a line (only SURFER or MODFLOW format)"
+msgstr "Počet hodnot vytištěných před zalomením řádku (pouze pro formáty SURFER nebo MODFLOW)"
 
 #: ../raster/r.out.ascii/main.c:91
 msgid "String to represent null cell (GRASS grid only)"
@@ -18971,14 +18139,8 @@ msgid "cost allocation"
 msgstr "alokace"
 
 #: ../raster/r.cost/main.c:145
-msgid ""
-"Creates a raster map showing the cumulative cost of moving between different "
-"geographic locations on an input raster map whose cell category values "
-"represent cost."
-msgstr ""
-"vytvoří rastrovou mapu ukazující zvyšující se cenu pohybu mezi dvěma "
-"geografickými umístěními na rastrové mapě, jejíž hodnoty kategoií předsavují "
-"cenu."
+msgid "Creates a raster map showing the cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost."
+msgstr "vytvoří rastrovou mapu ukazující zvyšující se cenu pohybu mezi dvěma geografickými umístěními na rastrové mapě, jejíž hodnoty kategoií předsavují cenu."
 
 #: ../raster/r.cost/main.c:152
 #, fuzzy
@@ -19045,9 +18207,7 @@ msgstr "Volitelná maximální cena"
 
 #: ../raster/r.cost/main.c:218 ../raster/r.walk/main.c:253
 msgid "Cost assigned to null cells. By default, null cells are excluded"
-msgstr ""
-"Náklad přiřazený buňkám s hodnotou NULL. Při výchozím nastavení jsou tyto "
-"vynechány"
+msgstr "Náklad přiřazený buňkám s hodnotou NULL. Při výchozím nastavení jsou tyto vynechány"
 
 #: ../raster/r.cost/main.c:219 ../raster/r.cost/main.c:238
 #: ../raster/r.walk/main.c:254 ../raster/r.walk/main.c:304
@@ -19078,9 +18238,7 @@ msgstr "Nahlaš informace o vstupním rastru a ukonči se"
 
 #: ../raster/r.cost/main.c:297 ../raster/r.walk/main.c:357
 msgid "Must specify exactly one of start_points, start_rast or coordinate"
-msgstr ""
-"Alespoň jedna z voleb start_points, start_rast nebo coordinate musí být "
-"zadána"
+msgstr "Alespoň jedna z voleb start_points, start_rast nebo coordinate musí být zadána"
 
 #: ../raster/r.cost/main.c:302 ../raster/r.cost/main.c:712
 #: ../raster/r.walk/main.c:362 ../raster/r.walk/main.c:845
@@ -19099,8 +18257,7 @@ msgstr "Nevhodné procento paměti: %d"
 
 #: ../raster/r.cost/main.c:330 ../raster/r.walk/main.c:415
 msgid "Assigning negative cost to null cell. Null cells excluded."
-msgstr ""
-"Přiřazení záporné hodnoty nullovým buňkám. Nullové buňky budou vynechány"
+msgstr "Přiřazení záporné hodnoty nullovým buňkám. Nullové buňky budou vynechány"
 
 #: ../raster/r.cost/main.c:412 ../raster/r.cost/main.c:424
 #: ../raster/r.walk/main.c:525 ../raster/r.walk/main.c:538
@@ -19140,9 +18297,7 @@ msgstr "Načítám rastrový soubor <%s v %s> ..."
 
 #: ../raster/r.cost/main.c:489
 #, c-format
-msgid ""
-"Negative cell value found at row %d, col %d. Setting negative value to "
-"null_cost value"
+msgid "Negative cell value found at row %d, col %d. Setting negative value to null_cost value"
 msgstr ""
 
 #: ../raster/r.cost/main.c:504 ../raster/r.walk/main.c:643
@@ -19167,6 +18322,7 @@ msgid "%d point found"
 msgid_plural "%d points found"
 msgstr[0] "Žádná bodová data nenalezena"
 msgstr[1] "Žádná bodová data nenalezena"
+msgstr[2] ""
 
 #: ../raster/r.cost/main.c:598 ../raster/r.walk/main.c:734
 #, fuzzy, c-format
@@ -19232,14 +18388,8 @@ msgid "Warning, ignoring point outside window: %g, %g"
 msgstr "Varování, ignoruji bod mimo okno: %.4f, %.4f"
 
 #: ../raster/r.resamp.rst/main.c:151
-msgid ""
-"Reinterpolates and optionally computes topographic analysis from input "
-"raster map to a new raster map (possibly with different resolution) using "
-"regularized spline with tension and smoothing."
-msgstr ""
-"Reinterpoluje a volitelně spočítá topografickou analýzu ze vstupního "
-"rastrového souboru do nové rastrové mapy (volitelně s novým rozlišením) za "
-"použití RST -regularized spline s tension a vyhlazení - smothing."
+msgid "Reinterpolates and optionally computes topographic analysis from input raster map to a new raster map (possibly with different resolution) using regularized spline with tension and smoothing."
+msgstr "Reinterpoluje a volitelně spočítá topografickou analýzu ze vstupního rastrového souboru do nové rastrové mapy (volitelně s novým rozlišením) za použití RST -regularized spline s tension a vyhlazení - smothing."
 
 #: ../raster/r.resamp.rst/main.c:162
 msgid "Desired east-west resolution"
@@ -19303,8 +18453,7 @@ msgstr "Hodnota pnutí křivek"
 
 #: ../raster/r.resamp.rst/main.c:246 ../vector/v.surf.rst/main.c:325
 msgid "Anisotropy angle (in degrees counterclockwise from East)"
-msgstr ""
-"Úhel anisotropie (ve stupních proti směru hodinových ručiček od Východu)"
+msgstr "Úhel anisotropie (ve stupních proti směru hodinových ručiček od Východu)"
 
 #: ../raster/r.resamp.rst/main.c:247 ../raster/r.resamp.rst/main.c:254
 msgid "Anisotropy"
@@ -19394,6 +18543,7 @@ msgid "%d byte of disk space for temp files."
 msgid_plural "%d bytes of disk space for temp files."
 msgstr[0] "%d bytů prostoru na disku pro dočasné soubory."
 msgstr[1] "%d bytů prostoru na disku pro dočasné soubory."
+msgstr[2] ""
 
 #: ../raster/r.resamp.rst/main.c:436
 msgid "Maximum value of a raster map is NULL."
@@ -19494,6 +18644,7 @@ msgid "Calculating %d texture measure"
 msgid_plural "Calculating %d texture measures"
 msgstr[0] "Výpočet polohy středu..."
 msgstr[1] "Výpočet polohy středu..."
+msgstr[2] ""
 
 #: ../raster/r.texture/main.c:330
 #, fuzzy, c-format
@@ -19502,20 +18653,13 @@ msgstr "Počítám mapy ..."
 
 #: ../raster/r.texture/h_measure.c:123
 #, c-format
-msgid ""
-"Too many categories (found: %i, max: %i). Try to rescale or reclassify the "
-"map"
-msgstr ""
-"Příliš mnoho kategorií (nalezeno: %i, max: %i). Zkuste změnit měřítko nebo "
-"reklasifikovat mapu"
+msgid "Too many categories (found: %i, max: %i). Try to rescale or reclassify the map"
+msgstr "Příliš mnoho kategorií (nalezeno: %i, max: %i). Zkuste změnit měřítko nebo reklasifikovat mapu"
 
 #: ../raster/r.resamp.bspline/crosscorr.c:160
 #, fuzzy, c-format
-msgid ""
-"%d are too many cells, recommended are < 100 cells. The cross validation "
-"would take too much time."
-msgstr ""
-"%d je příliš mnoho bodů. Křížová validace by zabrala příliš mnoho času."
+msgid "%d are too many cells, recommended are < 100 cells. The cross validation would take too much time."
+msgstr "%d je příliš mnoho bodů. Křížová validace by zabrala příliš mnoho času."
 
 #: ../raster/r.resamp.bspline/crosscorr.c:169
 #, fuzzy, c-format
@@ -19523,6 +18667,7 @@ msgid "%d point read in region"
 msgid_plural "%d points read in region"
 msgstr[0] "%d bodů načteno v regionu"
 msgstr[1] "%d bodů načteno v regionu"
+msgstr[2] ""
 
 #: ../raster/r.resamp.bspline/crosscorr.c:174
 msgid "Maybe it takes too long. Consider reducing the region extents."
@@ -19531,11 +18676,8 @@ msgstr ""
 #: ../raster/r.resamp.bspline/crosscorr.c:197
 #: ../vector/v.surf.bspline/crosscorr.c:151
 #, fuzzy, c-format
-msgid ""
-"Too many splines (%d x %d). Consider changing spline steps \"ew_step=\" "
-"\"ns_step=\"."
-msgstr ""
-"Příliš mnoho splinů (%d x %d). Zvažte změnu kroku splinů \"sie=\" \"sin=\"."
+msgid "Too many splines (%d x %d). Consider changing spline steps \"ew_step=\" \"ns_step=\"."
+msgstr "Příliš mnoho splinů (%d x %d). Zvažte změnu kroku splinů \"sie=\" \"sin=\"."
 
 #: ../raster/r.resamp.bspline/crosscorr.c:215
 #: ../vector/v.surf.bspline/crosscorr.c:169
@@ -19557,17 +18699,13 @@ msgstr "Root Means Square (RMS) = %.5lf"
 
 #: ../raster/r.resamp.bspline/crosscorr.c:324
 #: ../vector/v.surf.bspline/crosscorr.c:313
-msgid ""
-"Different number of splines and lambda_i values have been taken for the "
-"cross correlation"
-msgstr ""
-"Pro křížovou validaci byly použity různé počty splinů a hodnot lambda_i"
+msgid "Different number of splines and lambda_i values have been taken for the cross correlation"
+msgstr "Pro křížovou validaci byly použity různé počty splinů a hodnot lambda_i"
 
 #: ../raster/r.resamp.bspline/crosscorr.c:326
 #: ../vector/v.surf.bspline/crosscorr.c:315
 #, c-format
-msgid ""
-"The minimum value for the test (rms=%lf) was obtained with: lambda_i = %.3f"
+msgid "The minimum value for the test (rms=%lf) was obtained with: lambda_i = %.3f"
 msgstr "Minimální hodnota pro test (rms=%lf) byla odvozena s: lambda_i = %.3f"
 
 #: ../raster/r.resamp.bspline/crosscorr.c:334
@@ -19589,9 +18727,7 @@ msgstr "Žádný bod neleží v daném regionu"
 
 #: ../raster/r.resamp.bspline/main.c:85
 #, fuzzy
-msgid ""
-"Performs bilinear or bicubic spline interpolation with Tykhonov "
-"regularization."
+msgid "Performs bilinear or bicubic spline interpolation with Tykhonov regularization."
 msgstr "Bikubická nebo bilineární interpolace s Tykhonovou regularizací"
 
 #: ../raster/r.resamp.bspline/main.c:93
@@ -19610,15 +18746,12 @@ msgstr ""
 
 #: ../raster/r.resamp.bspline/main.c:107
 #, fuzzy
-msgid ""
-"Length of each spline step in the east-west direction. Default: 1.5 * ewres."
+msgid "Length of each spline step in the east-west direction. Default: 1.5 * ewres."
 msgstr "Hodnota kroku spline ve v-z směru"
 
 #: ../raster/r.resamp.bspline/main.c:115
 #, fuzzy
-msgid ""
-"Length of each spline step in the north-south direction. Default: 1.5 * "
-"nsres."
+msgid "Length of each spline step in the north-south direction. Default: 1.5 * nsres."
 msgstr "Hodnota kroku spline ve s-j severním směru"
 
 #: ../raster/r.resamp.bspline/main.c:119 ../vector/v.surf.bspline/main.c:163
@@ -19648,12 +18781,8 @@ msgid "Only interpolate null cells in input raster map"
 msgstr "Ponechat nullové hodnoty v výstupní rastrové mapě"
 
 #: ../raster/r.resamp.bspline/main.c:144 ../vector/v.surf.bspline/main.c:101
-msgid ""
-"Find the best Tykhonov regularizing parameter using a \"leave-one-out\" "
-"cross validation method"
-msgstr ""
-"Nalézt nejlepší parametrytykhonova upravujícího parametru pomocí metody "
-"křížové validace."
+msgid "Find the best Tykhonov regularizing parameter using a \"leave-one-out\" cross validation method"
+msgstr "Nalézt nejlepší parametrytykhonova upravujícího parametru pomocí metody křížové validace."
 
 #: ../raster/r.resamp.bspline/main.c:187
 #, fuzzy
@@ -19882,14 +19011,8 @@ msgstr ""
 
 #: ../raster/r.walk/main.c:183
 #, fuzzy
-msgid ""
-"Creates a raster map showing the anisotropic cumulative cost of moving "
-"between different geographic locations on an input raster map whose cell "
-"category values represent cost."
-msgstr ""
-"vytvoří rastrovou mapu ukazující zvyšující se cenu pohybu mezi dvěma "
-"geografickými umístěními na rastrové mapě, jejíž hodnoty kategoií předsavují "
-"cenu."
+msgid "Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost."
+msgstr "vytvoří rastrovou mapu ukazující zvyšující se cenu pohybu mezi dvěma geografickými umístěními na rastrové mapě, jejíž hodnoty kategoií předsavují cenu."
 
 #: ../raster/r.walk/main.c:193
 msgid "Name of input raster map containing friction costs"
@@ -19976,12 +19099,8 @@ msgid "Statistics for <%s> updated"
 msgstr "Statistika pro pro <%s> byla aktualizována"
 
 #: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
-msgid ""
-"Unable to convert input raster map projection information to GRASS format "
-"for checking"
-msgstr ""
-"Nelze převést informace o vstupní mapové projekci do formátu GRASSu (pro "
-"kontrolu)"
+msgid "Unable to convert input raster map projection information to GRASS format for checking"
+msgstr "Nelze převést informace o vstupní mapové projekci do formátu GRASSu (pro kontrolu)"
 
 #: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
 #: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
@@ -19996,8 +19115,7 @@ msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
 msgstr ""
-"Vypadá to, že kartografické zobrazení datasetu neodpovídá zobrazení aktuální "
-"lokace \n"
+"Vypadá to, že kartografické zobrazení datasetu neodpovídá zobrazení aktuální lokace \n"
 "\n"
 
 #: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
@@ -20021,17 +19139,12 @@ msgstr "iMPORT PROJ_INFO datasetu je:\n"
 #, c-format
 msgid ""
 "\n"
-"In case of no significant differences in the projection definitions, use the "
-"-o flag to ignore them and use current location definition.\n"
+"In case of no significant differences in the projection definitions, use the -o flag to ignore them and use current location definition.\n"
 msgstr ""
 
 #: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
-msgid ""
-"Consider generating a new location from the input dataset using the "
-"'location' parameter.\n"
-msgstr ""
-"Zvažte vytvoření nové lokace ze vstupního datasetu pomocí parametru "
-"'location'.\n"
+msgid "Consider generating a new location from the input dataset using the 'location' parameter.\n"
+msgstr "Zvažte vytvoření nové lokace ze vstupního datasetu pomocí parametru 'location'.\n"
 
 #: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
 #: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
@@ -20106,12 +19219,8 @@ msgid "Supported formats:"
 msgstr "Podporované formáty:\n"
 
 #: ../raster/r.external/window.c:23
-msgid ""
-"Input raster map is rotated - cannot import. You may use 'gdalwarp' to "
-"transform the map to North-up."
-msgstr ""
-"Vstupní mapa je pootočená - nelze ji naimportovat. Použijte 'gdalwarp' pro "
-"její transformaci severem-nahoru."
+msgid "Input raster map is rotated - cannot import. You may use 'gdalwarp' to transform the map to North-up."
+msgstr "Vstupní mapa je pootočená - nelze ji naimportovat. Použijte 'gdalwarp' pro její transformaci severem-nahoru."
 
 #: ../raster/r.external/window.c:26
 msgid "Applying horizontal flip"
@@ -20141,9 +19250,7 @@ msgstr "obecné"
 #: ../raster/r.external/main.c:61
 #, fuzzy
 msgid "Links GDAL supported raster data as a pseudo GRASS raster map."
-msgstr ""
-"Spojení GDAL podporovaného rastrovho souboru s binární rastrovou mapovou "
-"vrstvou"
+msgstr "Spojení GDAL podporovaného rastrovho souboru s binární rastrovou mapovou vrstvou"
 
 #: ../raster/r.external/main.c:64
 #, fuzzy
@@ -20167,9 +19274,8 @@ msgstr "Vypsat podporované formáty a ukončit"
 #: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
 #: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
 #: ../vector/v.in.lidar/main.c:224
-#, fuzzy
 msgid "Extend region extents based on new dataset"
-msgstr "Hranice location se zvětší podle nového datasetu"
+msgstr "Rozšířit region podle nového datasetu"
 
 #: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
 #: ../vector/v.in.ogr/main.c:298
@@ -20235,12 +19341,8 @@ msgstr ""
 
 #: ../raster/r.topidx/main.c:43
 #, fuzzy
-msgid ""
-"Creates a topographic index (wetness index) raster map from an elevation "
-"raster map."
-msgstr ""
-"Vytvoří mapu topografického indexu, [ln(a/tan(beta))], z rastrové mapy "
-"digitálního modelu terénu."
+msgid "Creates a topographic index (wetness index) raster map from an elevation raster map."
+msgstr "Vytvoří mapu topografického indexu, [ln(a/tan(beta))], z rastrové mapy digitálního modelu terénu."
 
 #: ../raster/r.topidx/main.c:49
 #, fuzzy
@@ -20249,13 +19351,8 @@ msgstr "Název výstupní rastrové mapy orientace"
 
 #: ../raster/r.topidx/file_io.c:35
 #, fuzzy, c-format
-msgid ""
-"The current region resolution [%s x %s] is finer than the input map's "
-"resolution [%s x %s]. The current region resolution must be identical to, or "
-"coarser than, the input map's resolution."
-msgstr ""
-"Rozlišení aktuálního regionu [%.2fx%.2f] je nižší než má vstupní mapa  "
-"[%.2fx %.2f]!Je potřeba mít nejméně stejné rozlišení jako má vstupní mapa"
+msgid "The current region resolution [%s x %s] is finer than the input map's resolution [%s x %s]. The current region resolution must be identical to, or coarser than, the input map's resolution."
+msgstr "Rozlišení aktuálního regionu [%.2fx%.2f] je nižší než má vstupní mapa  [%.2fx %.2f]!Je potřeba mít nejméně stejné rozlišení jako má vstupní mapa"
 
 #: ../raster/r.topidx/file_io.c:42
 msgid "Reading elevation map..."
@@ -20267,8 +19364,7 @@ msgstr "Zapisuji mapu topografického indexu..."
 
 #: ../raster/r.drain/main.c:113
 #, fuzzy
-msgid ""
-"Traces a flow through an elevation model or cost surface on a raster map."
+msgid "Traces a flow through an elevation model or cost surface on a raster map."
 msgstr "Určí směr povrchového odtoku v rastrové mapě."
 
 #: ../raster/r.drain/main.c:116
@@ -20317,9 +19413,7 @@ msgid "Count cell numbers along the path"
 msgstr "Spočítej buňky ve směru pohybu/odtoku"
 
 #: ../raster/r.drain/main.c:163
-msgid ""
-"The input raster map is a cost surface (direction surface must also be "
-"specified)"
+msgid "The input raster map is a cost surface (direction surface must also be specified)"
 msgstr ""
 
 #: ../raster/r.drain/main.c:175
@@ -20332,16 +19426,12 @@ msgstr ""
 
 #: ../raster/r.drain/main.c:183
 #, c-format
-msgid ""
-"Direction raster map <%s> not specified, if direction flag is on, a "
-"direction raster must be given"
+msgid "Direction raster map <%s> not specified, if direction flag is on, a direction raster must be given"
 msgstr ""
 
 #: ../raster/r.drain/main.c:190
 #, c-format
-msgid ""
-"Direction raster map <%s> should not be specified for Surface/Hydrology "
-"drains"
+msgid "Direction raster map <%s> should not be specified for Surface/Hydrology drains"
 msgstr ""
 
 #: ../raster/r.drain/main.c:209
@@ -20356,8 +19446,7 @@ msgstr "Počáteční bod %d je mimo současný region"
 #: ../raster/r.drain/main.c:315
 #, c-format
 msgid "Starting vector map <%s> contains no points in the current region"
-msgstr ""
-"Počáteční vektorová mapa <%s> neobsahuje v současném regionu žádné body"
+msgstr "Počáteční vektorová mapa <%s> neobsahuje v současném regionu žádné body"
 
 #: ../raster/r.drain/main.c:323
 msgid "No start/stop point(s) specified"
@@ -20392,19 +19481,13 @@ msgstr "Prvky"
 
 #: ../raster/r.slope.aspect/main.c:156
 #, fuzzy
-msgid ""
-"Generates raster maps of slope, aspect, curvatures and partial derivatives "
-"from an elevation raster map."
-msgstr ""
-"Vytvoří rastrovou mapu sklonu, expozice, křivosti a parciálních derivací "
-"odvozenou z digitálního modelu terénu. Expozice je počítána proti směru "
-"hodinových ručiček s počátkem na východě."
+msgid "Generates raster maps of slope, aspect, curvatures and partial derivatives from an elevation raster map."
+msgstr "Vytvoří rastrovou mapu sklonu, expozice, křivosti a parciálních derivací odvozenou z digitálního modelu terénu. Expozice je počítána proti směru hodinových ručiček s počátkem na východě."
 
 #: ../raster/r.slope.aspect/main.c:158
 #, fuzzy
 msgid "Aspect is calculated counterclockwise from east."
-msgstr ""
-"Úhel anisotropie (ve stupních proti směru hodinových ručiček od Východu)"
+msgstr "Úhel anisotropie (ve stupních proti směru hodinových ručiček od Východu)"
 
 #: ../raster/r.slope.aspect/main.c:165 ../vector/v.surf.rst/main.c:195
 msgid "Name for output slope raster map"
@@ -20457,18 +19540,12 @@ msgid "Name for output tangential curvature raster map"
 msgstr "Název výstupní rastrové mapy tangenciálních křivostí"
 
 #: ../raster/r.slope.aspect/main.c:210
-msgid ""
-"Name for output first order partial derivative dx (E-W slope) raster map"
-msgstr ""
-"Název výstupní rastrové mapy parciálních derivací prvního řádu dx (V-Z sklon "
-"svahu)"
+msgid "Name for output first order partial derivative dx (E-W slope) raster map"
+msgstr "Název výstupní rastrové mapy parciálních derivací prvního řádu dx (V-Z sklon svahu)"
 
 #: ../raster/r.slope.aspect/main.c:217
-msgid ""
-"Name for output first order partial derivative dy (N-S slope) raster map"
-msgstr ""
-"Název výstupní rastrové mapy parciálních derivací prvního řádu dy (S-J sklon "
-"svahu)"
+msgid "Name for output first order partial derivative dy (N-S slope) raster map"
+msgstr "Název výstupní rastrové mapy parciálních derivací prvního řádu dy (S-J sklon svahu)"
 
 #: ../raster/r.slope.aspect/main.c:224
 msgid "Name for output second order partial derivative dxx raster map"
@@ -20490,9 +19567,7 @@ msgstr "Koeficient pro převod jednotek výšky na metry"
 #: ../raster/r.slope.aspect/main.c:253
 #, fuzzy
 msgid "Minimum slope value (in percent) for which aspect is computed"
-msgstr ""
-"Minimální hodnota sklonu svahu (v procentech), pro kterou je počítána "
-"expozice"
+msgstr "Minimální hodnota sklonu svahu (v procentech), pro kterou je počítána expozice"
 
 #: ../raster/r.slope.aspect/main.c:262
 #, fuzzy
@@ -20512,12 +19587,8 @@ msgstr "%s=%s - musí být větší než nula"
 
 #: ../raster/r.slope.aspect/main.c:337
 #, c-format
-msgid ""
-"You must specify at least one of the parameters: <%s>, <%s>, <%s>, <%s>, <"
-"%s>, <%s>, <%s>, <%s> or <%s>"
-msgstr ""
-"Musíte specifikovat nejméně jeden z techto parametrů: <%s>, <%s>, <%s>, <"
-"%s>, <%s>, <%s>, <%s>, <%s> nebo <%s>"
+msgid "You must specify at least one of the parameters: <%s>, <%s>, <%s>, <%s>, <%s>, <%s>, <%s>, <%s> or <%s>"
+msgstr "Musíte specifikovat nejméně jeden z techto parametrů: <%s>, <%s>, <%s>, <%s>, <%s>, <%s>, <%s>, <%s> nebo <%s>"
 
 #: ../raster/r.slope.aspect/main.c:359
 #, c-format
@@ -20525,9 +19596,7 @@ msgid "Wrong raster type: %s"
 msgstr "Chybný typ rastrové mapy: %s"
 
 #: ../raster/r.slope.aspect/main.c:388
-msgid ""
-"r.slope.aspect does not convert horizontal units to meters in this version, "
-"see manual page."
+msgid "r.slope.aspect does not convert horizontal units to meters in this version, see manual page."
 msgstr ""
 
 #: ../raster/r.slope.aspect/main.c:969
@@ -20603,16 +19672,12 @@ msgstr "Importuje binární rastrový soubor jako GRASS rastrovou mapu."
 #: ../raster/r.in.bin/main.c:265
 #, fuzzy
 msgid "Import as floating-point data (default: integer)"
-msgstr ""
-"Naimportuj jako hodnoty s plovoucí desetinnou čárkou (float) (výchozí: "
-"celočíselné)"
+msgstr "Naimportuj jako hodnoty s plovoucí desetinnou čárkou (float) (výchozí: celočíselné)"
 
 #: ../raster/r.in.bin/main.c:270
 #, fuzzy
 msgid "Import as double-precision floating-point data (default: integer)"
-msgstr ""
-"Naimportuj jako hodnoty s plovoucí desetinnou čárkou (double) (výchozí: "
-"celočíselné)"
+msgstr "Naimportuj jako hodnoty s plovoucí desetinnou čárkou (double) (výchozí: celočíselné)"
 
 #: ../raster/r.in.bin/main.c:274 ../raster3d/r3.in.bin/main.c:369
 msgid "Signed data (two's complement)"
@@ -20776,12 +19841,8 @@ msgstr "Nelze otevřít soubor <%s>"
 
 #: ../raster/r.in.bin/main.c:554
 #, fuzzy, c-format
-msgid ""
-"East-West (ewres: %f) and North-South (nwres: %f) resolution differ "
-"significantly. Did you assign %s= and %s= correctly?"
-msgstr ""
-"Východ-Západ(ewres: %f) a Sever-Jih (nsres: %f) rozlišení se od sebe výrazně "
-"liší. Nastavili jste správně východní= a západní= rozlišení? "
+msgid "East-West (ewres: %f) and North-South (nwres: %f) resolution differ significantly. Did you assign %s= and %s= correctly?"
+msgstr "Východ-Západ(ewres: %f) a Sever-Jih (nsres: %f) rozlišení se od sebe výrazně liší. Nastavili jste správně východní= a západní= rozlišení? "
 
 #: ../raster/r.in.bin/main.c:575
 #, fuzzy
@@ -20813,12 +19874,8 @@ msgstr "Vytvoří rastrovou mapu se vzdáleností k prvkům ve vstupní vrstvě.
 
 #: ../raster/r.surf.gauss/main.c:44
 #, fuzzy
-msgid ""
-"Mean and standard deviation of gaussian deviates can be expressed by the "
-"user."
-msgstr ""
-"Vytvoří rastrovou mapu uniformních náhodných odchylek, jejichž rozsah může "
-"být zadán uživatelem."
+msgid "Mean and standard deviation of gaussian deviates can be expressed by the user."
+msgstr "Vytvoří rastrovou mapu uniformních náhodných odchylek, jejichž rozsah může být zadán uživatelem."
 
 #: ../raster/r.surf.gauss/main.c:51
 msgid "Distribution mean"
@@ -20879,8 +19936,7 @@ msgid "Name of input topographic index raster map"
 msgstr "Název výstupní rastrové mapy orientace"
 
 #: ../raster/r.topmodel/main.c:94
-msgid ""
-"Must be clipped to the catchment boundary. Used for generating outtopidxstats"
+msgid "Must be clipped to the catchment boundary. Used for generating outtopidxstats"
 msgstr ""
 
 #: ../raster/r.topmodel/main.c:96 ../raster/r.topmodel/main.c:106
@@ -20991,17 +20047,11 @@ msgid "Unknown method <%s>"
 msgstr "Neznámá metoda <%s>."
 
 #: ../raster/r.series/main.c:137
-msgid ""
-"Makes each output cell value a function of the values assigned to the "
-"corresponding cells in the input raster map layers."
-msgstr ""
-"Hodnota každé buňky ve výstupním rastrovém souboru je funkcí hodnot několika "
-"dalšíchbuněk ve vstupním rastrovém souboru."
+msgid "Makes each output cell value a function of the values assigned to the corresponding cells in the input raster map layers."
+msgstr "Hodnota každé buňky ve výstupním rastrovém souboru je funkcí hodnot několika dalšíchbuněk ve vstupním rastrovém souboru."
 
 #: ../raster/r.series/main.c:146
-msgid ""
-"Input file with one raster map name and optional one weight per line, field "
-"separator between name and weight is |"
+msgid "Input file with one raster map name and optional one weight per line, field separator between name and weight is |"
 msgstr ""
 
 #: ../raster/r.series/main.c:157 ../raster3d/r3.neighbors/main.c:119
@@ -21015,8 +20065,7 @@ msgid "Quantile to calculate for method=quantile"
 msgstr "Nelze vypočítat centroid plochy"
 
 #: ../raster/r.series/main.c:172
-msgid ""
-"Weighting factor for each input map, default value is 1.0 for each input map"
+msgid "Weighting factor for each input map, default value is 1.0 for each input map"
 msgstr ""
 
 #: ../raster/r.series/main.c:179 ../raster/r.series.accumulate/main.c:132
@@ -21069,11 +20118,8 @@ msgid "transect"
 msgstr "vektor, vyjmutí"
 
 #: ../raster/r.transect/main.c:106
-msgid ""
-"Outputs raster map layer values lying along user defined transect line(s)."
-msgstr ""
-"Vytvoří rastrovou mapu, jejíž hodnoty leží na uživatelem definovaném "
-"transektu."
+msgid "Outputs raster map layer values lying along user defined transect line(s)."
+msgstr "Vytvoří rastrovou mapu, jejíž hodnoty leží na uživatelem definovaném transektu."
 
 #: ../raster/r.transect/main.c:110
 msgid "Raster map to be queried"
@@ -21085,9 +20131,7 @@ msgstr "Definice transektu"
 
 #: ../raster/r.transect/main.c:126 ../raster/r.profile/main.c:93
 msgid "Output easting and northing in first two columns of four column output"
-msgstr ""
-"Výstup ve formě V a S souřadnic v prvních dvou sloupečcích "
-"zečtyřsloupečkového výstupu"
+msgstr "Výstup ve formě V a S souřadnic v prvních dvou sloupečcích zečtyřsloupečkového výstupu"
 
 #: ../raster/r.to.rast3/main.c:59 ../raster/r.to.rast3elev/main.c:136
 msgid "Could not close the map"
@@ -21117,12 +20161,8 @@ msgstr "Žádné výstupní mapy"
 
 #: ../raster/r.to.rast3/main.c:230
 #, fuzzy
-msgid ""
-"The 2D and 3D region settings are different. Using the 3D region settings to "
-"adjust the 2D region."
-msgstr ""
-"2d a 3d nastavení regionu jsou různá. Použiji hodnoty z nastavení g3d a "
-"přenastavím 2d region."
+msgid "The 2D and 3D region settings are different. Using the 3D region settings to adjust the 2D region."
+msgstr "2d a 3d nastavení regionu jsou různá. Použiji hodnoty z nastavení g3d a přenastavím 2d region."
 
 #: ../raster/r.to.rast3/main.c:262
 #, c-format
@@ -21217,8 +20257,7 @@ msgstr "Měl by být zadán \"value=\" nebo \"-i\""
 #: ../raster/r.stats.quantile/main.c:471
 #, fuzzy, c-format
 msgid "Number of quantiles (%d) does not match number of output maps (%d)"
-msgstr ""
-"Číslo sloupce definovaného (%d) nesouhlasí s počtem sloupců (%d) na vstupu."
+msgstr "Číslo sloupce definovaného (%d) nesouhlasí s počtem sloupců (%d) na vstupu."
 
 #: ../raster/r.stats.quantile/main.c:488
 #, fuzzy, c-format
@@ -21226,16 +20265,12 @@ msgid "Base map <%s> has too many categories (max: %d)"
 msgstr "<%s> obsahuje příliš mnoho příznaků (limit je 255)"
 
 #: ../raster/r.sunmask/g_solposition.c:66
-msgid ""
-"Unable to calculate sun position in un-projected locations. Specify "
-"sunposition directly."
+msgid "Unable to calculate sun position in un-projected locations. Specify sunposition directly."
 msgstr ""
 
 #: ../raster/r.sunmask/g_solposition.c:88
 #, c-format
-msgid ""
-"Specified point %f, %f outside of current region, is that intended? Anyway, "
-"it will be used."
+msgid "Specified point %f, %f outside of current region, is that intended? Anyway, it will be used."
 msgstr ""
 
 #: ../raster/r.sunmask/g_solposition.c:98 ../raster/r.latlong/main.c:101
@@ -21348,19 +20383,13 @@ msgstr "Podle_pozice"
 
 #: ../raster/r.sunmask/main.c:120
 #, fuzzy
-msgid ""
-"Calculates cast shadow areas from sun position and elevation raster map."
+msgid "Calculates cast shadow areas from sun position and elevation raster map."
 msgstr "Počítej podle kontrastu vážený index hustoty hran"
 
 #: ../raster/r.sunmask/main.c:121
 #, fuzzy
-msgid ""
-"Either exact sun position (A) is specified, or date/time to calculate the "
-"sun position (B) by r.sunmask itself."
-msgstr ""
-"Počítá plně zastíněné oblasti z polohy Slunce a DMT buď A: je-li "
-"specifikována přesná pozice Slunce nebo B: pozice je spočítána samostatně z "
-"hodnoty datum/čas pomocí r.sunmask."
+msgid "Either exact sun position (A) is specified, or date/time to calculate the sun position (B) by r.sunmask itself."
+msgstr "Počítá plně zastíněné oblasti z polohy Slunce a DMT buď A: je-li specifikována přesná pozice Slunce nebo B: pozice je spočítána samostatně z hodnoty datum/čas pomocí r.sunmask."
 
 #: ../raster/r.sunmask/main.c:135
 #, fuzzy
@@ -21411,9 +20440,7 @@ msgstr ""
 #: ../raster/r.sunmask/main.c:202
 #, fuzzy
 msgid "East positive, offset from GMT, also use to adjust daylight savings"
-msgstr ""
-"B: časová zóna (východ kladná, vzdálenost od Greewichského středního času "
-"(GMT), lze také zahrnout letní/zimní čas)"
+msgstr "B: časová zóna (východ kladná, vzdálenost od Greewichského středního času (GMT), lze také zahrnout letní/zimní čas)"
 
 #: ../raster/r.sunmask/main.c:211
 #, fuzzy
@@ -21464,12 +20491,8 @@ msgstr "Buď zadejte pozici Slunce nebo parametry místo/datum/čas."
 
 #: ../raster/r.sunmask/main.c:282
 #, fuzzy
-msgid ""
-"Neither sun position nor east/north, date/time/timezone definition are "
-"complete"
-msgstr ""
-"Ani pozice Slunce ani východ/sever, specifikace datumu/času/časová zóny není "
-"kompletní."
+msgid "Neither sun position nor east/north, date/time/timezone definition are complete"
+msgstr "Ani pozice Slunce ani východ/sever, specifikace datumu/času/časová zóny není kompletní."
 
 #: ../raster/r.sunmask/main.c:286
 #, fuzzy, c-format
@@ -21478,12 +20501,8 @@ msgstr "Počítám pozici Slunce... (používám solpos (V. %s) z NREL)\n"
 
 #: ../raster/r.sunmask/main.c:291
 #, fuzzy
-msgid ""
-"Using user defined sun azimuth, altitude settings (ignoring eventual other "
-"values)"
-msgstr ""
-"Používám azimut Slunce zadaný uživatelem, nastavení zem. šířky (ingnoruji "
-"případné další hodnoty)\n"
+msgid "Using user defined sun azimuth, altitude settings (ignoring eventual other values)"
+msgstr "Používám azimut Slunce zadaný uživatelem, nastavení zem. šířky (ingnoruji případné další hodnoty)\n"
 
 #: ../raster/r.sunmask/main.c:399
 msgid "Please correct settings"
@@ -21526,8 +20545,7 @@ msgstr "Location <%s> vytvořena"
 #: ../raster/r.sunmask/main.c:456
 #, fuzzy, c-format
 msgid "Unable to open range file for raster map <%s>"
-msgstr ""
-"Nelze číst rozmezí s použitím desetinného čísla pro rastrovou mapu <%s>"
+msgstr "Nelze číst rozmezí s použitím desetinného čísla pro rastrovou mapu <%s>"
 
 #: ../raster/r.sunmask/main.c:472
 msgid "Calculating shadows from DEM..."
@@ -21549,17 +20567,12 @@ msgstr "Elevace (pokud není zadána mapa elevace)"
 
 #: ../raster/r.out.vtk/parameters.c:69
 #, fuzzy
-msgid ""
-"Three (r,g,b) raster maps to create RGB values [redmap,greenmap,bluemap]"
-msgstr ""
-"Tři rastrové mapy (r,g,b), které jsou použity pro vytvoření hodnot rgb "
-"[redmap,greenmap,bluemap]"
+msgid "Three (r,g,b) raster maps to create RGB values [redmap,greenmap,bluemap]"
+msgstr "Tři rastrové mapy (r,g,b), které jsou použity pro vytvoření hodnot rgb [redmap,greenmap,bluemap]"
 
 #: ../raster/r.out.vtk/parameters.c:79
 msgid "Three (x,y,z) raster maps to create vector values [xmap,ymap,zmap]"
-msgstr ""
-"Tři rastrové mapy (x,y,z), které jsou použity pro vytvoření hodnot vektorů "
-"[xmap,ymap,zmap]"
+msgstr "Tři rastrové mapy (x,y,z), které jsou použity pro vytvoření hodnot vektorů [xmap,ymap,zmap]"
 
 #: ../raster/r.out.vtk/parameters.c:85 ../raster3d/r3.out.vtk/parameters.c:94
 #: ../vector/v.out.vtk/main.c:76
@@ -21575,18 +20588,16 @@ msgid "Use polydata-trianglestrips for elevation grid creation"
 msgstr "Použij polygonové trojíşhelníkové pásy pro vytvoření mapy elevace"
 
 #: ../raster/r.out.vtk/parameters.c:116
-msgid ""
-"Use polydata-vertices for elevation grid creation (to use with vtkDelauny2D)"
-msgstr ""
-"Použij vrcholy polygonů pro vytvoření rastru elevace (k použití spolu s "
-"vtkDelauny2D)"
+msgid "Use polydata-vertices for elevation grid creation (to use with vtkDelauny2D)"
+msgstr "Použij vrcholy polygonů pro vytvoření rastru elevace (k použití spolu s vtkDelauny2D)"
 
 #: ../raster/r.out.vtk/parameters.c:122
 #, fuzzy
 msgid "Scale factor affects the origin (if no elevation map is given)"
 msgstr "Faktor měřítka ovlivní vstup (pokud není zadaná mapa elevace)"
 
-#: ../raster/r.out.vtk/parameters.c:128 ../raster3d/r3.out.vtk/parameters.c:123
+#: ../raster/r.out.vtk/parameters.c:128
+#: ../raster3d/r3.out.vtk/parameters.c:123
 #, fuzzy
 msgid "Correct the coordinates to match the VTK-OpenGL precision"
 msgstr "Opravte souřadnice tak, aby odpovídaly VTK-OpenGL přesnosti"
@@ -21641,9 +20652,7 @@ msgid "Converts raster maps into the VTK-ASCII format."
 msgstr "Převede rastrové mapy do formátu VTK-Ascii"
 
 #: ../raster/r.out.vtk/main.c:73
-msgid ""
-"No input maps specified. You need to specify at least one input map or three "
-"vector maps or three rgb maps."
+msgid "No input maps specified. You need to specify at least one input map or three vector maps or three rgb maps."
 msgstr ""
 
 #: ../raster/r.out.vtk/main.c:131 ../raster/r.out.vtk/main.c:191
@@ -21658,19 +20667,15 @@ msgstr "Zapisuji obrazová data VTK\n"
 
 #: ../raster/r.out.vtk/main.c:232
 msgid "Wrong RGB maps. Maps should have the same type! RGB output not added!"
-msgstr ""
-"Chybná mapa RGB. Mapy by měly být stejného typu! Nebyl přidán RGB výstup!"
+msgstr "Chybná mapa RGB. Mapy by měly být stejného typu! Nebyl přidán RGB výstup!"
 
 #: ../raster/r.out.vtk/main.c:261
 msgid "Writing VTK Vector Data\n"
 msgstr "Zapisuji VTK Vector data\n"
 
 #: ../raster/r.out.vtk/main.c:271
-msgid ""
-"Wrong vector maps. Maps should have the same type! Vector output not added!"
-msgstr ""
-"Chybné vektorové vrstvy. Mapy by měly být stejného typu! Vektorový výstup "
-"nebyla přidána!"
+msgid "Wrong vector maps. Maps should have the same type! Vector output not added!"
+msgstr "Chybné vektorové vrstvy. Mapy by měly být stejného typu! Vektorový výstup nebyla přidána!"
 
 #: ../raster/r.out.vtk/main.c:283
 msgid "Error closing VTK-ASCII file"
@@ -21768,9 +20773,7 @@ msgstr "Prosím, zadejte poloměr, kde min < max"
 
 #: ../raster/r.circle/main.c:116
 msgid "Please specify min and/or max radius when using the binary flag"
-msgstr ""
-"Prosím zadejte minimální a/nebo maximální poloměr, když používáte přepínač "
-"pro vytvoření binární rastrové mapy"
+msgstr "Prosím zadejte minimální a/nebo maximální poloměr, když používáte přepínač pro vytvoření binární rastrové mapy"
 
 #: ../raster/r.lake/main.c:153
 msgid "flood"
@@ -21817,9 +20820,7 @@ msgstr "Musíte zadat buď souřadnice, nebo mapu s počátečními body, ne obo
 
 #: ../raster/r.lake/main.c:200
 msgid "Seed map or seed coordinates must be set!"
-msgstr ""
-"Musí být zadán právě jeden z parametrů mapa s počátky (seed map) nebo "
-"souřadnice počátků!"
+msgstr "Musí být zadán právě jeden z parametrů mapa s počátky (seed map) nebo souřadnice počátků!"
 
 #: ../raster/r.lake/main.c:203
 msgid "Seed coordinates and output map lake= must be set!"
@@ -21842,12 +20843,8 @@ msgid "G_malloc: out of memory"
 msgstr "G_malloc: chyba paměti"
 
 #: ../raster/r.lake/main.c:272
-msgid ""
-"Given water level at seed point is below earth surface. Increase water level "
-"or move seed point."
-msgstr ""
-"Zadaná hladina vody je na místě počátečního bodu pod povrchem. Zvyšte úroveň "
-"vody a nebo posuňte počáteční bod."
+msgid "Given water level at seed point is below earth surface. Increase water level or move seed point."
+msgstr "Zadaná hladina vody je na místě počátečního bodu pod povrchem. Zvyšte úroveň vody a nebo posuňte počáteční bod."
 
 #: ../raster/r.lake/main.c:351
 #, c-format
@@ -21951,8 +20948,7 @@ msgstr "stara_dolni:stara_horni:nova_dolni:nova_horni"
 
 #: ../raster/r.recode/read_rules.c:88
 msgid "old_low:old_high:new_val      (i.e. new_high == new_low)"
-msgstr ""
-"stara_dolni:starahorni:nova_hodnota     (to jest: nova_horni == nova_dolni)"
+msgstr "stara_dolni:starahorni:nova_hodnota     (to jest: nova_horni == nova_dolni)"
 
 #: ../raster/r.recode/read_rules.c:89
 msgid "*:old_val:new_val             (interval [inf, old_val])"
@@ -22011,12 +21007,8 @@ msgid "clumps"
 msgstr "%d tříd."
 
 #: ../raster/r.clump/main.c:56
-msgid ""
-"Recategorizes data in a raster map by grouping cells that form physically "
-"discrete areas into unique categories."
-msgstr ""
-"Změní kategorie dat rastrového souboru tak, že seskupí sousedící buňky "
-"formující fyzicky spojité oblasti do jedninečných kategorií."
+msgid "Recategorizes data in a raster map by grouping cells that form physically discrete areas into unique categories."
+msgstr "Změní kategorie dat rastrového souboru tak, že seskupí sousedící buňky formující fyzicky spojité oblasti do jedninečných kategorií."
 
 #: ../raster/r.clump/main.c:72
 #, fuzzy
@@ -22038,12 +21030,11 @@ msgid "%d clump."
 msgid_plural "%d clumps."
 msgstr[0] "%d tříd."
 msgstr[1] "%d tříd."
+msgstr[2] ""
 
 #: ../raster/r.surf.fractal/process.c:54
 msgid "Unable to allocate data buffer. Check current region with g.region."
-msgstr ""
-"Nelze alokovat buffer pro čtení rastru. Zkontrolujte nastavení regionu "
-"pomocí g.region."
+msgstr "Nelze alokovat buffer pro čtení rastru. Zkontrolujte nastavení regionu pomocí g.region."
 
 #: ../raster/r.surf.fractal/spec_syn.c:60
 msgid "Preliminary surface calculations..."
@@ -22110,9 +21101,7 @@ msgstr "Chyba při zápisu RASTER3D dat s plovoucí desetinnou čárkou"
 
 #: ../raster/r.to.rast3elev/main.c:366
 msgid "Creates a 3D volume map based on 2D elevation and value raster maps."
-msgstr ""
-"Vytvoří 3D volume vrstvu založenou na 2D výškového modelu a hodnotových "
-"rastrových mapách."
+msgstr "Vytvoří 3D volume vrstvu založenou na 2D výškového modelu a hodnotových rastrových mapách."
 
 #: ../raster/r.to.rast3elev/main.c:400
 msgid "The upper value is not valid"
@@ -22124,12 +21113,8 @@ msgstr "Dolní hodnota není platná"
 
 #: ../raster/r.to.rast3elev/main.c:427
 #, fuzzy
-msgid ""
-"The 2D and 3D region settings are different. I will use the 3D region "
-"settings to adjust the 2D region."
-msgstr ""
-"2d a 3d nastavení regionu jsou různá. Použiji hodnoty z nastavení g3d a "
-"přenastavím 2d region."
+msgid "The 2D and 3D region settings are different. I will use the 3D region settings to adjust the 2D region."
+msgstr "2d a 3d nastavení regionu jsou různá. Použiji hodnoty z nastavení g3d a přenastavím 2d region."
 
 #: ../raster/r.watershed/shed/file_in.c:15
 msgid "unable to open ARMSED file"
@@ -22168,9 +21153,7 @@ msgstr "v jeho rychlém módu, počítač ukončí výpočty zhruba 10 krát ryc
 
 #: ../raster/r.watershed/shed/com_line.c:31
 msgid "than in the slow mode, but will not allow other programs to run"
-msgstr ""
-"než v módu pomalém, ale ostatním programům bude znemožněno vykonávat jejich "
-"činnost."
+msgstr "než v módu pomalém, ale ostatním programům bude znemožněno vykonávat jejich činnost."
 
 #: ../raster/r.watershed/shed/com_line.c:32
 msgid "at the same time.  The fast mode also places all of the data into"
@@ -22178,8 +21161,7 @@ msgstr "Rychlý mód také umisťuje všechna data do "
 
 #: ../raster/r.watershed/shed/com_line.c:33
 msgid "RAM, which limits the size of window that can be run.  The slow"
-msgstr ""
-"paměti RAM, což limituje velikost okna, na kterém jej lze použít.  Pomalý "
+msgstr "paměti RAM, což limituje velikost okna, na kterém jej lze použít.  Pomalý "
 
 #: ../raster/r.watershed/shed/com_line.c:34
 msgid "mode uses disk space in the same hard disk partition as where GRASS is"
@@ -22196,8 +21178,7 @@ msgstr "vymazat nepotřebné soubory z tohoto diskového oddílu.  Pomalý mód
 #: ../raster/r.watershed/shed/com_line.c:37
 #, c-format
 msgid "will allow other processes to run concurrently with %s.\n"
-msgstr ""
-"dovoluje běh dalším procesům aby běžely současně s %s během jeho výpočtu.\n"
+msgstr "dovoluje běh dalším procesům aby běžely současně s %s během jeho výpočtu.\n"
 
 #: ../raster/r.watershed/shed/com_line.c:69
 #: ../raster/r.watershed/shed/com_line.c:182
@@ -22223,20 +21204,16 @@ msgstr ""
 "Jedna z volem pro %s je `mapa depresí'.  Mapa "
 
 #: ../raster/r.watershed/shed/com_line.c:83
-msgid ""
-"depression map indicates all the locations in the current map window where"
+msgid "depression map indicates all the locations in the current map window where"
 msgstr "depresí reprezentuje všechna místa v aktuálním regionu, kde "
 
 #: ../raster/r.watershed/shed/com_line.c:84
-msgid ""
-"water accumulates and does not leave by the edge of the map. Lakes without"
+msgid "water accumulates and does not leave by the edge of the map. Lakes without"
 msgstr "se voda akumuluje a neodtéká ani 'přes okraj mapy'. Jezera bez "
 
 #: ../raster/r.watershed/shed/com_line.c:85
-msgid ""
-"outlet streams and sinkholes are examples of `depressions'.  If you wish to"
-msgstr ""
-"odtoků nebo přepadů jsou příklady takových `depresí'.  Pokud si přejete"
+msgid "outlet streams and sinkholes are examples of `depressions'.  If you wish to"
+msgstr "odtoků nebo přepadů jsou příklady takových `depresí'.  Pokud si přejete"
 
 #: ../raster/r.watershed/shed/com_line.c:86
 msgid "have a depression map, prepare a map where non-zero values indicate the"
@@ -22247,11 +21224,8 @@ msgid "locations where depressions occur.\n"
 msgstr "oblasti s depresemi \n"
 
 #: ../raster/r.watershed/shed/com_line.c:88
-msgid ""
-"Hit <return> by itself for the next question if there is no depression map."
-msgstr ""
-"Stiskněte <return> jako odpověď na další otázku, pokud neexistuje žádná mapa "
-"depresí."
+msgid "Hit <return> by itself for the next question if there is no depression map."
+msgstr "Stiskněte <return> jako odpověď na další otázku, pokud neexistuje žádná mapa depresí."
 
 #: ../raster/r.watershed/shed/com_line.c:99
 #, c-format
@@ -22263,16 +21237,12 @@ msgstr ""
 "Program %s rozdělí mapu elevace do několika "
 
 #: ../raster/r.watershed/shed/com_line.c:101
-msgid ""
-"watershed basins.  The number of watershed basins is indirectly determined"
+msgid "watershed basins.  The number of watershed basins is indirectly determined"
 msgstr "povodí. Počet povodí je nepřímo určen "
 
 #: ../raster/r.watershed/shed/com_line.c:102
-msgid ""
-"by the `basin threshold' value.  The basin threshold is the area necessary "
-"for"
-msgstr ""
-"hodnotou `basin threshold'.  Tato `prahová hodnota povodí' je plocha, kterou "
+msgid "by the `basin threshold' value.  The basin threshold is the area necessary for"
+msgstr "hodnotou `basin threshold'.  Tato `prahová hodnota povodí' je plocha, kterou "
 
 #: ../raster/r.watershed/shed/com_line.c:103
 #, c-format
@@ -22280,50 +21250,36 @@ msgid "%s to define a unique watershed basin.  This area only applies to"
 msgstr "%s potřebuje pro určení jednoznačného povodí.  Tato plocha odpovídá "
 
 #: ../raster/r.watershed/shed/com_line.c:105
-msgid ""
-"`exterior drainage basins'.  An exterior drainage basin does not have any"
-msgstr ""
-"`vnějším povodím'. Vnější povodí jsou povodí, k nimž neexistují žádná další "
-"povodí, "
+msgid "`exterior drainage basins'.  An exterior drainage basin does not have any"
+msgstr "`vnějším povodím'. Vnější povodí jsou povodí, k nimž neexistují žádná další povodí, "
 
 #: ../raster/r.watershed/shed/com_line.c:106
-msgid ""
-"drainage basins flowing into it.  Interior drainage basin size is determined"
+msgid "drainage basins flowing into it.  Interior drainage basin size is determined"
 msgstr "která by do nich íşstila.  Velikost vnitřních povodí je určena "
 
 #: ../raster/r.watershed/shed/com_line.c:107
-msgid ""
-"by the surface flow going into stream segments between stream interceptions."
-msgstr ""
-"povrchovým odtokem, dělícím se do segmentů odtoku mezi zachyceními odtoku."
+msgid "by the surface flow going into stream segments between stream interceptions."
+msgstr "povrchovým odtokem, dělícím se do segmentů odtoku mezi zachyceními odtoku."
 
 #: ../raster/r.watershed/shed/com_line.c:108
 #, c-format
 msgid "Thus interior drainage basins can be of any size.  The %s program"
-msgstr ""
-"Velikost vnitřních povodí tedy může být jakékoliv velikosti.  Program %s "
+msgstr "Velikost vnitřních povodí tedy může být jakékoliv velikosti.  Program %s "
 
 #: ../raster/r.watershed/shed/com_line.c:110
 msgid "also allows the user to relate basin size to potential overland flow"
-msgstr ""
-"umožňuje teké vztáhnout velikost povodí k potenciálnímu průtoku povrchové "
-"vody"
+msgstr "umožňuje teké vztáhnout velikost povodí k potenciálnímu průtoku povrchové vody"
 
 #: ../raster/r.watershed/shed/com_line.c:111
-msgid ""
-"(i.e., areas with low infiltration capacities will need smaller areas to"
+msgid "(i.e., areas with low infiltration capacities will need smaller areas to"
 msgstr "(např. plochy s nízkým vsakem potřebují menší plochy k "
 
 #: ../raster/r.watershed/shed/com_line.c:112
-msgid ""
-"develop stream channels than neighboring areas with high infiltration rates)."
-msgstr ""
-"vytvoření drah soutředěného povrchového odtoku, než vedle ležící plochy s "
-"vysokou infiltrací)."
+msgid "develop stream channels than neighboring areas with high infiltration rates)."
+msgstr "vytvoření drah soutředěného povrchového odtoku, než vedle ležící plochy s vysokou infiltrací)."
 
 #: ../raster/r.watershed/shed/com_line.c:113
-msgid ""
-"The user can create a map layer with potential overland flow values, and"
+msgid "The user can create a map layer with potential overland flow values, and"
 msgstr "Uživatel může vytvořit mapu s potenciálním povrchovým odtokem a "
 
 #: ../raster/r.watershed/shed/com_line.c:114
@@ -22354,8 +21310,7 @@ msgid ""
 "How large an area (or how many overland flow units) must a drainage basin"
 msgstr ""
 "\n"
-"Jako veliká musí být plocha (nebo kolik jednotek povrchového odtoku přes ni "
-"musí proudit), "
+"Jako veliká musí být plocha (nebo kolik jednotek povrchového odtoku přes ni musí proudit), "
 
 #: ../raster/r.watershed/shed/com_line.c:132
 #, c-format
@@ -22444,11 +21399,8 @@ msgid "a display version of the accumulation map).  %s also has the"
 msgstr "zobrazit verzi mapy akumulace).  %s také "
 
 #: ../raster/r.watershed/shed/com_line.c:296
-msgid ""
-"ability to generate several variables in the Revised Universal Soil Loss"
-msgstr ""
-"umí generovat několik proměnných pro revidovanou univerzální rovnici ztráty "
-"půdy "
+msgid "ability to generate several variables in the Revised Universal Soil Loss"
+msgstr "umí generovat několik proměnných pro revidovanou univerzální rovnici ztráty půdy "
 
 #: ../raster/r.watershed/shed/com_line.c:297
 msgid "Equation (Rusle): Slope Length (LS), and Slope Steepness (S).\n"
@@ -22465,14 +21417,10 @@ msgstr ""
 #: ../raster/r.watershed/shed/com_line.c:349
 #, c-format
 msgid "disturbed land.  %s reflects this with an optional map layer or value"
-msgstr ""
-"porušeným pokryvem země.  %s tento stav umí zohlednit volitenou mapovou "
-"vrstvou nebo hodnotou "
+msgstr "porušeným pokryvem země.  %s tento stav umí zohlednit volitenou mapovou vrstvou nebo hodnotou "
 
 #: ../raster/r.watershed/shed/com_line.c:351
-msgid ""
-"where the value indicates the percent of disturbed (barren) land in that "
-"cell."
+msgid "where the value indicates the percent of disturbed (barren) land in that cell."
 msgstr "kde hodnota indikuje procenta porušeného pokryvu v každé buňce."
 
 #: ../raster/r.watershed/shed/com_line.c:352
@@ -22506,8 +21454,7 @@ msgid ""
 "Overland surface flow only occurs for a set distance before swales form."
 msgstr ""
 "\n"
-"Povrchový odtok nastává pouze při nastavené hodnotě před bezodtokovou "
-"oblastí (bažinou)."
+"Povrchový odtok nastává pouze při nastavené hodnotě před bezodtokovou oblastí (bažinou)."
 
 #: ../raster/r.watershed/shed/com_line.c:380
 #, c-format
@@ -22517,14 +21464,11 @@ msgstr "Díky omezení daným digitálním modelem terénu, %s nemůže získat
 #: ../raster/r.watershed/shed/com_line.c:382
 #, c-format
 msgid "these swales.  %s allows for an input (warning: kludge factor)"
-msgstr ""
-"bezodtoková místa. %s umožňuje jako vstup (varování: nejistý výsledek) "
+msgstr "bezodtoková místa. %s umožňuje jako vstup (varování: nejistý výsledek) "
 
 #: ../raster/r.watershed/shed/com_line.c:384
-msgid ""
-"that prevents the surface flow distance from getting too long.  Normally,"
-msgstr ""
-"že nedopustí aby délka povrchového odtoku byla příliš velká.  Normálně "
+msgid "that prevents the surface flow distance from getting too long.  Normally,"
+msgstr "že nedopustí aby délka povrchového odtoku byla příliš velká.  Normálně "
 
 #: ../raster/r.watershed/shed/com_line.c:385
 msgid "maximum slope length is around 600 feet (about 183 meters)."
@@ -22539,18 +21483,15 @@ msgstr ""
 "Silnice, příkopy, změny v půdním pokryvu a další faktory "
 
 #: ../raster/r.watershed/shed/com_line.c:401
-msgid ""
-"slope length.  You may input a raster map indicating the locations of these"
-msgstr ""
-"délku svahu zastaví.  Měli byste zadat rastrovou mapu označující místa "
+msgid "slope length.  You may input a raster map indicating the locations of these"
+msgstr "délku svahu zastaví.  Měli byste zadat rastrovou mapu označující místa "
 
 #: ../raster/r.watershed/shed/com_line.c:402
 msgid "blocking factors.\n"
 msgstr "takových změn.\n"
 
 #: ../raster/r.watershed/shed/com_line.c:403
-msgid ""
-"Hit <return> by itself for the next question if there is no blocking map."
+msgid "Hit <return> by itself for the next question if there is no blocking map."
 msgstr "Stiskněte <return> pokud žádnou takovou mapu překážek nemáte."
 
 #: ../raster/r.watershed/shed/read.c:23
@@ -22565,8 +21506,7 @@ msgstr "%s je textové rozhraní k programu %s."
 #: ../raster/r.watershed/shed/intro.c:10
 #, c-format
 msgid "%s also allows the user to prepare a report of map layers for each"
-msgstr ""
-"%s také umožní uživateli připravit zprávu o mapových vrstvách pro každé "
+msgstr "%s také umožní uživateli připravit zprávu o mapových vrstvách pro každé "
 
 #: ../raster/r.watershed/shed/intro.c:12
 #, c-format
@@ -22717,10 +21657,10 @@ msgstr ""
 #: ../raster/r.watershed/ram/do_cum.c:478
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
-msgid_plural ""
-"MFD: A * path already processed when distributing flow: %d of %d cells"
+msgid_plural "MFD: A * path already processed when distributing flow: %d of %d cells"
 msgstr[0] ""
 msgstr[1] ""
+msgstr[2] ""
 
 #: ../raster/r.watershed/ram/do_cum.c:484
 #: ../raster/r.watershed/seg/do_cum.c:531
@@ -22796,45 +21736,21 @@ msgstr "ČÁST 4: Určuji délku svahu."
 #, fuzzy, c-format
 msgid ""
 "USAGE for basin delineation:\n"
-"%s -4 elevation=elevation_map threshold=swale_threshold "
-"[flow=overland_flow_map] [drainage=drain_direction_map] "
-"[depression=depression_map] [accumulation=accumulation_map] "
-"[basin=watershed_basin_map] [stream=stream_segment_map]\n"
+"%s -4 elevation=elevation_map threshold=swale_threshold [flow=overland_flow_map] [drainage=drain_direction_map] [depression=depression_map] [accumulation=accumulation_map] [basin=watershed_basin_map] [stream=stream_segment_map]\n"
 "\n"
 "USAGE for slope length determination:\n"
-"%s [-4] elevation=elevation_map threshold=swale_threshold "
-"[drainage=drain_direction_map] [depression=depression_map] "
-"[accumulation=accumulation_map] [max_slope_length=max_slope_length] "
-"[blocking=overland_blocking_map] [slope_steepness=slope_steepness_map] "
-"length_slope=length_slope_map [disturbed_land=rill_erosion_map] "
-"[slope_deposition=slope_deposition value or map]USAGE for ARMSED FILE "
-"creation:\n"
-"%s [-4] elevation=elevation_map threshold=swale_threshold "
-"[flow=overland_flow_map] [drainage=drain_direction_map] "
-"[depression=depression_map] [accumulation=accumulation_map] "
-"[basin=watershed_basin_map] [stream=stream_segment_map] "
-"[half_basin=half_basin_map] ar=ARMSED_file_name\n"
+"%s [-4] elevation=elevation_map threshold=swale_threshold [drainage=drain_direction_map] [depression=depression_map] [accumulation=accumulation_map] [max_slope_length=max_slope_length] [blocking=overland_blocking_map] [slope_steepness=slope_steepness_map] length_slope=length_slope_map [disturbed_land=rill_erosion_map] [slope_deposition=slope_deposition value or map]USAGE for ARMSED FILE creation:\n"
+"%s [-4] elevation=elevation_map threshold=swale_threshold [flow=overland_flow_map] [drainage=drain_direction_map] [depression=depression_map] [accumulation=accumulation_map] [basin=watershed_basin_map] [stream=stream_segment_map] [half_basin=half_basin_map] ar=ARMSED_file_name\n"
 "\n"
 msgstr ""
 "POUŽITÍ pro vytvoření povodí:\n"
-"%s -4 el=mapa_elevace t=prahová_hodnota_bezodtokových_oblastí "
-"[ov=mapa_povrchového_odtoku] [dr=mapa_směru_odtoku] [de=mapa_depresí] "
-"[ac=mapa_akumulace] [di=mapa_zobrazení] ba=mapa_povodí "
-"[se=mapa_segmentĹź_drah_povrchového_odtoku]\n"
+"%s -4 el=mapa_elevace t=prahová_hodnota_bezodtokových_oblastí [ov=mapa_povrchového_odtoku] [dr=mapa_směru_odtoku] [de=mapa_depresí] [ac=mapa_akumulace] [di=mapa_zobrazení] ba=mapa_povodí [se=mapa_segmentĹź_drah_povrchového_odtoku]\n"
 "\n"
 "POUĹ˝ITÍ pro vytvoření souboru ARMSED:\n"
-"%s [-4] el=mapa_elevace t=prahová_hodnota_bezodtokových_oblastí "
-"[ov=mapa_povrchového_odtoku] [dr=mapa_směru_odtoku] [de=mapa_depresí] "
-"[ac=mapa_akumulace] [di=mapa_zobrazení] [ba=mapa_povodí] "
-"[se=mapa_segmentĹź_drah_povrchového_odtoku] ha=mapa_polopovodí(halfbasin) "
-"ar=jméno_souboru_ARMSED\n"
+"%s [-4] el=mapa_elevace t=prahová_hodnota_bezodtokových_oblastí [ov=mapa_povrchového_odtoku] [dr=mapa_směru_odtoku] [de=mapa_depresí] [ac=mapa_akumulace] [di=mapa_zobrazení] [ba=mapa_povodí] [se=mapa_segmentĹź_drah_povrchového_odtoku] ha=mapa_polopovodí(halfbasin) ar=jméno_souboru_ARMSED\n"
 "\n"
 "POUŽITÍ určení délky svahu:\n"
-"%s [-4] el=mapa_elevace t=prahová_hodnota_bezodtokových_oblastí "
-"[dr=mapa_směru_odtoku] [de=mapa_depresí] [ac=mapa_akumulace] "
-"[di=mapa_zobrazení] [ms=maximální_délka_svahu] [ob=mapa_bariér] "
-"[S=mapa_faktoru_sklonu_svahu] LS=mapa_faktoru_sklonu_a_délky_svahu "
-"[r=mapa_stružkové_eroze] [sd=hodnota_sklonu_svahu_při_depozici]"
+"%s [-4] el=mapa_elevace t=prahová_hodnota_bezodtokových_oblastí [dr=mapa_směru_odtoku] [de=mapa_depresí] [ac=mapa_akumulace] [di=mapa_zobrazení] [ms=maximální_délka_svahu] [ob=mapa_bariér] [S=mapa_faktoru_sklonu_svahu] LS=mapa_faktoru_sklonu_a_délky_svahu [r=mapa_stružkové_eroze] [sd=hodnota_sklonu_svahu_při_depozici]"
 
 #: ../raster/r.watershed/ram/do_astar.c:27
 #: ../raster/r.watershed/seg/do_astar.c:30
@@ -22932,13 +21848,12 @@ msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] "ČÁST 1 začínám: Nastavuji proměnné. Celkem proběhne %d částí."
 msgstr[1] "ČÁST 1 začínám: Nastavuji proměnné. Celkem proběhne %d částí."
+msgstr[2] ""
 
 #: ../raster/r.watershed/seg/init_vars.c:168
 #, fuzzy
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
-msgstr ""
-"Maximální velikost použité paměti byla menší než 3 MB, nastavuji výchozí "
-"hodnotu = 300 MB."
+msgstr "Maximální velikost použité paměti byla menší než 3 MB, nastavuji výchozí hodnotu = 300 MB."
 
 #: ../raster/r.watershed/seg/init_vars.c:245
 #: ../raster/r.stream.extract/main.c:319
@@ -22989,7 +21904,8 @@ msgstr "Vstupní mapa: množství povrchového odtoku na buňku"
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Název vstupní rastrové mapy(saturation - sytost)"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:96
+#: ../raster/r.watershed/front/main.c:121
 msgid "For USLE"
 msgstr ""
 
@@ -22999,8 +21915,7 @@ msgid "Name of input raster map blocking overland surface flow"
 msgstr "Vstupní mapa: povrchu bránícího povrchovému odtoku, pro USLE"
 
 #: ../raster/r.watershed/front/main.c:105
-msgid ""
-"For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
+msgid "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
 #: ../raster/r.watershed/front/main.c:112
@@ -23103,9 +22018,7 @@ msgid "Enable disk swap memory option: Operation is slow"
 msgstr "Umožněno rozšířené využití paměti: Operace je pomalá"
 
 #: ../raster/r.watershed/front/main.c:215
-msgid ""
-"Only needed if memory requirements exceed available RAM; see manual on how "
-"to calculate memory requirements"
+msgid "Only needed if memory requirements exceed available RAM; see manual on how to calculate memory requirements"
 msgstr ""
 
 #: ../raster/r.watershed/front/main.c:220
@@ -23161,21 +22074,8 @@ msgstr "Výpočet úhlu horizontu z digitálního modelu terénu (DTM)."
 
 #: ../raster/r.horizon/main.c:186
 #, fuzzy
-msgid ""
-"The module has two different modes of operation: 1. Computes the entire "
-"horizon around a single point whose coordinates are given with the 'coord' "
-"option. The horizon height (in radians). 2. Computes one or more raster maps "
-"of the horizon height in a single direction. The input for this is the angle "
-"(in degrees), which is measured counterclockwise with east=0, north=90 etc. "
-"The output is the horizon height in radians."
-msgstr ""
-"Vypočítá výškový úhel z digitálního modelu terénu. Modul má dva různé módy. "
-"1. Vypočítá celý horizont okolo jednoho bodu, jehož souřadnice jsou zadány "
-"volbou 'coord'. Výška horizontu je v radiánech. 2. Vypočítá jednu nebo "
-"několik rastrových map s výškou horizonhu v jednom směru. vstup pro tento "
-"mód jsou úhly( ve stupních), které jsou změřeny proti směru hodinových "
-"ručiček, východ=0, sever=90,... Výstupní mapa obsahuje výšku horizontu v "
-"radiánech."
+msgid "The module has two different modes of operation: 1. Computes the entire horizon around a single point whose coordinates are given with the 'coord' option. The horizon height (in radians). 2. Computes one or more raster maps of the horizon height in a single direction. The input for this is the angle (in degrees), which is measured counterclockwise with east=0, north=90 etc. The output is the horizon height in radians."
+msgstr "Vypočítá výškový úhel z digitálního modelu terénu. Modul má dva různé módy. 1. Vypočítá celý horizont okolo jednoho bodu, jehož souřadnice jsou zadány volbou 'coord'. Výška horizontu je v radiánech. 2. Vypočítá jednu nebo několik rastrových map s výškou horizonhu v jednom směru. vstup pro tento mód jsou úhly( ve stupních), které jsou změřeny proti směru hodinových ručiček, východ=0, sever=90,... Výstupní mapa obsahuje výšku horizontu v radiánech."
 
 #: ../raster/r.horizon/main.c:203
 msgid "Direction in which you want to know the horizon height"
@@ -23200,43 +22100,24 @@ msgid "End angle for multidirectional horizon [degrees]"
 msgstr "Velikostúhlového kroku pro mnohosměrný obzor [stupně]"
 
 #: ../raster/r.horizon/main.c:237
-msgid ""
-"For horizon rasters, read from the DEM an extra buffer around the present "
-"region"
-msgstr ""
-"Pro rastry s horizontem, načíst z DTM extra území okolo současného regionu"
+msgid "For horizon rasters, read from the DEM an extra buffer around the present region"
+msgstr "Pro rastry s horizontem, načíst z DTM extra území okolo současného regionu"
 
 #: ../raster/r.horizon/main.c:245
-msgid ""
-"For horizon rasters, read from the DEM an extra buffer eastward the present "
-"region"
-msgstr ""
-"Pro rastry s horizontem, načíst z DTM extra území východním směrem od "
-"současného regionu"
+msgid "For horizon rasters, read from the DEM an extra buffer eastward the present region"
+msgstr "Pro rastry s horizontem, načíst z DTM extra území východním směrem od současného regionu"
 
 #: ../raster/r.horizon/main.c:253
-msgid ""
-"For horizon rasters, read from the DEM an extra buffer westward the present "
-"region"
-msgstr ""
-"Pro rastry s horizontem, načíst z DTM extra území západním směrem od "
-"současného regionu"
+msgid "For horizon rasters, read from the DEM an extra buffer westward the present region"
+msgstr "Pro rastry s horizontem, načíst z DTM extra území západním směrem od současného regionu"
 
 #: ../raster/r.horizon/main.c:261
-msgid ""
-"For horizon rasters, read from the DEM an extra buffer northward the present "
-"region"
-msgstr ""
-"Pro rastry s horizontem, načíst z DTM extra území severním směrem od "
-"současného regionu"
+msgid "For horizon rasters, read from the DEM an extra buffer northward the present region"
+msgstr "Pro rastry s horizontem, načíst z DTM extra území severním směrem od současného regionu"
 
 #: ../raster/r.horizon/main.c:269
-msgid ""
-"For horizon rasters, read from the DEM an extra buffer southward the present "
-"region"
-msgstr ""
-"Pro rastry s horizontem, načíst z DTM extra území jižním směrem od "
-"současného regionu"
+msgid "For horizon rasters, read from the DEM an extra buffer southward the present region"
+msgstr "Pro rastry s horizontem, načíst z DTM extra území jižním směrem od současného regionu"
 
 #: ../raster/r.horizon/main.c:277
 msgid "The maximum distance to consider when finding the horizon height"
@@ -23265,8 +22146,7 @@ msgid "Write output in compass orientation (default is CCW, East=0)"
 msgstr "Zapsat výstup ve stupních (výchozí je radiány)"
 
 #: ../raster/r.horizon/main.c:355
-msgid ""
-"Note: In latitude-longitude coordinate system specify buffers in degree unit"
+msgid "Note: In latitude-longitude coordinate system specify buffers in degree unit"
 msgstr ""
 
 #: ../raster/r.horizon/main.c:368
@@ -23352,10 +22232,8 @@ msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "Výpočet mapy %01d z %01d (úhel %lf, rastrová mapa <%s>)"
 
 #: ../raster/r.composite/main.c:76
-msgid ""
-"Combines red, green and blue raster maps into a single composite raster map."
-msgstr ""
-"Kombinuje červenou, zelenou a modrou mapovou vrstvu do jedné rastrové mapy."
+msgid "Combines red, green and blue raster maps into a single composite raster map."
+msgstr "Kombinuje červenou, zelenou a modrou mapovou vrstvu do jedné rastrové mapy."
 
 #: ../raster/r.composite/main.c:102
 msgid "Number of levels to be used for each component"
@@ -23510,9 +22388,7 @@ msgstr ""
 #: ../raster/r.out.png/main.c:116
 #, fuzzy
 msgid "Export a GRASS raster map as a non-georeferenced PNG image."
-msgstr ""
-"Exportuje GRASS rastrové mapy do jednoho z formátů podporovaných knihovnou "
-"GDAL."
+msgstr "Exportuje GRASS rastrové mapy do jednoho z formátů podporovaných knihovnou GDAL."
 
 #: ../raster/r.out.png/main.c:122
 #, fuzzy
@@ -23601,27 +22477,25 @@ msgstr "Úklid vzad dokončen"
 msgid "3D Raster map used for zoning, must be of type CELL"
 msgstr ""
 
-#: ../raster/r.univar/r3.univar_main.c:59 ../raster/r.univar/r.univar_main.c:61
-#: ../vector/v.what/main.c:98 ../vector/v.univar/main.c:126
+#: ../raster/r.univar/r3.univar_main.c:59
+#: ../raster/r.univar/r.univar_main.c:61 ../vector/v.what/main.c:98
+#: ../vector/v.univar/main.c:126
 msgid "Print the stats in shell script style"
 msgstr "Vypiš statistiku ve stylu pro shell skript"
 
-#: ../raster/r.univar/r3.univar_main.c:67 ../raster/r.univar/r.univar_main.c:71
+#: ../raster/r.univar/r3.univar_main.c:67
+#: ../raster/r.univar/r.univar_main.c:71
 msgid "Table output format instead of standard output format"
 msgstr ""
 
 #: ../raster/r.univar/r3.univar_main.c:103
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from the non-null cells of a 3D raster map."
+msgid "Calculates univariate statistics from the non-null cells of a 3D raster map."
 msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
 
 #: ../raster/r.univar/r3.univar_main.c:105
 #: ../raster/r.univar/r.univar_main.c:108
-msgid ""
-"Statistics include number of cells counted, minimum and maximum cell values, "
-"range, arithmetic mean, population variance, standard deviation, coefficient "
-"of variation, and sum."
+msgid "Statistics include number of cells counted, minimum and maximum cell values, range, arithmetic mean, population variance, standard deviation, coefficient of variation, and sum."
 msgstr ""
 
 #: ../raster/r.univar/r3.univar_main.c:151
@@ -23648,8 +22522,7 @@ msgid "Extended"
 msgstr ""
 
 #: ../raster/r.univar/r.univar_main.c:106
-msgid ""
-"Calculates univariate statistics from the non-null cells of a raster map."
+msgid "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
 
 #: ../raster/r.regression.line/main.c:50
@@ -23717,8 +22590,8 @@ msgid "Writing output raster maps..."
 msgstr "Zapisuji výslednou rastrovou mapu %s... "
 
 #: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
-#: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
-#: ../vector/v.colors/main.c:316
+#: ../raster/r.colors/edit_colors.c:396
+#: ../raster/r.colors.out/raster_main.c:69 ../vector/v.colors/main.c:316
 #, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "Nelze načíst tabulku barev pro rastrovou mapu <%s>"
@@ -23772,12 +22645,8 @@ msgstr "Smazat soubor NULL"
 
 #: ../raster/r.null/main.c:125
 #, c-format
-msgid ""
-"Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
-"with r.mapcalc. Exiting."
-msgstr ""
-"Rastrové mapa <%s> vznikla překlasifikováním mapy <%s@%s>. Zvažte vytvoření "
-"kopie pomocí r.mapcalc. Ukončuji."
+msgid "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy with r.mapcalc. Exiting."
+msgstr "Rastrové mapa <%s> vznikla překlasifikováním mapy <%s@%s>. Zvažte vytvoření kopie pomocí r.mapcalc. Ukončuji."
 
 #: ../raster/r.null/main.c:131
 #, c-format
@@ -24051,15 +22920,11 @@ msgstr "Název cílové location"
 
 #: ../raster/r.in.gdal/main.c:122
 #, fuzzy
-msgid ""
-"Name of location to create or to read projection from for GCPs transformation"
-msgstr ""
-"Název location, ze které bude načtena mapová projekce pro GCP transformaci"
+msgid "Name of location to create or to read projection from for GCPs transformation"
+msgstr "Název location, ze které bude načtena mapová projekce pro GCP transformaci"
 
 #: ../raster/r.in.gdal/main.c:138
-msgid ""
-"The offset will be added to the band number while output raster map name "
-"creation"
+msgid "The offset will be added to the band number while output raster map name creation"
 msgstr ""
 
 #: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
@@ -24090,9 +22955,7 @@ msgid "Keep band numbers instead of using band color names"
 msgstr "Ponechej čísla kanálů místo použití jmen jejich barev"
 
 #: ../raster/r.in.gdal/main.c:193
-msgid ""
-"Create the location specified by the \"location\" parameter and exit. Do not "
-"import the raster file."
+msgid "Create the location specified by the \"location\" parameter and exit. Do not import the raster file."
 msgstr ""
 
 #: ../raster/r.in.gdal/main.c:198
@@ -24125,9 +22988,7 @@ msgstr "Nelze otevřít zdroj dat <%s>"
 
 #: ../raster/r.in.gdal/main.c:295
 #, c-format
-msgid ""
-"Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
-"plate spline transformation (%s or %s)."
+msgid "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin plate spline transformation (%s or %s)."
 msgstr ""
 
 #: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
@@ -24138,28 +22999,17 @@ msgstr "Rastrová vrstva <%s> již existuje."
 
 #: ../raster/r.in.gdal/main.c:334
 #, fuzzy
-msgid ""
-"Input raster map is flipped or rotated - cannot import. You may use "
-"'gdalwarp' to transform the map to North-up."
-msgstr ""
-"Vstupní mapa je pootočená - nelze ji naimportovat. Použijte 'gdalwarp' pro "
-"její transformaci severem-nahoru."
+msgid "Input raster map is flipped or rotated - cannot import. You may use 'gdalwarp' to transform the map to North-up."
+msgstr "Vstupní mapa je pootočená - nelze ji naimportovat. Použijte 'gdalwarp' pro její transformaci severem-nahoru."
 
 #: ../raster/r.in.gdal/main.c:375
-msgid ""
-"Map bounds have been constrained to geographic coordinates. You will almost "
-"certainly want to check map bounds and resolution with r.info and reset them "
-"with r.region before going any further."
+msgid "Map bounds have been constrained to geographic coordinates. You will almost certainly want to check map bounds and resolution with r.info and reset them with r.region before going any further."
 msgstr ""
 
 #: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
 #: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
-msgid ""
-"Unable to convert input map projection to GRASS format; cannot create new "
-"location."
-msgstr ""
-"Nelze převést vstupní mapovou projekci do formátu GRASSu; nelze vytvořit "
-"novou location."
+msgid "Unable to convert input map projection to GRASS format; cannot create new location."
+msgstr "Nelze převést vstupní mapovou projekci do formátu GRASSu; nelze vytvořit novou location."
 
 #: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
 #: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
@@ -24207,9 +23057,7 @@ msgstr "Chyba v pj_do_proj (nelze reprojekovat GCP %i)"
 
 #: ../raster/r.in.gdal/main.c:796
 #, c-format
-msgid ""
-"The target for the output group <%s> has been set to location <%s>, mapset "
-"<PERMANENT>."
+msgid "The target for the output group <%s> has been set to location <%s>, mapset <PERMANENT>."
 msgstr ""
 
 #: ../raster/r.in.gdal/main.c:867
@@ -24245,8 +23093,7 @@ msgstr "Nastavuji barevnou tabulku barev  na šedou pro <%s> (8bit plný rozsah)
 #: ../raster/r.in.gdal/main.c:1449
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
-msgstr ""
-"Nastavuji barevnou tabulku barev  na šedou pro <%s> (16bit, rozsah obrazu)"
+msgstr "Nastavuji barevnou tabulku barev  na šedou pro <%s> (16bit, rozsah obrazu)"
 
 #: ../raster/r.in.gdal/main.c:1551
 #, fuzzy, c-format
@@ -24291,14 +23138,11 @@ msgstr "nalezen špatný činitel pole: používám 1.0"
 
 #: ../raster/r.in.ascii/gethead.c:181
 msgid "ignoring multiplier filed in header, multiplier is set on command line"
-msgstr ""
-"ignoruji pole s čitatelem v hlavičc, čitatel byl nastaven v příkazovém řádku"
+msgstr "ignoruji pole s čitatelem v hlavičc, čitatel byl nastaven v příkazovém řádku"
 
 #: ../raster/r.in.ascii/gethead.c:189
 msgid "ignoring null filed in header, null string is set on command line"
-msgstr ""
-"ignoruji nullové pole v hlavičce, nullový řetězec byl nastaven v příkazovém "
-"řádku"
+msgstr "ignoruji nullové pole v hlavičce, nullový řetězec byl nastaven v příkazovém řádku"
 
 #: ../raster/r.in.ascii/gethead.c:218
 msgid "error in ascii data format"
@@ -24392,12 +23236,8 @@ msgid "Programmer error in get_stats/switch"
 msgstr "Chyba programátora get_stats/switch"
 
 #: ../raster/r.random/main.c:56
-msgid ""
-"Creates a raster map layer and vector point map containing randomly located "
-"points."
-msgstr ""
-"Vytvoří rastrovou mapu a bodovou vektorovou mapu obsahující náhodně "
-"rozmístěné body."
+msgid "Creates a raster map layer and vector point map containing randomly located points."
+msgstr "Vytvoří rastrovou mapu a bodovou vektorovou mapu obsahující náhodně rozmístěné body."
 
 #: ../raster/r.random/main.c:65
 msgid "Name of cover raster map"
@@ -24562,18 +23402,12 @@ msgstr "Bodová klasifikace"
 #: ../raster/r.reclass/main.c:52
 #, fuzzy
 msgid "Reclassify raster map based on category values."
-msgstr ""
-"Program sloužící k dotazování rastrových map podle jejich kategorií a "
-"označení."
+msgstr "Program sloužící k dotazování rastrových map podle jejich kategorií a označení."
 
 #: ../raster/r.reclass/main.c:54
 #, fuzzy
-msgid ""
-"Creates a new raster map whose category values are based upon a "
-"reclassification of the categories in an existing raster map."
-msgstr ""
-"Vytvoří novou mapovou vrstvu jejíž hodnoty budou založeny na reklasifikaci "
-"hodnot výchozí rastrové mapy."
+msgid "Creates a new raster map whose category values are based upon a reclassification of the categories in an existing raster map."
+msgstr "Vytvoří novou mapovou vrstvu jejíž hodnoty budou založeny na reklasifikaci hodnot výchozí rastrové mapy."
 
 #: ../raster/r.reclass/main.c:59
 #, fuzzy
@@ -24625,7 +23459,7 @@ msgstr "ignorováno\n"
 
 #: ../raster/r.reclass/main.c:123
 msgid " - invalid reclass rule"
-msgstr " - neplatné pravidlo reclasifikace"
+msgstr " - neplatné pravidlo reklasifikace"
 
 #: ../raster/r.reclass/main.c:139
 #, c-format
@@ -24672,9 +23506,8 @@ msgid "Page width is too small"
 msgstr ""
 
 #: ../raster/r.report/main.c:69
-#, fuzzy
 msgid "Reports statistics for raster maps."
-msgstr "Vypíše statistiku pro rastrovou mapu."
+msgstr "Vypíše statistiku pro rastrovou vrstvu."
 
 #: ../raster/r.report/parse.c:38 ../raster/r.stats/main.c:114
 #, fuzzy
@@ -24749,9 +23582,7 @@ msgstr "Neplatná šířka stránky"
 #: ../raster/r.report/parse.c:94 ../raster/r.stats/main.c:136
 #, fuzzy
 msgid "Number of floating-point subranges to collect stats from"
-msgstr ""
-"Počet podintervalů rastrové mapy s plovoucí desetinnou čárkou, pro které "
-"bude vytvořena statistika"
+msgstr "Počet podintervalů rastrové mapy s plovoucí desetinnou čárkou, pro které bude vytvořena statistika"
 
 #: ../raster/r.report/parse.c:95 ../raster/r.report/parse.c:139
 #: ../raster/r.report/parse.c:145 ../raster/r.stats/main.c:137
@@ -24809,15 +23640,12 @@ msgstr "Odfiltruj všechny buňky s hodnotou žádná data pro celou mapu"
 #: ../raster/r.report/parse.c:138 ../raster/r.stats/main.c:211
 #, fuzzy
 msgid "Report for cats floating-point ranges (floating-point maps only)"
-msgstr ""
-"Zpráva pro jednotlivé kategorie rastrových map s plovoucí desetinnou čárkou"
+msgstr "Zpráva pro jednotlivé kategorie rastrových map s plovoucí desetinnou čárkou"
 
 #: ../raster/r.report/parse.c:144 ../raster/r.stats/main.c:216
 #, fuzzy
 msgid "Read floating-point map as integer (use map's quant rules)"
-msgstr ""
-"Načti mapu s plovoucí desetinnou řárkou jako celočíselnou (použij kvatizační "
-"pravidla mapy)"
+msgstr "Načti mapu s plovoucí desetinnou řárkou jako celočíselnou (použij kvatizační pravidla mapy)"
 
 #: ../raster/r.report/parse.c:187
 msgid "nsteps has to be > 0; using nsteps=255"
@@ -24839,8 +23667,7 @@ msgstr "Povoleno pouze %d jednotek%s"
 #: ../raster/r.report/parse.c:286
 #, c-format
 msgid "Unable to read fp range for raster map <%s>"
-msgstr ""
-"Nelze číst rozmezí s použitím desetinného čísla pro rastrovou mapu <%s>"
+msgstr "Nelze číst rozmezí s použitím desetinného čísla pro rastrovou mapu <%s>"
 
 #: ../raster/r.random.cells/init.c:70
 #, fuzzy
@@ -24964,18 +23791,12 @@ msgid "filter"
 msgstr "Linie"
 
 #: ../raster/r.neighbors/main.c:175
-msgid ""
-"Makes each cell category value a function of the category values assigned to "
-"the cells around it, and stores new cell values in an output raster map "
-"layer."
-msgstr ""
-"Hodnota každé buňky v novém rastru bude funkcí hodnot kategorii sousedních "
-"buněk a bude uložena jako hodnota ve výstupní rastrové mapě."
+msgid "Makes each cell category value a function of the category values assigned to the cells around it, and stores new cell values in an output raster map layer."
+msgstr "Hodnota každé buňky v novém rastru bude funkcí hodnot kategorii sousedních buněk a bude uložena jako hodnota ve výstupní rastrové mapě."
 
 #: ../raster/r.neighbors/main.c:185
 #, fuzzy
-msgid ""
-"Name of an input raster map to select the cells which should be processed"
+msgid "Name of an input raster map to select the cells which should be processed"
 msgstr "Rastrová mapa s výsledkem zamítnutí"
 
 #: ../raster/r.neighbors/main.c:204 ../vector/v.neighbors/main.c:72
@@ -25020,15 +23841,12 @@ msgstr "output= a method= musí mít stejný počet hodnot"
 
 #: ../raster/r.neighbors/main.c:329
 #, fuzzy, c-format
-msgid ""
-"Method %s not compatible with weighing window, using weight mask instead"
+msgid "Method %s not compatible with weighing window, using weight mask instead"
 msgstr "x-y rozsah Gaussova filtru"
 
 #: ../raster/r.neighbors/main.c:337
 #, fuzzy, c-format
-msgid ""
-"Method %s not compatible with Gaussian filter, using unweighed version "
-"instead"
+msgid "Method %s not compatible with Gaussian filter, using unweighed version instead"
 msgstr "x-y rozsah Gaussova filtru"
 
 #: ../raster/r.neighbors/main.c:386
@@ -25064,8 +23882,7 @@ msgstr "Načítám rastrový soubor <%s>..."
 
 #: ../raster/r.flow/io.c:104
 msgid "Resolution of aspect file differs from current region resolution"
-msgstr ""
-"Rozlišení rastrové mapy expozice je různé od aktuálního rozlišení regionu"
+msgstr "Rozlišení rastrové mapy expozice je různé od aktuálního rozlišení regionu"
 
 #: ../raster/r.flow/io.c:121
 msgid "Reading input files: barrier"
@@ -25093,12 +23910,8 @@ msgstr "Hodnota izolinií"
 
 #: ../raster/r.flow/main.c:425
 #, fuzzy
-msgid ""
-"Computes flowlines, flowpath lengths, and flowaccumulation (contributing "
-"areas) from a elevation raster map."
-msgstr ""
-"Konsrukce svahových křivek (drah odtoku), délek odtoku a hustoty odtoku (do "
-"svahu) z rastrové mapy elevace (DMT)"
+msgid "Computes flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a elevation raster map."
+msgstr "Konsrukce svahových křivek (drah odtoku), délek odtoku a hustoty odtoku (do svahu) z rastrové mapy elevace (DMT)"
 
 #: ../raster/r.flow/main.c:435 ../raster/r.flow/main.c:441
 #: ../raster/r.stream.extract/main.c:89 ../raster/r.stream.extract/main.c:97
@@ -25159,12 +23972,8 @@ msgid "You must select one or more output maps (flout, lgout, dsout)"
 msgstr "Musíte vybrat jednu nebo více výstupních map (flout, lgout, dsout)"
 
 #: ../raster/r.flow/main.c:555
-msgid ""
-"lat/long projection not supported by r.flow. Please use 'r.watershed' for "
-"calculating flow accumulation."
-msgstr ""
-"Projekce zem. délka/šířka není r.flow podporována. Prosím, použijte 'r."
-"watershed' pro výpočet akumulace odtoku."
+msgid "lat/long projection not supported by r.flow. Please use 'r.watershed' for calculating flow accumulation."
+msgstr "Projekce zem. délka/šířka není r.flow podporována. Prosím, použijte 'r.watershed' pro výpočet akumulace odtoku."
 
 #: ../raster/r.flow/precomp.c:48
 #, fuzzy
@@ -25210,8 +24019,7 @@ msgstr ""
 #: ../raster/r.flow/precomp.c:116
 #, c-format
 msgid "Resolution too unbalanced (%f x %f); please resample input map"
-msgstr ""
-"Rozlišení je příliš nevyvážené (%fx %f); prosím převzorkujte vstupní mapu"
+msgstr "Rozlišení je příliš nevyvážené (%fx %f); prosím převzorkujte vstupní mapu"
 
 #: ../raster/r.what.color/main.c:91
 msgid "Queries colors for a raster map layer."
@@ -25239,13 +24047,8 @@ msgstr "Měl by být zadán \"value=\" nebo \"-i\""
 
 #: ../raster/r.his/main.c:73
 #, fuzzy
-msgid ""
-"Generates red, green and blue (RGB) raster map layers combining hue, "
-"intensity and saturation (HIS) values from user-specified input raster map "
-"layers."
-msgstr ""
-"Vytvoří červené, zelené a modré rastrové mapy kombinací hodnot odstínu,"
-"intenzity a nasycení (his) z uživatelem zadaných vstupních rastrových map."
+msgid "Generates red, green and blue (RGB) raster map layers combining hue, intensity and saturation (HIS) values from user-specified input raster map layers."
+msgstr "Vytvoří červené, zelené a modré rastrové mapy kombinací hodnot odstínu,intenzity a nasycení (his) z uživatelem zadaných vstupních rastrových map."
 
 #: ../raster/r.his/main.c:103
 #, fuzzy
@@ -25281,6 +24084,7 @@ msgid "%d column"
 msgid_plural "%d columns"
 msgstr[0] "sloupec(ce)"
 msgstr[1] "sloupec(ce)"
+msgstr[2] ""
 
 #. GTC First argument is the raster map name, second and third - a string representing number of rows and cols
 #: ../raster/r.thin/io.c:109
@@ -25335,6 +24139,7 @@ msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "%d pixelů smazáno "
 msgstr[1] "%d pixelů smazáno "
+msgstr[2] ""
 
 #: ../raster/r.thin/thin_lines.c:172
 msgid "Thinning completed successfully."
@@ -25347,9 +24152,7 @@ msgstr "Ztenčení nedokončeno, zkuste zvýšit parametr 'iterations'."
 #: ../raster/r.out.ppm3/main.c:59
 #, fuzzy
 msgid "Converts 3 GRASS raster layers (R,G,B) to a PPM image file."
-msgstr ""
-"Převede 3 GRASSové rastrové mapy (R,G,B) do souboru PPM s rozlišením pixelu "
-"podle aktuálně definovaného regionu."
+msgstr "Převede 3 GRASSové rastrové mapy (R,G,B) do souboru PPM s rozlišením pixelu podle aktuálně definovaného regionu."
 
 #: ../raster/r.out.ppm3/main.c:84
 #, fuzzy
@@ -25366,6 +24169,7 @@ msgid "row = %d"
 msgid_plural "rows = %d"
 msgstr[0] "Řádky = %d"
 msgstr[1] "Řádky = %d"
+msgstr[2] ""
 
 #. GTC Raster columns
 #: ../raster/r.out.ppm3/main.c:97 ../raster/r.out.ppm/main.c:102
@@ -25374,6 +24178,7 @@ msgid "column = %d"
 msgid_plural "columns = %d"
 msgstr[0] "Sloupce = %d"
 msgstr[1] "Sloupce = %d"
+msgstr[2] ""
 
 #: ../raster/r.out.ppm3/main.c:160
 msgid "Converting ... "
@@ -25396,12 +24201,8 @@ msgstr "Zvýšený průchod %d"
 
 #: ../raster/r.fill.dir/main.c:89
 #, fuzzy
-msgid ""
-"Filters and generates a depressionless elevation map and a flow direction "
-"map from a given elevation raster map."
-msgstr ""
-"Z rastrové mapy digitálního modelu terénu odstraní uměle vytvořené sníženiny "
-"a vytvoří mapu směru odtoku."
+msgid "Filters and generates a depressionless elevation map and a flow direction map from a given elevation raster map."
+msgstr "Z rastrové mapy digitálního modelu terénu odstraní uměle vytvořené sníženiny a vytvoří mapu směru odtoku."
 
 #: ../raster/r.fill.dir/main.c:96
 #, fuzzy
@@ -25410,8 +24211,7 @@ msgstr "Název výstupní rastrové mapy profilových křivostí"
 
 #: ../raster/r.fill.dir/main.c:100
 #, fuzzy
-msgid ""
-"Name for output flow direction map for depressionless elevation raster map"
+msgid "Name for output flow direction map for depressionless elevation raster map"
 msgstr "(o)   Mapa směrů s mapou výšek bez depresí"
 
 #: ../raster/r.fill.dir/main.c:105
@@ -25460,6 +24260,7 @@ msgid "Found %d unresolved area"
 msgid_plural "Found %d unresolved areas"
 msgstr[0] "Nalezeno %d nevyřešených oblastí"
 msgstr[1] "Nalezeno %d nevyřešených oblastí"
+msgstr[2] ""
 
 #: ../raster/r.in.png/main.c:297
 #, fuzzy, c-format
@@ -25484,9 +24285,7 @@ msgstr "Chyba prametru"
 #: ../raster/r.in.png/main.c:522
 #, fuzzy
 msgid "Imports non-georeferenced PNG format image."
-msgstr ""
-"Exportuje GRASS rastrové mapy do jednoho z formátů podporovaných knihovnou "
-"GDAL."
+msgstr "Exportuje GRASS rastrové mapy do jednoho z formátů podporovaných knihovnou GDAL."
 
 #: ../raster/r.in.png/main.c:532
 #, fuzzy
@@ -25515,11 +24314,8 @@ msgstr "Výstup pouze v metrech"
 
 #: ../raster/r.surf.random/main.c:40
 #, fuzzy
-msgid ""
-"Produces a raster surface map of uniform random deviates with defined range."
-msgstr ""
-"Vytvoří rastrovou mapu uniformních náhodných odchylek, jejichž rozsah může "
-"být zadán uživatelem."
+msgid "Produces a raster surface map of uniform random deviates with defined range."
+msgstr "Vytvoří rastrovou mapu uniformních náhodných odchylek, jejichž rozsah může být zadán uživatelem."
 
 #: ../raster/r.surf.random/main.c:46
 msgid "Minimum random value"
@@ -25535,21 +24331,16 @@ msgid "Create an integer raster map"
 msgstr "Vytvořit celočíselnou mapu"
 
 #: ../raster/r.spreadpath/main.c:92
-msgid ""
-"Recursively traces the least cost path backwards to cells from which the "
-"cumulative cost was determined."
-msgstr ""
-"Sleduje cestu zpět až do místa, odkud započal výpočet kumulativních nákladů."
+msgid "Recursively traces the least cost path backwards to cells from which the cumulative cost was determined."
+msgstr "Sleduje cestu zpět až do místa, odkud započal výpočet kumulativních nákladů."
 
 #: ../raster/r.spreadpath/main.c:98
 msgid "Name of raster map containing back-path easting information"
-msgstr ""
-"Název rastrové mapy obsahující informace o cestě zpět s východní souřadnicí"
+msgstr "Název rastrové mapy obsahující informace o cestě zpět s východní souřadnicí"
 
 #: ../raster/r.spreadpath/main.c:103
 msgid "Name of raster map containing back-path northing information"
-msgstr ""
-"Název rastrové mapy obsahující informace o cestě zpět se severní souřadnicí"
+msgstr "Název rastrové mapy obsahující informace o cestě zpět se severní souřadnicí"
 
 #: ../raster/r.spreadpath/main.c:108
 msgid "The map E and N grid coordinates of starting points"
@@ -25580,12 +24371,8 @@ msgid "category"
 msgstr "kategorie"
 
 #: ../raster/r.category/main.c:55
-msgid ""
-"Manages category values and labels associated with user-specified raster map "
-"layers."
-msgstr ""
-"Spravuje hodnoty kategorií a štítky spojené s uživatelem zadanou rastrovou "
-"mapou."
+msgid "Manages category values and labels associated with user-specified raster map layers."
+msgstr "Spravuje hodnoty kategorií a štítky spojené s uživatelem zadanou rastrovou mapou."
 
 #: ../raster/r.category/main.c:69
 msgid "Comma separated value list"
@@ -25644,8 +24431,7 @@ msgstr "Nelze číst soubor s kategoriemi rastrové mapy <%s> v <%s>"
 
 #: ../raster/r.category/main.c:283
 msgid "The map is floating point! Ignoring cats list, using vals list"
-msgstr ""
-"Mapa s plovoucí desetinnou čárkou! Ignoruji cats list, použiji vals list"
+msgstr "Mapa s plovoucí desetinnou čárkou! Ignoruji cats list, použiji vals list"
 
 #: ../raster/r.category/main.c:300
 msgid "vals argument is required for floating point map!"
@@ -25667,8 +24453,7 @@ msgstr "Rastry pro kvantizaci"
 #: ../raster/r.quant/main.c:64
 #, fuzzy
 msgid "Path to rules file (\"-\" to read from stdin)"
-msgstr ""
-"Cesta k souboru s pravidly (\"-\" pro čtení pravidel ze standartního vstupu)"
+msgstr "Cesta k souboru s pravidly (\"-\" pro čtení pravidel ze standartního vstupu)"
 
 #: ../raster/r.quant/main.c:70
 msgid "Base map to take quant rules from"
@@ -25832,16 +24617,13 @@ msgid "Input file with one map name per line"
 msgstr "Vstupní mapa obsahující linie"
 
 #: ../raster/r.colors/edit_colors.c:83
-msgid ""
-"Input map names can be defined in an input file in case a large amount of "
-"maps must be specified. This option is mutual exclusive to the map option."
+msgid "Input map names can be defined in an input file in case a large amount of maps must be specified. This option is mutual exclusive to the map option."
 msgstr ""
 
 #: ../raster/r.colors/edit_colors.c:110 ../vector/v.colors/main.c:112
 #, fuzzy
 msgid "\"-\" to read rules from stdin"
-msgstr ""
-"Cesta k souboru s pravidly (\"-\" pro čtení pravidel ze standartního vstupu)"
+msgstr "Cesta k souboru s pravidly (\"-\" pro čtení pravidel ze standartního vstupu)"
 
 #: ../raster/r.colors/edit_colors.c:186 ../raster/r.series.interp/main.c:180
 #, fuzzy, c-format
@@ -25876,23 +24658,17 @@ msgstr "Barevná tabulka rastrové mapy <%s> nebyl nalezena"
 #: ../raster/r.colors/edit_colors.c:358
 #, fuzzy, c-format
 msgid "Color table 'random' is not supported for floating point %s map"
-msgstr ""
-"Barevná tabulka 'random' není podporována pro rastrové mapy s desetinnou "
-"čárkou"
+msgstr "Barevná tabulka 'random' není podporována pro rastrové mapy s desetinnou čárkou"
 
 #: ../raster/r.colors/edit_colors.c:362
 #, fuzzy, c-format
 msgid "Color table 'grey.eq' is not supported for floating point %s map"
-msgstr ""
-"Barevná tabulka 'grey.eq' není podporována pro rastrové mapy s desetinnou "
-"čárkou"
+msgstr "Barevná tabulka 'grey.eq' není podporována pro rastrové mapy s desetinnou čárkou"
 
 #: ../raster/r.colors/edit_colors.c:368
 #, fuzzy, c-format
 msgid "Color table 'grey.log' is not supported for floating point %s map"
-msgstr ""
-"Barevná tabulka 'grey.log' není podporována pro rastrové mapy s desetinnou "
-"čárkou"
+msgstr "Barevná tabulka 'grey.log' není podporována pro rastrové mapy s desetinnou čárkou"
 
 #: ../raster/r.colors/edit_colors.c:376
 #, c-format
@@ -26007,20 +24783,13 @@ msgstr ""
 
 #: ../raster/r.volume/main.c:80
 #, fuzzy
-msgid ""
-"Optionally produces a GRASS vector points map containing the calculated "
-"centroids of these clumps."
-msgstr ""
-"Spočítá objem spojitých oblastí a (volitelně) vytvoří bodovou vektorovou "
-"mapu obsahující spočítané centroidy těhto spojitých oblastí."
+msgid "Optionally produces a GRASS vector points map containing the calculated centroids of these clumps."
+msgstr "Spočítá objem spojitých oblastí a (volitelně) vytvoří bodovou vektorovou mapu obsahující spočítané centroidy těhto spojitých oblastí."
 
 #: ../raster/r.volume/main.c:85
 #, fuzzy
-msgid ""
-"Name of input raster map representing data that will be summed within clumps"
-msgstr ""
-"Existující rastrová mapa představující data, která budou sečtena v rámci "
-"spojitých oblastí"
+msgid "Name of input raster map representing data that will be summed within clumps"
+msgstr "Existující rastrová mapa představující data, která budou sečtena v rámci spojitých oblastí"
 
 #: ../raster/r.volume/main.c:91
 #, fuzzy
@@ -26028,8 +24797,7 @@ msgid "Name of input clump raster map"
 msgstr "Název vstupní rastrové mapy"
 
 #: ../raster/r.volume/main.c:92
-msgid ""
-"Preferably the output of r.clump. If no clump map is given than MASK is used."
+msgid "Preferably the output of r.clump. If no clump map is given than MASK is used."
 msgstr ""
 
 #: ../raster/r.volume/main.c:98
@@ -26043,9 +24811,7 @@ msgid "Generate unformatted report (items separated by colon)"
 msgstr "Vytvoří neformátovanou zprávu"
 
 #: ../raster/r.volume/main.c:142
-msgid ""
-"No MASK found. If no clump map is given than the MASK is required. You need "
-"to define a clump raster map or create a MASK by r.mask command."
+msgid "No MASK found. If no clump map is given than the MASK is required. You need to define a clump raster map or create a MASK by r.mask command."
 msgstr ""
 
 #: ../raster/r.volume/main.c:144
@@ -26173,9 +24939,7 @@ msgstr "Vytiskni průměrné hodnoty namísto intervalů"
 #: ../raster/r.stats/main.c:196
 #, fuzzy
 msgid "Print raw indexes of floating-point ranges (floating-point maps only)"
-msgstr ""
-"Vytiskni neupravené indexy rozsahu hodnot s plovoucí desetinnou čárkou "
-"(pouze mapy s plovoucí desetinnou čárkou)"
+msgstr "Vytiskni neupravené indexy rozsahu hodnot s plovoucí desetinnou čárkou (pouze mapy s plovoucí desetinnou čárkou)"
 
 #: ../raster/r.stats/main.c:233
 #, c-format
@@ -26184,30 +24948,18 @@ msgstr "'%s' musí být větší, než nula; používám %s=255"
 
 #: ../raster/r.stats/main.c:303
 #, c-format
-msgid ""
-"Raster map <%s> is reading as integer map! Flag '-%c' and/or '%s' option "
-"will be ignored."
-msgstr ""
-"rastrová mapa <%s> je načtena jako celočíselná! přepínač '-%c' a/nebo '-%s' "
-"budou ignorovány."
+msgid "Raster map <%s> is reading as integer map! Flag '-%c' and/or '%s' option will be ignored."
+msgstr "rastrová mapa <%s> je načtena jako celočíselná! přepínač '-%c' a/nebo '-%s' budou ignorovány."
 
 #: ../raster/r.stats/main.c:319
 #, c-format
-msgid ""
-"Cats for raster map <%s> are either missing or have no explicit labels. "
-"Using %s=%d."
-msgstr ""
-"Kategorie pro rastrovou mpau <%s> buď chybějí, nebo nemají přesné vyjádření. "
-"Použiji %s=%d"
+msgid "Cats for raster map <%s> are either missing or have no explicit labels. Using %s=%d."
+msgstr "Kategorie pro rastrovou mpau <%s> buď chybějí, nebo nemají přesné vyjádření. Použiji %s=%d"
 
 #: ../raster/r.stats/main.c:325
 #, c-format
-msgid ""
-"Flag '-%c' was given, using cats fp ranges of raster map <%s>, ignoring '%s' "
-"option"
-msgstr ""
-"Přepínač '-%c' byl zadán, používám kategorie rastrové mapy s desetinou "
-"čárkou <%s>, ignoruji '%s' volbu"
+msgid "Flag '-%c' was given, using cats fp ranges of raster map <%s>, ignoring '%s' option"
+msgstr "Přepínač '-%c' byl zadán, používám kategorie rastrové mapy s desetinou čárkou <%s>, ignoruji '%s' volbu"
 
 #: ../raster/r.stats/main.c:331 ../raster/r.contour/main.c:149
 #, c-format
@@ -26225,8 +24977,7 @@ msgstr "Spočítat kvantily s použitím dvou průchodů."
 #: ../raster/r.quantile/main.c:285
 #, fuzzy
 msgid "Generate recode rules based on quantile-defined intervals"
-msgstr ""
-"Vytvořit pravidla překódování založené na definovaných intervalech qvantilů."
+msgstr "Vytvořit pravidla překódování založené na definovaných intervalech qvantilů."
 
 #: ../raster/r.quantile/main.c:313
 #, fuzzy
@@ -26239,10 +24990,7 @@ msgid "Calculates solar elevation, solar azimuth, and sun hours."
 msgstr "Počítá standardní odchylku plošek rastrové mapy"
 
 #: ../raster/r.sunhours/main.c:77
-msgid ""
-"Solar elevation: the angle between the direction of the geometric center of "
-"the sun's apparent disk and the (idealized) horizon. Solar azimuth: the "
-"angle from due north in clockwise direction."
+msgid "Solar elevation: the angle between the direction of the geometric center of the sun's apparent disk and the (idealized) horizon. Solar azimuth: the angle from due north in clockwise direction."
 msgstr ""
 
 #: ../raster/r.sunhours/main.c:83
@@ -26360,12 +25108,8 @@ msgstr "Počítám mapy ..."
 
 #: ../raster/r.series.accumulate/main.c:84
 #, fuzzy
-msgid ""
-"Makes each output cell value a accumulationfunction of the values assigned "
-"to the corresponding cells in the input raster map layers."
-msgstr ""
-"Hodnota každé buňky ve výstupním rastrovém souboru je funkcí hodnot několika "
-"dalšíchbuněk ve vstupním rastrovém souboru."
+msgid "Makes each output cell value a accumulationfunction of the values assigned to the corresponding cells in the input raster map layers."
+msgstr "Hodnota každé buňky ve výstupním rastrovém souboru je funkcí hodnot několika dalšíchbuněk ve vstupním rastrovém souboru."
 
 #: ../raster/r.series.accumulate/main.c:90
 msgid "Existing map to be added to output"
@@ -26387,14 +25131,11 @@ msgid "Shift factor for input"
 msgstr "Měřítkový faktor souřadnic x"
 
 #: ../raster/r.series.accumulate/main.c:121
-msgid ""
-"The raster map specifying the lower accumulation limit, also called baseline"
+msgid "The raster map specifying the lower accumulation limit, also called baseline"
 msgstr ""
 
 #: ../raster/r.series.accumulate/main.c:126
-msgid ""
-"The raster map specifying the upper accumulation limit, also called cutoff. "
-"Only applied to BEDD computation."
+msgid "The raster map specifying the upper accumulation limit, also called cutoff. Only applied to BEDD computation."
 msgstr ""
 
 #: ../raster/r.series.accumulate/main.c:139
@@ -26430,9 +25171,7 @@ msgstr "'%s' musí být > 0 pro '%s'"
 #: ../raster/r.in.lidar/main.c:174
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
-msgstr ""
-"Vytvoří rastrovou mapu smontováním více souřadnic za pomoci univariantní "
-"statistiky"
+msgstr "Vytvoří rastrovou mapu smontováním více souřadnic za pomoci univariantní statistiky"
 
 #: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
 #, fuzzy
@@ -26471,8 +25210,7 @@ msgstr ""
 
 #: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
 #, fuzzy
-msgid ""
-"Input is comma separated integers. If not specified, all points are imported."
+msgid "Input is comma separated integers. If not specified, all points are imported."
 msgstr "Celočíselné hodnoty jsou importovány"
 
 #: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
@@ -26506,12 +25244,8 @@ msgstr "Neznámá volba  pravidla: '%s'"
 
 #: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
 #: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
-msgstr ""
-"Nelze převést informace o vstupní mapové projekci do formátu GRASSu (pro "
-"kontrolu)"
+msgid "Unable to convert input map projection information to GRASS format for checking"
+msgstr "Nelze převést informace o vstupní mapové projekci do formátu GRASSu (pro kontrolu)"
 
 #: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
 #: ../vector/v.in.lidar/main.c:412
@@ -26520,12 +25254,8 @@ msgstr "GRASS LOCATION PROJ_INFO  je:\n"
 
 #: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
 #: ../vector/v.in.lidar/main.c:473
-msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
-msgstr ""
-"Zvažte vytvoření nové location s parametry 'location' ze vstupního "
-"datasetu.\n"
+msgid "Consider generating a new location with 'location' parameter from input data set.\n"
+msgstr "Zvažte vytvoření nové location s parametry 'location' ze vstupního datasetu.\n"
 
 #: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
 msgid "Invalid zrange"
@@ -26550,9 +25280,7 @@ msgstr "Location <%s> vytvořena"
 
 #: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
 #, c-format
-msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
-"value lower than 100."
+msgid "Unable to process the hole map at once. Please set the %s option to some value lower than 100."
 msgstr ""
 
 #: ../raster/r.in.lidar/main.c:693
@@ -26681,8 +25409,7 @@ msgstr "Exportuji rastr jako mapu s hodnotami s plovoucí desetinnou čárkou"
 
 #: ../raster/r.out.mat/main.c:258
 msgid "Exporting raster as double FP values"
-msgstr ""
-"Exportuji rastr jako mapu s hodnotami s plovoucí desetinnou čárkou (double)"
+msgstr "Exportuji rastr jako mapu s hodnotami s plovoucí desetinnou čárkou (double)"
 
 #: ../raster/r.out.mat/main.c:301
 msgid "Reading in map ... "
@@ -26715,12 +25442,8 @@ msgid "Extracts terrain parameters from a DEM."
 msgstr "Spočítá parametry reliéfu z digitálního modelu terénu"
 
 #: ../raster/r.param.scale/interface.c:60
-msgid ""
-"Uses a multi-scale approach by taking fitting quadratic parameters to any "
-"size window (via least squares)."
-msgstr ""
-"Používá multisklalární přístup, vypočítává kvadratické koeficienty pro okno "
-"libovolné velikosti (pomocí metody nejmenších čtverců)."
+msgid "Uses a multi-scale approach by taking fitting quadratic parameters to any size window (via least squares)."
+msgstr "Používá multisklalární přístup, vypočítává kvadratické koeficienty pro okno libovolné velikosti (pomocí metody nejmenších čtverců)."
 
 #: ../raster/r.param.scale/interface.c:78
 #, fuzzy
@@ -26729,8 +25452,7 @@ msgstr "Výstupní rastrový soubor s morphometrickými parametry"
 
 #: ../raster/r.param.scale/interface.c:82
 msgid "Slope tolerance that defines a 'flat' surface (degrees)"
-msgstr ""
-"Nejnižší sklon svahu, do kterého je povrch považován za plochý (ve stupních)"
+msgstr "Nejnižší sklon svahu, do kterého je povrch považován za plochý (ve stupních)"
 
 #: ../raster/r.param.scale/interface.c:89
 msgid "Curvature tolerance that defines 'planar' surface"
@@ -26777,11 +25499,8 @@ msgid "rescale"
 msgstr "rastr, převzorkování"
 
 #: ../raster/r.rescale.eq/main.c:55
-msgid ""
-"Rescales histogram equalized the range of category values in a raster map "
-"layer."
-msgstr ""
-"Změní kategorie histogramu rastrové mapy podle rozsahu hodnot kategorií."
+msgid "Rescales histogram equalized the range of category values in a raster map layer."
+msgstr "Změní kategorie histogramu rastrové mapy podle rozsahu hodnot kategorií."
 
 #: ../raster/r.rescale.eq/main.c:61 ../raster/r.rescale/main.c:56
 msgid "The name of the raster map to be rescaled"
@@ -26789,9 +25508,7 @@ msgstr "Název rastrové mapy, jejíž měřítko má být změněno."
 
 #: ../raster/r.rescale.eq/main.c:69 ../raster/r.rescale/main.c:64
 msgid "The input data range to be rescaled (default: full range of input map)"
-msgstr ""
-"Vstupní rozsah hodnot, pro které bude provedena změna měřítka (výchozí: celý "
-"rozsah hodnot)"
+msgstr "Vstupní rozsah hodnot, pro které bude provedena změna měřítka (výchozí: celý rozsah hodnot)"
 
 #: ../raster/r.rescale.eq/main.c:72 ../raster/r.rescale/main.c:67
 msgid "The resulting raster map name"
@@ -27032,9 +25749,7 @@ msgid "%s: STEP 1 ... "
 msgstr "%s: KROK 1 ... "
 
 #: ../raster/r.cross/main.c:72
-msgid ""
-"Creates a cross product of the category values from multiple raster map "
-"layers."
+msgid "Creates a cross product of the category values from multiple raster map layers."
 msgstr "Vytvoří násobek překrytí hodnot kategorií z několika rastrových map."
 
 #: ../raster/r.cross/main.c:81
@@ -27216,9 +25931,7 @@ msgid "Rescale %s[%ld,%ld] to %s[%ld,%ld]"
 msgstr "Převzorkování %s[%ld,%ld] na %s[%ld,%ld]"
 
 #: ../raster/r.series.interp/main.c:69
-msgid ""
-"Interpolates raster maps located (temporal or spatial) in between input "
-"raster maps at specific sampling positions."
+msgid "Interpolates raster maps located (temporal or spatial) in between input raster maps at specific sampling positions."
 msgstr ""
 
 #: ../raster/r.series.interp/main.c:79
@@ -27227,9 +25940,7 @@ msgid "Data point position for each input map"
 msgstr "Nelze získat informace o projekci vstupní mapy"
 
 #: ../raster/r.series.interp/main.c:84
-msgid ""
-"Input file with one input raster map name and data point position per line, "
-"field separator between name and sample point is |"
+msgid "Input file with one input raster map name and data point position per line, field separator between name and sample point is |"
 msgstr ""
 
 #: ../raster/r.series.interp/main.c:97
@@ -27238,9 +25949,7 @@ msgid "Sampling point position for each output map"
 msgstr "Vybírám prvky...."
 
 #: ../raster/r.series.interp/main.c:101
-msgid ""
-"Input file with one output raster map name and sample point position per "
-"line, field separator between name and sample point is |"
+msgid "Input file with one output raster map name and sample point position per line, field separator between name and sample point is |"
 msgstr ""
 
 #: ../raster/r.series.interp/main.c:111
@@ -27284,9 +25993,7 @@ msgstr ""
 
 #: ../raster/r.series.interp/main.c:299
 #, c-format
-msgid ""
-"map <%s> at position %g was not interpolated. Check the interpolation "
-"interval."
+msgid "map <%s> at position %g was not interpolated. Check the interpolation interval."
 msgstr ""
 
 #: ../raster/r.series.interp/main.c:319
@@ -27340,23 +26047,17 @@ msgstr "Počáteční piezometrická hodnota v [m]"
 
 #: ../raster/r.gwflow/main.c:62
 #, fuzzy
-msgid ""
-"Name of input raster map providing boundary condition status: 0-inactive, 1-"
-"active, 2-dirichlet"
+msgid "Name of input raster map providing boundary condition status: 0-inactive, 1-active, 2-dirichlet"
 msgstr "Stav hranic, 0-neaktivní, 1-aktivní, 2-dirichlet"
 
 #: ../raster/r.gwflow/main.c:67
 #, fuzzy
-msgid ""
-"Name of input raster map with x-part of the hydraulic conductivity tensor in "
-"[m/s]"
+msgid "Name of input raster map with x-part of the hydraulic conductivity tensor in [m/s]"
 msgstr "souřadnice x hydraulického napřimovače vodivosti v [m/s]"
 
 #: ../raster/r.gwflow/main.c:72
 #, fuzzy
-msgid ""
-"Name of input raster map with y-part of the hydraulic conductivity tensor in "
-"[m/s]"
+msgid "Name of input raster map with y-part of the hydraulic conductivity tensor in [m/s]"
 msgstr "souřadnice y hydraulického napřimovače vodivosti v [m/s]"
 
 #: ../raster/r.gwflow/main.c:77
@@ -27365,9 +26066,7 @@ msgid "Name of input raster map with water sources and sinks in [m^3/s]"
 msgstr "Vodní zdroje a jezera v [m^3/s]"
 
 #: ../raster/r.gwflow/main.c:81
-msgid ""
-"Name of input raster map with storativity for confined or effective porosity "
-"for unconfined groundwater flow booth in [-] "
+msgid "Name of input raster map with storativity for confined or effective porosity for unconfined groundwater flow booth in [-] "
 msgstr ""
 
 #: ../raster/r.gwflow/main.c:86
@@ -27382,14 +26081,12 @@ msgstr "Mapa doplnění např.: 6*10^-9 na buňku v [m^3/s*m^2]"
 
 #: ../raster/r.gwflow/main.c:92
 #, fuzzy
-msgid ""
-"Name of input raster map describing the top surface of the aquifer in [m]"
+msgid "Name of input raster map describing the top surface of the aquifer in [m]"
 msgstr "Spodní vodonosný povrch v [m]"
 
 #: ../raster/r.gwflow/main.c:96
 #, fuzzy
-msgid ""
-"Name of input raster map describing the bottom surface of the aquifer in [m]"
+msgid "Name of input raster map describing the bottom surface of the aquifer in [m]"
 msgstr "Spodní vodonosný povrch v [m]"
 
 #: ../raster/r.gwflow/main.c:100
@@ -27399,18 +26096,14 @@ msgstr "Mpa obsahují početní výsledky [m]"
 
 #: ../raster/r.gwflow/main.c:106
 #, fuzzy
-msgid ""
-"Output raster map to store the groundwater filter velocity vector part in x "
-"direction [m/s]"
+msgid "Output raster map to store the groundwater filter velocity vector part in x direction [m/s]"
 msgstr ""
 "Vypočítat filt rrychlosti pozemního toku vektorového pole [m/s]\n"
 "a zapsat x a y části do map s názvem jmeno_mapy_[xy]"
 
 #: ../raster/r.gwflow/main.c:112
 #, fuzzy
-msgid ""
-"Output raster map to store the groundwater filter velocity vector part in y "
-"direction [m/s]"
+msgid "Output raster map to store the groundwater filter velocity vector part in y direction [m/s]"
 msgstr ""
 "Vypočítat filt rrychlosti pozemního toku vektorového pole [m/s]\n"
 "a zapsat x a y části do map s názvem jmeno_mapy_[xy]"
@@ -27433,29 +26126,22 @@ msgstr "Výška řečiště v [m]"
 
 #: ../raster/r.gwflow/main.c:140
 #, fuzzy
-msgid ""
-"Name of input raster map providing the water level (head) of the river with "
-"leakage connection in [m]"
+msgid "Name of input raster map providing the water level (head) of the river with leakage connection in [m]"
 msgstr "Výška vodní hladiny řeky ve spojení s průsakem v [m]"
 
 #: ../raster/r.gwflow/main.c:147
 #, fuzzy
-msgid ""
-"Name of input raster map providing the leakage coefficient of the river bed "
-"in [1/s]."
+msgid "Name of input raster map providing the leakage coefficient of the river bed in [1/s]."
 msgstr "Koeficient průsaku dna řeky v [1/s]."
 
 #: ../raster/r.gwflow/main.c:155
 #, fuzzy
-msgid ""
-"Name of input raster map providing the height of the drainage bed in [m]"
+msgid "Name of input raster map providing the height of the drainage bed in [m]"
 msgstr "Výška odvodňovacího kanálu v [m]"
 
 #: ../raster/r.gwflow/main.c:162
 #, fuzzy
-msgid ""
-"Name of input raster map providing the leakage coefficient of the drainage "
-"bed in [1/s]"
+msgid "Name of input raster map providing the leakage coefficient of the drainage bed in [1/s]"
 msgstr "Koeficient průsaku dna odvodňovacího kanálu v [1/s]."
 
 #: ../raster/r.gwflow/main.c:167
@@ -27464,9 +26150,7 @@ msgid "The maximum number of iterations in the linearization approach"
 msgstr "Maximální počet iterací..."
 
 #: ../raster/r.gwflow/main.c:176
-msgid ""
-"Allocate a full quadratic linear equation system, default is a sparse linear "
-"equation system."
+msgid "Allocate a full quadratic linear equation system, default is a sparse linear equation system."
 msgstr ""
 
 #: ../raster/r.gwflow/main.c:209 ../raster3d/r3.gwflow/main.c:160
@@ -27475,12 +26159,8 @@ msgid "groundwater flow"
 msgstr "Typ podporchového toku"
 
 #: ../raster/r.gwflow/main.c:212
-msgid ""
-"Numerical calculation program for transient, confined and unconfined "
-"groundwater flow in two dimensions."
-msgstr ""
-"Numerický výpočetní program pro soustředěný, nesoustředěný a nejaký tok ve "
-"dvou dimenzích"
+msgid "Numerical calculation program for transient, confined and unconfined groundwater flow in two dimensions."
+msgstr "Numerický výpočetní program pro soustředěný, nesoustředěný a nejaký tok ve dvou dimenzích"
 
 #: ../raster/r.gwflow/main.c:237
 msgid "Please provide river_head, river_leak and river_bed maps"
@@ -27492,9 +26172,7 @@ msgstr "Prosím zadejte mapy drain_head a dreain_leak"
 
 #: ../raster/r.gwflow/main.c:263
 #, fuzzy
-msgid ""
-"The cholesky solver dos not work with sparse matrices. You may choose a full "
-"filled quadratic matrix, flag -f."
+msgid "The cholesky solver dos not work with sparse matrices. You may choose a full filled quadratic matrix, flag -f."
 msgstr "Přímá choleskyho analýza nepracuje s řídkou maticí"
 
 #: ../raster/r.gwflow/main.c:293
@@ -27558,28 +26236,24 @@ msgstr "Výstupy"
 
 #: ../raster/r.external.out/main.c:240
 msgid "Defines raster output format utilizing GDAL library."
-msgstr ""
+msgstr "Určuje výstupní formát rastrů vytvořený pomocí knihovny GDAL."
 
 #: ../raster/r.external.out/main.c:244
-#, fuzzy
 msgid "Name of output directory"
-msgstr "Jméno výstpuního souboru"
+msgstr "Název výstupního adresáře"
 
 #: ../raster/r.external.out/main.c:251
-#, fuzzy
 msgid "Extension for output files"
-msgstr "Název výstupního souboru"
+msgstr "Přípona výstupních souborů"
 
 #: ../raster/r.external.out/main.c:257
-#, fuzzy
 msgid "Format of output files"
-msgstr "Jméno výstpuního souboru"
+msgstr "Formát výstupních souborů"
 
 #: ../raster/r.external.out/main.c:264 ../vector/v.out.postgis/args.c:52
 #: ../vector/v.external.out/args.c:39
-#, fuzzy
 msgid "Creation options"
-msgstr "GeoTIFF možnosti vytvoření"
+msgstr "Možnosti vytvoření"
 
 #: ../raster/r.external.out/main.c:277
 msgid "Cease using GDAL and revert to native output"
@@ -27592,28 +26266,21 @@ msgstr "Vypiš aktuální cestu k mapsetům"
 
 #: ../raster/r.in.xyz/main.c:166
 #, fuzzy
-msgid ""
-"Creates a raster map from an assemblage of many coordinates using univariate "
-"statistics."
-msgstr ""
-"Vytvoří rastrovou mapu smontováním více souřadnic za pomoci univariantní "
-"statistiky"
+msgid "Creates a raster map from an assemblage of many coordinates using univariate statistics."
+msgstr "Vytvoří rastrovou mapu smontováním více souřadnic za pomoci univariantní statistiky"
 
 #: ../raster/r.in.xyz/main.c:170
 msgid "ASCII file containing input data (or \"-\" to read from stdin)"
 msgstr "ASCII soubor obsahující vstupní data (\"-\" pro standardní vstup)"
 
 #: ../raster/r.in.xyz/main.c:219
-msgid ""
-"If a separate value column is given, this option refers to the z-coordinate "
-"column to be filtered by the zrange option"
+msgid "If a separate value column is given, this option refers to the z-coordinate column to be filtered by the zrange option"
 msgstr ""
 
 #: ../raster/r.in.xyz/main.c:230
 #, fuzzy
 msgid "Number of header lines to skip at top of input file"
-msgstr ""
-"Počet řádků hlavičky vstupního souboru, které budou přeskočeny (bodový režim)"
+msgstr "Počet řádků hlavičky vstupního souboru, které budou přeskočeny (bodový režim)"
 
 #: ../raster/r.in.xyz/main.c:239 ../raster/r.in.xyz/main.c:247
 #: ../raster/r.in.xyz/main.c:256 ../raster/r.in.xyz/main.c:264
@@ -27656,8 +26323,7 @@ msgid "Invalid vrange"
 msgstr "Neplatné zrange"
 
 #: ../raster/r.in.xyz/main.c:548
-msgid ""
-"If input is not from a file it is only possible to perform a single pass."
+msgid "If input is not from a file it is only possible to perform a single pass."
 msgstr "Pokud není vstupem soubor je možné provést pouze jeden průchod."
 
 #: ../raster/r.in.xyz/main.c:560
@@ -27674,12 +26340,10 @@ msgstr "Načítám vstupy..."
 #: ../raster/r.in.xyz/main.c:1199 ../raster/r.in.xyz/main.c:1207
 #, c-format
 msgid ""
-"Not enough data columns. Incorrect delimiter or column number? Found the "
-"following character(s) in row %lu:\n"
+"Not enough data columns. Incorrect delimiter or column number? Found the following character(s) in row %lu:\n"
 "[%s]"
 msgstr ""
-"Nedostatečný počet sloupců. Žeby špatný oddělovač nebo počet sloupců? "
-"Nalezeny tyto znaky v řádku %lu:\n"
+"Nedostatečný počet sloupců. Žeby špatný oddělovač nebo počet sloupců? Nalezeny tyto znaky v řádku %lu:\n"
 "[%s]"
 
 #: ../raster/r.in.xyz/main.c:686 ../raster/r.in.xyz/main.c:1203
@@ -27714,9 +26378,7 @@ msgstr "Zapisuji výslednou rastrovou mapu %s... "
 #: ../raster/r.relief/main.c:112
 #, fuzzy
 msgid "Creates shaded relief map from an elevation map (DEM)."
-msgstr ""
-"Vytvoří mapu topografického indexu, [ln(a/tan(beta))], z rastrové mapy "
-"digitálního modelu terénu."
+msgstr "Vytvoří mapu topografického indexu, [ln(a/tan(beta))], z rastrové mapy digitálního modelu terénu."
 
 #: ../raster/r.relief/main.c:117
 #, fuzzy
@@ -27778,12 +26440,8 @@ msgstr ""
 
 #: ../raster/r.surf.idw/main.c:109
 #, fuzzy
-msgid ""
-"Provides surface interpolation from raster point data by Inverse Distance "
-"Squared Weighting."
-msgstr ""
-"Interpolace povchu z vektorových bodových dat na základě metody Inverse "
-"Distance Squared Weighting."
+msgid "Provides surface interpolation from raster point data by Inverse Distance Squared Weighting."
+msgstr "Interpolace povchu z vektorových bodových dat na základě metody Inverse Distance Squared Weighting."
 
 #: ../raster/r.surf.idw/main.c:119 ../vector/v.surf.idw/main.c:113
 msgid "Number of interpolation points"
@@ -27809,11 +26467,11 @@ msgid "Interpolating raster map <%s> (%d row)..."
 msgid_plural "Interpolating raster map <%s> (%d rows)..."
 msgstr[0] "Interpoluji rastrovou mapu <%s> (%d řádků)... "
 msgstr[1] "Interpoluji rastrovou mapu <%s> (%d řádků)... "
+msgstr[2] ""
 
 #: ../raster/r.profile/main.c:56
 msgid "Outputs the raster map layer values lying on user-defined line(s)."
-msgstr ""
-"Vytvoří rastrovou mapu hodnot, ležících na uživatelem definovaných liniích."
+msgstr "Vytvoří rastrovou mapu hodnot, ležících na uživatelem definovaných liniích."
 
 #: ../raster/r.profile/main.c:75
 #, fuzzy
@@ -27834,9 +26492,7 @@ msgid "Output RRR:GGG:BBB color values for each profile point"
 msgstr "Výstupní barevné hodnoty RRR:GGG:BBB pro každý bod profilu"
 
 #: ../raster/r.profile/main.c:103
-msgid ""
-"If units are not specified, current location units are used. Meters are used "
-"by default in geographic (latlon) locations."
+msgid "If units are not specified, current location units are used. Meters are used by default in geographic (latlon) locations."
 msgstr ""
 
 #: ../raster/r.profile/main.c:117
@@ -27898,12 +26554,8 @@ msgid "One coordinate pair per line, please"
 msgstr "Jeden pár souřadnic na řádek, prosím."
 
 #: ../raster/r.covar/main.c:54
-msgid ""
-"Outputs a covariance/correlation matrix for user-specified raster map "
-"layer(s)."
-msgstr ""
-"Vytvoří kovarianční/korelační matici pro uživatelem zadanou rastrovou "
-"mapu(y)."
+msgid "Outputs a covariance/correlation matrix for user-specified raster map layer(s)."
+msgstr "Vytvoří kovarianční/korelační matici pro uživatelem zadanou rastrovou mapu(y)."
 
 #: ../raster/r.covar/main.c:61
 msgid "Print correlation matrix"
@@ -27919,29 +26571,20 @@ msgid "Processing lines... "
 msgstr "Zpracovávám řádky..."
 
 #: ../raster/r.carve/enforce_ds.c:175
-msgid ""
-"Vect runs out of region and re-enters - this case is not yet implemented."
-msgstr ""
-"Vektor pokračuje mimo region a opět se vrací- tento případ zatím není "
-"ošetřen."
+msgid "Vect runs out of region and re-enters - this case is not yet implemented."
+msgstr "Vektor pokračuje mimo region a opět se vrací- tento případ zatím není ošetřen."
 
 #: ../raster/r.carve/lobf.c:74
 msgid "trying to divide by zero...no unique solution for system...skipping..."
-msgstr ""
-"pokouším se dělit nulou   pro systém není žádné jednoznačné řešení   "
-"přeskakuji..."
+msgstr "pokouším se dělit nulou   pro systém není žádné jednoznačné řešení   přeskakuji..."
 
 #: ../raster/r.carve/main.c:76
 msgid "Generates stream channels."
 msgstr ""
 
 #: ../raster/r.carve/main.c:77
-msgid ""
-"Takes vector stream data, transforms it to raster and subtracts depth from "
-"the output DEM."
-msgstr ""
-"Vezme vektorová data potoků, převede je na rastr a odečte hloubku z "
-"výstupního DMT."
+msgid "Takes vector stream data, transforms it to raster and subtracts depth from the output DEM."
+msgstr "Vezme vektorová data potoků, převede je na rastr a odečte hloubku z výstupního DMT."
 
 #: ../raster/r.carve/main.c:82
 msgid "Name of input raster elevation map"
@@ -28110,6 +26753,7 @@ msgid "Writing vector contour (one level)..."
 msgid_plural "Writing vector contours (total levels %d)..."
 msgstr[0] "Zapisuji vektorové vrstevnice (celkový počet vrstevni %d)..."
 msgstr[1] "Zapisuji vektorové vrstevnice (celkový počet vrstevni %d)..."
+msgstr[2] ""
 
 #: ../raster/r.contour/cont.c:213
 #, fuzzy, c-format
@@ -28117,6 +26761,7 @@ msgid "%d crossing found"
 msgid_plural "%d crossings found"
 msgstr[0] "%d překřížení nalezeno"
 msgstr[1] "%d překřížení nalezeno"
+msgstr[2] ""
 
 #: ../raster/r.contour/cont.c:266
 msgid "Illegal edge number"
@@ -28406,8 +27051,7 @@ msgstr "Nelze číst soubor s rozsahem"
 #: ../raster/r.stream.extract/cseg.c:120
 #, fuzzy, c-format
 msgid "Unable to segment put row %d for raster map <%s>"
-msgstr ""
-"Nelze číst rozmezí s použitím desetinného čísla pro rastrovou mapu <%s>"
+msgstr "Nelze číst rozmezí s použitím desetinného čísla pro rastrovou mapu <%s>"
 
 #: ../raster/r.stream.extract/dseg.c:19
 #, fuzzy
@@ -28422,8 +27066,7 @@ msgstr "Neplatný konfigurační soubor (vzorková plocha)"
 #: ../raster/r.stream.extract/dseg.c:120
 #, fuzzy, c-format
 msgid "Inable to segment put row %d for raster <%s>"
-msgstr ""
-"Nelze číst rozmezí s použitím desetinného čísla pro rastrovou mapu <%s>"
+msgstr "Nelze číst rozmezí s použitím desetinného čísla pro rastrovou mapu <%s>"
 
 #: ../raster/r.stream.extract/load.c:33
 #, fuzzy
@@ -28474,6 +27117,7 @@ msgid "Deleting stream segments shorter than %d cell..."
 msgid_plural "Deleting stream segments shorter than %d cells..."
 msgstr[0] ""
 msgstr[1] ""
+msgstr[2] ""
 
 #: ../raster/r.stream.extract/del_streams.c:193
 #, fuzzy, c-format
@@ -28481,6 +27125,7 @@ msgid "%d stream segment deleted"
 msgid_plural "%d stream segments deleted"
 msgstr[0] "%d prvků smazáno"
 msgstr[1] "%d prvků smazáno"
+msgstr[2] ""
 
 #: ../raster/r.stream.extract/init_search.c:24
 #, fuzzy
@@ -28518,9 +27163,7 @@ msgstr ""
 
 #: ../raster/r.stream.extract/streams.c:700
 #, c-format
-msgid ""
-"MFD: A * path already processed when setting drainage direction: %lld of "
-"%lld cells"
+msgid "MFD: A * path already processed when setting drainage direction: %lld of %lld cells"
 msgstr ""
 
 #: ../raster/r.stream.extract/main.c:78
@@ -28539,9 +27182,7 @@ msgid "Name of input accumulation raster map"
 msgstr "Název výstupní rastrové mapy orientace"
 
 #: ../raster/r.stream.extract/main.c:88
-msgid ""
-"Stream extraction will use provided accumulation instead of calculating it "
-"anew"
+msgid "Stream extraction will use provided accumulation instead of calculating it anew"
 msgstr ""
 
 #: ../raster/r.stream.extract/main.c:93
@@ -28568,9 +27209,7 @@ msgid "Use SFD above this threshold"
 msgstr ""
 
 #: ../raster/r.stream.extract/main.c:110
-msgid ""
-"If accumulation is larger than d8cut, SFD is used instead of MFD. Applies "
-"only if no accumulation map is given."
+msgid "If accumulation is larger than d8cut, SFD is used instead of MFD. Applies only if no accumulation map is given."
 msgstr ""
 
 #: ../raster/r.stream.extract/main.c:122
@@ -28578,9 +27217,7 @@ msgid "Montgomery exponent for slope, disabled with 0"
 msgstr ""
 
 #: ../raster/r.stream.extract/main.c:124
-msgid ""
-"Montgomery: accumulation is multiplied with pow(slope,mexp) and then "
-"compared with threshold"
+msgid "Montgomery: accumulation is multiplied with pow(slope,mexp) and then compared with threshold"
 msgstr ""
 
 #: ../raster/r.stream.extract/main.c:132
@@ -28731,12 +27368,8 @@ msgid "Unable to write vector map <%s>"
 msgstr "Nelze vytvořit vektorovou mapu <%s>"
 
 #: ../raster/r.coin/main.c:69
-msgid ""
-"Tabulates the mutual occurrence (coincidence) of categories for two raster "
-"map layers."
-msgstr ""
-"Vytvoří tabulku mutualoccurrence (koincidence) kategorií pro dvě rastrové "
-"mapy."
+msgid "Tabulates the mutual occurrence (coincidence) of categories for two raster map layers."
+msgstr "Vytvoří tabulku mutualoccurrence (koincidence) kategorií pro dvě rastrové mapy."
 
 #: ../raster/r.coin/main.c:74
 #, fuzzy
@@ -28753,13 +27386,8 @@ msgid "Unit of measure"
 msgstr "Jednotky měřítka"
 
 #: ../raster/r.coin/main.c:86
-msgid ""
-"c(ells), p(ercent), x(percent of category [column]), y(percent of category "
-"[row]), a(cres), h(ectares), k(square kilometers), m(square miles)"
-msgstr ""
-"c(buňky [cells]), p(procenta), x(procent kategií [sloupec]),y(procent "
-"kategorií[řádek]), a(akry), h(hektary), k(čtvereční kilometry), m(čtvereční "
-"míle)"
+msgid "c(ells), p(ercent), x(percent of category [column]), y(percent of category [row]), a(cres), h(ectares), k(square kilometers), m(square miles)"
+msgstr "c(buňky [cells]), p(procenta), x(procent kategií [sloupec]),y(procent kategorií[řádek]), a(akry), h(hektary), k(čtvereční kilometry), m(čtvereční míle)"
 
 #: ../raster/r.coin/main.c:93
 msgid "Wide report, 132 columns (default: 80)"
@@ -28962,11 +27590,8 @@ msgstr "Nelze otevřít soubor <%s> pro zápis kategorií a počtů (chybové ma
 
 #: ../raster/r.kappa/main.c:72
 #, fuzzy
-msgid ""
-"Calculates error matrix and kappa parameter for accuracy assessment of "
-"classification result."
-msgstr ""
-"Spočítá chybovou matici a parametr kappa pro evaluaci výsledků klasifikace."
+msgid "Calculates error matrix and kappa parameter for accuracy assessment of classification result."
+msgstr "Spočítá chybovou matici a parametr kappa pro evaluaci výsledků klasifikace."
 
 #: ../raster/r.kappa/main.c:78
 msgid "Name of raster map containing classification result"
@@ -29004,9 +27629,7 @@ msgstr "nemohu otevřít soubor <%s> abych zapsal hlavičku"
 #: ../raster/r.what/main.c:102
 #, fuzzy
 msgid "Queries raster maps on their category values and category labels."
-msgstr ""
-"Program sloužící k dotazování rastrových map podle jejich kategorií a "
-"označení."
+msgstr "Program sloužící k dotazování rastrových map podle jejich kategorií a označení."
 
 #: ../raster/r.what/main.c:106
 msgid "Name of existing raster map(s) to query"
@@ -29116,15 +27739,8 @@ msgid "Unable to read colors for colorbar"
 msgstr "Nelze číst barvy pro barevný proužek"
 
 #: ../ps/ps.map/ps_clrtbl.c:54
-msgid ""
-"Your cats/ file is invalid. A cats/ file with categories and labels is "
-"required for 'colortable' when using categorical legends; see the r.category "
-"help page. Colortable creation has been skipped."
-msgstr ""
-"Váš soubor cats/ není platný. Soubor cats/ s kategoriemi a štítky je "
-"vyžadován pro 'tabulku barev' v případě použití nespojité legendy; "
-"zkontrolujte manuálovou stránku pro r.category. vytváření barevkné abulky "
-"bylo vynecháno."
+msgid "Your cats/ file is invalid. A cats/ file with categories and labels is required for 'colortable' when using categorical legends; see the r.category help page. Colortable creation has been skipped."
+msgstr "Váš soubor cats/ není platný. Soubor cats/ s kategoriemi a štítky je vyžadován pro 'tabulku barev' v případě použití nespojité legendy; zkontrolujte manuálovou stránku pro r.category. vytváření barevkné abulky bylo vynecháno."
 
 #: ../ps/ps.map/ps_clrtbl.c:69 ../ps/ps.map/ps_fclrtbl.c:97
 #: ../ps/ps.map/ps_fclrtbl.c:102
@@ -29142,9 +27758,7 @@ msgstr "Informace o rozsahu není dostupná (spusťte r.support)."
 
 #: ../ps/ps.map/ps_fclrtbl.c:64
 msgid "A floating point colortable must contain a range of values"
-msgstr ""
-"Tabulka barev pro hodnoty s plovoucí desetinnou čárkou musí obsahovat rozsah "
-"hodnot."
+msgstr "Tabulka barev pro hodnoty s plovoucí desetinnou čárkou musí obsahovat rozsah hodnot."
 
 #: ../ps/ps.map/read_cfg.c:64
 #, c-format
@@ -29321,9 +27935,10 @@ msgstr "Neplatná žádost delete"
 msgid "illegal request (geogrid)"
 msgstr "Neplatná žádost delete"
 
-#: ../ps/ps.map/catval.c:48 ../ps/ps.map/catval.c:110 ../ps/ps.map/catval.c:176
-#: ../vector/v.vol.rst/user1.c:95 ../vector/v.label/main.c:274
-#: ../vector/v.label.sa/labels.c:75 ../vector/v.class/main.c:111
+#: ../ps/ps.map/catval.c:48 ../ps/ps.map/catval.c:110
+#: ../ps/ps.map/catval.c:176 ../vector/v.vol.rst/user1.c:95
+#: ../vector/v.label/main.c:274 ../vector/v.label.sa/labels.c:75
+#: ../vector/v.class/main.c:111
 msgid "Unable to get layer info for vector map"
 msgstr "Nelze získat informace o vrstvě pro vektorovou mapu"
 
@@ -29331,11 +27946,12 @@ msgstr "Nelze získat informace o vrstvě pro vektorovou mapu"
 msgid "Column type not supported (must be string)"
 msgstr "Typ sloupce není podporován (musí být string)"
 
-#: ../ps/ps.map/catval.c:66 ../ps/ps.map/catval.c:131 ../ps/ps.map/catval.c:198
-#: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
-#: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
-#: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../ps/ps.map/catval.c:66 ../ps/ps.map/catval.c:131
+#: ../ps/ps.map/catval.c:198 ../vector/v.vol.rst/user1.c:112
+#: ../vector/v.sample/main.c:152 ../vector/v.univar/main.c:366
+#: ../vector/v.normal/main.c:134 ../vector/v.surf.idw/read_sites.c:68
+#: ../vector/v.to.rast3/main.c:95 ../vector/v.class/main.c:132
+#: ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr "Nelze vybrat data z tabulky"
 
@@ -29454,8 +28070,7 @@ msgstr "Otočit obsah o 90 stupňů"
 #: ../ps/ps.map/main.c:105
 #, fuzzy
 msgid "List paper formats (name width height left right top bottom(margin))"
-msgstr ""
-"Vypsat seznam formátů (jméno šířka výška levé pravé horní dolní (odsazení))"
+msgstr "Vypsat seznam formátů (jméno šířka výška levé pravé horní dolní (odsazení))"
 
 #: ../ps/ps.map/main.c:107 ../ps/ps.map/main.c:120
 msgid "Utility"
@@ -29463,13 +28078,10 @@ msgstr ""
 
 #: ../ps/ps.map/main.c:112
 msgid "Create EPS (Encapsulated PostScript) instead of PostScript file"
-msgstr ""
-"Vytvořit EPS (Encapsulated PostScript) namísto souboru ve formátu PostScript"
+msgstr "Vytvořit EPS (Encapsulated PostScript) namísto souboru ve formátu PostScript"
 
 #: ../ps/ps.map/main.c:118
-msgid ""
-"Describe map-box's position on the page and exit (inches from top-left of "
-"paper)"
+msgid "Describe map-box's position on the page and exit (inches from top-left of paper)"
 msgstr ""
 
 #: ../ps/ps.map/main.c:123
@@ -29599,8 +28211,7 @@ msgstr "Název rastrového souboru, který má být importován"
 #: ../raster3d/r3.in.v5d/main.c:182
 #, fuzzy
 msgid "Import 3-dimensional Vis5D files."
-msgstr ""
-"Exportuje 3D rastrový soubor GRASSu do 3-dimenzionálního Vis5D souboru."
+msgstr "Exportuje 3D rastrový soubor GRASSu do 3-dimenzionálního Vis5D souboru."
 
 #: ../raster3d/r3.in.v5d/main.c:201 ../raster3d/r3.in.bin/main.c:463
 #: ../raster3d/r3.in.ascii/main.c:346
@@ -29669,31 +28280,22 @@ msgstr "Počáteční piezometrická hodnota v [m]"
 
 #: ../raster3d/r3.gwflow/main.c:60
 #, fuzzy
-msgid ""
-"Input 3D raster map providing the status for each cell, = 0 - inactive, 1 - "
-"active, 2 - dirichlet"
-msgstr ""
-"Status pro každou buňku, = 0 -neaktivní, 1 - aktivní, 2 - Dirichletovo šíření"
+msgid "Input 3D raster map providing the status for each cell, = 0 - inactive, 1 - active, 2 - dirichlet"
+msgstr "Status pro každou buňku, = 0 -neaktivní, 1 - aktivní, 2 - Dirichletovo šíření"
 
 #: ../raster3d/r3.gwflow/main.c:65
 #, fuzzy
-msgid ""
-"Input 3D raster map with the x-part of the hydraulic conductivity tensor in "
-"[m/s]"
+msgid "Input 3D raster map with the x-part of the hydraulic conductivity tensor in [m/s]"
 msgstr "souřadnice x hydraulického napřimovače vodivosti v [m/s]"
 
 #: ../raster3d/r3.gwflow/main.c:70
 #, fuzzy
-msgid ""
-"Input 3D raster map with the y-part of the hydraulic conductivity tensor in "
-"[m/s]"
+msgid "Input 3D raster map with the y-part of the hydraulic conductivity tensor in [m/s]"
 msgstr "souřadnice y hydraulického napřimovače vodivosti v [m/s]"
 
 #: ../raster3d/r3.gwflow/main.c:75
 #, fuzzy
-msgid ""
-"Input 3D raster map with the z-part of the hydraulic conductivity tensor in "
-"[m/s]"
+msgid "Input 3D raster map with the z-part of the hydraulic conductivity tensor in [m/s]"
 msgstr "souřadnice z hydraulického napřimovače vodivosti v [m/s]"
 
 #: ../raster3d/r3.gwflow/main.c:80
@@ -29713,43 +28315,33 @@ msgstr "Mapa obohacení v m^3/s "
 
 #: ../raster3d/r3.gwflow/main.c:93
 #, fuzzy
-msgid ""
-"Output 3D raster map storing the piezometric head result of the numerical "
-"calculation"
-msgstr ""
-"Výsledná piezometrická hodnota numerického výpočtu bude zapsána do mapy"
+msgid "Output 3D raster map storing the piezometric head result of the numerical calculation"
+msgstr "Výsledná piezometrická hodnota numerického výpočtu bude zapsána do mapy"
 
 #: ../raster3d/r3.gwflow/main.c:99
 #, fuzzy
-msgid ""
-"Output 3D raster map storing the groundwater filter velocity vector part in "
-"x direction [m/s]"
+msgid "Output 3D raster map storing the groundwater filter velocity vector part in x direction [m/s]"
 msgstr ""
 "Vypočítat filt rrychlosti pozemního toku vektorového pole [m/s]\n"
 "a zapsat x a y části do map s názvem jmeno_mapy_[xy]"
 
 #: ../raster3d/r3.gwflow/main.c:105
 #, fuzzy
-msgid ""
-"Output 3D raster map storing the groundwater filter velocity vector part in "
-"y direction [m/s]"
+msgid "Output 3D raster map storing the groundwater filter velocity vector part in y direction [m/s]"
 msgstr ""
 "Vypočítat filt rrychlosti pozemního toku vektorového pole [m/s]\n"
 "a zapsat x a y části do map s názvem jmeno_mapy_[xy]"
 
 #: ../raster3d/r3.gwflow/main.c:111
 #, fuzzy
-msgid ""
-"Output 3D raster map storing the groundwater filter velocity vector part in "
-"z direction [m/s]"
+msgid "Output 3D raster map storing the groundwater filter velocity vector part in z direction [m/s]"
 msgstr ""
 "Vypočítat filt rrychlosti pozemního toku vektorového pole [m/s]\n"
 "a zapsat x a y části do map s názvem jmeno_mapy_[xy]"
 
 #: ../raster3d/r3.gwflow/main.c:117
 #, fuzzy
-msgid ""
-"Output 3D raster map storing the groundwater budget for each cell [m^3/s]"
+msgid "Output 3D raster map storing the groundwater budget for each cell [m^3/s]"
 msgstr ""
 "Vypočítat filt rrychlosti pozemního toku vektorového pole [m/s]\n"
 "a zapsat x a y části do map s názvem jmeno_mapy_[xy]"
@@ -29761,9 +28353,7 @@ msgstr "Použít masku G3D (pokud existuje) s vstupní mapou"
 
 #: ../raster3d/r3.gwflow/main.c:163
 #, fuzzy
-msgid ""
-"Numerical calculation program for transient, confined groundwater flow in "
-"three dimensions."
+msgid "Numerical calculation program for transient, confined groundwater flow in three dimensions."
 msgstr "Numerický výpočet pro přechodný uzavřený tok ve třech dimenzích"
 
 #: ../raster3d/r3.gwflow/main.c:180
@@ -29895,12 +28485,8 @@ msgstr ""
 
 #: ../raster3d/r3.mkdspf/main.c:83
 #, fuzzy
-msgid ""
-"Creates a display file from an existing 3D raster map according to specified "
-"threshold levels."
-msgstr ""
-"Vytvoří a zobrazí soubor z existujícího grid3 souboru podle zadaných "
-"prahových hodnot."
+msgid "Creates a display file from an existing 3D raster map according to specified threshold levels."
+msgstr "Vytvoří a zobrazí soubor z existujícího grid3 souboru podle zadaných prahových hodnot."
 
 #: ../raster3d/r3.mkdspf/main.c:91
 #, fuzzy
@@ -30034,8 +28620,7 @@ msgid "Name of the retiled 3D raster map"
 msgstr "Název vstupní 3D rastrové mapy"
 
 #: ../raster3d/r3.retile/main.c:99
-msgid ""
-"Retiles an existing 3D raster map with user defined x, y and z tile size."
+msgid "Retiles an existing 3D raster map with user defined x, y and z tile size."
 msgstr ""
 
 #: ../raster3d/r3.retile/main.c:135
@@ -30058,12 +28643,8 @@ msgstr "Základ názvu výsledného výřezu rastrové mapy"
 
 #: ../raster3d/r3.to.rast/main.c:96
 #, fuzzy
-msgid ""
-"Use the same resolution as the input 3D raster map for the 2D output maps, "
-"independent of the current region settings"
-msgstr ""
-"Použij stejné rozlišení jako je vstupní RASTER3D mapa pro 2d výstupní mapu, "
-"nezávisle na aktuálním rozlišení"
+msgid "Use the same resolution as the input 3D raster map for the 2D output maps, independent of the current region settings"
+msgstr "Použij stejné rozlišení jako je vstupní RASTER3D mapa pro 2d výstupní mapu, nezávisle na aktuálním rozlišení"
 
 #: ../raster3d/r3.to.rast/main.c:210
 msgid "Converts 3D raster maps to 2D raster maps"
@@ -30071,12 +28652,8 @@ msgstr "Převede 3D rastrové mapy na 2D rastrové mapy"
 
 #: ../raster3d/r3.to.rast/main.c:271 ../raster3d/r3.out.vtk/main.c:451
 #, fuzzy
-msgid ""
-"The 2D and 3D region settings are different. Using the 2D window settings to "
-"adjust the 2D part of the 3D region."
-msgstr ""
-"2d a 3d rozlišení jsou různá. Použiji nastavení 2d regionu pro nastavení 2d "
-"části 3d regionu."
+msgid "The 2D and 3D region settings are different. Using the 2D window settings to adjust the 2D part of the 3D region."
+msgstr "2d a 3d rozlišení jsou různá. Použiji nastavení 2d regionu pro nastavení 2d části 3d regionu."
 
 #: ../raster3d/r3.to.rast/main.c:297
 #, c-format
@@ -30090,8 +28667,7 @@ msgstr "Rastrová mapa %i Název souboru: %s"
 
 #: ../raster3d/r3.to.rast/main.c:308
 #, fuzzy, c-format
-msgid ""
-"Raster map %d Filename: %s already exists. Use the flag --o to overwrite."
+msgid "Raster map %d Filename: %s already exists. Use the flag --o to overwrite."
 msgstr "Rastrová mapa %d Jméno souboru: %s již existuje. Mapa bude přepsána!"
 
 #: ../raster3d/r3.out.netcdf/main.c:81
@@ -30167,8 +28743,7 @@ msgstr "Aktualizuji počet kategorií pro [%s]..."
 
 #: ../raster3d/r3.support/main.c:52
 #, fuzzy
-msgid ""
-"Allows creation and/or modification of 3D raster map layer support files."
+msgid "Allows creation and/or modification of 3D raster map layer support files."
 msgstr "Umožňuje vytvořit a/nebo modifikovat podpůrné soubory rastrové mapy."
 
 #: ../raster3d/r3.support/main.c:76
@@ -30197,13 +28772,11 @@ msgstr "RASTER3D mapa(y) pro konverzi do datového formátu VTK-ASCII"
 
 #: ../raster3d/r3.out.vtk/parameters.c:41
 msgid "Float value to represent no data cell/points"
-msgstr ""
-"Hodnota s plovoucí desetinnou čárkou reprezentující hodnotu \"žádná data\""
+msgstr "Hodnota s plovoucí desetinnou čárkou reprezentující hodnotu \"žádná data\""
 
 #: ../raster3d/r3.out.vtk/parameters.c:47
 msgid "Create VTK pointdata instead of VTK celldata (celldata is default)"
-msgstr ""
-"Vytvoří bodová data VTK z rastrových dat VTK (rastrová data jsou výchozí)"
+msgstr "Vytvoří bodová data VTK z rastrových dat VTK (rastrová data jsou výchozí)"
 
 #: ../raster3d/r3.out.vtk/parameters.c:56
 #, fuzzy
@@ -30217,27 +28790,18 @@ msgstr "2D mapa spodního povrchu"
 
 #: ../raster3d/r3.out.vtk/parameters.c:71
 #, fuzzy
-msgid ""
-"Create 3D elevation output with a top and a bottom surface, both raster maps "
-"are required."
-msgstr ""
-"Vytvoří 3D elevaci se svrchním a spodním povrchem. Obě rastrové mapy jsou "
-"požadovány."
+msgid "Create 3D elevation output with a top and a bottom surface, both raster maps are required."
+msgstr "Vytvoří 3D elevaci se svrchním a spodním povrchem. Obě rastrové mapy jsou požadovány."
 
 #: ../raster3d/r3.out.vtk/parameters.c:80
 #, fuzzy
-msgid ""
-"Three (R,G,B) 3D raster maps to create RGB values [redmap,greenmap,bluemap]"
-msgstr ""
-"3 rastrové mapy (r,g,b) g3d, které jsou použity pro vytvoření hodnot RGB "
-"[redmap,greenmap,bluemap]"
+msgid "Three (R,G,B) 3D raster maps to create RGB values [redmap,greenmap,bluemap]"
+msgstr "3 rastrové mapy (r,g,b) g3d, které jsou použity pro vytvoření hodnot RGB [redmap,greenmap,bluemap]"
 
 #: ../raster3d/r3.out.vtk/parameters.c:88
 #, fuzzy
 msgid "Three (x,y,z) 3D raster maps to create vector values [xmap,ymap,zmap]"
-msgstr ""
-"3 rastrové mapy (r,g,b) g3d, které jsou použity pro vytvoření hodnot vektorů "
-"[xmap,ymap,zmap]"
+msgstr "3 rastrové mapy (r,g,b) g3d, které jsou použity pro vytvoření hodnot vektorů [xmap,ymap,zmap]"
 
 #: ../raster3d/r3.out.vtk/parameters.c:112
 #, fuzzy
@@ -30250,9 +28814,7 @@ msgid "Scale factor affects the origin"
 msgstr "Měřítkový faktor ovlivní zdroj"
 
 #: ../raster3d/r3.out.vtk/parameters.c:129
-msgid ""
-"Do not convert the top-bottom resolution in case of lat long projection to "
-"meters"
+msgid "Do not convert the top-bottom resolution in case of lat long projection to meters"
 msgstr ""
 
 #: ../raster3d/r3.out.vtk/writeVTKData.c:122
@@ -30265,18 +28827,13 @@ msgstr "write_vtk_unstructured_grid_cells: Zapisuji buňky"
 
 #: ../raster3d/r3.out.vtk/writeVTKData.c:335
 #, c-format
-msgid ""
-"write_vtk_data: Writing Celldata %s with rows %i cols %i depths %i to vtk-"
-"ascii file"
-msgstr ""
-"write_vtk_data: Zapisuji Celldata %s o %i řádků %i sloupců %i hloubky do "
-"souboru vtk-ascii."
+msgid "write_vtk_data: Writing Celldata %s with rows %i cols %i depths %i to vtk-ascii file"
+msgstr "write_vtk_data: Zapisuji Celldata %s o %i řádků %i sloupců %i hloubky do souboru vtk-ascii."
 
 #: ../raster3d/r3.out.vtk/writeVTKData.c:441
 #, fuzzy
 msgid "Wrong 3D raster map values! Values should in between 0 and 255!"
-msgstr ""
-"Chybné hodnoty 3d raster mapy! Hodnoty by měly být v rozmezí 0 a 255!\n"
+msgstr "Chybné hodnoty 3d raster mapy! Hodnoty by měly být v rozmezí 0 a 255!\n"
 
 #: ../raster3d/r3.out.vtk/main.c:117
 #, fuzzy
@@ -30315,12 +28872,8 @@ msgstr "Prosím zadejte tři g3d vektory [x,y,z]"
 
 #: ../raster3d/r3.out.vtk/main.c:175
 #, fuzzy
-msgid ""
-"No 3D raster data, RGB or xyz-vector maps are provided! Will only write the "
-"geometry."
-msgstr ""
-"Žádná g3d data, RGB nebo xyz-vektorová mapa jsou požadována! Zapíši pouze "
-"geometrii."
+msgid "No 3D raster data, RGB or xyz-vector maps are provided! Will only write the geometry."
+msgstr "Žádná g3d data, RGB nebo xyz-vektorová mapa jsou požadována! Zapíši pouze geometrii."
 
 #: ../raster3d/r3.out.vtk/main.c:209
 msgid "No RGB Data will be created."
@@ -30363,19 +28916,13 @@ msgid "Timestamp format is invalid"
 msgstr "Neznámý formát časové značky: "
 
 #: ../raster3d/r3.neighbors/main.c:137
-msgid ""
-"The size of the window in x, y and z direction, values must be odd integer "
-"numbers, eg: 3,3,3"
+msgid "The size of the window in x, y and z direction, values must be odd integer numbers, eg: 3,3,3"
 msgstr ""
 
 #: ../raster3d/r3.neighbors/main.c:218
 #, fuzzy
-msgid ""
-"Makes each voxel value a function of the values assigned to the voxels "
-"around it, and stores new voxel values in an output 3D raster map"
-msgstr ""
-"Hodnota každé buňky v novém rastru bude funkcí hodnot kategorii sousedních "
-"buněk a bude uložena jako hodnota ve výstupní rastrové mapě."
+msgid "Makes each voxel value a function of the values assigned to the voxels around it, and stores new voxel values in an output 3D raster map"
+msgstr "Hodnota každé buňky v novém rastru bude funkcí hodnot kategorii sousedních buněk a bude uložena jako hodnota ve výstupní rastrové mapě."
 
 #: ../raster3d/r3.neighbors/main.c:287
 #, fuzzy
@@ -30384,9 +28931,7 @@ msgstr "Nelze alokovat cell buffery."
 
 #: ../raster3d/r3.in.ascii/main.c:90
 msgid "String representing NULL value data cell (use 'none' if no such value)"
-msgstr ""
-"Textový řetězec reprezentující hodnotu NULL (použít 'none' v případě "
-"takovéto hodnoty)"
+msgstr "Textový řetězec reprezentující hodnotu NULL (použít 'none' v případě takovéto hodnoty)"
 
 #: ../raster3d/r3.in.ascii/main.c:180
 #, fuzzy, c-format
@@ -30409,18 +28954,13 @@ msgstr "Špatná hodnota pro theta"
 
 #: ../raster3d/r3.in.ascii/main.c:281
 #, c-format
-msgid ""
-"Data exists in input file after fully importing expected data.  [%.4f ...]"
-msgstr ""
-"Po plném importu očekávaných dat, některá data zbyla ve vstupním souboru "
-"[%.4f ...]"
+msgid "Data exists in input file after fully importing expected data.  [%.4f ...]"
+msgstr "Po plném importu očekávaných dat, některá data zbyla ve vstupním souboru [%.4f ...]"
 
 #: ../raster3d/r3.in.ascii/main.c:319
 #, fuzzy
 msgid "Converts a 3D ASCII raster text file into a (binary) 3D raster map."
-msgstr ""
-"Převede 3D ASCII rastrový textový soubor na (binární) 3D rastrovou mapovou "
-"vrstvu "
+msgstr "Převede 3D ASCII rastrový textový soubor na (binární) 3D rastrovou mapovou vrstvu "
 
 #: ../raster3d/r3.in.ascii/main.c:362
 #, fuzzy
@@ -30469,19 +29009,13 @@ msgstr "Výsledná 2D rastrová mapa průsečíků"
 
 #: ../raster3d/r3.cross.rast/main.c:233
 #, fuzzy
-msgid ""
-"Creates cross section 2D raster map from 3D raster map based on 2D elevation "
-"map"
+msgid "Creates cross section 2D raster map from 3D raster map based on 2D elevation map"
 msgstr "Vytvoří průniky 2D mapy z g3d rastru objemů na základ 2D mapy elevace"
 
 #: ../raster3d/r3.cross.rast/main.c:259
 #, fuzzy
-msgid ""
-"The 2D and 3D region settings are different. Using the 3D raster map "
-"settings to adjust the 2D region."
-msgstr ""
-"2d a 3d nastavení regionu jsou různá. Použiji hodnoty z nastavení g3d a "
-"přenastavím 2d region."
+msgid "The 2D and 3D region settings are different. Using the 3D raster map settings to adjust the 2D region."
+msgstr "2d a 3d nastavení regionu jsou různá. Použiji hodnoty z nastavení g3d a přenastavím 2d region."
 
 #: ../raster3d/r3.cross.rast/main.c:302
 msgid "Output map already exists. Will be overwritten!"
@@ -30525,8 +29059,7 @@ msgstr "Kopírování souboru selhalo"
 #: ../raster3d/r3.out.v5d/main.c:288
 #, fuzzy
 msgid "Exports GRASS 3D raster map to 3-dimensional Vis5D file."
-msgstr ""
-"Exportuje 3D rastrový soubor GRASSu do 3-dimenzionálního Vis5D souboru."
+msgstr "Exportuje 3D rastrový soubor GRASSu do 3-dimenzionálního Vis5D souboru."
 
 #: ../raster3d/r3.out.v5d/main.c:295
 msgid "Use map coordinates instead of xyz coordinates"
@@ -30573,11 +29106,8 @@ msgid "Text to append to the comment line of the map's metadata file"
 msgstr "Text který bude připojen jako další řádek souboru s metadaty."
 
 #: ../vector/v.support/main.c:118
-msgid ""
-"Command line to store into vector map history file (used for vector scripts)"
-msgstr ""
-"Příkazová žádka pro uložení souboru s hitorií vektorové mapy (používáno pro "
-"vektorové skripty)"
+msgid "Command line to store into vector map history file (used for vector scripts)"
+msgstr "Příkazová žádka pro uložení souboru s hitorií vektorové mapy (používáno pro vektorové skripty)"
 
 #: ../vector/v.support/main.c:122
 msgid "Replace comment instead of appending it"
@@ -30595,8 +29125,7 @@ msgstr "Výška linie: %f\n"
 
 #: ../vector/v.clean/prune.c:216
 #, fuzzy, c-format
-msgid ""
-"%d vertices from input %d (vertices of given type) removed, i.e. %.2f %%"
+msgid "%d vertices from input %d (vertices of given type) removed, i.e. %.2f %%"
 msgstr ""
 "\n"
 "%d lomových bodů ze vstupu %d (lomové body daného typu) smazáno, tj. %.2f %%"
@@ -30604,8 +29133,7 @@ msgstr ""
 #: ../vector/v.clean/prune.c:220
 #, c-format
 msgid "%d boundaries not pruned because pruning would damage topology"
-msgstr ""
-"%d hranic nebylo ořezáno, protože ořezání by poškodilo jejich topologii"
+msgstr "%d hranic nebylo ořezáno, protože ořezání by poškodilo jejich topologii"
 
 #: ../vector/v.clean/rmdac.c:60
 #, fuzzy, c-format
@@ -30643,9 +29171,7 @@ msgid "remove dangles, threshold ignored if < 0"
 msgstr ""
 
 #: ../vector/v.clean/main.c:100
-msgid ""
-"change the type of boundary dangle to line, threshold ignored if < 0, input "
-"line type is ignored"
+msgid "change the type of boundary dangle to line, threshold ignored if < 0, input line type is ignored"
 msgstr ""
 
 #: ../vector/v.clean/main.c:102
@@ -30653,9 +29179,7 @@ msgid "remove bridges connecting area and island or 2 islands"
 msgstr ""
 
 #: ../vector/v.clean/main.c:103
-msgid ""
-"change the type of bridges connecting area and island or 2 islands from "
-"boundary to line"
+msgid "change the type of bridges connecting area and island or 2 islands from boundary to line"
 msgstr ""
 
 #: ../vector/v.clean/main.c:105
@@ -30669,17 +29193,11 @@ msgid "remove duplicate area centroids ('type' option ignored)"
 msgstr "Zmazat duplicitní centroidy     "
 
 #: ../vector/v.clean/main.c:107
-msgid ""
-"break (topologically clean) polygons (imported from non topological format, "
-"like ShapeFile). Boundaries are broken on each point shared between 2 and "
-"more polygons where angles of segments are different"
+msgid "break (topologically clean) polygons (imported from non topological format, like ShapeFile). Boundaries are broken on each point shared between 2 and more polygons where angles of segments are different"
 msgstr ""
 
 #: ../vector/v.clean/main.c:110
-msgid ""
-"remove vertices in threshold from lines and boundaries, boundary is pruned "
-"only if topology is not damaged (new intersection, changed attachment of "
-"centroid), first and last segment of the boundary is never changed"
+msgid "remove vertices in threshold from lines and boundaries, boundary is pruned only if topology is not damaged (new intersection, changed attachment of centroid), first and last segment of the boundary is never changed"
 msgstr ""
 
 #: ../vector/v.clean/main.c:114
@@ -30699,9 +29217,7 @@ msgstr "Smazání malých úhlů na uzlech"
 #: ../vector/v.clean/main.c:124
 #, fuzzy
 msgid "Threshold in map units, one value for each tool"
-msgstr ""
-"Hraniční hodnota v mapových jednotkách, jedna honota pro každý nástroj "
-"(výchozí: 0.0[,0.0,...])"
+msgstr "Hraniční hodnota v mapových jednotkách, jedna honota pro každý nástroj (výchozí: 0.0[,0.0,...])"
 
 #: ../vector/v.clean/main.c:125
 msgid "Default: 0.0[,0.0,...])"
@@ -30724,9 +29240,7 @@ msgid "Tool doesn't exist"
 msgstr "Nástroj neexistuje"
 
 #: ../vector/v.clean/main.c:202
-msgid ""
-"Note: In latitude-longitude coordinate system specify threshold in degree "
-"unit"
+msgid "Note: In latitude-longitude coordinate system specify threshold in degree unit"
 msgstr ""
 
 #: ../vector/v.clean/main.c:215
@@ -30917,8 +29431,7 @@ msgstr "Název vstupní vektorové mapy (A)"
 #: ../vector/v.net/args.c:15
 #, fuzzy
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
-msgstr ""
-"Požadováno pro operaci 'spojení'. Spojuje body v dané mezní vzdálenosti."
+msgstr "Požadováno pro operaci 'spojení'. Spojuje body v dané mezní vzdálenosti."
 
 #: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
 msgid "Arcs"
@@ -30944,8 +29457,7 @@ msgid "new point is placed on each node (line end) if doesn't exist"
 msgstr ""
 
 #: ../vector/v.net/args.c:42
-msgid ""
-"connect still unconnected points to vector network by inserting new line(s)"
+msgid "connect still unconnected points to vector network by inserting new line(s)"
 msgstr ""
 
 #: ../vector/v.net/args.c:44
@@ -30953,20 +29465,16 @@ msgid "new line is created from start point to end point"
 msgstr ""
 
 #: ../vector/v.net/args.c:46
-msgid ""
-"print to standard output {line_category start_point_category "
-"end_point_category}"
+msgid "print to standard output {line_category start_point_category end_point_category}"
 msgstr ""
 
 #: ../vector/v.net/args.c:48
-msgid ""
-"print to standard output {point_category line_category[,line_category...]}"
+msgid "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
 #: ../vector/v.net/args.c:72
 msgid "Required for operation 'connect'. Connect points in given threshold."
-msgstr ""
-"Požadováno pro operaci 'spojení'. Spojuje body v dané mezní vzdálenosti."
+msgstr "Požadováno pro operaci 'spojení'. Spojuje body v dané mezní vzdálenosti."
 
 #: ../vector/v.net/args.c:76
 #, fuzzy
@@ -30992,9 +29500,7 @@ msgid "Snap points to network"
 msgstr "Vektorová mapa s cílovými body"
 
 #: ../vector/v.net/args.c:91
-msgid ""
-"For operation 'connect'. By default, a new line from the point to the "
-"network is created."
+msgid "For operation 'connect'. By default, a new line from the point to the network is created."
 msgstr ""
 
 #: ../vector/v.net/args.c:114
@@ -31064,11 +29570,8 @@ msgid "points"
 msgstr "body"
 
 #: ../vector/v.in.db/main.c:57
-msgid ""
-"Creates new vector (points) map from database table containing coordinates."
-msgstr ""
-"Vytvoří novou vektorovou (bodovou) mapu na základě databázové takulky "
-"obsahující souřadnice."
+msgid "Creates new vector (points) map from database table containing coordinates."
+msgstr "Vytvoří novou vektorovou (bodovou) mapu na základě databázové takulky obsahující souřadnice."
 
 #: ../vector/v.in.db/main.c:61
 msgid "Input table name"
@@ -31113,17 +29616,13 @@ msgstr "Nelze kopírovat atributovou tabulku do vektorové mapy <%s>"
 
 #: ../vector/v.in.db/main.c:141
 #, c-format
-msgid ""
-"Vector map <%s> cannot be overwritten because input table <%s> is linked to "
-"this map."
+msgid "Vector map <%s> cannot be overwritten because input table <%s> is linked to this map."
 msgstr ""
 
 #: ../vector/v.in.db/main.c:177
 #, c-format
-msgid ""
-"Output vector map, table <%s> (driver: <%s>, database: <%s>) already exists"
-msgstr ""
-"Výstupní vektorová tabulka <%s> (ovladač: <%s>, databáze: <%s>) již existuje"
+msgid "Output vector map, table <%s> (driver: <%s>, database: <%s>) already exists"
+msgstr "Výstupní vektorová tabulka <%s> (ovladač: <%s>, databáze: <%s>) již existuje"
 
 #: ../vector/v.in.db/main.c:190 ../vector/v.db.connect/main.c:295
 msgid "Data type of key column must be integer"
@@ -31132,15 +29631,11 @@ msgstr "Sloupec s klíčem musí být typu integer"
 #: ../vector/v.in.db/main.c:194
 #, fuzzy, c-format
 msgid "Option <%s> must be specified when -%c flag is given"
-msgstr ""
-"Jeden z přepínačů \"-i\" nebo \"-r\" nebo voleb \"color\", \"rast\" nebo "
-"\"rules\" MUSÍ být zadána!"
+msgstr "Jeden z přepínačů \"-i\" nebo \"-r\" nebo voleb \"color\", \"rast\" nebo \"rules\" MUSÍ být zadána!"
 
 #: ../vector/v.in.db/main.c:199
 #, c-format
-msgid ""
-"Unable to define key column. This operation is not supported by <%s> driver. "
-"You need to define <%s> option."
+msgid "Unable to define key column. This operation is not supported by <%s> driver. You need to define <%s> option."
 msgstr ""
 
 #: ../vector/v.in.db/main.c:235 ../vector/v.voronoi/main.c:322
@@ -31175,6 +29670,7 @@ msgid "%d point written to vector map."
 msgid_plural "%d points written to vector map."
 msgstr[0] "%d bodů zapsáno do vektorové mapy."
 msgstr[1] "%d bodů zapsáno do vektorové mapy."
+msgstr[2] ""
 
 #: ../vector/v.kernel/main.c:68
 #, c-format
@@ -31206,13 +29702,8 @@ msgstr "Náhodně vytvořit 2D/3D bodovou vektorovou vrstvu."
 
 #: ../vector/v.kernel/main.c:116
 #, fuzzy
-msgid ""
-"Density is computed using a moving kernel. Optionally generates a vector "
-"density map on a vector network."
-msgstr ""
-"Vytváří rastrovou mapu hustoty z vektorového bodového souboru tak, že "
-"pohybuje 2D isotropické Gaussiánské jádro nebo volitelně generuje vektorovou "
-"mapu hustoty na vektorové síti s 1D jádrem."
+msgid "Density is computed using a moving kernel. Optionally generates a vector density map on a vector network."
+msgstr "Vytváří rastrovou mapu hustoty z vektorového bodového souboru tak, že pohybuje 2D isotropické Gaussiánské jádro nebo volitelně generuje vektorovou mapu hustoty na vektorové síti s 1D jádrem."
 
 #: ../vector/v.kernel/main.c:120
 #, fuzzy
@@ -31282,24 +29773,16 @@ msgstr "Známé funkce:"
 
 #: ../vector/v.kernel/main.c:201
 #, fuzzy
-msgid ""
-"Try to calculate an optimal radius with given 'radius' taken as maximum "
-"(experimental)"
-msgstr ""
-"Pokusit se vypočíst optimální směrodatnou odchylku s 'stddeviation' vzatou "
-"jako maximum (experimentální)"
+msgid "Try to calculate an optimal radius with given 'radius' taken as maximum (experimental)"
+msgstr "Pokusit se vypočíst optimální směrodatnou odchylku s 'stddeviation' vzatou jako maximum (experimentální)"
 
 #: ../vector/v.kernel/main.c:206
 #, fuzzy
 msgid "Only calculate optimal radius and exit (no map is written)"
-msgstr ""
-"Vypočíst pouze optimální směrodatnou odchylku a ukončit se (nebude vytvořena "
-"žádná mapa)"
+msgstr "Vypočíst pouze optimální směrodatnou odchylku a ukončit se (nebude vytvořena žádná mapa)"
 
 #: ../vector/v.kernel/main.c:211
-msgid ""
-"In network mode, normalize values by sum of density multiplied by length of "
-"each segment. Integral over the output map then gives 1.0 * mult"
+msgid "In network mode, normalize values by sum of density multiplied by length of each segment. Integral over the output map then gives 1.0 * mult"
 msgstr ""
 
 #: ../vector/v.kernel/main.c:217
@@ -31328,15 +29811,11 @@ msgid "Unknown kernel function"
 msgstr "Neznámá operace"
 
 #: ../vector/v.kernel/main.c:281
-msgid ""
-"Optimal standard deviation calculation is supported only for node method "
-"'none' and kernel function 'gaussian'."
+msgid "Optimal standard deviation calculation is supported only for node method 'none' and kernel function 'gaussian'."
 msgstr ""
 
 #: ../vector/v.kernel/main.c:285
-msgid ""
-"Optimal standard deviation calculation is supported only for kernel function "
-"'gaussian'."
+msgid "Optimal standard deviation calculation is supported only for kernel function 'gaussian'."
 msgstr ""
 
 #: ../vector/v.kernel/main.c:302
@@ -31360,15 +29839,12 @@ msgid "%d point outside threshold"
 msgid_plural "%d points outside threshold"
 msgstr[0] "%d bodů mimo práhovou hodnotu"
 msgstr[1] "%d bodů mimo práhovou hodnotu"
+msgstr[2] ""
 
 #: ../vector/v.kernel/main.c:381
 #, fuzzy, c-format
-msgid ""
-"Automatic choice of smoothing parameter (radius), maximum possible value of "
-"radius is set to %f"
-msgstr ""
-"Automatická volba parametru vyhlazení (směrodatná odchylka), maximální "
-"dovolená hodnota směrodatné odchylky byla nastavena na %f"
+msgid "Automatic choice of smoothing parameter (radius), maximum possible value of radius is set to %f"
+msgstr "Automatická volba parametru vyhlazení (směrodatná odchylka), maximální dovolená hodnota směrodatné odchylky byla nastavena na %f"
 
 #: ../vector/v.kernel/main.c:388
 #, c-format
@@ -31386,15 +29862,12 @@ msgid "%d distance read from the map."
 msgid_plural "%d distances read from the map."
 msgstr[0] "%d vzdáleností čteno z mapy."
 msgstr[1] "%d vzdáleností čteno z mapy."
+msgstr[2] ""
 
 #: ../vector/v.kernel/main.c:408
 #, c-format
-msgid ""
-"Distances between all points are beyond %e (4 * standard deviation), unable "
-"to calculate optimal value."
-msgstr ""
-"vzdáleností mezi všemi body je mimo %e (4 * směrodatná odchylka), nelze "
-"vypočíst optimální hodnotu."
+msgid "Distances between all points are beyond %e (4 * standard deviation), unable to calculate optimal value."
+msgstr "vzdáleností mezi všemi body je mimo %e (4 * směrodatná odchylka), nelze vypočíst optimální hodnotu."
 
 #: ../vector/v.kernel/main.c:419
 #, c-format
@@ -31471,8 +29944,7 @@ msgstr ""
 #: ../vector/v.buffer/main.c:230
 #, fuzzy
 msgid "Creates a buffer around vector features of given type."
-msgstr ""
-"Vytvoří buffer okolo prvků zadaného typu (plochy musí obsahovat centroid)"
+msgstr "Vytvoří buffer okolo prvků zadaného typu (plochy musí obsahovat centroid)"
 
 #: ../vector/v.buffer/main.c:255
 msgid "Buffer distance along major axis in map units"
@@ -31501,12 +29973,8 @@ msgid "Scaling factor for attribute column values"
 msgstr "Měřítkový faktor pro hodnoty atributů"
 
 #: ../vector/v.buffer/main.c:293
-msgid ""
-"Maximum distance between theoretical arc and polygon segments as multiple of "
-"buffer"
-msgstr ""
-"Maximální vzdálenost mezi teoretickou linií a segmentem polygonu je násobek "
-"bufferu"
+msgid "Maximum distance between theoretical arc and polygon segments as multiple of buffer"
+msgstr "Maximální vzdálenost mezi teoretickou linií a segmentem polygonu je násobek bufferu"
 
 #: ../vector/v.buffer/main.c:298
 msgid "Make outside corners straight"
@@ -31523,22 +29991,17 @@ msgid "Transfer categories and attributes"
 msgstr "Vypsat vektorové atributy"
 
 #: ../vector/v.buffer/main.c:327
-msgid ""
-"Note: In latitude-longitude coordinate system specify distances in degree "
-"unit"
+msgid "Note: In latitude-longitude coordinate system specify distances in degree unit"
 msgstr ""
 
 #: ../vector/v.buffer/main.c:331
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
-msgstr ""
-"Vyberte bufer vzdálenost/vedlější vzdálenost/úhel nebo sloupec ale ne oboje."
+msgstr "Vyberte bufer vzdálenost/vedlější vzdálenost/úhel nebo sloupec ale ne oboje."
 
 #: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
 #: ../vector/v.drape/main.c:149
 #, c-format
-msgid ""
-"Invalid layer number (%d). Parameter '%s' or '%s' specified, assuming layer "
-"'1'."
+msgid "Invalid layer number (%d). Parameter '%s' or '%s' specified, assuming layer '1'."
 msgstr ""
 
 #: ../vector/v.buffer/main.c:360
@@ -31580,14 +30043,13 @@ msgstr "Nelze vybrat data z tabulky <%s>"
 #: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
-#: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
+#: ../vector/v.surf.bspline/crosscorr.c:133
+#: ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Typ sloupce není podporován"
 
 #: ../vector/v.buffer/main.c:465
-msgid ""
-"No features available for buffering. Check type option and features "
-"available in the input vector."
+msgid "No features available for buffering. Check type option and features available in the input vector."
 msgstr ""
 
 #: ../vector/v.buffer/main.c:482
@@ -31596,9 +30058,7 @@ msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
 #: ../vector/v.buffer/main.c:487
-msgid ""
-"Negative distances for internal buffers are not supported and converted to "
-"positive values."
+msgid "Negative distances for internal buffers are not supported and converted to positive values."
 msgstr ""
 
 #: ../vector/v.buffer/main.c:497
@@ -31759,12 +30219,8 @@ msgid "RST"
 msgstr ""
 
 #: ../vector/v.vol.rst/main.c:241
-msgid ""
-"Interpolates point data to a 3D raster map using regularized spline with "
-"tension (RST) algorithm."
-msgstr ""
-"Interpoluje bodová data do G3D volume za použití regularized spline with "
-"tension (RST)"
+msgid "Interpolates point data to a 3D raster map using regularized spline with tension (RST) algorithm."
+msgstr "Interpoluje bodová data do G3D volume za použití regularized spline with tension (RST)"
 
 #: ../vector/v.vol.rst/main.c:246
 #, fuzzy
@@ -31886,12 +30342,8 @@ msgstr "Oba soubory crossvalidation a deviations musí být určeny"
 
 #: ../vector/v.vol.rst/main.c:491
 #, fuzzy
-msgid ""
-"Crossvalidation cannot be computed simultanuously with output grids or devi "
-"file"
-msgstr ""
-"Křížová validace nemůže být počítána spolu s výstupní rastrovou mapou nebo "
-"souborem s odchylkami (devi)"
+msgid "Crossvalidation cannot be computed simultanuously with output grids or devi file"
+msgstr "Křížová validace nemůže být počítána spolu s výstupní rastrovou mapou nebo souborem s odchylkami (devi)"
 
 #: ../vector/v.vol.rst/main.c:539 ../vector/v.vol.rst/main.c:544
 #: ../vector/v.vol.rst/main.c:546 ../vector/v.surf.rst/main.c:511
@@ -31968,16 +30420,11 @@ msgstr "Neznámý typ sloupce '%s' hodnoty ztraceny"
 #: ../vector/v.vol.rst/user1.c:126
 #, fuzzy
 msgid "Column type of smooth column (datetime) is not supported"
-msgstr ""
-"Typ sloupce  pro vyhlazení není podporován (musí být typu integer nebo "
-"double)"
+msgstr "Typ sloupce  pro vyhlazení není podporován (musí být typu integer nebo double)"
 
 #: ../vector/v.vol.rst/user1.c:128
-msgid ""
-"Column type of smooth column is not supported (must be integer or double)"
-msgstr ""
-"Typ sloupce  pro vyhlazení není podporován (musí být typu integer nebo "
-"double)"
+msgid "Column type of smooth column is not supported (must be integer or double)"
+msgstr "Typ sloupce  pro vyhlazení není podporován (musí být typu integer nebo double)"
 
 #: ../vector/v.vol.rst/user1.c:150
 #, fuzzy
@@ -32010,29 +30457,22 @@ msgstr "Výběr"
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
-msgid ""
-"There are points outside specified 2D/3D region--ignored %d points (total "
-"points: %d)"
+msgid "There are points outside specified 2D/3D region--ignored %d points (total points: %d)"
 msgstr ""
 
 #: ../vector/v.vol.rst/user1.c:315
 #, c-format
-msgid ""
-"Points are more dense than specified 'DMIN'--ignored %d points (remain %d)"
+msgid "Points are more dense than specified 'DMIN'--ignored %d points (remain %d)"
 msgstr ""
 
 #: ../vector/v.vol.rst/user1.c:321
 #, c-format
-msgid ""
-"%d points given for interpolation (after thinning) is less than given NPMIN="
-"%d"
+msgid "%d points given for interpolation (after thinning) is less than given NPMIN=%d"
 msgstr ""
 
 #: ../vector/v.vol.rst/user1.c:341
 #, c-format
-msgid ""
-"There is less than %d points for interpolation, no segmentation is "
-"necessary, to run the program faster, set segmax=%d (see manual)"
+msgid "There is less than %d points for interpolation, no segmentation is necessary, to run the program faster, set segmax=%d (see manual)"
 msgstr ""
 
 #: ../vector/v.vol.rst/user1.c:368
@@ -32112,8 +30552,7 @@ msgstr "Indexy pro kvadratické počty pro seznam bodů"
 
 #: ../vector/v.qcount/main.c:72
 #, fuzzy
-msgid ""
-"Name for output quadrat centers map (number of points is written as category)"
+msgid "Name for output quadrat centers map (number of points is written as category)"
 msgstr "Výsupní středy kvadrantů, počet bodů bude zapsáno jako kategorie"
 
 #: ../vector/v.qcount/main.c:78
@@ -32156,22 +30595,23 @@ msgstr "Počítá mosty a artikulační body v síti"
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
-#: ../vector/v.net.connectivity/main.c:92 ../vector/v.net.centrality/main.c:110
-#: ../vector/v.net.centrality/main.c:116 ../vector/v.net.centrality/main.c:130
-#: ../vector/v.net.centrality/main.c:136 ../vector/v.net.centrality/main.c:143
-#: ../vector/v.net.distance/main.c:81 ../vector/v.net.distance/main.c:88
-#: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
-#: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
-#: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
-#: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
-#: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
-#: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
-#: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
-#: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.connectivity/main.c:92
+#: ../vector/v.net.centrality/main.c:110 ../vector/v.net.centrality/main.c:116
+#: ../vector/v.net.centrality/main.c:130 ../vector/v.net.centrality/main.c:136
+#: ../vector/v.net.centrality/main.c:143 ../vector/v.net.distance/main.c:81
+#: ../vector/v.net.distance/main.c:88 ../vector/v.net.distance/main.c:94
+#: ../vector/v.net.distance/main.c:140 ../vector/v.net.distance/main.c:146
+#: ../vector/v.net.distance/main.c:152 ../vector/v.net.allpairs/main.c:94
+#: ../vector/v.net.allpairs/main.c:100 ../vector/v.net.allpairs/main.c:107
+#: ../vector/v.net.path/main.c:74 ../vector/v.net.path/main.c:81
+#: ../vector/v.net.path/main.c:88 ../vector/v.net.components/main.c:84
+#: ../vector/v.net.components/main.c:90 ../vector/v.net.components/main.c:97
+#: ../vector/v.net.components/main.c:103 ../vector/v.net.components/main.c:110
+#: ../vector/v.net.timetable/main.c:275 ../vector/v.net.timetable/main.c:281
+#: ../vector/v.net.timetable/main.c:289 ../vector/v.net.timetable/main.c:296
+#: ../vector/v.net.timetable/main.c:303 ../vector/v.net.iso/main.c:103
+#: ../vector/v.net.iso/main.c:108 ../vector/v.net.iso/main.c:113
+#: ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
@@ -32219,21 +30659,13 @@ msgstr "Určit (alokovat) podsíťě pro nejbližší centra (směr ze středu).
 
 #: ../vector/v.net.alloc/main.c:68
 #, fuzzy
-msgid ""
-"center node must be opened (costs >= 0). Costs of center node are used in "
-"calculation"
-msgstr ""
-"Střední uzel musí být otevřen (ceny >= 0). Ceny středových uzlů jsou použity "
-"ve výpočtu"
+msgid "center node must be opened (costs >= 0). Costs of center node are used in calculation"
+msgstr "Střední uzel musí být otevřen (ceny >= 0). Ceny středových uzlů jsou použity ve výpočtu"
 
 #: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
 #, fuzzy
-msgid ""
-"Categories of centers (points on nodes) to which net will be allocated, "
-"layer for this categories is given by nlayer option"
-msgstr ""
-"Kategorie středů (body na uzlech), k nimž bude síť alokována, vrstva pro "
-"tyto kategorie je dána parametrem nlayer"
+msgid "Categories of centers (points on nodes) to which net will be allocated, layer for this categories is given by nlayer option"
+msgstr "Kategorie středů (body na uzlech), k nimž bude síť alokována, vrstva pro tyto kategorie je dána parametrem nlayer"
 
 #: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
 #: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
@@ -32249,8 +30681,7 @@ msgstr "Počet středů: [%d] (nlayer:[%d])"
 #: ../vector/v.net.alloc/main.c:198
 #, fuzzy
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
-msgstr ""
-"Nedostatečný počet středů pro vybranou vrstvu (nlayer). Nic nebude alokováno."
+msgstr "Nedostatečný počet středů pro vybranou vrstvu (nlayer). Nic nebude alokováno."
 
 #: ../vector/v.net.alloc/main.c:209
 #, fuzzy
@@ -32371,6 +30802,7 @@ msgid "Skipping %d of %d row falling outside of current region"
 msgid_plural "Skipping %d of %d rows falling outside of current region"
 msgstr[0] "Přeskakuji %d z %d řádků spadajících mimo aktuální region"
 msgstr[1] "Přeskakuji %d z %d řádků spadajících mimo aktuální region"
+msgstr[2] ""
 
 #: ../vector/v.in.ascii/points.c:328
 msgid "Importing points..."
@@ -32411,20 +30843,15 @@ msgstr ""
 
 #: ../vector/v.in.ascii/main.c:114
 msgid "Number of header lines to skip at top of input file (points mode)"
-msgstr ""
-"Počet řádků hlavičky vstupního souboru, které budou přeskočeny (bodový režim)"
+msgstr "Počet řádků hlavičky vstupního souboru, které budou přeskočeny (bodový režim)"
 
 #: ../vector/v.in.ascii/main.c:123
 msgid "Column definition in SQL style (points mode)"
 msgstr "Definice sloupce ve stylu SQL (bodový režim)"
 
 #: ../vector/v.in.ascii/main.c:124
-msgid ""
-"For example: 'x double precision, y double precision, cat int, name "
-"varchar(10)'"
-msgstr ""
-"Například: 'x double precision, y double precision, cat int, name "
-"varchar(10)'"
+msgid "For example: 'x double precision, y double precision, cat int, name varchar(10)'"
+msgstr "Například: 'x double precision, y double precision, cat int, name varchar(10)'"
 
 #: ../vector/v.in.ascii/main.c:136 ../vector/v.in.ascii/main.c:146
 msgid "First column is 1"
@@ -32433,16 +30860,12 @@ msgstr ""
 #: ../vector/v.in.ascii/main.c:145
 #, fuzzy
 msgid "Number of column used as y coordinate (points mode)"
-msgstr ""
-"Číslo sloupce použitého jako souřadnice y (první sloupec je 1) pro bodový "
-"režim"
+msgstr "Číslo sloupce použitého jako souřadnice y (první sloupec je 1) pro bodový režim"
 
 #: ../vector/v.in.ascii/main.c:155
 #, fuzzy
 msgid "Number of column used as z coordinate (points mode)"
-msgstr ""
-"Číslo sloupce použitého jako souřadnice z (první sloupec je 1) pro bodový "
-"režim"
+msgstr "Číslo sloupce použitého jako souřadnice z (první sloupec je 1) pro bodový režim"
 
 #: ../vector/v.in.ascii/main.c:156
 #, fuzzy
@@ -32452,17 +30875,12 @@ msgstr "Jestli 0, z souřadnice nebude použita"
 #: ../vector/v.in.ascii/main.c:166
 #, fuzzy
 msgid "Number of column used as category (points mode)"
-msgstr ""
-"Číslo sloupce použitého jako categorie (první sloupec je 1) pro bodový režim"
+msgstr "Číslo sloupce použitého jako categorie (první sloupec je 1) pro bodový režim"
 
 #: ../vector/v.in.ascii/main.c:168
 #, fuzzy
-msgid ""
-"First column is 1. If 0, unique category is assigned to each row and written "
-"to new column 'cat'"
-msgstr ""
-"Pokud 0, bude přiřazena každému řádku unikátní kategorie a zapsána do nového "
-"sloupce 'cat'."
+msgid "First column is 1. If 0, unique category is assigned to each row and written to new column 'cat'"
+msgstr "Pokud 0, bude přiřazena každému řádku unikátní kategorie a zapsána do nového sloupce 'cat'."
 
 #: ../vector/v.in.ascii/main.c:172 ../vector/v.in.dwg/main.c:106
 msgid "Create 3D vector map"
@@ -32471,9 +30889,7 @@ msgstr "Vytvořit 3D vektorovou mapu"
 #: ../vector/v.in.ascii/main.c:177
 #, fuzzy
 msgid "Create a new empty vector map and exit. Nothing is read from input."
-msgstr ""
-"Vytvořit novou prázdnou vektorovou mapu a ukončit se. Nic nebude čteno ze "
-"vstupu."
+msgstr "Vytvořit novou prázdnou vektorovou mapu a ukončit se. Nic nebude čteno ze vstupu."
 
 #: ../vector/v.in.ascii/main.c:182
 #, fuzzy
@@ -32533,12 +30949,8 @@ msgstr "Počet řádků"
 #: ../vector/v.in.ascii/main.c:292 ../vector/v.in.ascii/main.c:296
 #: ../vector/v.in.ascii/main.c:301 ../vector/v.in.ascii/main.c:306
 #, fuzzy, c-format
-msgid ""
-"'%s' column number > minimum last column number (incorrect field separator "
-"or format?)"
-msgstr ""
-"číslo sloupce z > minimální číslo posledního sloupce (neplatný oddělovač "
-"položek?)"
+msgid "'%s' column number > minimum last column number (incorrect field separator or format?)"
+msgstr "číslo sloupce z > minimální číslo posledního sloupce (neplatný oddělovač položek?)"
 
 #: ../vector/v.in.ascii/main.c:311 ../vector/v.in.ascii/main.c:314
 #: ../vector/v.in.ascii/main.c:317 ../vector/v.in.ascii/main.c:320
@@ -32552,22 +30964,18 @@ msgstr "Sloupec s kategoriemi není typu integer"
 
 #: ../vector/v.in.ascii/main.c:437
 #, c-format
-msgid ""
-"Number of columns defined (%d) does not match number of columns (%d) in input"
-msgstr ""
-"Číslo sloupce definovaného (%d) nesouhlasí s počtem sloupců (%d) na vstupu."
+msgid "Number of columns defined (%d) does not match number of columns (%d) in input"
+msgstr "Číslo sloupce definovaného (%d) nesouhlasí s počtem sloupců (%d) na vstupu."
 
 #: ../vector/v.in.ascii/main.c:465
 #, c-format
 msgid "Column number %d <%s> defined as double has only integer values"
-msgstr ""
-"Číslo sloupce %d <%s> definovaný jako double obsahuje pouze hodnoty integer"
+msgstr "Číslo sloupce %d <%s> definovaný jako double obsahuje pouze hodnoty integer"
 
 #: ../vector/v.in.ascii/main.c:470
 #, c-format
 msgid "Column number %d <%s> defined as string has only integer values"
-msgstr ""
-"Číslo sloupce %d <%s> definovaný jako string obsahuje pouze hodnoty integer"
+msgstr "Číslo sloupce %d <%s> definovaný jako string obsahuje pouze hodnoty integer"
 
 #: ../vector/v.in.ascii/main.c:477
 #, c-format
@@ -32600,11 +31008,8 @@ msgstr "Náhravání dat do atributové tabulky..."
 
 #: ../vector/v.in.ascii/main.c:538
 #, fuzzy
-msgid ""
-"Unable to close attribute table. The DBMI driver did not accept all "
-"attributes"
-msgstr ""
-"Nelze uzavřít atributovou tabulku. Ovladač DBMI nepřijal všechny atributy"
+msgid "Unable to close attribute table. The DBMI driver did not accept all attributes"
+msgstr "Nelze uzavřít atributovou tabulku. Ovladač DBMI nepřijal všechny atributy"
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
 #: ../vector/v.in.ogr/main.c:1659
@@ -32635,9 +31040,7 @@ msgid "Maximum z height (needs -z flag or column name)"
 msgstr "maximální výška z (nutný přepínač -znebo název sloupce)"
 
 #: ../vector/v.random/main.c:149
-msgid ""
-"The seed to initialize the random generator. If not set the process ID is "
-"used"
+msgid "The seed to initialize the random generator. If not set the process ID is used"
 msgstr ""
 
 #: ../vector/v.random/main.c:152
@@ -32684,25 +31087,18 @@ msgid "Table should contain only two columns"
 msgstr "Tabulka by měla obsahovat pouze dva sloupce"
 
 #: ../vector/v.random/main.c:282
-msgid ""
-"You have created unsupported column type. This module supports only INTEGER "
-"and DOUBLE PRECISION column types."
-msgstr ""
-"vytvořilli jste nepodporovaný typ sloupce. Tento modul podporuje pouze tyto "
-"typy slopuců INTEGER a DOUBLE PRECISION."
+msgid "You have created unsupported column type. This module supports only INTEGER and DOUBLE PRECISION column types."
+msgstr "vytvořilli jste nepodporovaný typ sloupce. Tento modul podporuje pouze tyto typy slopuců INTEGER a DOUBLE PRECISION."
 
 #: ../vector/v.random/main.c:345
 #, fuzzy, c-format
-msgid ""
-"Selected areas in input vector <%s> do not overlap with the current region"
-msgstr ""
-"Počáteční vektorová mapa <%s> neobsahuje v současném regionu žádné body"
+msgid "Selected areas in input vector <%s> do not overlap with the current region"
+msgstr "Počáteční vektorová mapa <%s> neobsahuje v současném regionu žádné body"
 
 #: ../vector/v.random/main.c:357
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
-msgstr ""
-"Počáteční vektorová mapa <%s> neobsahuje v současném regionu žádné body"
+msgstr "Počáteční vektorová mapa <%s> neobsahuje v současném regionu žádné body"
 
 #: ../vector/v.random/main.c:382
 msgid "Generating points..."
@@ -32710,12 +31106,8 @@ msgstr "Vytvářím body..."
 
 #: ../vector/v.lidar.correction/main.c:71
 #, fuzzy
-msgid ""
-"Corrects the v.lidar.growing output. It is the last of the three algorithms "
-"for LIDAR filtering."
-msgstr ""
-"Výstup korekce v.lidar.growing. Jedná se o poslední ze tří algoritmů LIDAR "
-"filtrace"
+msgid "Corrects the v.lidar.growing output. It is the last of the three algorithms for LIDAR filtering."
+msgstr "Výstup korekce v.lidar.growing. Jedná se o poslední ze tří algoritmů LIDAR filtrace"
 
 #: ../vector/v.lidar.correction/main.c:75
 #: ../vector/v.lidar.edgedetection/main.c:80 ../vector/v.outlier/main.c:78
@@ -32726,12 +31118,8 @@ msgstr "Odhad hustoty bodů a vzdálenosti"
 #: ../vector/v.lidar.correction/main.c:77
 #: ../vector/v.lidar.edgedetection/main.c:82 ../vector/v.outlier/main.c:80
 #: ../vector/v.surf.bspline/main.c:107
-msgid ""
-"Estimate point density and distance for the input vector points within the "
-"current region extends and quit"
-msgstr ""
-"Odhadne hustotu bodů a vzdálenosti pro vstupní vektorovou bodovou vrstvu "
-"uvnitř aktuálního regionu a ukončí se"
+msgid "Estimate point density and distance for the input vector points within the current region extends and quit"
+msgstr "Odhadne hustotu bodů a vzdálenosti pro vstupní vektorovou bodovou vrstvu uvnitř aktuálního regionu a ukončí se"
 
 #: ../vector/v.lidar.correction/main.c:81
 msgid "Input observation vector map name (v.lidar.growing output)"
@@ -32789,8 +31177,7 @@ msgstr "Nelze číst jméno ovladače"
 #: ../vector/v.surf.bspline/main.c:406
 #, c-format
 msgid "No database connection for driver <%s> is defined. Run db.connect."
-msgstr ""
-"Spojení s databází nebylo pro ovladač <%s> definováno. Spusťte db.connect"
+msgstr "Spojení s databází nebylo pro ovladač <%s> definováno. Spusťte db.connect"
 
 #: ../vector/v.lidar.correction/main.c:172
 #: ../vector/v.lidar.edgedetection/main.c:192
@@ -32815,6 +31202,7 @@ msgid "adjusted EW spline %d"
 msgid_plural "adjusted EW splines %d"
 msgstr[0] "Upravené V-Z křivky %d"
 msgstr[1] "Upravené V-Z křivky %d"
+msgstr[2] ""
 
 #: ../vector/v.lidar.correction/main.c:276
 #, fuzzy, c-format
@@ -32822,6 +31210,7 @@ msgid "adjusted NS spline %d"
 msgid_plural "adjusted NS splines %d"
 msgstr[0] "Upravené S-J křivky %d"
 msgstr[1] "Upravené S-J křivky %d"
+msgstr[2] ""
 
 #: ../vector/v.lidar.correction/main.c:324
 #, c-format
@@ -32913,9 +31302,8 @@ msgid "Incompatible types"
 msgstr "Nekompatibilní typy"
 
 #: ../vector/v.out.postgis/args.c:25
-#, fuzzy
 msgid "Name for output PostGIS datasource"
-msgstr "Název výstupního souboru"
+msgstr "Název výstupního zdroje dat PostGISu"
 
 #: ../vector/v.out.postgis/args.c:27
 msgid "Starts with 'PG' prefix, eg. 'PG:dbname=grass'"
@@ -32933,15 +31321,11 @@ msgstr "Název vrstvy OGR. Pokud není zadán, je použito vstupní jméno."
 
 #: ../vector/v.out.postgis/args.c:44
 #, fuzzy
-msgid ""
-"Name for output vector map defined as a link to the PostGIS feature table"
-msgstr ""
-"Vytvoří novou vektorovou mapu jako odkaz na OGR vrstvu (pouze pro čtení)."
+msgid "Name for output vector map defined as a link to the PostGIS feature table"
+msgstr "Vytvoří novou vektorovou mapu jako odkaz na OGR vrstvu (pouze pro čtení)."
 
 #: ../vector/v.out.postgis/args.c:46
-msgid ""
-"If not specified, the vector link is not created. The link can be also "
-"manually created by 'v.external' module."
+msgid "If not specified, the vector link is not created. The link can be also manually created by 'v.external' module."
 msgstr ""
 
 #: ../vector/v.out.postgis/args.c:53
@@ -32953,9 +31337,8 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.out.postgis/args.c:66
-#, fuzzy
 msgid "Do not export attribute table"
-msgstr "Nevytvářet atributovou tabulku"
+msgstr "Neexportovat atributovou tabulku"
 
 #: ../vector/v.out.postgis/args.c:72
 #, fuzzy
@@ -33028,6 +31411,7 @@ msgid "%d feature (%s type) written to <%s>."
 msgid_plural "%d features (%s type) written to <%s>."
 msgstr[0] "%d prvků zapsáno do '%s'."
 msgstr[1] "%d prvků zapsáno do '%s'."
+msgstr[2] ""
 
 #: ../vector/v.out.postgis/main.c:173
 #, fuzzy, c-format
@@ -33035,6 +31419,7 @@ msgid "%d primitive written to <%s>."
 msgid_plural "%d primitives written to <%s>."
 msgstr[0] "%d prvků zapsáno do '%s'."
 msgstr[1] "%d prvků zapsáno do '%s'."
+msgstr[2] ""
 
 #: ../vector/v.out.postgis/main.c:212
 #, fuzzy, c-format
@@ -33053,16 +31438,12 @@ msgstr "Spojení s databází nebylo definováno pro vrstvu %d "
 
 #: ../vector/v.out.postgis/table.c:50
 #, c-format
-msgid ""
-"Invalid FID column (%s). FID column must be integer. Please specify "
-"different FID column by 'options=\"FID=<name>\"'."
+msgid "Invalid FID column (%s). FID column must be integer. Please specify different FID column by 'options=\"FID=<name>\"'."
 msgstr ""
 
 #: ../vector/v.out.postgis/table.c:57
 #, c-format
-msgid ""
-"Column (%s) already exists in the table. Please specify different geometry "
-"column by 'options=\"GEOMETRY_NAME=<name>\"'."
+msgid "Column (%s) already exists in the table. Please specify different geometry column by 'options=\"GEOMETRY_NAME=<name>\"'."
 msgstr ""
 
 #: ../vector/v.out.postgis/create.c:28
@@ -33164,10 +31545,8 @@ msgid "Opaque to vector (only relevant if background color is selected)"
 msgstr "Neprůhlednost (relevantní pouze pokud je zvolena barva pozadí)"
 
 #: ../vector/v.label/main.c:251
-msgid ""
-"size and space options vary significantly which may lead to crummy output"
-msgstr ""
-"volby velikost a tvar jsou podstatně různé což může vést ke špatnému výstupu"
+msgid "size and space options vary significantly which may lead to crummy output"
+msgstr "volby velikost a tvar jsou podstatně různé což může vést ke špatnému výstupu"
 
 #: ../vector/v.label/main.c:259
 msgid "Too many parameters for <reference>"
@@ -33206,9 +31585,7 @@ msgid "Modifier for z coordinates"
 msgstr "Posun hodnot souřadnice z"
 
 #: ../vector/v.out.pov/main.c:75
-msgid ""
-"This string is appended to each z coordinate. Examples: '*10', '+1000', "
-"'*10+100', '*exaggeration'"
+msgid "This string is appended to each z coordinate. Examples: '*10', '+1000', '*10+100', '*exaggeration'"
 msgstr ""
 
 #: ../vector/v.out.pov/main.c:82
@@ -33229,6 +31606,7 @@ msgid "%d feature written."
 msgid_plural "%d features written."
 msgstr[0] "%d prvků zapsáno"
 msgstr[1] "%d prvků zapsáno"
+msgstr[2] ""
 
 #: ../vector/v.info/main.c:42
 #, fuzzy
@@ -33475,12 +31853,8 @@ msgstr "Vypíše historii rastrové mapy namísto infa a exitu"
 
 #: ../vector/v.info/parse.c:30
 #, fuzzy
-msgid ""
-"Print types/names of table columns for specified layer instead of info and "
-"exit"
-msgstr ""
-"Vypíše typy/názvy sloupců tabulky pro specifikovanou vrstvu namísto infa a "
-"exitu"
+msgid "Print types/names of table columns for specified layer instead of info and exit"
+msgstr "Vypíše typy/názvy sloupců tabulky pro specifikovanou vrstvu namísto infa a exitu"
 
 #: ../vector/v.info/parse.c:35
 #, fuzzy
@@ -33565,8 +31939,7 @@ msgstr "Sloupec <%s> nebyl nalezen"
 #: ../vector/v.to.rast/vect2rast.c:74
 #, c-format
 msgid "Column type (%s) not supported (did you mean 'labelcolumn'?)"
-msgstr ""
-"Typ sloupce (%s) není podporován (myslíte sloupec s popisky 'labelcolumn'?)"
+msgstr "Typ sloupce (%s) není podporován (myslíte sloupec s popisky 'labelcolumn'?)"
 
 #: ../vector/v.to.rast/vect2rast.c:78 ../vector/v.to.rast/support.c:146
 #: ../vector/v.to.rast/support.c:305 ../vector/v.to.rast/support.c:458
@@ -33611,8 +31984,7 @@ msgstr "Vytvářím podpůrné soubory pro rastrovou mapu..."
 
 #: ../vector/v.to.rast/vect2rast.c:199
 msgid "Color can be updated from database only if use=attr"
-msgstr ""
-"Barva může být aktualizována z databáze pouze jesstli je použití=atribut"
+msgstr "Barva může být aktualizována z databáze pouze jesstli je použití=atribut"
 
 #: ../vector/v.to.rast/vect2rast.c:219
 #, c-format
@@ -33675,8 +32047,7 @@ msgstr "Nebyl vybán žádný záznam"
 #: ../vector/v.to.rast/support.c:176
 #, c-format
 msgid "Error in color definition column (%s) with cat %d: colorstring [%s]"
-msgstr ""
-"Chyba ve sloupci s definicí barvy (%s), kategorie %d: barevný řetězec [%s]"
+msgstr "Chyba ve sloupci s definicí barvy (%s), kategorie %d: barevný řetězec [%s]"
 
 #: ../vector/v.to.rast/support.c:179
 msgid "Color set to [200:200:200]"
@@ -33745,9 +32116,7 @@ msgstr "Jméno sloupce s definicí barvy (se vstupem RRR:GGG:BBB)"
 
 #: ../vector/v.to.rast/main.c:99
 msgid "Name of column used as raster category labels"
-msgstr ""
-"Název sloupce atributu, který má být použit jaok štítky pro kategorie "
-"rastrové mapy"
+msgstr "Název sloupce atributu, který má být použit jaok štítky pro kategorie rastrové mapy"
 
 #: ../vector/v.to.rast/main.c:108
 #, fuzzy
@@ -33760,8 +32129,7 @@ msgid "Create densified lines (default: thin lines)"
 msgstr "Délka stránky (výchozí: %d řádků)"
 
 #: ../vector/v.to.rast/main.c:122
-msgid ""
-"All cells touched by the line will be set, not only those on the render path"
+msgid "All cells touched by the line will be set, not only those on the render path"
 msgstr ""
 
 #: ../vector/v.to.rast/main.c:132
@@ -33799,12 +32167,8 @@ msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr "Vytvoří cyklus spojující dané uzly (Problém obchodního cestujícího)."
 
 #: ../vector/v.net.salesman/main.c:132
-msgid ""
-"Note that TSP is NP-hard, heuristic algorithm is used by this module and "
-"created cycle may be sub optimal"
-msgstr ""
-"Problém obchodního cestujícího (TSP) je NP-těžká úloha, v tomto modulu je "
-"použit heuristický algoritmus, vytvoření cyklu nemusí být optimální řešení"
+msgid "Note that TSP is NP-hard, heuristic algorithm is used by this module and created cycle may be sub optimal"
+msgstr "Problém obchodního cestujícího (TSP) je NP-těžká úloha, v tomto modulu je použit heuristický algoritmus, vytvoření cyklu nemusí být optimální řešení"
 
 #: ../vector/v.net.salesman/main.c:151
 msgid "Node layer (used for cities)"
@@ -33818,9 +32182,7 @@ msgstr "EXPERIMENTÁLNÍ:Sloupec cen (pohyb ve směru zpět)."
 #: ../vector/v.net.salesman/main.c:169
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
-msgstr ""
-"Název výstupního souboru uchovávajícího posloupnost uzlů (pro standardní "
-"výstup použijte \"-\")"
+msgstr "Název výstupního souboru uchovávajícího posloupnost uzlů (pro standardní výstup použijte \"-\")"
 
 #: ../vector/v.net.salesman/main.c:174
 msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
@@ -34051,14 +32413,12 @@ msgstr "Akce, mající být vykonána"
 #: ../vector/v.category/main.c:115
 #, fuzzy
 msgid "add a category to features without category in the given layer"
-msgstr ""
-"Vypsat min imální rozměry regionu vybraného vektorového prvku místo atributů"
+msgstr "Vypsat min imální rozměry regionu vybraného vektorového prvku místo atributů"
 
 #: ../vector/v.category/main.c:116
 #, fuzzy
 msgid "delete category (cat=-1 to delete all categories of given layer)"
-msgstr ""
-"Vypsat min imální rozměry regionu vybraného vektorového prvku místo atributů"
+msgstr "Vypsat min imální rozměry regionu vybraného vektorového prvku místo atributů"
 
 #: ../vector/v.category/main.c:117
 msgid "change layer number (e.g. layer=3,1 changes layer 3 to layer 1)"
@@ -34069,9 +32429,7 @@ msgid "add the value specified by cat option to the current category value"
 msgstr ""
 
 #: ../vector/v.category/main.c:119
-msgid ""
-"copy values from one layer to another (e.g. layer=1,2,3 copies values from "
-"layer 1 to layer 2 and 3)"
+msgid "copy values from one layer to another (e.g. layer=1,2,3 copies values from layer 1 to layer 2 and 3)"
 msgstr ""
 
 #: ../vector/v.category/main.c:120
@@ -34080,9 +32438,7 @@ msgid "print report (statistics), in shell style: layer type count min max"
 msgstr "Formát: vrstva typ počet min max"
 
 #: ../vector/v.category/main.c:121
-msgid ""
-"print category values, layers are separated by '|', more cats in the same "
-"layer are separated by '/'"
+msgid "print category values, layers are separated by '|', more cats in the same layer are separated by '/'"
 msgstr ""
 
 #: ../vector/v.category/main.c:122
@@ -34103,8 +32459,7 @@ msgid "Do not copy attribute table(s)"
 msgstr "Nekopírovat atributové tabulky"
 
 #: ../vector/v.category/main.c:160
-msgid ""
-"Database connection and attribute tables for concerned layers are not changed"
+msgid "Database connection and attribute tables for concerned layers are not changed"
 msgstr "Databázové spojení a tabulka atributů pro danou vrstvu se nezměnnily"
 
 #: ../vector/v.category/main.c:186 ../vector/v.category/main.c:250
@@ -34115,12 +32470,8 @@ msgid "Unable to open vector map <%s> at topological level %d"
 msgstr "Vektorová mapa <%s> nemohla být otevřena na úrovní topologie %d"
 
 #: ../vector/v.category/main.c:208
-msgid ""
-"Invalid category number (must be equal to or greater than 0). Normally "
-"category number starts at 1."
-msgstr ""
-"Špatné číslo kategorie (musí být větší nebo rovno 0) běžně čísla kategorie "
-"začínají od 1."
+msgid "Invalid category number (must be equal to or greater than 0). Normally category number starts at 1."
+msgstr "Špatné číslo kategorie (musí být větší nebo rovno 0) běžně čísla kategorie začínají od 1."
 
 #: ../vector/v.category/main.c:217
 #, fuzzy, c-format
@@ -34128,6 +32479,7 @@ msgid "%d error in id option"
 msgid_plural "%d errors in id option"
 msgstr[0] "%d chyb ve volbě id"
 msgstr[1] "%d chyb ve volbě id"
+msgstr[2] ""
 
 #: ../vector/v.category/main.c:228
 msgid "Output vector wasn't entered"
@@ -34162,6 +32514,7 @@ msgid "%d new centroid placed in output map"
 msgid_plural "%d new centroids placed in output map"
 msgstr[0] "%d nové centroidy byly zapsány do výstupního souboru"
 msgstr[1] "%d nové centroidy byly zapsány do výstupního souboru"
+msgstr[2] ""
 
 #: ../vector/v.category/main.c:670
 msgid "Layer/table"
@@ -34209,6 +32562,7 @@ msgid "%d feature modified."
 msgid_plural "%d features modified."
 msgstr[0] "%d prvků změněno."
 msgstr[1] "%d prvků změněno."
+msgstr[2] ""
 
 #: ../vector/v.colors/scan_cats.c:43 ../vector/v.colors/scan_attr.c:77
 #, c-format
@@ -34351,9 +32705,7 @@ msgstr ""
 #: ../vector/v.colors/main.c:217
 #, fuzzy, c-format
 msgid "One of -%c, -%c or %s=, %s= or %s= must be specified"
-msgstr ""
-"Jeden z přepínačů \"-i\" nebo \"-r\" nebo voleb \"color\", \"rast\" nebo "
-"\"rules\" MUSÍ být zadána!"
+msgstr "Jeden z přepínačů \"-i\" nebo \"-r\" nebo voleb \"color\", \"rast\" nebo \"rules\" MUSÍ být zadána!"
 
 #: ../vector/v.colors/main.c:222
 #, fuzzy, c-format
@@ -34406,9 +32758,7 @@ msgstr "Tabulka barev pro rastrovou mapu <%s> nastavena na %s"
 #: ../vector/v.colors/make_colors.c:14
 #, fuzzy, c-format
 msgid "Color table '%s' is not supported for floating point attributes"
-msgstr ""
-"Barevná tabulka 'random' není podporována pro rastrové mapy s desetinnou "
-"čárkou"
+msgstr "Barevná tabulka 'random' není podporována pro rastrové mapy s desetinnou čárkou"
 
 #: ../vector/v.colors/make_colors.c:18 ../vector/v.colors/make_colors.c:25
 #, fuzzy, c-format
@@ -34432,12 +32782,8 @@ msgstr "Vytvořit Steinerův strom pro síť a dané koncové body"
 
 #: ../vector/v.net.steiner/main.c:351
 #, fuzzy
-msgid ""
-"Note that 'Minimum Steiner Tree' problem is NP-hard and heuristic algorithm "
-"is used in this module so the result may be sub optimal."
-msgstr ""
-"'Minimální Steinerův strom' je NP-těžká úloha, v tomto module je použit "
-"heuristický algoritmus, výsledek nemusí být optimální"
+msgid "Note that 'Minimum Steiner Tree' problem is NP-hard and heuristic algorithm is used in this module so the result may be sub optimal."
+msgstr "'Minimální Steinerův strom' je NP-těžká úloha, v tomto module je použit heuristický algoritmus, výsledek nemusí být optimální"
 
 #: ../vector/v.net.steiner/main.c:372
 msgid "Node layer (used for terminals)"
@@ -34471,10 +32817,8 @@ msgstr "Konec na uzlu [%d] nemůže být spojen s koncem na uzlu [%d]"
 
 #: ../vector/v.net.steiner/main.c:533
 #, c-format
-msgid ""
-"[%d] (not reachable) nodes removed from list of Steiner point candidates"
-msgstr ""
-"[%d] (nedosažitelné) uzly odstraněny ze seznamu kandidátů na Steinerovy body"
+msgid "[%d] (not reachable) nodes removed from list of Steiner point candidates"
+msgstr "[%d] (nedosažitelné) uzly odstraněny ze seznamu kandidátů na Steinerovy body"
 
 #: ../vector/v.net.steiner/main.c:538
 #, c-format
@@ -34541,9 +32885,7 @@ msgid "Column name to upload points count"
 msgstr "Jméno sloupce nebo výraz"
 
 #: ../vector/v.vect.stats/main.c:191
-msgid ""
-"Column to hold points count, must be of type integer, will be created if not "
-"existing"
+msgid "Column to hold points count, must be of type integer, will be created if not existing"
 msgstr ""
 
 #: ../vector/v.vect.stats/main.c:198
@@ -34552,9 +32894,7 @@ msgid "Column name to upload statistics"
 msgstr "Jméno sloupce nebo výraz"
 
 #: ../vector/v.vect.stats/main.c:200
-msgid ""
-"Column to hold statistics, must be of type double, will be created if not "
-"existing"
+msgid "Column to hold statistics, must be of type double, will be created if not existing"
 msgstr ""
 
 #: ../vector/v.vect.stats/main.c:207
@@ -34641,26 +32981,17 @@ msgstr "Nekompatibilní typ sloupce <%s>"
 
 #: ../vector/v.transform/trans_digit.c:112
 #, c-format
-msgid ""
-"Unable to select value for category %d from table <%s>, column <%s>. For "
-"category %d using default transformation parameter %.3f."
-msgstr ""
-"Nelze vybrat hodnotu kategorie %d z tabulky <%s>, sloupec <%s>. Pro "
-"kategorie %d použiji přednastavený parametr transformace %.3f."
+msgid "Unable to select value for category %d from table <%s>, column <%s>. For category %d using default transformation parameter %.3f."
+msgstr "Nelze vybrat hodnotu kategorie %d z tabulky <%s>, sloupec <%s>. Pro kategorie %d použiji přednastavený parametr transformace %.3f."
 
 #: ../vector/v.transform/trans_digit.c:123
 msgid "No category number defined. Using default transformation parameters."
-msgstr ""
-"Není definována žádné číslo kategorie. používám přednastavené parametry "
-"transformace."
+msgstr "Není definována žádné číslo kategorie. používám přednastavené parametry transformace."
 
 #: ../vector/v.transform/main.c:74
 #, fuzzy
-msgid ""
-"Performs an affine transformation (shift, scale and rotate) on vector map."
-msgstr ""
-"Vykonat afinní transformaci ( posun, měřítko aotočení, nebo GPC) vektorové "
-"mapy."
+msgid "Performs an affine transformation (shift, scale and rotate) on vector map."
+msgstr "Vykonat afinní transformaci ( posun, měřítko aotočení, nebo GPC) vektorové mapy."
 
 #: ../vector/v.transform/main.c:79
 msgid "Shift all z values to bottom=0"
@@ -34734,9 +33065,8 @@ msgstr "Neznámá operace"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Nelze zacyklit řetězec ve sloupci: [%s]"
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
 msgstr "Převádím prvky..."
 
 #: ../vector/v.transform/main.c:290
@@ -34785,14 +33115,8 @@ msgstr "distribuce třídy"
 
 #: ../vector/v.perturb/main.c:91
 #, fuzzy
-msgid ""
-"If the distribution is uniform, only one parameter, the maximum, is needed. "
-"For a normal distribution, two parameters, the mean and standard deviation, "
-"are required."
-msgstr ""
-"Parametr(y) rozdělení. Pokud je rozdělení uniformní, je potřebazadat pouze "
-"maximální parametr. Pro normální rozdělení je potřeba zadatstřední hodnotu a "
-"směrodatnou odchylku."
+msgid "If the distribution is uniform, only one parameter, the maximum, is needed. For a normal distribution, two parameters, the mean and standard deviation, are required."
+msgstr "Parametr(y) rozdělení. Pokud je rozdělení uniformní, je potřebazadat pouze maximální parametr. Pro normální rozdělení je potřeba zadatstřední hodnotu a směrodatnou odchylku."
 
 #: ../vector/v.perturb/main.c:101
 msgid "Minimum deviation in map units"
@@ -34858,8 +33182,7 @@ msgstr "-s a -n se navzájem vylučují"
 #: ../vector/v.what/main.c:166
 #, fuzzy, c-format
 msgid "Number of given vector maps (%d) differs from number of layers (%d)"
-msgstr ""
-"Číslo sloupce definovaného (%d) nesouhlasí s počtem sloupců (%d) na vstupu."
+msgstr "Číslo sloupce definovaného (%d) nesouhlasí s počtem sloupců (%d) na vstupu."
 
 #: ../vector/v.what/main.c:175
 #, c-format
@@ -35072,12 +33395,8 @@ msgid "triangulation"
 msgstr "vektor, transformace"
 
 #: ../vector/v.delaunay/main.c:88
-msgid ""
-"Creates a Delaunay triangulation from an input vector map containing points "
-"or centroids."
-msgstr ""
-"Vytváří Delaunayovu triangulaci ze vstupní vektorové mapy obsahující body "
-"nebo centroidy."
+msgid "Creates a Delaunay triangulation from an input vector map containing points or centroids."
+msgstr "Vytváří Delaunayovu triangulaci ze vstupní vektorové mapy obsahující body nebo centroidy."
 
 #: ../vector/v.delaunay/main.c:98 ../vector/v.normal/main.c:96
 msgid "Use only points in current region"
@@ -35170,8 +33489,7 @@ msgstr "vytvořit rovnoběřky jako bufer"
 #: ../vector/v.what.rast3/main.c:71
 #, fuzzy
 msgid "Uploads 3D raster values at positions of vector points to the table."
-msgstr ""
-"Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
+msgstr "Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
 
 #: ../vector/v.what.rast3/main.c:81
 #, fuzzy
@@ -35199,6 +33517,7 @@ msgid "%d point outside current region was skipped"
 msgid_plural "%d points outside current region were skipped"
 msgstr[0] "%d bodů je mimo současný region, vynechávám"
 msgstr[1] "%d bodů je mimo současný region, vynechávám"
+msgstr[2] ""
 
 #: ../vector/v.what.rast3/main.c:219
 #, fuzzy, c-format
@@ -35206,6 +33525,7 @@ msgid "%d point without category was skipped"
 msgid_plural "%d points without category were skipped"
 msgstr[0] "%d bodů bez kategorie, vynechávám"
 msgstr[1] "%d bodů bez kategorie, vynechávám"
+msgstr[2] ""
 
 #: ../vector/v.what.rast3/main.c:258
 #, c-format
@@ -35218,6 +33538,7 @@ msgid "%d category loaded from table"
 msgid_plural "%d categories loaded from table"
 msgstr[0] "%d kategorií bylo načteno z tabulky"
 msgstr[1] "%d kategorií bylo načteno z tabulky"
+msgstr[2] ""
 
 #: ../vector/v.what.rast3/main.c:331
 #, fuzzy, c-format
@@ -35225,6 +33546,7 @@ msgid "%d category loaded from vector"
 msgid_plural "%d categories loaded from vector"
 msgstr[0] "%d kategorií bylo načteno z vektorové mapy"
 msgstr[1] "%d kategorií bylo načteno z vektorové mapy"
+msgstr[2] ""
 
 #: ../vector/v.what.rast3/main.c:334
 #, fuzzy, c-format
@@ -35232,6 +33554,7 @@ msgid "%d category from vector missing in table"
 msgid_plural "%d categories from vector missing in table"
 msgstr[0] "%d kategorií z vektorové mapy chybí v tabulce"
 msgstr[1] "%d kategorií z vektorové mapy chybí v tabulce"
+msgstr[2] ""
 
 #: ../vector/v.what.rast3/main.c:338
 #, fuzzy, c-format
@@ -35239,6 +33562,7 @@ msgid "%d duplicate category in vector"
 msgid_plural "%d duplicate categories in vector"
 msgstr[0] "%d duplicitních kategorií ve vektorové mapě"
 msgstr[1] "%d duplicitních kategorií ve vektorové mapě"
+msgstr[2] ""
 
 #: ../vector/v.what.rast3/main.c:342
 #, fuzzy, c-format
@@ -35246,6 +33570,7 @@ msgid "%d update error"
 msgid_plural "%d update errors"
 msgstr[0] "%d chyb při aktualizaci"
 msgstr[1] "%d chyb při aktualizaci"
+msgstr[2] ""
 
 #: ../vector/v.what.rast3/main.c:346
 #, fuzzy, c-format
@@ -35253,6 +33578,7 @@ msgid "%d record updated."
 msgid_plural "%d records updated."
 msgstr[0] "%d záznamů aktualizováno"
 msgstr[1] "%d záznamů aktualizováno"
+msgstr[2] ""
 
 #: ../vector/v.net.centrality/main.c:98
 #, fuzzy
@@ -35260,9 +33586,7 @@ msgid "centrality measures"
 msgstr "Výpočet polohy středu..."
 
 #: ../vector/v.net.centrality/main.c:100
-msgid ""
-"Computes degree, centrality, betweeness, closeness and eigenvector "
-"centrality measures in the network."
+msgid "Computes degree, centrality, betweeness, closeness and eigenvector centrality measures in the network."
 msgstr ""
 
 #: ../vector/v.net.centrality/main.c:148
@@ -35323,8 +33647,7 @@ msgstr "Zapisuji data do tabulky..."
 
 #: ../vector/v.what.rast/main.c:78
 msgid "Uploads raster values at positions of vector points to the table."
-msgstr ""
-"Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
+msgstr "Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
 
 #: ../vector/v.what.rast/main.c:92
 msgid "Name of existing raster map to be queried"
@@ -35345,9 +33668,7 @@ msgstr "Typ rastru je celé číslo, typ sloupce je float"
 
 #: ../vector/v.what.rast/main.c:178
 msgid "Raster type is float and column type is integer, some data lost!!"
-msgstr ""
-"Typ rastru je float a typ sloupce je celé číslo, některá data mohou být "
-"ztracena!!"
+msgstr "Typ rastru je float a typ sloupce je celé číslo, některá data mohou být ztracena!!"
 
 #: ../vector/v.what.rast/main.c:245
 #, fuzzy, c-format
@@ -35397,9 +33718,7 @@ msgstr "%d záznamů aktualizováno"
 #: ../vector/v.out.ascii/args.c:31
 #, fuzzy
 msgid "Name for output ASCII file or ASCII vector name if '-o' is defined"
-msgstr ""
-"Cesta k výslednému souboru ASCII nebo jmenéno ASCII vektoru, pokud je zadána "
-"volba '-o'."
+msgstr "Cesta k výslednému souboru ASCII nebo jmenéno ASCII vektoru, pokud je zadána volba '-o'."
 
 #: ../vector/v.out.ascii/args.c:38
 msgid "Name of attribute column(s) to be exported (point mode)"
@@ -35449,9 +33768,7 @@ msgid "Exports a vector map to a GRASS ASCII vector representation."
 msgstr "Převede GRASS binární vektorovou mapu do formátu GRASS ASCII."
 
 #: ../vector/v.out.ascii/main.c:52
-msgid ""
-"By default only features with category are exported. To export all features "
-"use 'layer=-1'."
+msgid "By default only features with category are exported. To export all features use 'layer=-1'."
 msgstr ""
 
 #: ../vector/v.out.ascii/main.c:60
@@ -35471,9 +33788,7 @@ msgstr "'output' musí být zadán, pokud chcete zapsat starou verzi"
 
 #: ../vector/v.out.ascii/main.c:80
 #, fuzzy, c-format
-msgid ""
-"Unable to open vector map <%s> at topology level. Areas will not be "
-"processed."
+msgid "Unable to open vector map <%s> at topology level. Areas will not be processed."
 msgstr "Nelze otevřít vektorový soubor <%s> v úrovni topologie %d"
 
 #: ../vector/v.out.ascii/main.c:107
@@ -35482,6 +33797,7 @@ msgid "%d error in <%s> option"
 msgid_plural "%d errors in <%s> option"
 msgstr[0] "%d chyb ve volbě id"
 msgstr[1] "%d chyb ve volbě id"
+msgstr[2] ""
 
 #: ../vector/v.out.ascii/main.c:141
 msgid "dig_att file already exist"
@@ -35513,20 +33829,13 @@ msgid "An error occurred, nothing to be exported"
 msgstr "Žádné prvky nejsou vybrány, není co editovat"
 
 #: ../vector/v.net.distance/main.c:67
-msgid ""
-"Computes shortest distance via the network between the given sets of "
-"features."
+msgid "Computes shortest distance via the network between the given sets of features."
 msgstr "Počítá nejkratší vzdálenost po síti mezi danými skupinami prvků"
 
 #: ../vector/v.net.distance/main.c:70
 #, fuzzy
-msgid ""
-"Finds the shortest paths from each 'from' point to the nearest 'to' feature "
-"and various information about this relation are uploaded to the attribute "
-"table."
-msgstr ""
-"Nalezne nejkratší cesty z bodu 'od' ('from') do každého prvku 'do' ('to')a "
-"různé informace o této relaci jsou nahrány do atributové tabulky."
+msgid "Finds the shortest paths from each 'from' point to the nearest 'to' feature and various information about this relation are uploaded to the attribute table."
+msgstr "Nalezne nejkratší cesty z bodu 'od' ('from') do každého prvku 'do' ('to')a různé informace o této relaci jsou nahrány do atributové tabulky."
 
 #: ../vector/v.net.distance/main.c:98
 #, fuzzy
@@ -35578,16 +33887,12 @@ msgstr "WHERE podmínky SQL dotazu pro prvky 'do' ('to') beze slova 'where'"
 #: ../vector/v.net.distance/main.c:219
 #, c-format
 msgid "No 'from' features selected. Please check options '%s', '%s', '%s'."
-msgstr ""
-"Nebyly vybrány žádné prvky 'od' ('from'). Prosím, zkontrolujte možnosti'%s', "
-"'%s', '%s'."
+msgstr "Nebyly vybrány žádné prvky 'od' ('from'). Prosím, zkontrolujte možnosti'%s', '%s', '%s'."
 
 #: ../vector/v.net.distance/main.c:226
 #, c-format
 msgid "No 'to' features selected. Please check options '%s', '%s', '%s'."
-msgstr ""
-"Nebyly vybrány žádné prvky 'do' ('to'). Prosím, zkontrolujte možnosti'%s', "
-"'%s', '%s'."
+msgstr "Nebyly vybrány žádné prvky 'do' ('to'). Prosím, zkontrolujte možnosti'%s', '%s', '%s'."
 
 #: ../vector/v.net.distance/main.c:235
 #, fuzzy
@@ -35600,6 +33905,7 @@ msgid "%d 'from' feature was not reachable"
 msgid_plural "%d 'from' features were not reachable"
 msgstr[0] "%d prvky 'od' ('from') nejsou dosažitelné"
 msgstr[1] "%d prvky 'od' ('from') nejsou dosažitelné"
+msgstr[2] ""
 
 #: ../vector/v.net.allpairs/main.c:65
 msgid "Computes the shortest path between all pairs of nodes in the network."
@@ -35620,7 +33926,8 @@ msgstr "Shromažďuji nejkratší cesty ... "
 msgid "Writing shortest paths..."
 msgstr "Zapisuji nejkratší cesty..."
 
-#: ../vector/v.lrs/v.lrs.where/main.c:58 ../vector/v.lrs/v.lrs.label/main.c:103
+#: ../vector/v.lrs/v.lrs.where/main.c:58
+#: ../vector/v.lrs/v.lrs.label/main.c:103
 #: ../vector/v.lrs/v.lrs.create/main.c:122
 #: ../vector/v.lrs/v.lrs.segment/main.c:72
 #, fuzzy
@@ -35628,14 +33935,11 @@ msgid "linear reference system"
 msgstr "Lineární referenční systém"
 
 #: ../vector/v.lrs/v.lrs.where/main.c:61
-msgid ""
-"Finds line id and real km+offset for given points in vector map using linear "
-"reference system."
-msgstr ""
-"Nalezne id linie a skutečnou délku + odchylku pro dané body ve vektorové "
-"mapě používající lineární referenční systém."
+msgid "Finds line id and real km+offset for given points in vector map using linear reference system."
+msgstr "Nalezne id linie a skutečnou délku + odchylku pro dané body ve vektorové mapě používající lineární referenční systém."
 
-#: ../vector/v.lrs/v.lrs.where/main.c:66 ../vector/v.lrs/v.lrs.label/main.c:109
+#: ../vector/v.lrs/v.lrs.where/main.c:66
+#: ../vector/v.lrs/v.lrs.label/main.c:109
 #: ../vector/v.lrs/v.lrs.create/main.c:128
 #: ../vector/v.lrs/v.lrs.segment/main.c:79
 msgid "Input vector map containing lines"
@@ -35645,7 +33949,8 @@ msgstr "Vstupní mapa obsahující linie"
 msgid "Input vector map containing points"
 msgstr "Vstupní vektorová mapa obsahující body"
 
-#: ../vector/v.lrs/v.lrs.where/main.c:75 ../vector/v.lrs/v.lrs.label/main.c:118
+#: ../vector/v.lrs/v.lrs.where/main.c:75
+#: ../vector/v.lrs/v.lrs.label/main.c:118
 #: ../vector/v.lrs/v.lrs.create/main.c:147
 #: ../vector/v.lrs/v.lrs.segment/main.c:88
 msgid "Line layer"
@@ -35656,13 +33961,15 @@ msgstr "Vrstva linie"
 msgid "Point layer"
 msgstr "vrstva bodů"
 
-#: ../vector/v.lrs/v.lrs.where/main.c:86 ../vector/v.lrs/v.lrs.label/main.c:124
+#: ../vector/v.lrs/v.lrs.where/main.c:86
+#: ../vector/v.lrs/v.lrs.label/main.c:124
 #: ../vector/v.lrs/v.lrs.create/main.c:207
 #: ../vector/v.lrs/v.lrs.segment/main.c:94
 msgid "Driver name for reference system table"
 msgstr "Jméno ovladače pro tabulku referenčního systému"
 
-#: ../vector/v.lrs/v.lrs.where/main.c:94 ../vector/v.lrs/v.lrs.label/main.c:132
+#: ../vector/v.lrs/v.lrs.where/main.c:94
+#: ../vector/v.lrs/v.lrs.label/main.c:132
 #: ../vector/v.lrs/v.lrs.create/main.c:215
 #: ../vector/v.lrs/v.lrs.segment/main.c:102
 msgid "Database name for reference system table"
@@ -35692,6 +33999,7 @@ msgid "[%d] point read from input"
 msgid_plural "[%d] points read from input"
 msgstr[0] "[%d] bodů načteno ze vstupu"
 msgstr[1] "[%d] bodů načteno ze vstupu"
+msgstr[2] ""
 
 #: ../vector/v.lrs/v.lrs.where/main.c:225
 #, fuzzy, c-format
@@ -35699,6 +34007,7 @@ msgid "[%d] position found"
 msgid_plural "[%d] positions found"
 msgstr[0] "[%d] pozic nalezeno"
 msgstr[1] "[%d] pozic nalezeno"
+msgstr[2] ""
 
 #: ../vector/v.lrs/v.lrs.where/main.c:229
 #, fuzzy, c-format
@@ -35706,6 +34015,7 @@ msgid "[%d] point outside threshold"
 msgid_plural "[%d] points outside threshold"
 msgstr[0] "[%d] bodů mimo mezní hodnotu"
 msgstr[1] "[%d] bodů mimo mezní hodnotu"
+msgstr[2] ""
 
 #: ../vector/v.lrs/v.lrs.where/main.c:233
 #, fuzzy, c-format
@@ -35713,6 +34023,7 @@ msgid "[%d] point - no record found"
 msgid_plural "[%d] points - no record found"
 msgstr[0] "[%d] bodů  - nenalezen žádný záznam"
 msgstr[1] "[%d] bodů  - nenalezen žádný záznam"
+msgstr[2] ""
 
 #: ../vector/v.lrs/v.lrs.where/main.c:237
 #, fuzzy, c-format
@@ -35720,6 +34031,7 @@ msgid "[%d] point - too many records found"
 msgid_plural "[%d] points - too many records found"
 msgstr[0] "[%d] bodů - nalezeno příliš mnoh záznamů"
 msgstr[1] "[%d] bodů - nalezeno příliš mnoh záznamů"
+msgstr[2] ""
 
 #: ../vector/v.lrs/v.lrs.label/main.c:105
 #, fuzzy
@@ -35816,10 +34128,8 @@ msgid "Column containing milepost position for the beginning of next segment"
 msgstr "Sloupec obsahující pozici milníku (MP) pro začátek dalšího segmentu"
 
 #: ../vector/v.lrs/v.lrs.create/main.c:182
-msgid ""
-"Column containing offset from milepost for the beginning of next segment"
-msgstr ""
-"Sloupec obsahující odchylku od milníku (MP) pro zažátek dalšího segmentu"
+msgid "Column containing offset from milepost for the beginning of next segment"
+msgstr "Sloupec obsahující odchylku od milníku (MP) pro zažátek dalšího segmentu"
 
 #: ../vector/v.lrs/v.lrs.create/main.c:191
 msgid "Column containing milepost position for the end of previous segment"
@@ -35886,8 +34196,7 @@ msgstr "Nelze vybrat atributy bodu z <%s>"
 #: ../vector/v.lrs/v.lrs.create/main.c:490
 #, c-format
 msgid "Milepost (start) %f+%f used as %f+%f (change MP to integer)"
-msgstr ""
-"Milník(MP) (počátek) %f+%f použit jako  %f+%f (změní MP na typ integer)"
+msgstr "Milník(MP) (počátek) %f+%f použit jako  %f+%f (změní MP na typ integer)"
 
 #: ../vector/v.lrs/v.lrs.create/main.c:512
 #, c-format
@@ -35952,12 +34261,8 @@ msgid "Building topology for error (err) map..."
 msgstr "Buduji topologii pro vektorovou mapu s chybami ..."
 
 #: ../vector/v.lrs/v.lrs.segment/main.c:75
-msgid ""
-"Creates points/segments from input lines, linear reference system and "
-"positions read from stdin or a file."
-msgstr ""
-"Vytvoří body/segmenty ze vstupních linií, lineární referenční systém a "
-"umístění jsou čteny ze standartního vstupu nebo ze souboru."
+msgid "Creates points/segments from input lines, linear reference system and positions read from stdin or a file."
+msgstr "Vytvoří body/segmenty ze vstupních linií, lineární referenční systém a umístění jsou čteny ze standartního vstupu nebo ze souboru."
 
 #: ../vector/v.lrs/v.lrs.segment/main.c:83
 msgid "Output vector map where segments will be written"
@@ -35965,8 +34270,7 @@ msgstr "Výstupní mapa, do které budou zapsány segmenty"
 
 #: ../vector/v.lrs/v.lrs.segment/main.c:114
 msgid "Name of file containing segment rules. If not given, read from stdin."
-msgstr ""
-"Název souboru s pravidly rozdělení , pokud nezadáno, čte se standardní vstup"
+msgstr "Název souboru s pravidly rozdělení , pokud nezadáno, čte se standardní vstup"
 
 #: ../vector/v.lrs/v.lrs.segment/main.c:184
 #: ../vector/v.lrs/v.lrs.segment/main.c:238
@@ -36086,6 +34390,7 @@ msgid "%d lost"
 msgid_plural "%d lost"
 msgstr[0] ""
 msgstr[1] ""
+msgstr[2] ""
 
 #. GTC %s will be replaced with a message about lost points.
 #: ../vector/v.lrs/v.lrs.segment/main.c:363
@@ -36094,6 +34399,7 @@ msgid "[%d] point written to output map (%s)"
 msgid_plural "[%d] points written to output map (%s)"
 msgstr[0] "[%d] bodů zapsáno do výstupní mapy (%d ztraceno)"
 msgstr[1] "[%d] bodů zapsáno do výstupní mapy (%d ztraceno)"
+msgstr[2] ""
 
 #: ../vector/v.lrs/v.lrs.segment/main.c:368
 #, fuzzy, c-format
@@ -36101,6 +34407,7 @@ msgid "[%d] line read from input"
 msgid_plural "[%d] lines read from input"
 msgstr[0] "[%d] linií načteno ze vstupu"
 msgstr[1] "[%d] linií načteno ze vstupu"
+msgstr[2] ""
 
 #. GTC %s will be replaced with a message about lost lines.
 #: ../vector/v.lrs/v.lrs.segment/main.c:375
@@ -36109,6 +34416,7 @@ msgid "[%d] line written to output map (%s)"
 msgid_plural "[%d] lines written to output map (%s)"
 msgstr[0] "[%d] linií zapsáno do výstupní mapy (%d ztraceno)"
 msgstr[1] "[%d] linií zapsáno do výstupní mapy (%d ztraceno)"
+msgstr[2] ""
 
 #: ../vector/v.external.out/status.c:25
 #, fuzzy, c-format
@@ -36146,9 +34454,7 @@ msgstr "Chyba při zápisu souboru se segmenty"
 
 #: ../vector/v.external.out/link.c:26 ../vector/v.out.ogr/main.c:96
 #, c-format
-msgid ""
-"Data source starts with \"PG:\" prefix, expecting \"PostgreSQL\" format (\"%s"
-"\" given)"
+msgid "Data source starts with \"PG:\" prefix, expecting \"PostgreSQL\" format (\"%s\" given)"
 msgstr ""
 
 #: ../vector/v.external.out/link.c:96
@@ -36248,15 +34554,11 @@ msgid "Current output format for vectors: %s"
 msgstr "Nebyla zadána žádná rastrová nebo vektorová mapa pro výstup"
 
 #: ../vector/v.external.out/format.c:22 ../vector/v.external/main.c:74
-msgid ""
-"Environment variable GRASS_VECTOR_OGR defined, but GRASS is compiled with "
-"OGR support. Using GRASS-PostGIS data driver instead."
+msgid "Environment variable GRASS_VECTOR_OGR defined, but GRASS is compiled with OGR support. Using GRASS-PostGIS data driver instead."
 msgstr ""
 
 #: ../vector/v.external.out/format.c:27 ../vector/v.external/main.c:79
-msgid ""
-"GRASS is not compiled with PostgreSQL support. Using OGR-PostgreSQL driver "
-"instead of native GRASS-PostGIS data driver."
+msgid "GRASS is not compiled with PostgreSQL support. Using OGR-PostgreSQL driver instead of native GRASS-PostGIS data driver."
 msgstr ""
 
 #: ../vector/v.db.select/main.c:57
@@ -36268,10 +34570,8 @@ msgid "Output vertical record separator"
 msgstr "Výstupní vertikální oddělovač záznamů"
 
 #: ../vector/v.db.select/main.c:91
-msgid ""
-"Print minimal region extent of selected vector features instead of attributes"
-msgstr ""
-"Vypsat minimální rozměry regionu vybraného vektorového prvku místo atributů"
+msgid "Print minimal region extent of selected vector features instead of attributes"
+msgstr "Vypsat minimální rozměry regionu vybraného vektorového prvku místo atributů"
 
 #: ../vector/v.db.select/main.c:92
 msgid "Region"
@@ -36283,12 +34583,8 @@ msgstr "Vynechat atributy, které nejsou připojeny k prvkům"
 
 #: ../vector/v.db.select/main.c:148
 #, c-format
-msgid ""
-"Unable to open vector map <%s> at topology level. Flag '%c' requires "
-"topology level."
-msgstr ""
-"Nelze otevřít vektorovou mapu <%s> na úrovni topologie. Přepínač '%c' "
-"vyžaduje úroveň topologie."
+msgid "Unable to open vector map <%s> at topology level. Flag '%c' requires topology level."
+msgstr "Nelze otevřít vektorovou mapu <%s> na úrovni topologie. Přepínač '%c' vyžaduje úroveň topologie."
 
 #: ../vector/v.db.select/main.c:190
 msgid "Unable to open select cursor"
@@ -36310,12 +34606,8 @@ msgid "Unable to get bounding box of line %d"
 msgstr "Nelze získat okraj regionu pro linii %d"
 
 #: ../vector/v.lidar.growing/main.c:78
-msgid ""
-"Building contour determination and Region Growing algorithm for determining "
-"the building inside"
-msgstr ""
-"Hledání linií a algoritmus růstu regionu (Region Growing) pro nalezení "
-"vnitřků budov"
+msgid "Building contour determination and Region Growing algorithm for determining the building inside"
+msgstr "Hledání linií a algoritmus růstu regionu (Region Growing) pro nalezení vnitřků budov"
 
 #: ../vector/v.lidar.growing/main.c:83
 #, fuzzy
@@ -36572,9 +34864,7 @@ msgstr "Měřítkový faktor pro šipky (mapa mocnosti)"
 #: ../vector/v.sample/main.c:109
 #, fuzzy
 msgid "Sampled values will be multiplied by this factor"
-msgstr ""
-"Faktor měřítka pro hodnoty přečtené z rastrové mapy. Hodnoty budou tímto "
-"faktorem přenásobeny."
+msgstr "Faktor měřítka pro hodnoty přečtené z rastrové mapy. Hodnoty budou tímto faktorem přenásobeny."
 
 #: ../vector/v.sample/main.c:133 ../vector/v.reclass/main.c:128
 #: ../vector/v.surf.idw/read_sites.c:50
@@ -36585,8 +34875,7 @@ msgstr "Spojení s databází nebylo definováno pro vrstvu %d "
 #: ../vector/v.sample/main.c:148
 #, c-format
 msgid "Column type <%s> not supported (must be integer or double precision)"
-msgstr ""
-"Typ sloupce <%s> není podporován (musí být integer nebo double precision)"
+msgstr "Typ sloupce <%s> není podporován (musí být integer nebo double precision)"
 
 #: ../vector/v.sample/main.c:154
 #, fuzzy, c-format
@@ -36594,6 +34883,7 @@ msgid "%d record selected from table"
 msgid_plural "%d records selected from table"
 msgstr[0] "%d záznamů bylo vybráno z tabulky"
 msgstr[1] "%d záznamů bylo vybráno z tabulky"
+msgstr[2] ""
 
 #: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
 #, c-format
@@ -36614,9 +34904,7 @@ msgstr "Nelze vložit nový řádek: %s"
 #: ../vector/v.to.db/update.c:28 ../vector/v.to.db/update.c:32
 #, c-format
 msgid "Database connection not defined for layer %d. Use v.db.connect first."
-msgstr ""
-"Spojení s databází nebylo pro vrstvu <%d> definováno. Nejprve použijte v.db."
-"connect."
+msgstr "Spojení s databází nebylo pro vrstvu <%d> definováno. Nejprve použijte v.db.connect."
 
 #: ../vector/v.to.db/query.c:93
 msgid "Querying database... "
@@ -36624,19 +34912,13 @@ msgstr "Doztazuji se databáze ...."
 
 #: ../vector/v.to.db/query.c:108
 #, c-format
-msgid ""
-"Query for category '0' (no category) was not executed because of too many "
-"(%d) query categories. All later reported values for cat 0 are not valid."
-msgstr ""
-"Dotez pro kategorii '0' (žádná kategorie) nebyl vykonán díky mnoha (%d) "
-"dotazovaným kategoriím. Všechny další zprávy pro kategorii 0 nejsou platné."
+msgid "Query for category '0' (no category) was not executed because of too many (%d) query categories. All later reported values for cat 0 are not valid."
+msgstr "Dotez pro kategorii '0' (žádná kategorie) nebyl vykonán díky mnoha (%d) dotazovaným kategoriím. Všechny další zprávy pro kategorii 0 nejsou platné."
 
 #: ../vector/v.to.db/query.c:145
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
-msgstr ""
-"Mnohonásobné výsledky dotazu, výstupní hodnota nastavena na NULL (kategorie "
-"[%d])"
+msgstr "Mnohonásobné výsledky dotazu, výstupní hodnota nastavena na NULL (kategorie [%d])"
 
 #: ../vector/v.to.db/query.c:152
 msgid "Unable to fetch record"
@@ -36649,9 +34931,7 @@ msgstr "Nahraje data do databáze na základě vektorových prvků."
 
 #: ../vector/v.to.db/main.c:48
 #, c-format
-msgid ""
-"Vector map <%s> not found in the current mapset. Unable to modify vector "
-"maps from different mapsets."
+msgid "Vector map <%s> not found in the current mapset. Unable to modify vector maps from different mapsets."
 msgstr ""
 
 #: ../vector/v.to.db/update.c:83
@@ -36776,15 +35056,11 @@ msgid "line/boundary end point coordinates, X,Y or X,Y,Z"
 msgstr ""
 
 #: ../vector/v.to.db/parse.c:84
-msgid ""
-"categories of areas on the left and right side of the boundary, "
-"'query_layer' is used for area category"
+msgid "categories of areas on the left and right side of the boundary, 'query_layer' is used for area category"
 msgstr ""
 
 #: ../vector/v.to.db/parse.c:86
-msgid ""
-"result of a database query for all records of the geometry(or geometries) "
-"from table specified by 'query_layer' option"
+msgid "result of a database query for all records of the geometry(or geometries) from table specified by 'query_layer' option"
 msgstr ""
 
 #: ../vector/v.to.db/parse.c:88
@@ -36793,14 +35069,11 @@ msgid "slope steepness of vector line or boundary"
 msgstr "Výstupní mapa: faktor sklonu svahu (S) pro USLE"
 
 #: ../vector/v.to.db/parse.c:89
-msgid ""
-"line sinuousity, calculated as line length / distance between end points"
+msgid "line sinuousity, calculated as line length / distance between end points"
 msgstr ""
 
 #: ../vector/v.to.db/parse.c:90
-msgid ""
-"line azimuth, calculated as angle between North direction and endnode "
-"direction at startnode"
+msgid "line azimuth, calculated as angle between North direction and endnode direction at startnode"
 msgstr ""
 
 #: ../vector/v.to.db/parse.c:94
@@ -36875,11 +35148,8 @@ msgstr "Spočítá základní statistiku z GRASS  rastrové mapy."
 
 #: ../vector/v.univar/main.c:99
 #, fuzzy
-msgid ""
-"Variance and standard deviation is calculated only for points if specified."
-msgstr ""
-"Počítá základní statistiky pro atributy. Variance a standardní odchylka jsou "
-"počítány pouze pokud jsou zadány body."
+msgid "Variance and standard deviation is calculated only for points if specified."
+msgstr "Počítá základní statistiky pro atributy. Variance a standardní odchylka jsou počítány pouze pokud jsou zadány body."
 
 #: ../vector/v.univar/main.c:134
 msgid "Weigh by line length or area size"
@@ -36896,17 +35166,12 @@ msgid "Geometry distances are not supported for areas. Use '%s' instead."
 msgstr ""
 
 #: ../vector/v.univar/main.c:195
-msgid ""
-"Incompatible vector type(s) specified, only number of features, minimum, "
-"maximum and range can be calculated"
-msgstr ""
-"Nekompatibilní typy vektorů. Spočítány mohou být pouze počet prvků, minimum, "
-"maximum a rozptyl."
+msgid "Incompatible vector type(s) specified, only number of features, minimum, maximum and range can be calculated"
+msgstr "Nekompatibilní typy vektorů. Spočítány mohou být pouze počet prvků, minimum, maximum a rozptyl."
 
 #: ../vector/v.univar/main.c:200
 msgid "Extended statistics is currently supported only for points/centroids"
-msgstr ""
-"Rozšížené statistiky jsou v současnosti podporovány pouze pro body/centroidy"
+msgstr "Rozšížené statistiky jsou v současnosti podporovány pouze pro body/centroidy"
 
 #: ../vector/v.univar/main.c:225
 #, fuzzy
@@ -36982,30 +35247,20 @@ msgid "Finds shortest path on vector network."
 msgstr "Nalézá nejkratší cestu ve vektorové síti."
 
 #: ../vector/v.net.path/main.c:66
-msgid ""
-"Name of file containing start and end points. If not given, read from stdin"
-msgstr ""
-"Název souboru obsahujícího počáteční a koncové body. Pokud nezadáno, čte se "
-"standardní vstup"
+msgid "Name of file containing start and end points. If not given, read from stdin"
+msgstr "Název souboru obsahujícího počáteční a koncové body. Pokud nezadáno, čte se standardní vstup"
 
 #: ../vector/v.net.path/main.c:95
 msgid "Maximum distance to the network"
 msgstr "Maximální vzdálenost od bodu k síti"
 
 #: ../vector/v.net.path/main.c:96
-msgid ""
-"If start/end are given as coordinates. If start/end point is outside this "
-"threshold, the path is not found and error message is printed. To speed up "
-"the process, keep this value as low as possible."
-msgstr ""
-"Pokud jsou počátek/konec zadány souřadnicemi. Pokud je počátek/konec mimo "
-"prahovou hodnotu, cesta nebude nalezena a vytiskne se chybová zpráva. Pro "
-"zrychlení procesu udržujte tuto hodnotu co nejnižší."
+msgid "If start/end are given as coordinates. If start/end point is outside this threshold, the path is not found and error message is printed. To speed up the process, keep this value as low as possible."
+msgstr "Pokud jsou počátek/konec zadány souřadnicemi. Pokud je počátek/konec mimo prahovou hodnotu, cesta nebude nalezena a vytiskne se chybová zpráva. Pro zrychlení procesu udržujte tuto hodnotu co nejnižší."
 
 #: ../vector/v.net.path/main.c:109
 msgid "Write output as original input segments, not each path as one line."
-msgstr ""
-"Zapiš výstup jako části původního vstupu, ne každou cestu jako jednu linii."
+msgstr "Zapiš výstup jako části původního vstupu, ne každou cestu jako jednu linii."
 
 #: ../vector/v.kcv/main.c:60
 msgid "Randomly partition points into test/train sets."
@@ -37136,20 +35391,11 @@ msgstr "Šířka rámečku (pouze pro výstup ps.map)"
 #: ../vector/v.surf.rst/main.c:145
 #, fuzzy
 msgid "Performs surface interpolation from vector points map by splines."
-msgstr ""
-"Interpolace povchu z vektorových bodových dat na základě metody Inverse "
-"Distance Squared Weighting."
+msgstr "Interpolace povchu z vektorových bodových dat na základě metody Inverse Distance Squared Weighting."
 
 #: ../vector/v.surf.rst/main.c:147
-msgid ""
-"Spatial approximation and topographic analysis from given point or isoline "
-"data in vector format to floating point raster format using regularized "
-"spline with tension."
-msgstr ""
-"Prostorová aproximace a topografická analýza ze zadaného souboru "
-"obsahujícího buďbodová data nebo isolinie ve vektorovém formátu. Vzniklé "
-"mapy jsou rastrové s plovoucídesetinnou čárkou za použití  regularizovaného "
-"spline s tenzí a vyhlezním."
+msgid "Spatial approximation and topographic analysis from given point or isoline data in vector format to floating point raster format using regularized spline with tension."
+msgstr "Prostorová aproximace a topografická analýza ze zadaného souboru obsahujícího buďbodová data nebo isolinie ve vektorovém formátu. Vzniklé mapy jsou rastrové s plovoucídesetinnou čárkou za použití  regularizovaného spline s tenzí a vyhlezním."
 
 #: ../vector/v.surf.rst/main.c:154
 msgid "Perform cross-validation procedure without raster approximation"
@@ -37162,14 +35408,10 @@ msgstr "Použij napětí závislé na měřítku"
 #: ../vector/v.surf.rst/main.c:178 ../vector/v.surf.bspline/main.c:118
 #, fuzzy
 msgid "Name of the attribute column with values to be used for approximation"
-msgstr ""
-"Název sloupce atributu, jehož hodnoty mají být použity při interpolaci "
-"(pokud layer>0)"
+msgstr "Název sloupce atributu, jehož hodnoty mají být použity při interpolaci (pokud layer>0)"
 
 #: ../vector/v.surf.rst/main.c:179 ../vector/v.surf.idw/main.c:102
-msgid ""
-"If not given and input is 2D vector map then category values are used. If "
-"input is 3D vector map then z-coordinates are used."
+msgid "If not given and input is 2D vector map then category values are used. If input is 3D vector map then z-coordinates are used."
 msgstr ""
 
 #: ../vector/v.surf.rst/main.c:189
@@ -37185,8 +35427,7 @@ msgstr "Název výstupní rastrové mapy profilových křivostí"
 #: ../vector/v.surf.rst/main.c:239
 #, fuzzy
 msgid "Name for output vector map showing quadtree segmentation"
-msgstr ""
-"Výstupní vektorový soubor ukazující segmentaci kvadratické stromové struktury"
+msgstr "Výstupní vektorový soubor ukazující segmentaci kvadratické stromové struktury"
 
 #: ../vector/v.surf.rst/main.c:246
 #, fuzzy
@@ -37203,10 +35444,8 @@ msgid "Name of the attribute column with smoothing parameters"
 msgstr "Název sloupce atributu, obsahujícího vyhlazovací parametry (smoothing)"
 
 #: ../vector/v.surf.rst/main.c:308
-msgid ""
-"Maximum distance between points on isoline (to insert additional points)"
-msgstr ""
-"Maximální vzdálenost mezi body na isolinii (budou vloženy doplňující body)"
+msgid "Maximum distance between points on isoline (to insert additional points)"
+msgstr "Maximální vzdálenost mezi body na isolinii (budou vloženy doplňující body)"
 
 #: ../vector/v.surf.rst/main.c:317
 msgid "Conversion factor for values used for approximation"
@@ -37223,20 +35462,12 @@ msgid "You are not outputting any raster or vector maps"
 msgstr "Nebyla zadána žádná rastrová nebo vektorová mapa pro výstup"
 
 #: ../vector/v.surf.rst/main.c:425
-msgid ""
-"Both cross-validation options (-c flag and cvdev vector output) must be "
-"specified"
-msgstr ""
-"Obě volby křížové validace musí být použity (přepínač -c a výstupní "
-"vektorový soubor cvdev)"
+msgid "Both cross-validation options (-c flag and cvdev vector output) must be specified"
+msgstr "Obě volby křížové validace musí být použity (přepínač -c a výstupní vektorový soubor cvdev)"
 
 #: ../vector/v.surf.rst/main.c:428
-msgid ""
-"The cross-validation cannot be computed simultaneously with output raster or "
-"devi file"
-msgstr ""
-"Křížová validace nemůže být počítána spolu s výstupní rastrovou mapou nebo "
-"souborem s odchylkami (devi)"
+msgid "The cross-validation cannot be computed simultaneously with output raster or devi file"
+msgstr "Křížová validace nemůže být počítána spolu s výstupní rastrovou mapou nebo souborem s odchylkami (devi)"
 
 #: ../vector/v.surf.rst/main.c:446
 msgid "Using anisotropy - both theta and scalex have to be specified"
@@ -37251,9 +35482,7 @@ msgid "The computation will last too long - lower npmin is suggested"
 msgstr "Doba výpočtu bude příliš dlouhá - doporučuji snížit hodnotu npmin"
 
 #: ../vector/v.surf.rst/main.c:541 ../vector/v.surf.bspline/main.c:272
-msgid ""
-"Input is 3D: using attribute values instead of z-coordinates for "
-"approximation"
+msgid "Input is 3D: using attribute values instead of z-coordinates for approximation"
 msgstr ""
 
 #: ../vector/v.surf.rst/main.c:543 ../vector/v.surf.bspline/main.c:274
@@ -37272,9 +35501,7 @@ msgstr "Převodní koeficient pro hodnoty použité na aproximaci"
 
 #: ../vector/v.surf.rst/main.c:662
 #, fuzzy, c-format
-msgid ""
-"Processing all selected output files will require %d bytes of disk space for "
-"temp files"
+msgid "Processing all selected output files will require %d bytes of disk space for temp files"
 msgstr ""
 "Zpracování všech vybraných výstupních souborů\n"
 "bude vyžadovat %d bytů místa na disku pro dočasné soubory"
@@ -37299,12 +35526,8 @@ msgid "attributes"
 msgstr "Atributy"
 
 #: ../vector/v.reclass/main.c:71
-msgid ""
-"Changes vector category values for an existing vector map according to "
-"results of SQL queries or a value in attribute table column."
-msgstr ""
-"Změnit hodnoty kategorií pro existující vektorovou vrstvu podle výsledků SQL "
-"dotazu nebo podle hodnot sloupce v tabulce."
+msgid "Changes vector category values for an existing vector map according to results of SQL queries or a value in attribute table column."
+msgstr "Změnit hodnoty kategorií pro existující vektorovou vrstvu podle výsledků SQL dotazu nebo podle hodnot sloupce v tabulce."
 
 #: ../vector/v.reclass/main.c:88
 msgid "The name of the column whose values are to be used as new categories"
@@ -37657,6 +35880,7 @@ msgid "One record selected from table"
 msgid_plural "%d records selected from table"
 msgstr[0] "%d záznamů bylo vybráno z tabulky"
 msgstr[1] "%d záznamů bylo vybráno z tabulky"
+msgstr[2] ""
 
 #: ../vector/v.surf.idw/read_sites.c:107
 #: ../vector/v.surf.bspline/crosscorr.c:220
@@ -37670,15 +35894,12 @@ msgid "%ld point loaded"
 msgid_plural "%ld points loaded"
 msgstr[0] "%d bodů načteno"
 msgstr[1] "%d bodů načteno"
+msgstr[2] ""
 
 #: ../vector/v.surf.idw/main.c:92
 #, fuzzy
-msgid ""
-"Provides surface interpolation from vector point data by Inverse Distance "
-"Squared Weighting."
-msgstr ""
-"Interpolace povchu z vektorových bodových dat na základě metody Inverse "
-"Distance Squared Weighting."
+msgid "Provides surface interpolation from vector point data by Inverse Distance Squared Weighting."
+msgstr "Interpolace povchu z vektorových bodových dat na základě metody Inverse Distance Squared Weighting."
 
 #: ../vector/v.surf.idw/main.c:101
 #, fuzzy
@@ -37703,12 +35924,8 @@ msgid "Don't index points by raster cell"
 msgstr "Neindexovat body podle rastrových buněk "
 
 #: ../vector/v.surf.idw/main.c:129
-msgid ""
-"Slower but uses less memory and includes points from outside region in the "
-"interpolation"
-msgstr ""
-"Pomalejší, menší nároky na paměť, zahrnuje do procesu interpolace i body "
-"mimo region)"
+msgid "Slower but uses less memory and includes points from outside region in the interpolation"
+msgstr "Pomalejší, menší nároky na paměť, zahrnuje do procesu interpolace i body mimo region)"
 
 #: ../vector/v.surf.idw/main.c:139
 #, fuzzy, c-format
@@ -37735,10 +35952,6 @@ msgstr "|Sloupec musí být číselnéh typu"
 msgid "Reading categories..."
 msgstr "Přidávám kategorie..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Převádím prvky..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -37854,17 +36067,12 @@ msgstr "Chyba při interpretaci parametru vrstva jako celé číslo"
 
 #: ../vector/v.out.vtk/main.c:183
 #, c-format
-msgid ""
-"Export of areas requires topology. Please adjust '%s' option or rebuild "
-"topology."
+msgid "Export of areas requires topology. Please adjust '%s' option or rebuild topology."
 msgstr ""
 
 #: ../vector/v.out.vtk/writeVTK.c:196
-msgid ""
-"No coordinates to generate the output! Maybe an empty vector type chosen?"
-msgstr ""
-"Nejsou vybrány žádné souřadnice pro vytvoření výstupu! Možná byl vybrán typ "
-"prázdné vektorové mapy?"
+msgid "No coordinates to generate the output! Maybe an empty vector type chosen?"
+msgstr "Nejsou vybrány žádné souřadnice pro vytvoření výstupu! Možná byl vybrán typ prázdné vektorové mapy?"
 
 #: ../vector/v.out.vtk/writeVTK.c:585 ../vector/v.out.ogr/attrb.c:48
 #, c-format
@@ -37894,8 +36102,7 @@ msgstr "Chyba při čtení ASCII souboru: '%s'"
 #: ../vector/v.to.points/main.c:61
 #, fuzzy
 msgid "Creates points along input lines in new vector map with 2 layers."
-msgstr ""
-"Vytvoří body podél vstupních linií v nové vektorové mapě o dvou vrstvách."
+msgstr "Vytvoří body podél vstupních linií v nové vektorové mapě o dvou vrstvách."
 
 #: ../vector/v.to.points/main.c:79
 #, fuzzy
@@ -37919,9 +36126,7 @@ msgstr "Nelze kopírovat tabullku <%s>"
 
 #: ../vector/v.to.points/main.c:232
 #, c-format
-msgid ""
-"%d features without category in layer <%d> skipped. Note that features "
-"without category (usually boundaries) are not skipped when '%s=-1' is given."
+msgid "%d features without category in layer <%d> skipped. Note that features without category (usually boundaries) are not skipped when '%s=-1' is given."
 msgstr ""
 
 #: ../vector/v.to.points/main.c:282
@@ -37945,6 +36150,7 @@ msgid "Found %d point/centroid in <%s>, but at least 2 are needed"
 msgid_plural "Found %d points/centroids in <%s>, but at least 2 are needed"
 msgstr[0] ""
 msgstr[1] ""
+msgstr[2] ""
 
 #: ../vector/v.voronoi/sw_main.c:410 ../vector/v.voronoi/sw_main.c:436
 msgid "All boundaries in the list should be valid"
@@ -37961,6 +36167,7 @@ msgid "Found %d vertex in <%s>, but at least 2 are needed"
 msgid_plural "Found %d vertices in <%s>, but at least 2 are needed"
 msgstr[0] ""
 msgstr[1] ""
+msgstr[2] ""
 
 #: ../vector/v.voronoi/clean_topo.c:20
 #, fuzzy
@@ -37983,12 +36190,8 @@ msgstr ""
 
 #: ../vector/v.voronoi/main.c:127
 #, fuzzy
-msgid ""
-"Creates a Voronoi diagram in current region from an input vector map "
-"containing points or centroids."
-msgstr ""
-"Vytvořit Voronoi diagram ze vstupní vektorové vrstvy obsahující body nebo "
-"centroidy."
+msgid "Creates a Voronoi diagram in current region from an input vector map containing points or centroids."
+msgstr "Vytvořit Voronoi diagram ze vstupní vektorové vrstvy obsahující body nebo centroidy."
 
 #: ../vector/v.voronoi/main.c:141
 #, fuzzy
@@ -37996,9 +36199,7 @@ msgid "Factor for output smoothness"
 msgstr "Název výstupního souboru"
 
 #: ../vector/v.voronoi/main.c:142
-msgid ""
-"Applies to input areas only. Smaller values produce smoother output but can "
-"cause numerical instability."
+msgid "Applies to input areas only. Smaller values produce smoother output but can cause numerical instability."
 msgstr ""
 
 #: ../vector/v.voronoi/main.c:149
@@ -38007,9 +36208,7 @@ msgid "Maximum dangle length of skeletons"
 msgstr "maximální délka segmentu v síti"
 
 #: ../vector/v.voronoi/main.c:150
-msgid ""
-"Applies only to skeleton extraction. Default = -1 will extract the center "
-"line."
+msgid "Applies only to skeleton extraction. Default = -1 will extract the center line."
 msgstr ""
 
 #: ../vector/v.voronoi/main.c:156
@@ -38035,6 +36234,7 @@ msgid "Voronoi triangulation for %d point..."
 msgid_plural "Voronoi triangulation for %d points..."
 msgstr[0] "Delaunay triangulace...."
 msgstr[1] "Delaunay triangulace...."
+msgstr[2] ""
 
 #: ../vector/v.voronoi/main.c:239
 msgid "Thin skeletons ..."
@@ -38076,6 +36276,7 @@ msgid "%d line or boundaries found in input vector map"
 msgid_plural "%d lines or boundaries found in input vector map"
 msgstr[0] "%d linií nebo hranic nalezeno ve vektorové mapě <%s@%s>"
 msgstr[1] "%d linií nebo hranic nalezeno ve vektorové mapě <%s@%s>"
+msgstr[2] ""
 
 #: ../vector/v.build.polylines/main.c:234
 #, fuzzy, c-format
@@ -38083,11 +36284,11 @@ msgid "%d polyline stored in output vector map"
 msgid_plural "%d polylines stored in output vector map"
 msgstr[0] "%d zdvojených linií uloženo ve vektorové mapě <%s@%s>"
 msgstr[1] "%d zdvojených linií uloženo ve vektorové mapě <%s@%s>"
+msgstr[2] ""
 
 #: ../vector/v.db.connect/main.c:57
 msgid "Prints/sets DB connection for a vector map to attribute table."
-msgstr ""
-"Vytiskne/nastaví připojení databáze pro vektorovou mapu k atributové tabulce"
+msgstr "Vytiskne/nastaví připojení databáze pro vektorovou mapu k atributové tabulce"
 
 #: ../vector/v.db.connect/main.c:79
 #, fuzzy
@@ -38140,17 +36341,13 @@ msgstr "Vektorová mapa <%s> je spojena:"
 
 #: ../vector/v.db.connect/main.c:197
 #, fuzzy, c-format
-msgid ""
-"layer <%d/%s> table <%s> in database <%s> through driver <%s> with key <%s>\n"
-msgstr ""
-"vrstva <%d> tabulka<%s> v databázi <%s> přes ovladač <%s> s klíčem <%s>\n"
+msgid "layer <%d/%s> table <%s> in database <%s> through driver <%s> with key <%s>\n"
+msgstr "vrstva <%d> tabulka<%s> v databázi <%s> přes ovladač <%s> s klíčem <%s>\n"
 
 #: ../vector/v.db.connect/main.c:203
 #, c-format
-msgid ""
-"layer <%d> table <%s> in database <%s> through driver <%s> with key <%s>\n"
-msgstr ""
-"vrstva <%d> tabulka<%s> v databázi <%s> přes ovladač <%s> s klíčem <%s>\n"
+msgid "layer <%d> table <%s> in database <%s> through driver <%s> with key <%s>\n"
+msgstr "vrstva <%d> tabulka<%s> v databázi <%s> přes ovladač <%s> s klíčem <%s>\n"
 
 #: ../vector/v.db.connect/main.c:266
 #, c-format
@@ -38164,20 +36361,12 @@ msgstr "Tabulka <%s> v databázi <%s> neexistuje"
 
 #: ../vector/v.db.connect/main.c:302 ../vector/v.db.connect/main.c:320
 #, c-format
-msgid ""
-"The table <%s> is now part of vector map <%s> and may be deleted or "
-"overwritten by GRASS modules"
-msgstr ""
-"Tabulka <%s> je nyní součástí vektorové mapy <%s> a může být smazána "
-"nebopřepsána některým z modulů GRASSu"
+msgid "The table <%s> is now part of vector map <%s> and may be deleted or overwritten by GRASS modules"
+msgstr "Tabulka <%s> je nyní součástí vektorové mapy <%s> a může být smazána nebopřepsána některým z modulů GRASSu"
 
 #: ../vector/v.db.connect/main.c:351
-msgid ""
-"For defining a new connection you have to specify these parameters: driver, "
-"database, table [, key [, layer]]"
-msgstr ""
-"Pro definici nového připojení musíte zadat tyto parametry: ovladač,databázi, "
-"tabulku [, klíč [, vrstvu]]"
+msgid "For defining a new connection you have to specify these parameters: driver, database, table [, key [, layer]]"
+msgstr "Pro definici nového připojení musíte zadat tyto parametry: ovladač,databázi, tabulku [, klíč [, vrstvu]]"
 
 #: ../vector/v.proj/main.c:70
 #, fuzzy
@@ -38218,9 +36407,7 @@ msgstr "Pouze 3D vektorové mapy"
 #: ../vector/v.proj/main.c:115
 #, fuzzy
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
-msgstr ""
-"Předpokládejme, že souřadnice z je výška nad elipsoidem a pokud možno, "
-"transformuj"
+msgstr "Předpokládejme, že souřadnice z je výška nad elipsoidem a pokud možno, transformuj"
 
 #: ../vector/v.proj/main.c:121
 msgid "Latlon output only, default is -180,180"
@@ -38283,21 +36470,15 @@ msgstr ""
 #: ../vector/v.patch/main.c:70
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
-msgstr ""
-"Vytvoří nový binární vektorovou mapu kombinací více vektorových vrstev."
+msgstr "Vytvoří nový binární vektorovou mapu kombinací více vektorových vrstev."
 
 #: ../vector/v.patch/main.c:81
-msgid ""
-"Name for output vector map where bounding boxes of input vector maps are "
-"written to"
-msgstr ""
-"Výstupní vektorová mapa, do které budou zapsány výběry vstupního vektoru"
+msgid "Name for output vector map where bounding boxes of input vector maps are written to"
+msgstr "Výstupní vektorová mapa, do které budou zapsány výběry vstupního vektoru"
 
 #: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
-msgstr ""
-"Přiložit soubory k existujícímu souboru (musí být aktivována volba přepsání)"
+msgid "Append files to existing file (overwriting existing files must be activated)"
+msgstr "Přiložit soubory k existujícímu souboru (musí být aktivována volba přepsání)"
 
 #: ../vector/v.patch/main.c:90
 msgid "Copy also attribute table"
@@ -38592,13 +36773,8 @@ msgstr "Převádím GRASS site na vektorovou mapu..."
 
 #: ../vector/v.neighbors/main.c:56
 #, fuzzy
-msgid ""
-"Makes each cell value a function of the attribute values assigned to the "
-"vector points or centroids around it, and stores new cell values in an "
-"output raster map."
-msgstr ""
-"Hodnota každé buňky v novém rastru bude funkcí hodnot kategorii sousedních "
-"buněk a bude uložena jako hodnota ve výstupní rastrové mapě."
+msgid "Makes each cell value a function of the attribute values assigned to the vector points or centroids around it, and stores new cell values in an output raster map."
+msgstr "Hodnota každé buňky v novém rastru bude funkcí hodnot kategorii sousedních buněk a bude uložena jako hodnota ve výstupní rastrové mapě."
 
 #: ../vector/v.neighbors/main.c:78
 #, fuzzy
@@ -38612,9 +36788,7 @@ msgstr "Vstupní vektorová mapa obsahující body"
 
 #: ../vector/v.neighbors/main.c:103
 #, c-format
-msgid ""
-"The search diameter %g is smaller than cell diagonal %g: some points could "
-"not be detected"
+msgid "The search diameter %g is smaller than cell diagonal %g: some points could not be detected"
 msgstr ""
 
 #: ../vector/v.edit/select.c:73
@@ -38633,6 +36807,7 @@ msgid "%d of %d feature selected from vector map <%s>"
 msgid_plural "%d of %d features selected from vector map <%s>"
 msgstr[0] "%d z %d prvků vybráno pro vektorovou mapu <%s>"
 msgstr[1] "%d z %d prvků vybráno pro vektorovou mapu <%s>"
+msgstr[2] ""
 
 #: ../vector/v.edit/select.c:496
 msgid "Layer must be > 0 for 'where'"
@@ -38696,8 +36871,7 @@ msgstr "Vybrat linie a vypsat jejich ID."
 #: ../vector/v.edit/args.c:68
 #, fuzzy
 msgid "Set new categories to selected vector features for defined layer"
-msgstr ""
-"Vypsat min imální rozměry regionu vybraného vektorového prvku místo atributů"
+msgstr "Vypsat min imální rozměry regionu vybraného vektorového prvku místo atributů"
 
 #: ../vector/v.edit/args.c:70
 msgid "Delete categories from selected vector features for defined layer"
@@ -38786,12 +36960,8 @@ msgid "Name of background vector map(s)"
 msgstr "Jméno pokladové mapy"
 
 #: ../vector/v.edit/args.c:176
-msgid ""
-"Snap added or modified features in the given threshold to the nearest "
-"existing feature"
-msgstr ""
-"Spojí přidané nebo upravené prvky v daném rozmezí vzdálenosti k nejbližšímu "
-"prvku"
+msgid "Snap added or modified features in the given threshold to the nearest existing feature"
+msgstr "Spojí přidané nebo upravené prvky v daném rozmezí vzdálenosti k nejbližšímu prvku"
 
 #: ../vector/v.edit/args.c:182
 msgid "Not apply snapping"
@@ -38857,12 +37027,8 @@ msgid "Unable to rewrite line %d"
 msgstr "Nelze přepsat lini %d"
 
 #: ../vector/v.edit/main.c:61
-msgid ""
-"Edits a vector map, allows adding, deleting and modifying selected vector "
-"features."
-msgstr ""
-"Edituje vektorovou mapu; umožňuje přidávání, mazání a změnu vybraných "
-"objektů ve vektorové mapě."
+msgid "Edits a vector map, allows adding, deleting and modifying selected vector features."
+msgstr "Edituje vektorovou mapu; umožňuje přidávání, mazání a změnu vybraných objektů ve vektorové mapě."
 
 #: ../vector/v.edit/main.c:70
 #, c-format
@@ -38875,21 +37041,13 @@ msgstr ""
 
 #: ../vector/v.edit/main.c:138
 #, fuzzy, c-format
-msgid ""
-"Unable to open vector map <%s> on topological level. Try to rebuild vector "
-"topology by v.build."
-msgstr ""
-"Nelze otevřít vektorovou mapu <%s> na úrovni topologie. Přepínač '%c' "
-"vyžaduje úroveň topologie."
+msgid "Unable to open vector map <%s> on topological level. Try to rebuild vector topology by v.build."
+msgstr "Nelze otevřít vektorovou mapu <%s> na úrovni topologie. Přepínač '%c' vyžaduje úroveň topologie."
 
 #: ../vector/v.edit/main.c:158
 #, c-format
-msgid ""
-"Unable to open vector map <%s> as the background map. It is given as vector "
-"map to be edited."
-msgstr ""
-"Nelze otevřít vektorovou mapu <%s> jako podkladovou mapu. Je vybrána jako "
-"mapa k editaci."
+msgid "Unable to open vector map <%s> as the background map. It is given as vector map to be edited."
+msgstr "Nelze otevřít vektorovou mapu <%s> jako podkladovou mapu. Je vybrána jako mapa k editaci."
 
 #: ../vector/v.edit/main.c:169
 #, c-format
@@ -38910,12 +37068,8 @@ msgstr "Žádné prvky nejsou vybrány, není co editovat"
 
 #: ../vector/v.edit/main.c:232
 #, c-format
-msgid ""
-"Vector map <%s> is not 3D. Tool '%s' requires 3D vector map. Please convert "
-"the vector map to 3D using e.g. %s."
-msgstr ""
-"vektorová mapa <%s> není 3D. Nástroj '%s' vyžaduje 3D vektorovou mapu. "
-"Prosím změňte vektor na 3D pomocí např.%s."
+msgid "Vector map <%s> is not 3D. Tool '%s' requires 3D vector map. Please convert the vector map to 3D using e.g. %s."
+msgstr "vektorová mapa <%s> není 3D. Nástroj '%s' vyžaduje 3D vektorovou mapu. Prosím změňte vektor na 3D pomocí např.%s."
 
 #: ../vector/v.edit/main.c:274
 #, fuzzy, c-format
@@ -38923,6 +37077,7 @@ msgid "%d feature added"
 msgid_plural "%d features added"
 msgstr[0] "%d prvků přidáno"
 msgstr[1] "%d prvků přidáno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:282 ../vector/v.edit/main.c:311
 #: ../vector/v.edit/main.c:322 ../vector/v.edit/main.c:354
@@ -38937,6 +37092,7 @@ msgid "%d boundary closed"
 msgid_plural "%d boundaries closed"
 msgstr[0] "%d hranic uzavřeno"
 msgstr[1] "%d hranic uzavřeno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:303
 #, fuzzy, c-format
@@ -38944,6 +37100,7 @@ msgid "%d feature deleted"
 msgid_plural "%d features deleted"
 msgstr[0] "%d prvků smazáno"
 msgstr[1] "%d prvků smazáno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:314
 #, fuzzy, c-format
@@ -38951,6 +37108,7 @@ msgid "%d feature moved"
 msgid_plural "%d features moved"
 msgstr[0] "%d prvků přesunuto"
 msgstr[1] "%d prvků přesunuto"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:325
 #, fuzzy, c-format
@@ -38958,6 +37116,7 @@ msgid "%d vertex moved"
 msgid_plural "%d vertices moved"
 msgstr[0] "%d lomových bodů přesunuto"
 msgstr[1] "%d lomových bodů přesunuto"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:331
 #, fuzzy, c-format
@@ -38965,6 +37124,7 @@ msgid "%d vertex added"
 msgid_plural "%d vertices added"
 msgstr[0] "%d lomových bodů přidáno"
 msgstr[1] "%d lomových bodů přidáno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:337
 #, fuzzy, c-format
@@ -38972,6 +37132,7 @@ msgid "%d vertex removed"
 msgid_plural "%d vertices removed"
 msgstr[0] "%d lomových bodů smazáno"
 msgstr[1] "%d lomových bodů smazáno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:349
 #, fuzzy, c-format
@@ -38979,6 +37140,7 @@ msgid "%d line broken"
 msgid_plural "%d lines broken"
 msgstr[0] "%d linií zlomeno"
 msgstr[1] "%d linií zlomeno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:357
 #, fuzzy, c-format
@@ -38986,6 +37148,7 @@ msgid "%d line connected"
 msgid_plural "%d lines connected"
 msgstr[0] "%d linií připojeno"
 msgstr[1] "%d linií připojeno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:363
 #, fuzzy, c-format
@@ -38993,6 +37156,7 @@ msgid "%d line merged"
 msgid_plural "%d lines merged"
 msgstr[0] "%d linií spojeno"
 msgstr[1] "%d linií spojeno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:372 ../vector/v.edit/main.c:378
 #, fuzzy, c-format
@@ -39000,15 +37164,12 @@ msgid "%d feature modified"
 msgid_plural "%d features modified"
 msgstr[0] "%d prvků změněno"
 msgstr[1] "%d prvků změněno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:385
 #, c-format
-msgid ""
-"Multiple background maps were given. Selected features will be copied only "
-"from vector map <%s>."
-msgstr ""
-"Bylo zadáno více map jako pozadí. Vybrané prvky se zkopírijí pouze z "
-"vektorové mapy <%s>."
+msgid "Multiple background maps were given. Selected features will be copied only from vector map <%s>."
+msgstr "Bylo zadáno více map jako pozadí. Vybrané prvky se zkopírijí pouze z vektorové mapy <%s>."
 
 #: ../vector/v.edit/main.c:395
 #, fuzzy, c-format
@@ -39016,6 +37177,7 @@ msgid "%d feature copied"
 msgid_plural "%d features copied"
 msgstr[0] "%d prvků zkopírováno"
 msgstr[1] "%d prvků zkopírováno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:406
 #, fuzzy, c-format
@@ -39023,6 +37185,7 @@ msgid "%d line flipped"
 msgid_plural "%d lines flipped"
 msgstr[0] "%d linií otočeno"
 msgstr[1] "%d linií otočeno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:427
 #, fuzzy, c-format
@@ -39030,6 +37193,7 @@ msgid "%d line labeled"
 msgid_plural "%d lines labeled"
 msgstr[0] "%d linií popsáno"
 msgstr[1] "%d linií popsáno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:436
 #, fuzzy, c-format
@@ -39037,6 +37201,7 @@ msgid "%d feature converted"
 msgid_plural "%d features converted"
 msgstr[0] "%d prvků přeměněno"
 msgstr[1] "%d prvků přeměněno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:441
 msgid "No feature modified"
@@ -39053,6 +37218,7 @@ msgid "%d area removed"
 msgid_plural "%d areas removed"
 msgstr[0] "%d lomových bodů smazáno"
 msgstr[1] "%d lomových bodů smazáno"
+msgstr[2] ""
 
 #: ../vector/v.edit/main.c:461
 msgid "Operation not implemented"
@@ -39060,8 +37226,7 @@ msgstr "Operace nebyla dosud implementována"
 
 #: ../vector/v.in.ogr/main.c:136
 msgid "Imports vector data into a GRASS vector map using OGR library."
-msgstr ""
-"Importuje vektorová data do vektorové vrstvy GRASSu za použití knihovny OGR."
+msgstr "Importuje vektorová data do vektorové vrstvy GRASSu za použití knihovny OGR."
 
 #: ../vector/v.in.ogr/main.c:142
 msgid "OGR datasource name"
@@ -39129,24 +37294,16 @@ msgid "import points as centroids"
 msgstr "Zmazat duplicitní centroidy     "
 
 #: ../vector/v.in.ogr/main.c:219
-msgid ""
-"List of column names to be used instead of original names, first is used for "
-"category column"
-msgstr ""
-"Seznam názvů sloupců, které budou použity namísto originálních názvů, první "
-"je požit pro sloupce s kategoriemi"
+msgid "List of column names to be used instead of original names, first is used for category column"
+msgstr "Seznam názvů sloupců, které budou použity namísto originálních názvů, první je požit pro sloupce s kategoriemi"
 
 #: ../vector/v.in.ogr/main.c:238
 #, fuzzy
 msgid "Name of column used for categories"
-msgstr ""
-"Název sloupce atributu, který má být použit jaok štítky pro kategorie "
-"rastrové mapy"
+msgstr "Název sloupce atributu, který má být použit jaok štítky pro kategorie rastrové mapy"
 
 #: ../vector/v.in.ogr/main.c:240
-msgid ""
-"If not given, categories are generated as unique values and stored in 'cat' "
-"column"
+msgid "If not given, categories are generated as unique values and stored in 'cat' column"
 msgstr ""
 
 #: ../vector/v.in.ogr/main.c:245
@@ -39176,14 +37333,11 @@ msgid "Change column names to lowercase characters"
 msgstr "Změnit názvy sloupců na malá písmena"
 
 #: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
-msgid ""
-"Create the location specified by the \"location\" parameter and exit. Do not "
-"import the vector data."
+msgid "Create the location specified by the \"location\" parameter and exit. Do not import the vector data."
 msgstr ""
 
 #: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
+msgid "Database not defined, please check default  connection settings by db.connect"
 msgstr ""
 
 #: ../vector/v.in.ogr/main.c:435
@@ -39193,15 +37347,12 @@ msgstr "Nelze otevřít zdroj dat <%s>"
 
 #: ../vector/v.in.ogr/main.c:440
 #, c-format
-msgid ""
-"Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
+msgid "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
 #: ../vector/v.in.ogr/main.c:445
 #, c-format
-msgid ""
-"Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
-">= 1.11"
+msgid "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL >= 1.11"
 msgstr ""
 
 #: ../vector/v.in.ogr/main.c:458
@@ -39255,8 +37406,7 @@ msgid "4 parameters required for 'spatial' parameter"
 msgstr " 4 parametry vyžadovány pro 'prostorový' parametr."
 
 #: ../vector/v.in.ogr/main.c:817
-msgid ""
-"The 'spatial' parameters do not overlap with OGR input. Nothing to import."
+msgid "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
 #: ../vector/v.in.ogr/main.c:851
@@ -39300,12 +37450,8 @@ msgstr "Zápis sloupce <%s> s pevnou délkou %d znaků (může být zkrácen)"
 
 #: ../vector/v.in.ogr/main.c:1115
 #, c-format
-msgid ""
-"Width for column %s set to 255 (was not specified by OGR), some strings may "
-"be truncated!"
-msgstr ""
-"Délka pro sloupec '%s' nastavena na 255 (nebyla specifikována OGR), některé "
-"řetězce mohou být zkráceny!"
+msgid "Width for column %s set to 255 (was not specified by OGR), some strings may be truncated!"
+msgstr "Délka pro sloupec '%s' nastavena na 255 (nebyla specifikována OGR), některé řetězce mohou být zkráceny!"
 
 #: ../vector/v.in.ogr/main.c:1127
 #, c-format
@@ -39367,15 +37513,8 @@ msgstr "Zapisuji centroidy ..."
 
 #: ../vector/v.in.ogr/main.c:1516
 #, c-format
-msgid ""
-"%d areas represent more (overlapping) features, because polygons overlap in "
-"input layer(s). Such areas are linked to more than 1 row in attribute table. "
-"The number of features for those areas is stored as category in layer %d"
-msgstr ""
-"%d ploch zastupuje více (překrývání) prvků, polygony ve vstupní vrstvě(ách) "
-"se totiž překrývají. Takovéto plochy jsou linkovány k více než 1 záznamu v "
-"atributové tabulce. Číslo prvků pro tyto plochy jsou uloženy jako kategorie "
-"ve vrstvě %d"
+msgid "%d areas represent more (overlapping) features, because polygons overlap in input layer(s). Such areas are linked to more than 1 row in attribute table. The number of features for those areas is stored as category in layer %d"
+msgstr "%d ploch zastupuje více (překrývání) prvků, polygony ve vstupní vrstvě(ách) se totiž překrývají. Takovéto plochy jsou linkovány k více než 1 záznamu v atributové tabulce. Číslo prvků pro tyto plochy jsou uloženy jako kategorie ve vrstvě %d"
 
 #: ../vector/v.in.ogr/main.c:1526
 #, fuzzy, c-format
@@ -39471,12 +37610,8 @@ msgstr "Nelze vyjmout tabulku: %s"
 
 #: ../vector/v.in.ogr/main.c:1709
 #, fuzzy
-msgid ""
-"Input data contains 3D features. Created vector is 2D only, disable -2 flag "
-"to import 3D vector."
-msgstr ""
-"Vstupní data obsahují 3D prvky. Vytvořená vektorová mapa je pouze 2D, pro "
-"import 3D vektorové mapy použijte přepínač -z."
+msgid "Input data contains 3D features. Created vector is 2D only, disable -2 flag to import 3D vector."
+msgstr "Vstupní data obsahují 3D prvky. Vytvořená vektorová mapa je pouze 2D, pro import 3D vektorové mapy použijte přepínač -z."
 
 #: ../vector/v.in.ogr/geom.c:76 ../vector/v.in.ogr/geom.c:261
 #: ../vector/v.in.ogr/geom.c:275 ../vector/v.in.ogr/geom.c:304
@@ -39584,6 +37719,7 @@ msgid "PostGIS database <%s> contains %d feature table:"
 msgid_plural "PostGIS database <%s> contains %d feature tables:"
 msgstr[0] ""
 msgstr[1] ""
+msgstr[2] ""
 
 #: ../vector/v.external/list.c:260
 #, fuzzy, c-format
@@ -39596,15 +37732,12 @@ msgid "Data source <%s> (format '%s') contains %d layer:"
 msgid_plural "Data source <%s> (format '%s') contains %d layers:"
 msgstr[0] "Zdroj dat obsahuje %d vrstev:"
 msgstr[1] "Zdroj dat obsahuje %d vrstev:"
+msgstr[2] ""
 
 #: ../vector/v.external/list.c:300
 #, fuzzy, c-format
-msgid ""
-"Unable to convert input map projection to GRASS format. Projection check "
-"cannot be provided for OGR layer <%s>"
-msgstr ""
-"Nelze převést vstupní mapovou projekci do formátu GRASSu; nelze vytvořit "
-"novou location."
+msgid "Unable to convert input map projection to GRASS format. Projection check cannot be provided for OGR layer <%s>"
+msgstr "Nelze převést vstupní mapovou projekci do formátu GRASSu; nelze vytvořit novou location."
 
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
@@ -39613,11 +37746,8 @@ msgstr "Neplatný řád rektifikace"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
-msgid ""
-"Creates a new pseudo-vector map as a link to an OGR-supported layer or a "
-"PostGIS feature table."
-msgstr ""
-"Vytvoří novou vektorovou mapu jako odkaz na OGR vrstvu (pouze pro čtení)."
+msgid "Creates a new pseudo-vector map as a link to an OGR-supported layer or a PostGIS feature table."
+msgstr "Vytvoří novou vektorovou mapu jako odkaz na OGR vrstvu (pouze pro čtení)."
 
 #: ../vector/v.external/main.c:160
 #, fuzzy, c-format
@@ -39641,14 +37771,12 @@ msgstr "Nelze vybrat artibuty"
 
 #: ../vector/v.extrude/main.c:72
 #, fuzzy
-msgid ""
-"Extrudes flat vector features to 3D vector features with defined height."
+msgid "Extrudes flat vector features to 3D vector features with defined height."
 msgstr "Vytvoří z plošného vektorového objektu 3D o zadané výšce"
 
 #: ../vector/v.extrude/main.c:74
 #, fuzzy
-msgid ""
-"Optionally the height can be derived from sampling of elevation raster map."
+msgid "Optionally the height can be derived from sampling of elevation raster map."
 msgstr "Převede 2D vektorovou vrstvu na 3D za pomoci rastru výšek nad mořem."
 
 #: ../vector/v.extrude/main.c:78
@@ -39689,9 +37817,7 @@ msgstr "Jeden z parametrů [%s] nebo [%s] musí být použit"
 
 #: ../vector/v.extrude/main.c:202
 #, c-format
-msgid ""
-"Invalid layer number (%d). Parameter '%s', '%s' or '%s' specified, assuming "
-"layer '1'."
+msgid "Invalid layer number (%d). Parameter '%s', '%s' or '%s' specified, assuming layer '1'."
 msgstr ""
 
 #: ../vector/v.extrude/main.c:234
@@ -39720,8 +37846,7 @@ msgstr "Nelze získat atributové data pro cat= %d"
 
 #: ../vector/v.extrude/main.c:293
 #, c-format
-msgid ""
-"Unable to fetch height from DB for area %d. Using default fixed height %f."
+msgid "Unable to fetch height from DB for area %d. Using default fixed height %f."
 msgstr ""
 
 #: ../vector/v.extrude/main.c:319
@@ -39732,14 +37857,11 @@ msgstr "Extrahuji plochy..."
 #: ../vector/v.extrude/main.c:340
 #, fuzzy, c-format
 msgid "No category defined for feature %d. Using default fixed height %f."
-msgstr ""
-"Není definována žádné číslo kategorie. používám přednastavené parametry "
-"transformace."
+msgstr "Není definována žádné číslo kategorie. používám přednastavené parametry transformace."
 
 #: ../vector/v.extrude/main.c:346
 #, c-format
-msgid ""
-"Unable to fetch height from DB for line %d. Using default fixed height %f."
+msgid "Unable to fetch height from DB for line %d. Using default fixed height %f."
 msgstr ""
 
 #: ../vector/v.extrude/main.c:364
@@ -39750,9 +37872,7 @@ msgstr "Kopíruji atributovou tabulku...."
 #: ../vector/v.to.rast3/main.c:51
 #, fuzzy
 msgid "Converts a vector map (only points) into a 3D raster map."
-msgstr ""
-"Převede binární GRASS vektorovou mapovou vrstvu (pouze body) na 3D GRASS "
-"rastrovou mapovou vrstvu."
+msgstr "Převede binární GRASS vektorovou mapovou vrstvu (pouze body) na 3D GRASS rastrovou mapovou vrstvu."
 
 #: ../vector/v.to.rast3/main.c:62
 #, fuzzy
@@ -39778,14 +37898,8 @@ msgstr "Rozdělí síť podle cenových izolinií."
 
 #: ../vector/v.net.iso/main.c:77
 #, fuzzy
-msgid ""
-"Splits net to bands between cost isolines (direction from center). Center "
-"node must be opened (costs >= 0). Costs of center node are used in "
-"calculation."
-msgstr ""
-"Rozdělí síť do pásem mezi cenovými izoliniemi (směr ze středu). Středový "
-"uzel musí být otevřen (ceny >=0). Hodnota ceny středového uzlu bude použita "
-"při výpočtu."
+msgid "Splits net to bands between cost isolines (direction from center). Center node must be opened (costs >= 0). Costs of center node are used in calculation."
+msgstr "Rozdělí síť do pásem mezi cenovými izoliniemi (směr ze středu). Středový uzel musí být otevřen (ceny >=0). Hodnota ceny středového uzlu bude použita při výpočtu."
 
 #: ../vector/v.net.iso/main.c:128
 msgid "Costs for isolines"
@@ -39821,8 +37935,7 @@ msgstr "Počet středů (center): %d (nlayer:%d)"
 
 #: ../vector/v.net.iso/main.c:234
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
-msgstr ""
-"Nedostatečný počet středů pro vybranou vrstvu (nlayer). Nic nebude přiděleno."
+msgstr "Nedostatečný počet středů pro vybranou vrstvu (nlayer). Nic nebude přiděleno."
 
 #: ../vector/v.net.iso/main.c:254
 #, c-format
@@ -39880,6 +37993,7 @@ msgid "%d point read from input"
 msgid_plural "%d points read from input"
 msgstr[0] "%d bodů načteno ze vstupu"
 msgstr[1] "%d bodů načteno ze vstupu"
+msgstr[2] ""
 
 #. GTC %s is replaced with message indicating number of lost points.
 #: ../vector/v.segment/main.c:267
@@ -39888,6 +38002,7 @@ msgid "%d point written to output map (%s)"
 msgid_plural "%d points written to output map (%s)"
 msgstr[0] "%d bodů zapsáno do výstupní mapy( %d ztraceno)"
 msgstr[1] "%d bodů zapsáno do výstupní mapy( %d ztraceno)"
+msgstr[2] ""
 
 #: ../vector/v.segment/main.c:272
 #, fuzzy, c-format
@@ -39895,6 +38010,7 @@ msgid "%d line read from input"
 msgid_plural "%d lines read from input"
 msgstr[0] "%d linií načteno ze vstupu"
 msgstr[1] "%d linií načteno ze vstupu"
+msgstr[2] ""
 
 #. GTC %s is replaced with message indicating number of lost lines.
 #: ../vector/v.segment/main.c:278
@@ -39903,6 +38019,7 @@ msgid "%d line written to output map (%s)"
 msgid_plural "%d lines written to output map (%s)"
 msgstr[0] "%d linií zapsáno do výstupní mapy( %d ztraceno)"
 msgstr[1] "%d linií zapsáno do výstupní mapy( %d ztraceno)"
+msgstr[2] ""
 
 #: ../vector/v.drape/main.c:61
 #, fuzzy
@@ -39936,7 +38053,7 @@ msgstr "Vektorová mapa <%s> nebyla nalezena"
 
 #: ../vector/v.class/main.c:50
 msgid "Classifies attribute data, e.g. for thematic mapping"
-msgstr "Clasifikuje atributová data, např. pro tématické vrstvy"
+msgstr "Klasifikuje atributová data, např. pro tématické vrstvy"
 
 #: ../vector/v.class/main.c:58
 msgid "Column name or expression"
@@ -39952,13 +38069,8 @@ msgid "Unable to sort array of values"
 msgstr "Nelze vybrat data z tabulky"
 
 #: ../vector/v.class/main.c:173
-msgid ""
-"The discontinuities algorithm indicates that some class breaks are not "
-"statistically significant at alpha=0.05. You are advised to reduce the "
-"number of classes."
-msgstr ""
-"Algoritmus diskontinuity ukázal, že některé okraje tříd nejsou statisticky "
-"významné pro alfa =0.05. Doporučuji zmenšit počet tříd."
+msgid "The discontinuities algorithm indicates that some class breaks are not statistically significant at alpha=0.05. You are advised to reduce the number of classes."
+msgstr "Algoritmus diskontinuity ukázal, že některé okraje tříd nejsou statisticky významné pro alfa =0.05. Doporučuji zmenšit počet tříd."
 
 #: ../vector/v.class/main.c:201
 #, c-format
@@ -39967,7 +38079,7 @@ msgid ""
 "Classification of %s into %i classes\n"
 msgstr ""
 "\n"
-"Clasifikace %s do %i tříd\n"
+"Klasifikace %s do %i tříd\n"
 
 #: ../vector/v.class/main.c:208
 #, c-format
@@ -40013,6 +38125,7 @@ msgid "%d boundary snapped"
 msgid_plural "%d boundaries snapped"
 msgstr[0] "%d hranic uzavřeno"
 msgstr[1] "%d hranic uzavřeno"
+msgstr[2] ""
 
 #: ../vector/v.overlay/area_area.c:109 ../vector/v.overlay/line_area.c:255
 msgid "Breaking lines..."
@@ -40086,14 +38199,8 @@ msgid "Operator defines features written to output vector map"
 msgstr "Operátor definuje prvky zapisované do výstupní vektorové mapy"
 
 #: ../vector/v.overlay/main.c:107
-msgid ""
-"Feature is written to output if the result of operation 'ainput operator "
-"binput' is true. Input feature is considered to be true, if category of "
-"given layer is defined."
-msgstr ""
-"Prvek je vypsán na standardní výstup,pokud výstup z operace 'ainput operátor "
-"binput' je vyhodnocen jako 'pravda'. Vstupní prvky jsou vyhodnoceny jako "
-"pravdivé, pokud kategorie zadaných vrstev je definována"
+msgid "Feature is written to output if the result of operation 'ainput operator binput' is true. Input feature is considered to be true, if category of given layer is defined."
+msgstr "Prvek je vypsán na standardní výstup,pokud výstup z operace 'ainput operátor binput' je vyhodnocen jako 'pravda'. Vstupní prvky jsou vyhodnoceny jako pravdivé, pokud kategorie zadaných vrstev je definována"
 
 #: ../vector/v.overlay/main.c:114
 msgid "also known as 'intersection' in GIS"
@@ -40108,9 +38215,7 @@ msgid "features from ainput not overlayed by features from binput"
 msgstr ""
 
 #: ../vector/v.overlay/main.c:117
-msgid ""
-"features from either ainput or binput but not those from ainput overlayed by "
-"binput (only for atype=area)"
+msgid "features from either ainput or binput but not those from ainput overlayed by binput (only for atype=area)"
 msgstr ""
 
 #: ../vector/v.overlay/main.c:128
@@ -40157,8 +38262,7 @@ msgstr "Kopírují objekty z vektorové mapy <%s> ..."
 #: ../vector/v.overlay/main.c:338
 #, fuzzy, c-format
 msgid "No %s features found in vector map <%s>. Verify '%s' parameter."
-msgstr ""
-"Nalezeno %d ploch, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr "Nalezeno %d ploch, nebyly však požadovány pro export. Ověřte parametr 'type'."
 
 #: ../vector/v.overlay/main.c:387
 msgid "Collecting input attributes..."
@@ -40190,12 +38294,8 @@ msgid "At least one point is really inside the area!"
 msgstr "Musí být zadána alespoň jedna volba z %s"
 
 #: ../vector/v.distance/main.c:95
-msgid ""
-"Finds the nearest element in vector map 'to' for elements in vector map "
-"'from'."
-msgstr ""
-"najít nejbližší prvek ve vektorové vrstvě 'do_mapy' pro prvky ve vektorové "
-"vrstvě 'z_mapy'"
+msgid "Finds the nearest element in vector map 'to' for elements in vector map 'from'."
+msgstr "najít nejbližší prvek ve vektorové vrstvě 'do_mapy' pro prvky ve vektorové vrstvě 'z_mapy'"
 
 #: ../vector/v.distance/main.c:99
 msgid "Name of existing vector map (from)"
@@ -40225,8 +38325,7 @@ msgstr "Typ prvku (to)"
 
 #: ../vector/v.distance/main.c:134
 msgid "Name for output vector map containing lines connecting nearest elements"
-msgstr ""
-"Nová vektorová mapa obsahující linie spojující linie s nejbližšímy prvky"
+msgstr "Nová vektorová mapa obsahující linie spojující linie s nejbližšímy prvky"
 
 #: ../vector/v.distance/main.c:142
 msgid "Maximum distance or -1 for no limit"
@@ -40261,14 +38360,11 @@ msgid "y coordinate of the nearest point on the 'to' feature"
 msgstr "Východní souřadnice (bod zájmu, výchozí: střed mapy)"
 
 #: ../vector/v.distance/main.c:173
-msgid ""
-"distance to the nearest point on the 'to' feature along that linear feature"
+msgid "distance to the nearest point on the 'to' feature along that linear feature"
 msgstr ""
 
 #: ../vector/v.distance/main.c:175
-msgid ""
-"angle along the nearest linear feature in the 'to' map, measured CCW from "
-"the +x axis, in radians, between -Pi and Pi inclusive"
+msgid "angle along the nearest linear feature in the 'to' map, measured CCW from the +x axis, in radians, between -Pi and Pi inclusive"
 msgstr ""
 
 #: ../vector/v.distance/main.c:178
@@ -40276,10 +38372,8 @@ msgid "attribute of nearest feature given by to_column option"
 msgstr ""
 
 #: ../vector/v.distance/main.c:191
-msgid ""
-"Column name(s) where values specified by 'upload' option will be uploaded"
-msgstr ""
-"Jméno(a) sloupců, kde hodnoty specifikované volbou 'upload' budou uloženy"
+msgid "Column name(s) where values specified by 'upload' option will be uploaded"
+msgstr "Jméno(a) sloupců, kde hodnoty specifikované volbou 'upload' budou uloženy"
 
 #: ../vector/v.distance/main.c:197
 msgid "Column name of nearest feature (used with upload=to_attr)"
@@ -40288,9 +38382,7 @@ msgstr "Jméno sloupce nejbližšího prvku (k použití spolu s upload=to_attr)
 #: ../vector/v.distance/main.c:203
 #, fuzzy
 msgid "Name of table created when the 'distance to all' flag is used"
-msgstr ""
-"Název tabulky vytvořené pro výstup, pokud je udán přepínač -a (vzdálenost ke "
-"všem prvkům)"
+msgstr "Název tabulky vytvořené pro výstup, pokud je udán přepínač -a (vzdálenost ke všem prvkům)"
 
 #: ../vector/v.distance/main.c:206
 #, fuzzy
@@ -40311,13 +38403,8 @@ msgstr "vypočítá vzdálenost ke všem prvům v mezní vzdálenosti"
 
 #: ../vector/v.distance/main.c:220
 #, fuzzy
-msgid ""
-"Output is written to stdout but may be uploaded to a new table created by "
-"this module; multiple 'upload' options may be used."
-msgstr ""
-"Výstup je zapsán na standardní výstup, ale může být uložen do nové "
-"atributové tabulky vytvořené tímto modulem. Kategorie 'from' mohou být "
-"vícečetné."
+msgid "Output is written to stdout but may be uploaded to a new table created by this module; multiple 'upload' options may be used."
+msgstr "Výstup je zapsán na standardní výstup, ale může být uložen do nové atributové tabulky vytvořené tímto modulem. Kategorie 'from' mohou být vícečetné."
 
 #: ../vector/v.distance/main.c:284
 msgid "to_column option missing"
@@ -40479,8 +38566,7 @@ msgid "Processing subregion %d of %d..."
 msgstr "Zpracovávám řádky %d-%d (z %d)"
 
 #: ../vector/v.outlier/main.c:355
-msgid ""
-"No subregions found! Check values for 'ew_step' and 'ns_step' parameters"
+msgid "No subregions found! Check values for 'ew_step' and 'ns_step' parameters"
 msgstr ""
 
 #: ../vector/v.outlier/main.c:428
@@ -40544,8 +38630,7 @@ msgstr "%d bodů mimo práhovou hodnotu"
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
-msgstr ""
-"%d je příliš mnoho bodů. Křížová validace by zabrala příliš mnoho času."
+msgstr "%d je příliš mnoho bodů. Křížová validace by zabrala příliš mnoho času."
 
 #: ../vector/v.surf.bspline/crosscorr.c:84
 #, c-format
@@ -40554,11 +38639,8 @@ msgstr "%d bodů načteno v regionu"
 
 #: ../vector/v.surf.bspline/crosscorr.c:88
 #, fuzzy
-msgid ""
-"Maybe it takes too long. It will depend on how many points you are "
-"considering."
-msgstr ""
-"Možná to bude trvat déle, v závislosti na počtu bodů, které zpracováváte."
+msgid "Maybe it takes too long. It will depend on how many points you are considering."
+msgstr "Možná to bude trvat déle, v závislosti na počtu bodů, které zpracováváte."
 
 #: ../vector/v.surf.bspline/crosscorr.c:119
 #, c-format
@@ -40572,9 +38654,7 @@ msgstr "Žádný záznam nebyl vybrán z tabulky <%s> "
 
 #: ../vector/v.surf.bspline/main.c:96
 #, fuzzy
-msgid ""
-"Performs bicubic or bilinear spline interpolation with Tykhonov "
-"regularization."
+msgid "Performs bicubic or bilinear spline interpolation with Tykhonov regularization."
 msgstr "Bikubická nebo bilineární interpolace s Tykhonovou regularizací"
 
 #: ../vector/v.surf.bspline/main.c:119
@@ -40590,8 +38670,7 @@ msgstr "Název vstupní vektorové vrstvy řídkého bodového pole"
 #: ../vector/v.surf.bspline/main.c:139
 #, fuzzy
 msgid "Raster map to use for masking (applies to raster output only)"
-msgstr ""
-"Použít styl ESRI - formát souboru .prj (aplikované pouze na výstup SHAPE)"
+msgstr "Použít styl ESRI - formát souboru .prj (aplikované pouze na výstup SHAPE)"
 
 #: ../vector/v.surf.bspline/main.c:207
 msgid "Choose either vector or raster output, not both"
@@ -40643,12 +38722,8 @@ msgstr "vektorová mapa <%s> bude interpolována"
 
 #: ../vector/v.surf.bspline/main.c:338
 #, fuzzy, c-format
-msgid ""
-"Sorry, the <%s> driver is not compatible with the vector output of this "
-"module. Try with raster output or another driver."
-msgstr ""
-"Promiňte, ovladač <%s> není pro vektorový výstup tohoto modul povolen. "
-"Vyzkoušejte rastrový výstup nebo jiný ovladač."
+msgid "Sorry, the <%s> driver is not compatible with the vector output of this module. Try with raster output or another driver."
+msgstr "Promiňte, ovladač <%s> není pro vektorový výstup tohoto modul povolen. Vyzkoušejte rastrový výstup nebo jiný ovladač."
 
 #: ../vector/v.surf.bspline/main.c:361
 #, fuzzy, c-format
@@ -40703,16 +38778,12 @@ msgid "Name of vector map"
 msgstr "Název vektorové vrstvy"
 
 #: ../vector/v.build/main.c:49
-msgid ""
-"Name for output vector map where erroneous vector features are written to"
-msgstr ""
-"Název výstupní vektorové vrstvy, do které budou zapsány chybné prvky vektoru"
+msgid "Name for output vector map where erroneous vector features are written to"
+msgstr "Název výstupní vektorové vrstvy, do které budou zapsány chybné prvky vektoru"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
-msgstr ""
-"Sestavit topologii nebo vypsat informace o tolopogii a indexech na "
-"standardní výstup"
+msgid "Build topology or dump topology or indices to standard output"
+msgstr "Sestavit topologii nebo vypsat informace o tolopogii a indexech na standardní výstup"
 
 #: ../vector/v.build/main.c:65
 msgid "build topology"
@@ -40744,9 +38815,7 @@ msgstr "Provést při vytváření topologie důkladnou kontrolu topologických
 
 #: ../vector/v.build/main.c:106
 #, c-format
-msgid ""
-"Direct read access to OGR layers is not supported by this module. Run %s to "
-"create a link as GRASS vector map in the current mapset."
+msgid "Direct read access to OGR layers is not supported by this module. Run %s to create a link as GRASS vector map in the current mapset."
 msgstr ""
 
 #: ../vector/v.build/main.c:111
@@ -40763,8 +38832,7 @@ msgstr "Nelze číst soubor s kategoriemi rastrové mapy <%s@%s>"
 #: ../vector/v.out.ogr/export_lines.c:212
 #: ../vector/v.out.ogr/export_areas.c:183
 #, fuzzy, c-format
-msgid ""
-"Unable to create multi-feature. Category %d not found in line %d, field %d"
+msgid "Unable to create multi-feature. Category %d not found in line %d, field %d"
 msgstr "Nelze získat výšku pro prvek s kategorií %d"
 
 #: ../vector/v.out.ogr/attrb.c:65
@@ -40789,12 +38857,8 @@ msgid "Feature type(s)"
 msgstr "Typy prvků"
 
 #: ../vector/v.out.ogr/args.c:20
-msgid ""
-"Combination of types is not supported by all output formats. Default is to "
-"use first type found in input vector map."
-msgstr ""
-"Kombinace typů nejsou podporovány všemi výstupními formáty. Jako výchozí se "
-"použije první typ nalezený ve vstupní vektorové vrstvě."
+msgid "Combination of types is not supported by all output formats. Default is to use first type found in input vector map."
+msgstr "Kombinace typů nejsou podporovány všemi výstupními formáty. Jako výchozí se použije první typ nalezený ve vstupní vektorové vrstvě."
 
 #: ../vector/v.out.ogr/args.c:28
 msgid "Name of output OGR datasource"
@@ -40805,9 +38869,7 @@ msgstr "Název výstupního zdroje dat OGR"
 msgid ""
 "For example: ESRI Shapefile: filename or directory for storage\n"
 "\t\t\tPostGIS database: connection string"
-msgstr ""
-"Například: ESRI Shapefile: název souboru, nebo adresář pro uložení\t\t"
-"\tDatabáze PostGIS: textový řetězec spojení"
+msgstr "Například: ESRI Shapefile: název souboru, nebo adresář pro uložení\t\t\tDatabáze PostGIS: textový řetězec spojení"
 
 #: ../vector/v.out.ogr/args.c:40
 msgid "Data format to write"
@@ -40864,43 +38926,32 @@ msgid "Skip export of GRASS category ID ('cat') attribute"
 msgstr ""
 
 #: ../vector/v.out.ogr/args.c:102
-msgid ""
-"Also export features without category (not labeled). Otherwise only features "
-"with category are exported."
-msgstr ""
-"Exportovat také prvky bez kategorie (bez štítku). V opačném případě budou "
-"exportovány pouze prvky s kategorií."
+msgid "Also export features without category (not labeled). Otherwise only features with category are exported."
+msgstr "Exportovat také prvky bez kategorie (bez štítku). V opačném případě budou exportovány pouze prvky s kategorií."
 
 #: ../vector/v.out.ogr/args.c:108
 msgid "Use ESRI-style .prj file format (applies to Shapefile output only)"
-msgstr ""
-"Použít styl ESRI pro formát souboru .prj (platí pouze pro výstup Shapefile)"
+msgstr "Použít styl ESRI pro formát souboru .prj (platí pouze pro výstup Shapefile)"
 
 #: ../vector/v.out.ogr/args.c:114
 msgid "Force 2D output even if input is 3D (applies to Shapefile output only)"
-msgstr ""
-"Vynutit 2D výstup, i když je vstup 3D (platí pouze pro výstup Shapefile)"
+msgstr "Vynutit 2D výstup, i když je vstup 3D (platí pouze pro výstup Shapefile)"
 
 #: ../vector/v.out.ogr/args.c:122
 msgid "Export vector data as multi-features"
 msgstr ""
 
 #: ../vector/v.out.ogr/args.c:128
-msgid ""
-"Create a new empty layer in defined OGR datasource and exit. Nothing is read "
-"from input."
-msgstr ""
-"Vytvořit v zadaném zdroji dat OGR novou prázdnou vrstvu a ukončit se. Ze "
-"vstupu se nebude nic načítat."
+msgid "Create a new empty layer in defined OGR datasource and exit. Nothing is read from input."
+msgstr "Vytvořit v zadaném zdroji dat OGR novou prázdnou vrstvu a ukončit se. Ze vstupu se nebude nic načítat."
 
 #: ../vector/v.out.ogr/main.c:86
-#, fuzzy
 msgid "Exports a vector map layer to any of the supported OGR vector formats."
-msgstr "Konvertuje mapu do jednoho z podporovaných vektorových formátů OGR."
+msgstr "Exportuje vektorovou vrstvu do některého z podporovaných vektorových formátů OGR."
 
 #: ../vector/v.out.ogr/main.c:87
 msgid "By default a vector map layer is exported to Esri Shapefile format."
-msgstr ""
+msgstr "Ve výchozím nastavení je vrstva exportována do formátu Esri Shapefile."
 
 #: ../vector/v.out.ogr/main.c:164
 msgid "Volumes will be exported as sets of faces"
@@ -40921,9 +38972,9 @@ msgid "The combination of types is not supported by all formats."
 msgstr "Kombinace typů není podporována všemi formáty."
 
 #: ../vector/v.out.ogr/main.c:276
-#, fuzzy, c-format
+#, c-format
 msgid "Unknown EPSG code %s"
-msgstr "Neznámá metrika: [%s]."
+msgstr "Neznámý kód EPSG %s"
 
 #: ../vector/v.out.ogr/main.c:294
 #, c-format
@@ -40931,156 +38982,104 @@ msgid "OGR layer <%s> created in datasource <%s> (format '%s')"
 msgstr ""
 
 #: ../vector/v.out.ogr/main.c:306
-msgid ""
-"The map contains islands. With the -c flag, islands will appear as filled "
-"areas, not holes in the output map."
+msgid "The map contains islands. With the -c flag, islands will appear as filled areas, not holes in the output map."
 msgstr ""
 
 #: ../vector/v.out.ogr/main.c:312
 #, fuzzy, c-format
-msgid ""
-"%d point found, but not requested to be exported. Verify 'type' parameter."
-msgid_plural ""
-"%d points found, but not requested to be exported. Verify 'type' parameter."
-msgstr[0] ""
-"Nalezeno %d bodů, nebyly však požadovány pro export. Ověřte parametr 'type'."
-msgstr[1] ""
-"Nalezeno %d bodů, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgid "%d point found, but not requested to be exported. Verify 'type' parameter."
+msgid_plural "%d points found, but not requested to be exported. Verify 'type' parameter."
+msgstr[0] "Nalezeno %d bodů, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[1] "Nalezeno %d bodů, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[2] ""
 
 #: ../vector/v.out.ogr/main.c:320
 #, fuzzy, c-format
-msgid ""
-"%d line found, but not requested to be exported. Verify 'type' parameter."
-msgid_plural ""
-"%d line(s) found, but not requested to be exported. Verify 'type' parameter."
-msgstr[0] ""
-"Nalezeno %d linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
-msgstr[1] ""
-"Nalezeno %d linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgid "%d line found, but not requested to be exported. Verify 'type' parameter."
+msgid_plural "%d line(s) found, but not requested to be exported. Verify 'type' parameter."
+msgstr[0] "Nalezeno %d linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[1] "Nalezeno %d linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[2] ""
 
 #: ../vector/v.out.ogr/main.c:329
 #, fuzzy, c-format
-msgid ""
-"%d boundary found, but not requested to be exported. Verify 'type' parameter."
-msgid_plural ""
-"%d boundaries found, but not requested to be exported. Verify 'type' "
-"parameter."
-msgstr[0] ""
-"Nalezeno %d hraničních linií, nebyly však požadovány pro export. Ověřte "
-"parametr 'type'."
-msgstr[1] ""
-"Nalezeno %d hraničních linií, nebyly však požadovány pro export. Ověřte "
-"parametr 'type'."
+msgid "%d boundary found, but not requested to be exported. Verify 'type' parameter."
+msgid_plural "%d boundaries found, but not requested to be exported. Verify 'type' parameter."
+msgstr[0] "Nalezeno %d hraničních linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[1] "Nalezeno %d hraničních linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[2] ""
 
 #: ../vector/v.out.ogr/main.c:338
 #, fuzzy, c-format
-msgid ""
-"%d centroid found, but not requested to be exported. Verify 'type' parameter."
-msgid_plural ""
-"%d centroids found, but not requested to be exported. Verify 'type' "
-"parameter."
-msgstr[0] ""
-"Nalezeno %d centroidů, nebyly však požadovány pro export. Ověřte parametr "
-"'type'."
-msgstr[1] ""
-"Nalezeno %d centroidů, nebyly však požadovány pro export. Ověřte parametr "
-"'type'."
+msgid "%d centroid found, but not requested to be exported. Verify 'type' parameter."
+msgid_plural "%d centroids found, but not requested to be exported. Verify 'type' parameter."
+msgstr[0] "Nalezeno %d centroidů, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[1] "Nalezeno %d centroidů, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[2] ""
 
 #: ../vector/v.out.ogr/main.c:346
 #, fuzzy, c-format
-msgid ""
-"%d area found, but not requested to be exported. Verify 'type' parameter."
-msgid_plural ""
-"%d areas found, but not requested to be exported. Verify 'type' parameter."
-msgstr[0] ""
-"Nalezeno %d ploch, nebyly však požadovány pro export. Ověřte parametr 'type'."
-msgstr[1] ""
-"Nalezeno %d ploch, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgid "%d area found, but not requested to be exported. Verify 'type' parameter."
+msgid_plural "%d areas found, but not requested to be exported. Verify 'type' parameter."
+msgstr[0] "Nalezeno %d ploch, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[1] "Nalezeno %d ploch, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[2] ""
 
 #: ../vector/v.out.ogr/main.c:354
 #, fuzzy, c-format
-msgid ""
-"%d face found, but not requested to be exported. Verify 'type' parameter."
-msgid_plural ""
-"%d faces found, but not requested to be exported. Verify 'type' parameter."
-msgstr[0] ""
-"Nalezeno %d 3D polygonů, nebyly však požadovány pro export. Ověřte parametr "
-"'type'."
-msgstr[1] ""
-"Nalezeno %d 3D polygonů, nebyly však požadovány pro export. Ověřte parametr "
-"'type'."
+msgid "%d face found, but not requested to be exported. Verify 'type' parameter."
+msgid_plural "%d faces found, but not requested to be exported. Verify 'type' parameter."
+msgstr[0] "Nalezeno %d 3D polygonů, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[1] "Nalezeno %d 3D polygonů, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[2] ""
 
 #: ../vector/v.out.ogr/main.c:362
 #, fuzzy, c-format
-msgid ""
-"%d volume found, but not requested to be exported. Verify 'type' parameter."
-msgid_plural ""
-"%d volumes found, but not requested to be exported. Verify 'type' parameter."
-msgstr[0] ""
-"Nalezeno %d linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
-msgstr[1] ""
-"Nalezeno %d linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgid "%d volume found, but not requested to be exported. Verify 'type' parameter."
+msgid_plural "%d volumes found, but not requested to be exported. Verify 'type' parameter."
+msgstr[0] "Nalezeno %d linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[1] "Nalezeno %d linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgstr[2] ""
 
 #: ../vector/v.out.ogr/main.c:372
 #, fuzzy
-msgid ""
-"No points found, but requested to be exported. Will skip this feature type."
-msgstr ""
-"Nalezeno %d bodů, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgid "No points found, but requested to be exported. Will skip this feature type."
+msgstr "Nalezeno %d bodů, nebyly však požadovány pro export. Ověřte parametr 'type'."
 
 #: ../vector/v.out.ogr/main.c:381
 #, fuzzy
-msgid ""
-"No lines found, but requested to be exported. Will skip this feature type."
-msgstr ""
-"Nalezeno %d linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgid "No lines found, but requested to be exported. Will skip this feature type."
+msgstr "Nalezeno %d linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
 
 #: ../vector/v.out.ogr/main.c:391
 #, fuzzy
-msgid ""
-"No boundaries found, but requested to be exported. Will skip this feature "
-"type."
-msgstr ""
-"Nalezeno %d hraničních linií, nebyly však požadovány pro export. Ověřte "
-"parametr 'type'."
+msgid "No boundaries found, but requested to be exported. Will skip this feature type."
+msgstr "Nalezeno %d hraničních linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
 
 #: ../vector/v.out.ogr/main.c:400
 #, fuzzy
-msgid ""
-"No areas found, but requested to be exported. Will skip this feature type."
-msgstr ""
-"Nalezeno %d ploch, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgid "No areas found, but requested to be exported. Will skip this feature type."
+msgstr "Nalezeno %d ploch, nebyly však požadovány pro export. Ověřte parametr 'type'."
 
 #: ../vector/v.out.ogr/main.c:410
 #, fuzzy
-msgid ""
-"No centroids found, but requested to be exported. Will skip this feature "
-"type."
-msgstr ""
-"Nalezeno %d centroidů, nebyly však požadovány pro export. Ověřte parametr "
-"'type'."
+msgid "No centroids found, but requested to be exported. Will skip this feature type."
+msgstr "Nalezeno %d centroidů, nebyly však požadovány pro export. Ověřte parametr 'type'."
 
 #: ../vector/v.out.ogr/main.c:419
 #, fuzzy
-msgid ""
-"No faces found, but requested to be exported. Will skip this feature type."
-msgstr ""
-"Nalezeno %d 3D polygonů, nebyly však požadovány pro export. Ověřte parametr "
-"'type'."
+msgid "No faces found, but requested to be exported. Will skip this feature type."
+msgstr "Nalezeno %d 3D polygonů, nebyly však požadovány pro export. Ověřte parametr 'type'."
 
 #: ../vector/v.out.ogr/main.c:428
 #, fuzzy
-msgid ""
-"No kernels found, but requested to be exported. Will skip this feature type."
-msgstr ""
-"Nalezeno %d ploch, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgid "No kernels found, but requested to be exported. Will skip this feature type."
+msgstr "Nalezeno %d ploch, nebyly však požadovány pro export. Ověřte parametr 'type'."
 
 #: ../vector/v.out.ogr/main.c:437
 #, fuzzy
-msgid ""
-"No volumes found, but requested to be exported. Will skip this feature type."
-msgstr ""
-"Nalezeno %d linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
+msgid "No volumes found, but requested to be exported. Will skip this feature type."
+msgstr "Nalezeno %d linií, nebyly však požadovány pro export. Ověřte parametr 'type'."
 
 #: ../vector/v.out.ogr/main.c:462
 #, c-format
@@ -41095,8 +39094,7 @@ msgstr "Nelze otevřít OGR zdroj dat '%s'"
 #: ../vector/v.out.ogr/main.c:503
 #, fuzzy, c-format
 msgid "Layer <%s> already exists in OGR data source '%s'"
-msgstr ""
-"Rastrová mapa <%s> již existuje v mapsetu <%s>, zkuste prosím jiné jméno."
+msgstr "Rastrová mapa <%s> již existuje v mapsetu <%s>, zkuste prosím jiné jméno."
 
 #: ../vector/v.out.ogr/main.c:507
 #, fuzzy, c-format
@@ -41114,30 +39112,18 @@ msgstr ""
 
 #: ../vector/v.out.ogr/main.c:557
 #, fuzzy, c-format
-msgid ""
-"Vector map <%s> is 3D. Use format specific layer creation options SHPT "
-"(parameter 'lco') or '-z' flag to export in 3D rather than 2D (default)"
-msgstr ""
-"Vektorová mapa <%s> je 3D. Použijte volby vytvoření specifické vrstvy "
-"(parametr 'lco') pro export ve 3D raději než 2D (přednastaveno)"
+msgid "Vector map <%s> is 3D. Use format specific layer creation options SHPT (parameter 'lco') or '-z' flag to export in 3D rather than 2D (default)"
+msgstr "Vektorová mapa <%s> je 3D. Použijte volby vytvoření specifické vrstvy (parametr 'lco') pro export ve 3D raději než 2D (přednastaveno)"
 
 #: ../vector/v.out.ogr/main.c:569
 #, fuzzy, c-format
-msgid ""
-"Vector map <%s> is 3D. Use format specific layer creation options DIM "
-"(parameter 'lco') to export in 3D rather than 2D (default)."
-msgstr ""
-"Vektorová mapa <%s> je 3D. Použijte volby vytvoření specifické vrstvy "
-"(parametr 'lco') pro export ve 3D raději než 2D (přednastaveno)"
+msgid "Vector map <%s> is 3D. Use format specific layer creation options DIM (parameter 'lco') to export in 3D rather than 2D (default)."
+msgstr "Vektorová mapa <%s> je 3D. Použijte volby vytvoření specifické vrstvy (parametr 'lco') pro export ve 3D raději než 2D (přednastaveno)"
 
 #: ../vector/v.out.ogr/main.c:576
 #, fuzzy, c-format
-msgid ""
-"Vector map <%s> is 3D. Use format specific layer creation options (parameter "
-"'lco') to export <in 3D rather than 2D (default)."
-msgstr ""
-"Vektorová mapa <%s> je 3D. Použijte volby vytvoření specifické vrstvy "
-"(parametr 'lco') pro export ve 3D raději než 2D (přednastaveno)"
+msgid "Vector map <%s> is 3D. Use format specific layer creation options (parameter 'lco') to export <in 3D rather than 2D (default)."
+msgstr "Vektorová mapa <%s> je 3D. Použijte volby vytvoření specifické vrstvy (parametr 'lco') pro export ve 3D raději než 2D (přednastaveno)"
 
 #: ../vector/v.out.ogr/main.c:595
 msgid "Unable to create OGR layer"
@@ -41145,9 +39131,7 @@ msgstr "Nelze vytvořit vrstvu OGR"
 
 #: ../vector/v.out.ogr/main.c:607
 msgid "No attribute table found -> using only category numbers as attributes"
-msgstr ""
-"Nebyla nalezena žádná atributová tabulka -> použiji jako atributy pouze "
-"čísla kategorie"
+msgstr "Nebyla nalezena žádná atributová tabulka -> použiji jako atributy pouze čísla kategorie"
 
 #: ../vector/v.out.ogr/main.c:611
 msgid "Exporting 'cat' anyway, as it is the only attribute table field"
@@ -41185,6 +39169,7 @@ msgid "Exporting %d volume..."
 msgid_plural "Exporting %d volumes..."
 msgstr[0] "Exportuji %i body/linie..."
 msgstr[1] "Exportuji %i body/linie..."
+msgstr[2] ""
 
 #: ../vector/v.out.ogr/main.c:755
 msgid "Export of volumes not implemented yet. Skipping."
@@ -41196,6 +39181,7 @@ msgid "%d feature without attributes was written"
 msgid_plural "%d features without attributes were written"
 msgstr[0] "%d prvků  bez atributů bylo zapsáno"
 msgstr[1] "%d prvků  bez atributů bylo zapsáno"
+msgstr[2] ""
 
 #: ../vector/v.out.ogr/main.c:778
 #, fuzzy, c-format
@@ -41203,17 +39189,15 @@ msgid "%d feature without category was written"
 msgid_plural "%d features without category were written"
 msgstr[0] "%d prvků bez kategorie bylo zapsáno"
 msgstr[1] "%d prvků bez kategorie bylo zapsáno"
+msgstr[2] ""
 
 #: ../vector/v.out.ogr/main.c:782
 #, c-format
-msgid ""
-"%d feature without category was skipped. Features without category are "
-"written only when -%c flag is given."
-msgid_plural ""
-"%d features without category were skipped. Features without category are "
-"written only when -%c flag is given."
+msgid "%d feature without category was skipped. Features without category are written only when -%c flag is given."
+msgid_plural "%d features without category were skipped. Features without category are written only when -%c flag is given."
 msgstr[0] ""
 msgstr[1] ""
+msgstr[2] ""
 
 #: ../vector/v.out.ogr/main.c:798
 msgid "Output layer is empty, no features written"
@@ -41225,11 +39209,12 @@ msgid "%d feature (%s type) written to <%s> (%s format)."
 msgid_plural "%d features (%s type) written to <%s> (%s format)."
 msgstr[0] "%d prvků zapsáno do '%s'."
 msgstr[1] "%d prvků zapsáno do '%s'."
+msgstr[2] ""
 
 #: ../vector/v.out.ogr/create.c:20
-#, fuzzy, c-format
+#, c-format
 msgid "OGR driver <%s> not available"
-msgstr "Vrstva <%s> není dostupná"
+msgstr "Ovladač OGR <%s> není dostupný"
 
 #: ../vector/v.out.ogr/create.c:26
 #, fuzzy, c-format
@@ -41242,9 +39227,8 @@ msgid "Creation of OGR layer <%s> failed"
 msgstr ""
 
 #: ../vector/v.out.svg/main.c:76
-#, fuzzy
 msgid "Exports a vector map to SVG file."
-msgstr "Exportuje vektorovou mapu do souboru SVG."
+msgstr "Exportuje vektorovou vrstvu do souboru SVG."
 
 #: ../vector/v.out.svg/main.c:85
 msgid "Name for SVG output file"
@@ -41336,18 +39320,12 @@ msgstr ""
 
 #: ../vector/v.extract/extract.c:228
 #, fuzzy
-msgid ""
-"Topology level required for extracting areas for OGR layers. Areas will be "
-"not processed."
+msgid "Topology level required for extracting areas for OGR layers. Areas will be not processed."
 msgstr "Výpočet polohy středu..."
 
 #: ../vector/v.extract/main.c:83
-msgid ""
-"Selects vector features from an existing vector map and creates a new vector "
-"map containing only the selected features."
-msgstr ""
-"Vybere vektorové prvky z existující vektorové vrstvy a vytvoří novou vrstvu "
-"obsahující jenom vybrané prvky."
+msgid "Selects vector features from an existing vector map and creates a new vector map containing only the selected features."
+msgstr "Vybere vektorové prvky z existující vektorové vrstvy a vytvoří novou vrstvu obsahující jenom vybrané prvky."
 
 #: ../vector/v.extract/main.c:88
 msgid "Dissolve common boundaries (default is no)"
@@ -41363,9 +39341,7 @@ msgstr "Typy, které budou vyjmuty"
 
 #: ../vector/v.extract/main.c:123
 msgid "Input text file with category numbers/number ranges to be extracted"
-msgstr ""
-"Textový soubor s čísly kategorií nebo jejich intervaly, které mají být "
-"extrahovány"
+msgstr "Textový soubor s čísly kategorií nebo jejich intervaly, které mají být extrahovány"
 
 #: ../vector/v.extract/main.c:124
 msgid "If '-' given reads from standard input"
@@ -41373,8 +39349,7 @@ msgstr "Pokud není zadáno '-' čte se standardní vstup"
 
 #: ../vector/v.extract/main.c:132
 msgid "Number of random categories matching vector objects to extract"
-msgstr ""
-"Počet  náhodných kategorií odpovídajících vektorovým objektům pro vyjmutí"
+msgstr "Počet  náhodných kategorií odpovídajících vektorovým objektům pro vyjmutí"
 
 #: ../vector/v.extract/main.c:134
 msgid "Number must be smaller than unique cat count in layer"
@@ -41382,8 +39357,7 @@ msgstr "Počet musí být meší než součet kategorií ve vrstvě"
 
 #: ../vector/v.extract/main.c:142
 msgid "Desired new category value (enter -1 to keep original categories)"
-msgstr ""
-"Požadovaná nová hodnota kategorie (zadáním -1 zachováte původní kategorie)"
+msgstr "Požadovaná nová hodnota kategorie (zadáním -1 zachováte původní kategorie)"
 
 #: ../vector/v.extract/main.c:144
 msgid "If new >= 0, attributes is not copied"
@@ -41391,12 +39365,8 @@ msgstr "Je-li new >=0, atributy nebudou zkopírovány"
 
 #: ../vector/v.extract/main.c:161
 #, fuzzy, c-format
-msgid ""
-"Options <%s>, <%s>, <%s> and <%s> options are exclusive. Please specify only "
-"one of them."
-msgstr ""
-"Seznam, soubor, a náhodně jsou jedinečné volby. Prosím určete pouze jednu z "
-"nich"
+msgid "Options <%s>, <%s>, <%s> and <%s> options are exclusive. Please specify only one of them."
+msgstr "Seznam, soubor, a náhodně jsou jedinečné volby. Prosím určete pouze jednu z nich"
 
 #: ../vector/v.extract/main.c:208
 #, c-format
@@ -41434,14 +39404,11 @@ msgid "%d category loaded"
 msgid_plural "%d categories loaded"
 msgstr[0] "%d kategorií bylo načteno z tabulky"
 msgstr[1] "%d kategorií bylo načteno z tabulky"
+msgstr[2] ""
 
 #: ../vector/v.extract/main.c:286
-msgid ""
-"This map has no categories attached. Use v.category to attach categories to "
-"this vector map."
-msgstr ""
-"Tato mapa nemá připojeny žádné kategorie. Použijte v.category pro připojení "
-"kategorií k této vektorové mapě"
+msgid "This map has no categories attached. Use v.category to attach categories to this vector map."
+msgstr "Tato mapa nemá připojeny žádné kategorie. Použijte v.category pro připojení kategorií k této vektorové mapě"
 
 #: ../vector/v.extract/main.c:293
 msgid "Please specify random number larger than 0"
@@ -41449,21 +39416,13 @@ msgstr "Prosím určete náhodné číslo větší než 0"
 
 #: ../vector/v.extract/main.c:297
 #, c-format
-msgid ""
-"Random category count must be smaller than feature count. There are only %d "
-"features of type(s): %s"
-msgstr ""
-"Součet náhodných kategorií musí být menší než počet prvků. Je pouze %d prvků "
-"typu: %s"
+msgid "Random category count must be smaller than feature count. There are only %d features of type(s): %s"
+msgstr "Součet náhodných kategorií musí být menší než počet prvků. Je pouze %d prvků typu: %s"
 
 #: ../vector/v.extract/main.c:320
 #, fuzzy, c-format
-msgid ""
-"Random category count is larger or equal to uniq <%s> feature category count "
-"%d"
-msgstr ""
-"Součet náhodných kategoií musí být stejný nebo větší  než unikátní \"%s\" "
-"součet kategorí prvků %d"
+msgid "Random category count is larger or equal to uniq <%s> feature category count %d"
+msgstr "Součet náhodných kategoií musí být stejný nebo větší  než unikátní \"%s\" součet kategorí prvků %d"
 
 #: ../vector/v.extract/main.c:354
 msgid "Extracting features..."
@@ -41485,12 +39444,8 @@ msgstr "Špatný formát souboru kamery pro skupinu <%s>"
 
 #: ../vector/v.rectify/main.c:73
 #, fuzzy
-msgid ""
-"Rectifies a vector by computing a coordinate transformation for each object "
-"in the vector based on the control points."
-msgstr ""
-"Rektifikuje obrazová data na základě vlícovacích bodů pomocí souřadnicové "
-"transformace pro každý pixel obrazu."
+msgid "Rectifies a vector by computing a coordinate transformation for each object in the vector based on the control points."
+msgstr "Rektifikuje obrazová data na základě vlícovacích bodů pomocí souřadnicové transformace pro každý pixel obrazu."
 
 #: ../vector/v.rectify/main.c:88
 #, fuzzy
@@ -41654,14 +39609,8 @@ msgid "Operator defines required relation between features"
 msgstr "Operátor definuje požadovaný vztah mezi prvky"
 
 #: ../vector/v.select/args.c:51
-msgid ""
-"A feature is written to output if the result of operation 'ainput operator "
-"binput' is true. An input feature is considered to be true, if category of "
-"given layer is defined."
-msgstr ""
-"A-Prvek je zapsán do výstupu, pokud výstup z operace 'ainput operátor "
-"binput' je vyhodnocen jako 'pravda'. Vstupní prvky jsou vyhodnoceny jako "
-"pravdivé, pokud kategorie zadaných vrstev je definována"
+msgid "A feature is written to output if the result of operation 'ainput operator binput' is true. An input feature is considered to be true, if category of given layer is defined."
+msgstr "A-Prvek je zapsán do výstupu, pokud výstup z operace 'ainput operátor binput' je vyhodnocen jako 'pravda'. Vstupní prvky jsou vyhodnoceny jako pravdivé, pokud kategorie zadaných vrstev je definována"
 
 #: ../vector/v.select/args.c:59 ../vector/v.select/args.c:75
 #, fuzzy
@@ -41701,9 +39650,7 @@ msgid "features spatially overlap (using GEOS)"
 msgstr ""
 
 #: ../vector/v.select/args.c:84
-msgid ""
-"feature A is spatially related to feature B (using GEOS, requires 'relate' "
-"option)"
+msgid "feature A is spatially related to feature B (using GEOS, requires 'relate' option)"
 msgstr ""
 
 #: ../vector/v.select/args.c:94
@@ -41716,8 +39663,7 @@ msgid "Do not skip features without category"
 msgstr "Přeskakuji prvek bez kategorie"
 
 #: ../vector/v.select/main.c:51
-msgid ""
-"Selects features from vector map (A) by features from other vector map (B)."
+msgid "Selects features from vector map (A) by features from other vector map (B)."
 msgstr "Vybírá prvky z vektorové mapy (A) podle prvků vektorové mapy (B)"
 
 #: ../vector/v.select/main.c:93
@@ -41798,9 +39744,7 @@ msgid "Performs vector based generalization."
 msgstr "Generalizace prvků vektorové mapy"
 
 #: ../vector/v.generalize/main.c:100
-msgid ""
-"Error map of all lines and boundaries not being generalized due to topology "
-"issues or over-simplification"
+msgid "Error map of all lines and boundaries not being generalized due to topology issues or over-simplification"
 msgstr ""
 
 #: ../vector/v.generalize/main.c:124
@@ -41972,10 +39916,8 @@ msgstr "Font '%s' není font typu FreeType \n"
 
 #: ../vector/v.generalize/main.c:577
 #, fuzzy, c-format
-msgid ""
-"%d boundaries were not modified because modification would damage topology"
-msgstr ""
-"%d hranic nebylo ořezáno, protože ořezání by poškodilo jejich topologii"
+msgid "%d boundaries were not modified because modification would damage topology"
+msgstr "%d hranic nebylo ořezáno, protože ořezání by poškodilo jejich topologii"
 
 #: ../vector/v.generalize/main.c:580
 #, c-format
@@ -41984,8 +39926,7 @@ msgstr ""
 
 #: ../vector/v.generalize/main.c:601
 #, fuzzy, c-format
-msgid ""
-"Number of vertices for selected features %s from %d to %d (%d%% remaining)"
+msgid "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr "Počet opěrných bodů byl snížen z %d na %d [%d%%]"
 
 #: ../vector/v.generalize/main.c:602
@@ -42001,900 +39942,3 @@ msgstr "Řádky změněny"
 #, c-format
 msgid "Layer %d"
 msgstr "Vrstva %d"
-
-#, fuzzy
-#~ msgid "time series"
-#~ msgstr "body"
-
-#, fuzzy
-#~ msgid "Monthly minimum temperatures"
-#~ msgstr "Prvky"
-
-#, fuzzy
-#~ msgid "Monthly minimum temperatures for 12 months"
-#~ msgstr "Prvky"
-
-#, fuzzy
-#~ msgid "Monthly maximum temperatures"
-#~ msgstr "Prvky"
-
-#, fuzzy
-#~ msgid "Monthly maximum temperatures for 12 months"
-#~ msgstr "Prvky"
-
-#, fuzzy
-#~ msgid "Monthly average temperatures"
-#~ msgstr "Název rastrové mapy s povrchem pro křížový výběr"
-
-#, fuzzy
-#~ msgid "Monthly average temperatures for 12 months"
-#~ msgstr "Prvky"
-
-#, fuzzy
-#~ msgid "Prefix for output maps"
-#~ msgstr "Předpona výstupních rastrových map"
-
-#, fuzzy
-#~ msgid "Scale factor for input temperature"
-#~ msgstr "Měřítkový faktor pro výškový model"
-
-#, fuzzy
-#~ msgid "Scale factor for output temperature"
-#~ msgstr "Měřítkový faktor pro výškový model"
-
-#, fuzzy
-#~ msgid "Number of quartals to use"
-#~ msgstr "Počet zkusných ploch"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Název existující rastrové mapy obsahující frikční hodnoty"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Název existující rastrové mapy obsahující frikční hodnoty"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Výstupní difůzní osvětlení [W.m-2] (mode 1) nebo mapa osvětlení [Wh.m-2."
-#~ "den-1] (mode 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Výstupní záření odražené od země [W.m-2] (mode 1) nebo rastrová mapa "
-#~ "ozáření [Wh.m-2.den-1] (mode 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Výstupní globální (totální) osvětlení paprskem [W.m-2] (mode 1) nebo "
-#~ "rastrová mapa osvětlení [Wh.m-2.den-1] (mode 2)"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Jméno rastrové mapy elevace [m]"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Název vstupního souboru s digitálním modelem terénu"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "Výstupní záření odražené od země [W.m-2] (mode 1) nebo rastrová mapa "
-#~ "ozáření [Wh.m-2.den-1] (mode 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Výstupní globální (totální) osvětlení paprskem [W.m-2] (mode 1) nebo "
-#~ "rastrová mapa osvětlení [Wh.m-2.den-1] (mode 2)"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "Počet bodů pro interpolaci"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Přepsat kartografické zobrazení (použít zobrazení lokace)"
-
-#~ msgid "Location: %s\n"
-#~ msgstr "Lokace: %s\n"
-
-#~ msgid " %s\n"
-#~ msgstr "%s\n"
-
-#~ msgid "Region\n"
-#~ msgstr "Region\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "%d classes, %.2f%% points stable\n"
-#~ msgstr ""
-#~ "\n"
-#~ "%d tříd, %.2f%% bodů stabilních\n"
-
-#, fuzzy
-#~ msgid "Time increment"
-#~ msgstr "Zvětšení hodnoty kategorií o"
-
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "volba <%s>: <%s> již existuje"
-
-#, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "Výstupní mapa <%s> ignorována"
-
-#, fuzzy
-#~ msgid "Input options"
-#~ msgstr "Vstupní_volby"
-
-#, fuzzy
-#~ msgid "Output options"
-#~ msgstr "Výstupní_volby"
-
-#~ msgid ""
-#~ "\n"
-#~ "You can use the -o flag to r.external to override this check and use the "
-#~ "location definition for the dataset.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Přepínačem -o můžete tuto kontrolu zrušit a použít definici lokace pro "
-#~ "dataset.\n"
-
-#~ msgid "%s: Error writing temporary file"
-#~ msgstr "%s: Chyba při zapisování do dočasného souboru"
-
-#, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Výstupní mapa topografického indexu:"
-
-#, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "Název základní rastrové mapy"
-
-#~ msgid ""
-#~ "\n"
-#~ "You can use the -o flag to r.in.gdal to override this check and use the "
-#~ "location definition for the dataset.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Můžete použít přepínač -o zrušení této kontroly.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "You can use the -o flag to %s to override this projection check.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Můžete použít přepínač -o pro %s a přeskočit toto ověření.\n"
-
-#~ msgid "[%s] not found"
-#~ msgstr "[%s] nenalezen"
-
-#~ msgid "Page length (default: %d lines)"
-#~ msgstr "Délka stránky (výchozí: %d řádků)"
-
-#~ msgid "Page width (default: %d characters)"
-#~ msgstr "Šířka stránky (výchozí: %d znaků)"
-
-#~ msgid "Lokace:"
-#~ msgstr "Location:"
-
-#, fuzzy
-#~ msgid "Default: path to the current GRASS database"
-#~ msgstr "Název cílového mapsetu"
-
-#, fuzzy
-#~ msgid "Full path to the directory where the new location is"
-#~ msgstr "nová GISDBASE (celá cesta k adrešáři, kde je uložena nová location)"
-
-#, fuzzy
-#~ msgid "Unpacks a vector map packed with v.pack."
-#~ msgstr "aktualizuji metadat vektorové mapy."
-
-#, fuzzy
-#~ msgid "Default value: GRASS_GUI if defined otherwise wxpython"
-#~ msgstr "Výchozí hodnota: GRASS_GUI pokud není jinak definováno tcltk"
-
-#, fuzzy
-#~ msgid ""
-#~ "Exports a vector map to a GPS receiver or file format supported by "
-#~ "GPSBabel."
-#~ msgstr "Exportuje GRASS vektory jako soubor DXF."
-
-#, fuzzy
-#~ msgid "Export as waypoints"
-#~ msgstr "Exportuj linie jako polygony"
-
-#, fuzzy
-#~ msgid "Export as routes"
-#~ msgstr "Exportuj linie jako polygony"
-
-#, fuzzy
-#~ msgid "Name for output file or GPS device"
-#~ msgstr "Název výstupního souboru"
-
-#, fuzzy
-#~ msgid "GPSBabel supported output format"
-#~ msgstr "Seznam podporovaných výstupních formátů"
-
-#, fuzzy
-#~ msgid "No default DB driver defined"
-#~ msgstr "Základní ovladač není nastaven"
-
-#, fuzzy
-#~ msgid "Field separator"
-#~ msgstr "Výstupní oddělovač sloupců"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "<%s> již existuje v mapsetu <%s>"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "PřevedeGRASS bodovou vrstvu na vektorovou mapu."
-
-#, fuzzy
-#~ msgid "No flag given"
-#~ msgstr "Chyba při načítání souboru se souřadnicemi"
-
-#, fuzzy
-#~ msgid "Renaming reclass maps"
-#~ msgstr "Načítám rastrovou mapu..."
-
-#, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "Nelze číst soubor REF podskupiny <%s> ve skupině <%s>."
-
-#, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d kategorií bylo načteno z tabulky <%s>"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "Měl by být zadán \"value=\" nebo \"-i\""
-
-#, fuzzy
-#~ msgid "Option <%s> and <%s> are mutually exclusive"
-#~ msgstr "-s a -n se navzájem vylučují"
-
-#, fuzzy
-#~ msgid "input= and file= are mutually exclusive"
-#~ msgstr "input= a source= se vzájemně vylučují"
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "Prosím, zadejte sloupec z"
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "Měl by být zadán \"value=\" nebo \"-i\""
-
-#, fuzzy
-#~ msgid "-p and output= are mutually exclusive"
-#~ msgstr "-r a -e se navzájem vylučují"
-
-#, fuzzy
-#~ msgid "file= and expression= are mutually exclusive"
-#~ msgstr "input= a source= se vzájemně vylučují"
-
-#, fuzzy
-#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
-#~ msgstr "weight= a -c se navzájem vylučují"
-
-#~ msgid "weight= and -c are mutually exclusive"
-#~ msgstr "weight= a -c se navzájem vylučují"
-
-#, fuzzy
-#~ msgid "weight= and gauss= are mutually exclusive"
-#~ msgstr "weight= a -c se navzájem vylučují"
-
-#, fuzzy
-#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
-#~ msgstr "-r a -e se navzájem vylučují"
-
-#, fuzzy
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "Neplatná hodnota pro scalex"
-
-#, fuzzy
-#~ msgid "output= and outfile= are mutually exclusive"
-#~ msgstr "input= a source= se vzájemně vylučují"
-
-#, fuzzy
-#~ msgid "samplingpos= and outfile= are mutually exclusive"
-#~ msgstr "input= a source= se vzájemně vylučují"
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Prosím, zadejte sloupec z"
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "Prosím, zadejte sloupec z"
-
-#, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr "input= a source= se vzájemně vylučují"
-
-#, fuzzy
-#~ msgid "datapos= and infile= are mutually exclusive"
-#~ msgstr "input= a source= se vzájemně vylučují"
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Prosím, zadejte sloupec z"
-
-#, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Prosím, zadejte sloupec z"
-
-#, fuzzy
-#~ msgid "Options <%s> and <%s> are mutually exclusive"
-#~ msgstr "-s a -n se navzájem vylučují"
-
-#, fuzzy
-#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
-#~ msgstr "-s a -n se navzájem vylučují"
-
-#, fuzzy
-#~ msgid "Flags -%c and -%c are mutually exclusive"
-#~ msgstr "-s a -n se navzájem vylučují"
-
-#, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "-s a -n se navzájem vylučují"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Jeden z přepínačů \"-i\" nebo \"-r\" nebo voleb \"color\", \"rast\" nebo "
-#~ "\"rules\" MUSÍ být zadána!"
-
-#, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr ""
-#~ "Jeden z přepínačů \"-i\" nebo \"-r\" nebo voleb \"color\", \"rast\" nebo "
-#~ "\"rules\" MUSÍ být zadána!"
-
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "Vypiš podporované formáty a ukonči se"
-
-#, fuzzy
-#~ msgid "Name of output basename raster map(s)"
-#~ msgstr "Název výstupní rastrové mapy"
-
-#, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "Chyba při převodu na diskrétní hodnoty v jednotkách mapy"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of attribute column to use for thematic display (must be numeric)"
-#~ msgstr "Název sloupce atributu, který má být použit pro štítky"
-
-#, fuzzy
-#~ msgid "Type of thematic display"
-#~ msgstr "Název rastrové mapy která bude zobrazena"
-
-#, fuzzy
-#~ msgid "Vector point icon for point data"
-#~ msgstr "Vektorová mapa s bodovými vzorky"
-
-#, fuzzy
-#~ msgid "Icon size for point data"
-#~ msgstr "Zaokrouhli data s plovoucí desetinnou čárkou"
-
-#, fuzzy
-#~ msgid "Number of classes for interval theme (integer)"
-#~ msgstr "Počet třid "
-
-#, fuzzy
-#~ msgid "Color for graduated points map"
-#~ msgstr "Tabulka barev pro <%s> byla aktualizována"
-
-#, fuzzy
-#~ msgid "Ending color for custom color gradient"
-#~ msgstr "Měřítkový faktor souřadnic x"
-
-#, fuzzy
-#~ msgid "Misc"
-#~ msgstr "Metrický"
-
-#, fuzzy
-#~ msgid "Files"
-#~ msgstr "Linie"
-
-#, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
-#~ msgstr "Název výstupní rastrové mapy (red-červená)"
-
-#, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr ""
-#~ "Vytvoř též maximální vzdálenost, na kterou může přeskočit jiskra a "
-#~ "způsobit požár"
-
-#, fuzzy
-#~ msgid "Display the "
-#~ msgstr "zobrazení"
-
-#, fuzzy
-#~ msgid ""
-#~ "Allows creation and/or modification of raster3d map layer support files."
-#~ msgstr ""
-#~ "Umožňuje vytvořit a/nebo modifikovat podpůrné soubory rastrové mapy."
-
-#, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "Nelze číst vektorovou mapy"
-
-#, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "Neschopen vytvořit tabulku: %s"
-
-#, fuzzy
-#~ msgid "Not enough memory"
-#~ msgstr "Není dostatek paměti"
-
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "OLD_T_NEW dostal jsem špatný typ kódu [%x]"
-
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "NEW_T_OLD dostal jsem špatný typ kódu [%x]"
-
-#~ msgid "Reading dig file..."
-#~ msgstr "Načítám soubor dig..."
-
-#~ msgid "Input file is version 3."
-#~ msgstr "Vstupní soubor je verze 3."
-
-#~ msgid "Input file is version 4."
-#~ msgstr "Vstupní soubor je verze 4."
-
-#~ msgid "Input file is portable."
-#~ msgstr "Vstupní soubor je přenositelný."
-
-#~ msgid ""
-#~ "Input file is not portable. We will attempt to convert anyway but "
-#~ "conversion may fail. Please read manual for detail information."
-#~ msgstr ""
-#~ "Vstupní soubor není přenositelný. Přesto se jej pokusím změnit, ale "
-#~ "převod může selhat. Prosím, přečtěte si manuál pro detailnější informace."
-
-#~ msgid "[%d] points read to memory"
-#~ msgstr "[%d]bodů načteno do paměti"
-
-#~ msgid "[%d] lines read to memory"
-#~ msgstr "[%d] linií načteno do paměti"
-
-#~ msgid "[%d] points read and written to output"
-#~ msgstr "[%d] bodů načteno a zapsáno do výstupu"
-
-#~ msgid "[%d] lines read and written to output"
-#~ msgstr "[%d] linií načteno a zapsáno do výstupu"
-
-#~ msgid "[%d] area boundaries read and written to output"
-#~ msgstr "[%d] hranic oblasti bylo načteno a zapsáno do výstupu"
-
-#~ msgid "[%d] dead points skipped"
-#~ msgstr "[%d] mrtvých bodů přeskočeno"
-
-#~ msgid "[%d] dead lines skipped"
-#~ msgstr "[%d] mrtvých linií přeskočeno"
-
-#~ msgid "[%d] dead area boundaries skipped"
-#~ msgstr "[%d] mrtvých hranic oblastí přeskočeno"
-
-#~ msgid "[%d] elements of unknown type skipped"
-#~ msgstr "[%d]prvků neznámého typu přeskočeno"
-
-#~ msgid "[%d] elements read to memory"
-#~ msgstr "[%d] prvků načteno do paměti."
-
-#~ msgid "Reading dig_att file..."
-#~ msgstr "Načítám soubor dig_att..."
-
-#~ msgid "Error: %s"
-#~ msgstr "Chyba: %s"
-
-#~ msgid "Unknown type: %c"
-#~ msgstr "Neznámý typ: %c"
-
-#~ msgid "[%d] point categories read"
-#~ msgstr "[%d] kategorií bodů načteno"
-
-#~ msgid "[%d] line categories read"
-#~ msgstr "[%d] kategorií linií načteno"
-
-#~ msgid "[%d] centroids read"
-#~ msgstr "[%d] centroidů načteno"
-
-#~ msgid "[%d] dead point categories skipped"
-#~ msgstr "[%d] mrtvých bodů kategorií přeskočeno"
-
-#~ msgid "[%d] dead line categories skipped"
-#~ msgstr "[%d] mrtvých kategorií linií přeskočeno"
-
-#~ msgid "[%d] dead centroids skipped"
-#~ msgstr "[%d] mrtvých centroidů přeskočeno"
-
-#~ msgid "[%d] categories of unknown type skipped"
-#~ msgstr "[%d] kategorií neznámého typu přeskočeno"
-
-#~ msgid "[%d] categories read into memory"
-#~ msgstr "[%d] kategorií načteno do paměti."
-
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr ""
-#~ "Nebyly nalezeny žádné štítky kategorií (dig_cats), nebyla vytvořena "
-#~ "tabulka."
-
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "Nelze otevřít soubor dig_cats"
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "Otevření vstupního souboru dig selhalo."
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "Soubor dig_att neexistuje."
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "Otevření vstupního souboru dig_att selhalo."
-
-#~ msgid "Attaching categories..."
-#~ msgstr "Přidávám kategorie..."
-
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr "Selhalo přidávání atributu (kategorie %d) k linii."
-
-#~ msgid "Line %d label: %d matched another label: %d."
-#~ msgstr "Linie %d štítek: %d odpovídá jinému štítku: %d."
-
-#~ msgid "Writing new file..."
-#~ msgstr "Zapisuji nový soubor..."
-
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "[%d] body a linie byly zapsány do výstupního souboru."
-
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "[%d] centroidy byly zapsány do výstupního souboru."
-
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Importuje starší verze GRASS vektorových map."
-
-#~ msgid "Endian of input vector map"
-#~ msgstr "Endián pro vstupní vektorovou mapu"
-
-#~ msgid "Interpolation spline step value in east direction"
-#~ msgstr "Hodnota kroku spline interpolace v východním směru"
-
-#~ msgid "Interpolation spline step value in north direction"
-#~ msgstr "Hodnota kroku spline interpolace v severním směru"
-
-#~ msgid "Unknown raster map type"
-#~ msgstr "Neznámý typ rastrové mapy"
-
-#~ msgid "Cache size (MiB)"
-#~ msgstr "Velikost cache (MiB)"
-
-#~ msgid "Can't call bad function"
-#~ msgstr "Nelze volat špatnou funkci"
-
-#~ msgid "Bad arguments to pointfunc %s"
-#~ msgstr "Chybné argumenty pro pointfunc %s"
-
-#~ msgid "No function defined to perform ``point %c point''"
-#~ msgstr "Není definována žádná funkce pro vykonání \"bod %c bod\""
-
-#~ msgid "Performing 1 arg map function on map %s"
-#~ msgstr "Vykonávám funkci s 1 argumentem na mapě %s"
-
-#~ msgid "Performing 2 arg map function on maps %s and %s"
-#~ msgstr "Vykonávám funkci s 2 argumenty na mapách %s a %s"
-
-#~ msgid "Performing map %s + %s"
-#~ msgstr "Vykonávání mapa %s + %s"
-
-#~ msgid "Can't call bad map-function"
-#~ msgstr "Nelze volat špatnou mapovou funkci"
-
-#~ msgid "Bad arguments to mapfunc %s (argc = %d)"
-#~ msgstr "Špatné argumenty mapové funkce %s (argc = %d)"
-
-#~ msgid "No function defined to perform map %c map"
-#~ msgstr "Není definována žádná funkce pro vykonání mapa %c mapa"
-
-#~ msgid "Can't call bad num-function"
-#~ msgstr "Nelze volat špatnou numerickou funkci"
-
-#~ msgid "Bad arguments to numfunc %s"
-#~ msgstr "Špatné agrumenty numerické funkce %s"
-
-#~ msgid "No function defined to perform ``number %c number''"
-#~ msgstr "Není definována žádná funkce pro vykonání \"číslo %c číslo\""
-
-#~ msgid "Can't call bad any-function"
-#~ msgstr "Nelze volat chybnou funkci"
-
-#~ msgid "Bad arguments to anyfunc %s (argc = %d)"
-#~ msgstr "Chybné argumenty pro anyfunc %s (argc = %d)"
-
-#~ msgid "One or more coordinates"
-#~ msgstr "Jedna nebo více souřadnic"
-
-#~ msgid "Not enough memory for adx"
-#~ msgstr "Pro adx není dostatek paměti"
-
-#~ msgid "Not enough memory for ady"
-#~ msgstr "Pro ady není dostatek paměti"
-
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "Pro adxx není dostatek paměti"
-
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "Pro adyy není dostatek paměti"
-
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "Pro adxy není dostatek paměti"
-
-#~ msgid "Cannot create quaddata"
-#~ msgstr "Nelze vytvořit quaddata"
-
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "Nelze vytvořit quadfunc"
-
-#~ msgid "Cannot create tree"
-#~ msgstr "Nelze vytvořit tree"
-
-#~ msgid "Cannot create tree info"
-#~ msgstr "Nelze vytvořit tree info"
-
-#~ msgid "sites"
-#~ msgstr "body"
-
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "PřevedeGRASS bodovou vrstvu na vektorovou mapu."
-
-#~ msgid "Site file <%s> not found"
-#~ msgstr "GRASS site soubor <%s> nebyl nalezen"
-
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "Nelze přiřadit formát pro GRASS site"
-
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "Selhalo alokování struktury GRASS site"
-
-#~ msgid "Input format: dimension: %d strings: %d FP: %d"
-#~ msgstr "Vstupní formát: dimeenze: %d řetězec: %d FP: %d"
-
-#~ msgid ""
-#~ "Floating point category values, using sequential integer for category"
-#~ msgstr ""
-#~ "Hodnoty kategorií map desetinnou čárkou, použiji postupný převod celých "
-#~ "čísel pro kategorie"
-
-#~ msgid "No category values, using sequential integer for category"
-#~ msgstr ""
-#~ "Žádná hodnota kategorie, použiji postupný převod celých čísel  pro "
-#~ "kategorie"
-
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr "Převádím GRASS site na vektorovou mapu..."
-
-#~ msgid "%d sites written."
-#~ msgstr "%d bodů zapsáno."
-
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "Název mapy, která má být použita jako INTENZITA  systému IHS"
-
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "Název mapy, která má být použita jako NASYCENOST v systému IHS"
-
-#, fuzzy
-#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
-#~ msgstr "Jméno výstupního souboru s výsledky chybové matice a kappa index"
-
-#, fuzzy
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "Název rastrové mapy pro vložení do skupiny"
-
-#, fuzzy
-#~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
-#~ msgstr "Mpa obsahují početní výsledky [m]"
-
-#, fuzzy
-#~ msgid ""
-#~ "Computes anisotropic cumulative cost of moving between different "
-#~ "geographic locations on an input elevation raster map whose cell category "
-#~ "values represent elevation combined with an input raster map layer whose "
-#~ "cell values represent friction cost."
-#~ msgstr ""
-#~ "Vytvoří rastrovou mapu obsahující anisotropické kumulativní náklady "
-#~ "pohybumezi různými geografickými polohami po vstupní rastrové mapě s "
-#~ "výškou, jejížhodnoty buněk reprezentují výšku kombinovanou s další mapou, "
-#~ "jejíž hodnoty reprezentují frikční povrch."
-
-#~ msgid "Name of output layer to be used for GREEN"
-#~ msgstr "Název výstupní mapy, která bude použita jako ZELENÁ v systému RGB"
-
-#~ msgid "Name of output layer to be used for BLUE"
-#~ msgstr "Název výstupní mapy, která bude použita jako MODRÁ v systému RGB"
-
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Nástroj pro interpolaci povrchů rastrových map."
-
-#~ msgid "Surface generation program."
-#~ msgstr "Program pro tvorbu povrchů."
-
-#~ msgid ""
-#~ "Lat/long databases not supported by r.surf.idw2. Use r.surf.idw instead!"
-#~ msgstr ""
-#~ "Location v systému lat/long není r.surf.idw2 není podporována, použijte r."
-#~ "surf.idw"
-
-#~ msgid "%s=%s - illegal number of interpolation points"
-#~ msgstr "%s=%s - neplatný počet bodů pro interpolaci"
-
-#~ msgid "%s: no data points found"
-#~ msgstr "%s: nebyly nalezeny žádné body"
-
-#, fuzzy
-#~ msgid "Interpolating raster map <%s>... %d row... "
-#~ msgid_plural "Interpolating raster map <%s>... %d rows... "
-#~ msgstr[0] "Interpoluji rastrovou mapu <%s> ... řádek %d ..."
-#~ msgstr[1] "Interpoluji rastrovou mapu <%s> ... řádek %d ..."
-
-#~ msgid "lat/lon projection not supported at this time."
-#~ msgstr "lat/long projekce není v současnosti podporována"
-
-#, fuzzy
-#~ msgid "allocation"
-#~ msgstr "alokace"
-
-#, fuzzy
-#~ msgid "networking"
-#~ msgstr "síťování"
-
-#~ msgid "Name of elevation map"
-#~ msgstr "Jméno mapy elevace"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Znak pro označení buněk s hodnotou NULL"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Jeden z přepínačů \"-i\" nebo \"-r\" nebo voleb \"color\", \"rast\" nebo "
-#~ "\"rules\" MUSÍ být zadána!"
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Jeden z přepínačů \"-i\" nebo \"-r\" nebo voleb \"color\", \"rast\" nebo "
-#~ "\"rules\" MUSÍ být zadána!"
-
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "Neznámá metrika: [%s]."
-
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "Chyba při čtení soubor kategeorií pro <%s>"
-
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "Chyba při čtení souboru color pro <%s>"
-
-#~ msgid "String representing no data cell value"
-#~ msgstr "Textový řetězec reprezentující buňky s hodnotou \"no data\""
-
-#~ msgid "Output z-file (elevation) map"
-#~ msgstr "Výstupní z-soubor nadmořských výšek"
-
-#~ msgid "Output aspect map (or fy)"
-#~ msgstr "Výstupní mapa expozice (nebo fy)"
-
-#~ msgid "Prefix for output raster map(s)"
-#~ msgstr "Předpona výstupních rastrových map"
-
-#, fuzzy
-#~ msgid "String to represent no data cell"
-#~ msgstr "Znak pro označení buněk s hodnotou NULL"
-
-#~ msgid "Character to represent no data cell"
-#~ msgstr "Znak pro označení buněk s hodnotou NULL"
-
-#~ msgid "Binary raster file to be imported"
-#~ msgstr "Název rastrového souboru, který má být importován"
-
-#~ msgid "Name of spread path raster map"
-#~ msgstr "Název rastrové mapy obsahující cesty šíření"
-
-#~ msgid "Run verbosely"
-#~ msgstr "Rozšířený výpis"
-
-#, fuzzy
-#~ msgid "%s available in mapset <%s>:"
-#~ msgstr "Vypiš přítomné vrstvy a ukonči se"
-
-#~ msgid "Null value indicator"
-#~ msgstr "Indikátor hodnoty NULL záznamu"
-
-#~ msgid "Suppress warnings"
-#~ msgstr "Potlač varování"
-
-#, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "GeoTIFF možnosti vytvoření"
-
-#, fuzzy
-#~ msgid "Name of input raster map(s)"
-#~ msgstr "Název vstupní rastrové mapy"
-
-#, fuzzy
-#~ msgid "The output type of the space time dataset"
-#~ msgstr "Název souboru s filtrem"
-
-#, fuzzy
-#~ msgid "Type of the aggregation space time dataset, default is strds"
-#~ msgstr "Název souboru s filtrem"
-
-#, fuzzy
-#~ msgid "Prefix for output raster maps (default: input)"
-#~ msgstr "Jméno výstupní rastrové mapy (výchozí: jméno vstupní mapy)"
-
-#, fuzzy
-#~ msgid "Name of elevation raster map"
-#~ msgstr "Název rastrového souboru s digitálním modelem terénu"
-
-#, fuzzy
-#~ msgid "coordinates of the outlet (east,north)"
-#~ msgstr "Souřadnice středu (východ, sever)"
-
-#, fuzzy
-#~ msgid "threshold"
-#~ msgstr "Nástroj: Mezní hodnota"
-
-#, fuzzy
-#~ msgid "No maps output"
-#~ msgstr "Žádné výstupní mapy"
-
-#, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
-#~ msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
-
-#, fuzzy
-#~ msgid "Data to be classified: column name or expression"
-#~ msgstr "Jméno sloupce nebo výraz"
-
-#~ msgid "Create grid of points instead of areas and centroids"
-#~ msgstr "Vytvořit mřížku bodů místo ploch a centroidů"
-
-#, fuzzy
-#~ msgid "Create grid as lines, instead of areas"
-#~ msgstr "Vytvořit mřížku bodů místo ploch a centroidů"
-
-#~ msgid "Invalid distance"
-#~ msgstr "Chybná vzdálenost"
-
-#~ msgid "Layer number"
-#~ msgstr "Číslo vrstvy"
diff --git a/locale/po/grassmods_de.po b/locale/po/grassmods_de.po
index 9e2b46e..25f23d4 100644
--- a/locale/po/grassmods_de.po
+++ b/locale/po/grassmods_de.po
@@ -15052,7 +15052,7 @@ msgid "Name of target mapset"
 msgstr "Name des Zielmapsets."
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Setzt aktuelle Location und Mapset als Ziel für die Bildgruppe."
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -34796,10 +34796,9 @@ msgstr "Unbekannte Operater"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Kann Spalten-Zeichenkette [%s] nicht tokenisieren"
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
-msgstr "Transformiere Feature..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
+msgstr "Transformiere Objekte..."
 
 #: ../vector/v.transform/main.c:290
 #, fuzzy, c-format
@@ -37835,10 +37834,6 @@ msgstr "Spalte muss numerisch sein."
 msgid "Reading categories..."
 msgstr "Lese Kategorien..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Transformiere Objekte..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -40857,7 +40852,7 @@ msgstr ""
 
 #: ../vector/v.build/main.c:61
 #, fuzzy
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 "Erzeuge Topologie oder schreibe die Topologie oder den räumlichen Index nach "
 "stdout."
diff --git a/locale/po/grassmods_el.po b/locale/po/grassmods_el.po
index 3975643..6d17dcb 100644
--- a/locale/po/grassmods_el.po
+++ b/locale/po/grassmods_el.po
@@ -14446,7 +14446,7 @@ msgid "Name of target mapset"
 msgstr ""
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -33022,10 +33022,14 @@ msgstr "Άγνωστος τύπος"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
-msgstr "Εγγραφή %s από %s..."
+msgid "Transforming features..."
+msgstr ""
+"#-#-#-#-#  grassmods_el.po (grassmods_el)  #-#-#-#-#\n"
+"Εγγραφή %s από %s...\n"
+"#-#-#-#-#  grassmods_el.po (grassmods_el)  #-#-#-#-#\n"
 
 #: ../vector/v.transform/main.c:290
 #, fuzzy, c-format
@@ -35848,10 +35852,6 @@ msgstr ""
 msgid "Reading categories..."
 msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr ""
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -38681,7 +38681,7 @@ msgid ""
 msgstr "Όνομα εξαγόμενου διανυσματικού χάρτη"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_es.po b/locale/po/grassmods_es.po
index 6babb32..954ab9a 100644
--- a/locale/po/grassmods_es.po
+++ b/locale/po/grassmods_es.po
@@ -15068,7 +15068,7 @@ msgid "Name of target mapset"
 msgstr "Nombre de destino del conjunto de mapas"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 "Asignar la localización y el conjunto de mapas activo como destino del grupo "
 "de imágenes"
@@ -34920,10 +34920,9 @@ msgstr "Operador desconocido"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "a"
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
-msgstr "Trasponiendo la matriz de valores propios..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
+msgstr "Transformando elementos..."
 
 #: ../vector/v.transform/main.c:290
 #, fuzzy, c-format
@@ -37975,10 +37974,6 @@ msgstr "La columna tiene que ser numérica"
 msgid "Reading categories..."
 msgstr "Adjuntando categorías..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Transformando elementos..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -40978,7 +40973,7 @@ msgstr ""
 "Nombre del mapa vectorial donde se escriben elementos vectoriales erróneos"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr "Construir topología o volcar topología o índices a salida estandar"
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_fi.po b/locale/po/grassmods_fi.po
index aa7ed6a..b6bace3 100644
--- a/locale/po/grassmods_fi.po
+++ b/locale/po/grassmods_fi.po
@@ -13812,7 +13812,7 @@ msgid "Name of target mapset"
 msgstr ""
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -31655,8 +31655,9 @@ msgstr ""
 msgid "Unable to tokenize column string: [%s]"
 msgstr ""
 
-#: ../vector/v.transform/main.c:277
-msgid "Tranforming features..."
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
 msgstr ""
 
 #: ../vector/v.transform/main.c:290
@@ -34388,10 +34389,6 @@ msgstr ""
 msgid "Reading categories..."
 msgstr ""
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr ""
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -37124,7 +37121,7 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_fr.po b/locale/po/grassmods_fr.po
index 6aa8362..f203956 100644
--- a/locale/po/grassmods_fr.po
+++ b/locale/po/grassmods_fr.po
@@ -15751,7 +15751,7 @@ msgid "Name of target mapset"
 msgstr "Nom du jeu de données en sortie"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 "Règle le Secteur courant et le jeu de donnée comme cible du groupe d'images"
 
@@ -36548,9 +36548,10 @@ msgstr "Type inconnu"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Impossible d'ouvrir le fichier de cellules pour [%s]"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "Rotation des données ... "
 
 #: ../vector/v.transform/main.c:290
@@ -39730,11 +39731,6 @@ msgstr "Nom de la colonne (le type doit être numérique)"
 msgid "Reading categories..."
 msgstr "Rattachement des catégories...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "Rotation des données ... "
-
 # c-format
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
@@ -42888,7 +42884,7 @@ msgid ""
 msgstr "Nom de la couche en sortie où les erreurs seront écrites"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_it.po b/locale/po/grassmods_it.po
index 9e50df0..46e7b30 100644
--- a/locale/po/grassmods_it.po
+++ b/locale/po/grassmods_it.po
@@ -14838,7 +14838,7 @@ msgid "Name of target mapset"
 msgstr "Nome del mapset di destinazione"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 "Imposta location e mapset correnti come destinazione del gruppo di immagini"
 
@@ -34211,9 +34211,8 @@ msgstr "Tipo di colonna sconosciuto '%s'"
 msgid "Unable to tokenize column string: [%s]"
 msgstr ""
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
 msgstr "Trasformazione degli elementi in corso..."
 
 #: ../vector/v.transform/main.c:290
@@ -37172,10 +37171,6 @@ msgstr "La colonna dev'essere di tipo numerico"
 msgid "Reading categories..."
 msgstr "Assegnazione delle categorie in corso..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Trasformazione degli elementi in corso..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -40094,7 +40089,7 @@ msgid ""
 msgstr "Nome della mappa vettoriale di output su cui scrivere i segmenti"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_ja.po b/locale/po/grassmods_ja.po
index b6d9d6d..8c9c04c 100644
--- a/locale/po/grassmods_ja.po
+++ b/locale/po/grassmods_ja.po
@@ -14925,7 +14925,7 @@ msgid "Name of target mapset"
 msgstr "ターゲットマップセット名"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 "画像グループのターゲットとして現在のロケーションとマップセットを設定する。"
 
@@ -34196,9 +34196,8 @@ msgstr "不明な操作"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "列の文字を分割できません: [%s]"
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
 msgstr "フィーチャーを変換中、、、"
 
 #: ../vector/v.transform/main.c:290
@@ -37153,10 +37152,6 @@ msgstr "列は数字でなくてはいけません"
 msgid "Reading categories..."
 msgstr "カテゴリーを添付中、、、"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "フィーチャーを変換中、、、"
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -40117,7 +40112,7 @@ msgstr "誤ったベクトルフィーチャーが書き込まれているベク
 
 #: ../vector/v.build/main.c:61
 #, fuzzy
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 "トポロジーまたはダンプトポロジーまたは空間インデックスをstdoutに作成します  "
 
diff --git a/locale/po/grassmods_ko.po b/locale/po/grassmods_ko.po
index 64863c3..f3c874e 100644
--- a/locale/po/grassmods_ko.po
+++ b/locale/po/grassmods_ko.po
@@ -14519,7 +14519,7 @@ msgid "Name of target mapset"
 msgstr ""
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -33203,9 +33203,10 @@ msgstr "출력할 격자지도"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "출력할 격자지도"
 
 #: ../vector/v.transform/main.c:290
@@ -36047,11 +36048,6 @@ msgstr ""
 msgid "Reading categories..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "출력할 격자지도"
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -38902,7 +38898,7 @@ msgid ""
 msgstr "출력할 격자지도"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_lv.po b/locale/po/grassmods_lv.po
index 666a9f4..e4ea95e 100644
--- a/locale/po/grassmods_lv.po
+++ b/locale/po/grassmods_lv.po
@@ -14923,7 +14923,7 @@ msgid "Name of target mapset"
 msgstr "Rastra kartes nosaukums"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -34166,9 +34166,10 @@ msgstr "Nezināms/nepazīstms tips"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Neiespējami atvērt šūnu failu[%s]"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "Drukā ... "
 
 #: ../vector/v.transform/main.c:290
@@ -37178,11 +37179,6 @@ msgstr "vektora karte <%s> nav atrasta"
 msgid "Reading categories..."
 msgstr "Pievieno kategorijas...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "Drukā ... "
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -40166,7 +40162,7 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_pl.po b/locale/po/grassmods_pl.po
index 7166565..4dacef0 100644
--- a/locale/po/grassmods_pl.po
+++ b/locale/po/grassmods_pl.po
@@ -14999,7 +14999,7 @@ msgid "Name of target mapset"
 msgstr "Nazwa docelowego mapsetu"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Ustaw bieżącą lokację i mapset jako docelowe dla grupy obrazów"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -34288,10 +34288,9 @@ msgstr "Nieznany typ kolumny '%s'"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Nie mozna otworzyć pliku wejściowego <%s@%s>."
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
-msgstr "Wczytywanie danych..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
+msgstr "Transformacja obiektów..."
 
 #: ../vector/v.transform/main.c:290
 #, fuzzy, c-format
@@ -37263,10 +37262,6 @@ msgstr "Kolumna musi to być numeryczna"
 msgid "Reading categories..."
 msgstr "Dołączanie kategorii..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Transformacja obiektów..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -40206,7 +40201,7 @@ msgid ""
 msgstr "Nazwa wyjściowej wektorowej mapy punktów"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_pt.po b/locale/po/grassmods_pt.po
index b32de95..a9e82b8 100644
--- a/locale/po/grassmods_pt.po
+++ b/locale/po/grassmods_pt.po
@@ -15365,7 +15365,7 @@ msgid "Name of target mapset"
 msgstr "Nome do mapset de destino"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Definir loca��o e mapset atuais como destino para um grupo de imagens"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -35295,9 +35295,10 @@ msgstr "Tipo desconhecido"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "N�o consegui usar a coluna '%s'"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "Rotacionando dados ... "
 
 #: ../vector/v.transform/main.c:290
@@ -38353,11 +38354,6 @@ msgstr "Nome da coluna (tipo deve ser num
 msgid "Reading categories..."
 msgstr "Anexando categorias...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "Rotacionando dados ... "
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -41385,7 +41381,7 @@ msgid ""
 msgstr "Mapa de sa�da no qual os erros ser�o gravados"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_pt_br.po b/locale/po/grassmods_pt_br.po
index 83db35c..218fa89 100644
--- a/locale/po/grassmods_pt_br.po
+++ b/locale/po/grassmods_pt_br.po
@@ -15365,7 +15365,7 @@ msgid "Name of target mapset"
 msgstr "Nome do mapset de destino"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Definir loca��o e mapset atuais como destino para um grupo de imagens"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -35214,9 +35214,10 @@ msgstr "Tipo desconhecido"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "N�o consegui usar a coluna '%s'"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "Rotacionando dados ... "
 
 #: ../vector/v.transform/main.c:290
@@ -38277,11 +38278,6 @@ msgstr "Nome da coluna (tipo deve ser num
 msgid "Reading categories..."
 msgstr "Anexando categorias...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "Rotacionando dados ... "
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -41309,7 +41305,7 @@ msgid ""
 msgstr "Mapa de sa�da no qual os erros ser�o gravados"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_ro.po b/locale/po/grassmods_ro.po
index 132428c..c2c389d 100644
--- a/locale/po/grassmods_ro.po
+++ b/locale/po/grassmods_ro.po
@@ -13989,7 +13989,7 @@ msgid "Name of target mapset"
 msgstr ""
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -32165,9 +32165,9 @@ msgstr ""
 msgid "Unable to tokenize column string: [%s]"
 msgstr ""
 
-#: ../vector/v.transform/main.c:277
-msgid "Tranforming features..."
-msgstr ""
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
+msgstr "Transformarea trăsăturilor..."
 
 #: ../vector/v.transform/main.c:290
 #, c-format
@@ -34991,10 +34991,6 @@ msgstr "Coloana trebuie sa fie numerică"
 msgid "Reading categories..."
 msgstr ""
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Transformarea trăsăturilor..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -37749,7 +37745,7 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_ru.po b/locale/po/grassmods_ru.po
index 648b230..8946d72 100644
--- a/locale/po/grassmods_ru.po
+++ b/locale/po/grassmods_ru.po
@@ -15096,7 +15096,7 @@ msgid "Name of target mapset"
 msgstr "Имя целевого набора"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Установить текущую область и набор как целевые для группы изображений"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -34854,9 +34854,8 @@ msgstr "Неизвестная операция"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Невозможно разбить строку %s"
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
 msgstr "Трансформирование объектов..."
 
 #: ../vector/v.transform/main.c:290
@@ -37877,10 +37876,6 @@ msgstr "Тип поля должен быть числовым"
 msgid "Reading categories..."
 msgstr "Присоединение категорий..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Трансформирование объектов..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -40878,7 +40873,7 @@ msgstr "Имя векторного слоя, куда записываются
 
 #: ../vector/v.build/main.c:61
 #, fuzzy
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 "Построить топологию или вывести топологию или пространственный индекс в "
 "stdout"
diff --git a/locale/po/grassmods_sl.po b/locale/po/grassmods_sl.po
index aaba38d..007c349 100644
--- a/locale/po/grassmods_sl.po
+++ b/locale/po/grassmods_sl.po
@@ -15068,7 +15068,7 @@ msgid "Name of target mapset"
 msgstr "Ime izhodnega rastrskega sloja"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -34646,9 +34646,10 @@ msgstr "Nepoznan tip"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Ne morem odpreti cellfile za [%s]"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "Ri�em ..."
 
 #: ../vector/v.transform/main.c:290
@@ -37634,11 +37635,6 @@ msgstr "Ne najdem vhodnega vektorja <%s>"
 msgid "Reading categories..."
 msgstr "Pripajam kategorije...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "Ri�em ..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -40598,7 +40594,7 @@ msgid ""
 msgstr "Ime izhodnega vektorskega sloja"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_th.po b/locale/po/grassmods_th.po
index 26e593b..4dcb708 100644
--- a/locale/po/grassmods_th.po
+++ b/locale/po/grassmods_th.po
@@ -15047,7 +15047,7 @@ msgid "Name of target mapset"
 msgstr "ชื่อของ ชุดแผนที่เป้าหมาย"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "กำหนด ตำแหน่งและชุดแผนที่ ปัจจุบัน เป็นเป้าหมายสำหรับ กลุ่มภาพ"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -34477,9 +34477,10 @@ msgstr "การทำงาน ที่ไม่ทราบ"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "ไม่สามารถ  tokenize Column string: %s"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "กำลังอ่านข้อมูล ..."
 
 #: ../vector/v.transform/main.c:290
@@ -37469,11 +37470,6 @@ msgstr "ชื่อ Column (ชนิดต้องเป็นตัวเล
 msgid "Reading categories..."
 msgstr "กำลังแนบ หมวดหมู่ ..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "กำลังอ่านข้อมูล ..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -40423,7 +40419,7 @@ msgstr "ชื่อของ แผนที่เชิงเส้น ที
 
 #: ../vector/v.build/main.c:61
 #, fuzzy
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr "สร้าง topology หรือ dump topology หรือ spatial index ไปที่ stdout"
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_tr.po b/locale/po/grassmods_tr.po
index 7b8e8bf..9200026 100644
--- a/locale/po/grassmods_tr.po
+++ b/locale/po/grassmods_tr.po
@@ -14865,7 +14865,7 @@ msgid "Name of target mapset"
 msgstr "Hedef harita takımının adı"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -33835,9 +33835,10 @@ msgstr "Bilinmeyen işlem"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "<%s> sütunu kullanılamıyor"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "Veri okunuyor..."
 
 #: ../vector/v.transform/main.c:290
@@ -36755,11 +36756,6 @@ msgstr "Sütun adı (sayı tipinde olmalıdır)"
 msgid "Reading categories..."
 msgstr "Kategoriler ekleniyor..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "Veri okunuyor..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -39643,7 +39639,7 @@ msgid ""
 msgstr "Hatalı vektör objelerinin yazılacağı vektör haritanın adı"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grassmods_vi.po b/locale/po/grassmods_vi.po
index cb2f83f..19c5f76 100644
--- a/locale/po/grassmods_vi.po
+++ b/locale/po/grassmods_vi.po
@@ -15126,7 +15126,7 @@ msgid "Name of target mapset"
 msgstr "Tên của bộ bản đồ đích"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Thiết lập vị trí và bộ bản đồ hiện tại làm đích cho nhóm ảnh"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -34860,9 +34860,8 @@ msgstr "Lệnh không biết"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Không thể thẻ hoá chuỗi cột: [%s]"
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
 msgstr "Đang chuyển đổi các đối tượng..."
 
 #: ../vector/v.transform/main.c:290
@@ -37877,10 +37876,6 @@ msgstr "Cột phải có kiểu số"
 msgid "Reading categories..."
 msgstr "Đang gắn các phạm trù..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Đang chuyển đổi các đối tượng..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -40862,7 +40857,7 @@ msgstr "Tên của bản đồ vec-tơ dùng để lưu các đối tượng vec
 
 #: ../vector/v.build/main.c:61
 #, fuzzy
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 "Xây dựng tôpô hoặc 'đổ' tôpô hoặc chỉ mục không gian vào đầu ra tiêu chuẩn"
 
diff --git a/locale/po/grassmods_zh.po b/locale/po/grassmods_zh.po
index 9673cc7..a439807 100644
--- a/locale/po/grassmods_zh.po
+++ b/locale/po/grassmods_zh.po
@@ -14995,7 +14995,7 @@ msgid "Name of target mapset"
 msgstr ""
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -34561,9 +34561,10 @@ msgstr "未知的类型"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "无法打开输出文件 <%s>"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "读取地图"
 
 #: ../vector/v.transform/main.c:290
@@ -37539,11 +37540,6 @@ msgstr "x/y/z 字段必须是整型或双精度的"
 msgid "Reading categories..."
 msgstr "分类...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "读取地图"
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -40508,7 +40504,7 @@ msgid ""
 msgstr "用来存放错误信息的输出地图的名称"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
diff --git a/locale/po/grasswxpy_cs.po b/locale/po/grasswxpy_cs.po
index ac173d2..096dd85 100644
--- a/locale/po/grasswxpy_cs.po
+++ b/locale/po/grasswxpy_cs.po
@@ -12,24 +12,26 @@ msgstr ""
 "Project-Id-Version: grasswxpy_cs\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-01-24 21:19+0100\n"
-"PO-Revision-Date: 2015-03-15 18:32+0100\n"
-"Last-Translator: Stanislav Horáček <stanislav.horacek at gmail.com>\n"
-"Language-Team: <freegeocz at fsv.cvut.cz>\n"
+"PO-Revision-Date: 2016-04-09 18:58+0200\n"
+"Last-Translator: Jan Trochta <j.trochta at gmail.com>\n"
+"Language-Team: cs at li.org\n"
 "Language: cs_CS\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.8.4\n"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:47
 msgid "Data properties"
 msgstr "Vlastnosti dat"
 
-#: ../gui/wxpython/gmodeler/dialogs.py:76 ../gui/wxpython/iclass/dialogs.py:239
+#: ../gui/wxpython/gmodeler/dialogs.py:76
+#: ../gui/wxpython/iclass/dialogs.py:239
 msgid "Name of raster map:"
 msgstr "Jméno rastrové mapy:"
 
-#: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
+#: ../gui/wxpython/gmodeler/dialogs.py:78
+#: ../gui/wxpython/iclass/dialogs.py:241
 #: ../gui/wxpython/gui_core/dialogs.py:212
 msgid "Name of vector map:"
 msgstr "Jméno vektorové mapy:"
@@ -45,9 +47,8 @@ msgid "Type of element:"
 msgstr "Jméno prvku:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:141
-#, fuzzy
 msgid "Add GRASS command to the model"
-msgstr "Přidat akci do modelu"
+msgstr "Přidat do modelu příkaz GRASSu"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:160
 #: ../gui/wxpython/gmodeler/dialogs.py:438
@@ -63,15 +64,14 @@ msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:198
 #: ../gui/wxpython/gmodeler/frame.py:1357
-#, fuzzy
 msgid "Label:"
-msgstr "Vrstva"
+msgstr "Popisek:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:202
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/gmodeler/frame.py:1369
-#, fuzzy
+#: ../gui/wxpython/gmodeler/frame.py:745
+#: ../gui/wxpython/gmodeler/frame.py:1369
 msgid "Comment:"
-msgstr "Příkazy"
+msgstr "Komentář:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:255
 msgid ""
@@ -113,9 +113,8 @@ msgid "Data: %s"
 msgstr "Data"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:360
-#, fuzzy
 msgid "Command:"
-msgstr "Příkazy"
+msgstr "Příkaz:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:366
 #, fuzzy
@@ -150,10 +149,10 @@ msgstr "Podmínka"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
-#, fuzzy
+#: ../gui/wxpython/gmodeler/frame.py:1593
+#: ../gui/wxpython/psmap/dialogs.py:2619
 msgid "Label"
-msgstr "Vrstva"
+msgstr "Popisek"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:458
 msgid "Loop properties"
@@ -244,9 +243,8 @@ msgid "General"
 msgstr "Obecné"
 
 #: ../gui/wxpython/gmodeler/preferences.py:52
-#, fuzzy
 msgid "Item properties"
-msgstr "Vlastnosti dat"
+msgstr "Vlastnosti prvku"
 
 #: ../gui/wxpython/gmodeler/preferences.py:59
 msgid "Disabled:"
@@ -280,9 +278,8 @@ msgstr "Běží:"
 #: ../gui/wxpython/gmodeler/preferences.py:271
 #: ../gui/wxpython/gmodeler/preferences.py:356
 #: ../gui/wxpython/gmodeler/preferences.py:441
-#, fuzzy
 msgid "Shape size"
-msgstr "Index ostrosti"
+msgstr "Velikost tvaru"
 
 #: ../gui/wxpython/gmodeler/preferences.py:159
 #: ../gui/wxpython/gmodeler/preferences.py:278
@@ -305,7 +302,8 @@ msgstr "Šířka:"
 msgid "Height:"
 msgstr "Výška:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204
+#: ../gui/wxpython/nviz/tools.py:92
 msgid "Data"
 msgstr "Data"
 
@@ -329,7 +327,7 @@ msgstr "Vektor:"
 
 #: ../gui/wxpython/gmodeler/preferences.py:323
 msgid "Loop"
-msgstr ""
+msgstr "Smyčka"
 
 #: ../gui/wxpython/gmodeler/preferences.py:408
 #, fuzzy
@@ -364,12 +362,12 @@ msgid "Apply properties"
 msgstr "Přijmout vlastnosti"
 
 #: ../gui/wxpython/gmodeler/preferences.py:539
-#: ../gui/wxpython/wxplot/dialogs.py:692 ../gui/wxpython/wxplot/dialogs.py:1137
-#: ../gui/wxpython/psmap/dialogs.py:355
+#: ../gui/wxpython/wxplot/dialogs.py:692
+#: ../gui/wxpython/wxplot/dialogs.py:1137 ../gui/wxpython/psmap/dialogs.py:355
 #: ../gui/wxpython/vdigit/preferences.py:62
 #: ../gui/wxpython/gui_core/preferences.py:96
 msgid "Close dialog and ignore changes"
-msgstr "Zavřít dialog a ignorovat provedené změny"
+msgstr "Zavřít dialog a ignorovat změny"
 
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
@@ -379,7 +377,7 @@ msgstr "Zavřít dialog a ignorovat provedené změny"
 #: ../gui/wxpython/gui_core/gselect.py:1450
 #: ../gui/wxpython/gui_core/widgets.py:1081
 msgid "Name:"
-msgstr "Jméno:"
+msgstr "Název:"
 
 #: ../gui/wxpython/gmodeler/preferences.py:558
 msgid "Description:"
@@ -486,14 +484,15 @@ msgid "Delete intermediate data when finish"
 msgstr "Smazat dočasná data"
 
 #: ../gui/wxpython/gmodeler/model.py:2567
-#: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
-#: ../gui/wxpython/modules/vclean.py:158
+#: ../gui/wxpython/gmodeler/frame.py:1683
+#: ../gui/wxpython/modules/vkrige.py:151 ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
 #: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
 msgid "&Run"
 msgstr "&Spustit"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2611
+#: ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr "Proměnné"
 
@@ -511,7 +510,7 @@ msgstr "Prvky"
 
 #: ../gui/wxpython/gmodeler/frame.py:131
 msgid "Python editor"
-msgstr ""
+msgstr "Editor Pythonu"
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
 #: ../gui/wxpython/gui_core/forms.py:1830
@@ -522,7 +521,8 @@ msgstr "Výstup příkazů"
 msgid "Python script contains local modifications"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:203 ../gui/wxpython/gmodeler/frame.py:1830
+#: ../gui/wxpython/gmodeler/frame.py:203
+#: ../gui/wxpython/gmodeler/frame.py:1830
 msgid "Python script is up-to-date"
 msgstr ""
 
@@ -562,12 +562,8 @@ msgid "%d maps deleted from current mapset"
 msgstr " %d map bylo smazáno ze současného mapsetu"
 
 #: ../gui/wxpython/gmodeler/frame.py:355 ../gui/wxpython/gmodeler/frame.py:481
-msgid ""
-"Current model is not empty. Do you want to store current settings to model "
-"file?"
-msgstr ""
-"Současný model není prázdný. Přejete si uložit aktuální nastavení do souboru "
-"modelu?"
+msgid "Current model is not empty. Do you want to store current settings to model file?"
+msgstr "Současný model není prázdný. Přejete si uložit aktuální nastavení do souboru modelu?"
 
 #: ../gui/wxpython/gmodeler/frame.py:358 ../gui/wxpython/gmodeler/frame.py:484
 msgid "Create new model?"
@@ -632,9 +628,7 @@ msgstr "Model je platný"
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
-msgstr ""
-"vyberte jméno souboru pro uložení obrázku (není potřeba zadávat příponu "
-"soubru)"
+msgstr "Vyberte název souboru pro uložení obrázku (není potřeba zadávat příponu)"
 
 #: ../gui/wxpython/gmodeler/frame.py:607 ../gui/wxpython/gmodeler/frame.py:614
 #, python-format
@@ -642,9 +636,8 @@ msgid "Model exported to <%s>"
 msgstr "Model exportován do <%s>"
 
 #: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
-#, fuzzy
 msgid "Add comment"
-msgstr "Přidat vrstvu s příkazem"
+msgstr "Přidat komentář"
 
 #: ../gui/wxpython/gmodeler/frame.py:751
 msgid "Empty comment. Nothing to add to the model."
@@ -698,7 +691,8 @@ msgstr "Nelze otevřít soubor <%s> pro zápis."
 msgid "Error"
 msgstr "Chyba"
 
-#: ../gui/wxpython/gmodeler/frame.py:1295 ../gui/wxpython/rlisetup/frame.py:130
+#: ../gui/wxpython/gmodeler/frame.py:1295
+#: ../gui/wxpython/rlisetup/frame.py:130
 #: ../gui/wxpython/animation/dialogs.py:629
 #: ../gui/wxpython/animation/dialogs.py:820
 #: ../gui/wxpython/lmgr/layertree.py:419 ../gui/wxpython/menustrings.py:919
@@ -717,15 +711,13 @@ msgstr "Povolit"
 
 #: ../gui/wxpython/gmodeler/frame.py:1307
 #: ../gui/wxpython/gmodeler/frame.py:1357
-#, fuzzy
 msgid "Set label"
-msgstr "Přidat vrstvu s popisky"
+msgstr "Nastavit popisek"
 
 #: ../gui/wxpython/gmodeler/frame.py:1310
 #: ../gui/wxpython/gmodeler/frame.py:1369
-#, fuzzy
 msgid "Set comment"
-msgstr "Nastavit písmo"
+msgstr "Nastavit komentář"
 
 #: ../gui/wxpython/gmodeler/frame.py:1315
 msgid "Add control point"
@@ -739,7 +731,8 @@ msgstr "Odstranit vlicovací bod"
 msgid "Intermediate"
 msgstr "přechodné"
 
-#: ../gui/wxpython/gmodeler/frame.py:1335 ../gui/wxpython/lmgr/layertree.py:447
+#: ../gui/wxpython/gmodeler/frame.py:1335
+#: ../gui/wxpython/lmgr/layertree.py:447
 msgid "Properties"
 msgstr "Vlastnosti"
 
@@ -795,12 +788,12 @@ msgstr "řetězec"
 #: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
 #: ../gui/wxpython/gui_core/dialogs.py:1559
 msgid "raster"
-msgstr "rastrová data"
+msgstr "rastr"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
 #: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
 msgid "vector"
-msgstr "vektorová mapa"
+msgstr "vektor"
 
 #: ../gui/wxpython/gmodeler/frame.py:1460
 msgid "region"
@@ -828,9 +821,8 @@ msgid "List of items - right-click to delete"
 msgstr "Seznam prvků - pravým klikem smažete"
 
 #: ../gui/wxpython/gmodeler/frame.py:1593
-#, fuzzy
 msgid "In loop"
-msgstr "smyčka"
+msgstr "Ve smyčce"
 
 #: ../gui/wxpython/gmodeler/frame.py:1593
 #, fuzzy
@@ -843,19 +835,16 @@ msgid "No items to selected."
 msgstr "Nebyla vybrána žádná mapová vrstva"
 
 #: ../gui/wxpython/gmodeler/frame.py:1680
-#, fuzzy
 msgid "Python script"
-msgstr "Python skript (*.py)|*.py"
+msgstr "Skript Pythonu"
 
 #: ../gui/wxpython/gmodeler/frame.py:1684
-#, fuzzy
 msgid "Run python script"
-msgstr "Spustit skript"
+msgstr "Spustit skript Pythonu"
 
 #: ../gui/wxpython/gmodeler/frame.py:1687
-#, fuzzy
 msgid "Save python script to file"
-msgstr "Uložit pracovní oblast do souboru"
+msgstr "Uložit skript Pythonu do souboru"
 
 #: ../gui/wxpython/gmodeler/frame.py:1690
 msgid ""
@@ -876,7 +865,8 @@ msgstr "Vyberte soubor k uložení"
 msgid "Python script (*.py)|*.py"
 msgstr "Skript Pythonu (*.py)|*.py"
 
-#: ../gui/wxpython/gmodeler/frame.py:1769 ../gui/wxpython/wxplot/profile.py:352
+#: ../gui/wxpython/gmodeler/frame.py:1769
+#: ../gui/wxpython/wxplot/profile.py:352
 #, python-format
 msgid "File <%s> already exists. Do you want to overwrite this file?"
 msgstr "Soubor <%s> již existuje. Přejete si tento soubor přepsat?"
@@ -886,9 +876,7 @@ msgid "Save file"
 msgstr "Uložit soubor"
 
 #: ../gui/wxpython/gmodeler/frame.py:1806
-msgid ""
-"Python script is locally modificated. Refresh will discard all changes. Do "
-"you really want to continue?"
+msgid "Python script is locally modificated. Refresh will discard all changes. Do you really want to continue?"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1809
@@ -1026,25 +1014,23 @@ msgstr "Styl:"
 msgid "Weight:"
 msgstr "Váha:"
 
-#: ../gui/wxpython/wxplot/dialogs.py:685 ../gui/wxpython/wxplot/dialogs.py:1134
-#: ../gui/wxpython/vnet/dialogs.py:1198 ../gui/wxpython/iscatt/dialogs.py:357
-#: ../gui/wxpython/gcp/manager.py:2407
+#: ../gui/wxpython/wxplot/dialogs.py:685
+#: ../gui/wxpython/wxplot/dialogs.py:1134 ../gui/wxpython/vnet/dialogs.py:1198
+#: ../gui/wxpython/iscatt/dialogs.py:357 ../gui/wxpython/gcp/manager.py:2407
 msgid "Apply changes for the current session"
 msgstr "Použít změny jen pro toto sezení"
 
-#: ../gui/wxpython/wxplot/dialogs.py:687 ../gui/wxpython/wxplot/dialogs.py:1135
+#: ../gui/wxpython/wxplot/dialogs.py:687
+#: ../gui/wxpython/wxplot/dialogs.py:1135
 msgid "Apply changes for the current session and close dialog"
 msgstr "Použít změny pro současné sezení a zavřít dialogové okno"
 
-#: ../gui/wxpython/wxplot/dialogs.py:690 ../gui/wxpython/wxplot/dialogs.py:1136
-#: ../gui/wxpython/vnet/dialogs.py:1200 ../gui/wxpython/iscatt/dialogs.py:359
-#: ../gui/wxpython/gcp/manager.py:2409
+#: ../gui/wxpython/wxplot/dialogs.py:690
+#: ../gui/wxpython/wxplot/dialogs.py:1136 ../gui/wxpython/vnet/dialogs.py:1200
+#: ../gui/wxpython/iscatt/dialogs.py:359 ../gui/wxpython/gcp/manager.py:2409
 #: ../gui/wxpython/gui_core/preferences.py:93
-msgid ""
-"Apply and save changes to user settings file (default for next sessions)"
-msgstr ""
-"Použít změny a uložit je do souboru s uživatelským nastavením (jako výchozí "
-"pro další sezení)"
+msgid "Apply and save changes to user settings file (default for next sessions)"
+msgstr "Použít změny a uložit je do souboru s uživatelským nastavením (jako výchozí pro další sezení)"
 
 #: ../gui/wxpython/wxplot/dialogs.py:743
 #, fuzzy, python-format
@@ -1140,8 +1126,7 @@ msgid "Scale"
 msgstr "Styl:"
 
 #: ../gui/wxpython/wxplot/dialogs.py:1033
-msgid ""
-"Automatic axis scaling, custom max and min, or scale matches data range (min)"
+msgid "Automatic axis scaling, custom max and min, or scale matches data range (min)"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:1038
@@ -1233,16 +1218,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/wxplot/profile.py:34 ../gui/wxpython/nviz/wxnviz.py:32
-msgid ""
-"This module requires the NumPy module, which could not be imported. It "
-"probably is not installed (it's not part of the standard Python "
-"distribution). See the Numeric Python site (http://numpy.scipy.org) for "
-"information on downloading source or binaries."
-msgstr ""
-"Tento modul vyžaduje modul NumPy, který nelze importovat. Nejspíše není "
-"nainstalován (není součástí standardní instalace Pythonu). Podívejte se na "
-"stránku Numeric Python (http://numpy.scipy.org), kde naleznete další "
-"informace o stažení a instalaci."
+msgid "This module requires the NumPy module, which could not be imported. It probably is not installed (it's not part of the standard Python distribution). See the Numeric Python site (http://numpy.scipy.org) for information on downloading source or binaries."
+msgstr "Tento modul vyžaduje modul NumPy, který nelze importovat. Nejspíše není nainstalován (není součástí standardní instalace Pythonu). Podívejte se na stránku Numeric Python (http://numpy.scipy.org), kde naleznete další informace o stažení a instalaci."
 
 #: ../gui/wxpython/wxplot/profile.py:61
 #, fuzzy
@@ -1292,9 +1269,8 @@ msgid "Comma separated value (*.csv)|*.csv"
 msgstr "tečkou oddělené hodnoty (*.csv)|*.csv"
 
 #: ../gui/wxpython/wxplot/profile.py:354
-#, fuzzy
 msgid "Overwrite file?"
-msgstr "Přepsat?"
+msgstr "Přepsat soubor?"
 
 #: ../gui/wxpython/wxplot/profile.py:365
 #, fuzzy, python-format
@@ -1380,7 +1356,7 @@ msgstr "Náhled tisku"
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
 msgid "Print display"
-msgstr "Tisk kompozice displeje"
+msgstr "Tisk okna"
 
 #: ../gui/wxpython/wxplot/histogram.py:45
 #, fuzzy
@@ -1423,9 +1399,8 @@ msgid "Percent of total cells"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/histogram.py:150
-#, fuzzy
 msgid "Area"
-msgstr "plocha"
+msgstr "Plocha"
 
 #: ../gui/wxpython/wxplot/histogram.py:233
 msgid "Statistics for Map(s) Histogrammed"
@@ -1437,38 +1412,32 @@ msgid "Statistics for raster map <%s>"
 msgstr "Vypíše statistiky pro rastrové vrstvy."
 
 #: ../gui/wxpython/vnet/dialogs.py:67
-#, fuzzy
 msgid "GRASS GIS Vector Network Analysis Tool"
-msgstr "Analýza profilu"
+msgstr "Nástroj pro analýzu vektorové sítě GRASS GISu"
 
 #: ../gui/wxpython/vnet/dialogs.py:165
-#, fuzzy
 msgid "Point list toolbar"
-msgstr "Panel nástrojů vlicovacích bodů"
+msgstr "Nástrojová lišta Seznam bodů"
 
 #: ../gui/wxpython/vnet/dialogs.py:172
-#, fuzzy
 msgid "Analysis toolbar"
-msgstr "Panel nástrojů vlicovacích bodů"
+msgstr "Nástrojová lišta Analýza"
 
 #: ../gui/wxpython/vnet/dialogs.py:205
-#, fuzzy
 msgid "Points for analysis:"
-msgstr "Síťová analýza"
+msgstr "Body pro analýzu:"
 
 #: ../gui/wxpython/vnet/dialogs.py:208
-#, fuzzy
 msgid "Analysis settings:"
-msgstr "Nastavení osy"
+msgstr "Nastavení analýzy:"
 
 #: ../gui/wxpython/vnet/dialogs.py:212
-#, fuzzy
 msgid "Points"
-msgstr "Bod"
+msgstr "Body"
 
 #: ../gui/wxpython/vnet/dialogs.py:222
 msgid "Maximum distance of point to the network:"
-msgstr ""
+msgstr "Maximální vzdálenost bodu od sítě:"
 
 #: ../gui/wxpython/vnet/dialogs.py:234
 #, fuzzy
@@ -1486,24 +1455,20 @@ msgid "Parameters"
 msgstr "Parametry"
 
 #: ../gui/wxpython/vnet/dialogs.py:352
-#, fuzzy
 msgid "Add vector map into layer tree"
-msgstr "Přidat vytvořenou mapu do stromu vrstev"
+msgstr "Přidat vektorovou vrstvu do stromu vrstev"
 
 #: ../gui/wxpython/vnet/dialogs.py:467
-#, fuzzy
 msgid "Input tables"
-msgstr "Vstupní data"
+msgstr "Vstupní tabulky"
 
 #: ../gui/wxpython/vnet/dialogs.py:493
-#, fuzzy
 msgid "Result tables"
-msgstr "Seznam tabulek"
+msgstr "Výsledné tabulky"
 
 #: ../gui/wxpython/vnet/dialogs.py:505
-#, fuzzy
 msgid "Loading tables..."
-msgstr "Načítám data..."
+msgstr "Načítání tabulek..."
 
 #: ../gui/wxpython/vnet/dialogs.py:641
 #, fuzzy
@@ -1511,14 +1476,12 @@ msgid "Creating turntable..."
 msgstr "Načítám data..."
 
 #: ../gui/wxpython/vnet/dialogs.py:796
-#, fuzzy
 msgid "Input vector map does not exist."
-msgstr "Vektorová mapa <%s> nebyla nalezena."
+msgstr "Vstupní vektorová mapa neexistuje."
 
 #: ../gui/wxpython/vnet/dialogs.py:814
-#, fuzzy
 msgid "Analysing..."
-msgstr "Analýza"
+msgstr "Analyzování..."
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
 #: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
@@ -1528,23 +1491,20 @@ msgid "Settings"
 msgstr "Nastavení"
 
 #: ../gui/wxpython/vnet/dialogs.py:937
-#, fuzzy
 msgid "Computing nodes..."
-msgstr "Spouštím modul"
+msgstr "Výpočet uzlů..."
 
 #: ../gui/wxpython/vnet/dialogs.py:1127
-#, fuzzy
 msgid "Other settings"
-msgstr "Nastavení rastru"
+msgstr "Ostatní nastavení"
 
 #: ../gui/wxpython/vnet/dialogs.py:1130
-#, fuzzy
 msgid "Point style:"
-msgstr "styl linie"
+msgstr "Styl bodu:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1133
 msgid "Analysis result style:"
-msgstr ""
+msgstr "Styl výsledku analýzy:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1143
 #, fuzzy, python-format
@@ -1552,19 +1512,17 @@ msgid "Color table style %s:"
 msgstr "Tabulka barev"
 
 #: ../gui/wxpython/vnet/dialogs.py:1154
-#, fuzzy, python-format
+#, python-format
 msgid "Invert colors %s:"
-msgstr "Převod souřadnic"
+msgstr "Invertovat barvy %s:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1159
-#, fuzzy
 msgid "Line color:"
-msgstr "Barva linie"
+msgstr "Barva linie:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1160
-#, fuzzy
 msgid "Color for unused point:"
-msgstr "Barva pro nevybraný vlicovací bod:"
+msgstr "Barva nepoužitého bodu:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1161
 msgid "Color for Start/From/Source/Used point:"
@@ -1575,9 +1533,8 @@ msgid "Color for End/To/Sink point:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1163
-#, fuzzy
 msgid "Color for selected point:"
-msgstr "Barva pro vybraný vlicovací bod:"
+msgstr "Barva vybraného bodu:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
@@ -1586,28 +1543,26 @@ msgid "Line width:"
 msgstr "Šířka linie:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1177
-#, fuzzy
 msgid "Point size:"
-msgstr "Velikost fontu:"
+msgstr "Velikost bodu:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1178
-#, fuzzy
 msgid "Point width:"
-msgstr "Šířka linie:"
+msgstr "Šířka bodu:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1179 ../gui/wxpython/iscatt/dialogs.py:338
-#, fuzzy
 msgid "Snapping treshold in pixels:"
-msgstr "Práh pro přichycení"
+msgstr "Práh pro přichycení v pixelech:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1180
 msgid "Maximum number of results in history:"
-msgstr ""
+msgstr "Maximální počet výsledků v historii:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
 #: ../gui/wxpython/web_services/dialogs.py:132
 #: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
+#: ../gui/wxpython/gcp/manager.py:2411
+#: ../gui/wxpython/gui_core/dialogs.py:1690
 #: ../gui/wxpython/gui_core/dialogs.py:2054
 msgid "Close dialog"
 msgstr "Zavřít dialog "
@@ -1619,7 +1574,7 @@ msgstr "Nová vektorová mapa <%s> byla vytvořena"
 
 #: ../gui/wxpython/vnet/dialogs.py:1467
 msgid "Save analysis result"
-msgstr ""
+msgstr "Uložit výsledek analýzy"
 
 #: ../gui/wxpython/vnet/dialogs.py:1578
 msgid "Edit intersection turns costs"
@@ -1637,8 +1592,7 @@ msgstr "Síťová analýza"
 #: ../gui/wxpython/vnet/vnet_core.py:211
 #, fuzzy, python-format
 msgid ""
-"Temporary map '%s' with result was changed outside vector network analysis "
-"tool.\n"
+"Temporary map '%s' with result was changed outside vector network analysis tool.\n"
 "Showed result may not correspond original analysis result."
 msgstr "Soubor regionu <%s> již existuje. Přejete si tento soubor přepsat?"
 
@@ -1668,7 +1622,7 @@ msgstr "Georektifikace vektorové mapy <%s< selhala"
 
 #: ../gui/wxpython/vnet/vnet_core.py:309
 msgid "Vector map with analysis result does not exist."
-msgstr ""
+msgstr "Vektorová vrstva s výsledkem analýzy neexistuje."
 
 #: ../gui/wxpython/vnet/vnet_core.py:330
 msgid "Map can be saved only to currently set mapset"
@@ -1686,8 +1640,7 @@ msgstr ""
 #: ../gui/wxpython/vnet/vnet_core.py:895
 #, fuzzy, python-format
 msgid ""
-"Input map '%s' for analysis was changed outside vector network analysis "
-"tool.\n"
+"Input map '%s' for analysis was changed outside vector network analysis tool.\n"
 "Topology column may not correspond to changed situation."
 msgstr "Soubor regionu <%s> již existuje. Přejete si tento soubor přepsat?"
 
@@ -1775,9 +1728,7 @@ msgstr "Vybrat %s"
 
 #: ../gui/wxpython/vnet/vnet_data.py:184
 #, fuzzy, python-format
-msgid ""
-"Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
-"map '%s'.\n"
+msgid "Chosen column '%s' does not exist in attribute table of layer '%s' of vector map '%s'.\n"
 msgstr "Odstraní existující atributovou tabulu z vektorové mapy."
 
 #: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
@@ -1786,30 +1737,25 @@ msgid "use"
 msgstr "použít"
 
 #: ../gui/wxpython/vnet/vnet_data.py:238
-#, fuzzy
 msgid "type"
-msgstr "Datový typ"
+msgstr "typ"
 
 #: ../gui/wxpython/vnet/vnet_data.py:238
-#, fuzzy
 msgid "topology"
-msgstr "Vytvořit/znovu sestavit topologii"
+msgstr "topologie"
 
 #: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
-#, fuzzy
 msgid "Start point"
-msgstr "bod"
+msgstr "Počáteční bod"
 
 #: ../gui/wxpython/vnet/vnet_data.py:239
-#, fuzzy
 msgid "End Point"
-msgstr "bod"
+msgstr "Koncový bod"
 
 #: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
 #: ../gui/wxpython/vnet/vnet_data.py:520
-#, fuzzy
 msgid "new point"
-msgstr "Levé: nový bod"
+msgstr "nový bod"
 
 #: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "Arc forward/both direction(s) cost column:"
@@ -1845,24 +1791,23 @@ msgid "node"
 msgstr ""
 
 #: ../gui/wxpython/vnet/vnet_data.py:699
-#, fuzzy, python-format
+#, python-format
 msgid "Shortest path %s"
-msgstr "Nejkratší cesta"
+msgstr "Nejkratší cesta %s"
 
 #: ../gui/wxpython/vnet/vnet_data.py:703
-#, fuzzy
 msgid "End point"
-msgstr "bod"
+msgstr "Koncový bod"
 
 #: ../gui/wxpython/vnet/vnet_data.py:719
-#, fuzzy, python-format
+#, python-format
 msgid "Traveling salesman %s"
-msgstr "Problém obchodního cestujícího"
+msgstr "Problém obchodního cestujícího %s"
 
 #: ../gui/wxpython/vnet/vnet_data.py:735
-#, fuzzy, python-format
+#, python-format
 msgid "Maximum flow %s"
-msgstr "Maximální tok"
+msgstr "Maximální tok %s"
 
 #: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
@@ -1900,23 +1845,20 @@ msgid "Overwrite map layer"
 msgstr "Přepsat?"
 
 #: ../gui/wxpython/vnet/widgets.py:377
-#, fuzzy
 msgid "Invalid value inserted. Operation canceled."
-msgstr "Neplatná hodnota souřadnice. Operace zrušena."
+msgstr "Vložena neplatná hodnota. Operace zrušena."
 
 #: ../gui/wxpython/vnet/widgets.py:528
-#, fuzzy
 msgid "Edit point"
-msgstr "bod"
+msgstr "Upravit bod"
 
 #: ../gui/wxpython/vnet/toolbars.py:50
-#, fuzzy
 msgid "Insert points from Map Display"
-msgstr "zobrazit"
+msgstr "Vložit body z mapového okna"
 
 #: ../gui/wxpython/vnet/toolbars.py:52
 msgid "Activate snapping to nodes"
-msgstr ""
+msgstr "Aktivovat přichytávání na uzly"
 
 #: ../gui/wxpython/vnet/toolbars.py:54
 msgid "Activate mode for turns editing"
@@ -1927,41 +1869,36 @@ msgid "Activate mode for global turns editing"
 msgstr ""
 
 #: ../gui/wxpython/vnet/toolbars.py:58
-#, fuzzy
 msgid "Add new point"
-msgstr "Přidat vlicovací bod"
+msgstr "Přidat nový bod"
 
 #: ../gui/wxpython/vnet/toolbars.py:60
-#, fuzzy
 msgid "Delete selected point"
-msgstr "Odstranit vybranou lokaci"
+msgstr "Odstranit vybraný bod"
 
 #: ../gui/wxpython/vnet/toolbars.py:110
-#, fuzzy
 msgid "Execute analysis"
-msgstr "Terénní analýza"
+msgstr "Provést analýzu"
 
 #: ../gui/wxpython/vnet/toolbars.py:112
 msgid "Go to previous analysis result"
-msgstr ""
+msgstr "Přejít na předchozí výsledek analýzy"
 
 #: ../gui/wxpython/vnet/toolbars.py:114
 msgid "Go to next analysis result"
-msgstr ""
+msgstr "Přejít na další výsledek analýzy"
 
 #: ../gui/wxpython/vnet/toolbars.py:116
-#, fuzzy
 msgid "Show analysis result"
-msgstr "Ukázat linie"
+msgstr "Zobrazit výsledek analýzy"
 
 #: ../gui/wxpython/vnet/toolbars.py:118
 msgid "Save temporary result"
-msgstr ""
+msgstr "Uložit dočasný výsledek"
 
 #: ../gui/wxpython/vnet/toolbars.py:119
-#, fuzzy
 msgid "Vector network analysis settings"
-msgstr "Nastavení vektorů"
+msgstr "Nastavení analýzy vektorové sítě"
 
 #: ../gui/wxpython/vnet/toolbars.py:121 ../gui/wxpython/iscatt/toolbars.py:46
 #: ../gui/wxpython/gui_core/toolbars.py:71
@@ -1969,9 +1906,8 @@ msgid "Show manual"
 msgstr "Zobrazit manuál"
 
 #: ../gui/wxpython/vnet/toolbars.py:184
-#, fuzzy
 msgid "Availiable analyses"
-msgstr "Problém obchodního cestujícího"
+msgstr "Dostupné analýzy"
 
 #: ../gui/wxpython/location_wizard/dialogs.py:36
 msgid "Set default region extent and resolution"
@@ -2127,9 +2063,7 @@ msgstr ""
 
 #: ../gui/wxpython/location_wizard/wizard.py:163
 #, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for location. Please use only ASCII "
-"characters excluding %(chars)s and space."
+msgid "Name <%(name)s> is not a valid name for location. Please use only ASCII characters excluding %(chars)s and space."
 msgstr ""
 
 #: ../gui/wxpython/location_wizard/wizard.py:166
@@ -2150,9 +2084,7 @@ msgid "Unable to create location"
 msgstr "Nelze vytvořit lokaci"
 
 #: ../gui/wxpython/location_wizard/wizard.py:209
-msgid ""
-"Title of the location is limited only to one line and 256 characters. The "
-"rest of the text will be ignored."
+msgid "Title of the location is limited only to one line and 256 characters. The rest of the text will be ignored."
 msgstr ""
 
 #: ../gui/wxpython/location_wizard/wizard.py:216
@@ -2165,14 +2097,11 @@ msgstr "Zvolit EPSG kód souřadnicového referenčního systému"
 
 #: ../gui/wxpython/location_wizard/wizard.py:226
 msgid "Read projection and datum terms from a georeferenced data file"
-msgstr ""
-"Načíst kartografické zobrazení a datum z již georeferencovaného souboru"
+msgstr "Načíst kartografické zobrazení a datum z již georeferencovaného souboru"
 
 #: ../gui/wxpython/location_wizard/wizard.py:229
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
-msgstr ""
-"Načíst kartografické zobrazení a datum ze souboru typu Well Known Text "
-"(WKT) .prj"
+msgstr "Načíst kartografické zobrazení a datum ze souboru typu Well Known Text (WKT) .prj"
 
 #: ../gui/wxpython/location_wizard/wizard.py:232
 msgid "Select coordinate system parameters from a list"
@@ -2289,11 +2218,11 @@ msgstr "Soubor WTK:"
 
 #: ../gui/wxpython/location_wizard/wizard.py:1312
 msgid "Choose EPSG Code"
-msgstr "Zvolte EPSG kód"
+msgstr "Zvolte kód EPSG"
 
 #: ../gui/wxpython/location_wizard/wizard.py:1320
 msgid "Path to the EPSG-codes file:"
-msgstr "Cesta k souboru s EPSG kódy:"
+msgstr "Cesta k souboru s kódy EPSG:"
 
 #: ../gui/wxpython/location_wizard/wizard.py:1322
 #: ../gui/wxpython/gui_core/preferences.py:1222
@@ -2302,12 +2231,12 @@ msgstr "Kód EPSG:"
 
 #: ../gui/wxpython/location_wizard/wizard.py:1474
 msgid "Choose EPSG codes file"
-msgstr "Vyberte soubor s EPSG kódy"
+msgstr "Vyberte soubor s kódy EPSG"
 
 #: ../gui/wxpython/location_wizard/wizard.py:1503
 #, python-format
 msgid "Unable to read EPGS codes: %s"
-msgstr "Nelze načíst seznam EPSG kódů: %s"
+msgstr "Nelze načíst seznam kódů EPSG: %s"
 
 #: ../gui/wxpython/location_wizard/wizard.py:1521
 msgid "Choose method of specifying georeferencing parameters"
@@ -2388,13 +2317,9 @@ msgid "Unable to create new location"
 msgstr "Nelze vytvořit novou lokaci"
 
 #: ../gui/wxpython/location_wizard/wizard.py:2079
-#, fuzzy, python-format
-msgid ""
-"Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
-"need to change the default GIS data directory in the GRASS startup screen."
-msgstr ""
-"Lokace <%(loc)s> bude vytvořena v adresáři s GIS daty <%(dir)s>. Je potřeba "
-"změnit výchozí adresář s GIS daty na úvodní obrazovce."
+#, python-format
+msgid "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will need to change the default GIS data directory in the GRASS startup screen."
+msgstr "Lokace <%(loc)s> bude vytvořena v adresáři s GIS daty <%(dir)s>. Je potřeba změnit výchozí adresář s GIS daty na úvodní obrazovce GRASSu."
 
 #: ../gui/wxpython/location_wizard/wizard.py:2084
 msgid "New GIS data directory"
@@ -2406,9 +2331,9 @@ msgstr "Kód EPSG chybí."
 
 #: ../gui/wxpython/location_wizard/wizard.py:2126
 #: ../gui/wxpython/location_wizard/wizard.py:2135
-#, fuzzy, python-format
+#, python-format
 msgid "File <%s> not found."
-msgstr "Soubor nebyl nalezen."
+msgstr "Soubor <%s> nebyl nalezen."
 
 #: ../gui/wxpython/iscatt/iscatt_core.py:107
 #: ../gui/wxpython/iscatt/iscatt_core.py:157
@@ -2471,9 +2396,7 @@ msgid "Selected bands must be different."
 msgstr " %d map bylo smazáno ze současného mapsetu"
 
 #: ../gui/wxpython/iscatt/dialogs.py:191
-msgid ""
-"Scatter plot with same bands combination (regardless x y order) has been "
-"already added into the list."
+msgid "Scatter plot with same bands combination (regardless x y order) has been already added into the list."
 msgstr ""
 
 #: ../gui/wxpython/iscatt/dialogs.py:253 ../gui/wxpython/iclass/dialogs.py:710
@@ -2538,8 +2461,7 @@ msgstr "Nebyla vybrána žádná mapová vrstva"
 #, python-format
 msgid ""
 "Interactive Scatter Plot Tool can not be used.\n"
-"Number of cells (rows*cols) <%d> in current regionis higher than maximum "
-"limit <%d>.\n"
+"Number of cells (rows*cols) <%d> in current regionis higher than maximum limit <%d>.\n"
 "\n"
 "You can reduce number of cells in current region using <g.region> command."
 msgstr ""
@@ -2547,19 +2469,15 @@ msgstr ""
 #: ../gui/wxpython/iscatt/controllers.py:228
 #, python-format
 msgid ""
-"Number of cells (rows*cols) <%d> in current region is higher than "
-"recommended threshold <%d>.\n"
-"It is strongly advised to reduce number of cells in current region below "
-"recommend threshold.\n"
+"Number of cells (rows*cols) <%d> in current region is higher than recommended threshold <%d>.\n"
+"It is strongly advised to reduce number of cells in current region below recommend threshold.\n"
 " It can be done by <g.region> command.\n"
 "\n"
 "Do you want to continue using Interactive Scatter Plot Tool with this region?"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/controllers.py:284
-msgid ""
-"Scatter plot with same band combination (regardless x y order) is already "
-"displayed."
+msgid "Scatter plot with same band combination (regardless x y order) is already displayed."
 msgstr ""
 
 #: ../gui/wxpython/iscatt/controllers.py:297
@@ -2576,17 +2494,14 @@ msgstr "Nebyla vybrána žádná mapová vrstva"
 #, python-format
 msgid ""
 "Scatter plot cannot be added.\n"
-"Multiple of bands ranges <%s:%d * %s:%d = %d> is higher than maximum limit <"
-"%d>.\n"
+"Multiple of bands ranges <%s:%d * %s:%d = %d> is higher than maximum limit <%d>.\n"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/controllers.py:314
 #, python-format
 msgid ""
-"Multiple of bands ranges <%s:%d * %s:%d = %d> is higher than recommended "
-"limit <%d>.\n"
-"It is strongly advised to reduce range extend of bands(e. g. using r."
-"rescale) below recommended threshold.\n"
+"Multiple of bands ranges <%s:%d * %s:%d = %d> is higher than recommended limit <%d>.\n"
+"It is strongly advised to reduce range extend of bands(e. g. using r.rescale) below recommended threshold.\n"
 "\n"
 "Do you really want to add this scatter plot?"
 msgstr ""
@@ -2598,7 +2513,8 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iscatt/controllers.py:403 ../gui/wxpython/iclass/digit.py:70
+#: ../gui/wxpython/iscatt/controllers.py:403
+#: ../gui/wxpython/iclass/digit.py:70
 #, fuzzy
 msgid "No class selected"
 msgstr "Nebyla vybrána žádná mapová vrstva"
@@ -2755,9 +2671,7 @@ msgid "Zoom mode for scatter plots (left mouse button, wheel)"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/toolbars.py:56
-msgid ""
-"Zoom to scatter plot data extend mode (click on scatter plot for zooming to "
-"extend)"
+msgid "Zoom to scatter plot data extend mode (click on scatter plot for zooming to extend)"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/toolbars.py:58
@@ -2903,12 +2817,8 @@ msgstr "Nelze přiblížit na 3D rastrovou vrstvu <%s>."
 
 #: ../gui/wxpython/core/render.py:676
 #, fuzzy
-msgid ""
-"Unable to get current geographic extent. Force quiting wxGUI. Please "
-"manually run g.region to fix the problem."
-msgstr ""
-"Nelze získat současný geografický region. wxGUI se ukončuje. Prosím spusťte "
-"ručně g.region  pro nápravu problému. "
+msgid "Unable to get current geographic extent. Force quiting wxGUI. Please manually run g.region to fix the problem."
+msgstr "Nelze získat současný geografický region. wxGUI se ukončuje. Prosím spusťte ručně g.region  pro nápravu problému. "
 
 #: ../gui/wxpython/core/render.py:987
 #, fuzzy, python-format
@@ -3009,8 +2919,7 @@ msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
 #: ../gui/wxpython/core/gconsole.py:620
-msgid ""
-"Please note that the data are left in inconsistent state and may be corrupted"
+msgid "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr "Data jsou ponechána v nevhodném stavu a mohou být porušena"
 
 #: ../gui/wxpython/core/gconsole.py:622
@@ -3021,7 +2930,8 @@ msgstr "Příkaz přerušen"
 msgid "Command finished"
 msgstr "Příkaz ukončen"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:695
+#: ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3107,7 +3017,7 @@ msgstr "Seznam tabulek"
 
 #: ../gui/wxpython/core/settings.py:876
 msgid "Zoom and recenter"
-msgstr ""
+msgstr "Přiblížit a změnit střed"
 
 #: ../gui/wxpython/core/settings.py:877
 #, fuzzy
@@ -3115,9 +3025,8 @@ msgid "Zoom to mouse cursor"
 msgstr "Zvětšit podle uloženého regionu"
 
 #: ../gui/wxpython/core/settings.py:878
-#, fuzzy
 msgid "Nothing"
-msgstr "Sever"
+msgstr "Nic"
 
 #: ../gui/wxpython/core/settings.py:879
 msgid "Scroll forward to zoom in"
@@ -3274,13 +3183,15 @@ msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:198
 msgid "Units:"
-msgstr ""
+msgstr "Jednotky:"
 
 #: ../gui/wxpython/psmap/dialogs.py:207
 msgid ""
 "Position of the top left corner\n"
 "from the top left edge of the paper"
 msgstr ""
+"Pozice levého horního rohu\n"
+"od levého horního okraje papíru"
 
 #: ../gui/wxpython/psmap/dialogs.py:208
 #: ../gui/wxpython/animation/dialogs.py:887
@@ -3312,27 +3223,26 @@ msgid ""
 "Position from the top left\n"
 "edge of the paper"
 msgstr ""
+"Pozice od levého horního\n"
+"okraje papíru"
 
 #: ../gui/wxpython/psmap/dialogs.py:291
 #: ../gui/wxpython/mapwin/decorations.py:366
-#, fuzzy
 msgid "Font:"
-msgstr "Formát:"
+msgstr "Písmo:"
 
 #: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
-msgstr "Velikost fontu:"
+msgstr "Velikost písma:"
 
 #: ../gui/wxpython/psmap/dialogs.py:305
-#, fuzzy
 msgid "Choose color:"
-msgstr "Vyberte adresář:"
+msgstr "Vyberte barvu:"
 
 #: ../gui/wxpython/psmap/dialogs.py:353
-#, fuzzy
 msgid "Close dialog and apply changes"
-msgstr "Zavřít dialog a ignorovat provedené změny"
+msgstr "Zavřít dialog a uložit změny"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
 #: ../gui/wxpython/web_services/dialogs.py:627
@@ -3341,13 +3251,12 @@ msgstr "Uložit změny"
 
 #: ../gui/wxpython/psmap/dialogs.py:384
 msgid "Units"
-msgstr ""
+msgstr "Jednotky"
 
 #: ../gui/wxpython/psmap/dialogs.py:384
 #: ../gui/wxpython/animation/dialogs.py:759
-#, fuzzy
 msgid "Format"
-msgstr "Formát:"
+msgstr "Formát"
 
 #: ../gui/wxpython/psmap/dialogs.py:384
 #, fuzzy
@@ -3435,14 +3344,12 @@ msgid "fixed scale and map center"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:692 ../gui/wxpython/psmap/dialogs.py:861
-#, fuzzy
 msgid "Map selection"
-msgstr "Mapová projekce"
+msgstr "Výběr vrstvy"
 
 #: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
-#, fuzzy
 msgid "Map:"
-msgstr "Mapset:"
+msgstr "Vrstva:"
 
 #: ../gui/wxpython/psmap/dialogs.py:700
 #, fuzzy
@@ -3450,14 +3357,12 @@ msgid "Region:"
 msgstr "Region"
 
 #: ../gui/wxpython/psmap/dialogs.py:719
-#, fuzzy
 msgid "Map scale and center"
-msgstr "Měřítko mapy"
+msgstr "Měřítko a střed vrstvy"
 
 #: ../gui/wxpython/psmap/dialogs.py:724
-#, fuzzy
 msgid "Center:"
-msgstr "Vykreslit"
+msgstr "Střed:"
 
 #: ../gui/wxpython/psmap/dialogs.py:725
 msgid "E:"
@@ -3468,38 +3373,34 @@ msgid "N:"
 msgstr "S:"
 
 #: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
-#, fuzzy
 msgid "Scale:"
-msgstr "Styl:"
+msgstr "Měřítko:"
 
 #: ../gui/wxpython/psmap/dialogs.py:730
 msgid "1 :"
-msgstr ""
+msgstr "1 :"
 
 #: ../gui/wxpython/psmap/dialogs.py:750
 msgid "Map max resolution (dpi):"
-msgstr ""
+msgstr "Maximální rozlišení vrstvy (DPI):"
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
 #: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
-#, fuzzy
 msgid "Border"
-msgstr "georektifikace 1. řádu"
+msgstr "Rámeček"
 
 #: ../gui/wxpython/psmap/dialogs.py:768
 msgid "draw border around map frame"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:774
-#, fuzzy
 msgid "border color:"
-msgstr "barva sítě"
+msgstr "barva rámečku"
 
 #: ../gui/wxpython/psmap/dialogs.py:775
-#, fuzzy
 msgid "border width (pts):"
-msgstr "Šířka linie (v pixelech):"
+msgstr "šířka rámečku (v bodech):"
 
 #: ../gui/wxpython/psmap/dialogs.py:869
 msgid ""
@@ -3527,10 +3428,10 @@ msgid "Invalid scale or map center!"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/nviz/mapwindow.py:1676
+#: ../gui/wxpython/lmgr/layertree.py:800 ../gui/wxpython/menustrings.py:1996
 msgid "Raster map"
-msgstr "Rastrová mapa"
+msgstr "Rastrová vrstva"
 
 #: ../gui/wxpython/psmap/dialogs.py:1167
 #, fuzzy
@@ -3706,9 +3607,8 @@ msgid "fill color"
 msgstr "barva sítě"
 
 #: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
-#, fuzzy
 msgid "choose color:"
-msgstr "Vyberte adresář:"
+msgstr "vyberte barvu:"
 
 #: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
 msgid "color from map table column:"
@@ -3730,7 +3630,8 @@ msgid "Size and style"
 msgstr "styl linie"
 
 #: ../gui/wxpython/psmap/dialogs.py:1955
-#: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
+#: ../gui/wxpython/vdigit/preferences.py:86
+#: ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Symbolika"
 
@@ -3746,10 +3647,9 @@ msgstr "Soubor WTK:"
 
 #: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
 msgid "Type filename or click browse to choose file"
-msgstr ""
+msgstr "Zadejte název souboru nebo zvolte soubor po klepnutí na Procházet"
 
 #: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
-#, fuzzy
 msgid "Choose a file"
 msgstr "Vyberte soubor"
 
@@ -3830,30 +3730,25 @@ msgid "pattern scale factor:"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:2483
-#, fuzzy
 msgid "Raster legend"
-msgstr "Série rastrových map"
+msgstr "Legenda rastru"
 
 #: ../gui/wxpython/psmap/dialogs.py:2487
 #: ../gui/wxpython/animation/dialogs.py:369
-#, fuzzy
 msgid "Show raster legend"
-msgstr "Zobrazit legendu"
+msgstr "Zobrazit legendu rastru"
 
 #: ../gui/wxpython/psmap/dialogs.py:2493
-#, fuzzy
 msgid "Source raster"
-msgstr "Jméno zdroje"
+msgstr "Zdrojový rastr"
 
 #: ../gui/wxpython/psmap/dialogs.py:2497
-#, fuzzy
 msgid "current raster"
-msgstr "Rasterizace vektorové vrstvy"
+msgstr "aktuální rastr"
 
 #: ../gui/wxpython/psmap/dialogs.py:2498
-#, fuzzy
 msgid "select raster"
-msgstr "Vybrat rastrovou mapu:"
+msgstr "vybrat rastr"
 
 #: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
 #, python-format
@@ -3861,9 +3756,8 @@ msgid "%(rast)s: type %(type)s"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:2525
-#, fuzzy
 msgid "Type of legend"
-msgstr "Zobrazit legendu"
+msgstr "Typ legendy"
 
 #: ../gui/wxpython/psmap/dialogs.py:2529
 msgid "discrete legend (categorical maps)"
@@ -3874,9 +3768,8 @@ msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:2542
-#, fuzzy
 msgid "Advanced legend settings"
-msgstr "Rozšířené nastavení"
+msgstr "Rozšířené nastavení legendy"
 
 #: ../gui/wxpython/psmap/dialogs.py:2546
 msgid "draw \"no data\" box"
@@ -3894,41 +3787,37 @@ msgid "range"
 msgstr "rozmezí"
 
 #: ../gui/wxpython/psmap/dialogs.py:2600
-#, fuzzy
 msgid "Vector legend"
-msgstr "Vektorové linie"
+msgstr "Legenda vektoru"
 
 #: ../gui/wxpython/psmap/dialogs.py:2604
-#, fuzzy
 msgid "Show vector legend"
-msgstr "Ukázat vektorové linie"
+msgstr "Zobrazit legendu vektoru"
 
 #: ../gui/wxpython/psmap/dialogs.py:2610
-#, fuzzy
 msgid "Source vector maps"
-msgstr "Dotaz na vektorovou mapu"
+msgstr "Zdrojové vektorové vrstvy"
 
 #: ../gui/wxpython/psmap/dialogs.py:2614
 msgid "Choose vector maps and their order in legend"
-msgstr ""
+msgstr "Zvolte vektorové vrstvy a jejich pořadí v legendě"
 
 #: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
 #: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
 msgid "Vector map"
-msgstr "Vektorová mapa"
+msgstr "Vektorová vrstva"
 
 #: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
-#, fuzzy
 msgid "Edit label"
-msgstr "Přidat vrstvu s popisky"
+msgstr "Upravit popisek"
 
 #: ../gui/wxpython/psmap/dialogs.py:2660
 msgid "draw border around legend"
-msgstr ""
+msgstr "nakreslit rámeček okolo legendy"
 
 #: ../gui/wxpython/psmap/dialogs.py:2697
 msgid "Size and position"
-msgstr ""
+msgstr "Velikost a pozice"
 
 #: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
 #: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
@@ -3941,18 +3830,19 @@ msgstr "Pozice"
 
 #: ../gui/wxpython/psmap/dialogs.py:2731
 msgid "Leave the edit field empty, to use default values."
-msgstr ""
+msgstr "Ponecháte-li pole prázdné, použijí se výchozí hodnoty."
 
 #: ../gui/wxpython/psmap/dialogs.py:2753
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
+"Šířka barevného symbolu (u linií)\n"
+"před textem legendy"
 
 #: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
-#, fuzzy
 msgid "Columns:"
-msgstr "Sloupce"
+msgstr "Sloupce:"
 
 #: ../gui/wxpython/psmap/dialogs.py:2763
 #, fuzzy
@@ -3985,19 +3875,16 @@ msgid "Mapinfo settings"
 msgstr "Nastavení serveru"
 
 #: ../gui/wxpython/psmap/dialogs.py:3285
-#, fuzzy
 msgid "Color settings"
-msgstr "Nastavení modelování"
+msgstr "Nastavení barev"
 
 #: ../gui/wxpython/psmap/dialogs.py:3290
-#, fuzzy
 msgid "use border color:"
-msgstr "použijte | X souřadnici"
+msgstr "použít barvu rámečku:"
 
 #: ../gui/wxpython/psmap/dialogs.py:3291
-#, fuzzy
 msgid "use background color:"
-msgstr "Barva pozadí:"
+msgstr "použít barvu pozadí:"
 
 #: ../gui/wxpython/psmap/dialogs.py:3432
 msgid ""
@@ -4006,97 +3893,87 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:3433
-#, fuzzy
 msgid "Unsupported units"
-msgstr "Nepodporovaný typ vrstvy '%s'"
+msgstr "Nepodporované jednotky"
 
 #: ../gui/wxpython/psmap/dialogs.py:3477
-#, fuzzy
 msgid "Length:"
-msgstr "délka"
+msgstr "Délka:"
 
 #: ../gui/wxpython/psmap/dialogs.py:3481
 msgid "Scalebar length is given in map units"
-msgstr ""
+msgstr "Délka měřítka je zadána v mapových jednotkách"
 
 #: ../gui/wxpython/psmap/dialogs.py:3484
 msgid "Scalebar height is real height on paper"
-msgstr ""
+msgstr "Výška měřítka odpovídá skutečné výšce na papíru"
 
 #: ../gui/wxpython/psmap/dialogs.py:3486
-#, fuzzy
 msgid "default"
-msgstr "Výchozí"
+msgstr "výchozí"
 
 #: ../gui/wxpython/psmap/dialogs.py:3531
-#, fuzzy
 msgid "Type:"
-msgstr "Typ"
+msgstr "Typ:"
 
 #: ../gui/wxpython/psmap/dialogs.py:3547
-#, fuzzy
 msgid "Number of segments:"
-msgstr "Jméno prvku:"
+msgstr "Počet částí:"
 
 #: ../gui/wxpython/psmap/dialogs.py:3551
 msgid "Label every "
-msgstr ""
+msgstr "Popsat každé"
 
 #: ../gui/wxpython/psmap/dialogs.py:3552
-#, fuzzy
 msgid "segments"
-msgstr "Legenda"
+msgstr "části"
 
 #: ../gui/wxpython/psmap/dialogs.py:3561
 msgid "transparent text background"
-msgstr ""
+msgstr "průhledné pozadí textu"
 
 #: ../gui/wxpython/psmap/dialogs.py:3638
 msgid "Length of scale bar is not defined"
-msgstr ""
+msgstr "Není určena délka měřítka"
 
 #: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
 #: ../gui/wxpython/menustrings.py:2006
-#, fuzzy
 msgid "Text"
-msgstr "Test"
+msgstr "Text"
 
 #: ../gui/wxpython/psmap/dialogs.py:3715
 msgid "Enter text:"
 msgstr "Vložte text:"
 
 #: ../gui/wxpython/psmap/dialogs.py:3741
-#, fuzzy
 msgid "Text effects"
-msgstr "Nastavení písma"
+msgstr "Efekty pro text"
 
 #: ../gui/wxpython/psmap/dialogs.py:3746
 msgid "text background"
-msgstr ""
+msgstr "pozadí textu"
 
 #: ../gui/wxpython/psmap/dialogs.py:3749
-#, fuzzy
 msgid "highlight"
-msgstr "Zvýraznění"
+msgstr "zvýraznění"
 
 #: ../gui/wxpython/psmap/dialogs.py:3754
-#, fuzzy
 msgid "text border"
-msgstr "georektifikace 1. řádu"
+msgstr "rámeček textu"
 
 #: ../gui/wxpython/psmap/dialogs.py:3829
 msgid "Offset"
-msgstr ""
+msgstr "Posun"
 
 #: ../gui/wxpython/psmap/dialogs.py:3832
 msgid "horizontal (pts):"
-msgstr ""
+msgstr "vodorovně (body):"
 
 #: ../gui/wxpython/psmap/dialogs.py:3833
 msgid "vertical (pts):"
-msgstr ""
+msgstr "svisle (body):"
 
 #: ../gui/wxpython/psmap/dialogs.py:3846
 #, fuzzy
@@ -4104,53 +3981,47 @@ msgid " Reference point"
 msgstr "Levé: nový bod"
 
 #: ../gui/wxpython/psmap/dialogs.py:3874
-#, fuzzy
 msgid "Text rotation"
-msgstr "Nastavení písma"
+msgstr "Otočení textu"
 
 #: ../gui/wxpython/psmap/dialogs.py:3877
 msgid "rotate text (counterclockwise)"
-msgstr ""
+msgstr "otočit text (proti směru hodinových ručiček)"
 
 #: ../gui/wxpython/psmap/dialogs.py:3953
 msgid "No text entered!"
-msgstr ""
+msgstr "Neby zadán žádný text!"
 
 #: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
 #: ../gui/wxpython/menustrings.py:2008
-#, fuzzy
 msgid "Image"
-msgstr "Obraz"
+msgstr "Obrázek"
 
 #: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
-#, fuzzy
 msgid "Choose a directory:"
-msgstr "Vyberte vstupní adresář"
+msgstr "Vyberte adresář:"
 
 #: ../gui/wxpython/psmap/dialogs.py:4122
-#, fuzzy
 msgid "Choose a directory with images"
-msgstr "Vyberte vstupní adresář"
+msgstr "Vyberte adresář s obrázky"
 
 #: ../gui/wxpython/psmap/dialogs.py:4154
 msgid "Note: only EPS format supported"
-msgstr ""
+msgstr "Poznámka: podporován je pouze formát EPS"
 
 #: ../gui/wxpython/psmap/dialogs.py:4163
-#, fuzzy
 msgid "Scale And Rotation"
-msgstr "Měřítko a směrová růžice"
+msgstr "Měřítko a otočení"
 
 #: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
-#, fuzzy
 msgid "Rotation angle (deg):"
-msgstr "Otočení:"
+msgstr "Úhel otočení (stupně):"
 
 #: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
 msgid "Counterclockwise rotation in degrees"
-msgstr ""
+msgstr "Otočení proti směru hodinových ručiček ve stupních"
 
 #: ../gui/wxpython/psmap/dialogs.py:4301
 #, fuzzy
@@ -4160,9 +4031,9 @@ msgid ""
 msgstr "Emise"
 
 #: ../gui/wxpython/psmap/dialogs.py:4321
-#, fuzzy, python-format
+#, python-format
 msgid "Unable to read file %s"
-msgstr "Nelze načíst seznam EPSG kódů: %s"
+msgstr "Nelze načíst soubor %s"
 
 #: ../gui/wxpython/psmap/dialogs.py:4380
 #, python-format
@@ -4170,20 +4041,17 @@ msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:4402
-#, fuzzy
 msgid "No image selected."
-msgstr "Nebyla vybrána žádná mapová vrstva"
+msgstr "Nebyl vybrán žádný obrázek"
 
 #: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
 #: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
-#, fuzzy
 msgid "North Arrow"
-msgstr "Měřítko a směrová růžice"
+msgstr "Směrová růžice"
 
 #: ../gui/wxpython/psmap/dialogs.py:4499
-#, fuzzy
 msgid "North Arrow settings"
-msgstr "Ukázat nastavení"
+msgstr "Nastavení směrové růžice"
 
 #: ../gui/wxpython/psmap/dialogs.py:4510
 msgid "Compute convergence"
@@ -4212,9 +4080,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
-#, fuzzy
 msgid "Outline color:"
-msgstr "Barva linie"
+msgstr "Barva obrysu:"
 
 #: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
 #: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
@@ -4223,39 +4090,32 @@ msgid "transparent"
 msgstr "Průhledný"
 
 #: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
-#, fuzzy
 msgid "Fill color:"
-msgstr "barva sítě"
+msgstr "Barva výplně:"
 
 #: ../gui/wxpython/psmap/dialogs.py:4642
-#, fuzzy
 msgid "Size and Rotation"
-msgstr "Měřítko a směrová růžice"
+msgstr "Velikost a otočení"
 
 #: ../gui/wxpython/psmap/dialogs.py:4647
-#, fuzzy
 msgid "Size (pt):"
-msgstr "Velikost:"
+msgstr "Velikost (body):"
 
 #: ../gui/wxpython/psmap/dialogs.py:4649
-#, fuzzy
 msgid "Symbol size in points"
-msgstr "Velikost symbolu:"
+msgstr "Velikost symbolu v bodech"
 
 #: ../gui/wxpython/psmap/dialogs.py:4823
-#, fuzzy
 msgid "Rectangle settings"
-msgstr "Změnit nastavení"
+msgstr "Nastavení obdélníku"
 
 #: ../gui/wxpython/psmap/dialogs.py:4825
-#, fuzzy
 msgid "Line settings"
-msgstr "Změnit nastavení"
+msgstr "Nastavení linie"
 
 #: ../gui/wxpython/psmap/dialogs.py:4911
-#, fuzzy
 msgid "Line width in points"
-msgstr "Šířka linie (v pixelech):"
+msgstr "Šířka linie v bodech"
 
 #: ../gui/wxpython/psmap/dialogs.py:4979
 #, fuzzy
@@ -4286,18 +4146,16 @@ msgid "Program ps2pdf is not available. Please install it first to create PDF."
 msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:282
-#, fuzzy
 msgid "Generating PDF..."
-msgstr "Obecné nastavení"
+msgstr "Vytváření PDF..."
 
 #: ../gui/wxpython/psmap/frame.py:284
 msgid "Generating PostScript..."
 msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:286
-#, fuzzy
 msgid "Generating preview..."
-msgstr "Náhled tisku"
+msgstr "Vytváření náhledu..."
 
 #: ../gui/wxpython/psmap/frame.py:296
 #, python-format
@@ -4310,9 +4168,8 @@ msgid "%(prg)s exited with return code %(code)s"
 msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:329
-#, fuzzy
 msgid "PDF generated"
-msgstr "Nebyla vybrána žádná mapová vrstva"
+msgstr "PDF vytvořeno"
 
 #: ../gui/wxpython/psmap/frame.py:332
 #, python-format
@@ -4323,9 +4180,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:335
-#, fuzzy
 msgid "PostScript file generated"
-msgstr "Nebyla vybrána žádná mapová vrstva"
+msgstr "Soubor PostScriptu vytvořen"
 
 #: ../gui/wxpython/psmap/frame.py:341
 #, fuzzy
@@ -4333,14 +4189,11 @@ msgid "Generating preview, wait please"
 msgstr "Náhled tisku"
 
 #: ../gui/wxpython/psmap/frame.py:355
-#, fuzzy
 msgid "Preview not available"
-msgstr "3D mód není k dispozici"
+msgstr "Náhled není k dispozici"
 
 #: ../gui/wxpython/psmap/frame.py:356
-msgid ""
-"Preview is not available probably because Ghostscript is not installed or "
-"not on PATH."
+msgid "Preview is not available probably because Ghostscript is not installed or not on PATH."
 msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:358
@@ -4349,12 +4202,11 @@ msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:369
 msgid "Preview generated"
-msgstr ""
+msgstr "Náhled vytvořen"
 
 #: ../gui/wxpython/psmap/frame.py:399
-#, fuzzy
 msgid "Save file as"
-msgstr "Uložit soubor jako..."
+msgstr "Uložit soubor jako"
 
 #: ../gui/wxpython/psmap/frame.py:441
 #, fuzzy, python-format
@@ -4368,7 +4220,7 @@ msgstr "Definujte parametry pro %s projekci"
 
 #: ../gui/wxpython/psmap/frame.py:1028
 msgid "Press button with green triangle icon to generate preview."
-msgstr ""
+msgstr "Náhled vytvoříte stisknutím tlačítka s ikonou zeleného trojúhelníku."
 
 #: ../gui/wxpython/psmap/frame.py:1052
 #, fuzzy
@@ -4393,7 +4245,7 @@ msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:1107
 msgid "SCALE BAR"
-msgstr ""
+msgstr "MĚŘÍTKO"
 
 #: ../gui/wxpython/psmap/frame.py:1108
 msgid "IMAGE"
@@ -4401,23 +4253,24 @@ msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:1109
 msgid "NORTH ARROW"
-msgstr ""
+msgstr "SMĚROVÁ RŮŽICE"
 
 #: ../gui/wxpython/psmap/frame.py:1351
 msgid "Click and drag to resize object"
 msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:2171
-#, fuzzy
 msgid "labels: "
-msgstr "Přidat vrstvu s popisky"
+msgstr "popisky:"
 
 #: ../gui/wxpython/psmap/instructions.py:133
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
-msgstr "Nelze otevřít soubor <%s> pro zápis."
+msgstr ""
+"Nelze otevřít soubor\n"
+"%s"
 
 #: ../gui/wxpython/psmap/instructions.py:467
 #, python-format
@@ -4490,16 +4343,12 @@ msgstr "Nelze načíst seznam: %s"
 #: ../gui/wxpython/psmap/instructions.py:818
 #: ../gui/wxpython/psmap/instructions.py:1700
 #, python-format
-msgid ""
-"Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
-"which is required by module ps.map."
+msgid "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding which is required by module ps.map."
 msgstr ""
 
 #: ../gui/wxpython/psmap/instructions.py:822
 #: ../gui/wxpython/psmap/instructions.py:1704
-msgid ""
-"Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
-"required by module ps.map."
+msgid "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is required by module ps.map."
 msgstr ""
 
 #: ../gui/wxpython/psmap/instructions.py:938
@@ -4509,59 +4358,51 @@ msgstr "Nelze načíst seznam: %s"
 
 #: ../gui/wxpython/psmap/utils.py:93
 msgid "inch"
-msgstr ""
+msgstr "palec"
 
 #: ../gui/wxpython/psmap/utils.py:94 ../gui/wxpython/modules/vclean.py:196
 msgid "point"
 msgstr "bod"
 
 #: ../gui/wxpython/psmap/utils.py:95
-#, fuzzy
 msgid "centimeter"
-msgstr "Obvod"
+msgstr "centimetr"
 
 #: ../gui/wxpython/psmap/utils.py:96
-#, fuzzy
 msgid "millimeter"
-msgstr "Obvod"
+msgstr "milimetr"
 
 #: ../gui/wxpython/psmap/utils.py:97
-#, fuzzy
 msgid "meters"
-msgstr "Parametry"
+msgstr "metry"
 
 #: ../gui/wxpython/psmap/utils.py:98
-#, fuzzy
 msgid "kilometers"
-msgstr "Obvod"
+msgstr "kilometry"
 
 #: ../gui/wxpython/psmap/utils.py:99
-#, fuzzy
 msgid "feet"
-msgstr "Reset"
+msgstr "stopy"
 
 #: ../gui/wxpython/psmap/utils.py:100
-#, fuzzy
 msgid "miles"
-msgstr "Soubor"
+msgstr "míle"
 
 #: ../gui/wxpython/psmap/utils.py:101 ../gui/wxpython/psmap/utils.py:105
 msgid "nautical miles"
-msgstr ""
+msgstr "námořní míle"
 
 #: ../gui/wxpython/psmap/utils.py:103
 msgid "pixel"
-msgstr ""
+msgstr "pixel"
 
 #: ../gui/wxpython/psmap/utils.py:104
-#, fuzzy
 msgid "meter"
-msgstr "Obvod"
+msgstr "metr"
 
 #: ../gui/wxpython/psmap/utils.py:106
-#, fuzzy
 msgid "degree"
-msgstr "dtree"
+msgstr "stupeň"
 
 #: ../gui/wxpython/psmap/utils.py:351
 #, fuzzy
@@ -4577,14 +4418,12 @@ msgid "Load text file with mapping instructions"
 msgstr ""
 
 #: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
-#, fuzzy
 msgid "Generate PostScript output"
-msgstr "Nástroj pro tvorbu mapových výstupů ve formátu PostScript."
+msgstr "Vytvořit výstupní PostScript"
 
 #: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
-#, fuzzy
 msgid "Generate PDF output"
-msgstr "Vytvořit bodovou vrstvu"
+msgstr "Vytvořit výstupní PDF"
 
 #: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
 msgid "Specify paper size, margins and orientation"
@@ -4604,14 +4443,12 @@ msgid "Click and drag to place map frame"
 msgstr ""
 
 #: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
-#, fuzzy
 msgid "Delete selected object"
-msgstr "Odstranit vybranou lokaci"
+msgstr "Smazat vybraný objekt"
 
 #: ../gui/wxpython/psmap/toolbars.py:84
-#, fuzzy
 msgid "Show preview"
-msgstr "Zobrazit mřížku"
+msgstr "Zobrazit náhled"
 
 #: ../gui/wxpython/psmap/toolbars.py:86
 #, fuzzy
@@ -4625,9 +4462,8 @@ msgstr "Přidat mapové prvky"
 
 #: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
 #: ../gui/wxpython/menustrings.py:2004
-#, fuzzy
 msgid "Scale bar"
-msgstr "Přidat vrstvu"
+msgstr "Měřítko"
 
 #: ../gui/wxpython/psmap/toolbars.py:102
 #: ../gui/wxpython/vdigit/preferences.py:539
@@ -4638,30 +4474,28 @@ msgstr "Linie"
 #: ../gui/wxpython/rlisetup/wizard.py:1105
 #: ../gui/wxpython/rlisetup/wizard.py:1267
 #: ../gui/wxpython/rlisetup/wizard.py:1356
-#, fuzzy
 msgid "Rectangle"
-msgstr "Vybrat dangles"
+msgstr "Obdélník"
 
 #: ../gui/wxpython/psmap/toolbars.py:106
-#, fuzzy
 msgid "Add overlays"
-msgstr "Překrýt další vrstvou"
+msgstr "Přidat překryvy"
 
 #: ../gui/wxpython/psmap/toolbars.py:108 ../gui/wxpython/lmgr/layertree.py:102
 msgid "Add labels"
-msgstr "Přidat vrstvu s popisky"
+msgstr "Přidat popisky"
 
 #: ../gui/wxpython/psmap/toolbars.py:196
 msgid "Add simple graphics: points"
-msgstr ""
+msgstr "Přidat jednoduchou grafiku: body"
 
 #: ../gui/wxpython/psmap/toolbars.py:208
 msgid "Add simple graphics: lines"
-msgstr ""
+msgstr "Přidat jednoduchou grafiku: linie"
 
 #: ../gui/wxpython/psmap/toolbars.py:220
 msgid "Add simple graphics: rectangles"
-msgstr ""
+msgstr "Přidat jednoduchou grafiku: obdélníky"
 
 #: ../gui/wxpython/icons/icon.py:34
 #, python-format
@@ -4743,8 +4577,7 @@ msgstr "Spustit GRASS seanci"
 
 #: ../gui/wxpython/mapdisp/frame.py:253
 #, fuzzy, python-format
-msgid ""
-"GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
+msgid "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "GRASS GIS Mapové okno: %(id)d - Location: %(loc)s"
 
 #: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
@@ -4778,7 +4611,7 @@ msgid ""
 "\n"
 "Details: %s"
 msgstr ""
-"Nelze spustit 3D pohled.\n"
+"Nelze spustit 3D zobrazení.\n"
 "Rozšíření Pythonu pro Nviz nebylo nalezeno nebo načteno správně.\n"
 "Přepínám zpět do 2D zobrazení.\n"
 "\n"
@@ -4838,45 +4671,41 @@ msgstr "Nebyla vybrána žádná vektorová mapa pro dotazování."
 
 #: ../gui/wxpython/mapdisp/frame.py:878
 #, python-brace-format
-msgid ""
-"Failed to query vector map(s) <{maps}>. Check database settings and topology."
+msgid "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1253
+#: ../gui/wxpython/mapdisp/toolbars.py:49
 msgid "Add text layer"
 msgstr "Přidat vrstvu s textem"
 
 #: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
-msgstr "Zvětšit podle výchozího regionu"
+msgstr "Přiblížit na výchozí region"
 
 #: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
-msgstr "Zvětšit podle uloženého regionu"
+msgstr "Přiblížit na uložený region"
 
 #: ../gui/wxpython/mapdisp/frame.py:1357
-#, fuzzy
 msgid "Set computational region extent from display"
-msgstr "Nastavit výpočetní region podle aktuálního zobrazení"
+msgstr "Nastavit výpočetní region podle aktuálního okna"
 
 #: ../gui/wxpython/mapdisp/frame.py:1358
-#, fuzzy
 msgid "Set computational region extent interactively"
-msgstr "Přiblížit na výpočetní region"
+msgstr "Nastavit výpočetní region interaktivně"
 
 #: ../gui/wxpython/mapdisp/frame.py:1359
-#, fuzzy
 msgid "Set computational region from named region"
-msgstr "Nastavit výpočetní region podle aktuálního zobrazení"
+msgstr "Nastavit výpočetní region podle pojmenovaného regionu"
 
 #: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
-msgstr "Uložit aktuální zobrazení jako pojmenovaný region"
+msgstr "Uložit aktuální okno jako pojmenovaný region"
 
 #: ../gui/wxpython/mapdisp/frame.py:1362
-#, fuzzy
 msgid "Save computational region to named region"
-msgstr "Nastavit výpočetní region podle aktuálního zobrazení"
+msgstr "Uložit výpočetní region jako pojmenovaný region"
 
 #: ../gui/wxpython/mapdisp/statusbar.py:402
 msgid "Render"
@@ -4895,15 +4724,8 @@ msgid "Show computational extent"
 msgstr "Zobrazit meze výpočetního regionu "
 
 #: ../gui/wxpython/mapdisp/statusbar.py:443
-msgid ""
-"Show/hide computational region extent (set with g.region). Display region "
-"drawn as a blue box inside the computational region, computational region "
-"inside a display region as a red box)."
-msgstr ""
-"Ukázat/skrýt meze výpočetního regionu (nastaven pomocí g.region). Zobrazený "
-"region bude vykreslen jako modrý rámeček uvnitř výpočetního regionu, "
-"výpočetní region bude zobrazen jako červený rámeček uvnitř zobrazeného "
-"regionu."
+msgid "Show/hide computational region extent (set with g.region). Display region drawn as a blue box inside the computational region, computational region inside a display region as a red box)."
+msgstr "Ukázat/skrýt meze výpočetního regionu (nastaven pomocí g.region). Zobrazený region bude vykreslen jako modrý rámeček uvnitř výpočetního regionu, výpočetní region bude zobrazen jako červený rámeček uvnitř zobrazeného regionu."
 
 #: ../gui/wxpython/mapdisp/statusbar.py:492
 msgid "Display mode"
@@ -4916,17 +4738,12 @@ msgstr ""
 
 #: ../gui/wxpython/mapdisp/statusbar.py:499
 #, fuzzy
-msgid ""
-"Align region extent based on display size from center point. Default value "
-"for new map displays can be set up in 'User GUI settings' dialog."
-msgstr ""
-"Nastavit zobrazené rozlišení jako výpočetní. Vychozí hodnota pro nová mapová "
-"okna může být upravena v okně 'Uživatelské nastavení grafického prostředí'."
+msgid "Align region extent based on display size from center point. Default value for new map displays can be set up in 'User GUI settings' dialog."
+msgstr "Nastavit zobrazené rozlišení jako výpočetní. Vychozí hodnota pro nová mapová okna může být upravena v okně 'Uživatelské nastavení grafického prostředí'."
 
 #: ../gui/wxpython/mapdisp/statusbar.py:532
-#, fuzzy
 msgid "Display resolution"
-msgstr "Zobrazit celý region"
+msgstr "Rozlišení okna"
 
 #: ../gui/wxpython/mapdisp/statusbar.py:535
 #: ../gui/wxpython/gui_core/preferences.py:684
@@ -4934,26 +4751,20 @@ msgid "Constrain display resolution to computational settings"
 msgstr "Nastavit zobrazené rozlišení jako výpočetní "
 
 #: ../gui/wxpython/mapdisp/statusbar.py:538
-msgid ""
-"Constrain display resolution to computational region settings. Default value "
-"for new map displays can be set up in 'User GUI settings' dialog."
-msgstr ""
-"Nastavit zobrazené rozlišení jako výpočetní. Vychozí hodnota pro nová mapová "
-"okna může být upravena v okně 'Uživatelské nastavení grafického prostředí'."
+msgid "Constrain display resolution to computational region settings. Default value for new map displays can be set up in 'User GUI settings' dialog."
+msgstr "Nastavit zobrazené rozlišení jako výpočetní. Vychozí hodnota pro nová mapová okna může být upravena v okně 'Uživatelské nastavení grafického prostředí'."
 
 #: ../gui/wxpython/mapdisp/statusbar.py:575
 msgid "Map scale"
 msgstr "Měřítko mapy"
 
 #: ../gui/wxpython/mapdisp/statusbar.py:589
-msgid ""
-"As everyone's monitors and resolutions are set differently these values are "
-"not true map scales, but should get you into the right neighborhood."
-msgstr ""
+msgid "As everyone's monitors and resolutions are set differently these values are not true map scales, but should get you into the right neighborhood."
+msgstr "Kvůli tomu, že má každý jinak nastaven monitor a rozlišení, nejsou tyto hodnoty skutečnými měřítky mapy, ale měly by se jim rozumně blížit."
 
 #: ../gui/wxpython/mapdisp/statusbar.py:642
 msgid "Go to"
-msgstr "Jdi na"
+msgstr "Přejít na"
 
 #: ../gui/wxpython/mapdisp/statusbar.py:663
 #: ../gui/wxpython/mapdisp/statusbar.py:727
@@ -4978,13 +4789,8 @@ msgid "Use defined projection"
 msgstr "Použít definované kartografické zobrazení"
 
 #: ../gui/wxpython/mapdisp/statusbar.py:787
-#, fuzzy
-msgid ""
-"Reproject coordinates displayed in the statusbar. Projection can be defined "
-"in GUI preferences dialog (tab 'Projection')"
-msgstr ""
-"Změní projekci souřadnic zobrazených ve stavovém řádku. Projekci lze "
-"definovat v nastavení GUI (záložka 'Displej')"
+msgid "Reproject coordinates displayed in the statusbar. Projection can be defined in GUI preferences dialog (tab 'Projection')"
+msgstr "Změní kartografické zobrazení souřadnic zobrazených ve stavovém řádku. Kartografické zobrazení lze definovat v nastavení GUI (karta 'Mapové okno')"
 
 #: ../gui/wxpython/mapdisp/statusbar.py:812
 msgid "MASK"
@@ -4992,7 +4798,7 @@ msgstr "MASKA"
 
 #: ../gui/wxpython/mapdisp/statusbar.py:856
 msgid "Display geometry"
-msgstr "Geometrie displeje"
+msgstr "Geometrie okna"
 
 #: ../gui/wxpython/mapdisp/statusbar.py:878
 msgid "Coordinates"
@@ -5010,26 +4816,24 @@ msgstr "Výpočetní region"
 #: ../gui/wxpython/mapdisp/toolbars.py:29
 #: ../gui/wxpython/mapswipe/toolbars.py:30
 msgid "Query raster/vector map(s)"
-msgstr "Dotazovat rastrovou/vektorovou mapu"
+msgstr "Dotazovat rastrovou/vektorovou vrstvu"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:30
 #: ../gui/wxpython/mapswipe/toolbars.py:31
 msgid "Query selected raster/vector map(s)"
-msgstr "Dotazovat vybranou rastrovou/vektorovou mapu"
+msgstr "Dotazovat vybranou rastrovou/vektorovou vrstvu"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
-#, fuzzy
 msgid "Show/hide scale bar"
-msgstr "Zobrazit/skrýt měřítko a směrovou růžici"
+msgstr "Zobrazit/skrýt měřítko"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:34
 msgid "Show/hide legend"
 msgstr "Zobrazit/skrýt legendu"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:36
-#, fuzzy
 msgid "Show/hide north arrow"
-msgstr "Zobrazit/skrýt měřítko a směrovou růžici"
+msgstr "Zobrazit/skrýt směrovou růžici"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:38
 msgid "Analyze map"
@@ -5037,16 +4841,15 @@ msgstr "Analýza mapy"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:39
 msgid "Measuring, profiling, histogramming, ..."
-msgstr ""
+msgstr "Měření, profily, histogramy, ..."
 
 #: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Measure distance"
 msgstr "Měření vzdálenosti"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:43
-#, fuzzy
 msgid "Measure area"
-msgstr "Měření vzdálenosti"
+msgstr "Měření plochy"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:45
 msgid "Profile surface map"
@@ -5058,53 +4861,47 @@ msgid "Create bivariate scatterplot of raster maps"
 msgstr "Vytvořit histogram obrazu nebo rastrového souboru"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:51
-#, fuzzy
 msgid "Create histogram of raster map"
-msgstr "Vytvořit histogram obrazu nebo rastrového souboru"
+msgstr "Vytvořit histogram rastrové vrstvy"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
-#, fuzzy
 msgid "Vector network analysis tool"
-msgstr "Síťová analýza"
+msgstr "Analýza vektorové sítě"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:58
 msgid "Rotate 3D scene"
-msgstr ""
+msgstr "Otočit 3D scénu"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:59
-#, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
-msgstr "Táhnout myší pro zobrazení celeé mapy"
+msgstr "Táhnutím myší otáčet 3D scénu"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:61
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
-msgstr ""
+msgstr "Režim průletu"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:62
-msgid ""
-"Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
-msgstr ""
+msgid "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
+msgstr "Táhněte myší, podržením Ctrl změníte režim, podržením Shiftu zvětšíte rychlost"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:64
-#, fuzzy
 msgid "Click mouse to zoom"
-msgstr "Kliknout nebo táhnout myší pro přiblížení"
+msgstr "Přiblížení kliknutím myší"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:65
-#, fuzzy
 msgid "Click mouse to unzoom"
-msgstr "Kliknout nebo táhnout myší pro zmenšení"
+msgstr "Oddálení kliknutím myší"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
 #: ../gui/wxpython/lmgr/frame.py:359
 msgid "3D view"
-msgstr "3D pohled"
+msgstr "3D zobrazení"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:93
 msgid "3D view mode not available"
-msgstr "3D mód není k dispozici"
+msgstr "Režim 3D zobrazení není k dispozici"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:94
 #: ../gui/wxpython/mapdisp/toolbars.py:108
@@ -5117,14 +4914,8 @@ msgid "Vector digitizer not available"
 msgstr "Vektorová digitalizace není dostupná"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:109
-msgid ""
-"Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
-"will be fixed soon). Please keep an eye out for updated versions of GRASS. "
-"In the meantime you can use \"v.digit\" from the Develop Vector menu."
-msgstr ""
-"WxGui vektorová digitalizaceí není v současné době dostupná (Doufáme že se "
-"to brzy změní). Prosím kontrolujte nové verze GRASS GIS. Zatím můžete použít "
-"modul \"v.digit\" z nabídky vytvořit vektor."
+msgid "Note that the wxGUI's vector digitizer is currently disabled (hopefully this will be fixed soon). Please keep an eye out for updated versions of GRASS. In the meantime you can use \"v.digit\" from the Develop Vector menu."
+msgstr "WxGui vektorová digitalizaceí není v současné době dostupná (Doufáme že se to brzy změní). Prosím kontrolujte nové verze GRASS GIS. Zatím můžete použít modul \"v.digit\" z nabídky vytvořit vektor."
 
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
@@ -5469,9 +5260,7 @@ msgstr "Zvolit barvu"
 #: ../gui/wxpython/rlisetup/wizard.py:1578
 #: ../gui/wxpython/rlisetup/functions.py:138
 #, python-format
-msgid ""
-"The raster map <%s> already exists. Please remove or rename the maps with "
-"the prefix '%s' or select the option to overwrite existing maps"
+msgid "The raster map <%s> already exists. Please remove or rename the maps with the prefix '%s' or select the option to overwrite existing maps"
 msgstr ""
 
 #: ../gui/wxpython/rlisetup/wizard.py:1618
@@ -5685,9 +5474,7 @@ msgstr ""
 
 #: ../gui/wxpython/rlisetup/frame.py:241
 #, python-format
-msgid ""
-"Set the new name for %s \"                                            "
-"\"configuration file"
+msgid "Set the new name for %s \"                                            \"configuration file"
 msgstr ""
 
 #: ../gui/wxpython/rlisetup/frame.py:243
@@ -5903,9 +5690,7 @@ msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:727
 #: ../gui/wxpython/animation/controller.py:245
-msgid ""
-"More animations are using one window. Please select different window for "
-"each animation."
+msgid "More animations are using one window. Please select different window for each animation."
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:742
@@ -5916,9 +5701,8 @@ msgid "Export animation"
 msgstr "Kvantizace"
 
 #: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
-#, fuzzy
 msgid "Decorations"
-msgstr "Popis"
+msgstr "Dekorace"
 
 #: ../gui/wxpython/animation/dialogs.py:765
 #: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
@@ -5932,15 +5716,15 @@ msgstr "MPEG-1 export"
 msgid "Add time stamp"
 msgstr "Časové razítko"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
-#, fuzzy
+#: ../gui/wxpython/animation/dialogs.py:811
+#: ../gui/wxpython/menustrings.py:2009
 msgid "Add image"
-msgstr "Přidata data"
+msgstr "Přidat obrázek"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
-#, fuzzy
+#: ../gui/wxpython/animation/dialogs.py:811
+#: ../gui/wxpython/menustrings.py:2007
 msgid "Add text"
-msgstr "Přidat vrstvu s textem"
+msgstr "Přidat text"
 
 #: ../gui/wxpython/animation/dialogs.py:831
 msgid "Add time stamp, image or text decoration by one of the buttons above."
@@ -6011,7 +5795,7 @@ msgstr "MPEG-1 export"
 
 #: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
 msgid "File prefix:"
-msgstr ""
+msgstr "Předpona souboru:"
 
 #: ../gui/wxpython/animation/dialogs.py:921
 #, fuzzy
@@ -6019,9 +5803,8 @@ msgid "animation_"
 msgstr "Kvantizace"
 
 #: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
-#, fuzzy
 msgid "File format:"
-msgstr "Formát:"
+msgstr "Formát souboru:"
 
 #: ../gui/wxpython/animation/dialogs.py:927
 #: ../gui/wxpython/gui_core/gselect.py:1400
@@ -6072,9 +5855,7 @@ msgid "Additional options:"
 msgstr "Další volby:"
 
 #: ../gui/wxpython/animation/dialogs.py:998
-msgid ""
-"Consider adding '-sameq' or '-qscale 1' if not satisfied with video quality. "
-"Options depend on ffmpeg version."
+msgid "Consider adding '-sameq' or '-qscale 1' if not satisfied with video quality. Options depend on ffmpeg version."
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:1020
@@ -6163,9 +5944,8 @@ msgid "Please select maps or dataset first."
 msgstr "Prosím vyberte čistící nástroj, který chcete posunout dolů"
 
 #: ../gui/wxpython/animation/dialogs.py:1458
-#, fuzzy
 msgid "Animation Tool settings"
-msgstr "Kvantizace"
+msgstr "Nastavení nástroje pro animace"
 
 #: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
 #: ../gui/wxpython/nviz/preferences.py:178
@@ -6200,9 +5980,7 @@ msgid "Absolute time format:"
 msgstr "Dotaz na vektorovou mapu"
 
 #: ../gui/wxpython/animation/dialogs.py:1577
-msgid ""
-"Click and then press key up or down to preview different date and time "
-"formats. Type custom format string."
+msgid "Click and then press key up or down to preview different date and time formats. Type custom format string."
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:1586
@@ -6214,9 +5992,7 @@ msgid "Display instances with no data"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:1596
-msgid ""
-"When animating instant-based data which have irregular timestamps you can "
-"display 'no data frame' (checked option) or keep last frame."
+msgid "When animating instant-based data which have irregular timestamps you can display 'no data frame' (checked option) or keep last frame."
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:1618
@@ -6264,11 +6040,11 @@ msgid "Animation %d"
 msgstr "Kvantizace"
 
 #: ../gui/wxpython/animation/frame.py:50
-#, fuzzy
 msgid "GRASS GIS Animation tool"
-msgstr "Kvantizace"
+msgstr "Nástroj pro animace GRASS GISu"
 
-#: ../gui/wxpython/animation/frame.py:146 ../gui/wxpython/mapswipe/frame.py:284
+#: ../gui/wxpython/animation/frame.py:146
+#: ../gui/wxpython/mapswipe/frame.py:284
 #, fuzzy
 msgid "Main Toolbar"
 msgstr "Nástrojová lišta pro správu mapy"
@@ -6285,9 +6061,8 @@ msgid "Misc Toolbar"
 msgstr "Nástrojová lišta pro správu mapy"
 
 #: ../gui/wxpython/animation/frame.py:264
-#, fuzzy
 msgid "Loading data"
-msgstr "Načítám data..."
+msgstr "Načítání dat"
 
 #: ../gui/wxpython/animation/frame.py:273
 #, python-brace-format
@@ -6306,9 +6081,7 @@ msgid "to %(to)s"
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:105
-msgid ""
-"It is not allowed to display data with different temporal types (absolute "
-"and relative)."
+msgid "It is not allowed to display data with different temporal types (absolute and relative)."
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:119
@@ -6317,10 +6090,7 @@ msgid "It is not allowed to display data with different units (%s)."
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:130
-msgid ""
-"You are going to display data with different temporal types of maps "
-"(interval and point). It is recommended to use data of one temporal type to "
-"avoid confusion."
+msgid "You are going to display data with different temporal types of maps (interval and point). It is recommended to use data of one temporal type to avoid confusion."
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
@@ -6393,8 +6163,10 @@ msgstr "Přidat připojené vrstvy do stromu vrstev"
 msgid "No map series nor space-time dataset is added."
 msgstr "Vytvořit z databáze"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:93
+#: ../gui/wxpython/animation/utils.py:101
+#: ../gui/wxpython/lmgr/layertree.py:1661
+#: ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "Mapa <%s> nebyla nalezena."
@@ -6404,19 +6176,15 @@ msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
 #: ../gui/wxpython/animation/utils.py:182
-msgid ""
-"The temporal type (absolute/relative) of space-time datasets has to be the "
-"same."
+msgid "The temporal type (absolute/relative) of space-time datasets has to be the same."
 msgstr ""
 
 #: ../gui/wxpython/animation/utils.py:186
-msgid ""
-"The map type (point/interval) of space-time datasets has to be the same."
+msgid "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
 #: ../gui/wxpython/animation/utils.py:190
-msgid ""
-"The temporal extents of maps in space-time datasets have to be the same."
+msgid "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
 #: ../gui/wxpython/animation/utils.py:198
@@ -6424,9 +6192,7 @@ msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
 #: ../gui/wxpython/animation/utils.py:202
-msgid ""
-"The number of maps to animate has to be the same as the number of maps in "
-"temporal dataset."
+msgid "The number of maps to animate has to be the same as the number of maps in temporal dataset."
 msgstr ""
 
 #: ../gui/wxpython/animation/toolbars.py:28
@@ -6444,11 +6210,11 @@ msgstr ""
 
 #: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
 msgid "Stop"
-msgstr ""
+msgstr "Zastavit"
 
 #: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
 msgid "Pause"
-msgstr ""
+msgstr "Pozastavit"
 
 #: ../gui/wxpython/animation/toolbars.py:33
 msgid "Repeat"
@@ -6473,9 +6239,7 @@ msgid "Add space-time dataset or series of map layers for animation"
 msgstr ""
 
 #: ../gui/wxpython/timeline/frame.py:38
-msgid ""
-"The Timeline Tool needs the \"matplotlib\" (python-matplotlib) package to be "
-"installed."
+msgid "The Timeline Tool needs the \"matplotlib\" (python-matplotlib) package to be installed."
 msgstr ""
 
 #: ../gui/wxpython/timeline/frame.py:70
@@ -6515,9 +6279,7 @@ msgstr "Vektorová mapa <%s> nebyla nalezena."
 
 #: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
 #: ../gui/wxpython/tplot/frame.py:418
-msgid ""
-"Datasets have different temporal type (absolute x relative), which is not "
-"allowed."
+msgid "Datasets have different temporal type (absolute x relative), which is not allowed."
 msgstr ""
 
 #: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
@@ -6612,25 +6374,24 @@ msgstr ""
 #: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
-msgstr "Pohled"
+msgstr "Zobrazení"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:96
+#: ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "Vzhled"
 
 #: ../gui/wxpython/nviz/tools.py:100
-#, fuzzy
 msgid "Analysis"
 msgstr "Analýza"
 
 #: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
-#, fuzzy
 msgid "Animation"
-msgstr "Kvantizace"
+msgstr "Animace"
 
 #: ../gui/wxpython/nviz/tools.py:226
 msgid "Control View"
-msgstr ""
+msgstr "Nastavení zobrazení"
 
 #: ../gui/wxpython/nviz/tools.py:247
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
@@ -6642,116 +6403,99 @@ msgstr "Perspektiva:"
 
 #: ../gui/wxpython/nviz/tools.py:260
 msgid "Tilts the plane of the surface from the horizontal"
-msgstr ""
+msgstr "Nakloní rovinu povrchu vzhledem k vodorovné poloze"
 
 #: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
 msgid "Tilt:"
-msgstr ""
+msgstr "Naklonění:"
 
 #: ../gui/wxpython/nviz/tools.py:271
-msgid ""
-"Adjusts the viewing height above the surface (angle of view automatically "
-"adjusts to maintain the same center of view)"
-msgstr ""
+msgid "Adjusts the viewing height above the surface (angle of view automatically adjusts to maintain the same center of view)"
+msgstr "Nastaví výšku pohledu nad povrchem (úhel pohledu se automaticky přizpůsobí, aby se zachoval střed pohledu)"
 
 #: ../gui/wxpython/nviz/tools.py:276
 msgid "Adjusts the relative height of features above the plane of the surface"
-msgstr ""
+msgstr "Nastaví relativní výšku prvků nad rovinou povrchu"
 
 #: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "Převýšení:"
 
 #: ../gui/wxpython/nviz/tools.py:303
-#, fuzzy
 msgid "Look:"
-msgstr "Pohled na:"
+msgstr "Pohled:"
 
 #: ../gui/wxpython/nviz/tools.py:306
-#, fuzzy
 msgid "here"
-msgstr "koule"
+msgstr "zde"
 
 #: ../gui/wxpython/nviz/tools.py:309
-msgid ""
-"Allows you to select a point on the surface that becomes the new center of "
-"view. Click on the button and then on the surface."
-msgstr ""
+msgid "Allows you to select a point on the surface that becomes the new center of view. Click on the button and then on the surface."
+msgstr "Umožní vybrat bod povrchu, který se stane novým středem pohledu. Klepněte na toto tlačítko a poté na povrch."
 
 #: ../gui/wxpython/nviz/tools.py:315
-#, fuzzy
 msgid "center"
-msgstr "Vykreslit"
+msgstr "střed"
 
 #: ../gui/wxpython/nviz/tools.py:318
 msgid "Resets the view to the original default center of view"
-msgstr ""
+msgstr "Obnoví původní, výchozí střed pohledu"
 
 #: ../gui/wxpython/nviz/tools.py:322
 msgid "top"
-msgstr "vršek"
+msgstr "shora"
 
 #: ../gui/wxpython/nviz/tools.py:325
-msgid ""
-"Sets the viewer directly over the scene's center position. This top view "
-"orients approximately north south."
-msgstr ""
+msgid "Sets the viewer directly over the scene's center position. This top view orients approximately north south."
+msgstr "Nastaví pohled přímo nad místo středu scény. Tento pohled shora je orientován přibližně severojižně."
 
 #: ../gui/wxpython/nviz/tools.py:329
-#, fuzzy
 msgid "reset"
-msgstr "Reset"
+msgstr "obnovit"
 
 #: ../gui/wxpython/nviz/tools.py:330
 msgid "Reset to default view"
-msgstr "Reset na výchozí pohled"
+msgstr "Obnoví výchozí pohled"
 
 #: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
-msgstr ""
+msgstr "Vzhled obrázku"
 
 #: ../gui/wxpython/nviz/tools.py:392
-msgid ""
-"Press 'Record' button and start changing the view. It is recommended to use "
-"fly-through mode (Map Display toolbar) to achieve smooth motion."
-msgstr ""
+msgid "Press 'Record' button and start changing the view. It is recommended to use fly-through mode (Map Display toolbar) to achieve smooth motion."
+msgstr "Stiskněte tlačítko 'Zaznamenat' a začněte měnit pohled. Abyste dosáhli plynulého pohybu, je vhodné použít režim průletu (nástrojová lišta mapového okna)."
 
 #: ../gui/wxpython/nviz/tools.py:403
-#, fuzzy
 msgid "Record"
-msgstr "Překódovat"
+msgstr "Zaznamenat"
 
 #: ../gui/wxpython/nviz/tools.py:405
 msgid "Play"
-msgstr ""
+msgstr "Přehrát"
 
 #: ../gui/wxpython/nviz/tools.py:421
-#, fuzzy
 msgid "Total number of frames :"
-msgstr "Jméno prvku:"
+msgstr "Celkový počet snímků:"
 
 #: ../gui/wxpython/nviz/tools.py:425
 msgid "Frame rate (FPS):"
-msgstr ""
+msgstr "Snímková frekvence (FPS):"
 
 #: ../gui/wxpython/nviz/tools.py:431
 msgid "Frames are recorded with given frequency (FPS). "
-msgstr ""
+msgstr "Snímky jsou zaznamenávány s danou frekvencí (FPS)."
 
 #: ../gui/wxpython/nviz/tools.py:474
-#, fuzzy
 msgid "Save image sequence"
-msgstr "Nastavit velikost obrazu"
+msgstr "Uložit posloupnost obrázků"
 
 #: ../gui/wxpython/nviz/tools.py:482
-#, fuzzy
 msgid "Choose a directory for images"
-msgstr "Vyberte vstupní adresář"
+msgstr "Zvolte adresář pro obrázky"
 
 #: ../gui/wxpython/nviz/tools.py:490
-msgid ""
-"Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
-msgstr ""
+msgid "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
+msgstr "Budou vytvořeny názvy souborů jako predpona_1.ppm, predpona_2.ppm, ..."
 
 #: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
 #: ../gui/wxpython/nviz/preferences.py:361
@@ -6759,9 +6503,8 @@ msgid "Surface"
 msgstr "Povrch"
 
 #: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
-#, fuzzy
 msgid "Constant surface"
-msgstr "Povrch nákladů"
+msgstr "Konstantní povrch"
 
 #: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
@@ -6781,12 +6524,12 @@ msgstr "Okraj"
 
 #: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
 msgid "Cutting planes"
-msgstr ""
+msgstr "Roviny řezu"
 
 #: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
-msgstr "Mód:"
+msgstr "Režim:"
 
 #: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
@@ -6803,15 +6546,15 @@ msgstr "oba"
 #: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
 #: ../gui/wxpython/nviz/tools.py:1578
 msgid "Shading:"
-msgstr "Stínění:"
+msgstr "Stínování:"
 
 #: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
 msgid "flat"
-msgstr "plocha"
+msgstr "ploché"
 
 #: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "gouraud"
-msgstr "Gouraudovo stínování"
+msgstr "Gouraudovo"
 
 #: ../gui/wxpython/nviz/tools.py:707
 msgid "Set to all"
@@ -6822,21 +6565,18 @@ msgid "Use draw settings for all loaded surfaces"
 msgstr "Použít vykreslovací nastavení pro všechny načtené povrchy"
 
 #: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
-#, fuzzy
 msgid "Coarse mode:"
-msgstr "Hrubý:"
+msgstr "Hrubý režim:"
 
 #: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
-#, fuzzy
 msgid "resolution:"
-msgstr "Rozlišení:"
+msgstr "rozlišení:"
 
 #: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
-#, fuzzy
 msgid "style:"
-msgstr "styl"
+msgstr "styl:"
 
 #: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
@@ -6847,14 +6587,12 @@ msgid "surface"
 msgstr "povrch"
 
 #: ../gui/wxpython/nviz/tools.py:748
-#, fuzzy
 msgid "Change wire color"
-msgstr "barva sítě"
+msgstr "Změnit barvu sítě"
 
 #: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
-#, fuzzy
 msgid "Fine mode:"
-msgstr "Najít modul"
+msgstr "Jemný režim:"
 
 #: ../gui/wxpython/nviz/tools.py:781
 msgid "Surface attributes"
@@ -6878,83 +6616,77 @@ msgstr "zrušit"
 
 #: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
-msgstr "stejný"
+msgstr "konstantní"
 
 #: ../gui/wxpython/nviz/tools.py:865
 msgid "Changes the x, y, and z position of the current surface"
-msgstr ""
+msgstr "Změní souřadnice x, y a z pro pozici aktuálního povrchu"
 
 #: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
 #: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
-msgstr "Reset"
+msgstr "Obnovit"
 
 #: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
-#, fuzzy
 msgid "Reset to default position"
-msgstr "Reset na výchozí pohled"
+msgstr "Obnoví výchozí pozici"
 
 #: ../gui/wxpython/nviz/tools.py:950
 msgid "Active cutting plane:"
-msgstr ""
+msgstr "Aktivní rovina řezu:"
 
 #: ../gui/wxpython/nviz/tools.py:962
 msgid "clear"
-msgstr ""
+msgstr "průhledné"
 
 #: ../gui/wxpython/nviz/tools.py:963
-#, fuzzy
 msgid "top color"
-msgstr "barva"
+msgstr "horní barva"
 
 #: ../gui/wxpython/nviz/tools.py:964
-#, fuzzy
 msgid "bottom color"
-msgstr "podle barvy"
+msgstr "dolní barva"
 
 #: ../gui/wxpython/nviz/tools.py:965
 msgid "blend"
-msgstr ""
+msgstr "smíšené"
 
 #: ../gui/wxpython/nviz/tools.py:966
 msgid "shaded"
-msgstr ""
+msgstr "stínované"
 
 #: ../gui/wxpython/nviz/tools.py:978
-#, fuzzy
 msgid "Horizontal X:"
-msgstr "Úhel horizontu"
+msgstr "Vodorovně X:"
 
 #: ../gui/wxpython/nviz/tools.py:980
 msgid "Sets the X coordinate of the current cutting plane"
-msgstr ""
+msgstr "Nastaví pro aktuální rovinu řezu souřadnici X"
 
 #: ../gui/wxpython/nviz/tools.py:994
-#, fuzzy
 msgid "Horizontal Y:"
-msgstr "Úhel horizontu"
+msgstr "Vodorovně Y:"
 
 #: ../gui/wxpython/nviz/tools.py:996
 msgid "Sets the Y coordinate of the current cutting plane"
-msgstr ""
+msgstr "Nastaví pro aktuální rovinu řezu souřadnici Y"
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1011
+#: ../gui/wxpython/mapwin/decorations.py:354
 msgid "Rotation:"
 msgstr "Otočení:"
 
 #: ../gui/wxpython/nviz/tools.py:1013
 msgid "Rotates the current cutting plane about vertical axis"
-msgstr ""
+msgstr "Otočí aktuální rovinu řezu kolem svislé osy"
 
 #: ../gui/wxpython/nviz/tools.py:1029
 msgid "Rotates the current cutting plane about horizontal axis"
-msgstr ""
+msgstr "Otočí aktuální rovinu řezu kolem vodorovné osy"
 
 #: ../gui/wxpython/nviz/tools.py:1045
-msgid ""
-"Sets the Z coordinate of the current cutting plane (only meaningful when "
-"tilt is not 0)"
-msgstr ""
+msgid "Sets the Z coordinate of the current cutting plane (only meaningful when tilt is not 0)"
+msgstr "Nataví pro aktuální rovinu řezu souřadnici Z (má význam pouze tehdy, není-li naklonění 0)"
 
 #: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
@@ -6962,23 +6694,20 @@ msgid "New"
 msgstr "Nový"
 
 #: ../gui/wxpython/nviz/tools.py:1114
-#, fuzzy
 msgid "Fine resolution:"
-msgstr "Rozlišení:"
+msgstr "Jemné rozlišení:"
 
 #: ../gui/wxpython/nviz/tools.py:1126
-#, fuzzy
 msgid "Value:"
-msgstr "Hodnoty"
+msgstr "Hodnota:"
 
 #: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
-#, fuzzy
 msgid "Transparency:"
-msgstr "Průhlednost"
+msgstr "Průhlednost:"
 
 #: ../gui/wxpython/nviz/tools.py:1204
 msgid "Show vector lines"
-msgstr "Ukázat vektorové linie"
+msgstr "Zobrazit vektorové linie"
 
 #: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
@@ -6997,14 +6726,12 @@ msgid "color:"
 msgstr "barva:"
 
 #: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
-#, fuzzy
 msgid "use color for thematic mapping"
-msgstr "Klasifikuje atributové data, například pro tématické mapy"
+msgstr "použít barvu pro tematické mapování"
 
 #: ../gui/wxpython/nviz/tools.py:1257
-#, fuzzy
 msgid "use width for thematic mapping"
-msgstr "Klasifikuje atributové data, například pro tématické mapy"
+msgstr "použít šířku pro tematické mapování"
 
 #: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
 #: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
@@ -7014,18 +6741,17 @@ msgstr "Nastavit volby..."
 #: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
-msgstr "Displej"
+msgstr "Zobrazit"
 
 #: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
-#, fuzzy
 msgid "on surface(s):"
-msgstr "na povrchu"
+msgstr "na povrchu:"
 
 #: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
-msgstr ""
+msgstr "jako 3D"
 
 #: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
 msgid "Height above surface:"
@@ -7033,7 +6759,7 @@ msgstr "Výška nad povrchem:"
 
 #: ../gui/wxpython/nviz/tools.py:1346
 msgid "Show vector points"
-msgstr "Ukázat vektorové body"
+msgstr "Zobrazit vektorové body"
 
 #: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
@@ -7044,9 +6770,8 @@ msgid "Icon:"
 msgstr "Ikona:"
 
 #: ../gui/wxpython/nviz/tools.py:1437
-#, fuzzy
 msgid "use size for thematic mapping"
-msgstr "Klasifikuje atributové data, například pro tématické mapy"
+msgstr "použít velikost pro tematické mapování"
 
 #: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
 msgid "3D raster map"
@@ -7074,7 +6799,7 @@ msgstr "Seznam Isopovrchů"
 
 #: ../gui/wxpython/nviz/tools.py:1737
 msgid "Show light model"
-msgstr "Ukázat světelný model"
+msgstr "Zobrazit světelný model"
 
 #: ../gui/wxpython/nviz/tools.py:1750
 msgid "Light source position"
@@ -7082,7 +6807,7 @@ msgstr "Umístění zdroje světla"
 
 #: ../gui/wxpython/nviz/tools.py:1766
 msgid "Adjusts the light height"
-msgstr ""
+msgstr "Nastaví výšku světla"
 
 #: ../gui/wxpython/nviz/tools.py:1790
 msgid "Light color and intensity"
@@ -7094,15 +6819,15 @@ msgstr "Jas:"
 
 #: ../gui/wxpython/nviz/tools.py:1806
 msgid "Adjusts the brightness of the light"
-msgstr ""
+msgstr "Nastaví jas světla"
 
 #: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
-msgstr ""
+msgstr "Ambientní:"
 
 #: ../gui/wxpython/nviz/tools.py:1817
 msgid "Adjusts the ambient light"
-msgstr ""
+msgstr "Nastaví ambientní světlo"
 
 #: ../gui/wxpython/nviz/tools.py:1878
 msgid "Edges with fringe"
@@ -7118,7 +6843,7 @@ msgstr "S && V"
 
 #: ../gui/wxpython/nviz/tools.py:1882
 msgid "S && W"
-msgstr "J &c Z"
+msgstr "J && Z"
 
 #: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && E"
@@ -7130,68 +6855,62 @@ msgstr "Výška okraje ze spodní strany"
 
 #: ../gui/wxpython/nviz/tools.py:1956
 msgid "Arrow length (in map units):"
-msgstr ""
+msgstr "Délka růžice (v mapových jednotkách):"
 
 #: ../gui/wxpython/nviz/tools.py:1966
-#, fuzzy
 msgid "Arrow color:"
-msgstr "barva sítě"
+msgstr "Barva růžice:"
 
 #: ../gui/wxpython/nviz/tools.py:1975
 msgid "Place arrow"
-msgstr ""
+msgstr "Umístit růžici"
 
 #: ../gui/wxpython/nviz/tools.py:2001
 msgid "Scale bar length (in map units):"
-msgstr ""
+msgstr "Délka měřítka (v mapových jednotkách):"
 
 #: ../gui/wxpython/nviz/tools.py:2011
-#, fuzzy
 msgid "Scale bar color:"
-msgstr "barva sítě"
+msgstr "Barva měřítka:"
 
 #: ../gui/wxpython/nviz/tools.py:2020
-#, fuzzy
 msgid "Place new scale bar"
-msgstr "Přidat vrstvu"
+msgstr "Umístit nové měřítko"
 
 #: ../gui/wxpython/nviz/tools.py:2092
 msgid "Do you want to record new animation without saving the previous one?"
-msgstr ""
+msgstr "Přejete si zaznamenat novou animaci, aniž byste uložili předchozí?"
 
 #: ../gui/wxpython/nviz/tools.py:2095
-#, fuzzy
 msgid "Animation already axists"
-msgstr "Soubor již existuje"
+msgstr "Animace již existuje"
 
 #: ../gui/wxpython/nviz/tools.py:2257
 msgid "No file prefix given."
-msgstr ""
+msgstr "Nebyla zadána předpona souboru."
 
 #: ../gui/wxpython/nviz/tools.py:2261
 #, python-format
 msgid "Directory %s does not exist."
-msgstr ""
+msgstr "Adresář %s neexistuje."
 
 #: ../gui/wxpython/nviz/tools.py:2280 ../gui/wxpython/nviz/tools.py:2325
 #: ../gui/wxpython/nviz/tools.py:4587 ../gui/wxpython/nviz/mapwindow.py:2223
 #: ../gui/wxpython/nviz/mapwindow.py:2241
-#, fuzzy
 msgid "constant#"
-msgstr "stejný"
+msgstr "konstantní#"
 
 #: ../gui/wxpython/nviz/tools.py:2391
 msgid "Isosurface attributes"
-msgstr "Atributy Isopovrchu"
+msgstr "Atributy isopovrchu"
 
 #: ../gui/wxpython/nviz/tools.py:2397
 msgid "toggle normal direction"
 msgstr ""
 
 #: ../gui/wxpython/nviz/tools.py:2403
-#, fuzzy
 msgid "Isosurface value"
-msgstr "Atributy Isopovrchu"
+msgstr "Hodnota isopovrchu"
 
 #: ../gui/wxpython/nviz/tools.py:2509
 #, fuzzy
@@ -7219,24 +6938,20 @@ msgid "E"
 msgstr "V"
 
 #: ../gui/wxpython/nviz/tools.py:2652
-#, fuzzy
 msgid "NW"
-msgstr "Z"
+msgstr "SZ"
 
 #: ../gui/wxpython/nviz/tools.py:2653
-#, fuzzy
 msgid "NE"
-msgstr "S"
+msgstr "SV"
 
 #: ../gui/wxpython/nviz/tools.py:2654
-#, fuzzy
 msgid "SE"
-msgstr "J"
+msgstr "JV"
 
 #: ../gui/wxpython/nviz/tools.py:2655
-#, fuzzy
 msgid "SW"
-msgstr "Z"
+msgstr "JZ"
 
 #: ../gui/wxpython/nviz/tools.py:3144 ../gui/wxpython/nviz/tools.py:4918
 msgid "Level"
@@ -7262,13 +6977,13 @@ msgid "Slice parallel to"
 msgstr ""
 
 #: ../gui/wxpython/nviz/tools.py:4458
-#, fuzzy, python-format
+#, python-format
 msgid "Scalebar %d"
-msgstr "Přidat vrstvu"
+msgstr "Měřítko %d"
 
 #: ../gui/wxpython/nviz/tools.py:4593
 msgid "None"
-msgstr ""
+msgstr "Žádná"
 
 #: ../gui/wxpython/nviz/tools.py:4595 ../gui/wxpython/menustrings.py:486
 #: ../gui/wxpython/menustrings.py:1393
@@ -7347,35 +7062,29 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/tools.py:5145
 msgid "Adjusts the distance and direction of the image viewpoint"
-msgstr ""
+msgstr "Upraví vzdálenost a směr k bodu pohledu."
 
 #: ../gui/wxpython/nviz/tools.py:5177
-msgid ""
-"Adjusts the light direction. Click and drag the puck to change the light "
-"direction."
-msgstr ""
+msgid "Adjusts the light direction. Click and drag the puck to change the light direction."
+msgstr "Nastaví směr světla. Směr světla změníte klepnutím a přetažením bodu."
 
 #: ../gui/wxpython/nviz/preferences.py:32
-#, fuzzy
 msgid "3D view default settings"
-msgstr "Nastavení 3D zobrazení"
+msgstr "Výchozí nastavení 3D zobrazení"
 
 #: ../gui/wxpython/nviz/preferences.py:49
-#, fuzzy
 msgid "Revert settings to default, changes are not applied"
-msgstr "Znovu nastavit výchozí nastavení a uložit"
+msgstr "Vrátit nastavení na výchozí, změny se nepoužijí"
 
 #: ../gui/wxpython/nviz/preferences.py:72
 #: ../gui/wxpython/nviz/preferences.py:135
 #: ../gui/wxpython/nviz/preferences.py:153
-#, fuzzy
 msgid "value:"
-msgstr "hodnoty"
+msgstr "hodnota:"
 
 #: ../gui/wxpython/nviz/preferences.py:84
-#, fuzzy
 msgid "step:"
-msgstr "(krok):"
+msgstr "krok:"
 
 #: ../gui/wxpython/nviz/preferences.py:99
 #: ../gui/wxpython/nviz/preferences.py:266
@@ -7384,9 +7093,8 @@ msgstr "Pozice:"
 
 #: ../gui/wxpython/nviz/preferences.py:102
 #: ../gui/wxpython/nviz/preferences.py:269
-#, fuzzy
 msgid "x:"
-msgstr ":"
+msgstr "x:"
 
 #: ../gui/wxpython/nviz/preferences.py:132
 msgid "Twist:"
@@ -7394,7 +7102,7 @@ msgstr "Otočení:"
 
 #: ../gui/wxpython/nviz/preferences.py:205
 msgid "Fly-through"
-msgstr ""
+msgstr "Průlet"
 
 #: ../gui/wxpython/nviz/preferences.py:215
 #, fuzzy
@@ -7406,19 +7114,16 @@ msgid "Turn exag:"
 msgstr ""
 
 #: ../gui/wxpython/nviz/preferences.py:258
-#, fuzzy
 msgid "Light"
-msgstr "Výška"
+msgstr "Světlo"
 
 #: ../gui/wxpython/nviz/preferences.py:293
-#, fuzzy
 msgid "z:"
-msgstr ":"
+msgstr "z:"
 
 #: ../gui/wxpython/nviz/preferences.py:437
-#, fuzzy
 msgid "wire color:"
-msgstr "barva sítě"
+msgstr "barva sítě:"
 
 #: ../gui/wxpython/nviz/preferences.py:516
 #: ../gui/wxpython/mapswipe/dialogs.py:283
@@ -7435,16 +7140,12 @@ msgid "3D view settings saved to file <%s>."
 msgstr "Nastavení 3D zobrazení bylo uloženo do souboru <%s>."
 
 #: ../gui/wxpython/nviz/mapwindow.py:224
-msgid ""
-"Opening 3D view was not successful. Please try to change the value of depth "
-"buffer in GUI Settings dialog > tab Map Display > Advanced and restart GUI."
+msgid "Opening 3D view was not successful. Please try to change the value of depth buffer in GUI Settings dialog > tab Map Display > Advanced and restart GUI."
 msgstr ""
 
 #: ../gui/wxpython/nviz/mapwindow.py:559
 #, python-format
-msgid ""
-"Image is too large, your OpenGL implementation supports maximum texture size "
-"%d px."
+msgid "Image is too large, your OpenGL implementation supports maximum texture size %d px."
 msgstr ""
 
 #: ../gui/wxpython/nviz/mapwindow.py:1057
@@ -7584,15 +7285,16 @@ msgid "3d raster map <%s> not found"
 msgstr "3D rastrová mapa <%s> nebyla nalezena."
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/gui_core/dialogs.py:1885
 msgid "Import raster data"
 msgstr "Import rastrových dat"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
-#, fuzzy
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/gui_core/dialogs.py:1883
 msgid "Link external raster data"
-msgstr "Připojit rastrová data"
+msgstr "Připojit externí rastrová data"
 
 #: ../gui/wxpython/lmgr/layertree.py:60 ../gui/wxpython/menustrings.py:59
 #: ../gui/wxpython/menustrings.py:1046
@@ -7601,20 +7303,20 @@ msgid "Unpack raster map"
 msgstr "Překrývat rastrové mapy"
 
 #: ../gui/wxpython/lmgr/layertree.py:62
-#, fuzzy
 msgid "Set raster output format"
-msgstr "Zvolit font výstupu"
+msgstr "Nastavit výstupní formát rastrů"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/gui_core/dialogs.py:1879
 msgid "Import vector data"
 msgstr "Import vektorových dat"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
-#, fuzzy
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/gui_core/dialogs.py:1877
 msgid "Link external vector data"
-msgstr "Připojit vektorová data"
+msgstr "Připojit externí vektorová data"
 
 #: ../gui/wxpython/lmgr/layertree.py:68 ../gui/wxpython/menustrings.py:84
 #: ../gui/wxpython/menustrings.py:1071
@@ -7623,9 +7325,8 @@ msgid "Unpack vector map"
 msgstr "Spojit vektorové mapy"
 
 #: ../gui/wxpython/lmgr/layertree.py:70
-#, fuzzy
 msgid "Set vector output format"
-msgstr "Zvolit font výstupu"
+msgstr "Nastavit výstupní formát vektorů"
 
 #: ../gui/wxpython/lmgr/layertree.py:72
 msgid "Import data from WMS server"
@@ -7640,7 +7341,8 @@ msgstr "Přidat vrstvu s příkazem"
 msgid "Quit"
 msgstr "Ukončit"
 
-#: ../gui/wxpython/lmgr/layertree.py:78 ../gui/wxpython/gui_core/toolbars.py:75
+#: ../gui/wxpython/lmgr/layertree.py:78
+#: ../gui/wxpython/gui_core/toolbars.py:75
 msgid "Add raster map layer"
 msgstr "Přidat rastrovou vrstvu"
 
@@ -7665,7 +7367,8 @@ msgstr "Přidat rastrovou mapu směrů odtoků"
 msgid "Add raster cell numbers"
 msgstr "Přidat čísla kategorie rastrové buňky"
 
-#: ../gui/wxpython/lmgr/layertree.py:90 ../gui/wxpython/gui_core/toolbars.py:77
+#: ../gui/wxpython/lmgr/layertree.py:90
+#: ../gui/wxpython/gui_core/toolbars.py:77
 msgid "Add vector map layer"
 msgstr "Přidat vektorovou vrstvu"
 
@@ -7725,20 +7428,19 @@ msgstr "Vlastnosti 3D zobrazení"
 
 #: ../gui/wxpython/lmgr/layertree.py:458
 msgid "Zoom to selected map(s)"
-msgstr "Přiblížit na vybranou mapu"
+msgstr "Přiblížit na vybranou vrstvu"
 
 #: ../gui/wxpython/lmgr/layertree.py:463
 msgid "Set computational region from selected map(s)"
-msgstr "Nastavit výpočetní region podle vybrané mapy"
+msgstr "Nastavit výpočetní region podle vybrané vrstvy"
 
 #: ../gui/wxpython/lmgr/layertree.py:477
 msgid "Export common formats"
 msgstr "Export do běžných formátů"
 
 #: ../gui/wxpython/lmgr/layertree.py:486
-#, fuzzy
 msgid "Export PostGIS"
-msgstr "Exportovat model do Python skriptu"
+msgstr "Export do PostGISu"
 
 #: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
 #, fuzzy
@@ -7746,9 +7448,8 @@ msgid "Create pack"
 msgstr "Vytvořit RGB"
 
 #: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
-#, fuzzy
 msgid "Make a copy in the current mapset"
-msgstr " %d map bylo smazáno ze současného mapsetu"
+msgstr "Vytvořit kopii v aktuálním mapsetu"
 
 #: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
 #: ../gui/wxpython/lmgr/layertree.py:636
@@ -7773,7 +7474,7 @@ msgstr "Vytvořit/znovu sestavit topologii"
 
 #: ../gui/wxpython/lmgr/layertree.py:578
 msgid "Zoom to selected map(s) (ignore NULLs)"
-msgstr "Přiblížit na vybranou mapu (ignorovat NULL hodnoty)"
+msgstr "Přiblížit na vybranou vrstvu (ignorovat NULL hodnoty)"
 
 #: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
@@ -7786,9 +7487,8 @@ msgid "Univariate raster statistics"
 msgstr "Univariantní statistika rastrové vrstvy"
 
 #: ../gui/wxpython/lmgr/layertree.py:617
-#, fuzzy
 msgid "Report raster statistics"
-msgstr "Zprávy a statistiky"
+msgstr "Vypsat statistiku rastru"
 
 #: ../gui/wxpython/lmgr/layertree.py:623
 msgid "Profile"
@@ -7805,9 +7505,7 @@ msgstr "Nelze vytvořit profil rastrové mapy."
 
 #: ../gui/wxpython/lmgr/layertree.py:786
 #, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
+msgid "Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII characters excluding %(chars)s and space."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
@@ -7815,9 +7513,9 @@ msgid "Invalid name"
 msgstr "Neplatný název"
 
 #: ../gui/wxpython/lmgr/layertree.py:810
-#, fuzzy, python-format
+#, python-format
 msgid "Unsupported map type <%s>"
-msgstr "Nepodporovaný typ mapové vrstvy '%s'"
+msgstr "Nepodporovaný typ mapové vrstvy <%s>"
 
 #: ../gui/wxpython/lmgr/layertree.py:815
 #, fuzzy, python-format
@@ -7831,8 +7529,7 @@ msgstr "Vytvořit kopii %s <%s>"
 
 #: ../gui/wxpython/lmgr/layertree.py:830
 #, python-format
-msgid ""
-"%s <%s> already exists in the current mapset. Do you want to overwrite it?"
+msgid "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr "%s <%s> již v aktuálním mapsetu existuje. Přejete si ji přepsat?"
 
 #: ../gui/wxpython/lmgr/layertree.py:833
@@ -7852,9 +7549,8 @@ msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "Nelze vytvořit kopii <%s>. Mapset <%s> není aktuálním mapsetem."
 
 #: ../gui/wxpython/lmgr/layertree.py:864
-#, fuzzy
 msgid "Unable to display histogram of raster map. No map name defined."
-msgstr "Nelze zobrazit histogram rastrové mapy."
+msgstr "Nelze zobrazit histogram rastrové vrstvy. Nebyl určen název vrstvy."
 
 #: ../gui/wxpython/lmgr/layertree.py:965
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
@@ -7983,16 +7679,12 @@ msgstr "Zavřít mapové okno %s"
 
 #: ../gui/wxpython/lmgr/frame.py:646
 #, python-format
-msgid ""
-"Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
-"layer instead."
-msgstr ""
-"Příkaz '%s' ještě nebyl implementován do WxGUI. Zkuste jej přidat jako "
-"vrstvu příkazů."
+msgid "Command '%s' not yet implemented in the WxGUI. Try adding it as a command layer instead."
+msgstr "Příkaz '%s' ještě nebyl implementován do WxGUI. Zkuste jej přidat jako vrstvu příkazů."
 
 #: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
 msgid "Selected map layer is not vector."
-msgstr ""
+msgstr "Vybraná mapová vrstva není vektor."
 
 #: ../gui/wxpython/lmgr/frame.py:812
 #, fuzzy
@@ -8008,10 +7700,7 @@ msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Skript Pythonu (*.py)|*.py|Skript Bashe (*.sh)|*.sh"
 
 #: ../gui/wxpython/lmgr/frame.py:850
-msgid ""
-"Due to the limitations of your operating system, the script path cannot "
-"contain certain non-ascii characters. Please rename the script or move it to "
-"a different location."
+msgid "Due to the limitations of your operating system, the script path cannot contain certain non-ascii characters. Please rename the script or move it to a different location."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:857
@@ -8021,9 +7710,7 @@ msgstr "Soubor skriptu '%s' neexistuje. Operace zrušena."
 
 #: ../gui/wxpython/lmgr/frame.py:864
 #, python-format
-msgid ""
-"Script <%s> is not executable. Do you want to set the permissions that "
-"allows you to run this script (note that you must be the owner of the file)?"
+msgid "Script <%s> is not executable. Do you want to set the permissions that allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:869
@@ -8038,9 +7725,7 @@ msgstr "Neplatná hodnota souřadnice. Operace zrušena."
 
 #: ../gui/wxpython/lmgr/frame.py:889
 #, python-format
-msgid ""
-"Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
-"directory to GRASS_ADDON_PATH?"
+msgid "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this directory to GRASS_ADDON_PATH?"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:892
@@ -8098,9 +7783,7 @@ msgid "Without parameters it opens a dialog."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:1000
-msgid ""
-"If ~ (tilde) is present as the first directory on the path, it is replaced "
-"by user's home directory."
+msgid "If ~ (tilde) is present as the first directory on the path, it is replaced by user's home directory."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:1014
@@ -8141,12 +7824,8 @@ msgid "Platform"
 msgstr "Platforma"
 
 #: ../gui/wxpython/lmgr/frame.py:1160
-msgid ""
-"Current workspace is not empty. Do you want to store current settings to "
-"workspace file?"
-msgstr ""
-"Pracovní plocha není prázdná. Přejete si uložit aktuální nastavení do "
-"souboru pracovního plochy?"
+msgid "Current workspace is not empty. Do you want to store current settings to workspace file?"
+msgstr "Pracovní plocha není prázdná. Přejete si uložit aktuální nastavení do souboru pracovního plochy?"
 
 #: ../gui/wxpython/lmgr/frame.py:1163
 msgid "Create new workspace?"
@@ -8179,8 +7858,7 @@ msgstr "Vybrat soubor pro uložení aktuální pracovní plochy"
 #: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
-msgstr ""
-"Soubor pracovní plochy <%s> již existuje. Přejete si tento soubor přepsat?"
+msgstr "Soubor pracovní plochy <%s> již existuje. Přejete si tento soubor přepsat?"
 
 #: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
 #: ../gui/wxpython/menustrings.py:10
@@ -8192,14 +7870,13 @@ msgid "Writing current settings to workspace file failed."
 msgstr "Zápis aktuálního nastavení do souboru pracovní plochy selhalo."
 
 #: ../gui/wxpython/lmgr/frame.py:1488
-#, fuzzy
 msgid "Enter new name:"
-msgstr "Vložte jméno nové mapsetu:"
+msgstr "Zadejte nový název:"
 
 #: ../gui/wxpython/lmgr/frame.py:1494
-#, fuzzy, python-brace-format
+#, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
-msgstr "GRASS GIS Mapové okno: %(id)d - Location: %(loc)s"
+msgstr "GRASS GIS {version} Mapové okno: {name} - Lokace: {loc}"
 
 #: ../gui/wxpython/lmgr/frame.py:1574
 #, fuzzy, python-format
@@ -8230,9 +7907,7 @@ msgid "Unsupported map layer type <%s>."
 msgstr "Nepodporovaný typ mapové vrstvy '%s'"
 
 #: ../gui/wxpython/lmgr/frame.py:2062
-msgid ""
-"Note that cell values can only be displayed for regions of less than 10,000 "
-"cells."
+msgid "Note that cell values can only be displayed for regions of less than 10,000 cells."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:2144
@@ -8269,10 +7944,7 @@ msgid "No map layer selected. Operation canceled."
 msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
 
 #: ../gui/wxpython/lmgr/frame.py:2284
-msgid ""
-"Display resolution is currently not constrained to computational settings. "
-"It's suggested to constrain map to region geometry. Do you want to constrain "
-"the resolution?"
+msgid "Display resolution is currently not constrained to computational settings. It's suggested to constrain map to region geometry. Do you want to constrain the resolution?"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:2293
@@ -8296,7 +7968,7 @@ msgstr ""
 
 #: ../gui/wxpython/lmgr/pyshell.py:49
 msgid "Delete all text from the shell"
-msgstr ""
+msgstr "Vymazat veškerý text ze shellu"
 
 #: ../gui/wxpython/lmgr/pyshell.py:99
 #, python-format
@@ -8358,31 +8030,26 @@ msgid "Add group"
 msgstr "Přidat skupinu"
 
 #: ../gui/wxpython/lmgr/toolbars.py:93
-#, fuzzy
 msgid "Add various overlays"
-msgstr "Překrýt další vrstvou"
+msgstr "Přidat různé překryvy"
 
 #: ../gui/wxpython/lmgr/toolbars.py:95
 msgid "Remove selected map layer(s) from layer tree"
-msgstr "Odstranit vybranou mapovou vrstvu ze stromu vrstev?"
+msgstr "Odstranit vybranou mapovou vrstvu ze stromu vrstev"
 
 #: ../gui/wxpython/lmgr/toolbars.py:136
-#, fuzzy
 msgid "Import/link raster or vector data"
-msgstr "Import rastrových dat"
+msgstr "Importovat/připojit rastrová nebo vektorová data"
 
 #: ../gui/wxpython/lmgr/toolbars.py:138
-#, fuzzy
 msgid "Raster Map Calculator"
-msgstr "3D rastrový kalkulátor"
+msgstr "Rastrový mapový kalkulátor"
 
 #: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
-#, fuzzy
 msgid "Graphical Modeler"
 msgstr "Grafické modelování"
 
 #: ../gui/wxpython/lmgr/toolbars.py:142
-#, fuzzy
 msgid "Georectifier"
 msgstr "Georektifikace"
 
@@ -8412,9 +8079,8 @@ msgid "Show attribute data for selected vector map"
 msgstr "Zobrazit atributová data pro vybranou vektorovou vrstvu"
 
 #: ../gui/wxpython/lmgr/toolbars.py:237
-#, fuzzy
 msgid "Generate command for m.nviz.image"
-msgstr "Vytvořit histogram obrazu"
+msgstr "Vytvořit příkaz pro m.nviz.image"
 
 #: ../gui/wxpython/lmgr/toolbars.py:238
 msgid "Generate command for m.nviz.image based on current state"
@@ -8436,13 +8102,11 @@ msgid "Show 3D view mode manual"
 msgstr "Zobrazit manuálové stránky pro 3D zobrazení"
 
 #: ../gui/wxpython/lmgr/menudata.py:42
-msgid ""
-"Unable to parse user toolboxes XML files. Default main menu will be loaded."
+msgid "Unable to parse user toolboxes XML files. Default main menu will be loaded."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/menudata.py:64
-msgid ""
-"Unable to parse user toolboxes XML files. Default module tree will be loaded."
+msgid "Unable to parse user toolboxes XML files. Default module tree will be loaded."
 msgstr ""
 
 #: ../gui/wxpython/vdigit/dialogs.py:76
@@ -8547,11 +8211,11 @@ msgstr "Práh pro přichycení"
 
 #: ../gui/wxpython/vdigit/preferences.py:167
 msgid "screen pixels"
-msgstr ""
+msgstr "pixelů obrazovky"
 
 #: ../gui/wxpython/vdigit/preferences.py:167
 msgid "map units"
-msgstr ""
+msgstr "mapových jednotek"
 
 #: ../gui/wxpython/vdigit/preferences.py:176
 msgid "Snap also to vertex"
@@ -8578,10 +8242,8 @@ msgid "Select only features inside of selection bounding box"
 msgstr "Vybrat jenom prvky uvnitř vyznačené oblasti"
 
 #: ../gui/wxpython/vdigit/preferences.py:226
-msgid ""
-"By default are selected all features overlapping selection bounding box "
-msgstr ""
-"Jako výchozí jsou vybrány všchny prvky, které zasahují do vyznačené oblasti"
+msgid "By default are selected all features overlapping selection bounding box "
+msgstr "Jako výchozí jsou vybrány všchny prvky, které zasahují do vyznačené oblasti"
 
 #: ../gui/wxpython/vdigit/preferences.py:229
 msgid "Check for duplicates"
@@ -8712,23 +8374,16 @@ msgid "perimeter"
 msgstr "Obvod"
 
 #: ../gui/wxpython/vdigit/preferences.py:505
-#, fuzzy
-msgid ""
-"Note: These settings are stored in the workspace not in the vector digitizer "
-"preferences."
-msgstr ""
-"Poznámka: Tato nastavení jsou uložena v souboru pracovní plochy a ne v "
-"nastavení vektorové digitalizace."
+msgid "Note: These settings are stored in the workspace not in the vector digitizer preferences."
+msgstr "Poznámka: Tato nastavení jsou uložena v souboru pracovní plochy, ne v nastavení vektorové digitalizace."
 
 #: ../gui/wxpython/vdigit/preferences.py:534
-#, fuzzy
 msgid "Digitize new line segment"
-msgstr "Přidat novou linii"
+msgstr "Digitalizovat nový segment linie"
 
 #: ../gui/wxpython/vdigit/preferences.py:535
-#, fuzzy
 msgid "Digitize new line/boundary"
-msgstr "Přidat novou hranici"
+msgstr "Digitalizovat novou linii/hranici"
 
 #: ../gui/wxpython/vdigit/preferences.py:536
 msgid "Highlight"
@@ -8825,9 +8480,7 @@ msgstr "Vektorová digitalizace není dostupná"
 
 #: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
 #, fuzzy, python-format
-msgid ""
-"Vector map <%s> not found in current mapset. New vector map can be created "
-"by providing '-c' flag."
+msgid "Vector map <%s> not found in current mapset. New vector map can be created by providing '-c' flag."
 msgstr "Vektorová mapa <%s> nebyla nalezena."
 
 #: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
@@ -8842,10 +8495,7 @@ msgstr "Nelze vytvořit vektorovou mapu <%s>."
 
 #: ../gui/wxpython/vdigit/wxdisplay.py:948
 #, python-format
-msgid ""
-"Topology for vector map <%s> is not available. Topology is required by "
-"digitizer. Do you want to rebuild topology (takes some time) and open the "
-"vector map for editing?"
+msgid "Topology for vector map <%s> is not available. Topology is required by digitizer. Do you want to rebuild topology (takes some time) and open the vector map for editing?"
 msgstr ""
 
 #: ../gui/wxpython/vdigit/wxdisplay.py:952
@@ -8897,8 +8547,7 @@ msgstr "Neplatná hodnota souřadnice. Operace zrušena."
 
 #: ../gui/wxpython/vdigit/wxdigit.py:102
 #, fuzzy, python-format
-msgid ""
-"Unable to open database <%(db)s> by driver <%(driver)s>. Operation canceled."
+msgid "Unable to open database <%(db)s> by driver <%(driver)s>. Operation canceled."
 msgstr "Neplatná hodnota souřadnice. Operace zrušena."
 
 #: ../gui/wxpython/vdigit/wxdigit.py:110
@@ -8947,9 +8596,8 @@ msgstr "Přidat novou linii"
 #: ../gui/wxpython/vdigit/toolbars.py:127
 #: ../gui/wxpython/vdigit/toolbars.py:130
 #: ../gui/wxpython/vdigit/toolbars.py:154
-#, fuzzy
 msgid "Left: new point; Ctrl+Left: undo last point; Right: close line"
-msgstr "Levé: nový bod; Střední: Zpět poslední bod; Pravé: uzavřít linii"
+msgstr "Levé: nový bod; Ctrl+levé: zpět poslední bod; Pravé: uzavřít linii"
 
 #: ../gui/wxpython/vdigit/toolbars.py:129
 msgid "Digitize new boundary"
@@ -8960,9 +8608,8 @@ msgid "Digitize new centroid"
 msgstr "Přidat nový centroid"
 
 #: ../gui/wxpython/vdigit/toolbars.py:135
-#, fuzzy
 msgid "Digitize new area (boundary without category)"
-msgstr "Přidat novou hranici"
+msgstr "Digitalizovat novou plochu (hranice bez kategorie)"
 
 #: ../gui/wxpython/vdigit/toolbars.py:138
 #, fuzzy
@@ -8981,14 +8628,12 @@ msgid "Left: Select; Ctrl+Left: Unselect; Right: Confirm"
 msgstr "Levé: Vybrat; Střední: zrušit výběr; Pravé: Potvrzení výběru"
 
 #: ../gui/wxpython/vdigit/toolbars.py:141
-#, fuzzy
 msgid "Delete selected point(s), line(s), boundary(ies) or centroid(s)"
-msgstr "Spojit vybrané linie/hranice (pouze na uzlech)"
+msgstr "Odstranit vybrané body, linie, hranice nebo centroidy"
 
 #: ../gui/wxpython/vdigit/toolbars.py:144
-#, fuzzy
 msgid "Delete selected area(s)"
-msgstr "Smazat vybrané záznamy"
+msgstr "Odstranit vybrané plochy"
 
 #: ../gui/wxpython/vdigit/toolbars.py:147
 msgid "Display/update attributes"
@@ -9024,23 +8669,20 @@ msgid "Remove selected vertex"
 msgstr "Přejmenovat vybraný mapset"
 
 #: ../gui/wxpython/vdigit/toolbars.py:165
-#, fuzzy
 msgid "Quit digitizer"
-msgstr "Vektorová digitalizace"
+msgstr "Ukončit digitalizaci"
 
 #: ../gui/wxpython/vdigit/toolbars.py:166
 msgid "Quit digitizer and save changes"
-msgstr ""
+msgstr "Ukončit digitalizaci a uložit změny"
 
 #: ../gui/wxpython/vdigit/toolbars.py:167
-#, fuzzy
 msgid "Vector Digitizer manual"
-msgstr "Vektorová digitalizace selhala"
+msgstr "Manuál vektorové digitalizace"
 
 #: ../gui/wxpython/vdigit/toolbars.py:168
-#, fuzzy
 msgid "Show Vector Digitizer manual"
-msgstr "Vektorová digitalizace selhala"
+msgstr "Zobrazit manuál vektorové digitalizace"
 
 #: ../gui/wxpython/vdigit/toolbars.py:170
 msgid "Additional tools (copy, flip, connect, etc.)"
@@ -9056,7 +8698,7 @@ msgstr "Zpět předchozí změny"
 
 #: ../gui/wxpython/vdigit/toolbars.py:177
 msgid "Redo"
-msgstr ""
+msgstr "Znovu"
 
 #: ../gui/wxpython/vdigit/toolbars.py:178
 #, fuzzy
@@ -9131,16 +8773,13 @@ msgstr "Vybrat vektorovou mapu"
 #: ../gui/wxpython/vdigit/toolbars.py:848
 #, python-format
 msgid ""
-"Topology for vector map <%s> is not available. Topology is required by "
-"digitizer.\n"
-"Do you want to rebuild topology (takes some time) and open the vector map "
-"for editing?"
+"Topology for vector map <%s> is not available. Topology is required by digitizer.\n"
+"Do you want to rebuild topology (takes some time) and open the vector map for editing?"
 msgstr ""
 
 #: ../gui/wxpython/vdigit/toolbars.py:852
-#, fuzzy
 msgid "Digitizer error"
-msgstr "Chyba vektorové digitalizace"
+msgstr "Chyba digitalizace"
 
 #: ../gui/wxpython/vdigit/toolbars.py:872
 #, python-format
@@ -9149,14 +8788,12 @@ msgstr "Prosím počkejte, otevírá se vektorová mapa <%s> pro editaci..."
 
 #: ../gui/wxpython/vdigit/toolbars.py:904
 #, fuzzy, python-format
-msgid ""
-"Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
+msgid "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "Neplatná hodnota souřadnice. Operace zrušena."
 
 #: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
 msgid "Vector digitizer"
-msgstr "Vektorová digitalizace selhala"
+msgstr "Vektorová digitalizace"
 
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
@@ -9170,8 +8807,7 @@ msgstr "Uložit změny?"
 #: ../gui/wxpython/vdigit/toolbars.py:974
 #, python-format
 msgid "Please wait, closing and rebuilding topology of vector map <%s>..."
-msgstr ""
-"Prosím počkejte, zavírám a buduji topologii pro vektorovou mapu <%s>..."
+msgstr "Prosím počkejte, zavírám a buduji topologii pro vektorovou mapu <%s>..."
 
 #: ../gui/wxpython/vdigit/toolbars.py:988
 #, fuzzy, python-format
@@ -9514,21 +9150,12 @@ msgid "GRASS GIS database directory contains Locations."
 msgstr "Adresář databáze GRASS GISu obsahuje lokaci."
 
 #: ../gui/wxpython/gis_set.py:133
-msgid ""
-"All data in one Location is in the same  coordinate reference system "
-"(projection). One Location can be one project. Location contains Mapsets."
-msgstr ""
-"V jedné lokaci mají všechna data stejný souřadnicový referenční systém "
-"(kartografické zobrazení). Jedna lokace může představovat jeden projekt. "
-"Lokace obsahuje mapsety."
+msgid "All data in one Location is in the same  coordinate reference system (projection). One Location can be one project. Location contains Mapsets."
+msgstr "V jedné lokaci mají všechna data stejný souřadnicový referenční systém (kartografické zobrazení). Jedna lokace může představovat jeden projekt. Lokace obsahuje mapsety."
 
 #: ../gui/wxpython/gis_set.py:141
-msgid ""
-"Mapset contains GIS data related to one project, task within one project, "
-"subregion or user."
-msgstr ""
-"Mapset obsahuje gisová data, která se mohou vztahovat k určitému projektu, "
-"úkolu v rámci projektu, subregionu nebo uživateli."
+msgid "Mapset contains GIS data related to one project, task within one project, subregion or user."
+msgstr "Mapset obsahuje gisová data, která se mohou vztahovat k určitému projektu, úkolu v rámci projektu, subregionu nebo uživateli."
 
 #: ../gui/wxpython/gis_set.py:156
 msgid "Start &GRASS session"
@@ -9551,12 +9178,8 @@ msgid "N&ew"
 msgstr "N&ová"
 
 #: ../gui/wxpython/gis_set.py:169
-msgid ""
-"Create a new location using location wizard. After location is created "
-"successfully, GRASS session is started."
-msgstr ""
-"Vytvořit novou lokaci pomocí průvodce. Poté, co bude lokace úspěšně "
-"vytvořena, se spustí sezení GRASSu."
+msgid "Create a new location using location wizard. After location is created successfully, GRASS session is started."
+msgstr "Vytvořit novou lokaci pomocí průvodce. Poté, co bude lokace úspěšně vytvořena, se spustí sezení GRASSu."
 
 #: ../gui/wxpython/gis_set.py:173
 msgid "Ren&ame"
@@ -9647,9 +9270,7 @@ msgstr ""
 
 #: ../gui/wxpython/gis_set.py:582
 #, python-format
-msgid ""
-"Data file <%(name)s> imported successfully. The location's default region "
-"was set from this imported map."
+msgid "Data file <%(name)s> imported successfully. The location's default region was set from this imported map."
 msgstr ""
 
 #: ../gui/wxpython/gis_set.py:595
@@ -9730,8 +9351,7 @@ msgstr ""
 #: ../gui/wxpython/gis_set.py:678
 #, python-format
 msgid ""
-"Do you want to continue with deleting mapset <%(mapset)s> from location <"
-"%(location)s>?\n"
+"Do you want to continue with deleting mapset <%(mapset)s> from location <%(location)s>?\n"
 "\n"
 "ALL MAPS included in this mapset will be PERMANENTLY DELETED!"
 msgstr ""
@@ -9760,15 +9380,13 @@ msgstr "Nelze odstranit lokaci"
 
 #: ../gui/wxpython/gis_set.py:739
 #, python-format
-msgid ""
-"No GRASS Location found in '%s'. Create a new Location or choose different "
-"GRASS database directory."
+msgid "No GRASS Location found in '%s'. Create a new Location or choose different GRASS database directory."
 msgstr ""
 
 #: ../gui/wxpython/gis_set.py:857
 #, python-format
 msgid "Path '%s' doesn't exist."
-msgstr ""
+msgstr "Cesta '%s' neexistuje."
 
 #: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
 msgid "Choose GIS Data Directory"
@@ -9782,8 +9400,7 @@ msgstr "Mapset <%s> již existuje."
 #: ../gui/wxpython/gis_set.py:903
 #, python-format
 msgid ""
-"Mapset <%s> is reserved for direct read access to OGR layers. Please "
-"consider to use another name for your mapset.\n"
+"Mapset <%s> is reserved for direct read access to OGR layers. Please consider to use another name for your mapset.\n"
 "\n"
 "Are you really sure that you want to create this mapset?"
 msgstr ""
@@ -9806,16 +9423,14 @@ msgid ""
 "\n"
 "Concurrent use not allowed.\n"
 "\n"
-"Do you want to try to remove .gislock (note that you need permission for "
-"this operation) and continue?"
+"Do you want to try to remove .gislock (note that you need permission for this operation) and continue?"
 msgstr ""
 "GRASS je již s vybraným mapsetem <%(mapset)s> spuštěn\n"
 "(nalezen soubor %(lock)s).\n"
 "\n"
 "Souběžné použití není povoleno.\n"
 "\n"
-"Přejete si odstranit .gislock (k této operaci potřebujete příslušné "
-"oprávnění) a pokračovat?"
+"Přejete si odstranit .gislock (k této operaci potřebujete příslušné oprávnění) a pokračovat?"
 
 #: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
 msgid "Lock file found"
@@ -9825,13 +9440,11 @@ msgstr ""
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
-"If you really are running another GRASS session doing this could corrupt "
-"your data. Have another look in the processor manager just to be sure..."
+"If you really are running another GRASS session doing this could corrupt your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 "JSTE SI JISTI?\n"
 "\n"
-"Pokud je opravdu spuštěno jiné sezení GRASSu, můžete tímto poškodit data. "
-"Podívejte se radši ještě do správce procesů..."
+"Pokud je opravdu spuštěno jiné sezení GRASSu, můžete tímto poškodit data. Podívejte se radši ještě do správce procesů..."
 
 #: ../gui/wxpython/gis_set.py:972
 #, python-format
@@ -9846,23 +9459,12 @@ msgstr ""
 
 #: ../gui/wxpython/gis_set.py:1020
 #, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for location or mapset. Please use only "
-"ASCII characters excluding %(chars)s and space."
-msgstr ""
-"Název <%(name)s> není platným názvem lokace nebo mapsetu. Používejte pouze "
-"znaky ASCII kromě %(chars)s a mezery."
+msgid "Name <%(name)s> is not a valid name for location or mapset. Please use only ASCII characters excluding %(chars)s and space."
+msgstr "Název <%(name)s> není platným názvem lokace nebo mapsetu. Používejte pouze znaky ASCII kromě %(chars)s a mezery."
 
 #: ../gui/wxpython/gis_set.py:1091
-msgid ""
-"GRASS needs a directory (GRASS database) in which to store its data. Create "
-"one now if you have not already done so. A popular choice is \"grassdata\", "
-"located in your home directory. Press Browse button to select the directory."
-msgstr ""
-"GRASS potřebuje adresář, ve kterém budou uloženy jeho data (databáze "
-"GRASSu). Jestliže takový adresář dosud nemáte, vytvořte jej. Oblíbenou "
-"volbou je adresář \"grassdata\" umístěný v domovském adresáři. Adresář "
-"vyberete po stisknutí tlačítka Procházet."
+msgid "GRASS needs a directory (GRASS database) in which to store its data. Create one now if you have not already done so. A popular choice is \"grassdata\", located in your home directory. Press Browse button to select the directory."
+msgstr "GRASS potřebuje adresář, ve kterém budou uloženy jeho data (databáze GRASSu). Jestliže takový adresář dosud nemáte, vytvořte jej. Oblíbenou volbou je adresář \"grassdata\" umístěný v domovském adresáři. Adresář vyberete po stisknutí tlačítka Procházet."
 
 #: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
 #: ../gui/wxpython/menustrings.py:1978
@@ -9972,9 +9574,7 @@ msgstr "Export do běžných formátů"
 
 #: ../gui/wxpython/menustrings.py:36 ../gui/wxpython/menustrings.py:1023
 #, fuzzy
-msgid ""
-"Imports raster data into a GRASS raster map using GDAL library and "
-"reprojects on the fly."
+msgid "Imports raster data into a GRASS raster map using GDAL library and reprojects on the fly."
 msgstr "Import rastrových dat pomocí GDAL."
 
 #: ../gui/wxpython/menustrings.py:37 ../gui/wxpython/menustrings.py:1024
@@ -9983,12 +9583,8 @@ msgstr ""
 
 #: ../gui/wxpython/menustrings.py:38 ../gui/wxpython/menustrings.py:1025
 #, fuzzy
-msgid ""
-"Creates a raster map from an assemblage of many coordinates using univariate "
-"statistics."
-msgstr ""
-"Vytvoří rastrovou mapu smontováním více souřadnic za pomoci univariantní "
-"statistiky"
+msgid "Creates a raster map from an assemblage of many coordinates using univariate statistics."
+msgstr "Vytvoří rastrovou mapu smontováním více souřadnic za pomoci univariantní statistiky"
 
 #: ../gui/wxpython/menustrings.py:39 ../gui/wxpython/menustrings.py:1026
 msgid "ASCII grid import"
@@ -10006,9 +9602,7 @@ msgstr "Import ASCII polygony a linie"
 
 #: ../gui/wxpython/menustrings.py:42 ../gui/wxpython/menustrings.py:1029
 msgid "Creates raster maps from ASCII polygon/line/point data files."
-msgstr ""
-"Vytvoří rastrové mapy z ASCII polygonových/liniových/bodových datových "
-"souborů."
+msgstr "Vytvoří rastrové mapy z ASCII polygonových/liniových/bodových datových souborů."
 
 #: ../gui/wxpython/menustrings.py:43 ../gui/wxpython/menustrings.py:1030
 #, fuzzy
@@ -10026,8 +9620,7 @@ msgstr "GRIDATB.FOR import"
 #: ../gui/wxpython/menustrings.py:46 ../gui/wxpython/menustrings.py:1033
 #, fuzzy
 msgid "Imports GRIDATB.FOR map file (TOPMODEL) into a GRASS raster map."
-msgstr ""
-"Importuje mapový soubor GRIDATB.FOR (TOPMODEL) jako rastrovou mapu GRASSu"
+msgstr "Importuje mapový soubor GRIDATB.FOR (TOPMODEL) jako rastrovou mapu GRASSu"
 
 #: ../gui/wxpython/menustrings.py:47 ../gui/wxpython/menustrings.py:1034
 msgid "Matlab 2D array import"
@@ -10071,12 +9664,8 @@ msgstr "Terra ASTER HDF import"
 
 #: ../gui/wxpython/menustrings.py:56 ../gui/wxpython/menustrings.py:1043
 #, fuzzy
-msgid ""
-"Georeference, rectify, and import Terra-ASTER imagery and relative DEMs "
-"using gdalwarp."
-msgstr ""
-"Georeferencuje, rektifikuje a importuje snímky ve formátu Terra-ASTER a "
-"příbuzných DMT za použití gdalwarp."
+msgid "Georeference, rectify, and import Terra-ASTER imagery and relative DEMs using gdalwarp."
+msgstr "Georeferencuje, rektifikuje a importuje snímky ve formátu Terra-ASTER a příbuzných DMT za použití gdalwarp."
 
 #: ../gui/wxpython/menustrings.py:57 ../gui/wxpython/menustrings.py:82
 #: ../gui/wxpython/menustrings.py:1044 ../gui/wxpython/menustrings.py:1069
@@ -10087,14 +9676,11 @@ msgstr "ASCII x,y,z export"
 #: ../gui/wxpython/menustrings.py:58 ../gui/wxpython/menustrings.py:1045
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
-msgstr ""
-"Vytvoří rastrovou mapu smontováním více souřadnic za pomoci univariantní "
-"statistiky"
+msgstr "Vytvoří rastrovou mapu smontováním více souřadnic za pomoci univariantní statistiky"
 
 #: ../gui/wxpython/menustrings.py:60 ../gui/wxpython/menustrings.py:1047
 #, fuzzy
-msgid ""
-"Imports a raster map as GRASS GIS specific archive file (packed with r.pack)"
+msgid "Imports a raster map as GRASS GIS specific archive file (packed with r.pack)"
 msgstr "Import vektorových dat"
 
 #: ../gui/wxpython/menustrings.py:61 ../gui/wxpython/menustrings.py:282
@@ -10122,9 +9708,7 @@ msgstr "Převede vektorové vrstvy do GRASS vektoru pomocí OGR."
 
 #: ../gui/wxpython/menustrings.py:67 ../gui/wxpython/menustrings.py:1054
 #, fuzzy
-msgid ""
-"Imports vector data into a GRASS vector map using OGR library and reprojects "
-"on the fly."
+msgid "Imports vector data into a GRASS vector map using OGR library and reprojects on the fly."
 msgstr "Převede vektorové vrstvy do GRASS vektoru pomocí OGR."
 
 #: ../gui/wxpython/menustrings.py:68 ../gui/wxpython/menustrings.py:1055
@@ -10198,16 +9782,14 @@ msgstr "Převede vektorové vrstvy do GRASS vektoru pomocí OGR."
 
 #: ../gui/wxpython/menustrings.py:85 ../gui/wxpython/menustrings.py:1072
 #, fuzzy
-msgid ""
-"Imports a vector map as GRASS GIS specific archive file (packed with v.pack)"
+msgid "Imports a vector map as GRASS GIS specific archive file (packed with v.pack)"
 msgstr "Import vektorových dat"
 
 #: ../gui/wxpython/menustrings.py:86 ../gui/wxpython/menustrings.py:562
 #: ../gui/wxpython/menustrings.py:1073 ../gui/wxpython/menustrings.py:1469
 #, fuzzy
 msgid "Reproject vector map from different GRASS location"
-msgstr ""
-"Změní projekci vektorové mapy ze zvolené location do aktuální location."
+msgstr "Změní projekci vektorové mapy ze zvolené location do aktuální location."
 
 #: ../gui/wxpython/menustrings.py:87 ../gui/wxpython/menustrings.py:563
 #: ../gui/wxpython/menustrings.py:1074 ../gui/wxpython/menustrings.py:1470
@@ -10225,9 +9807,7 @@ msgstr "ASCII 3D import"
 #: ../gui/wxpython/menustrings.py:90 ../gui/wxpython/menustrings.py:1077
 #, fuzzy
 msgid "Converts a 3D ASCII raster text file into a (binary) 3D raster map."
-msgstr ""
-"Převede 3D ASCII rastrový textový soubor na (binární) 3D rastrovou mapovou "
-"vrstvu "
+msgstr "Převede 3D ASCII rastrový textový soubor na (binární) 3D rastrovou mapovou vrstvu "
 
 #: ../gui/wxpython/menustrings.py:91 ../gui/wxpython/menustrings.py:1078
 #, fuzzy
@@ -10246,8 +9826,7 @@ msgstr "Vis5D import"
 #: ../gui/wxpython/menustrings.py:94 ../gui/wxpython/menustrings.py:1081
 #, fuzzy
 msgid "Import 3-dimensional Vis5D files."
-msgstr ""
-"Exportuje 3D rastrový soubor GRASSu do 3-dimenzionálního Vis5D souboru."
+msgstr "Exportuje 3D rastrový soubor GRASSu do 3-dimenzionálního Vis5D souboru."
 
 #: ../gui/wxpython/menustrings.py:95 ../gui/wxpython/menustrings.py:1082
 msgid "Import database table"
@@ -10269,9 +9848,7 @@ msgstr "Export do běžných formátů"
 
 #: ../gui/wxpython/menustrings.py:100 ../gui/wxpython/menustrings.py:1087
 msgid "Exports GRASS raster maps into GDAL supported formats."
-msgstr ""
-"Exportuje GRASS rastrové vrstvy do jednoho z formátů podporovaných knihovnou "
-"GDAL."
+msgstr "Exportuje GRASS rastrové vrstvy do jednoho z formátů podporovaných knihovnou GDAL."
 
 #: ../gui/wxpython/menustrings.py:101 ../gui/wxpython/menustrings.py:1088
 msgid "ASCII grid export"
@@ -10289,11 +9866,8 @@ msgstr "ASCII x,y,z export"
 
 #: ../gui/wxpython/menustrings.py:104 ../gui/wxpython/menustrings.py:1091
 #, fuzzy
-msgid ""
-"Exports a raster map to a text file as x,y,z values based on cell centers."
-msgstr ""
-"Exportuje rastrovou mapu do textového souboru jako hodnoty x,y,z dle středů "
-"buněk."
+msgid "Exports a raster map to a text file as x,y,z values based on cell centers."
+msgstr "Exportuje rastrovou mapu do textového souboru jako hodnoty x,y,z dle středů buněk."
 
 #: ../gui/wxpython/menustrings.py:105 ../gui/wxpython/menustrings.py:1092
 msgid "GRIDATB.FOR export"
@@ -10355,9 +9929,7 @@ msgstr "Export PPM z RGB vrstev"
 #: ../gui/wxpython/menustrings.py:118 ../gui/wxpython/menustrings.py:1105
 #, fuzzy
 msgid "Converts 3 GRASS raster layers (R,G,B) to a PPM image file."
-msgstr ""
-"Převede 3 GRASSové rastrové mapy (R,G,B) do souboru PPM s rozlišením pixelu "
-"podle aktuálně definovaného regionu."
+msgstr "Převede 3 GRASSové rastrové mapy (R,G,B) do souboru PPM s rozlišením pixelu podle aktuálně definovaného regionu."
 
 #: ../gui/wxpython/menustrings.py:119 ../gui/wxpython/menustrings.py:136
 #: ../gui/wxpython/menustrings.py:1106 ../gui/wxpython/menustrings.py:1123
@@ -10404,12 +9976,8 @@ msgid "Export vector map"
 msgstr "Export vektorové mapy"
 
 #: ../gui/wxpython/menustrings.py:129 ../gui/wxpython/menustrings.py:1116
-msgid ""
-"Exports a vector map layer to any of the supported OGR vector formats. By "
-"default a vector map layer is exported to Esri Shapefile format."
-msgstr ""
-"Exportuje vektorovou vrstvu do některého z podporovaných vektorových formátů "
-"OGR. Ve výchozím nastavení je vrstva exportována do formátu Esri Shapefile."
+msgid "Exports a vector map layer to any of the supported OGR vector formats. By default a vector map layer is exported to Esri Shapefile format."
+msgstr "Exportuje vektorovou vrstvu do některého z podporovaných vektorových formátů OGR. Ve výchozím nastavení je vrstva exportována do formátu Esri Shapefile."
 
 #: ../gui/wxpython/menustrings.py:130 ../gui/wxpython/menustrings.py:1117
 #, fuzzy
@@ -10417,9 +9985,7 @@ msgid "ASCII points or GRASS ASCII vector export"
 msgstr "Export ASCII bodů/GRASS ASCII vektorů"
 
 #: ../gui/wxpython/menustrings.py:131 ../gui/wxpython/menustrings.py:1118
-msgid ""
-"Exports a vector map to a GRASS ASCII vector representation. By default only "
-"features with category are exported. To export all features use 'layer=-1'."
+msgid "Exports a vector map to a GRASS ASCII vector representation. By default only features with category are exported. To export all features use 'layer=-1'."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:132 ../gui/wxpython/menustrings.py:1119
@@ -10500,8 +10066,7 @@ msgstr "Vis5D export"
 #: ../gui/wxpython/menustrings.py:150 ../gui/wxpython/menustrings.py:1137
 #, fuzzy
 msgid "Exports GRASS 3D raster map to 3-dimensional Vis5D file."
-msgstr ""
-"Exportuje 3D rastrový soubor GRASSu do 3-dimenzionálního Vis5D souboru."
+msgstr "Exportuje 3D rastrový soubor GRASSu do 3-dimenzionálního Vis5D souboru."
 
 #: ../gui/wxpython/menustrings.py:152 ../gui/wxpython/menustrings.py:1139
 #, fuzzy
@@ -10517,9 +10082,8 @@ msgid "Exports attribute tables into various formats."
 msgstr "Exportuje atributové tabulky v různých formátech."
 
 #: ../gui/wxpython/menustrings.py:156 ../gui/wxpython/menustrings.py:1143
-#, fuzzy
 msgid "Link external data"
-msgstr "Připojit rastrová data"
+msgstr "Připojit externí data"
 
 #: ../gui/wxpython/menustrings.py:158 ../gui/wxpython/menustrings.py:1145
 msgid "Link GDAL supported raster data as a pseudo GRASS raster map layer."
@@ -10536,7 +10100,7 @@ msgstr "Import rastrové mapy"
 
 #: ../gui/wxpython/menustrings.py:162 ../gui/wxpython/menustrings.py:1149
 msgid "Defines raster output format utilizing GDAL library."
-msgstr ""
+msgstr "Určuje výstupní formát rastrů vytvořený pomocí knihovny GDAL."
 
 #: ../gui/wxpython/menustrings.py:163 ../gui/wxpython/menustrings.py:1150
 #, fuzzy
@@ -10545,7 +10109,7 @@ msgstr "Import vektorové mapy"
 
 #: ../gui/wxpython/menustrings.py:164 ../gui/wxpython/menustrings.py:1151
 msgid "Defines vector output format utilizing OGR library."
-msgstr ""
+msgstr "Určuje výstupní formát vektorů vytvořený pomocí knihovny OGR."
 
 #: ../gui/wxpython/menustrings.py:165 ../gui/wxpython/menustrings.py:1152
 msgid "Manage maps"
@@ -10557,12 +10121,8 @@ msgstr "Kopírovat"
 
 #: ../gui/wxpython/menustrings.py:167 ../gui/wxpython/menustrings.py:1154
 #, fuzzy
-msgid ""
-"Copies available data files in the current mapset search path to the user's "
-"current mapset."
-msgstr ""
-"Kopíruje dostupná data z uživatelem zadaného mapsetu a location do "
-"aktuálního mapsetu."
+msgid "Copies available data files in the current mapset search path to the user's current mapset."
+msgstr "Kopíruje dostupná data z uživatelem zadaného mapsetu a location do aktuálního mapsetu."
 
 #: ../gui/wxpython/menustrings.py:168 ../gui/wxpython/menustrings.py:929
 #: ../gui/wxpython/menustrings.py:1155 ../gui/wxpython/menustrings.py:1836
@@ -10571,23 +10131,16 @@ msgstr "Seznam"
 
 #: ../gui/wxpython/menustrings.py:169 ../gui/wxpython/menustrings.py:1156
 #, fuzzy
-msgid ""
-"Lists available GRASS data base files of the user-specified data type "
-"optionally using the search pattern."
-msgstr ""
-"Seznam dostupných souborů uživatelem zadaného typu dat na standardní výstup"
+msgid "Lists available GRASS data base files of the user-specified data type optionally using the search pattern."
+msgstr "Seznam dostupných souborů uživatelem zadaného typu dat na standardní výstup"
 
 #: ../gui/wxpython/menustrings.py:171 ../gui/wxpython/menustrings.py:1158
 msgid "Renames data base element files in the user's current mapset."
 msgstr "Přejmenuje data v aktuálním mapsetu"
 
 #: ../gui/wxpython/menustrings.py:173 ../gui/wxpython/menustrings.py:1160
-msgid ""
-"Removes data base element files from the user's current mapset using the "
-"search pattern."
-msgstr ""
-"Odstraní z adresáře s databází soubory aktuálního mapsetu uživatele zadané "
-"pomocí parametrů vyhledávání."
+msgid "Removes data base element files from the user's current mapset using the search pattern."
+msgstr "Odstraní z adresáře s databází soubory aktuálního mapsetu uživatele zadané pomocí parametrů vyhledávání."
 
 #: ../gui/wxpython/menustrings.py:174 ../gui/wxpython/menustrings.py:306
 #: ../gui/wxpython/menustrings.py:600 ../gui/wxpython/menustrings.py:832
@@ -10627,9 +10180,7 @@ msgstr "2.5D mapa na volume"
 #: ../gui/wxpython/menustrings.py:180 ../gui/wxpython/menustrings.py:312
 #: ../gui/wxpython/menustrings.py:1219
 msgid "Creates a 3D volume map based on 2D elevation and value raster maps."
-msgstr ""
-"Vytvoří 3D volume vrstvu založenou na 2D výškového modelu a hodnotových "
-"rastrových mapách."
+msgstr "Vytvoří 3D volume vrstvu založenou na 2D výškového modelu a hodnotových rastrových mapách."
 
 #: ../gui/wxpython/menustrings.py:181 ../gui/wxpython/menustrings.py:601
 #: ../gui/wxpython/menustrings.py:1508
@@ -10651,9 +10202,7 @@ msgstr "Rasterizace vektorové vrstvy"
 #: ../gui/wxpython/menustrings.py:1511
 #, fuzzy
 msgid "Converts a vector map (only points) into a 3D raster map."
-msgstr ""
-"Převede binární GRASS vektorovou mapovou vrstvu (pouze body) na 3D GRASS "
-"rastrovou mapovou vrstvu."
+msgstr "Převede binární GRASS vektorovou mapovou vrstvu (pouze body) na 3D GRASS rastrovou mapovou vrstvu."
 
 #: ../gui/wxpython/menustrings.py:185 ../gui/wxpython/menustrings.py:605
 #: ../gui/wxpython/menustrings.py:1512
@@ -10700,39 +10249,31 @@ msgid "Run model prepared by Graphical modeler"
 msgstr "Spustit model připravený v grafickém modelování"
 
 #: ../gui/wxpython/menustrings.py:195
-#, fuzzy
 msgid "3D image rendering"
-msgstr "Zapnout/vypnout automatické vykreslování"
+msgstr "Vykreslování 3D obrázku"
 
 #: ../gui/wxpython/menustrings.py:196
-msgid ""
-"Creates a 3D rendering of GIS data. Renders surfaces (raster data), 2D/3D "
-"vector data, and volumes (3D raster data) in 3D."
+msgid "Creates a 3D rendering of GIS data. Renders surfaces (raster data), 2D/3D vector data, and volumes (3D raster data) in 3D."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:197 ../gui/wxpython/menustrings.py:1001
 #: ../gui/wxpython/menustrings.py:1908 ../gui/wxpython/menustrings.py:1915
-#, fuzzy
 msgid "Animation tool"
-msgstr "Kvantizace"
+msgstr "Nástroj pro animace"
 
 #: ../gui/wxpython/menustrings.py:198 ../gui/wxpython/menustrings.py:1002
 #: ../gui/wxpython/menustrings.py:1909 ../gui/wxpython/menustrings.py:1916
 msgid "Launch animation tool."
-msgstr ""
+msgstr "Spustí nástroj pro animace"
 
 #: ../gui/wxpython/menustrings.py:199
 msgid "Bearing/distance to coordinates"
-msgstr "Směr/vzdálenost k souřadnicím"
+msgstr "Azimut/vzdálenost na souřadnice"
 
 #: ../gui/wxpython/menustrings.py:200
 #, fuzzy
-msgid ""
-"A simple utility for converting bearing and distance measurements to "
-"coordinates and vice versa. It assumes a cartesian coordinate system"
-msgstr ""
-"Jednoduchý nástroj pro převod zaměření a měření vzdáleností do souřadnic a "
-"naopak."
+msgid "A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a cartesian coordinate system"
+msgstr "Jednoduchý nástroj pro převod zaměření a měření vzdáleností do souřadnic a naopak."
 
 #: ../gui/wxpython/menustrings.py:202 ../gui/wxpython/menustrings.py:1927
 #, fuzzy
@@ -10758,24 +10299,21 @@ msgid "Launches script file."
 msgstr "Spouštím soubor se skriptem."
 
 #: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
-#, fuzzy
 msgid "Close GUI"
-msgstr "Zavřít"
+msgstr "Zavřít grafické prostředí"
 
 #: ../gui/wxpython/menustrings.py:208
-#, fuzzy
 msgid "Quit wxGUI session."
-msgstr "Ukončit WxGUI sezení"
+msgstr "Ukončit sezení wxGUI."
 
 #: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
 #: ../gui/wxpython/gui_core/dialogs.py:2812
-#, fuzzy
 msgid "Quit GRASS GIS"
-msgstr "Ukončit GRASS GUI"
+msgstr "Ukončit GRASS GIS"
 
 #: ../gui/wxpython/menustrings.py:210
 msgid "Quit wxGUI session and exit GRASS shell."
-msgstr ""
+msgstr "Ukončit sezení wxGUI a shell GRASSu."
 
 #: ../gui/wxpython/menustrings.py:211 ../gui/wxpython/menustrings.py:1947
 msgid "&Settings"
@@ -10815,9 +10353,7 @@ msgstr "Uživatelský přístup"
 
 #: ../gui/wxpython/menustrings.py:221
 #, fuzzy
-msgid ""
-"Controls access to the current mapset for other users on the system. If no "
-"option given, prints current status."
+msgid "Controls access to the current mapset for other users on the system. If no option given, prints current status."
 msgstr "Řídí přístup k aktuálnímu mapsetu pro ostatní uživatele v systému."
 
 #: ../gui/wxpython/menustrings.py:222
@@ -10825,9 +10361,7 @@ msgid "Change working environment"
 msgstr "Změnit pracovní prostředí GRASSu"
 
 #: ../gui/wxpython/menustrings.py:223
-msgid ""
-"Changes/reports current mapset. Optionally create new mapset or list "
-"available mapsets in given location."
+msgid "Changes/reports current mapset. Optionally create new mapset or list available mapsets in given location."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:224
@@ -10865,9 +10399,7 @@ msgstr "Změnit nastavení"
 
 #: ../gui/wxpython/menustrings.py:233
 #, fuzzy
-msgid ""
-"Outputs and modifies the user's current GRASS variable settings. Prints all "
-"defined GRASS variables if no option is given."
+msgid "Outputs and modifies the user's current GRASS variable settings. Prints all defined GRASS variables if no option is given."
 msgstr "Vypíše a modifikuje uživatelské nastavení proměnných GRASSu."
 
 #: ../gui/wxpython/menustrings.py:234
@@ -10902,22 +10434,15 @@ msgid "Display map projection"
 msgstr "Zobrazit kartografické zobrazení mapy"
 
 #: ../gui/wxpython/menustrings.py:242
-msgid ""
-"Converts co-ordinate system descriptions (i.e. projection information) "
-"between various formats (including GRASS format)."
-msgstr ""
-"Převede popisy souřadnicových systémů (např. informace o kartografickém "
-"zobrazení) mezi různými formáty (včetně formátu GRASSu)."
+msgid "Converts co-ordinate system descriptions (i.e. projection information) between various formats (including GRASS format)."
+msgstr "Převede popisy souřadnicových systémů (např. informace o kartografickém zobrazení) mezi různými formáty (včetně formátu GRASSu)."
 
 #: ../gui/wxpython/menustrings.py:243
 msgid "Manage projections"
 msgstr "Správa kartografických zobrazení"
 
 #: ../gui/wxpython/menustrings.py:244
-msgid ""
-"Prints or modifies GRASS projection information files (in various co-"
-"ordinate system descriptions). Can also be used to create new GRASS "
-"locations."
+msgid "Prints or modifies GRASS projection information files (in various co-ordinate system descriptions). Can also be used to create new GRASS locations."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:245
@@ -10960,9 +10485,7 @@ msgstr "Vlastnosti"
 
 #: ../gui/wxpython/menustrings.py:253
 msgid "User GUI preferences (display font, commands, digitizer, etc.)"
-msgstr ""
-"Uživatelské nastavení grafického prostředí (font displeje, příkazy, "
-"digitizér, atd)"
+msgstr "Uživatelské nastavení grafického prostředí (font displeje, příkazy, digitizér, atd)"
 
 #: ../gui/wxpython/menustrings.py:254 ../gui/wxpython/menustrings.py:1161
 msgid "&Raster"
@@ -11010,9 +10533,7 @@ msgstr "Časové razítko"
 
 #: ../gui/wxpython/menustrings.py:265 ../gui/wxpython/menustrings.py:1172
 #, fuzzy
-msgid ""
-"Modifies a timestamp for a raster map. Print/add/remove a timestamp for a "
-"raster map."
+msgid "Modifies a timestamp for a raster map. Print/add/remove a timestamp for a raster map."
 msgstr "Vytiskni/přidej/smaž časovou značku rastrových map."
 
 #: ../gui/wxpython/menustrings.py:266 ../gui/wxpython/menustrings.py:1173
@@ -11042,37 +10563,26 @@ msgstr "Modul pro převzorkování rastrových map."
 
 #: ../gui/wxpython/menustrings.py:272 ../gui/wxpython/menustrings.py:1179
 msgid "Resample using spline tension"
-msgstr ""
-"Převzorkování (změna rozlišení) pomocí RST (regularized spline tension)"
+msgstr "Převzorkování (změna rozlišení) pomocí RST (regularized spline tension)"
 
 #: ../gui/wxpython/menustrings.py:273 ../gui/wxpython/menustrings.py:1180
-msgid ""
-"Reinterpolates and optionally computes topographic analysis from input "
-"raster map to a new raster map (possibly with different resolution) using "
-"regularized spline with tension and smoothing."
-msgstr ""
-"Reinterpoluje a volitelně spočítá topografickou analýzu ze vstupního "
-"rastrového souboru do nové rastrové mapy (volitelně s novým rozlišením) za "
-"použití RST -regularized spline s tension a vyhlazení - smothing."
+msgid "Reinterpolates and optionally computes topographic analysis from input raster map to a new raster map (possibly with different resolution) using regularized spline with tension and smoothing."
+msgstr "Reinterpoluje a volitelně spočítá topografickou analýzu ze vstupního rastrového souboru do nové rastrové mapy (volitelně s novým rozlišením) za použití RST -regularized spline s tension a vyhlazení - smothing."
 
 #: ../gui/wxpython/menustrings.py:274 ../gui/wxpython/menustrings.py:1181
 #, fuzzy
 msgid "Resample using bspline"
-msgstr ""
-"Převzorkování (změna rozlišení) pomocí RST (regularized spline tension)"
+msgstr "Převzorkování (změna rozlišení) pomocí RST (regularized spline tension)"
 
 #: ../gui/wxpython/menustrings.py:275 ../gui/wxpython/menustrings.py:1182
 #, fuzzy
-msgid ""
-"Performs bilinear or bicubic spline interpolation with Tykhonov "
-"regularization."
+msgid "Performs bilinear or bicubic spline interpolation with Tykhonov regularization."
 msgstr "Bikubická nebo bilineární interpolace s Tykhonovou regularizací"
 
 #: ../gui/wxpython/menustrings.py:276 ../gui/wxpython/menustrings.py:1183
 #, fuzzy
 msgid "Resample using analytic kernel"
-msgstr ""
-"Převzorkování (změna rozlišení) pomocí RST (regularized spline tension)"
+msgstr "Převzorkování (změna rozlišení) pomocí RST (regularized spline tension)"
 
 #: ../gui/wxpython/menustrings.py:277 ../gui/wxpython/menustrings.py:1184
 #, fuzzy
@@ -11101,11 +10611,8 @@ msgid "Tiling"
 msgstr "Dlaždice"
 
 #: ../gui/wxpython/menustrings.py:285 ../gui/wxpython/menustrings.py:1192
-msgid ""
-"Produces tilings of the source projection for use in the destination region "
-"and projection."
-msgstr ""
-"Vytvoří dlaždice zdrojové projekce pro použití v cílovém regionu a projekci."
+msgid "Produces tilings of the source projection for use in the destination region and projection."
+msgstr "Vytvoří dlaždice zdrojové projekce pro použití v cílovém regionu a projekci."
 
 #: ../gui/wxpython/menustrings.py:286 ../gui/wxpython/menustrings.py:583
 #: ../gui/wxpython/menustrings.py:1193 ../gui/wxpython/menustrings.py:1490
@@ -11129,8 +10636,7 @@ msgstr "Tabulka barev (stddev)"
 #: ../gui/wxpython/menustrings.py:290 ../gui/wxpython/menustrings.py:1197
 #, fuzzy
 msgid "Sets color rules based on stddev from a raster map's mean value."
-msgstr ""
-"Nastavit pravidla barev podle směrodatné odchylky z průměrné hodnoty mapy."
+msgstr "Nastavit pravidla barev podle směrodatné odchylky z průměrné hodnoty mapy."
 
 #: ../gui/wxpython/menustrings.py:291 ../gui/wxpython/menustrings.py:586
 #: ../gui/wxpython/menustrings.py:1198 ../gui/wxpython/menustrings.py:1493
@@ -11165,11 +10671,8 @@ msgid "Create RGB"
 msgstr "Vytvořit RGB"
 
 #: ../gui/wxpython/menustrings.py:298 ../gui/wxpython/menustrings.py:1205
-msgid ""
-"Combines red, green and blue raster maps into a single composite raster map."
-msgstr ""
-"Zkombinuje červenou, zelenou a modrou rastrovou vrstvu do jediné složené "
-"rastrové vrstvy."
+msgid "Combines red, green and blue raster maps into a single composite raster map."
+msgstr "Zkombinuje červenou, zelenou a modrou rastrovou vrstvu do jediné složené rastrové vrstvy."
 
 #: ../gui/wxpython/menustrings.py:299 ../gui/wxpython/menustrings.py:739
 #: ../gui/wxpython/menustrings.py:1206 ../gui/wxpython/menustrings.py:1646
@@ -11178,13 +10681,8 @@ msgstr "Transformace RGB -> HIS"
 
 #: ../gui/wxpython/menustrings.py:300 ../gui/wxpython/menustrings.py:1207
 #, fuzzy
-msgid ""
-"Generates red, green and blue (RGB) raster map layers combining hue, "
-"intensity and saturation (HIS) values from user-specified input raster map "
-"layers."
-msgstr ""
-"Vytvoří červené, zelené a modré rastrové mapy kombinací hodnot odstínu,"
-"intenzity a nasycení (his) z uživatelem zadaných vstupních rastrových map."
+msgid "Generates red, green and blue (RGB) raster map layers combining hue, intensity and saturation (HIS) values from user-specified input raster map layers."
+msgstr "Vytvoří červené, zelené a modré rastrové mapy kombinací hodnot odstínu,intenzity a nasycení (his) z uživatelem zadaných vstupních rastrových map."
 
 #: ../gui/wxpython/menustrings.py:301 ../gui/wxpython/menustrings.py:1208
 msgid "Query raster maps"
@@ -11197,8 +10695,7 @@ msgstr "Dotaz na hodnoty podle souřadnic"
 #: ../gui/wxpython/menustrings.py:303 ../gui/wxpython/menustrings.py:1210
 #, fuzzy
 msgid "Queries raster maps on their category values and category labels."
-msgstr ""
-"Program sloužící k dotazování rastrových map podle jejich kategorií a popisů."
+msgstr "Program sloužící k dotazování rastrových map podle jejich kategorií a popisů."
 
 #: ../gui/wxpython/menustrings.py:304 ../gui/wxpython/menustrings.py:1211
 msgid "Query colors by value"
@@ -11219,12 +10716,8 @@ msgstr "Obalová zóna rastrové mapy"
 
 #: ../gui/wxpython/menustrings.py:315 ../gui/wxpython/menustrings.py:1222
 #, fuzzy
-msgid ""
-"Creates a raster map showing buffer zones surrounding cells that contain non-"
-"NULL category values."
-msgstr ""
-"Vytvoří rastrovou mapu zachycující obalové zóny kolem buněk s neNULLovou "
-"hodnotou."
+msgid "Creates a raster map showing buffer zones surrounding cells that contain non-NULL category values."
+msgstr "Vytvoří rastrovou mapu zachycující obalové zóny kolem buněk s neNULLovou hodnotou."
 
 #: ../gui/wxpython/menustrings.py:316 ../gui/wxpython/menustrings.py:1223
 msgid "Concentric circles"
@@ -11232,8 +10725,7 @@ msgstr "Soustředné kruhy"
 
 #: ../gui/wxpython/menustrings.py:317 ../gui/wxpython/menustrings.py:1224
 msgid "Creates a raster map containing concentric rings around a given point."
-msgstr ""
-"Vytvoří rastrovou mapu obsahující soustředné kruhy okolo zadaného bodu."
+msgstr "Vytvoří rastrovou mapu obsahující soustředné kruhy okolo zadaného bodu."
 
 #: ../gui/wxpython/menustrings.py:318 ../gui/wxpython/menustrings.py:1225
 msgid "Closest points"
@@ -11278,13 +10770,8 @@ msgid "Neighborhood analysis"
 msgstr "Analýza okolí"
 
 #: ../gui/wxpython/menustrings.py:330 ../gui/wxpython/menustrings.py:1237
-msgid ""
-"Makes each cell category value a function of the category values assigned to "
-"the cells around it, and stores new cell values in an output raster map "
-"layer."
-msgstr ""
-"Hodnota každé buňky v novém rastru bude funkcí hodnot kategorii sousedních "
-"buněk a bude uložena jako hodnota ve výstupní rastrové mapě."
+msgid "Makes each cell category value a function of the category values assigned to the cells around it, and stores new cell values in an output raster map layer."
+msgstr "Hodnota každé buňky v novém rastru bude funkcí hodnot kategorii sousedních buněk a bude uložena jako hodnota ve výstupní rastrové mapě."
 
 #: ../gui/wxpython/menustrings.py:331 ../gui/wxpython/menustrings.py:1238
 msgid "Neighborhood points"
@@ -11292,13 +10779,8 @@ msgstr "Analýza okolí"
 
 #: ../gui/wxpython/menustrings.py:332 ../gui/wxpython/menustrings.py:1239
 #, fuzzy
-msgid ""
-"Neighborhood analysis tool for vector point maps. Makes each cell value a "
-"function of the attribute values assigned to the vector points or centroids "
-"around it, and stores new cell values in an output raster map."
-msgstr ""
-"Vytvoří pro každou buňku funkci hodnot atributů vektorových bodů nebo "
-"centroidů v okolí, a uloží je v nové rastrové mapě."
+msgid "Neighborhood analysis tool for vector point maps. Makes each cell value a function of the attribute values assigned to the vector points or centroids around it, and stores new cell values in an output raster map."
+msgstr "Vytvoří pro každou buňku funkci hodnot atributů vektorových bodů nebo centroidů v okolí, a uloží je v nové rastrové mapě."
 
 #: ../gui/wxpython/menustrings.py:333 ../gui/wxpython/menustrings.py:1240
 msgid "Overlay rasters"
@@ -11309,9 +10791,7 @@ msgid "Cross product"
 msgstr "Výsledek přeložení"
 
 #: ../gui/wxpython/menustrings.py:335 ../gui/wxpython/menustrings.py:1242
-msgid ""
-"Creates a cross product of the category values from multiple raster map "
-"layers."
+msgid "Creates a cross product of the category values from multiple raster map layers."
 msgstr "Vytvoří násobné překrytí hodnot kategorií z několika rastrových map."
 
 #: ../gui/wxpython/menustrings.py:336 ../gui/wxpython/menustrings.py:1243
@@ -11319,13 +10799,8 @@ msgid "Patch raster maps"
 msgstr "Překrývat rastrové mapy"
 
 #: ../gui/wxpython/menustrings.py:337 ../gui/wxpython/menustrings.py:1244
-msgid ""
-"Creates a composite raster map layer by using known category values from one "
-"(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
-msgstr ""
-"Vytváří složenou rastrovou mapu tak, že použije známé hodnoty kategorií z "
-"jedné nebo několika map tak, že vyplní oblasti \"bez žádných dat\" v "
-"jinémapové vrstvě."
+msgid "Creates a composite raster map layer by using known category values from one (or more) map layer(s) to fill in areas of \"no data\" in another map layer."
+msgstr "Vytváří složenou rastrovou mapu tak, že použije známé hodnoty kategorií z jedné nebo několika map tak, že vyplní oblasti \"bez žádných dat\" v jinémapové vrstvě."
 
 #: ../gui/wxpython/menustrings.py:338 ../gui/wxpython/menustrings.py:1245
 #, fuzzy
@@ -11333,12 +10808,8 @@ msgid "Raster series aggregation"
 msgstr "Série rastrových map"
 
 #: ../gui/wxpython/menustrings.py:339 ../gui/wxpython/menustrings.py:1246
-msgid ""
-"Makes each output cell value a function of the values assigned to the "
-"corresponding cells in the input raster map layers."
-msgstr ""
-"Hodnota každé buňky ve výstupním rastrovém souboru je funkcí hodnot několika "
-"dalších buněk ve vstupním rastrovém souboru."
+msgid "Makes each output cell value a function of the values assigned to the corresponding cells in the input raster map layers."
+msgstr "Hodnota každé buňky ve výstupním rastrovém souboru je funkcí hodnot několika dalších buněk ve vstupním rastrovém souboru."
 
 #: ../gui/wxpython/menustrings.py:340 ../gui/wxpython/menustrings.py:1247
 #, fuzzy
@@ -11347,12 +10818,8 @@ msgstr "3D rastrový kalkulátor"
 
 #: ../gui/wxpython/menustrings.py:341 ../gui/wxpython/menustrings.py:1248
 #, fuzzy
-msgid ""
-"Makes each output cell value a accumulationfunction of the values assigned "
-"to the corresponding cells in the input raster map layers."
-msgstr ""
-"Hodnota každé buňky ve výstupním rastrovém souboru je funkcí hodnot několika "
-"dalších buněk ve vstupním rastrovém souboru."
+msgid "Makes each output cell value a accumulationfunction of the values assigned to the corresponding cells in the input raster map layers."
+msgstr "Hodnota každé buňky ve výstupním rastrovém souboru je funkcí hodnot několika dalších buněk ve vstupním rastrovém souboru."
 
 #: ../gui/wxpython/menustrings.py:342 ../gui/wxpython/menustrings.py:1249
 msgid "Statistical overlay"
@@ -11360,9 +10827,7 @@ msgstr "Statistický překryv"
 
 #: ../gui/wxpython/menustrings.py:343 ../gui/wxpython/menustrings.py:1250
 #, fuzzy
-msgid ""
-"Calculates category or object oriented statistics (accumulator-based "
-"statistics)."
+msgid "Calculates category or object oriented statistics (accumulator-based statistics)."
 msgstr "Počítá statistky podle kategorií nebo objektově orientované."
 
 #: ../gui/wxpython/menustrings.py:344 ../gui/wxpython/menustrings.py:1251
@@ -11394,20 +10859,8 @@ msgstr "Sluneční záření a ozáření"
 
 #: ../gui/wxpython/menustrings.py:350 ../gui/wxpython/menustrings.py:1257
 #, fuzzy
-msgid ""
-"Solar irradiance and irradiation model. Computes direct (beam), diffuse and "
-"reflected solar irradiation raster maps for given day, latitude, surface and "
-"atmospheric conditions. Solar parameters (e.g. sunrise, sunset times, "
-"declination, extraterrestrial irradiance, daylight length) are saved in the "
-"map history file. Alternatively, a local time can be specified to compute "
-"solar incidence angle and/or irradiance raster maps. The shadowing effect of "
-"the topography is optionally incorporated."
-msgstr ""
-"Počítá mapu přímého (paprsek), difůzního a odraženého slunečního záření pro "
-"zadaný den, zem. šířku, povrch a atmosférické podmínky. Sluneční parametry "
-"(např. východ a západ slunce) jsou uloženy do do souboru s historií mapy. "
-"Alternativně stačí specifikovat čas pro výpočet slunečního úhlu a/nebo mapy "
-"ozáření. Také lze volitelně zahrnout efekt stínu terénu."
+msgid "Solar irradiance and irradiation model. Computes direct (beam), diffuse and reflected solar irradiation raster maps for given day, latitude, surface and atmospheric conditions. Solar parameters (e.g. sunrise, sunset times, declination, extraterrestrial irradiance, daylight length) are saved in the map history file. Alternatively, a local time can be specified to compute solar incidence angle and/or irradiance raster maps. The shadowing effect of the topography is optionally incorp [...]
+msgstr "Počítá mapu přímého (paprsek), difůzního a odraženého slunečního záření pro zadaný den, zem. šířku, povrch a atmosférické podmínky. Sluneční parametry (např. východ a západ slunce) jsou uloženy do do souboru s historií mapy. Alternativně stačí specifikovat čas pro výpočet slunečního úhlu a/nebo mapy ozáření. Také lze volitelně zahrnout efekt stínu terénu."
 
 #: ../gui/wxpython/menustrings.py:351 ../gui/wxpython/menustrings.py:1258
 msgid "Shadows map"
@@ -11415,14 +10868,8 @@ msgstr "Stínovaná mapa"
 
 #: ../gui/wxpython/menustrings.py:352 ../gui/wxpython/menustrings.py:1259
 #, fuzzy
-msgid ""
-"Calculates cast shadow areas from sun position and elevation raster map. "
-"Either exact sun position (A) is specified, or date/time to calculate the "
-"sun position (B) by r.sunmask itself."
-msgstr ""
-"Počítá plně zastíněné oblasti z polohy Slunce a DMT buď A: je-li "
-"specifikována přesná pozice Slunce nebo B: pozice je spočítána samostatně z "
-"hodnoty datum/čas pomocí r.sunmask."
+msgid "Calculates cast shadow areas from sun position and elevation raster map. Either exact sun position (A) is specified, or date/time to calculate the sun position (B) by r.sunmask itself."
+msgstr "Počítá plně zastíněné oblasti z polohy Slunce a DMT buď A: je-li specifikována přesná pozice Slunce nebo B: pozice je spočítána samostatně z hodnoty datum/čas pomocí r.sunmask."
 
 #: ../gui/wxpython/menustrings.py:353 ../gui/wxpython/menustrings.py:1260
 #, fuzzy
@@ -11430,11 +10877,7 @@ msgid "Sunshine hours and solar angles"
 msgstr "Vytvořit novou vektorovou mapu"
 
 #: ../gui/wxpython/menustrings.py:354 ../gui/wxpython/menustrings.py:1261
-msgid ""
-"Calculates solar elevation, solar azimuth, and sun hours. Solar elevation: "
-"the angle between the direction of the geometric center of the sun's "
-"apparent disk and the (idealized) horizon. Solar azimuth: the angle from due "
-"north in clockwise direction."
+msgid "Calculates solar elevation, solar azimuth, and sun hours. Solar elevation: the angle between the direction of the geometric center of the sun's apparent disk and the (idealized) horizon. Solar azimuth: the angle from due north in clockwise direction."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:355 ../gui/wxpython/menustrings.py:1262
@@ -11454,14 +10897,8 @@ msgid "Cost surface"
 msgstr "Povrch nákladů"
 
 #: ../gui/wxpython/menustrings.py:359 ../gui/wxpython/menustrings.py:1266
-msgid ""
-"Creates a raster map showing the cumulative cost of moving between different "
-"geographic locations on an input raster map whose cell category values "
-"represent cost."
-msgstr ""
-"Vytváří rastrovou vrstvu ukazující kumulativní náklady pohybu mezi různými "
-"polohami na vstupní rastrové vrstvě kde každá hodnota buňky prezentuje "
-"náklad."
+msgid "Creates a raster map showing the cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost."
+msgstr "Vytváří rastrovou vrstvu ukazující kumulativní náklady pohybu mezi různými polohami na vstupní rastrové vrstvě kde každá hodnota buňky prezentuje náklad."
 
 #: ../gui/wxpython/menustrings.py:360 ../gui/wxpython/menustrings.py:1267
 msgid "Cumulative movement costs"
@@ -11469,14 +10906,8 @@ msgstr "Výpočet kumulativního pohyby nákladů mezi lokacemi"
 
 #: ../gui/wxpython/menustrings.py:361 ../gui/wxpython/menustrings.py:1268
 #, fuzzy
-msgid ""
-"Creates a raster map showing the anisotropic cumulative cost of moving "
-"between different geographic locations on an input raster map whose cell "
-"category values represent cost."
-msgstr ""
-"Vytváří rastrovou vrstvu ukazující kumulativní náklady pohybu mezi různými "
-"polohami na vstupní rastrové vrstvě kde každá hodnota buňky prezentuje "
-"náklad."
+msgid "Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost."
+msgstr "Vytváří rastrovou vrstvu ukazující kumulativní náklady pohybu mezi různými polohami na vstupní rastrové vrstvě kde každá hodnota buňky prezentuje náklad."
 
 #: ../gui/wxpython/menustrings.py:362 ../gui/wxpython/menustrings.py:1269
 msgid "Least cost route or flow"
@@ -11484,8 +10915,7 @@ msgstr "Nejméně nákladná cesta nebo dráha odtoku"
 
 #: ../gui/wxpython/menustrings.py:363 ../gui/wxpython/menustrings.py:1270
 #, fuzzy
-msgid ""
-"Traces a flow through an elevation model or cost surface on a raster map."
+msgid "Traces a flow through an elevation model or cost surface on a raster map."
 msgstr "Určí směr povrchového odtoku na rastrovém modelu terénu."
 
 #: ../gui/wxpython/menustrings.py:364 ../gui/wxpython/menustrings.py:1271
@@ -11513,14 +10943,8 @@ msgstr "Míra svahu a expozice"
 
 #: ../gui/wxpython/menustrings.py:369 ../gui/wxpython/menustrings.py:1276
 #, fuzzy
-msgid ""
-"Generates raster maps of slope, aspect, curvatures and partial derivatives "
-"from an elevation raster map. Aspect is calculated counterclockwise from "
-"east."
-msgstr ""
-"Vytvoří rastrovou mapu sklonu, expozice, křivosti a parciálních derivací "
-"odvozenou z digitálního modelu terénu. Expozice je počítána proti směru "
-"hodinových ručiček s počátkem na východě."
+msgid "Generates raster maps of slope, aspect, curvatures and partial derivatives from an elevation raster map. Aspect is calculated counterclockwise from east."
+msgstr "Vytvoří rastrovou mapu sklonu, expozice, křivosti a parciálních derivací odvozenou z digitálního modelu terénu. Expozice je počítána proti směru hodinových ručiček s počátkem na východě."
 
 #: ../gui/wxpython/menustrings.py:370 ../gui/wxpython/menustrings.py:1277
 msgid "Terrain parameters"
@@ -11528,12 +10952,8 @@ msgstr "Parametry terénu"
 
 #: ../gui/wxpython/menustrings.py:371 ../gui/wxpython/menustrings.py:1278
 #, fuzzy
-msgid ""
-"Extracts terrain parameters from a DEM. Uses a multi-scale approach by "
-"taking fitting quadratic parameters to any size window (via least squares)."
-msgstr ""
-"Používá multisklalární přístup, vypočítává kvadratické koeficienty pro okno "
-"libovolné velikosti (pomocí metody nejmenších čtverců)."
+msgid "Extracts terrain parameters from a DEM. Uses a multi-scale approach by taking fitting quadratic parameters to any size window (via least squares)."
+msgstr "Používá multisklalární přístup, vypočítává kvadratické koeficienty pro okno libovolné velikosti (pomocí metody nejmenších čtverců)."
 
 #: ../gui/wxpython/menustrings.py:372 ../gui/wxpython/menustrings.py:1279
 msgid "Textural features"
@@ -11549,9 +10969,7 @@ msgstr "Viditelnost"
 
 #: ../gui/wxpython/menustrings.py:375 ../gui/wxpython/menustrings.py:1282
 #, fuzzy
-msgid ""
-"Computes the viewshed of a point on an elevation raster map. Default format: "
-"NULL (invisible), vertical angle wrt viewpoint (visible)."
+msgid "Computes the viewshed of a point on an elevation raster map. Default format: NULL (invisible), vertical angle wrt viewpoint (visible)."
 msgstr "Převede binární GRASS vektorovou mapu do GRASS rastrové mapy."
 
 #: ../gui/wxpython/menustrings.py:378 ../gui/wxpython/menustrings.py:1285
@@ -11559,14 +10977,7 @@ msgid "Horizon angle"
 msgstr "Úhel horizontu"
 
 #: ../gui/wxpython/menustrings.py:379 ../gui/wxpython/menustrings.py:1286
-msgid ""
-"Computes horizon angle height from a digital elevation model. The module has "
-"two different modes of operation: 1. Computes the entire horizon around a "
-"single point whose coordinates are given with the 'coord' option. The "
-"horizon height (in radians). 2. Computes one or more raster maps of the "
-"horizon height in a single direction. The input for this is the angle (in "
-"degrees), which is measured counterclockwise with east=0, north=90 etc. The "
-"output is the horizon height in radians."
+msgid "Computes horizon angle height from a digital elevation model. The module has two different modes of operation: 1. Computes the entire horizon around a single point whose coordinates are given with the 'coord' option. The horizon height (in radians). 2. Computes one or more raster maps of the horizon height in a single direction. The input for this is the angle (in degrees), which is measured counterclockwise with east=0, north=90 etc. The output is the horizon height in radians."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:380 ../gui/wxpython/menustrings.py:1287
@@ -11578,12 +10989,8 @@ msgid "Clump"
 msgstr "Shromáždit"
 
 #: ../gui/wxpython/menustrings.py:382 ../gui/wxpython/menustrings.py:1289
-msgid ""
-"Recategorizes data in a raster map by grouping cells that form physically "
-"discrete areas into unique categories."
-msgstr ""
-"Změní kategorie dat rastrového souboru tak, že seskupí sousedící buňky "
-"formující fyzicky spojité oblasti do jedinečných kategorií."
+msgid "Recategorizes data in a raster map by grouping cells that form physically discrete areas into unique categories."
+msgstr "Změní kategorie dat rastrového souboru tak, že seskupí sousedící buňky formující fyzicky spojité oblasti do jedinečných kategorií."
 
 #: ../gui/wxpython/menustrings.py:383 ../gui/wxpython/menustrings.py:1290
 msgid "Grow"
@@ -11608,12 +11015,8 @@ msgstr "Rozdělit stream na kanály"
 
 #: ../gui/wxpython/menustrings.py:389 ../gui/wxpython/menustrings.py:1296
 #, fuzzy
-msgid ""
-"Generates stream channels. Takes vector stream data, transforms it to raster "
-"and subtracts depth from the output DEM."
-msgstr ""
-"Vezme vektorová data potoků, převede je na rastr a odečte hloubku z "
-"výstupního DMT."
+msgid "Generates stream channels. Takes vector stream data, transforms it to raster and subtracts depth from the output DEM."
+msgstr "Vezme vektorová data potoků, převede je na rastr a odečte hloubku z výstupního DMT."
 
 #: ../gui/wxpython/menustrings.py:390 ../gui/wxpython/menustrings.py:1297
 msgid "Fill lake"
@@ -11630,12 +11033,8 @@ msgstr "Model terénu bez depresí a mapa odtoku "
 
 #: ../gui/wxpython/menustrings.py:393 ../gui/wxpython/menustrings.py:1300
 #, fuzzy
-msgid ""
-"Filters and generates a depressionless elevation map and a flow direction "
-"map from a given elevation raster map."
-msgstr ""
-"Z rastrové mapy digitálního modelu terénu odstraní uměle vytvořené sníženiny "
-"a vytvoří mapu směru odtoku."
+msgid "Filters and generates a depressionless elevation map and a flow direction map from a given elevation raster map."
+msgstr "Z rastrové mapy digitálního modelu terénu odstraní uměle vytvořené sníženiny a vytvoří mapu směru odtoku."
 
 #: ../gui/wxpython/menustrings.py:394 ../gui/wxpython/menustrings.py:1301
 msgid "Flow accumulation"
@@ -11652,12 +11051,8 @@ msgstr "Linie toku"
 
 #: ../gui/wxpython/menustrings.py:397 ../gui/wxpython/menustrings.py:1304
 #, fuzzy
-msgid ""
-"Constructs flowlines. Computes flowlines, flowpath lengths, and "
-"flowaccumulation (contributing areas) from a elevation raster map."
-msgstr ""
-"Konstrukce svahových křivek (drah odtoku), délek odtoku a hustoty odtoku (do "
-"svahu) z rastrové mapy elevace (DMT)"
+msgid "Constructs flowlines. Computes flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a elevation raster map."
+msgstr "Konstrukce svahových křivek (drah odtoku), délek odtoku a hustoty odtoku (do svahu) z rastrové mapy elevace (DMT)"
 
 #: ../gui/wxpython/menustrings.py:398 ../gui/wxpython/menustrings.py:1305
 msgid "Watershed analysis"
@@ -11700,9 +11095,7 @@ msgstr "Modelování povrchového odtoku SIMWE"
 #: ../gui/wxpython/menustrings.py:407 ../gui/wxpython/menustrings.py:1314
 #, fuzzy
 msgid "Overland flow hydrologic simulation using path sampling method (SIMWE)."
-msgstr ""
-"Hydrologický model povrchového odtoku s použitím metody vzorkování cesty "
-"(SIMWE)"
+msgstr "Hydrologický model povrchového odtoku s použitím metody vzorkování cesty (SIMWE)"
 
 #: ../gui/wxpython/menustrings.py:408 ../gui/wxpython/menustrings.py:1315
 msgid "SIMWE Sediment flux modeling"
@@ -11710,12 +11103,8 @@ msgstr "Modelování toku sedimentů SIMWE"
 
 #: ../gui/wxpython/menustrings.py:409 ../gui/wxpython/menustrings.py:1316
 #, fuzzy
-msgid ""
-"Sediment transport and erosion/deposition simulation using path sampling "
-"method (SIMWE)."
-msgstr ""
-"Simulace transportu sedimentů a eroze/usazování za použití metody vzorkování "
-"cesty (SIMWE)"
+msgid "Sediment transport and erosion/deposition simulation using path sampling method (SIMWE)."
+msgstr "Simulace transportu sedimentů a eroze/usazování za použití metody vzorkování cesty (SIMWE)"
 
 #: ../gui/wxpython/menustrings.py:410 ../gui/wxpython/menustrings.py:1317
 msgid "Topographic index map"
@@ -11723,12 +11112,8 @@ msgstr "Mapa s topografickým indexem"
 
 #: ../gui/wxpython/menustrings.py:411 ../gui/wxpython/menustrings.py:1318
 #, fuzzy
-msgid ""
-"Creates a topographic index (wetness index) raster map from an elevation "
-"raster map."
-msgstr ""
-"Vytvoří mapu topografického indexu, [ln(a/tan(beta))], z rastrové mapy "
-"digitálního modelu terénu."
+msgid "Creates a topographic index (wetness index) raster map from an elevation raster map."
+msgstr "Vytvoří mapu topografického indexu, [ln(a/tan(beta))], z rastrové mapy digitálního modelu terénu."
 
 #: ../gui/wxpython/menustrings.py:412 ../gui/wxpython/menustrings.py:1319
 msgid "TOPMODEL simulation"
@@ -11764,21 +11149,15 @@ msgid "Groundwater flow"
 msgstr "Proudění podzemní vody"
 
 #: ../gui/wxpython/menustrings.py:420 ../gui/wxpython/menustrings.py:1327
-msgid ""
-"Numerical calculation program for transient, confined and unconfined "
-"groundwater flow in two dimensions."
-msgstr ""
-"Numerický výpočetní program pro dvourozměrné transientní proudění podzemní "
-"vody s napjatou nebo volnou hladinou."
+msgid "Numerical calculation program for transient, confined and unconfined groundwater flow in two dimensions."
+msgstr "Numerický výpočetní program pro dvourozměrné transientní proudění podzemní vody s napjatou nebo volnou hladinou."
 
 #: ../gui/wxpython/menustrings.py:421 ../gui/wxpython/menustrings.py:1328
 msgid "Groundwater solute transport"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:422 ../gui/wxpython/menustrings.py:1329
-msgid ""
-"Numerical calculation program for transient, confined and unconfined solute "
-"transport in two dimensions"
+msgid "Numerical calculation program for transient, confined and unconfined solute transport in two dimensions"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:423 ../gui/wxpython/menustrings.py:1330
@@ -11798,8 +11177,7 @@ msgid "Edge density"
 msgstr "Hustota hran"
 
 #: ../gui/wxpython/menustrings.py:427 ../gui/wxpython/menustrings.py:1334
-msgid ""
-"Calculates edge density index on a raster map, using a 4 neighbour algorithm"
+msgid "Calculates edge density index on a raster map, using a 4 neighbour algorithm"
 msgstr "Počítá index hustoty hran rastrové mapy za použití algoritmu 4 sousedů"
 
 #: ../gui/wxpython/menustrings.py:428 ../gui/wxpython/menustrings.py:1335
@@ -11815,12 +11193,8 @@ msgid "Patch area mean"
 msgstr "Průměrná velikost plošky"
 
 #: ../gui/wxpython/menustrings.py:431 ../gui/wxpython/menustrings.py:1338
-msgid ""
-"Calculates mean patch size index on a raster map, using a 4 neighbour "
-"algorithm"
-msgstr ""
-"Počítá průměrný index velikosti plošek rastrové mapy za použití algoritmu 4 "
-"sousedů."
+msgid "Calculates mean patch size index on a raster map, using a 4 neighbour algorithm"
+msgstr "Počítá průměrný index velikosti plošek rastrové mapy za použití algoritmu 4 sousedů."
 
 #: ../gui/wxpython/menustrings.py:432 ../gui/wxpython/menustrings.py:1339
 msgid "Patch area range"
@@ -11851,20 +11225,16 @@ msgid "Patch density"
 msgstr "Hustota plošek"
 
 #: ../gui/wxpython/menustrings.py:439 ../gui/wxpython/menustrings.py:1346
-msgid ""
-"Calculates patch density index on a raster map, using a 4 neighbour algorithm"
-msgstr ""
-"Počítá index hustoty plošek na rastrové mapě za použití algoritmu 4 sousedů"
+msgid "Calculates patch density index on a raster map, using a 4 neighbour algorithm"
+msgstr "Počítá index hustoty plošek na rastrové mapě za použití algoritmu 4 sousedů"
 
 #: ../gui/wxpython/menustrings.py:440 ../gui/wxpython/menustrings.py:1347
 msgid "Patch number"
 msgstr "Číslo plošky"
 
 #: ../gui/wxpython/menustrings.py:441 ../gui/wxpython/menustrings.py:1348
-msgid ""
-"Calculates patch number index on a raster map, using a 4 neighbour algorithm."
-msgstr ""
-"Počítá index počtu plošek na rastrové mapě za použití algoritmu 4 sousedů."
+msgid "Calculates patch number index on a raster map, using a 4 neighbour algorithm."
+msgstr "Počítá index počtu plošek na rastrové mapě za použití algoritmu 4 sousedů."
 
 #: ../gui/wxpython/menustrings.py:442 ../gui/wxpython/menustrings.py:1349
 msgid "Dominance's diversity"
@@ -11917,27 +11287,16 @@ msgstr "Rychlost šíření"
 
 #: ../gui/wxpython/menustrings.py:454 ../gui/wxpython/menustrings.py:1361
 #, fuzzy
-msgid ""
-"Generates rate of spread raster maps. Generates three, or four raster map "
-"layers showing the base (perpendicular) rate of spread (ROS), the maximum "
-"(forward) ROS, the direction of the maximum ROS, and optionally the maximum "
-"potential spotting distance for fire spread simulation."
-msgstr ""
-"Vytvoří 3 nebo 4 rastrové mapy, kde: 1. - základní (kolmé) tempo šíření "
-"(ROS), 2. - maximální tempo (vpřed) ROS, 3. - směr maximálního ROS, a "
-"volitelně, 4. - maximální potenciální vzdálenost, na kterou se může přenést "
-"požár jiskrami."
+msgid "Generates rate of spread raster maps. Generates three, or four raster map layers showing the base (perpendicular) rate of spread (ROS), the maximum (forward) ROS, the direction of the maximum ROS, and optionally the maximum potential spotting distance for fire spread simulation."
+msgstr "Vytvoří 3 nebo 4 rastrové mapy, kde: 1. - základní (kolmé) tempo šíření (ROS), 2. - maximální tempo (vpřed) ROS, 3. - směr maximálního ROS, a volitelně, 4. - maximální potenciální vzdálenost, na kterou se může přenést požár jiskrami."
 
 #: ../gui/wxpython/menustrings.py:455 ../gui/wxpython/menustrings.py:1362
 msgid "Least-cost spread paths"
 msgstr "Vytvořit trasy s nejmenším odporem šíření"
 
 #: ../gui/wxpython/menustrings.py:456 ../gui/wxpython/menustrings.py:1363
-msgid ""
-"Recursively traces the least cost path backwards to cells from which the "
-"cumulative cost was determined."
-msgstr ""
-"Sleduje cestu zpět až do místa, odkud započal výpočet kumulativních nákladů."
+msgid "Recursively traces the least cost path backwards to cells from which the cumulative cost was determined."
+msgstr "Sleduje cestu zpět až do místa, odkud započal výpočet kumulativních nákladů."
 
 #: ../gui/wxpython/menustrings.py:457 ../gui/wxpython/menustrings.py:1364
 msgid "Anisotropic spread simulation"
@@ -11945,16 +11304,8 @@ msgstr "Simulace anisotropicého jevu šíření"
 
 #: ../gui/wxpython/menustrings.py:458 ../gui/wxpython/menustrings.py:1365
 #, fuzzy
-msgid ""
-"Simulates elliptically anisotropic spread. Generates a raster map of the "
-"cumulative time of spread, given raster maps containing the rates of spread "
-"(ROS), the ROS directions and the spread origins. It optionally produces "
-"raster maps to contain backlink UTM coordinates for tracing spread paths. "
-"Usable for fire spread simulations."
-msgstr ""
-"Simuluje eliticky anisotropické šíření ohně v grafickém okně a vytvoří "
-"rastrovou mapu kumulativního času šíření, Daná rastrová mapa obsahuje "
-"rychlost šíření (ROS), směr šíření a zdroj šíření."
+msgid "Simulates elliptically anisotropic spread. Generates a raster map of the cumulative time of spread, given raster maps containing the rates of spread (ROS), the ROS directions and the spread origins. It optionally produces raster maps to contain backlink UTM coordinates for tracing spread paths. Usable for fire spread simulations."
+msgstr "Simuluje eliticky anisotropické šíření ohně v grafickém okně a vytvoří rastrovou mapu kumulativního času šíření, Daná rastrová mapa obsahuje rychlost šíření (ROS), směr šíření a zdroj šíření."
 
 #: ../gui/wxpython/menustrings.py:459 ../gui/wxpython/menustrings.py:1366
 msgid "Change category values and labels"
@@ -11967,12 +11318,8 @@ msgstr "Upravit informace o kategoriích"
 
 #: ../gui/wxpython/menustrings.py:461 ../gui/wxpython/menustrings.py:513
 #: ../gui/wxpython/menustrings.py:1368 ../gui/wxpython/menustrings.py:1420
-msgid ""
-"Manages category values and labels associated with user-specified raster map "
-"layers."
-msgstr ""
-"Spravuje hodnoty kategorií a štítky spojené s uživatelem zadanou rastrovou "
-"vrstvou."
+msgid "Manages category values and labels associated with user-specified raster map layers."
+msgstr "Spravuje hodnoty kategorií a štítky spojené s uživatelem zadanou rastrovou vrstvou."
 
 #: ../gui/wxpython/menustrings.py:462 ../gui/wxpython/menustrings.py:1369
 msgid "Interactively edit category values"
@@ -11988,12 +11335,8 @@ msgid "Reclassify by size"
 msgstr "Reklasifikovat podle velikosti"
 
 #: ../gui/wxpython/menustrings.py:465 ../gui/wxpython/menustrings.py:1372
-msgid ""
-"Reclasses a raster map greater or less than user specified area size (in "
-"hectares)."
-msgstr ""
-"Reklasifikuje rastrovou mapu na větší nebo menší než uživatelem zadané "
-"hraniční velikosti ploch (v hektarech)."
+msgid "Reclasses a raster map greater or less than user specified area size (in hectares)."
+msgstr "Reklasifikuje rastrovou mapu na větší nebo menší než uživatelem zadané hraniční velikosti ploch (v hektarech)."
 
 #: ../gui/wxpython/menustrings.py:466 ../gui/wxpython/menustrings.py:672
 #: ../gui/wxpython/menustrings.py:1373 ../gui/wxpython/menustrings.py:1579
@@ -12002,13 +11345,8 @@ msgstr "Reklasifikovat"
 
 #: ../gui/wxpython/menustrings.py:467 ../gui/wxpython/menustrings.py:1374
 #, fuzzy
-msgid ""
-"Reclassify raster map based on category values. Creates a new raster map "
-"whose category values are based upon a reclassification of the categories in "
-"an existing raster map."
-msgstr ""
-"Vytvoří novou mapovou vrstvu jejíž hodnoty budou založeny na reklasifikaci "
-"hodnot výchozí rastrové mapy."
+msgid "Reclassify raster map based on category values. Creates a new raster map whose category values are based upon a reclassification of the categories in an existing raster map."
+msgstr "Vytvoří novou mapovou vrstvu jejíž hodnoty budou založeny na reklasifikaci hodnot výchozí rastrové mapy."
 
 #: ../gui/wxpython/menustrings.py:468 ../gui/wxpython/menustrings.py:1375
 msgid "Recode"
@@ -12031,11 +11369,8 @@ msgid "Rescale with histogram"
 msgstr "Změnit měřítko s histogramem"
 
 #: ../gui/wxpython/menustrings.py:473 ../gui/wxpython/menustrings.py:1380
-msgid ""
-"Rescales histogram equalized the range of category values in a raster map "
-"layer."
-msgstr ""
-"Změní kategorie histogramu rastrové mapy podle rozsahu hodnot kategorií."
+msgid "Rescales histogram equalized the range of category values in a raster map layer."
+msgstr "Změní kategorie histogramu rastrové mapy podle rozsahu hodnot kategorií."
 
 #: ../gui/wxpython/menustrings.py:474 ../gui/wxpython/menustrings.py:1381
 msgid "Generate random cells"
@@ -12054,12 +11389,8 @@ msgid "Random cells and vector points"
 msgstr "Vytvořit rastrovou vrstvu a vektorové body s náhodnými hodnotami"
 
 #: ../gui/wxpython/menustrings.py:478 ../gui/wxpython/menustrings.py:1385
-msgid ""
-"Creates a raster map layer and vector point map containing randomly located "
-"points."
-msgstr ""
-"Vytvoří rastrovou vrstvu a bodovou vektorovou vrstvu obsahující náhodně "
-"rozmístěné body."
+msgid "Creates a raster map layer and vector point map containing randomly located points."
+msgstr "Vytvoří rastrovou vrstvu a bodovou vektorovou vrstvu obsahující náhodně rozmístěné body."
 
 #: ../gui/wxpython/menustrings.py:479 ../gui/wxpython/menustrings.py:1386
 msgid "Generate surfaces"
@@ -12079,14 +11410,8 @@ msgstr "Vytvoř povrch Gaussových odchylek"
 
 #: ../gui/wxpython/menustrings.py:483 ../gui/wxpython/menustrings.py:1390
 #, fuzzy
-msgid ""
-"Generates a raster density map from vector points map. Density is computed "
-"using a moving kernel. Optionally generates a vector density map on a vector "
-"network."
-msgstr ""
-"Vytváří rastrovou mapu hustoty z vektorového bodového souboru tak, že "
-"pohybuje 2D isotropické Gaussiánské jádro nebo volitelně generuje vektorovou "
-"mapu hustoty na vektorové síti s 1D jádrem."
+msgid "Generates a raster density map from vector points map. Density is computed using a moving kernel. Optionally generates a vector density map on a vector network."
+msgstr "Vytváří rastrovou mapu hustoty z vektorového bodového souboru tak, že pohybuje 2D isotropické Gaussiánské jádro nebo volitelně generuje vektorovou mapu hustoty na vektorové síti s 1D jádrem."
 
 #: ../gui/wxpython/menustrings.py:484 ../gui/wxpython/menustrings.py:1391
 msgid "Gaussian deviates surface"
@@ -12094,18 +11419,12 @@ msgstr "Vytvoř povrch Gaussových odchylek"
 
 #: ../gui/wxpython/menustrings.py:485 ../gui/wxpython/menustrings.py:1392
 #, fuzzy
-msgid ""
-"Generates a raster map using gaussian random number generator. Mean and "
-"standard deviation of gaussian deviates can be expressed by the user."
+msgid "Generates a raster map using gaussian random number generator. Mean and standard deviation of gaussian deviates can be expressed by the user."
 msgstr "Vytvoří rastrovou mapu vzdáleností k prvkům ve vstupní mapě."
 
 #: ../gui/wxpython/menustrings.py:487 ../gui/wxpython/menustrings.py:1394
-msgid ""
-"Creates raster plane map given dip (inclination), aspect (azimuth) and one "
-"point."
-msgstr ""
-"Vytvoří rastrovou mapu plochy při zadání ponoru (sklonu), expozice (azimut) "
-"a jednoho bodu."
+msgid "Creates raster plane map given dip (inclination), aspect (azimuth) and one point."
+msgstr "Vytvoří rastrovou mapu plochy při zadání ponoru (sklonu), expozice (azimut) a jednoho bodu."
 
 #: ../gui/wxpython/menustrings.py:488 ../gui/wxpython/menustrings.py:1395
 msgid "Random deviates surface"
@@ -12113,11 +11432,8 @@ msgstr "Vytvoř náhodný povrch"
 
 #: ../gui/wxpython/menustrings.py:489 ../gui/wxpython/menustrings.py:1396
 #, fuzzy
-msgid ""
-"Produces a raster surface map of uniform random deviates with defined range."
-msgstr ""
-"Vytvoří rastrovou mapu uniformních náhodných odchylek, jejichž rozsah může "
-"být zadán uživatelem."
+msgid "Produces a raster surface map of uniform random deviates with defined range."
+msgstr "Vytvoří rastrovou mapu uniformních náhodných odchylek, jejichž rozsah může být zadán uživatelem."
 
 #: ../gui/wxpython/menustrings.py:490 ../gui/wxpython/menustrings.py:1397
 msgid "Random surface with spatial dependence"
@@ -12137,9 +11453,7 @@ msgstr "Bilineární a bikubická interpolace z vektorových bodů"
 
 #: ../gui/wxpython/menustrings.py:494 ../gui/wxpython/menustrings.py:1401
 #, fuzzy
-msgid ""
-"Performs bicubic or bilinear spline interpolation with Tykhonov "
-"regularization."
+msgid "Performs bicubic or bilinear spline interpolation with Tykhonov regularization."
 msgstr "Bikubická nebo bilineární interpolace s Tykhonovou regularizací"
 
 #: ../gui/wxpython/menustrings.py:495 ../gui/wxpython/menustrings.py:1402
@@ -12148,12 +11462,8 @@ msgstr "Interpolace IDW z rastrových bodů"
 
 #: ../gui/wxpython/menustrings.py:496 ../gui/wxpython/menustrings.py:1403
 #, fuzzy
-msgid ""
-"Provides surface interpolation from raster point data by Inverse Distance "
-"Squared Weighting."
-msgstr ""
-"Interpolace povrchu z vektorových bodových dat na základě metody Inverse "
-"Distance Squared Weighting (IDW)."
+msgid "Provides surface interpolation from raster point data by Inverse Distance Squared Weighting."
+msgstr "Interpolace povrchu z vektorových bodových dat na základě metody Inverse Distance Squared Weighting (IDW)."
 
 #: ../gui/wxpython/menustrings.py:497 ../gui/wxpython/menustrings.py:1404
 msgid "IDW from vector points"
@@ -12161,12 +11471,8 @@ msgstr "Interpolace IDW z vektorových bodů"
 
 #: ../gui/wxpython/menustrings.py:498 ../gui/wxpython/menustrings.py:1405
 #, fuzzy
-msgid ""
-"Provides surface interpolation from vector point data by Inverse Distance "
-"Squared Weighting."
-msgstr ""
-"Interpolace povrchu z vektorových bodových dat na základě metody Inverse "
-"Distance Squared Weighting (IDW)."
+msgid "Provides surface interpolation from vector point data by Inverse Distance Squared Weighting."
+msgstr "Interpolace povrchu z vektorových bodových dat na základě metody Inverse Distance Squared Weighting (IDW)."
 
 #: ../gui/wxpython/menustrings.py:499 ../gui/wxpython/menustrings.py:1406
 msgid "Raster contours"
@@ -12183,15 +11489,8 @@ msgstr "Interpolace pomocí RST (regularized spline tension)"
 
 #: ../gui/wxpython/menustrings.py:502 ../gui/wxpython/menustrings.py:1409
 #, fuzzy
-msgid ""
-"Performs surface interpolation from vector points map by splines. Spatial "
-"approximation and topographic analysis from given point or isoline data in "
-"vector format to floating point raster format using regularized spline with "
-"tension."
-msgstr ""
-"Prostorová aproximace a topografická analýza ze zadaného bodu nebo isolinie "
-"ve vektorovém formátu pro vytvoření rastrové vrtsvy s desetinnou čárkou za "
-"použití interpolace RST (regularized spline with tension)."
+msgid "Performs surface interpolation from vector points map by splines. Spatial approximation and topographic analysis from given point or isoline data in vector format to floating point raster format using regularized spline with tension."
+msgstr "Prostorová aproximace a topografická analýza ze zadaného bodu nebo isolinie ve vektorovém formátu pro vytvoření rastrové vrtsvy s desetinnou čárkou za použití interpolace RST (regularized spline with tension)."
 
 #: ../gui/wxpython/menustrings.py:503 ../gui/wxpython/menustrings.py:1410
 #, fuzzy
@@ -12199,9 +11498,7 @@ msgid "Raster series interpolation"
 msgstr "Lineární regrese"
 
 #: ../gui/wxpython/menustrings.py:504 ../gui/wxpython/menustrings.py:1411
-msgid ""
-"Interpolates raster maps located (temporal or spatial) in between input "
-"raster maps at specific sampling positions."
+msgid "Interpolates raster maps located (temporal or spatial) in between input raster maps at specific sampling positions."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:505 ../gui/wxpython/menustrings.py:1412
@@ -12219,9 +11516,7 @@ msgstr "Vyplnit NULLové buňky"
 #: ../gui/wxpython/menustrings.py:508 ../gui/wxpython/menustrings.py:1415
 #, fuzzy
 msgid "Fills no-data areas in raster maps using spline interpolation."
-msgstr ""
-"V rastrových mapách vyplní plochy s prázdnými hodnotami za použití v.surf."
-"rst spline interpolace"
+msgstr "V rastrových mapách vyplní plochy s prázdnými hodnotami za použití v.surf.rst spline interpolace"
 
 #: ../gui/wxpython/menustrings.py:509 ../gui/wxpython/menustrings.py:711
 #: ../gui/wxpython/menustrings.py:821 ../gui/wxpython/menustrings.py:989
@@ -12235,18 +11530,16 @@ msgid "Basic raster metadata"
 msgstr "Základní  výpis metadat rastrové mapy"
 
 #: ../gui/wxpython/menustrings.py:511 ../gui/wxpython/menustrings.py:1418
-#, fuzzy
 msgid "Outputs basic information about a raster map."
-msgstr "Vypíše základní informace o uživatelem vybrané rastrové vrstvě."
+msgstr "Vypíše základní informace o rastrové vrstvě."
 
 #: ../gui/wxpython/menustrings.py:514 ../gui/wxpython/menustrings.py:1421
 msgid "General statistics"
 msgstr "Obecné statistiky"
 
 #: ../gui/wxpython/menustrings.py:515 ../gui/wxpython/menustrings.py:1422
-#, fuzzy
 msgid "Generates area statistics for raster map."
-msgstr "Vytvoří statistiku ploch pro rastrové vrstvy."
+msgstr "Vytvoří statistiku ploch pro rastrovou vrstvu."
 
 #: ../gui/wxpython/menustrings.py:516 ../gui/wxpython/menustrings.py:1423
 msgid "Quantiles for large data sets"
@@ -12262,15 +11555,13 @@ msgstr "Rozsah hodnot kategorii"
 
 #: ../gui/wxpython/menustrings.py:519 ../gui/wxpython/menustrings.py:1426
 msgid "Prints terse list of category values found in a raster map layer."
-msgstr ""
-"Vytiskne pouze stručný seznam hodnot kategorií, nalezených v rastrové mapě."
+msgstr "Vytiskne pouze stručný seznam hodnot kategorií, nalezených v rastrové mapě."
 
 #: ../gui/wxpython/menustrings.py:520 ../gui/wxpython/menustrings.py:1427
 msgid "Sum area by raster map and category"
 msgstr "Výpis ploch v rastrové mapě podle kategorií"
 
 #: ../gui/wxpython/menustrings.py:521 ../gui/wxpython/menustrings.py:1428
-#, fuzzy
 msgid "Reports statistics for raster maps."
 msgstr "Vypíše statistiky pro rastrové vrstvy."
 
@@ -12280,12 +11571,8 @@ msgstr "Souhrnná statistika spojených buněk (po použití r.clump)"
 
 #: ../gui/wxpython/menustrings.py:523 ../gui/wxpython/menustrings.py:1430
 #, fuzzy
-msgid ""
-"Calculates the volume of data \"clumps\". Optionally produces a GRASS vector "
-"points map containing the calculated centroids of these clumps."
-msgstr ""
-"Spočítá objem spojitých oblastí a (volitelně) vytvoří bodovou vektorovou "
-"mapu obsahující spočítané centroidy těchto spojitých oblastí."
+msgid "Calculates the volume of data \"clumps\". Optionally produces a GRASS vector points map containing the calculated centroids of these clumps."
+msgstr "Spočítá objem spojitých oblastí a (volitelně) vytvoří bodovou vektorovou mapu obsahující spočítané centroidy těchto spojitých oblastí."
 
 #: ../gui/wxpython/menustrings.py:524 ../gui/wxpython/menustrings.py:1431
 msgid "Total corrected area"
@@ -12297,11 +11584,7 @@ msgid "Prints estimation of surface area for raster map."
 msgstr "Počítá standardní odchylku plošek rastrové mapy"
 
 #: ../gui/wxpython/menustrings.py:527 ../gui/wxpython/menustrings.py:1434
-msgid ""
-"Calculates univariate statistics from the non-null cells of a raster map. "
-"Statistics include number of cells counted, minimum and maximum cell values, "
-"range, arithmetic mean, population variance, standard deviation, coefficient "
-"of variation, and sum."
+msgid "Calculates univariate statistics from the non-null cells of a raster map. Statistics include number of cells counted, minimum and maximum cell values, range, arithmetic mean, population variance, standard deviation, coefficient of variation, and sum."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:528 ../gui/wxpython/menustrings.py:1435
@@ -12310,62 +11593,47 @@ msgstr "Vzorové body profilu"
 
 #: ../gui/wxpython/menustrings.py:529 ../gui/wxpython/menustrings.py:1436
 msgid "Outputs the raster map layer values lying on user-defined line(s)."
-msgstr ""
-"Vytvoří rastrovou mapu hodnot, ležících na uživatelem definovaných liniích."
+msgstr "Vytvoří rastrovou mapu hodnot, ležících na uživatelem definovaných liniích."
 
 #: ../gui/wxpython/menustrings.py:530 ../gui/wxpython/menustrings.py:1437
 msgid "Sample transects (bearing/distance)"
 msgstr "Kontrolní hodnoty profilu (použít azimut/vzdálenost)"
 
 #: ../gui/wxpython/menustrings.py:531 ../gui/wxpython/menustrings.py:1438
-msgid ""
-"Outputs raster map layer values lying along user defined transect line(s)."
-msgstr ""
-"Vytvoří rastrovou mapu, jejíž hodnoty leží na uživatelem definovaném "
-"transektu."
+msgid "Outputs raster map layer values lying along user defined transect line(s)."
+msgstr "Vytvoří rastrovou mapu, jejíž hodnoty leží na uživatelem definovaném transektu."
 
 #: ../gui/wxpython/menustrings.py:532 ../gui/wxpython/menustrings.py:1439
 msgid "Covariance/correlation"
 msgstr "Kovariance/korelace"
 
 #: ../gui/wxpython/menustrings.py:533 ../gui/wxpython/menustrings.py:1440
-msgid ""
-"Outputs a covariance/correlation matrix for user-specified raster map "
-"layer(s)."
-msgstr ""
-"Vytvoří kovarianční/korelační matici pro uživatelem zadanou rastrovou "
-"mapu(y)."
+msgid "Outputs a covariance/correlation matrix for user-specified raster map layer(s)."
+msgstr "Vytvoří kovarianční/korelační matici pro uživatelem zadanou rastrovou mapu(y)."
 
 #: ../gui/wxpython/menustrings.py:534 ../gui/wxpython/menustrings.py:1441
 msgid "Linear regression"
 msgstr "Lineární regrese"
 
 #: ../gui/wxpython/menustrings.py:535 ../gui/wxpython/menustrings.py:1442
-#, fuzzy
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
-msgstr "Počítá lineární regresi pro dvě rastrové mapy: y = a + b*x"
+msgstr "Vypočítá lineární regresi pro dvě rastrové vrstvy: y = a + b*x"
 
 #: ../gui/wxpython/menustrings.py:536 ../gui/wxpython/menustrings.py:1443
-#, fuzzy
 msgid "Multiple regression"
-msgstr "Lineární regrese"
+msgstr "Vícenásobná regrese"
 
 #: ../gui/wxpython/menustrings.py:537 ../gui/wxpython/menustrings.py:1444
-#, fuzzy
 msgid "Calculates multiple linear regression from raster maps."
-msgstr "Počítá lineární regresi pro dvě rastrové mapy: y = a + b*x"
+msgstr "Vypočítá vícenásobnou lineární regresi pro rastrové vrstvy."
 
 #: ../gui/wxpython/menustrings.py:538 ../gui/wxpython/menustrings.py:1445
 msgid "Mutual category occurrences"
 msgstr "Společný výskyt kategorie (koincidence)"
 
 #: ../gui/wxpython/menustrings.py:539 ../gui/wxpython/menustrings.py:1446
-msgid ""
-"Tabulates the mutual occurrence (coincidence) of categories for two raster "
-"map layers."
-msgstr ""
-"Vytvoří tabulku mutualoccurrence (koincidence) kategorií pro dvě rastrové "
-"mapy."
+msgid "Tabulates the mutual occurrence (coincidence) of categories for two raster map layers."
+msgstr "Vytvoří tabulku mutualoccurrence (koincidence) kategorií pro dvě rastrové mapy."
 
 #: ../gui/wxpython/menustrings.py:540 ../gui/wxpython/menustrings.py:1447
 msgid "&Vector"
@@ -12390,21 +11658,16 @@ msgid "Edit vector map (non-interactively)"
 msgstr "Editovat vektorovou vrstvu (NEinteraktivně) "
 
 #: ../gui/wxpython/menustrings.py:545 ../gui/wxpython/menustrings.py:1452
-msgid ""
-"Edits a vector map, allows adding, deleting and modifying selected vector "
-"features."
-msgstr ""
-"Edituje vektorovou mapu, umožňuje přidání, mazání a modifikaci vektorových "
-"prvků."
+msgid "Edits a vector map, allows adding, deleting and modifying selected vector features."
+msgstr "Edituje vektorovou mapu, umožňuje přidání, mazání a modifikaci vektorových prvků."
 
 #: ../gui/wxpython/menustrings.py:546 ../gui/wxpython/menustrings.py:1453
 msgid "Convert object types"
 msgstr "Změnit typy vektorových prvků"
 
 #: ../gui/wxpython/menustrings.py:547 ../gui/wxpython/menustrings.py:1454
-#, fuzzy
 msgid "Changes type of vector features."
-msgstr "Vybrat vektorový prvek"
+msgstr "Změní typ vektorových prvků."
 
 #: ../gui/wxpython/menustrings.py:548 ../gui/wxpython/menustrings.py:1455
 msgid "Parallel lines"
@@ -12419,12 +11682,8 @@ msgid "Dissolve boundaries"
 msgstr "Rozloží společné hranice "
 
 #: ../gui/wxpython/menustrings.py:551 ../gui/wxpython/menustrings.py:1458
-msgid ""
-"Dissolves boundaries between adjacent areas sharing a common category number "
-"or attribute."
-msgstr ""
-"Rozloží hranice mezi sousedícími plochami, sdílejícími společné číslo "
-"kategorie nebo atribut."
+msgid "Dissolves boundaries between adjacent areas sharing a common category number or attribute."
+msgstr "Rozloží hranice mezi sousedícími plochami, sdílejícími společné číslo kategorie nebo atribut."
 
 #: ../gui/wxpython/menustrings.py:552 ../gui/wxpython/menustrings.py:1459
 msgid "Create 3D vector over raster"
@@ -12440,9 +11699,7 @@ msgid "Extrude 3D vector map"
 msgstr "Vytvořit 3D vektorovou mapu"
 
 #: ../gui/wxpython/menustrings.py:555 ../gui/wxpython/menustrings.py:1462
-msgid ""
-"Extrudes flat vector features to 3D vector features with defined height. "
-"Optionally the height can be derived from sampling of elevation raster map."
+msgid "Extrudes flat vector features to 3D vector features with defined height. Optionally the height can be derived from sampling of elevation raster map."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:556 ../gui/wxpython/menustrings.py:1463
@@ -12459,11 +11716,8 @@ msgstr "Transformace vektorové vrstvy"
 
 #: ../gui/wxpython/menustrings.py:559 ../gui/wxpython/menustrings.py:1466
 #, fuzzy
-msgid ""
-"Performs an affine transformation (shift, scale and rotate) on vector map."
-msgstr ""
-"Vykoná afinní transformaci ( posunutí, změna měřítka a otočení, nebo GPC) "
-"vektorové mapy."
+msgid "Performs an affine transformation (shift, scale and rotate) on vector map."
+msgstr "Vykoná afinní transformaci ( posunutí, změna měřítka a otočení, nebo GPC) vektorové mapy."
 
 #: ../gui/wxpython/menustrings.py:560 ../gui/wxpython/menustrings.py:1467
 #, fuzzy
@@ -12472,12 +11726,8 @@ msgstr "Vybrat vektorovou mapu"
 
 #: ../gui/wxpython/menustrings.py:561 ../gui/wxpython/menustrings.py:1468
 #, fuzzy
-msgid ""
-"Rectifies a vector by computing a coordinate transformation for each object "
-"in the vector based on the control points."
-msgstr ""
-"Rektifikuje obrazová data výpočtem transformace každého pixelu obrazu pomocí "
-"vlicovacích bodů (GCP)"
+msgid "Rectifies a vector by computing a coordinate transformation for each object in the vector based on the control points."
+msgstr "Rektifikuje obrazová data výpočtem transformace každého pixelu obrazu pomocí vlicovacích bodů (GCP)"
 
 #: ../gui/wxpython/menustrings.py:565 ../gui/wxpython/menustrings.py:1472
 msgid "Updates vector map metadata."
@@ -12492,12 +11742,8 @@ msgid "Create or rebuild topology"
 msgstr "Vytvořit nebo přebudovat topologii"
 
 #: ../gui/wxpython/menustrings.py:568 ../gui/wxpython/menustrings.py:1475
-msgid ""
-"Creates topology for vector map. Optionally also checks for topological "
-"errors."
-msgstr ""
-"Vytvoří topologii vektorové vrstvy. Volitelně také zkontroluje topologické "
-"chyby."
+msgid "Creates topology for vector map. Optionally also checks for topological errors."
+msgstr "Vytvoří topologii vektorové vrstvy. Volitelně také zkontroluje topologické chyby."
 
 #: ../gui/wxpython/menustrings.py:569 ../gui/wxpython/menustrings.py:1476
 msgid "Rebuild topology on all vector maps"
@@ -12602,22 +11848,16 @@ msgid "Select by attributes"
 msgstr "Vybrat podle atributů"
 
 #: ../gui/wxpython/menustrings.py:597 ../gui/wxpython/menustrings.py:1504
-msgid ""
-"Selects vector features from an existing vector map and creates a new vector "
-"map containing only the selected features."
-msgstr ""
-"Vybrere vektorové prvky z existující vektorové vrstvy a vytvoří novou vrstvu "
-"obsahující jenom vybrané prvky."
+msgid "Selects vector features from an existing vector map and creates a new vector map containing only the selected features."
+msgstr "Vybrere vektorové prvky z existující vektorové vrstvy a vytvoří novou vrstvu obsahující jenom vybrané prvky."
 
 #: ../gui/wxpython/menustrings.py:598 ../gui/wxpython/menustrings.py:1505
 msgid "Select by another map"
 msgstr "Vybrat podle jiné vrstvy"
 
 #: ../gui/wxpython/menustrings.py:599 ../gui/wxpython/menustrings.py:1506
-msgid ""
-"Selects features from vector map (A) by features from other vector map (B)."
-msgstr ""
-"Vybere prvky z vektorové vrstvy (A) podle prvků z druhé vektorové vrstvy (B)"
+msgid "Selects features from vector map (A) by features from other vector map (B)."
+msgstr "Vybere prvky z vektorové vrstvy (A) podle prvků z druhé vektorové vrstvy (B)"
 
 #: ../gui/wxpython/menustrings.py:607 ../gui/wxpython/menustrings.py:1514
 msgid "Buffer vectors"
@@ -12653,12 +11893,8 @@ msgid "Detect interiors"
 msgstr "Detekovat vnitřní plochy"
 
 #: ../gui/wxpython/menustrings.py:615 ../gui/wxpython/menustrings.py:1522
-msgid ""
-"Building contour determination and Region Growing algorithm for determining "
-"the building inside"
-msgstr ""
-"Hledání linií a algoritmus růstu regionu (Region Growing) pro nalezení "
-"vnitřků budov"
+msgid "Building contour determination and Region Growing algorithm for determining the building inside"
+msgstr "Hledání linií a algoritmus růstu regionu (Region Growing) pro nalezení vnitřků budov"
 
 #: ../gui/wxpython/menustrings.py:616 ../gui/wxpython/menustrings.py:1523
 msgid "Correct and reclassify objects"
@@ -12666,12 +11902,8 @@ msgstr "Spravit a reklasifikovat prvky"
 
 #: ../gui/wxpython/menustrings.py:617 ../gui/wxpython/menustrings.py:1524
 #, fuzzy
-msgid ""
-"Corrects the v.lidar.growing output. It is the last of the three algorithms "
-"for LIDAR filtering."
-msgstr ""
-"Výstup korekce v.lidar.growing. Jedná se o poslední ze tří algoritmů LIDAR "
-"filtrace"
+msgid "Corrects the v.lidar.growing output. It is the last of the three algorithms for LIDAR filtering."
+msgstr "Výstup korekce v.lidar.growing. Jedná se o poslední ze tří algoritmů LIDAR filtrace"
 
 #: ../gui/wxpython/menustrings.py:618 ../gui/wxpython/menustrings.py:1525
 msgid "Linear referencing"
@@ -12700,36 +11932,24 @@ msgid "Create points/segments"
 msgstr "Vytvořit body/segmenty"
 
 #: ../gui/wxpython/menustrings.py:624 ../gui/wxpython/menustrings.py:1531
-msgid ""
-"Creates points/segments from input lines, linear reference system and "
-"positions read from stdin or a file."
-msgstr ""
-"Vytvoří body/segmenty ze vstupních linií, lineární referenční systém a "
-"umístění jsou čteny ze standardního vstupu nebo souboru."
+msgid "Creates points/segments from input lines, linear reference system and positions read from stdin or a file."
+msgstr "Vytvoří body/segmenty ze vstupních linií, lineární referenční systém a umístění jsou čteny ze standardního vstupu nebo souboru."
 
 #: ../gui/wxpython/menustrings.py:625 ../gui/wxpython/menustrings.py:1532
 msgid "Find line id and offset"
 msgstr "Nalézt ID linie a odchylku"
 
 #: ../gui/wxpython/menustrings.py:626 ../gui/wxpython/menustrings.py:1533
-msgid ""
-"Finds line id and real km+offset for given points in vector map using linear "
-"reference system."
-msgstr ""
-"Nalezne id linie a skutečnou délku + odchylku pro dané body ve vektorové "
-"mapě používající lineární referenční systém."
+msgid "Finds line id and real km+offset for given points in vector map using linear reference system."
+msgstr "Nalezne id linie a skutečnou délku + odchylku pro dané body ve vektorové mapě používající lineární referenční systém."
 
 #: ../gui/wxpython/menustrings.py:627 ../gui/wxpython/menustrings.py:1534
 msgid "Nearest features"
 msgstr "Nejbližší prvky"
 
 #: ../gui/wxpython/menustrings.py:628 ../gui/wxpython/menustrings.py:1535
-msgid ""
-"Finds the nearest element in vector map 'to' for elements in vector map "
-"'from'."
-msgstr ""
-"Hledá nejbližší prvek ve vektorové vrstvě 'do_mapy' pro prvky ve vektorové "
-"vrstvě 'z_mapy'"
+msgid "Finds the nearest element in vector map 'to' for elements in vector map 'from'."
+msgstr "Hledá nejbližší prvek ve vektorové vrstvě 'do_mapy' pro prvky ve vektorové vrstvě 'z_mapy'"
 
 #: ../gui/wxpython/menustrings.py:629 ../gui/wxpython/menustrings.py:1536
 msgid "Network analysis"
@@ -12737,12 +11957,11 @@ msgstr "Síťová analýza"
 
 #: ../gui/wxpython/menustrings.py:631 ../gui/wxpython/menustrings.py:1538
 msgid "Tool for interactive vector network analysis."
-msgstr ""
+msgstr "Nástroj pro interaktivní analýzu vektorové sítě."
 
 #: ../gui/wxpython/menustrings.py:632 ../gui/wxpython/menustrings.py:1539
-#, fuzzy
 msgid "Network preparation"
-msgstr "Síťová analýza"
+msgstr "Příprava sítě"
 
 #: ../gui/wxpython/menustrings.py:633 ../gui/wxpython/menustrings.py:1540
 msgid "Performs network maintenance."
@@ -12754,13 +11973,8 @@ msgstr "Přidělit podsítě"
 
 #: ../gui/wxpython/menustrings.py:635 ../gui/wxpython/menustrings.py:1542
 #, fuzzy
-msgid ""
-"Allocates subnets for nearest centers (direction from center). center node "
-"must be opened (costs >= 0). Costs of center node are used in calculation"
-msgstr ""
-"Rozděl síť do skupin mezi hodnotami izolinií ( směr ze středu). Středový "
-"uzel musí být otevřen ( hodnota >=0). Hodnota středního bodu bude použita "
-"při výpočtu."
+msgid "Allocates subnets for nearest centers (direction from center). center node must be opened (costs >= 0). Costs of center node are used in calculation"
+msgstr "Rozděl síť do skupin mezi hodnotami izolinií ( směr ze středu). Středový uzel musí být otevřen ( hodnota >=0). Hodnota středního bodu bude použita při výpočtu."
 
 #: ../gui/wxpython/menustrings.py:636 ../gui/wxpython/menustrings.py:1543
 msgid "Split net"
@@ -12768,14 +11982,8 @@ msgstr "Rozdělit síť"
 
 #: ../gui/wxpython/menustrings.py:637 ../gui/wxpython/menustrings.py:1544
 #, fuzzy
-msgid ""
-"Splits net by cost isolines. Splits net to bands between cost isolines "
-"(direction from center). Center node must be opened (costs >= 0). Costs of "
-"center node are used in calculation."
-msgstr ""
-"Rozděl síť do skupin mezi hodnotami izolinií ( směr ze středu). Středový "
-"uzel musí být otevřen ( hodnota >=0). Hodnota středního bodu bude použita "
-"při výpočtu."
+msgid "Splits net by cost isolines. Splits net to bands between cost isolines (direction from center). Center node must be opened (costs >= 0). Costs of center node are used in calculation."
+msgstr "Rozděl síť do skupin mezi hodnotami izolinií ( směr ze středu). Středový uzel musí být otevřen ( hodnota >=0). Hodnota středního bodu bude použita při výpočtu."
 
 #: ../gui/wxpython/menustrings.py:638 ../gui/wxpython/menustrings.py:1545
 msgid "Shortest path"
@@ -12790,11 +11998,7 @@ msgid "Shortest path for sets of features"
 msgstr "Nejkratší cesta pro skupinu prvků"
 
 #: ../gui/wxpython/menustrings.py:641 ../gui/wxpython/menustrings.py:1548
-msgid ""
-"Computes shortest distance via the network between the given sets of "
-"features. Finds the shortest paths from each 'from' point to the nearest "
-"'to' feature and various information about this relation are uploaded to the "
-"attribute table."
+msgid "Computes shortest distance via the network between the given sets of features. Finds the shortest paths from each 'from' point to the nearest 'to' feature and various information about this relation are uploaded to the attribute table."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:642 ../gui/wxpython/menustrings.py:1549
@@ -12863,9 +12067,7 @@ msgid "Centrality"
 msgstr "Test normality"
 
 #: ../gui/wxpython/menustrings.py:657 ../gui/wxpython/menustrings.py:1564
-msgid ""
-"Computes degree, centrality, betweeness, closeness and eigenvector "
-"centrality measures in the network."
+msgid "Computes degree, centrality, betweeness, closeness and eigenvector centrality measures in the network."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:658 ../gui/wxpython/menustrings.py:1565
@@ -12874,13 +12076,8 @@ msgstr "Steinerův strom"
 
 #: ../gui/wxpython/menustrings.py:659 ../gui/wxpython/menustrings.py:1566
 #, fuzzy
-msgid ""
-"Creates Steiner tree for the network and given terminals. Note that 'Minimum "
-"Steiner Tree' problem is NP-hard and heuristic algorithm is used in this "
-"module so the result may be sub optimal."
-msgstr ""
-"'Minimální Steinerův strom' je NP-těžká úloha, v tomto module je použit "
-"heuristický algoritmus, výsledek nemusí být optimální"
+msgid "Creates Steiner tree for the network and given terminals. Note that 'Minimum Steiner Tree' problem is NP-hard and heuristic algorithm is used in this module so the result may be sub optimal."
+msgstr "'Minimální Steinerův strom' je NP-těžká úloha, v tomto module je použit heuristický algoritmus, výsledek nemusí být optimální"
 
 #: ../gui/wxpython/menustrings.py:660 ../gui/wxpython/menustrings.py:1567
 msgid "Minimum spanning tree"
@@ -12896,13 +12093,8 @@ msgstr "Problém obchodního cestujícího"
 
 #: ../gui/wxpython/menustrings.py:663 ../gui/wxpython/menustrings.py:1570
 #, fuzzy
-msgid ""
-"Creates a cycle connecting given nodes (Traveling salesman problem). Note "
-"that TSP is NP-hard, heuristic algorithm is used by this module and created "
-"cycle may be sub optimal"
-msgstr ""
-"TSP je NP-těžká úloha, v tomto modulu je použit heuristický algoritmus, "
-"vytvoření smyčky nemusí být optimální řešení"
+msgid "Creates a cycle connecting given nodes (Traveling salesman problem). Note that TSP is NP-hard, heuristic algorithm is used by this module and created cycle may be sub optimal"
+msgstr "TSP je NP-těžká úloha, v tomto modulu je použit heuristický algoritmus, vytvoření smyčky nemusí být optimální řešení"
 
 #: ../gui/wxpython/menustrings.py:664 ../gui/wxpython/menustrings.py:665
 #: ../gui/wxpython/menustrings.py:1571 ../gui/wxpython/menustrings.py:1572
@@ -12920,8 +12112,7 @@ msgstr "Spojit vektorové mapy"
 #: ../gui/wxpython/menustrings.py:668 ../gui/wxpython/menustrings.py:1575
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
-msgstr ""
-"Vytvoří nový binární vektorovou mapu kombinací více vektorových vrstev."
+msgstr "Vytvoří nový binární vektorovou mapu kombinací více vektorových vrstev."
 
 #: ../gui/wxpython/menustrings.py:669 ../gui/wxpython/menustrings.py:1576
 msgid "Manage categories"
@@ -12937,12 +12128,8 @@ msgid "Attaches, deletes or reports vector categories to map geometry."
 msgstr "Přilož, smaž nebo vypiš vektorové kategorie do mapové geometrie."
 
 #: ../gui/wxpython/menustrings.py:673 ../gui/wxpython/menustrings.py:1580
-msgid ""
-"Changes vector category values for an existing vector map according to "
-"results of SQL queries or a value in attribute table column."
-msgstr ""
-"Změnit hodnoty kategorií pro existující vektorovou vrstvu podle výsledků SQL "
-"dotazu nebo podle hodnot sloupce v tabulce."
+msgid "Changes vector category values for an existing vector map according to results of SQL queries or a value in attribute table column."
+msgstr "Změnit hodnoty kategorií pro existující vektorovou vrstvu podle výsledků SQL dotazu nebo podle hodnot sloupce v tabulce."
 
 #: ../gui/wxpython/menustrings.py:674 ../gui/wxpython/menustrings.py:1581
 #: ../gui/wxpython/dbmgr/dialogs.py:115
@@ -12955,12 +12142,8 @@ msgstr "Aktualizovat atributy plochy z rastru"
 
 #: ../gui/wxpython/menustrings.py:676 ../gui/wxpython/menustrings.py:1583
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from a raster map based on a vector map and "
-"uploads statistics to new attribute columns."
-msgstr ""
-"Spočítá jednorozměrnou statistiku z rastrové mapy založené na vektorových "
-"polygonech a uloží výsledek do nového atributového sloupce."
+msgid "Calculates univariate statistics from a raster map based on a vector map and uploads statistics to new attribute columns."
+msgstr "Spočítá jednorozměrnou statistiku z rastrové mapy založené na vektorových polygonech a uloží výsledek do nového atributového sloupce."
 
 #: ../gui/wxpython/menustrings.py:677 ../gui/wxpython/menustrings.py:1584
 #, fuzzy
@@ -12978,9 +12161,7 @@ msgstr "Aktualizovat bodové atributy z ploch"
 
 #: ../gui/wxpython/menustrings.py:680 ../gui/wxpython/menustrings.py:1587
 msgid "Uploads vector values at positions of vector points to the table."
-msgstr ""
-"Uloží hodnoty rastrové mapy na pozicích bodů překryvné vektorové mapy do "
-"atributové tabulky."
+msgstr "Uloží hodnoty rastrové mapy na pozicích bodů překryvné vektorové mapy do atributové tabulky."
 
 #: ../gui/wxpython/menustrings.py:681 ../gui/wxpython/menustrings.py:1588
 #, fuzzy
@@ -12998,8 +12179,7 @@ msgstr "Vzorkovat rastrové vrstvy v bodech"
 
 #: ../gui/wxpython/menustrings.py:684 ../gui/wxpython/menustrings.py:1591
 msgid "Uploads raster values at positions of vector points to the table."
-msgstr ""
-"Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
+msgstr "Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
 
 #: ../gui/wxpython/menustrings.py:685 ../gui/wxpython/menustrings.py:1592
 msgid "Sample raster neighborhood around points"
@@ -13035,12 +12215,8 @@ msgid "Delaunay triangles"
 msgstr "Vytvořit Delaunayovu triangulační síť bodové vrstvy"
 
 #: ../gui/wxpython/menustrings.py:693 ../gui/wxpython/menustrings.py:1600
-msgid ""
-"Creates a Delaunay triangulation from an input vector map containing points "
-"or centroids."
-msgstr ""
-"Vytváří Delaunayovu triangulaci ze vstupní vektorové mapy obsahující body "
-"nebo centroidy."
+msgid "Creates a Delaunay triangulation from an input vector map containing points or centroids."
+msgstr "Vytváří Delaunayovu triangulaci ze vstupní vektorové mapy obsahující body nebo centroidy."
 
 #: ../gui/wxpython/menustrings.py:694 ../gui/wxpython/menustrings.py:1601
 msgid "Voronoi diagram/Thiessen polygons"
@@ -13048,12 +12224,8 @@ msgstr "Voroného diagram/Thiessenovy polygony"
 
 #: ../gui/wxpython/menustrings.py:695 ../gui/wxpython/menustrings.py:1602
 #, fuzzy
-msgid ""
-"Creates a Voronoi diagram in current region from an input vector map "
-"containing points or centroids."
-msgstr ""
-"Vytvořit Voronoi diagram ze vstupní vektorové vrstvy obsahující body nebo "
-"centroidy."
+msgid "Creates a Voronoi diagram in current region from an input vector map containing points or centroids."
+msgstr "Vytvořit Voronoi diagram ze vstupní vektorové vrstvy obsahující body nebo centroidy."
 
 #: ../gui/wxpython/menustrings.py:696 ../gui/wxpython/menustrings.py:1603
 msgid "Generate grid"
@@ -13073,11 +12245,8 @@ msgid "Generate from database"
 msgstr "Vytvořit z databáze"
 
 #: ../gui/wxpython/menustrings.py:700 ../gui/wxpython/menustrings.py:1607
-msgid ""
-"Creates new vector (points) map from database table containing coordinates."
-msgstr ""
-"Vytvoří novou vektorovou (bodovou) mapu na základě databázové takulky "
-"obsahující souřadnice."
+msgid "Creates new vector (points) map from database table containing coordinates."
+msgstr "Vytvoří novou vektorovou (bodovou) mapu na základě databázové takulky obsahující souřadnice."
 
 #: ../gui/wxpython/menustrings.py:701 ../gui/wxpython/menustrings.py:1608
 msgid "Generate points along lines"
@@ -13086,8 +12255,7 @@ msgstr "Vytvořit body podél linií"
 #: ../gui/wxpython/menustrings.py:702 ../gui/wxpython/menustrings.py:1609
 #, fuzzy
 msgid "Creates points along input lines in new vector map with 2 layers."
-msgstr ""
-"Vytvoří body podél vstupních linií a uloží do nového souboru o dvou vrstvách."
+msgstr "Vytvoří body podél vstupních linií a uloží do nového souboru o dvou vrstvách."
 
 #: ../gui/wxpython/menustrings.py:703 ../gui/wxpython/menustrings.py:1610
 msgid "Generate random points"
@@ -13151,23 +12319,16 @@ msgstr "Univariantní statistika vektorových bodů a jejich atributů"
 
 #: ../gui/wxpython/menustrings.py:719 ../gui/wxpython/menustrings.py:1626
 #, fuzzy
-msgid ""
-"Calculates univariate statistics of vector map features. Variance and "
-"standard deviation is calculated only for points if specified."
-msgstr ""
-"Spočítá základní statistiky pro atributy. Rozptyl a směrodatná odchylka jsou "
-"vypočítány pouze tehdy, pokud jsou zadány body."
+msgid "Calculates univariate statistics of vector map features. Variance and standard deviation is calculated only for points if specified."
+msgstr "Spočítá základní statistiky pro atributy. Rozptyl a směrodatná odchylka jsou vypočítány pouze tehdy, pokud jsou zadány body."
 
 #: ../gui/wxpython/menustrings.py:720 ../gui/wxpython/menustrings.py:1627
 msgid "Univariate statistics for attribute columns"
 msgstr "Univariantní statistika atributových sloupců"
 
 #: ../gui/wxpython/menustrings.py:721 ../gui/wxpython/menustrings.py:1628
-msgid ""
-"Calculates univariate statistics on selected table column for a GRASS vector "
-"map."
-msgstr ""
-"Spočítá univariantní statistiku pro vybraný sloupec tabulky vektorové vrstvy."
+msgid "Calculates univariate statistics on selected table column for a GRASS vector map."
+msgstr "Spočítá univariantní statistiku pro vybraný sloupec tabulky vektorové vrstvy."
 
 #: ../gui/wxpython/menustrings.py:722 ../gui/wxpython/menustrings.py:1629
 msgid "Quadrat indices"
@@ -13219,9 +12380,7 @@ msgstr "Vytvořit mozaiku více jak 4 sousední obrazové soubory"
 #: ../gui/wxpython/menustrings.py:733 ../gui/wxpython/menustrings.py:1640
 #, fuzzy
 msgid "Mosaics several images and extends colormap."
-msgstr ""
-"Vytvoří mozaiku ze 4 a více snímků, roztáhne barevnou paletu a vytvoří mapu "
-"*.mosaic"
+msgstr "Vytvoří mozaiku ze 4 a více snímků, roztáhne barevnou paletu a vytvoří mapu *.mosaic"
 
 #: ../gui/wxpython/menustrings.py:734 ../gui/wxpython/menustrings.py:1641
 msgid "Manage image colors"
@@ -13241,32 +12400,20 @@ msgid "HIS to RGB"
 msgstr "Transformace HIS -> RGB"
 
 #: ../gui/wxpython/menustrings.py:738 ../gui/wxpython/menustrings.py:1645
-msgid ""
-"Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to "
-"RGB (Red-Green-Blue) color space."
-msgstr ""
-"Převede rastrové mapy z HIS (odstín-intenzita-sytost) do RGB (červená-zelená-"
-"modrá)"
+msgid "Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to RGB (Red-Green-Blue) color space."
+msgstr "Převede rastrové mapy z HIS (odstín-intenzita-sytost) do RGB (červená-zelená-modrá)"
 
 #: ../gui/wxpython/menustrings.py:740 ../gui/wxpython/menustrings.py:1647
-msgid ""
-"Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-"
-"Intensity-Saturation) color space."
-msgstr ""
-"Převede rastrové mapy z RGB (červená-zelená-modrá) do HIS (odstín-intenzita-"
-"sytost)"
+msgid "Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space."
+msgstr "Převede rastrové mapy z RGB (červená-zelená-modrá) do HIS (odstín-intenzita-sytost)"
 
 #: ../gui/wxpython/menustrings.py:741 ../gui/wxpython/menustrings.py:1648
 msgid "Rectify image or raster"
 msgstr "Rektifikovat obraz nebo rastrovou mapu"
 
 #: ../gui/wxpython/menustrings.py:742 ../gui/wxpython/menustrings.py:1649
-msgid ""
-"Rectifies an image by computing a coordinate transformation for each pixel "
-"in the image based on the control points."
-msgstr ""
-"Rektifikuje obrazová data výpočtem transformace každého pixelu obrazu pomocí "
-"vlicovacích bodů (GCP)"
+msgid "Rectifies an image by computing a coordinate transformation for each pixel in the image based on the control points."
+msgstr "Rektifikuje obrazová data výpočtem transformace každého pixelu obrazu pomocí vlicovacích bodů (GCP)"
 
 #: ../gui/wxpython/menustrings.py:744 ../gui/wxpython/menustrings.py:1651
 msgid "Generate histogram of image"
@@ -13277,11 +12424,8 @@ msgid "Spectral response"
 msgstr "Spektrální odezva"
 
 #: ../gui/wxpython/menustrings.py:746 ../gui/wxpython/menustrings.py:1653
-msgid ""
-"Displays spectral response at user specified locations in group or images."
-msgstr ""
-"Zobrazí spektrální odrazivost na uživatelem zadaných místech ve skupině "
-"obrazů."
+msgid "Displays spectral response at user specified locations in group or images."
+msgstr "Zobrazí spektrální odrazivost na uživatelem zadaných místech ve skupině obrazů."
 
 #: ../gui/wxpython/menustrings.py:747 ../gui/wxpython/menustrings.py:1654
 #, fuzzy
@@ -13290,12 +12434,8 @@ msgstr "Broveyovo ostření obrazu"
 
 #: ../gui/wxpython/menustrings.py:748 ../gui/wxpython/menustrings.py:1655
 #, fuzzy
-msgid ""
-"Image fusion algorithms to sharpen multispectral with high-res panchromatic "
-"channels"
-msgstr ""
-"Broveyova transformace pro sloučení multispektrálních kanálů s "
-"panchromatickými kanály vyššího rozlišení"
+msgid "Image fusion algorithms to sharpen multispectral with high-res panchromatic channels"
+msgstr "Broveyova transformace pro sloučení multispektrálních kanálů s panchromatickými kanály vyššího rozlišení"
 
 #: ../gui/wxpython/menustrings.py:749 ../gui/wxpython/menustrings.py:1656
 msgid "Classify image"
@@ -13307,13 +12447,8 @@ msgstr "Metoda shlukování pro neřízenou klasifikaci"
 
 #: ../gui/wxpython/menustrings.py:751 ../gui/wxpython/menustrings.py:1658
 #, fuzzy
-msgid ""
-"Generates spectral signatures for land cover types in an image using a "
-"clustering algorithm. The resulting signature file is used as input for i."
-"maxlik, to generate an unsupervised image classification."
-msgstr ""
-"Výsledný soubor spektrálních signatur je používán jako vstup pro modul i."
-"maxlik,který na jeho základě provede neřízenou klasifikaci snímku."
+msgid "Generates spectral signatures for land cover types in an image using a clustering algorithm. The resulting signature file is used as input for i.maxlik, to generate an unsupervised image classification."
+msgstr "Výsledný soubor spektrálních signatur je používán jako vstup pro modul i.maxlik,který na jeho základě provede neřízenou klasifikaci snímku."
 
 #: ../gui/wxpython/menustrings.py:752 ../gui/wxpython/menustrings.py:1659
 msgid "Input for supervised MLC"
@@ -13329,14 +12464,8 @@ msgstr "Klasifikátor MLC (Maximum likelihood classification)"
 
 #: ../gui/wxpython/menustrings.py:755 ../gui/wxpython/menustrings.py:1662
 #, fuzzy
-msgid ""
-"Classifies the cell spectral reflectances in imagery data. Classification is "
-"based on the spectral signature information generated by either i.cluster, g."
-"gui.iclass, or i.gensig."
-msgstr ""
-"Obrazová funkce pro klasifikaci spektrální odrazivosti v obrazových datech "
-"založená na informaci o spektrálních příznacích vytvořených pomocí i."
-"cluster, i.class nebo i.gensig."
+msgid "Classifies the cell spectral reflectances in imagery data. Classification is based on the spectral signature information generated by either i.cluster, g.gui.iclass, or i.gensig."
+msgstr "Obrazová funkce pro klasifikaci spektrální odrazivosti v obrazových datech založená na informaci o spektrálních příznacích vytvořených pomocí i.cluster, i.class nebo i.gensig."
 
 #: ../gui/wxpython/menustrings.py:756 ../gui/wxpython/menustrings.py:1663
 #: ../gui/wxpython/menustrings.py:1922
@@ -13346,11 +12475,8 @@ msgstr "Interaktivní vstup pro řízenou klasifikaci"
 #: ../gui/wxpython/menustrings.py:757 ../gui/wxpython/menustrings.py:1664
 #: ../gui/wxpython/menustrings.py:1923
 #, fuzzy
-msgid ""
-"Generates spectral signatures by allowing the user to outline training areas."
-msgstr ""
-"Vytvoří spektrální signatury pro obrazová data povolením uživateli načrtnout "
-"oblasti zájmu."
+msgid "Generates spectral signatures by allowing the user to outline training areas."
+msgstr "Vytvoří spektrální signatury pro obrazová data povolením uživateli načrtnout oblasti zájmu."
 
 #: ../gui/wxpython/menustrings.py:758 ../gui/wxpython/menustrings.py:1665
 msgid "Input for supervised SMAP"
@@ -13365,12 +12491,8 @@ msgid "Sequential maximum a posteriori classification (SMAP)"
 msgstr "Klasifikátor SMAP (Sequential maximum a posterior)"
 
 #: ../gui/wxpython/menustrings.py:761 ../gui/wxpython/menustrings.py:1668
-msgid ""
-"Performs contextual image classification using sequential maximum a "
-"posteriori (SMAP) estimation."
-msgstr ""
-"Provede kontextuální klasifikaci obrazu s využitím metody SMAP (sequential "
-"maximum a posterior)."
+msgid "Performs contextual image classification using sequential maximum a posteriori (SMAP) estimation."
+msgstr "Provede kontextuální klasifikaci obrazu s využitím metody SMAP (sequential maximum a posterior)."
 
 #: ../gui/wxpython/menustrings.py:762 ../gui/wxpython/menustrings.py:1669
 #, fuzzy
@@ -13412,9 +12534,7 @@ msgstr "Kanonické komponenty"
 #: ../gui/wxpython/menustrings.py:771 ../gui/wxpython/menustrings.py:1678
 #, fuzzy
 msgid "Canonical components analysis (CCA) program for image processing."
-msgstr ""
-"Program pro zpracování obrazových dat - kónickou transformaci komponent "
-"(cca)."
+msgstr "Program pro zpracování obrazových dat - kónickou transformaci komponent (cca)."
 
 #: ../gui/wxpython/menustrings.py:772 ../gui/wxpython/menustrings.py:1679
 msgid "Principal components"
@@ -13439,8 +12559,7 @@ msgstr "Inverzní Fourierova transformace"
 
 #: ../gui/wxpython/menustrings.py:777 ../gui/wxpython/menustrings.py:1684
 msgid "Inverse Fast Fourier Transform (IFFT) for image processing."
-msgstr ""
-"Rychlá inverzní Fourierova transformace (IFFT) pro zpracování obrazových dat."
+msgstr "Rychlá inverzní Fourierova transformace (IFFT) pro zpracování obrazových dat."
 
 #: ../gui/wxpython/menustrings.py:778 ../gui/wxpython/menustrings.py:1685
 #, fuzzy
@@ -13452,9 +12571,7 @@ msgid "Aster DN to radiance/reflectance"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:780 ../gui/wxpython/menustrings.py:1687
-msgid ""
-"Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature "
-"from ASTER DN."
+msgid "Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature from ASTER DN."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:781 ../gui/wxpython/menustrings.py:1688
@@ -13462,9 +12579,7 @@ msgid "Landsat DN to radiance/reflectance"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:782 ../gui/wxpython/menustrings.py:1689
-msgid ""
-"Calculates top-of-atmosphere radiance or reflectance and temperature for "
-"Landsat MSS/TM/ETM+/OLI"
+msgid "Calculates top-of-atmosphere radiance or reflectance and temperature for Landsat MSS/TM/ETM+/OLI"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:783 ../gui/wxpython/menustrings.py:1690
@@ -13490,9 +12605,7 @@ msgstr "Atmosférické korekce"
 
 #: ../gui/wxpython/menustrings.py:788 ../gui/wxpython/menustrings.py:1695
 #, fuzzy
-msgid ""
-"Performs atmospheric correction using the 6S algorithm. 6S - Second "
-"Simulation of Satellite Signal in the Solar Spectrum."
+msgid "Performs atmospheric correction using the 6S algorithm. 6S - Second Simulation of Satellite Signal in the Solar Spectrum."
 msgstr "Proveď atmosferické korekce pomocí 6S algoritmu."
 
 #: ../gui/wxpython/menustrings.py:789 ../gui/wxpython/menustrings.py:1696
@@ -13515,9 +12628,7 @@ msgid "Vegetation indices"
 msgstr "Hranice regionu"
 
 #: ../gui/wxpython/menustrings.py:793 ../gui/wxpython/menustrings.py:1700
-msgid ""
-"Calculates different types of vegetation indices. Uses red and nir bands "
-"mostly, and some indices require additional bands."
+msgid "Calculates different types of vegetation indices. Uses red and nir bands mostly, and some indices require additional bands."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:794 ../gui/wxpython/menustrings.py:1701
@@ -13556,7 +12667,7 @@ msgstr ""
 
 #: ../gui/wxpython/menustrings.py:802 ../gui/wxpython/menustrings.py:1709
 msgid "Evapotranspiration calculation"
-msgstr ""
+msgstr "Výpočet evapotranspirace"
 
 #: ../gui/wxpython/menustrings.py:803 ../gui/wxpython/menustrings.py:1710
 msgid "Instantaneaous Net Radiation"
@@ -13587,9 +12698,7 @@ msgid "Evaporative fraction"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:810 ../gui/wxpython/menustrings.py:1717
-msgid ""
-"Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil "
-"moisture (Makin, Molden and Bastiaanssen, 2001)."
+msgid "Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil moisture (Makin, Molden and Bastiaanssen, 2001)."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:811 ../gui/wxpython/menustrings.py:1718
@@ -13605,9 +12714,7 @@ msgid "Temporal integration of ETa"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:814 ../gui/wxpython/menustrings.py:1721
-msgid ""
-"Computes temporal integration of satellite ET actual (ETa) following the "
-"daily ET reference (ETo) from meteorological station(s)."
+msgid "Computes temporal integration of satellite ET actual (ETa) following the daily ET reference (ETo) from meteorological station(s)."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:815 ../gui/wxpython/menustrings.py:1722
@@ -13615,9 +12722,7 @@ msgid "Hargreaves methods Evapotranspiration"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:816 ../gui/wxpython/menustrings.py:1723
-msgid ""
-"Computes evapotranspiration calculation modified or original Hargreaves "
-"formulation, 2001."
+msgid "Computes evapotranspiration calculation modified or original Hargreaves formulation, 2001."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:817 ../gui/wxpython/menustrings.py:1724
@@ -13625,9 +12730,7 @@ msgid "Penman-Monteith Evapotranspiration"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:818 ../gui/wxpython/menustrings.py:1725
-msgid ""
-"Computes potential evapotranspiration calculation with hourly Penman-"
-"Monteith."
+msgid "Computes potential evapotranspiration calculation with hourly Penman-Monteith."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:819 ../gui/wxpython/menustrings.py:1726
@@ -13635,9 +12738,7 @@ msgid "Priestley-Taylor Evapotranspiration"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:820 ../gui/wxpython/menustrings.py:1727
-msgid ""
-"Computes evapotranspiration calculation Priestley and Taylor formulation, "
-"1972."
+msgid "Computes evapotranspiration calculation Priestley and Taylor formulation, 1972."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:822 ../gui/wxpython/menustrings.py:1729
@@ -13646,11 +12747,8 @@ msgstr "Kappa analýza "
 
 #: ../gui/wxpython/menustrings.py:823 ../gui/wxpython/menustrings.py:1730
 #, fuzzy
-msgid ""
-"Calculates error matrix and kappa parameter for accuracy assessment of "
-"classification result."
-msgstr ""
-"Spočítá chybovou matici a parametr kappa pro evaluaci výsledků klasifikace."
+msgid "Calculates error matrix and kappa parameter for accuracy assessment of classification result."
+msgstr "Spočítá chybovou matici a parametr kappa pro evaluaci výsledků klasifikace."
 
 #: ../gui/wxpython/menustrings.py:824 ../gui/wxpython/menustrings.py:1731
 msgid "OIF for LandSat TM"
@@ -13659,9 +12757,7 @@ msgstr "Faktor optimálního indexu pro LandSat TM"
 #: ../gui/wxpython/menustrings.py:825 ../gui/wxpython/menustrings.py:1732
 #, fuzzy
 msgid "Calculates Optimum-Index-Factor table for spectral bands"
-msgstr ""
-"Spočítá tabulku optimálního faktoru indexu pro kanály 1-5 a 7 družice "
-"LANDSAT TM"
+msgstr "Spočítá tabulku optimálního faktoru indexu pro kanály 1-5 a 7 družice LANDSAT TM"
 
 #: ../gui/wxpython/menustrings.py:826 ../gui/wxpython/menustrings.py:1733
 msgid "3D r&aster"
@@ -13715,7 +12811,7 @@ msgstr "Exportuje tabulku barev spojenou s rastrovou mapou."
 
 #: ../gui/wxpython/menustrings.py:839 ../gui/wxpython/menustrings.py:1746
 msgid "3D mask"
-msgstr ""
+msgstr "3D maska"
 
 #: ../gui/wxpython/menustrings.py:840 ../gui/wxpython/menustrings.py:1747
 msgid "Establishes the current working 3D raster mask."
@@ -13723,9 +12819,8 @@ msgstr "Vytvoří aktuální pracovní 3D rastrovou masku."
 
 #: ../gui/wxpython/menustrings.py:841 ../gui/wxpython/menustrings.py:842
 #: ../gui/wxpython/menustrings.py:1748 ../gui/wxpython/menustrings.py:1749
-#, fuzzy
 msgid "3D raster map calculator"
-msgstr "3D rastrový kalkulátor"
+msgstr "3D rastrový mapový kalkulátor"
 
 #: ../gui/wxpython/menustrings.py:843 ../gui/wxpython/menustrings.py:1750
 msgid "Cross section"
@@ -13733,19 +12828,13 @@ msgstr "Průřez"
 
 #: ../gui/wxpython/menustrings.py:844 ../gui/wxpython/menustrings.py:1751
 #, fuzzy
-msgid ""
-"Creates cross section 2D raster map from 3D raster map based on 2D elevation "
-"map"
+msgid "Creates cross section 2D raster map from 3D raster map based on 2D elevation map"
 msgstr "Vytvoří průniky 2D mapy z g3d rastru objemů na základ 2D mapy elevace"
 
 #: ../gui/wxpython/menustrings.py:846 ../gui/wxpython/menustrings.py:1753
 #, fuzzy
-msgid ""
-"Numerical calculation program for transient, confined groundwater flow in "
-"three dimensions."
-msgstr ""
-"Numerický výpočetní program pro přechodné, omezené a neohraničenéproudění "
-"podzemních vod ve třech rozměrech."
+msgid "Numerical calculation program for transient, confined groundwater flow in three dimensions."
+msgstr "Numerický výpočetní program pro přechodné, omezené a neohraničenéproudění podzemních vod ve třech rozměrech."
 
 #: ../gui/wxpython/menustrings.py:847 ../gui/wxpython/menustrings.py:1754
 #, fuzzy
@@ -13753,17 +12842,12 @@ msgid "Interpolate 3D raster from points"
 msgstr "Interpolovat 3D rastrovou vrstvu z vektorových bodů "
 
 #: ../gui/wxpython/menustrings.py:848 ../gui/wxpython/menustrings.py:1755
-msgid ""
-"Interpolates point data to a 3D raster map using regularized spline with "
-"tension (RST) algorithm."
-msgstr ""
-"Interpoluje bodová data do G3D 3D rastrové grid vrstvy za použití "
-"regularized spline with tension (RST)"
+msgid "Interpolates point data to a 3D raster map using regularized spline with tension (RST) algorithm."
+msgstr "Interpoluje bodová data do G3D 3D rastrové grid vrstvy za použití regularized spline with tension (RST)"
 
 #: ../gui/wxpython/menustrings.py:849 ../gui/wxpython/menustrings.py:1756
-#, fuzzy
 msgid "Reports and Statistics"
-msgstr "Zprávy,výpisy a statistiky"
+msgstr "Zprávy, výpisy a statistiky"
 
 #: ../gui/wxpython/menustrings.py:850 ../gui/wxpython/menustrings.py:1757
 #, fuzzy
@@ -13790,11 +12874,7 @@ msgid "Univariate statistics for 3D rasters"
 msgstr "Univariantní statistika 3D rastrové vrstvyy"
 
 #: ../gui/wxpython/menustrings.py:855 ../gui/wxpython/menustrings.py:1762
-msgid ""
-"Calculates univariate statistics from the non-null cells of a 3D raster map. "
-"Statistics include number of cells counted, minimum and maximum cell values, "
-"range, arithmetic mean, population variance, standard deviation, coefficient "
-"of variation, and sum."
+msgid "Calculates univariate statistics from the non-null cells of a 3D raster map. Statistics include number of cells counted, minimum and maximum cell values, range, arithmetic mean, population variance, standard deviation, coefficient of variation, and sum."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:856 ../gui/wxpython/menustrings.py:1763
@@ -13806,23 +12886,20 @@ msgid "Database information"
 msgstr "Informace o databázi"
 
 #: ../gui/wxpython/menustrings.py:858 ../gui/wxpython/menustrings.py:1765
-#, fuzzy
 msgid "List databases"
-msgstr "Seznam tabulek"
+msgstr "Seznam databází"
 
 #: ../gui/wxpython/menustrings.py:859 ../gui/wxpython/menustrings.py:1766
-#, fuzzy
 msgid "Lists all databases for a given driver and location."
-msgstr "Vypíše všechny tabulky pro danou databázi."
+msgstr "Vypíše všechny databáze pro dané ovladače a lokaci."
 
 #: ../gui/wxpython/menustrings.py:860 ../gui/wxpython/menustrings.py:1767
 msgid "List drivers"
 msgstr "Seznam ovladačů"
 
 #: ../gui/wxpython/menustrings.py:861 ../gui/wxpython/menustrings.py:1768
-#, fuzzy
 msgid "Lists all database drivers."
-msgstr "Vypiš všechny databázové ovladače."
+msgstr "Vypíše všechny ovladače databáze."
 
 #: ../gui/wxpython/menustrings.py:862 ../gui/wxpython/menustrings.py:1769
 msgid "List tables"
@@ -13859,8 +12936,7 @@ msgstr "Spojení "
 #: ../gui/wxpython/menustrings.py:870 ../gui/wxpython/menustrings.py:1777
 #, fuzzy
 msgid "Prints/sets general DB connection for current mapset."
-msgstr ""
-"Vytisknout/nastavit obecné DB připojení aktuálního mapsetu a ukončit se."
+msgstr "Vytisknout/nastavit obecné DB připojení aktuálního mapsetu a ukončit se."
 
 #: ../gui/wxpython/menustrings.py:871 ../gui/wxpython/menustrings.py:1778
 msgid "Login"
@@ -13900,12 +12976,8 @@ msgid "Copy table"
 msgstr "Kopírovat tabulku"
 
 #: ../gui/wxpython/menustrings.py:880 ../gui/wxpython/menustrings.py:1787
-msgid ""
-"Copy a table. Either 'from_table' (optionally with 'where') can be used or "
-"'select' option, but not 'from_table' and 'select' at the same time."
-msgstr ""
-"Kopíruj tabulku. Použita může být buď volba 'from_table' (volitelně s "
-"'where') nebo volba 'select', ale nikoliv 'from_table' a 'select' současně."
+msgid "Copy a table. Either 'from_table' (optionally with 'where') can be used or 'select' option, but not 'from_table' and 'select' at the same time."
+msgstr "Kopíruj tabulku. Použita může být buď volba 'from_table' (volitelně s 'where') nebo volba 'select', ale nikoliv 'from_table' a 'select' současně."
 
 #: ../gui/wxpython/menustrings.py:881 ../gui/wxpython/menustrings.py:901
 #: ../gui/wxpython/menustrings.py:1788 ../gui/wxpython/menustrings.py:1808
@@ -13922,9 +12994,7 @@ msgstr "Test"
 
 #: ../gui/wxpython/menustrings.py:884 ../gui/wxpython/menustrings.py:1791
 msgid "Test database driver, database must exist and set by db.connect."
-msgstr ""
-"Otestuj ovladač databáze, databáze musí existovat a nastavena pomocí db."
-"connect"
+msgstr "Otestuj ovladač databáze, databáze musí existovat a nastavena pomocí db.connect"
 
 #: ../gui/wxpython/menustrings.py:885 ../gui/wxpython/menustrings.py:1792
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:105
@@ -13957,11 +13027,8 @@ msgid "New table"
 msgstr "Vytvořit tabulku"
 
 #: ../gui/wxpython/menustrings.py:894 ../gui/wxpython/menustrings.py:1801
-msgid ""
-"Creates and connects a new attribute table to a given layer of an existing "
-"vector map."
-msgstr ""
-"Vytvoří a připojí novou atributovou tabulku k dané vrstvě vektorové mapy."
+msgid "Creates and connects a new attribute table to a given layer of an existing vector map."
+msgstr "Vytvoří a připojí novou atributovou tabulku k dané vrstvě vektorové mapy."
 
 #: ../gui/wxpython/menustrings.py:895 ../gui/wxpython/menustrings.py:1802
 msgid "Remove table"
@@ -13985,18 +13052,12 @@ msgid "Add columns"
 msgstr "Přidat sloupce"
 
 #: ../gui/wxpython/menustrings.py:900 ../gui/wxpython/menustrings.py:1807
-msgid ""
-"Adds one or more columns to the attribute table connected to a given vector "
-"map."
-msgstr ""
-"Přidá jeden nebo více sloupců k atributové tabulce připojené k zadané "
-"vektorové vrstvě."
+msgid "Adds one or more columns to the attribute table connected to a given vector map."
+msgstr "Přidá jeden nebo více sloupců k atributové tabulce připojené k zadané vektorové vrstvě."
 
 #: ../gui/wxpython/menustrings.py:902 ../gui/wxpython/menustrings.py:1809
-msgid ""
-"Drops a column from the attribute table connected to a given vector map."
-msgstr ""
-"Odstraní sloupec z atributové tabulky připojené k zadané vektorové vrstvě."
+msgid "Drops a column from the attribute table connected to a given vector map."
+msgstr "Odstraní sloupec z atributové tabulky připojené k zadané vektorové vrstvě."
 
 #: ../gui/wxpython/menustrings.py:903 ../gui/wxpython/menustrings.py:1810
 #: ../gui/wxpython/dbmgr/base.py:2139
@@ -14004,10 +13065,8 @@ msgid "Rename column"
 msgstr "Přejmenovat sloupec"
 
 #: ../gui/wxpython/menustrings.py:904 ../gui/wxpython/menustrings.py:1811
-msgid ""
-"Renames a column in the attribute table connected to a given vector map."
-msgstr ""
-"Přejmenuje sloupec v atributové tabulce připojené k zadané vektorové mapě."
+msgid "Renames a column in the attribute table connected to a given vector map."
+msgstr "Přejmenuje sloupec v atributové tabulce připojené k zadané vektorové mapě."
 
 #: ../gui/wxpython/menustrings.py:905 ../gui/wxpython/menustrings.py:1812
 msgid "Change values"
@@ -14024,9 +13083,7 @@ msgstr "Odstranit řádek"
 #: ../gui/wxpython/menustrings.py:908 ../gui/wxpython/menustrings.py:1815
 #, fuzzy
 msgid "Removes a vector feature from a vector map through attribute selection."
-msgstr ""
-"Nastavit pravidla barev vektorových prvků použitím číselného atributového "
-"sloupce."
+msgstr "Nastavit pravidla barev vektorových prvků použitím číselného atributového sloupce."
 
 #: ../gui/wxpython/menustrings.py:909 ../gui/wxpython/menustrings.py:1816
 msgid "Reconnect vectors to database"
@@ -14034,9 +13091,7 @@ msgstr "Znovu navázat spojení vektoru s databází"
 
 #: ../gui/wxpython/menustrings.py:910 ../gui/wxpython/menustrings.py:1817
 #, fuzzy
-msgid ""
-"Reconnects attribute tables for all vector maps from the current mapset to a "
-"new database."
+msgid "Reconnects attribute tables for all vector maps from the current mapset to a new database."
 msgstr "Přebuduje topologii všech vektorových map v současném mapsetu."
 
 #: ../gui/wxpython/menustrings.py:911 ../gui/wxpython/menustrings.py:1818
@@ -14045,8 +13100,7 @@ msgstr "Databázové spojení"
 
 #: ../gui/wxpython/menustrings.py:912 ../gui/wxpython/menustrings.py:1819
 msgid "Prints/sets DB connection for a vector map to attribute table."
-msgstr ""
-"Vytiskne/nastaví připojení databáze pro vektorovou mapu k atributové tabulce"
+msgstr "Vytiskne/nastaví připojení databáze pro vektorovou mapu k atributové tabulce"
 
 #: ../gui/wxpython/menustrings.py:913 ../gui/wxpython/menustrings.py:1820
 msgid "&Temporal"
@@ -14135,9 +13189,7 @@ msgid "Unregister maps from datasets"
 msgstr "Vytvořit z databáze"
 
 #: ../gui/wxpython/menustrings.py:935 ../gui/wxpython/menustrings.py:1842
-msgid ""
-"Unregisters raster, vector and raster3d maps from the temporal database or a "
-"specific space time dataset."
+msgid "Unregisters raster, vector and raster3d maps from the temporal database or a specific space time dataset."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:936 ../gui/wxpython/menustrings.py:1843
@@ -14192,8 +13244,7 @@ msgstr "Import vektorových dat"
 
 #: ../gui/wxpython/menustrings.py:946 ../gui/wxpython/menustrings.py:1853
 #, fuzzy
-msgid ""
-"Imports a space time vector dataset from a GRASS GIS specific archive file."
+msgid "Imports a space time vector dataset from a GRASS GIS specific archive file."
 msgstr "Import vektorových dat"
 
 #: ../gui/wxpython/menustrings.py:948 ../gui/wxpython/menustrings.py:1855
@@ -14277,8 +13328,7 @@ msgstr "Atributový dotaz"
 
 #: ../gui/wxpython/menustrings.py:964 ../gui/wxpython/menustrings.py:1871
 #, fuzzy
-msgid ""
-"Prints attributes of vector maps registered in a space time vector dataset."
+msgid "Prints attributes of vector maps registered in a space time vector dataset."
 msgstr "Přebuduje topologii všech vektorových map v současném mapsetu."
 
 #: ../gui/wxpython/menustrings.py:965 ../gui/wxpython/menustrings.py:1872
@@ -14288,9 +13338,7 @@ msgstr "Nastavit tabulku barev"
 
 #: ../gui/wxpython/menustrings.py:966 ../gui/wxpython/menustrings.py:1873
 #, fuzzy
-msgid ""
-"Creates/modifies the color table associated with each raster map of the "
-"space time raster dataset."
+msgid "Creates/modifies the color table associated with each raster map of the space time raster dataset."
 msgstr "Vytvoří/upraví tabulku barev spojenou s rastrovou mapou."
 
 #: ../gui/wxpython/menustrings.py:967 ../gui/wxpython/menustrings.py:1874
@@ -14300,9 +13348,7 @@ msgstr "3D rastrový kalkulátor"
 
 #: ../gui/wxpython/menustrings.py:968 ../gui/wxpython/menustrings.py:1875
 #, fuzzy
-msgid ""
-"Performs spatio-temporal mapcalc expressions on temporally sampled maps of "
-"space time raster datasets."
+msgid "Performs spatio-temporal mapcalc expressions on temporally sampled maps of space time raster datasets."
 msgstr "Import rastrových dat"
 
 #: ../gui/wxpython/menustrings.py:969 ../gui/wxpython/menustrings.py:1876
@@ -14312,9 +13358,7 @@ msgstr "3D rastrový kalkulátor"
 
 #: ../gui/wxpython/menustrings.py:970 ../gui/wxpython/menustrings.py:1877
 #, fuzzy
-msgid ""
-"Performs r3.mapcalc expressions on maps of sampled space time 3D raster "
-"datasets."
+msgid "Performs r3.mapcalc expressions on maps of sampled space time 3D raster datasets."
 msgstr "Import rastrových dat"
 
 #: ../gui/wxpython/menustrings.py:971 ../gui/wxpython/menustrings.py:1878
@@ -14324,8 +13368,7 @@ msgstr "Import rastrových dat"
 
 #: ../gui/wxpython/menustrings.py:972 ../gui/wxpython/menustrings.py:1879
 #, fuzzy
-msgid ""
-"Replaces gaps in a space time raster dataset with interpolated raster maps."
+msgid "Replaces gaps in a space time raster dataset with interpolated raster maps."
 msgstr "Převede binární GRASS vektorovou mapu do GRASS rastrové mapy."
 
 #: ../gui/wxpython/menustrings.py:973 ../gui/wxpython/menustrings.py:1880
@@ -14339,8 +13382,7 @@ msgid "Neighborhood analysis in raster dataset"
 msgstr "Analýza okolí"
 
 #: ../gui/wxpython/menustrings.py:975 ../gui/wxpython/menustrings.py:1882
-msgid ""
-"Performs a neighborhood analysis for each map in a space time raster dataset."
+msgid "Performs a neighborhood analysis for each map in a space time raster dataset."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:976 ../gui/wxpython/menustrings.py:1883
@@ -14349,9 +13391,7 @@ msgid "Aggregation in raster datasets"
 msgstr "Import rastrových dat"
 
 #: ../gui/wxpython/menustrings.py:977 ../gui/wxpython/menustrings.py:1884
-msgid ""
-"Performs different aggregation algorithms from r.series on all or a subset "
-"of raster maps in a space time raster dataset."
+msgid "Performs different aggregation algorithms from r.series on all or a subset of raster maps in a space time raster dataset."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:978 ../gui/wxpython/menustrings.py:1885
@@ -14361,9 +13401,7 @@ msgstr "Mód kategorie"
 
 #: ../gui/wxpython/menustrings.py:979 ../gui/wxpython/menustrings.py:1886
 #, fuzzy
-msgid ""
-"Aggregates temporally the maps of a space time raster dataset by a user "
-"defined granularity."
+msgid "Aggregates temporally the maps of a space time raster dataset by a user defined granularity."
 msgstr "Import rastrových dat"
 
 #: ../gui/wxpython/menustrings.py:980 ../gui/wxpython/menustrings.py:1887
@@ -14371,9 +13409,7 @@ msgid "Temporal aggregation by dataset"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:981 ../gui/wxpython/menustrings.py:1888
-msgid ""
-"Aggregates data of an existing space time raster dataset using the time "
-"intervals of a second space time dataset."
+msgid "Aggregates data of an existing space time raster dataset using the time intervals of a second space time dataset."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:982 ../gui/wxpython/menustrings.py:1889
@@ -14387,9 +13423,7 @@ msgid "Temporal sampling"
 msgstr "Mód kategorie"
 
 #: ../gui/wxpython/menustrings.py:984 ../gui/wxpython/menustrings.py:1891
-msgid ""
-"Samples the input space time dataset(s) with a sample space time dataset and "
-"print the result to stdout."
+msgid "Samples the input space time dataset(s) with a sample space time dataset and print the result to stdout."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:985 ../gui/wxpython/menustrings.py:1892
@@ -14399,20 +13433,15 @@ msgstr "Získává vzorky z rastrové mapy místech vektorových bodů"
 
 #: ../gui/wxpython/menustrings.py:986 ../gui/wxpython/menustrings.py:1893
 #, fuzzy
-msgid ""
-"Stores raster map values at spatial and temporal positions of vector points "
-"as vector attributes."
-msgstr ""
-"Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
+msgid "Stores raster map values at spatial and temporal positions of vector points as vector attributes."
+msgstr "Uloží hodnoty rastru pod vektorovými body do jejich atributové tabulky."
 
 #: ../gui/wxpython/menustrings.py:987 ../gui/wxpython/menustrings.py:1894
 msgid "Observe specific locations in raster dataset"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:988 ../gui/wxpython/menustrings.py:1895
-msgid ""
-"Observes specific locations in a space time raster dataset over a period of "
-"time using vector points."
+msgid "Observes specific locations in a space time raster dataset over a period of time using vector points."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:990 ../gui/wxpython/menustrings.py:1897
@@ -14432,9 +13461,7 @@ msgstr "Univariantní statistika rastrové vrstvy"
 
 #: ../gui/wxpython/menustrings.py:993 ../gui/wxpython/menustrings.py:1900
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from the non-null cells for each registered "
-"raster map of a space time raster dataset."
+msgid "Calculates univariate statistics from the non-null cells for each registered raster map of a space time raster dataset."
 msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
 
 #: ../gui/wxpython/menustrings.py:994 ../gui/wxpython/menustrings.py:1901
@@ -14444,11 +13471,8 @@ msgstr "Univariantní statistika rastrové vrstvy"
 
 #: ../gui/wxpython/menustrings.py:995 ../gui/wxpython/menustrings.py:1902
 #, fuzzy
-msgid ""
-"Calculates univariate statistics of attributes for each registered vector "
-"map of a space time vector dataset"
-msgstr ""
-"Spočítá univariantní statistiku pro vybraný sloupec tabulky vektorové vrstvy."
+msgid "Calculates univariate statistics of attributes for each registered vector map of a space time vector dataset"
+msgstr "Spočítá univariantní statistiku pro vybraný sloupec tabulky vektorové vrstvy."
 
 #: ../gui/wxpython/menustrings.py:996 ../gui/wxpython/menustrings.py:1903
 #, fuzzy
@@ -14457,9 +13481,7 @@ msgstr "Univariantní statistika rastrové vrstvy"
 
 #: ../gui/wxpython/menustrings.py:997 ../gui/wxpython/menustrings.py:1904
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from the non-null cells for each registered "
-"3D raster map of a space time 3D raster dataset."
+msgid "Calculates univariate statistics from the non-null cells for each registered 3D raster map of a space time 3D raster dataset."
 msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
 
 #: ../gui/wxpython/menustrings.py:998 ../gui/wxpython/menustrings.py:1905
@@ -14530,9 +13552,8 @@ msgid "About GRASS GIS"
 msgstr "O GIS GRASS"
 
 #: ../gui/wxpython/menustrings.py:1018
-#, fuzzy
 msgid "Import, export and link data"
-msgstr "Import vektorových dat"
+msgstr "Import, export a připojení dat"
 
 #: ../gui/wxpython/menustrings.py:1917
 msgid "Attribute table manager"
@@ -14564,11 +13585,11 @@ msgstr "Export modelu do obrázku"
 
 #: ../gui/wxpython/menustrings.py:1943
 msgid "Export to Python"
-msgstr "Export do Python"
+msgstr "Export do Pythonu"
 
 #: ../gui/wxpython/menustrings.py:1944
 msgid "Export model to Python script"
-msgstr "Exportovat model do skriptu Pythonu"
+msgstr "Export modelu do skriptu Pythonu"
 
 #: ../gui/wxpython/menustrings.py:1945
 msgid "Quit modeler"
@@ -14583,14 +13604,12 @@ msgid "&Model"
 msgstr "&Modelování"
 
 #: ../gui/wxpython/menustrings.py:1951
-#, fuzzy
 msgid "Add command"
-msgstr "Přidat vrstvu s příkazem"
+msgstr "Přidat příkaz"
 
 #: ../gui/wxpython/menustrings.py:1952
-#, fuzzy
 msgid "Add action (GRASS command) to model"
-msgstr "Přidat akci do modelu"
+msgstr "Přidat do modelu akci (příkaz GRASSu)"
 
 #: ../gui/wxpython/menustrings.py:1953
 msgid "Add data"
@@ -14619,9 +13638,8 @@ msgid "Adds loop (series) to model"
 msgstr "Přidat smyčku do modelu"
 
 #: ../gui/wxpython/menustrings.py:1960
-#, fuzzy
 msgid "Adds comment to model"
-msgstr "Přidá podmínky (if/else) do modelu"
+msgstr "Přidá do modelu komentář"
 
 #: ../gui/wxpython/menustrings.py:1961
 msgid "Remove item"
@@ -14678,14 +13696,12 @@ msgid "Export instruction file"
 msgstr "Export do obrazu"
 
 #: ../gui/wxpython/menustrings.py:1985
-#, fuzzy
 msgid "Export to PostScript"
-msgstr "Exportovat model do Python skriptu"
+msgstr "Exportovat do PostScriptu"
 
 #: ../gui/wxpython/menustrings.py:1987
-#, fuzzy
 msgid "Export to PDF"
-msgstr "MPEG-1 export"
+msgstr "Exportovat do PDF"
 
 #: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
 #, fuzzy
@@ -14698,9 +13714,8 @@ msgid "Close Cartographic Composer"
 msgstr "Ukončit Grafické modelování"
 
 #: ../gui/wxpython/menustrings.py:1993
-#, fuzzy
 msgid "&Insert"
-msgstr "&Instalovat"
+msgstr "&Vložit"
 
 #: ../gui/wxpython/menustrings.py:1995
 #, fuzzy
@@ -14708,24 +13723,20 @@ msgid "Add or edit map frame"
 msgstr "Přidat rastrovou vrstvu"
 
 #: ../gui/wxpython/menustrings.py:1997
-#, fuzzy
 msgid "Add or edit raster map"
-msgstr "Přidat 3D rastrovou mapu"
+msgstr "Přidat nebo upravit rastrovou vrstvu"
 
 #: ../gui/wxpython/menustrings.py:1999
-#, fuzzy
 msgid "Add or edit vector map"
-msgstr "vektorová mapa"
+msgstr "Přidat nebo upravit vektorovou vrstvu"
 
 #: ../gui/wxpython/menustrings.py:2000
-#, fuzzy
 msgid "Map legend"
-msgstr "Legenda"
+msgstr "Legenda mapy"
 
 #: ../gui/wxpython/menustrings.py:2001
-#, fuzzy
 msgid "Add or edit raster and vector legend"
-msgstr "Přidat vytvořenou rastrovou mapu do stromu vrstev"
+msgstr "Přidat nebo upravit legendu rastrů a vektorů"
 
 #: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
@@ -14733,14 +13744,12 @@ msgid "Add or edit map info"
 msgstr "Přidat mapové prvky"
 
 #: ../gui/wxpython/menustrings.py:2005
-#, fuzzy
 msgid "Add or edit scale bar"
-msgstr "Přidat vrstvu"
+msgstr "Přidat nebo upravit měřítko"
 
 #: ../gui/wxpython/menustrings.py:2011
-#, fuzzy
 msgid "Add north arrow"
-msgstr "Měřítko a směrová růžice"
+msgstr "Přidat směrovou růžici"
 
 #: ../gui/wxpython/menustrings.py:2016
 #, fuzzy
@@ -14762,9 +13771,7 @@ msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
 #: ../gui/wxpython/tplot/g.gui.tplot.py:106
-msgid ""
-"With stvds it is not possible to use 'coordinates' and 'cats' options "
-"together"
+msgid "With stvds it is not possible to use 'coordinates' and 'cats' options together"
 msgstr ""
 
 #: ../gui/wxpython/tplot/g.gui.tplot.py:109
@@ -14772,9 +13779,7 @@ msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:42
-msgid ""
-"The Temporal Plot Tool needs the \"matplotlib\" (python-matplotlib) package "
-"to be installed."
+msgid "The Temporal Plot Tool needs the \"matplotlib\" (python-matplotlib) package to be installed."
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:95
@@ -14792,8 +13797,7 @@ msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:193
-msgid ""
-"Coordinates can be obtained for example by right-clicking on Map Display."
+msgid "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:208
@@ -14824,9 +13828,7 @@ msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:385
-msgid ""
-"Both coordinates and categories are set, coordinates will be used. The use "
-"categories remove text from coordinate form"
+msgid "Both coordinates and categories are set, coordinates will be used. The use categories remove text from coordinate form"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:390
@@ -14834,8 +13836,7 @@ msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:440
-msgid ""
-"Difference number of vector layers and maps in the vector temporal dataset"
+msgid "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:478
@@ -14845,8 +13846,7 @@ msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
 #: ../gui/wxpython/tplot/frame.py:625
-msgid ""
-"Problem getting data from raster temporal dataset. Empty list of values."
+msgid "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
@@ -14898,8 +13898,7 @@ msgstr ""
 msgid ""
 "No attribute table found.\n"
 "\n"
-"Do you want to create a new attribute table and defined a link to vector map "
-"<%s>?"
+"Do you want to create a new attribute table and defined a link to vector map <%s>?"
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/dialogs.py:77
@@ -14953,8 +13952,7 @@ msgstr "délka"
 
 #: ../gui/wxpython/dbmgr/vinfo.py:101
 #, python-brace-format
-msgid ""
-"Failed to query vector map <{map}>. Check database settings and topology."
+msgid "Failed to query vector map <{map}>. Check database settings and topology."
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:93 ../gui/wxpython/dbmgr/base.py:2065
@@ -14999,9 +13997,8 @@ msgid "Get first 256 unique values as sample"
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:231
-#, fuzzy
 msgid "Go to:"
-msgstr "Jdi na"
+msgstr "Přejít na:"
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:244
 msgid "Close dialog on apply"
@@ -15108,12 +14105,8 @@ msgstr ""
 
 #: ../gui/wxpython/dbmgr/manager.py:85
 #, python-format
-msgid ""
-"Database connection for vector map <%s> is not defined in DB file. You can "
-"define new connection in 'Manage layers' tab."
-msgstr ""
-"Databázové nastavení není pro vektorovou mapu <%s> definováno v souboru DB. "
-"Toto nastavení můžete provést v panelu 'Správa vrstev'."
+msgid "Database connection for vector map <%s> is not defined in DB file. You can define new connection in 'Manage layers' tab."
+msgstr "Databázové nastavení není pro vektorovou mapu <%s> definováno v souboru DB. Toto nastavení můžete provést v panelu 'Správa vrstev'."
 
 #: ../gui/wxpython/dbmgr/manager.py:90
 msgid "Please wait, loading attribute data..."
@@ -15154,12 +14147,8 @@ msgstr "Počet nahraných záznamů: %d"
 
 #: ../gui/wxpython/dbmgr/base.py:154
 #, python-format
-msgid ""
-"Attribute table <%s> not found. For creating the table switch to 'Manage "
-"layers' tab."
-msgstr ""
-"Atributová tabulka <%s> nebyla nalezena. Pro vytvoření tabulky se přepněte "
-"do záložky Správa tabulek'."
+msgid "Attribute table <%s> not found. For creating the table switch to 'Manage layers' tab."
+msgstr "Atributová tabulka <%s> nebyla nalezena. Pro vytvoření tabulky se přepněte do záložky Správa tabulek'."
 
 #: ../gui/wxpython/dbmgr/base.py:165
 #, python-format
@@ -15191,13 +14180,11 @@ msgstr "Nelze překódovat hodnotu. Změňte kódování v nastavení GUI ('Atri
 #: ../gui/wxpython/dbmgr/base.py:330
 #, python-format
 msgid ""
-"Error loading attribute data. Record number: %(rec)d. Unable to convert "
-"value '%(val)s' in key column (%(key)s) to integer.\n"
+"Error loading attribute data. Record number: %(rec)d. Unable to convert value '%(val)s' in key column (%(key)s) to integer.\n"
 "\n"
 "Details: %(detail)s"
 msgstr ""
-"Chyba při načítání atributových dat. Záznam číslo %(rec)d. Nelze převést "
-"hodnotu '%(val)s' v klíčovém sloupci(%(key)s) na integer.\n"
+"Chyba při načítání atributových dat. Záznam číslo %(rec)d. Nelze převést hodnotu '%(val)s' v klíčovém sloupci(%(key)s) na integer.\n"
 "\n"
 "Detaily: %(detail)s"
 
@@ -15268,8 +14255,7 @@ msgstr "Přidat nový sloupec"
 
 #: ../gui/wxpython/dbmgr/base.py:937
 msgid "Unable to add column to the table. No column name defined."
-msgstr ""
-"Nelze přidat sloupec do atributové tabulky. Nebyl zadáno jméno sloupce."
+msgstr "Nelze přidat sloupec do atributové tabulky. Nebyl zadáno jméno sloupce."
 
 #: ../gui/wxpython/dbmgr/base.py:950
 #, python-format
@@ -15387,12 +14373,8 @@ msgstr "Nelze vložit nový záznam."
 
 #: ../gui/wxpython/dbmgr/base.py:1540
 #, python-format
-msgid ""
-"Selected data records (%d) will be permanently deleted from table. Do you "
-"want to delete them?"
-msgstr ""
-"Vybrané záznamy dat (%d) budou natrvalo smazány z tabulky. Přejete si je "
-"smazat?"
+msgid "Selected data records (%d) will be permanently deleted from table. Do you want to delete them?"
+msgstr "Vybrané záznamy dat (%d) budou natrvalo smazány z tabulky. Přejete si je smazat?"
 
 #: ../gui/wxpython/dbmgr/base.py:1543 ../gui/wxpython/dbmgr/base.py:1589
 msgid "Delete records"
@@ -15400,12 +14382,8 @@ msgstr "Smazat záznamy"
 
 #: ../gui/wxpython/dbmgr/base.py:1586
 #, python-format
-msgid ""
-"All data records (%d) will be permanently deleted from table. Do you want to "
-"delete them?"
-msgstr ""
-"Všechny záznamy dat (%d) budou natrvalo smazány z tabulky. přejete se je "
-"smazat?"
+msgid "All data records (%d) will be permanently deleted from table. Do you want to delete them?"
+msgstr "Všechny záznamy dat (%d) budou natrvalo smazány z tabulky. přejete se je smazat?"
 
 #: ../gui/wxpython/dbmgr/base.py:1761
 msgid "Nothing to extract."
@@ -15450,21 +14428,13 @@ msgstr "Nelze přejmenovat sloupec. Nebyl zadáno jméno sloupce."
 
 #: ../gui/wxpython/dbmgr/base.py:2267
 #, python-format
-msgid ""
-"Unable to rename column <%(column)s> to <%(columnTo)s>. Column already "
-"exists in the table <%(table)s>."
-msgstr ""
-"Nelze přejmenovat sloupec <%(column)s>. Sloupec <%(columnTo)s> již v tabulce "
-"<%(table)s> existuje."
+msgid "Unable to rename column <%(column)s> to <%(columnTo)s>. Column already exists in the table <%(table)s>."
+msgstr "Nelze přejmenovat sloupec <%(column)s>. Sloupec <%(columnTo)s> již v tabulce <%(table)s> existuje."
 
 #: ../gui/wxpython/dbmgr/base.py:2283
 #, python-format
-msgid ""
-"Unable to rename column. Column <%(column)s> doesn't exist in the table <"
-"%(table)s>."
-msgstr ""
-"Nelze přejmenovat sloupec. Sloupec <%(column)s> v tabulce <%(table)s> "
-"neexistuje."
+msgid "Unable to rename column. Column <%(column)s> doesn't exist in the table <%(table)s>."
+msgstr "Nelze přejmenovat sloupec. Sloupec <%(column)s> v tabulce <%(table)s> neexistuje."
 
 #: ../gui/wxpython/dbmgr/base.py:2310
 msgid "Drop selected column"
@@ -15476,12 +14446,8 @@ msgstr "Odstranit všechny sloupce"
 
 #: ../gui/wxpython/dbmgr/base.py:2342
 #, fuzzy, python-format
-msgid ""
-"Selected %s will PERMANENTLY removed from table. Do you want to drop the "
-"column?"
-msgstr ""
-"Vybraný sloupec '%s' bude NAVŽDY odstraněn z tabulky. Chcete tento sloupec "
-"smazat?"
+msgid "Selected %s will PERMANENTLY removed from table. Do you want to drop the column?"
+msgstr "Vybraný sloupec '%s' bude NAVŽDY odstraněn z tabulky. Chcete tento sloupec smazat?"
 
 #: ../gui/wxpython/dbmgr/base.py:2345 ../gui/wxpython/dbmgr/base.py:2382
 msgid "Drop column(s)"
@@ -15598,25 +14564,17 @@ msgstr ""
 
 #: ../gui/wxpython/dbmgr/base.py:3220
 msgid "Unable to create new table. Table name or key column name is missing."
-msgstr ""
-"Nelze vytvořit novou atributovou tabulku. Nebyl zadán název tabulky nebo "
-"sloupec s klíčem."
+msgstr "Nelze vytvořit novou atributovou tabulku. Nebyl zadán název tabulky nebo sloupec s klíčem."
 
 #: ../gui/wxpython/dbmgr/base.py:3226
 #, python-format
 msgid "Unable to create new table. Table <%s> already exists in the database."
-msgstr ""
-"Nelze vytvořit novou atributovou tabulku. Tabulka <%s> již existuje v "
-"databázi."
+msgstr "Nelze vytvořit novou atributovou tabulku. Tabulka <%s> již existuje v databázi."
 
 #: ../gui/wxpython/dbmgr/base.py:3264
 #, python-format
-msgid ""
-"Unable to add new layer to vector map <%(vector)s>. Layer %(layer)d already "
-"exists."
-msgstr ""
-"Nelze přidat novou vrstvu k vektorové mapě <%(vector)s>. Vrstva %(layer)d "
-"již existuje."
+msgid "Unable to add new layer to vector map <%(vector)s>. Layer %(layer)d already exists."
+msgstr "Nelze přidat novou vrstvu k vektorové mapě <%(vector)s>. Vrstva %(layer)d již existuje."
 
 #: ../gui/wxpython/dbmgr/base.py:3429
 #, fuzzy
@@ -15639,8 +14597,7 @@ msgstr "Nelze provést nastavení '%s'"
 
 #: ../gui/wxpython/dbmgr/base.py:3534
 #, python-format
-msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+msgid "Unable to calculte statistics. Invalid number of lines %d (should be %d)."
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/base.py:3552
@@ -15776,9 +14733,7 @@ msgstr ""
 #: ../gui/wxpython/modules/colorrules.py:890
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
-msgstr ""
-"Vložte hodnoty rastrových kategorií nebo procenta (%(range)s = %(min)d-"
-"%(max)d)"
+msgstr "Vložte hodnoty rastrových kategorií nebo procenta (%(range)s = %(min)d-%(max)d)"
 
 #: ../gui/wxpython/modules/colorrules.py:978
 #, fuzzy
@@ -15856,12 +14811,8 @@ msgstr "Exportovat barevnou tabulku"
 
 #: ../gui/wxpython/modules/colorrules.py:1149
 #, fuzzy, python-format
-msgid ""
-"Database connection for vector map <%s> is not defined in DB file.  Do you "
-"want to create and connect new attribute table?"
-msgstr ""
-"Databázové nastavení není pro vektorovou mapu <%s> definováno v souboru DB. "
-"Toto nastavení můžete provést v panelu 'Správa vrstev'."
+msgid "Database connection for vector map <%s> is not defined in DB file.  Do you want to create and connect new attribute table?"
+msgstr "Databázové nastavení není pro vektorovou mapu <%s> definováno v souboru DB. Toto nastavení můžete provést v panelu 'Správa vrstev'."
 
 #: ../gui/wxpython/modules/colorrules.py:1152
 #, fuzzy
@@ -15870,12 +14821,8 @@ msgstr "Databázové spojení"
 
 #: ../gui/wxpython/modules/colorrules.py:1224
 #, python-format
-msgid ""
-"Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
-"table cannot be edited."
-msgstr ""
-"Vybraná vrstva <%(map)s> se v aktuálním mapsetu <%(mapset)s> nenachází. "
-"Atributovou tabulku nelze editovat."
+msgid "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute table cannot be edited."
+msgstr "Vybraná vrstva <%(map)s> se v aktuálním mapsetu <%(mapset)s> nenachází. Atributovou tabulku nelze editovat."
 
 #: ../gui/wxpython/modules/colorrules.py:1377
 #, python-format
@@ -15888,9 +14835,7 @@ msgstr "Prosím čekejte, načítají se data z atributové tabulky..."
 
 #: ../gui/wxpython/modules/colorrules.py:1470
 #, python-format
-msgid ""
-"Number of loaded records reached %d, displaying all the records will be time-"
-"consuming and may lead to computer freezing, do you still want to continue?"
+msgid "Number of loaded records reached %d, displaying all the records will be time-consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
 #: ../gui/wxpython/modules/colorrules.py:1474
@@ -15900,14 +14845,12 @@ msgstr ""
 #: ../gui/wxpython/modules/colorrules.py:1516
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
-msgstr ""
-"Vložte hodnoty vektorových atributů nebo rozmezí hodnot (n, nebo n1 až n2)"
+msgstr "Vložte hodnoty vektorových atributů nebo rozmezí hodnot (n, nebo n1 až n2)"
 
 #: ../gui/wxpython/modules/colorrules.py:1518
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
-msgstr ""
-"Vložte hodnoty vektorových atributů nebo rozmezí hodnot (n, nebo n1 až n2)"
+msgstr "Vložte hodnoty vektorových atributů nebo rozmezí hodnot (n, nebo n1 až n2)"
 
 #: ../gui/wxpython/modules/colorrules.py:1660
 #, fuzzy
@@ -16315,36 +15258,32 @@ msgid "Name for new 3D raster map to create"
 msgstr "Jméno pro nově vytvářenou %s"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:215
-#, fuzzy
 msgid "Name for new raster map to create"
-msgstr "Jméno pro nově vytvářenou %s"
+msgstr "Název nově vytvářené rastrové vrstvy"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:219
-#, fuzzy
 msgid "Insert existing 3D raster map"
-msgstr "Vložit existující %s"
+msgstr "Vložit existující 3D rastrovou vrstvu"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:221
-#, fuzzy
 msgid "Insert existing raster map"
-msgstr "Vložit existující %s"
+msgstr "Vložit existující rastrovou vrstvu"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:225
 msgid "Insert mapcalc function"
 msgstr "Vložit funkci mapcalc"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:236
-#, fuzzy
 msgid "Generate random seed for rand()"
-msgstr "Vytvořit náhodnou bodovou vrstvu"
+msgstr "Vytvořit náhodný seed pro rand()"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:237
 msgid "Seed:"
-msgstr ""
+msgstr "Seed:"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:240
 msgid "Integer seed for rand() function"
-msgstr ""
+msgstr "Celočíselný seed pro funkci rand()"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:247
 msgid "Add created raster map into layer tree"
@@ -16500,13 +15439,12 @@ msgid "Please wait, exporting image..."
 msgstr "Prosím čekejte, exportuji obrázek..."
 
 #: ../gui/wxpython/modules/histogram.py:270
-#, fuzzy
 msgid "GRASS GIS Histogramming Tool (d.histogram)"
-msgstr "GRASS GIS HIstogram obrazu nebo rastrové mapy"
+msgstr "Nástroj pro histogramy GRASS GISu (d.histogram)"
 
 #: ../gui/wxpython/modules/histogram.py:377
 msgid "Select font for histogram text"
-msgstr "vybrat font pro text histogramu"
+msgstr "Vybrat písmo pro text histogramu"
 
 #: ../gui/wxpython/mapswipe/dialogs.py:42
 #: ../gui/wxpython/mapswipe/toolbars.py:28
@@ -16704,9 +15642,7 @@ msgid "Vector <%s> exists"
 msgstr "Vektor <%s> existuje"
 
 #: ../gui/wxpython/iclass/digit.py:57
-msgid ""
-"You are trying to create a training area outside the computational region. "
-"Please, use g.region to set the appropriate region first."
+msgid "You are trying to create a training area outside the computational region. Please, use g.region to set the appropriate region first."
 msgstr ""
 
 #: ../gui/wxpython/iclass/digit.py:66
@@ -16802,9 +15738,8 @@ msgid "Plots"
 msgstr ""
 
 #: ../gui/wxpython/iclass/frame.py:379
-#, fuzzy
 msgid "Preview Display"
-msgstr "Tisk kompozice displeje"
+msgstr "Náhled kompozice okna"
 
 #: ../gui/wxpython/iclass/frame.py:382
 #, fuzzy
@@ -16898,9 +15833,7 @@ msgid "No imagery group selected."
 msgstr "Nebyla vybrána žádná mapová vrstva"
 
 #: ../gui/wxpython/iclass/frame.py:994
-msgid ""
-"Due to recent changes in classes, signatures can be outdated and should be "
-"recalculated. Do you still want to continue?"
+msgid "Due to recent changes in classes, signatures can be outdated and should be recalculated. Do you still want to continue?"
 msgstr ""
 
 #: ../gui/wxpython/iclass/frame.py:997
@@ -16921,9 +15854,7 @@ msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
 
 #: ../gui/wxpython/iclass/frame.py:1070
 #, fuzzy, python-format
-msgid ""
-"Group <%(group)s> does not have enough files (it has %(files)d files). "
-"Operation canceled."
+msgid "Group <%(group)s> does not have enough files (it has %(files)d files). Operation canceled."
 msgstr "Neplatná hodnota souřadnice. Operace zrušena."
 
 #: ../gui/wxpython/iclass/frame.py:1079
@@ -17019,7 +15950,7 @@ msgstr "Přiblížit na výpočetní region (nastaven pomocí g.region)"
 
 #: ../gui/wxpython/gcp/mapdisplay.py:471
 msgid "Set computational region from display"
-msgstr "Nastavit výpočetní region podle aktuálního zobrazení"
+msgstr "Nastavit výpočetní region podle aktuálního okna"
 
 #: ../gui/wxpython/gcp/manager.py:136
 msgid "Setup for georectification"
@@ -17170,14 +16101,12 @@ msgstr "Čtení souboru POINTS selhalo"
 #: ../gui/wxpython/gcp/manager.py:1382
 #, fuzzy, python-format
 msgid ""
-"Insufficient points defined and active (checked) for selected rectification "
-"method (order: %d).\n"
+"Insufficient points defined and active (checked) for selected rectification method (order: %d).\n"
 "3+ points needed for 1st order,\n"
 "6+ points for 2nd order, and\n"
 "10+ points for 3rd order."
 msgstr ""
-"Nedostatečný počet definovaných a aktivních vlicovacích bodů pro vybranou "
-"metodu georektifikace.\n"
+"Nedostatečný počet definovaných a aktivních vlicovacích bodů pro vybranou metodu georektifikace.\n"
 "3+ bodů je potřeba pro georektifikaci 1. řádu,\n"
 "7+ bodů je potřeba pro georektifikaci 2. řádu,\n"
 "10+ bodů je potřeba pro georektifikaci 3. řádu."
@@ -17428,19 +16357,16 @@ msgstr ""
 "Dvojklik pro změnu nastavení."
 
 #: ../gui/wxpython/mapwin/buffered.py:154
-#, fuzzy
 msgid "legend"
-msgstr "Legenda"
+msgstr "legenda"
 
 #: ../gui/wxpython/mapwin/buffered.py:154
-#, fuzzy
 msgid "scale bar"
-msgstr "Přidat vrstvu"
+msgstr "měřítko"
 
 #: ../gui/wxpython/mapwin/buffered.py:154
-#, fuzzy
 msgid "north arrow"
-msgstr "Měřítko a směrová růžice"
+msgstr "směrová růžice"
 
 #: ../gui/wxpython/mapwin/buffered.py:233
 #, fuzzy
@@ -17466,9 +16392,8 @@ msgid "Zoom to saved region extents"
 msgstr "Přiblížit na uložený region"
 
 #: ../gui/wxpython/mapwin/buffered.py:1881
-#, fuzzy
 msgid "Set compulational region from named region"
-msgstr "Nastavit výpočetní region podle aktuálního zobrazení"
+msgstr "Nastavit výpočetní region podle pojmenovaného regionu"
 
 #: ../gui/wxpython/mapwin/buffered.py:1893
 #, python-format
@@ -17477,12 +16402,11 @@ msgstr "Region <%s> nebyl nalezen. Operace ukončena."
 
 #: ../gui/wxpython/mapwin/buffered.py:1922
 msgid "Save display extents to region file"
-msgstr "Uložit hranice displeje souboru regionu"
+msgstr "Uložit rozsah okna do souboru regionu"
 
 #: ../gui/wxpython/mapwin/buffered.py:1924
-#, fuzzy
 msgid "Save computational region to region file"
-msgstr "Nastavit výpočetní region podle aktuálního zobrazení"
+msgstr "Uložit výpočetní region do souboru regionu"
 
 #: ../gui/wxpython/mapwin/buffered.py:1934
 #, python-format
@@ -17523,19 +16447,14 @@ msgstr ""
 
 #: ../gui/wxpython/mapwin/analysis.py:218
 #: ../gui/wxpython/mapwin/analysis.py:332
-#, fuzzy
 msgid "Measuring finished"
-msgstr "Měření vzdálenosti"
+msgstr "Měření ukončeno"
 
 #: ../gui/wxpython/mapwin/analysis.py:233
 #: ../gui/wxpython/mapwin/analysis.py:342
 #, python-format
-msgid ""
-"Click and drag with left mouse button to measure.%sDouble click with left "
-"button to clear."
-msgstr ""
-"Klikněte levým tlačítkem myši a posunujte myš pro měření vzdálenosti. "
-"%sDvojklik smaže předchozí měření."
+msgid "Click and drag with left mouse button to measure.%sDouble click with left button to clear."
+msgstr "Klikněte levým tlačítkem myši a posunujte myš pro měření vzdálenosti. %sDvojklik smaže předchozí měření."
 
 #: ../gui/wxpython/mapwin/analysis.py:239
 msgid "Measuring distance"
@@ -17543,7 +16462,7 @@ msgstr "Měření vzdálenosti"
 
 #: ../gui/wxpython/mapwin/analysis.py:242
 msgid "Measuring distance:"
-msgstr "Měřená vzdálenost:"
+msgstr "Měření vzdálenosti:"
 
 #: ../gui/wxpython/mapwin/analysis.py:250
 #, python-format
@@ -17554,29 +16473,25 @@ msgstr ""
 
 #: ../gui/wxpython/mapwin/analysis.py:286
 #: ../gui/wxpython/mapwin/analysis.py:292
-#, fuzzy
 msgid "segment"
-msgstr "Legenda"
+msgstr "segment"
 
 #: ../gui/wxpython/mapwin/analysis.py:287
 #: ../gui/wxpython/mapwin/analysis.py:293
-#, fuzzy
 msgid "total distance"
-msgstr "Měření vzdálenosti"
+msgstr "celková vzdálenost"
 
 #: ../gui/wxpython/mapwin/analysis.py:288
-#, fuzzy
 msgid "bearing"
-msgstr "Upozornění"
+msgstr "azimut"
 
 #: ../gui/wxpython/mapwin/analysis.py:288
 msgid "degrees (clockwise from grid-north)"
-msgstr ""
+msgstr "stupňů (po směru od severu podle mapy)"
 
 #: ../gui/wxpython/mapwin/analysis.py:346
-#, fuzzy
 msgid "Measuring area:"
-msgstr "Měřená vzdálenost:"
+msgstr "Měření plochy:"
 
 #: ../gui/wxpython/mapwin/analysis.py:359
 msgid "Units not recognized, measurement failed."
@@ -17586,7 +16501,7 @@ msgstr ""
 #: ../gui/wxpython/mapwin/analysis.py:366
 #, python-brace-format
 msgid "Area: {area} {unit}\n"
-msgstr ""
+msgstr "Plocha: {area} {unit}\n"
 
 #: ../gui/wxpython/gui_core/dialogs.py:77
 msgid "Required item is not set."
@@ -17658,12 +16573,8 @@ msgstr "Nelze vytvořit vektorovou mapu <%s>."
 
 #: ../gui/wxpython/gui_core/dialogs.py:421
 #, python-format
-msgid ""
-"Vector map <%s> already exists in the current mapset. Do you want to "
-"overwrite it?"
-msgstr ""
-"Vektorová mapa <%s> již existuje v současném mapsetu. Přejete si tuto mapu "
-"přepsat?"
+msgid "Vector map <%s> already exists in the current mapset. Do you want to overwrite it?"
+msgstr "Vektorová mapa <%s> již existuje v současném mapsetu. Přejete si tuto mapu přepsat?"
 
 #: ../gui/wxpython/gui_core/dialogs.py:504
 msgid "Load region:"
@@ -17674,9 +16585,7 @@ msgid "Save region:"
 msgstr "Uložit region:"
 
 #: ../gui/wxpython/gui_core/dialogs.py:545
-msgid ""
-"Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
-"'@', ',', '=', '*', and all other non-alphanumeric characters."
+msgid "Name cannot begin with '.' and must not contain space, quotes, '/', ''', '@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/dialogs.py:560
@@ -17701,9 +16610,7 @@ msgstr "Zavřít dialog při souhlasu"
 
 #: ../gui/wxpython/gui_core/dialogs.py:636
 #: ../gui/wxpython/gui_core/dialogs.py:1383
-msgid ""
-"Put here a regular expression. Characters '.*' stand for anything, character "
-"'^' stands for the beginning and '$' for the end."
+msgid "Put here a regular expression. Characters '.*' stand for anything, character '^' stands for the beginning and '$' for the end."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/dialogs.py:643
@@ -17850,7 +16757,7 @@ msgstr "Seznam %s vrstev"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1627
 msgid "right click to (un)select all"
-msgstr ""
+msgstr "vybrat vše (zrušit výběr) po kliknutí pravým tlačítkem"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1630
 msgid "Layer id"
@@ -17912,14 +16819,12 @@ msgid "Unable to determine number of raster bands"
 msgstr "Nelze vytvořit profil rastrové mapy."
 
 #: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
 msgid "Define output format for vector data"
-msgstr "Import vektorové mapy"
+msgstr "Určete výstupní formát vektorových dat"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
 msgid "Define output format for raster data"
-msgstr "Import rastrové mapy"
+msgstr "Určete výstupní formát rastrových dat"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2056
 #, fuzzy
@@ -17954,11 +16859,11 @@ msgstr "Neprůhledný"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2410
 msgid "Set image size"
-msgstr "Nastavit velikost obrazu"
+msgstr "Nastavit velikost obrázku"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2419
 msgid "Image size"
-msgstr "Velikost obrazu"
+msgstr "Velikost obrázku"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2466
 msgid "Template:"
@@ -18018,9 +16923,8 @@ msgid "GSelect: invalid item: %s"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/gselect.py:1297
-#, fuzzy
 msgid "Output settings"
-msgstr "Nastavení serveru"
+msgstr "Nastavení výstupu"
 
 #: ../gui/wxpython/gui_core/gselect.py:1299
 msgid "Source settings"
@@ -18045,47 +16949,40 @@ msgid "Protocol"
 msgstr "Protokol"
 
 #: ../gui/wxpython/gui_core/gselect.py:1339
-#, fuzzy
 msgid "Output type"
-msgstr "Výstup"
+msgstr "Typ výstupu"
 
 #: ../gui/wxpython/gui_core/gselect.py:1341
 msgid "Source type"
-msgstr ""
+msgstr "Typ zdroje"
 
 #: ../gui/wxpython/gui_core/gselect.py:1361
-#, fuzzy
 msgid "All files"
-msgstr "Hodnoty buňky"
+msgstr "Všechny soubory"
 
 #: ../gui/wxpython/gui_core/gselect.py:1377
-#, fuzzy
 msgid "ZIP files"
-msgstr "Hodnoty buňky"
+msgstr "Soubory ZIP"
 
 #: ../gui/wxpython/gui_core/gselect.py:1378
-#, fuzzy
 msgid "GZIP files"
-msgstr "Hodnoty buňky"
+msgstr "Soubory GZIP"
 
 #: ../gui/wxpython/gui_core/gselect.py:1379
-#, fuzzy
 msgid "TAR files"
-msgstr "Hodnoty buňky"
+msgstr "Soubory TAR"
 
 #: ../gui/wxpython/gui_core/gselect.py:1381
-#, fuzzy
 msgid "TARGZ files"
-msgstr "Hodnoty buňky"
+msgstr "Soubory TARGZ"
 
 #: ../gui/wxpython/gui_core/gselect.py:1387
 msgid "File:"
 msgstr "Soubor:"
 
 #: ../gui/wxpython/gui_core/gselect.py:1388
-#, fuzzy
 msgid "Choose file to import"
-msgstr "Vyberte soubor DXF pro import"
+msgstr "Vyberte soubor pro import"
 
 #: ../gui/wxpython/gui_core/gselect.py:1401
 #: ../gui/wxpython/gui_core/gselect.py:1463
@@ -18121,9 +17018,8 @@ msgstr "Vytvořit/znovu sestavit topologii"
 #: ../gui/wxpython/gui_core/gselect.py:1590
 #: ../gui/wxpython/gui_core/gselect.py:1641
 #: ../gui/wxpython/gui_core/gselect.py:1679
-#, fuzzy
 msgid "Creation options:"
-msgstr "Nastavit volby"
+msgstr "Možnosti vytvoření:"
 
 #: ../gui/wxpython/gui_core/gselect.py:1573
 #: ../gui/wxpython/gui_core/gselect.py:1612
@@ -18136,9 +17032,8 @@ msgid "Protocol:"
 msgstr "Protokol:"
 
 #: ../gui/wxpython/gui_core/gselect.py:1694
-#, fuzzy
 msgid "No settings available"
-msgstr "3D mód není k dispozici"
+msgstr "Nejsou k dispozici žádná nastavení"
 
 #: ../gui/wxpython/gui_core/gselect.py:2113
 #, fuzzy
@@ -18158,14 +17053,12 @@ msgid "Set to default"
 msgstr "Nastavit na výchozí nastavení"
 
 #: ../gui/wxpython/gui_core/preferences.py:88
-#, fuzzy
 msgid "Revert settings to default"
-msgstr "Znovu nastavit výchozí nastavení a uložit"
+msgstr "Vrátit nastavení na výchozí"
 
 #: ../gui/wxpython/gui_core/preferences.py:90
-#, fuzzy
 msgid "Apply changes for the current session only and close"
-msgstr "Použít změny pro současné sezení a zavřít"
+msgstr "Použít změny pouze pro současné sezení a zavřít"
 
 #: ../gui/wxpython/gui_core/preferences.py:91
 msgid "Save for this session only"
@@ -18193,7 +17086,7 @@ msgstr "Zeptat se při odstraňování mapy ze stromu vrstev"
 
 #: ../gui/wxpython/gui_core/preferences.py:272
 msgid "Ask when quiting wxGUI or closing display"
-msgstr "Zeptat se při ukončení wxGUI nebo při zavírání displeje"
+msgstr "Zeptat se při ukončení wxGUI nebo při zavírání mapového okna"
 
 #: ../gui/wxpython/gui_core/preferences.py:282
 #: ../gui/wxpython/gui_core/preferences.py:292
@@ -18226,12 +17119,8 @@ msgid "Save current window layout as default"
 msgstr "Uložit aktuální nastavení oken jako výchozí"
 
 #: ../gui/wxpython/gui_core/preferences.py:353
-msgid ""
-"Save current position and size of Layer Manager window and opened Map "
-"Display window(s) and use as default for next sessions."
-msgstr ""
-"Uložit aktuální pozici a velikost okna Správa vrstev a mapový displej a "
-"použít jako výchozí při příštích sezeních."
+msgid "Save current position and size of Layer Manager window and opened Map Display window(s) and use as default for next sessions."
+msgstr "Uložit aktuální pozici a velikost okna Správa vrstev a mapový displej a použít jako výchozí při příštích sezeních."
 
 #: ../gui/wxpython/gui_core/preferences.py:389
 msgid "Font for command output:"
@@ -18266,7 +17155,6 @@ msgid "Icon theme (requires GUI restart):"
 msgstr "Téma ikonek (vyžaduje restart GUI):"
 
 #: ../gui/wxpython/gui_core/preferences.py:537
-#, fuzzy
 msgid "Module dialog style:"
 msgstr "Styl dialogu pro moduly:"
 
@@ -18300,7 +17188,7 @@ msgstr "Povolit automatické přiblížení na vybranou mapovou vrstvu"
 
 #: ../gui/wxpython/gui_core/preferences.py:723
 msgid "Mouse wheel action:"
-msgstr ""
+msgstr "Akce pro kolečko myši:"
 
 #: ../gui/wxpython/gui_core/preferences.py:738
 #, fuzzy
@@ -18308,9 +17196,8 @@ msgid "Mouse scrolling direction:"
 msgstr "Vyberte vstupní adresář"
 
 #: ../gui/wxpython/gui_core/preferences.py:764
-#, fuzzy
 msgid "Advanced display settings"
-msgstr "Rozšířené nastavení"
+msgstr "Rozšířené nastavení okna"
 
 #: ../gui/wxpython/gui_core/preferences.py:770
 msgid "3D view depth buffer (possible values are 16, 24, 32):"
@@ -18321,14 +17208,12 @@ msgid "Modules"
 msgstr "Moduly"
 
 #: ../gui/wxpython/gui_core/preferences.py:805
-#, fuzzy
 msgid "Module dialog settings"
-msgstr "Dialog nastavení příkazů"
+msgstr "Nastavení dialogu pro moduly"
 
 #: ../gui/wxpython/gui_core/preferences.py:826
-#, fuzzy
 msgid "Close dialog when module is successfully finished"
-msgstr "Zavřít dialog při ukončení"
+msgstr "Zavřít dialog při úspěšném ukončení modulu"
 
 #: ../gui/wxpython/gui_core/preferences.py:847
 msgid "Allow interactive input"
@@ -18394,7 +17279,7 @@ msgstr "Datový prohlížeč"
 
 #: ../gui/wxpython/gui_core/preferences.py:1114
 msgid "Left mouse double click:"
-msgstr "Dvojklik levých tlačítkem myši:"
+msgstr "Dvojklik levým tlačítkem myši:"
 
 #: ../gui/wxpython/gui_core/preferences.py:1126
 msgid "Encoding (e.g. utf-8, ascii, iso8859-1, koi8-r):"
@@ -18415,12 +17300,9 @@ msgstr "Nastavení kartografického zobrazení ve stavového řádku"
 #: ../gui/wxpython/gui_core/preferences.py:1207
 msgid ""
 "\n"
-"Note: This only controls the coordinates displayed in the lower-left of the "
-"Map Display\n"
-"window's status bar. It is purely cosmetic and does not affect the working "
-"location's\n"
-"projection in any way. You will need to enable the Projection check box in "
-"the drop-down\n"
+"Note: This only controls the coordinates displayed in the lower-left of the Map Display\n"
+"window's status bar. It is purely cosmetic and does not affect the working location's\n"
+"projection in any way. You will need to enable the Projection check box in the drop-down\n"
 "menu located at the bottom of the Map Display window.\n"
 msgstr ""
 
@@ -18433,12 +17315,8 @@ msgid "EPSG file:"
 msgstr "Soubor s kódy EPSG:"
 
 #: ../gui/wxpython/gui_core/preferences.py:1270
-msgid ""
-"Load EPSG codes (be patient), enter EPSG code or insert Proj.4 string "
-"directly."
-msgstr ""
-"Načíst kódy EPSG (buďte trpěliví), vložit kód EPSG nebo vložit přímo řetězec "
-"Proj.4."
+msgid "Load EPSG codes (be patient), enter EPSG code or insert Proj.4 string directly."
+msgstr "Načíst kódy EPSG (buďte trpěliví), vložit kód EPSG nebo vložit přímo řetězec Proj.4."
 
 #: ../gui/wxpython/gui_core/preferences.py:1278
 msgid "&Load EPSG codes"
@@ -18516,32 +17394,28 @@ msgid "Click here to hide search module engine"
 msgstr "Klikněte zde pro skrytí vyhledávacího modulu"
 
 #: ../gui/wxpython/gui_core/goutput.py:130
-#, fuzzy
 msgid "Command prompt"
-msgstr "Výstup příkazů"
+msgstr "Příkazový řádek"
 
 #: ../gui/wxpython/gui_core/goutput.py:132
-#, fuzzy
 msgid "Output window"
-msgstr "Výstup"
+msgstr "Okno s výstupem"
 
 #: ../gui/wxpython/gui_core/goutput.py:139
-#, fuzzy
 msgid "Clear output window content"
-msgstr "V&yčistit výstup"
+msgstr "Vyčistit obsah okna s výstupem"
 
 #: ../gui/wxpython/gui_core/goutput.py:141
 msgid "Clear command prompt content"
-msgstr ""
+msgstr "Vyčistit obsah příkazového řádku"
 
 #: ../gui/wxpython/gui_core/goutput.py:143
 msgid "Save output window content to the file"
-msgstr ""
+msgstr "Uložit obsah okna s výstupem do souboru"
 
 #: ../gui/wxpython/gui_core/goutput.py:145
-#, fuzzy
 msgid "Abort running command"
-msgstr "Přerušit běžící příkaz"
+msgstr "Zrušit běžící příkaz"
 
 #: ../gui/wxpython/gui_core/goutput.py:147
 #, fuzzy
@@ -18549,9 +17423,7 @@ msgid "&Log file"
 msgstr "Logaritmické měřítko"
 
 #: ../gui/wxpython/gui_core/goutput.py:149
-msgid ""
-"Toggle to save list of executed commands into a file; content saved when "
-"switching off."
+msgid "Toggle to save list of executed commands into a file; content saved when switching off."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/goutput.py:374
@@ -18584,9 +17456,9 @@ msgid ""
 msgstr "Nelze načíst seznam EPSG kódů: %s"
 
 #: ../gui/wxpython/gui_core/goutput.py:392
-#, fuzzy, python-format
+#, python-format
 msgid "Command output saved into '%s'"
-msgstr "Výstup příkazů"
+msgstr "Výstup příkazů uložen do '%s'"
 
 #: ../gui/wxpython/gui_core/goutput.py:447
 #, fuzzy, python-format
@@ -18594,13 +17466,12 @@ msgid "Command log saved to '%s'"
 msgstr "Výstup příkazů"
 
 #: ../gui/wxpython/gui_core/query.py:29
-#, fuzzy
 msgid "Query results"
-msgstr "Dotazování rastrové vrstvy"
+msgstr "Výsledky dotazu"
 
 #: ../gui/wxpython/gui_core/query.py:41
 msgid "Right click to copy selected values to clipboard."
-msgstr ""
+msgstr "Po kliknutí pravým tlačítkem lze vybrané hodnoty zkopírovat do schránky."
 
 #: ../gui/wxpython/gui_core/query.py:45
 msgid "Feature"
@@ -18615,19 +17486,17 @@ msgid "Copy all to clipboard"
 msgstr "Kopírovat vše do schránky"
 
 #: ../gui/wxpython/gui_core/query.py:64
-#, fuzzy
 msgid "Redirect to console"
-msgstr "Vybrat vektorovou mapu"
+msgstr "Přesměrovat do konzole"
 
 #: ../gui/wxpython/gui_core/query.py:112 ../gui/wxpython/gui_core/query.py:113
-#, fuzzy, python-format
+#, python-format
 msgid "Copy from '%s' column"
-msgstr "Odstranit všechny sloupce"
+msgstr "Kopírovat ze sloupce '%s'"
 
 #: ../gui/wxpython/gui_core/query.py:114
-#, fuzzy
 msgid "Copy selected lines"
-msgstr "Odstranit zvolený sloupec"
+msgstr "Kopírovat vybrané řádky"
 
 #: ../gui/wxpython/gui_core/query.py:117 ../gui/wxpython/gui_core/query.py:120
 #, python-format
@@ -18635,28 +17504,24 @@ msgid "Copy '%s'"
 msgstr "Kopírovat '%s'"
 
 #: ../gui/wxpython/gui_core/query.py:121
-#, fuzzy
 msgid "Copy line"
-msgstr "Kopírovat tabulku"
+msgstr "Kopírovat řádek"
 
 #: ../gui/wxpython/gui_core/query.py:143
-#, fuzzy
 msgid "Query results:"
-msgstr "Dotazování rastrové vrstvy"
+msgstr "Výsledky dotazu:"
 
 #: ../gui/wxpython/gui_core/query.py:146
 msgid " "
 msgstr ""
 
 #: ../gui/wxpython/gui_core/query.py:230
-#, fuzzy
 msgid "east, north"
-msgstr "Test normality"
+msgstr "východní, severní"
 
 #: ../gui/wxpython/gui_core/query.py:241
-#, fuzzy
 msgid "Nothing found"
-msgstr "Není co smazat"
+msgstr "Nic nenalezeno"
 
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
@@ -18758,9 +17623,9 @@ msgid "%d translated"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/ghelp.py:546
-#, fuzzy, python-format
+#, python-format
 msgid "File <%s> not found"
-msgstr "Soubor nebyl nalezen."
+msgstr "Soubor <%s> nebyl nalezen."
 
 #: ../gui/wxpython/gui_core/ghelp.py:701
 msgid "&Next"
@@ -18791,9 +17656,7 @@ msgid "Add created map(s) into layer tree"
 msgstr "Přidat vytvořenou mapu do stromu vrstev"
 
 #: ../gui/wxpython/gui_core/forms.py:586
-msgid ""
-"Close dialog when command is successfully finished. Change this settings in "
-"Preferences dialog ('Command' tab)."
+msgid "Close dialog when command is successfully finished. Change this settings in Preferences dialog ('Command' tab)."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/forms.py:751
@@ -18809,7 +17672,8 @@ msgstr "Požadováno"
 msgid "Optional"
 msgstr "Volitelné"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:904
+#: ../gui/wxpython/gui_core/forms.py:1653
 msgid "Parameterized in model"
 msgstr "Parametrizace v modelu"
 
@@ -18854,9 +17718,7 @@ msgid "or enter values directly:"
 msgstr "nebo zadejte hodnoty přímo:"
 
 #: ../gui/wxpython/gui_core/forms.py:1562
-msgid ""
-"Enter file content directly instead of specifying a file. Temporary file "
-"will be automatically created."
+msgid "Enter file content directly instead of specifying a file. Temporary file will be automatically created."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/forms.py:1839
@@ -19023,12 +17885,10 @@ msgid "Display map"
 msgstr "Zobrazit mapu"
 
 #: ../gui/wxpython/gui_core/toolbars.py:37
-#, fuzzy
 msgid "Re-render modified map layers only"
-msgstr "Překreslit změněné mapové vrstvy"
+msgstr "Překreslit pouze změněné mapové vrstvy"
 
 #: ../gui/wxpython/gui_core/toolbars.py:39
-#, fuzzy
 msgid "Render map"
 msgstr "Překreslit mapu"
 
@@ -19038,11 +17898,11 @@ msgstr "Vynutit překreslení všech mapových vrstev"
 
 #: ../gui/wxpython/gui_core/toolbars.py:42
 msgid "Erase display"
-msgstr "Vymazat displej"
+msgstr "Vymazat okno"
 
 #: ../gui/wxpython/gui_core/toolbars.py:43
 msgid "Erase display canvas with given background color"
-msgstr ""
+msgstr "Vymazat plochu okna na danou barvu pozadí"
 
 #: ../gui/wxpython/gui_core/toolbars.py:45
 msgid "Pointer"
@@ -19054,7 +17914,7 @@ msgstr "Zvětšit"
 
 #: ../gui/wxpython/gui_core/toolbars.py:48
 msgid "Drag or click mouse to zoom"
-msgstr "Kliknout nebo táhnout myší pro přiblížení"
+msgstr "Zvětšit kliknutím nebo táhnutím myší"
 
 #: ../gui/wxpython/gui_core/toolbars.py:50
 msgid "Zoom out"
@@ -19062,28 +17922,25 @@ msgstr "Zmenšit"
 
 #: ../gui/wxpython/gui_core/toolbars.py:51
 msgid "Drag or click mouse to unzoom"
-msgstr "Kliknout nebo táhnout myší pro zmenšení"
+msgstr "Zmenšit kliknutím nebo táhnutím myší"
 
 #: ../gui/wxpython/gui_core/toolbars.py:53
 msgid "Return to previous zoom"
 msgstr "Vrátit na předchozí zvětšení"
 
 #: ../gui/wxpython/gui_core/toolbars.py:55
-#, fuzzy
 msgid "Various zoom options"
-msgstr "Nastavení přibližování"
+msgstr "Nastavení přiblížení"
 
 #: ../gui/wxpython/gui_core/toolbars.py:56
-#, fuzzy
 msgid "Zoom to default or saved region, save to named region, ..."
-msgstr "Přiblížit na výpočetní region"
+msgstr "Přiblížit na výchozí nebo uložený region, uložit pojmenovaný region, ..."
 
 #: ../gui/wxpython/gui_core/toolbars.py:58
 msgid "Zoom to selected map layer(s)"
-msgstr "Přiblížit na vybranou mapu"
+msgstr "Přiblížit na vybranou vrstvu"
 
 #: ../gui/wxpython/gui_core/toolbars.py:60
-#, fuzzy
 msgid "Zoom to computational region extent"
 msgstr "Přiblížit na výpočetní region"
 
@@ -19096,9 +17953,8 @@ msgid "Drag with mouse to pan"
 msgstr "Táhnutím myší posunovat mapu"
 
 #: ../gui/wxpython/gui_core/toolbars.py:65
-#, fuzzy
 msgid "Save display to file"
-msgstr "Uložit kompozici displeje do souboru"
+msgstr "Uložit okno do souboru"
 
 #: ../gui/wxpython/gui_core/toolbars.py:69
 msgid "Select font"
@@ -19110,12 +17966,11 @@ msgstr "Přidat mapové prvky"
 
 #: ../gui/wxpython/gui_core/toolbars.py:80
 msgid "Overlay elements like scale and legend onto map"
-msgstr "Přiložit mapové prvky jako měřítko a legendu do mapy"
+msgstr "Umístit na mapu prvky jako měřítko a legendu"
 
 #: ../gui/wxpython/gui_core/toolbars.py:82
-#, fuzzy
 msgid "Create histogram with d.histogram"
-msgstr "Vytvořit histogram obrazu nebo rastrového souboru"
+msgstr "Vytvořit histogram pomocí d.histogram"
 
 #: ../gui/wxpython/gui_core/toolbars.py:256
 #, fuzzy
@@ -19133,492 +17988,21 @@ msgid "Run selected module from the tree"
 msgstr "Spustit vybraný příkaz"
 
 #, fuzzy
-#~ msgid "Temporary map '%s' with result "
-#~ msgstr "Soubor již existuje"
-
-#, fuzzy
-#~ msgid "Vector map %s already exists. "
-#~ msgstr "Soubor již existuje"
-
-#, fuzzy
-#~ msgid "Temporary map %s  already exists.\n"
-#~ msgstr "Soubor již existuje"
-
-#, fuzzy
-#~ msgid "Temporary map '%s' was changed outside "
-#~ msgstr "Soubor již existuje"
-
-#~ msgid "Exit GUI"
-#~ msgstr "Konec grafického prostředí"
-
-#, fuzzy
-#~ msgid "List raster3D dataset maps"
-#~ msgstr "Připojit rastrová data"
-
-#, fuzzy
-#~ msgid "Extract subset of raster3D dataset"
-#~ msgstr "Import rastrových dat"
-
-#, fuzzy
-#~ msgid "Raster3D calculations"
-#~ msgstr "3D rastrový kalkulátor"
-
-#, fuzzy
-#~ msgid "Univariate raster3D dataset statistics"
-#~ msgstr "Univariantní statistika rastrové vrstvy"
-
-#~ msgid "Add condition"
-#~ msgstr "Přidat podmínku"
-
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "Přidá podmínky (if/else) do modelu"
-
-#~ msgid "Invalid input data"
-#~ msgstr "Neplatná vstupní data"
-
-#, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Přidat připojené vrstvy do stromu vrstev"
-
-#, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Přidat importované vrstvy do stromu vrstev"
-
-#, fuzzy
-#~ msgid "Unpacks a vector map packed with v.pack."
-#~ msgstr "Aktualizuje matadata vektorové vrstvy."
-
-#~ msgid "Multiple import formats using OGR"
-#~ msgstr "Import různých formátů pomocí OGR"
-
-#, fuzzy
-#~ msgid "Common export formats using OGR"
-#~ msgstr "Export do běžných formátů"
-
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr ""
-#~ "Nastavit výpočetní region podle podle vybrané mapy (ignoruje NULL hodnoty)"
-
-#~ msgid "Multiple GPS export formats using GPSBabel"
-#~ msgstr "Export různých formátů GPS pomocí GPSBabel"
-
-#, fuzzy
-#~ msgid ""
-#~ "Exports a vector map to a GPS receiver or file format supported by "
-#~ "GPSBabel."
-#~ msgstr ""
-#~ "Exportuje vektorovou mapu do GPS přijímače nebo do formátu, který "
-#~ "podporuje GPSBabel."
-
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "Import starého vektorového formátu GRASS"
-
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr "Import starého vektorového formátu GRASS (všechny mapy)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "Převede starou verzi GRASS vektoru (< 5.7) do současného formátu"
-
-#, fuzzy
-#~ msgid "GPS data import"
-#~ msgstr "GPSBabel GPS import"
-
-#~ msgid "GEOnet import"
-#~ msgstr "GEOnet import"
-
-#~ msgid "IDW from raster points (alternate method for sparse points)"
-#~ msgstr ""
-#~ "Interpolace IDW z rastrových bodů (alternativní metoda pro malý počet "
-#~ "bodů)"
-
-#~ msgid "Create optimally placed labels"
-#~ msgstr "Vytvořit optimálně umístěné popisky"
-
-#~ msgid "Bit pattern comparison "
-#~ msgstr "Korelace (bit pattern comparsion) pro ID pixelů s nízkou kvalitou"
-
-#, fuzzy
-#~ msgid "Data file <%(name)s> imported successfully."
-#~ msgstr "Vektorová mapa <%(name)s> (%(type)s) úspěšně načtena"
-
-#, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "Správce atributových dat"
-
-#, fuzzy
-#~ msgid "Please select first the raster map"
-#~ msgstr "Prosím vyberte čistící nástroj, který chcete posunout dolů"
-
-#, fuzzy
-#~ msgid "Do you want to save changes?"
-#~ msgstr "Chcete uložit změny v modelu?"
-
-#, fuzzy
-#~ msgid "Save raster map changes"
-#~ msgstr "Uložit změny"
-
-#, fuzzy
-#~ msgid "Failed to create backup copy of edited raster map."
-#~ msgstr "Nelze vytvořit profil rastrové mapy."
-
-#, fuzzy
-#~ msgid "Failed to create new raster map."
-#~ msgstr "Nelze vytvořit vektorovou mapu <%s>."
-
-#, fuzzy
-#~ msgid "Rasterizing..."
-#~ msgstr "Vykreslit"
-
-#, fuzzy
-#~ msgid "Failed to set default color table for edited raster map"
-#~ msgstr "Vytvořit novou tabulku barev pro rastrovou mapu"
-
-#, fuzzy
-#~ msgid "Digitize area"
-#~ msgstr "DIgitalizovat novou plochu"
-
-#, fuzzy
-#~ msgid "Digitize line"
-#~ msgstr "Přidat novou linii"
-
-#, fuzzy
-#~ msgid "Digitize point"
-#~ msgstr "Přidat nový bod"
-
-#, fuzzy
-#~ msgid "Save raster map"
-#~ msgstr "Překrývat rastrové mapy"
-
-#, fuzzy
-#~ msgid "Quit raster digitizer"
-#~ msgstr "Vektorová digitalizace"
-
-#, fuzzy
-#~ msgid "Select raster map"
-#~ msgstr "Vybrat rastrovou mapu:"
-
-#, fuzzy
-#~ msgid "Cell value:"
-#~ msgstr "Hodnoty buňky"
-
-#, fuzzy
-#~ msgid "New raster map"
-#~ msgstr "rastrová mapa"
-
-#, fuzzy
-#~ msgid "Create new raster map"
-#~ msgstr "Vytvořit novou vektorovou mapu"
-
-#, fuzzy
-#~ msgid "Name for new raster map:"
-#~ msgstr "Jméno rastrové mapy:"
-
-#, fuzzy
-#~ msgid "Optionally select background raster map:"
-#~ msgstr "Vybrat vektorovou mapu"
-
-#, fuzzy
-#~ msgid "New raster map type:"
-#~ msgstr "Jméno rastrové mapy:"
-
-#, fuzzy
-#~ msgid "Please specify name for a new raster map"
-#~ msgstr "Počítám index tvaru rastrové mapy"
-
-#, fuzzy
-#~ msgid ""
-#~ "Raster map <%s> already exists in the current mapset. Do you want to "
-#~ "overwrite it?"
-#~ msgstr ""
-#~ "Vektorová mapa <%s> již existuje v současném mapsetu. Přejete si tuto "
-#~ "mapu přepsat?"
-
-#, fuzzy
-#~ msgid "Unable to create file <%s>"
-#~ msgstr "Nelze načíst seznam EPSG kódů: %s"
-
-#, fuzzy
-#~ msgid "Select features interactively from vector map"
-#~ msgstr "Georektifikovat rastrové a vektorové mapy"
-
-#, fuzzy
-#~ msgid "Raster digitizer"
-#~ msgstr "Vektorová digitalizace"
-
-#, fuzzy
-#~ msgid "Raster Digitizer Toolbar"
-#~ msgstr "Nástrojová lištavektorové digitalizace"
-
-#, fuzzy
-#~ msgid "Select space time raster dataset(s):"
-#~ msgstr "Vybrat zdrojový mapset:"
-
-#, fuzzy
-#~ msgid "Hide all toolbars"
-#~ msgstr "Panel nástrojů vlicovacích bodů"
-
-#, fuzzy
-#~ msgid "Show all toolbars"
-#~ msgstr "'%s' zkopírováno do schránky"
-
-#, fuzzy
-#~ msgid "Show statusbar"
-#~ msgstr "Ukázat nastavení"
-
-#, fuzzy
-#~ msgid "Data catalog"
-#~ msgstr "Obrátit výběr"
-
-#, fuzzy
-#~ msgid "No mapsets readable"
-#~ msgstr "3D mód není k dispozici"
-
-#, fuzzy
-#~ msgid "New name"
-#~ msgstr "Přejmenovat"
-
-#, fuzzy
-#~ msgid "Rename map"
-#~ msgstr "Přejmenovat mapset"
-
-#, fuzzy
-#~ msgid "Editing"
-#~ msgstr "Vyhodnocuji model..."
-
-#, fuzzy
-#~ msgid "Renaming"
-#~ msgstr "Přejmenovat"
-
-#, fuzzy
-#~ msgid "Failed to copy layer: invalid type."
-#~ msgstr "Nelze načíst seznam EPSG kódů: %s"
-
-#, fuzzy
-#~ msgid "Copy map"
-#~ msgstr "Kopírovat tabulku"
-
-#, fuzzy
-#~ msgid "Copying"
-#~ msgstr "Kopírovat tabulku"
-
-#, fuzzy
-#~ msgid "Do you really want to delete map <{m}>?"
-#~ msgstr "Přejete si založit GRASS location <%s>?"
-
-#, fuzzy
-#~ msgid "Delete map"
-#~ msgstr "Odstranit mapset"
-
-#, fuzzy
-#~ msgid "Deleting"
-#~ msgstr "Smazat"
-
-#, fuzzy
-#~ msgid "Displaying"
-#~ msgstr "Displej"
-
-#, fuzzy
-#~ msgid "&Copy"
-#~ msgstr "Kopírovat"
-
-#, fuzzy
-#~ msgid "&Paste"
-#~ msgstr "&Rastr"
-
-#, fuzzy
-#~ msgid "&Display layer"
-#~ msgstr "Zobrazit mapu"
-
-#, fuzzy
-#~ msgid "category"
-#~ msgstr "Kategorie"
-
-#, fuzzy
-#~ msgid "Select features"
-#~ msgstr "Vybrat vektorový prvek"
-
-#, fuzzy
-#~ msgid "Create a new map"
-#~ msgstr "Vytvořit nový mapset"
-
-#, fuzzy
-#~ msgid ""
-#~ "Selected map <%s> has been disabled for rendering. Operation canceled."
-#~ msgstr "Vektorová mapa není 3D. Operace ukončena."
-
-#, fuzzy
-#~ msgid "Failed to query vector map(s) <%s>."
-#~ msgstr "Nelze vytvořit vektorovou mapu <%s>."
-
-#, fuzzy
-#~ msgid "No features selected"
-#~ msgstr "Nebyla vybrána žádná mapová vrstva"
-
-#, fuzzy
-#~ msgid "Vector map <%s> was created"
-#~ msgstr "Nová vektorová mapa <%s> byla vytvořena"
-
-#, fuzzy
-#~ msgid ""
-#~ "Unable to create a new vector map.\n"
-#~ "\n"
-#~ "Reason: %s"
-#~ msgstr "Nelze vytvořit vektorovou mapu <%s>."
-
-#~ msgid "Choose project location and mapset"
-#~ msgstr "Vybrat lokaci a mapset projektu"
-
-#~ msgid "Manage"
-#~ msgstr "Spravovat"
-
-#, fuzzy
-#~ msgid ""
-#~ "Welcome to GRASS GIS %s%s\n"
-#~ "The world's leading open source GIS"
-#~ msgstr ""
-#~ "Vítejte v GRASS GIS %s\n"
-#~ "Vedoucím open source GIS"
-
-#~ msgid ""
-#~ "Select an existing project location and mapset\n"
-#~ "or define a new location"
-#~ msgstr ""
-#~ "Vyberte existující lokaci projektu nebo mapset\n"
-#~ "nebo definujte novou lokaci"
-
-#~ msgid ""
-#~ "Project location\n"
-#~ "(projection/coordinate system)"
-#~ msgstr ""
-#~ "Lokace projektu\n"
-#~ "(projekce/souřadnicový systém)"
-
-#~ msgid ""
-#~ "Accessible mapsets\n"
-#~ "(directories of GIS files)"
-#~ msgstr ""
-#~ "Přístupné mapsety\n"
-#~ "(adresáře GIS dat)"
-
-#~ msgid "Define new location"
-#~ msgstr "Definovat novou lokaci"
-
-#~ msgid ""
-#~ "Rename/delete selected\n"
-#~ "mapset or location"
-#~ msgstr ""
-#~ "Přejmenovat/odstranit vybraný\n"
-#~ "mapset nebo lokaci"
-
-#~ msgid "Start &GRASS"
-#~ msgstr "Spustit &GRASS"
-
-#~ msgid "&Create mapset"
-#~ msgstr "&Vytvořit mapset"
-
-#~ msgid "&Location wizard"
-#~ msgstr "&Průvodce vytvořením location"
-
-#~ msgid "Rename mapset"
-#~ msgstr "Přejmenovat mapset"
-
-#~ msgid "Rename location"
-#~ msgstr "Přejmenovat lokaci"
-
-#~ msgid "Delete mapset"
-#~ msgstr "Odstranit mapset"
-
-#~ msgid "Delete location"
-#~ msgstr "Odstranit lokaci"
-
-#~ msgid "Welcome to GRASS GIS"
-#~ msgstr "Vítejte v GRASS GIS"
-
-#, fuzzy
-#~ msgid "Warning: "
-#~ msgstr "Upozornění"
-
-#, fuzzy
-#~ msgid "No GRASS location found in '%s'."
-#~ msgstr "Vybrat GRASS location a mapset"
-
-#~ msgid "Starting GRASS for the first time"
-#~ msgstr "Spuštění GIS GRASS poprvé"
+msgid "Hide all toolbars"
+msgstr "Panel nástrojů vlicovacích bodů"
 
 #, fuzzy
-#~ msgid "Develop 3D rasters"
-#~ msgstr "Vytvořit rastrovou mapu"
-
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Importuje starší verze GRASS vektorových map."
-
-#~ msgid "Vector to volume"
-#~ msgstr "Převod vektorové vrstvy na volume"
-
-#~ msgid "Sites to vector"
-#~ msgstr "Vytvoření vektorové vrstvy z bodů (sites, GRASS 5.x)"
+msgid "Show all toolbars"
+msgstr "'%s' zkopírováno do schránky"
 
 #, fuzzy
-#~ msgid "Raster map calculator."
-#~ msgstr "3D rastrový kalkulátor"
-
-#~ msgid "V&olumes"
-#~ msgstr "&3D rastr"
-
-#~ msgid "Develop volumes"
-#~ msgstr "Vytvořit 3D rastrové mapy"
-
-#~ msgid "3D Mask"
-#~ msgstr "3D Maska"
-
-#~ msgid "Volume calculator"
-#~ msgstr "3D mapový kalkulátor"
-
-#~ msgid "Basic volume metadata"
-#~ msgstr "Základní metadata 3D rastrové vrstvy"
-
-#~ msgid "Voxel statistics"
-#~ msgstr "Základní statistiky 3D pixelu (voxel)"
-
-#~ msgid "Volume"
-#~ msgstr "3D rastr"
-
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr ""
-#~ "Importuje US-NGA GEOnet jmenný server (GNS) soubory o státech do "
-#~ "vektorové bodové mapy mapy GRASSu"
+msgid "Failed to copy layer: invalid type."
+msgstr "Nelze načíst seznam EPSG kódů: %s"
 
 #, fuzzy
-#~ msgid ""
-#~ "Outputs a raster map showing the anisotropic cumulative cost. Computes "
-#~ "anisotropic cumulative cost of moving between different geographic "
-#~ "locations on an input elevation raster map whose cell category values "
-#~ "represent elevation combined with an input raster map layer whose cell "
-#~ "values represent friction cost."
-#~ msgstr ""
-#~ "Vytvoří rastrovou mapu obsahující anizotropické kumulativní náklady "
-#~ "pohybumezi různými geografickými polohami po vstupní rastrové mapě s "
-#~ "výškou, jejížhodnoty buněk reprezentují výšku kombinovanou s další mapou, "
-#~ "jejíž hodnoty reprezentují frikční povrch."
-
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Nástroj pro interpolaci povrchů rastrových map."
-
-#~ msgid "Surface generation program."
-#~ msgstr "Tvorba povrchu"
-
-#~ msgid "Compares bit patterns with a raster map."
-#~ msgstr "Porovnává bitové vzory s rastrovou mapou."
+msgid "Deleting"
+msgstr "Smazat"
 
 #, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
-#~ msgstr ""
-#~ "Spočítá univariantní statistiku z ne-nullových 3D buněk 3D rastrové "
-#~ "vrstvy."
+msgid "Displaying"
+msgstr "Displej"
diff --git a/locale/po/grasswxpy_es.po b/locale/po/grasswxpy_es.po
index ea1ee69..d81f5ef 100644
--- a/locale/po/grasswxpy_es.po
+++ b/locale/po/grasswxpy_es.po
@@ -1,19 +1,19 @@
 # translation of grasswxpy_es.po to Español
 # This file is distributed under the same license as the GRASS package.
-# Copyright (C) 2008-2014 GRASS Development Team
+# Copyright (C) 2008-2016 GRASS Development Team
 #
 # Carlos Davila <carluti at users.sourceforge.net>, 2008.
 # Javier Garcia Prieto <fjgarciaprieto hotmail.com>, 2009.
 # Joana Palahí/SIGTE-UdG <joana at sigte.udg.edu>, 2011, 2014.
-# Daniel Torres <nobeeakon at gmail.com>, 2014.
+# Daniel Torres <nobeeakon at gmail.com>, 2014, 2016.
 msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_es\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-01-24 21:19+0100\n"
-"PO-Revision-Date: 2014-12-08 20:51-0600\n"
-"Last-Translator: Daniel Torres <nobeeakon at gmail.com>\n"
-"Language-Team: Español <grass-translations at lists.osgeo.org>\n"
+"PO-Revision-Date: 2016-02-03 00:18-0600\n"
+"Last-Translator: \n"
+"Language-Team: Español; Castellano <grass-translations at lists.osgeo.org>\n"
 "Language: es_ES\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -42,14 +42,12 @@ msgid "Name of element:"
 msgstr "Nombre del elemento:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:89
-#, fuzzy
 msgid "Type of element:"
-msgstr "Nombre del elemento:"
+msgstr "Tipo de elemento:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:141
-#, fuzzy
 msgid "Add GRASS command to the model"
-msgstr "Añadir acción (módulo GRASS) al modelo"
+msgstr "Añadir comando GRASS al modelo"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:160
 #: ../gui/wxpython/gmodeler/dialogs.py:438
@@ -57,23 +55,21 @@ msgstr "Añadir acción (módulo GRASS) al modelo"
 #: ../gui/wxpython/gmodeler/preferences.py:85
 #: ../gui/wxpython/gmodeler/frame.py:1594
 msgid "Command"
-msgstr "Comando."
+msgstr "Comando"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:162
 msgid "Label and comment"
-msgstr ""
+msgstr "Etiquetar y comentar"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:198
 #: ../gui/wxpython/gmodeler/frame.py:1357
-#, fuzzy
 msgid "Label:"
-msgstr "Etiqueta"
+msgstr "Etiqueta:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:202
 #: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/gmodeler/frame.py:1369
-#, fuzzy
 msgid "Comment:"
-msgstr "Comando."
+msgstr "Comentario:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:255
 msgid ""
@@ -81,7 +77,7 @@ msgid ""
 "\n"
 "Unable to add new action to the model."
 msgstr ""
-"Comanda no definida.\n"
+"Comando no definido.\n"
 "\n"
 "No es posible añadir nueva acción al modelo."
 
@@ -92,7 +88,7 @@ msgid ""
 "\n"
 "Unable to add new action to the model."
 msgstr ""
-"'%s'no és un módulo GRASS.\n"
+"'%s'no es un módulo GRASS.\n"
 "\n"
 "No es posible añadir una nueva acción al modelo."
 
@@ -107,17 +103,16 @@ msgstr "Desde"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:312 ../gui/wxpython/dbmgr/base.py:2159
 msgid "To"
-msgstr "Hacia."
+msgstr "Hacia"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:354
-#, fuzzy, python-format
+#, python-format
 msgid "Data: %s"
-msgstr "Datos"
+msgstr "Datos: %s"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:360
-#, fuzzy
 msgid "Command:"
-msgstr "Comando."
+msgstr "Comando:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:366
 msgid "Option:"
@@ -190,8 +185,7 @@ msgstr "Lista de ítems en el bloque 'else'"
 #: ../gui/wxpython/gmodeler/dialogs.py:701
 #, python-format
 msgid "Variable <%s> already exists in the model. Adding variable failed."
-msgstr ""
-"La variable <%s> ya existe en el modelo. Ha fallado añadir la variable."
+msgstr "La variable <%s> ya existe en el modelo. Ha fallado añadir la variable."
 
 #: ../gui/wxpython/gmodeler/dialogs.py:730
 msgid "Do you want to delete all variables from the model?"
@@ -468,7 +462,7 @@ msgstr "if-else"
 
 #: ../gui/wxpython/gmodeler/model.py:1749
 msgid "empty"
-msgstr ""
+msgstr "vacio"
 
 #: ../gui/wxpython/gmodeler/model.py:1750
 msgid "Details: unsupported tag name '{}'."
@@ -533,9 +527,7 @@ msgstr "Desea guardar los cambios en el modelo?"
 
 #: ../gui/wxpython/gmodeler/frame.py:258
 msgid "Do you want to store current model settings to model file?"
-msgstr ""
-"Desea almacenar las actuales configuraciones del modelo en el archivo del "
-"modelo?"
+msgstr "Desea almacenar las actuales configuraciones del modelo en el archivo del modelo?"
 
 #: ../gui/wxpython/gmodeler/frame.py:264
 msgid "Quit Graphical Modeler"
@@ -560,12 +552,8 @@ msgid "%d maps deleted from current mapset"
 msgstr "mapas %d eliminados del actual directorio de mapas"
 
 #: ../gui/wxpython/gmodeler/frame.py:355 ../gui/wxpython/gmodeler/frame.py:481
-msgid ""
-"Current model is not empty. Do you want to store current settings to model "
-"file?"
-msgstr ""
-"El modelo actual no está vacío. Quiere almacenar las configuraciones "
-"actuales en el archivo del modelo?"
+msgid "Current model is not empty. Do you want to store current settings to model file?"
+msgstr "El modelo actual no está vacío. Quiere almacenar las configuraciones actuales en el archivo del modelo?"
 
 #: ../gui/wxpython/gmodeler/frame.py:358 ../gui/wxpython/gmodeler/frame.py:484
 msgid "Create new model?"
@@ -630,9 +618,7 @@ msgstr "El modelo es válido."
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
-msgstr ""
-"Seleccionar un nombre de archivo para guardar la imagen (no es necesario "
-"añadir la extensión)"
+msgstr "Seleccionar un nombre de archivo para guardar la imagen (no es necesario añadir la extensión)"
 
 #: ../gui/wxpython/gmodeler/frame.py:607 ../gui/wxpython/gmodeler/frame.py:614
 #, python-format
@@ -668,9 +654,7 @@ msgstr "Por favor espere, cargando modelo..."
 
 #: ../gui/wxpython/gmodeler/frame.py:953
 msgid "Writing current settings to model file failed."
-msgstr ""
-"La escritura de las configuraciones actuales en el archivo del modelo ha "
-"fallado."
+msgstr "La escritura de las configuraciones actuales en el archivo del modelo ha fallado."
 
 #: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
 #, python-format
@@ -695,7 +679,7 @@ msgstr "No es posible abrir el archivo <%s> para escribir."
 #: ../gui/wxpython/gui_core/preferences.py:1421
 #: ../gui/wxpython/gui_core/preferences.py:1430
 msgid "Error"
-msgstr "Error."
+msgstr "Error"
 
 #: ../gui/wxpython/gmodeler/frame.py:1295 ../gui/wxpython/rlisetup/frame.py:130
 #: ../gui/wxpython/animation/dialogs.py:629
@@ -704,7 +688,7 @@ msgstr "Error."
 #: ../gui/wxpython/menustrings.py:1826
 #: ../gui/wxpython/gui_core/simplelmgr.py:438
 msgid "Remove"
-msgstr "Remover."
+msgstr "Remover"
 
 #: ../gui/wxpython/gmodeler/frame.py:1299
 msgid "Disable"
@@ -738,7 +722,7 @@ msgstr "Intermedio"
 
 #: ../gui/wxpython/gmodeler/frame.py:1335 ../gui/wxpython/lmgr/layertree.py:447
 msgid "Properties"
-msgstr "Propiedades."
+msgstr "Propiedades"
 
 #: ../gui/wxpython/gmodeler/frame.py:1442
 msgid "List of variables - right-click to delete"
@@ -750,17 +734,17 @@ msgstr "Lista de variables - derecha- clic para eliminar"
 #: ../gui/wxpython/gui_core/ghelp.py:343 ../gui/wxpython/gui_core/ghelp.py:345
 #: ../gui/wxpython/gui_core/ghelp.py:408
 msgid "Name"
-msgstr "Nom"
+msgstr "Nombre"
 
 #: ../gui/wxpython/gmodeler/frame.py:1445
 #: ../gui/wxpython/gmodeler/frame.py:1497 ../gui/wxpython/dbmgr/base.py:2588
 msgid "Data type"
-msgstr "Tipo de dato."
+msgstr "Tipo de dato"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1503
 msgid "Default value"
-msgstr "Valor por defecto"
+msgstr "Valor predeterminado"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
@@ -769,7 +753,7 @@ msgstr "Valor por defecto"
 #: ../gui/wxpython/location_wizard/wizard.py:1027
 #: ../gui/wxpython/location_wizard/wizard.py:1338
 msgid "Description"
-msgstr "Descripción."
+msgstr "Descripción"
 
 #: ../gui/wxpython/gmodeler/frame.py:1451
 msgid "Add new variable"
@@ -777,11 +761,11 @@ msgstr "Añadir nueva variable"
 
 #: ../gui/wxpython/gmodeler/frame.py:1455
 msgid "integer"
-msgstr "integer"
+msgstr "entero"
 
 #: ../gui/wxpython/gmodeler/frame.py:1456
 msgid "float"
-msgstr "float"
+msgstr "flotante"
 
 #: ../gui/wxpython/gmodeler/frame.py:1457
 msgid "string"
@@ -791,12 +775,12 @@ msgstr "string"
 #: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
 #: ../gui/wxpython/gui_core/dialogs.py:1559
 msgid "raster"
-msgstr "Raster."
+msgstr "raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
 #: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
 msgid "vector"
-msgstr "Vector."
+msgstr "vector"
 
 #: ../gui/wxpython/gmodeler/frame.py:1460
 msgid "region"
@@ -804,7 +788,7 @@ msgstr "región"
 
 #: ../gui/wxpython/gmodeler/frame.py:1461
 msgid "mapset"
-msgstr "Directorio de mapas (mapset)"
+msgstr "directorio de mapas (mapset)"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
 #: ../gui/wxpython/gui_core/forms.py:1523
@@ -813,7 +797,7 @@ msgstr "archivo"
 
 #: ../gui/wxpython/gmodeler/frame.py:1463
 msgid "dir"
-msgstr ""
+msgstr "dir"
 
 #: ../gui/wxpython/gmodeler/frame.py:1470
 msgid "Add new variable to the model"
@@ -828,9 +812,8 @@ msgid "In loop"
 msgstr "En bucle (loop)"
 
 #: ../gui/wxpython/gmodeler/frame.py:1593
-#, fuzzy
 msgid "Parameterized"
-msgstr "Parámetros."
+msgstr "Parametrizado"
 
 #: ../gui/wxpython/gmodeler/frame.py:1646
 #, fuzzy
@@ -878,9 +861,7 @@ msgid "Save file"
 msgstr "Guardar archivo"
 
 #: ../gui/wxpython/gmodeler/frame.py:1806
-msgid ""
-"Python script is locally modificated. Refresh will discard all changes. Do "
-"you really want to continue?"
+msgid "Python script is locally modificated. Refresh will discard all changes. Do you really want to continue?"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1809
@@ -1024,11 +1005,8 @@ msgstr "Aplicar cambios para la sesión actual y cerrar diálogo"
 #: ../gui/wxpython/vnet/dialogs.py:1200 ../gui/wxpython/iscatt/dialogs.py:359
 #: ../gui/wxpython/gcp/manager.py:2409
 #: ../gui/wxpython/gui_core/preferences.py:93
-msgid ""
-"Apply and save changes to user settings file (default for next sessions)"
-msgstr ""
-"Aplicar y guardar los cambios en el archivo de configuración del usuario "
-"(predeterminado para las próximas sesiones)."
+msgid "Apply and save changes to user settings file (default for next sessions)"
+msgstr "Aplicar y guardar los cambios en el archivo de configuración del usuario (predeterminado para las próximas sesiones)."
 
 #: ../gui/wxpython/wxplot/dialogs.py:743
 #, fuzzy, python-format
@@ -1119,8 +1097,7 @@ msgid "Scale"
 msgstr "Escala"
 
 #: ../gui/wxpython/wxplot/dialogs.py:1033
-msgid ""
-"Automatic axis scaling, custom max and min, or scale matches data range (min)"
+msgid "Automatic axis scaling, custom max and min, or scale matches data range (min)"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:1038
@@ -1209,16 +1186,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/wxplot/profile.py:34 ../gui/wxpython/nviz/wxnviz.py:32
-msgid ""
-"This module requires the NumPy module, which could not be imported. It "
-"probably is not installed (it's not part of the standard Python "
-"distribution). See the Numeric Python site (http://numpy.scipy.org) for "
-"information on downloading source or binaries."
-msgstr ""
-"Este módulo requiere el módulo NumP, que no pudo ser importado. "
-"Probablemente no está instalado (no es parte de la distibución estándar de "
-"Python). Ver el site Numérico de Python (http://numpy.scipy.org) para más "
-"información sobre la fuente de descarga o binarios."
+msgid "This module requires the NumPy module, which could not be imported. It probably is not installed (it's not part of the standard Python distribution). See the Numeric Python site (http://numpy.scipy.org) for information on downloading source or binaries."
+msgstr "Este módulo requiere el módulo NumP, que no pudo ser importado. Probablemente no está instalado (no es parte de la distibución estándar de Python). Ver el site Numérico de Python (http://numpy.scipy.org) para más información sobre la fuente de descarga o binarios."
 
 #: ../gui/wxpython/wxplot/profile.py:61
 msgid "GRASS Profile Analysis Tool"
@@ -1251,9 +1220,7 @@ msgstr "Valores del raster."
 
 #: ../gui/wxpython/wxplot/profile.py:279
 msgid "You must draw a transect to profile in the map display window."
-msgstr ""
-"Para crear el perfil, debe dibujar un transecto en la ventana de "
-"presentación de los mapas ."
+msgstr "Para crear el perfil, debe dibujar un transecto en la ventana de presentación de los mapas ."
 
 #: ../gui/wxpython/wxplot/profile.py:280
 msgid "Nothing to profile"
@@ -1302,9 +1269,7 @@ msgstr "Dibujar / redibujar gráfica"
 
 #: ../gui/wxpython/wxplot/base.py:41
 msgid "Draw transect in map display window to profile"
-msgstr ""
-"Para procesar el trazo del perfil, dibuje el transecto en la ventana de "
-"despliegue del mapa."
+msgstr "Para procesar el trazo del perfil, dibuje el transecto en la ventana de despliegue del mapa."
 
 #: ../gui/wxpython/wxplot/base.py:43
 msgid "Plot options"
@@ -1389,7 +1354,7 @@ msgstr "Valores de celdas ráster %s"
 
 #: ../gui/wxpython/wxplot/histogram.py:149
 msgid "Percent of total cells"
-msgstr ""
+msgstr "Porcetaje del total de celdas"
 
 #: ../gui/wxpython/wxplot/histogram.py:150
 msgid "Area"
@@ -1400,9 +1365,9 @@ msgid "Statistics for Map(s) Histogrammed"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/histogram.py:237
-#, fuzzy, python-format
+#, python-format
 msgid "Statistics for raster map <%s>"
-msgstr "Informa estadísticas para capas de mapas raster."
+msgstr "Estadísticas para mapa raster <%s>"
 
 #: ../gui/wxpython/vnet/dialogs.py:67
 msgid "GRASS GIS Vector Network Analysis Tool"
@@ -1414,14 +1379,12 @@ msgid "Point list toolbar"
 msgstr "Barra de herramientas de visualización de GCP"
 
 #: ../gui/wxpython/vnet/dialogs.py:172
-#, fuzzy
 msgid "Analysis toolbar"
-msgstr "Barra de herramientas de visualización de GCP"
+msgstr "Barra de herramientas de análisis"
 
 #: ../gui/wxpython/vnet/dialogs.py:205
-#, fuzzy
 msgid "Points for analysis:"
-msgstr "Análisis de redes."
+msgstr "Puntos para el análisis:"
 
 #: ../gui/wxpython/vnet/dialogs.py:208
 msgid "Analysis settings:"
@@ -1450,9 +1413,8 @@ msgid "Parameters"
 msgstr "Parámetros."
 
 #: ../gui/wxpython/vnet/dialogs.py:352
-#, fuzzy
 msgid "Add vector map into layer tree"
-msgstr "Añadir el mapa creado al árbol de capas"
+msgstr "Añadir el mapa vectorial creado al árbol de capas"
 
 #: ../gui/wxpython/vnet/dialogs.py:467
 msgid "Input tables"
@@ -1491,14 +1453,12 @@ msgid "Computing nodes..."
 msgstr "Calculando nodos..."
 
 #: ../gui/wxpython/vnet/dialogs.py:1127
-#, fuzzy
 msgid "Other settings"
-msgstr "Configuración de mapa de bits (raster)."
+msgstr "Otras configuraciones"
 
 #: ../gui/wxpython/vnet/dialogs.py:1130
-#, fuzzy
 msgid "Point style:"
-msgstr "Estilo de linea."
+msgstr "Estilo de punto:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1133
 msgid "Analysis result style:"
@@ -1519,9 +1479,8 @@ msgid "Line color:"
 msgstr "Color de linea:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1160
-#, fuzzy
 msgid "Color for unused point:"
-msgstr "Color para los GCPs no utilizados:"
+msgstr "Color para los puntos no utilizados:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1161
 msgid "Color for Start/From/Source/Used point:"
@@ -1532,9 +1491,8 @@ msgid "Color for End/To/Sink point:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1163
-#, fuzzy
 msgid "Color for selected point:"
-msgstr "Color para el GCP seleccionado"
+msgstr "Color para los puntos seleccionados:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
@@ -1543,14 +1501,12 @@ msgid "Line width:"
 msgstr "Anchura de línea:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1177
-#, fuzzy
 msgid "Point size:"
-msgstr "Tamaño de fuente:"
+msgstr "Tamaño del punto:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1178
-#, fuzzy
 msgid "Point width:"
-msgstr "Anchura de línea:"
+msgstr "Anchura del punto:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1179 ../gui/wxpython/iscatt/dialogs.py:338
 #, fuzzy
@@ -1576,7 +1532,7 @@ msgstr "Se ha creado el nuevo mapa vectorial <%s>"
 
 #: ../gui/wxpython/vnet/dialogs.py:1467
 msgid "Save analysis result"
-msgstr ""
+msgstr "Guardar resultados del análisis"
 
 #: ../gui/wxpython/vnet/dialogs.py:1578
 msgid "Edit intersection turns costs"
@@ -1587,15 +1543,13 @@ msgid "Define Global Turn Costs"
 msgstr ""
 
 #: ../gui/wxpython/vnet/vnet_core.py:106
-#, fuzzy
 msgid "Unable to perform analysis."
-msgstr "Análisis de redes."
+msgstr "No se puede realizar el análisis."
 
 #: ../gui/wxpython/vnet/vnet_core.py:211
 #, fuzzy, python-format
 msgid ""
-"Temporary map '%s' with result was changed outside vector network analysis "
-"tool.\n"
+"Temporary map '%s' with result was changed outside vector network analysis tool.\n"
 "Showed result may not correspond original analysis result."
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
@@ -1604,19 +1558,17 @@ msgid "Result changed outside"
 msgstr ""
 
 #: ../gui/wxpython/vnet/vnet_core.py:253
-#, fuzzy
 msgid "Map can be created only in current mapset"
-msgstr "mapas %d eliminados del actual directorio de mapas"
+msgstr "El mapa puede ser creado solo en el directorio de mapas actual"
 
 #: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
-#, fuzzy, python-format
+#, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
-msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
+msgstr "El mapa vectorial %s ya existe. ¿Quiere sobrescribirlo?"
 
 #: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
-#, fuzzy
 msgid "Overwrite vector map"
-msgstr "¿Sobreescribir?"
+msgstr "Sobreescribir mapa vectorial"
 
 #: ../gui/wxpython/vnet/vnet_core.py:289
 #, fuzzy
@@ -1643,8 +1595,7 @@ msgstr ""
 #: ../gui/wxpython/vnet/vnet_core.py:895
 #, fuzzy, python-format
 msgid ""
-"Input map '%s' for analysis was changed outside vector network analysis "
-"tool.\n"
+"Input map '%s' for analysis was changed outside vector network analysis tool.\n"
 "Topology column may not correspond to changed situation."
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
@@ -1660,9 +1611,8 @@ msgid ""
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
 #: ../gui/wxpython/vnet/vnet_core.py:1001
-#, fuzzy
 msgid "Unable to use ctypes. \n"
-msgstr "Imposible de establecer."
+msgstr "No es posible usar ctypes . \n"
 
 #: ../gui/wxpython/vnet/vnet_core.py:1002
 #: ../gui/wxpython/vnet/vnet_core.py:1024
@@ -1681,9 +1631,8 @@ msgid ""
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
 #: ../gui/wxpython/vnet/vnet_core.py:1045
-#, fuzzy
 msgid "Overwrite map"
-msgstr "¿Sobreescribir?"
+msgstr "Sobreescribir mapa"
 
 #: ../gui/wxpython/vnet/vnet_data.py:145
 #, python-format
@@ -1691,9 +1640,9 @@ msgid "Module <%s> does not support turns costs."
 msgstr ""
 
 #: ../gui/wxpython/vnet/vnet_data.py:151
-#, fuzzy, python-format
+#, python-format
 msgid "Vector map '%s' does not exist."
-msgstr "Mapa vectorial <%s> no encontrado"
+msgstr "Mapa vectorial '%s' no existe."
 
 #: ../gui/wxpython/vnet/vnet_data.py:153
 #, fuzzy
@@ -1701,14 +1650,12 @@ msgid "Vector map was not chosen."
 msgstr "Mapa vectorial <%s> no encontrado"
 
 #: ../gui/wxpython/vnet/vnet_data.py:162
-#, fuzzy
 msgid "arc layer"
-msgstr "Capas de mapas"
+msgstr "capa arc"
 
 #: ../gui/wxpython/vnet/vnet_data.py:163
-#, fuzzy
 msgid "node layer"
-msgstr "Añadir una capa."
+msgstr "capa de  nodos"
 
 #: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
@@ -1726,16 +1673,14 @@ msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
 #: ../gui/wxpython/vnet/vnet_data.py:174
-#, fuzzy, python-format
+#, python-format
 msgid "Choose existing %s.\n"
-msgstr "Seleccionar %s"
+msgstr "Seleccionar %s existente. \n"
 
 #: ../gui/wxpython/vnet/vnet_data.py:184
-#, fuzzy, python-format
-msgid ""
-"Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
-"map '%s'.\n"
-msgstr "Elimina la tabla de atributos existente de un mapa vectorial."
+#, python-format
+msgid "Chosen column '%s' does not exist in attribute table of layer '%s' of vector map '%s'.\n"
+msgstr "La columna '%s' seleccionada no existe en la tabla de atributos de la capa '%s' del mapa vectorial '%s'.\n"
 
 #: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
@@ -1743,30 +1688,25 @@ msgid "use"
 msgstr "utilizar"
 
 #: ../gui/wxpython/vnet/vnet_data.py:238
-#, fuzzy
 msgid "type"
-msgstr "Tipo de dato."
+msgstr "tipo"
 
 #: ../gui/wxpython/vnet/vnet_data.py:238
-#, fuzzy
 msgid "topology"
-msgstr "Reconstruir topología"
+msgstr "topología"
 
 #: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
-#, fuzzy
 msgid "Start point"
-msgstr "punto"
+msgstr "Punto de inicio"
 
 #: ../gui/wxpython/vnet/vnet_data.py:239
-#, fuzzy
 msgid "End Point"
-msgstr "punto"
+msgstr "Punto final"
 
 #: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
 #: ../gui/wxpython/vnet/vnet_data.py:520
-#, fuzzy
 msgid "new point"
-msgstr "Izquierda: nuevo punto"
+msgstr "nuevo punto"
 
 #: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "Arc forward/both direction(s) cost column:"
@@ -1790,7 +1730,7 @@ msgstr ""
 
 #: ../gui/wxpython/vnet/vnet_data.py:688
 msgid "arc"
-msgstr ""
+msgstr "arco"
 
 #: ../gui/wxpython/vnet/vnet_data.py:692
 #, fuzzy
@@ -1802,24 +1742,23 @@ msgid "node"
 msgstr "nodo"
 
 #: ../gui/wxpython/vnet/vnet_data.py:699
-#, fuzzy, python-format
+#, python-format
 msgid "Shortest path %s"
-msgstr "Camino mas corto."
+msgstr "Camino más corto %s"
 
 #: ../gui/wxpython/vnet/vnet_data.py:703
-#, fuzzy
 msgid "End point"
-msgstr "punto"
+msgstr "Punto final"
 
 #: ../gui/wxpython/vnet/vnet_data.py:719
-#, fuzzy, python-format
+#, python-format
 msgid "Traveling salesman %s"
-msgstr "Análisis del representante de comercio."
+msgstr "Análisis del representante de comercio %s"
 
 #: ../gui/wxpython/vnet/vnet_data.py:735
-#, fuzzy, python-format
+#, python-format
 msgid "Maximum flow %s"
-msgstr "Flujo máximo"
+msgstr "Flujo máximo %s"
 
 #: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
@@ -1862,9 +1801,8 @@ msgid "Invalid value inserted. Operation canceled."
 msgstr "Valor de coordenada no válido. Operación cancelada."
 
 #: ../gui/wxpython/vnet/widgets.py:528
-#, fuzzy
 msgid "Edit point"
-msgstr "punto"
+msgstr "Editar punto"
 
 #: ../gui/wxpython/vnet/toolbars.py:50
 #, fuzzy
@@ -1884,19 +1822,16 @@ msgid "Activate mode for global turns editing"
 msgstr ""
 
 #: ../gui/wxpython/vnet/toolbars.py:58
-#, fuzzy
 msgid "Add new point"
-msgstr "Añadir punto de control"
+msgstr "Añadir nuevo punto"
 
 #: ../gui/wxpython/vnet/toolbars.py:60
-#, fuzzy
 msgid "Delete selected point"
-msgstr "Borrar la locación seleccionada."
+msgstr "Borrar punto seleccionado"
 
 #: ../gui/wxpython/vnet/toolbars.py:110
-#, fuzzy
 msgid "Execute analysis"
-msgstr "Análisis del terreno."
+msgstr "Ejecutar el análisis"
 
 #: ../gui/wxpython/vnet/toolbars.py:112
 msgid "Go to previous analysis result"
@@ -1907,18 +1842,16 @@ msgid "Go to next analysis result"
 msgstr ""
 
 #: ../gui/wxpython/vnet/toolbars.py:116
-#, fuzzy
 msgid "Show analysis result"
-msgstr "Mostrar líneas."
+msgstr "Mostrar resultados del análisis"
 
 #: ../gui/wxpython/vnet/toolbars.py:118
 msgid "Save temporary result"
-msgstr ""
+msgstr "Guardar resultado temporal"
 
 #: ../gui/wxpython/vnet/toolbars.py:119
-#, fuzzy
 msgid "Vector network analysis settings"
-msgstr "Configuraciones de mapa vectorial"
+msgstr "Configuraciones del análisis vectorial de redes"
 
 #: ../gui/wxpython/vnet/toolbars.py:121 ../gui/wxpython/iscatt/toolbars.py:46
 #: ../gui/wxpython/gui_core/toolbars.py:71
@@ -1926,9 +1859,8 @@ msgid "Show manual"
 msgstr "Mostrar manual"
 
 #: ../gui/wxpython/vnet/toolbars.py:184
-#, fuzzy
 msgid "Availiable analyses"
-msgstr "Análisis del representante de comercio."
+msgstr "Análisis disponibles"
 
 #: ../gui/wxpython/location_wizard/dialogs.py:36
 msgid "Set default region extent and resolution"
@@ -2085,15 +2017,12 @@ msgstr ""
 
 #: ../gui/wxpython/location_wizard/wizard.py:163
 #, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for location. Please use only ASCII "
-"characters excluding %(chars)s and space."
+msgid "Name <%(name)s> is not a valid name for location. Please use only ASCII characters excluding %(chars)s and space."
 msgstr ""
 
 #: ../gui/wxpython/location_wizard/wizard.py:166
-#, fuzzy
 msgid "Invalid location name"
-msgstr "Se ha seleccionado una locación no válida."
+msgstr "Nombre de la localización inválido"
 
 #: ../gui/wxpython/location_wizard/wizard.py:181
 msgid "Choose GRASS data directory:"
@@ -2109,12 +2038,8 @@ msgid "Unable to create location"
 msgstr "No se puede crear la locación."
 
 #: ../gui/wxpython/location_wizard/wizard.py:209
-msgid ""
-"Title of the location is limited only to one line and 256 characters. The "
-"rest of the text will be ignored."
-msgstr ""
-"El título de la localización está limitado a una línea y 256 caracteres. El "
-"resto del texto será ignorado."
+msgid "Title of the location is limited only to one line and 256 characters. The rest of the text will be ignored."
+msgstr "El título de la localización está limitado a una línea y 256 caracteres. El resto del texto será ignorado."
 
 #: ../gui/wxpython/location_wizard/wizard.py:216
 msgid "Choose method for creating a new location"
@@ -2126,9 +2051,7 @@ msgstr "Seleccione el código EPSG del sistema de referencia espacial."
 
 #: ../gui/wxpython/location_wizard/wizard.py:226
 msgid "Read projection and datum terms from a georeferenced data file"
-msgstr ""
-"Leer la configuración de proyección y datum de un archivo de datos "
-"georreferenciado."
+msgstr "Leer la configuración de proyección y datum de un archivo de datos georreferenciado."
 
 #: ../gui/wxpython/location_wizard/wizard.py:229
 #, fuzzy
@@ -2141,14 +2064,11 @@ msgstr "Seleccione de una lista, los parámetros del sistema de coordenadas."
 
 #: ../gui/wxpython/location_wizard/wizard.py:234
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
-msgstr ""
-"Especifique la configuración de proyección y datum utilizando parámetros "
-"PROJ.4 personalizados."
+msgstr "Especifique la configuración de proyección y datum utilizando parámetros PROJ.4 personalizados."
 
 #: ../gui/wxpython/location_wizard/wizard.py:237
-#, fuzzy
 msgid "Create a generic Cartesian coordinate system (XY)"
-msgstr "Crear un sistema de coordenadas, arbitrario (XY) no terrestre."
+msgstr "Crear un sistema de coordenadas cartesiano genérico (XY)"
 
 #: ../gui/wxpython/location_wizard/wizard.py:338
 msgid "Choose projection"
@@ -2226,7 +2146,7 @@ msgstr "Base de datos."
 
 #: ../gui/wxpython/location_wizard/wizard.py:1018
 msgid "Planetary bodies"
-msgstr ""
+msgstr "Cuerpos planetarios"
 
 #: ../gui/wxpython/location_wizard/wizard.py:1032
 msgid "Ellipsoid code:"
@@ -2244,12 +2164,11 @@ msgstr "Archivo georreferenciado:"
 #: ../gui/wxpython/location_wizard/wizard.py:1238
 #: ../gui/wxpython/location_wizard/wizard.py:1295
 msgid "Select Well Known Text (WKT) .prj file"
-msgstr ""
+msgstr "Seleccionar archivo Well Known Text (WKT) .prj"
 
 #: ../gui/wxpython/location_wizard/wizard.py:1243
-#, fuzzy
 msgid "WKT .prj file:"
-msgstr "Archivo WKT:"
+msgstr "Archivo WKT .prj:"
 
 #: ../gui/wxpython/location_wizard/wizard.py:1312
 msgid "Choose EPSG Code"
@@ -2275,8 +2194,7 @@ msgstr "No se pueden leer los códigos EPSG: %s ."
 
 #: ../gui/wxpython/location_wizard/wizard.py:1521
 msgid "Choose method of specifying georeferencing parameters"
-msgstr ""
-"Seleccionar método para especificar los parámetros de georreferenciación."
+msgstr "Seleccionar método para especificar los parámetros de georreferenciación."
 
 #: ../gui/wxpython/location_wizard/wizard.py:1529
 msgid "Enter PROJ.4 parameters string:"
@@ -2313,7 +2231,9 @@ msgstr "Proyección:"
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
-msgstr "Definición PROJ.4:"
+msgstr ""
+"Definición PROJ.4:\n"
+"(non-definitive)"
 
 #: ../gui/wxpython/location_wizard/wizard.py:1783
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
@@ -2346,8 +2266,7 @@ msgstr ""
 
 #: ../gui/wxpython/location_wizard/wizard.py:1937
 msgid "Location wizard canceled. Location not created."
-msgstr ""
-"Se ha cancelado el asistente de locaciones. La locación no ha sido creada."
+msgstr "Se ha cancelado el asistente de locaciones. La locación no ha sido creada."
 
 #: ../gui/wxpython/location_wizard/wizard.py:2060
 msgid "Unable to create new location"
@@ -2355,13 +2274,8 @@ msgstr "No se puede crear la nueva locación."
 
 #: ../gui/wxpython/location_wizard/wizard.py:2079
 #, python-format
-msgid ""
-"Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
-"need to change the default GIS data directory in the GRASS startup screen."
-msgstr ""
-"La localización <%(loc)s> se creará en el directorio de datos SIG <%(dir)s>. "
-"Necesitará cambiar el directorio de datos SIG predeterminado en la pantalla "
-"de inicio de GRASS. "
+msgid "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will need to change the default GIS data directory in the GRASS startup screen."
+msgstr "La localización <%(loc)s> se creará en el directorio de datos SIG <%(dir)s>. Necesitará cambiar el directorio de datos SIG predeterminado en la pantalla de inicio de GRASS. "
 
 #: ../gui/wxpython/location_wizard/wizard.py:2084
 msgid "New GIS data directory"
@@ -2379,9 +2293,8 @@ msgstr "Archivo <%s> no encontrado."
 
 #: ../gui/wxpython/iscatt/iscatt_core.py:107
 #: ../gui/wxpython/iscatt/iscatt_core.py:157
-#, fuzzy
 msgid "Select category for editing."
-msgstr "Seleccione un mapa raster. Mapa 3 (opcional):"
+msgstr "Seleccione categoría para editar."
 
 #: ../gui/wxpython/iscatt/iscatt_core.py:148
 #, fuzzy
@@ -2398,6 +2311,8 @@ msgid ""
 "v.build failed:\n"
 "%s"
 msgstr ""
+"Falló v.build:\n"
+"%s"
 
 #: ../gui/wxpython/iscatt/iscatt_core.py:327
 #, python-format
@@ -2405,11 +2320,12 @@ msgid ""
 "v.to.rast failed:\n"
 "%s"
 msgstr ""
+"Falló v.to.rast:\n"
+"%s"
 
 #: ../gui/wxpython/iscatt/dialogs.py:38
-#, fuzzy
 msgid "Add scatter plots"
-msgstr "Añadir mapa raster"
+msgstr "Añadir gráficas de dispersión"
 
 #: ../gui/wxpython/iscatt/dialogs.py:56
 msgid "x axis:"
@@ -2424,48 +2340,42 @@ msgid "Bands of scatter plots to be added (x y):"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/dialogs.py:135
-#, fuzzy
 msgid "No scatter plots selected."
-msgstr "No hay ningún mapa raster seleciconado!"
+msgstr "No hay gráficas de dispersión seleccionadas."
 
 #: ../gui/wxpython/iscatt/dialogs.py:183
 msgid "Select both x and y bands."
-msgstr ""
+msgstr "Seleccionar ambas bandas x e y"
 
 #: ../gui/wxpython/iscatt/dialogs.py:186
-#, fuzzy
 msgid "Selected bands must be different."
-msgstr "mapas %d eliminados del actual directorio de mapas"
+msgstr "Bandas seleccionadas deben ser diferentes."
 
 #: ../gui/wxpython/iscatt/dialogs.py:191
-msgid ""
-"Scatter plot with same bands combination (regardless x y order) has been "
-"already added into the list."
+msgid "Scatter plot with same bands combination (regardless x y order) has been already added into the list."
 msgstr ""
 
 #: ../gui/wxpython/iscatt/dialogs.py:253 ../gui/wxpython/iclass/dialogs.py:710
-#, fuzzy
 msgid "Enter name of new vector map:"
-msgstr "Nombre para el nuevo mapa vectorial:"
+msgstr "Introduzca el nombre del nuevo mapa vectorial:"
 
 #: ../gui/wxpython/iscatt/dialogs.py:292
-#, fuzzy, python-format
+#, python-format
 msgid "Raster map <%s> already exists. Do you want to overwrite it?"
-msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
+msgstr "Mapa raster <%s> ya existe. ¿Quiere sobrescribirlo?"
 
 #: ../gui/wxpython/iscatt/dialogs.py:294
-#, fuzzy, python-format
+#, python-format
 msgid "Raster <%s> exists"
-msgstr "Mapa vectorial <%s> añadido"
+msgstr "Raster <%s> existe"
 
 #: ../gui/wxpython/iscatt/dialogs.py:317
 msgid "Show confidence ellipses"
-msgstr ""
+msgstr "Mostrar elipses de confianza"
 
 #: ../gui/wxpython/iscatt/dialogs.py:323
-#, fuzzy
 msgid "Selection polygon color:"
-msgstr "Seleccionar color."
+msgstr "Seleccionar color de polígono:"
 
 #: ../gui/wxpython/iscatt/dialogs.py:324
 #, fuzzy
@@ -2473,24 +2383,20 @@ msgid "Color of selection polygon vertex:"
 msgstr "Color para el GCP seleccionado"
 
 #: ../gui/wxpython/iscatt/dialogs.py:325
-#, fuzzy
 msgid "Selected area color:"
-msgstr "Seleccionar color."
+msgstr "Color de área seleccionada:"
 
 #: ../gui/wxpython/iscatt/dialogs.py:339
-#, fuzzy
 msgid "Selected area opacity:"
-msgstr "Seleccionar mapa de salida a visualizar:"
+msgstr "Seleccionar opacidad de área:"
 
 #: ../gui/wxpython/iscatt/dialogs.py:371
-#, fuzzy
 msgid "Selection style:"
-msgstr "Seleccionar mediante recuadro."
+msgstr "Seleccionar estilo:"
 
 #: ../gui/wxpython/iscatt/dialogs.py:393
-#, fuzzy
 msgid "Ellipses settings:"
-msgstr "Configuración de ejes."
+msgstr "Configuración de elipses:"
 
 #: ../gui/wxpython/iscatt/controllers.py:138 ../gui/wxpython/dbmgr/base.py:147
 msgid "Loading data..."
@@ -2505,8 +2411,7 @@ msgstr "No se ha seleccionado ningún mapa!"
 #, python-format
 msgid ""
 "Interactive Scatter Plot Tool can not be used.\n"
-"Number of cells (rows*cols) <%d> in current regionis higher than maximum "
-"limit <%d>.\n"
+"Number of cells (rows*cols) <%d> in current regionis higher than maximum limit <%d>.\n"
 "\n"
 "You can reduce number of cells in current region using <g.region> command."
 msgstr ""
@@ -2514,46 +2419,38 @@ msgstr ""
 #: ../gui/wxpython/iscatt/controllers.py:228
 #, python-format
 msgid ""
-"Number of cells (rows*cols) <%d> in current region is higher than "
-"recommended threshold <%d>.\n"
-"It is strongly advised to reduce number of cells in current region below "
-"recommend threshold.\n"
+"Number of cells (rows*cols) <%d> in current region is higher than recommended threshold <%d>.\n"
+"It is strongly advised to reduce number of cells in current region below recommend threshold.\n"
 " It can be done by <g.region> command.\n"
 "\n"
 "Do you want to continue using Interactive Scatter Plot Tool with this region?"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/controllers.py:284
-msgid ""
-"Scatter plot with same band combination (regardless x y order) is already "
-"displayed."
+msgid "Scatter plot with same band combination (regardless x y order) is already displayed."
 msgstr ""
 
 #: ../gui/wxpython/iscatt/controllers.py:297
 #, python-format
 msgid "Band <%s> is not CELL (integer) type.\n"
-msgstr ""
+msgstr "Banda <%s> no es de tipo CELL (entero).\n"
 
 #: ../gui/wxpython/iscatt/controllers.py:300
-#, fuzzy
 msgid "Scatter plot cannot be added.\n"
-msgstr "No hay ningún mapa raster seleciconado!"
+msgstr "No se puede añadir gráfica de dispersión.\n"
 
 #: ../gui/wxpython/iscatt/controllers.py:306
 #, python-format
 msgid ""
 "Scatter plot cannot be added.\n"
-"Multiple of bands ranges <%s:%d * %s:%d = %d> is higher than maximum limit <"
-"%d>.\n"
+"Multiple of bands ranges <%s:%d * %s:%d = %d> is higher than maximum limit <%d>.\n"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/controllers.py:314
 #, python-format
 msgid ""
-"Multiple of bands ranges <%s:%d * %s:%d = %d> is higher than recommended "
-"limit <%d>.\n"
-"It is strongly advised to reduce range extend of bands(e. g. using r."
-"rescale) below recommended threshold.\n"
+"Multiple of bands ranges <%s:%d * %s:%d = %d> is higher than recommended limit <%d>.\n"
+"It is strongly advised to reduce range extend of bands(e. g. using r.rescale) below recommended threshold.\n"
 "\n"
 "Do you really want to add this scatter plot?"
 msgstr ""
@@ -2566,9 +2463,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/iscatt/controllers.py:403 ../gui/wxpython/iclass/digit.py:70
-#, fuzzy
 msgid "No class selected"
-msgstr "No se ha seleccionado ningún mapa!"
+msgstr "No se ha seleccionado ninguna clase"
 
 #: ../gui/wxpython/iscatt/controllers.py:433
 #, python-format
@@ -2616,40 +2512,35 @@ msgstr "Acercamiento a la extensión de la región guardada (zoom to saved...)"
 
 #: ../gui/wxpython/iscatt/frame.py:129 ../gui/wxpython/iclass/dialogs.py:276
 msgid "Classes"
-msgstr ""
+msgstr "Clases"
 
 #: ../gui/wxpython/iscatt/frame.py:146
-#, fuzzy
 msgid "GRASS GIS Interactive Scatter Plot Tool"
-msgstr "Barra de herramientas de Georectificación"
+msgstr "Herramienta de GRASS GIS para gráfica de dispersión interactiva"
 
 #: ../gui/wxpython/iscatt/frame.py:361
-#, fuzzy
 msgid "scatter plot"
-msgstr "Puntos vectoriales."
+msgstr "gráfica de dispersión"
 
 #: ../gui/wxpython/iscatt/frame.py:375 ../gui/wxpython/iclass/dialogs.py:357
-#, fuzzy
 msgid "Class name"
-msgstr "Clasificar imagen."
+msgstr "Nombre de la clase"
 
 #: ../gui/wxpython/iscatt/frame.py:412 ../gui/wxpython/iclass/dialogs.py:390
 msgid "Please use only ASCII characters."
-msgstr ""
+msgstr "Por favor use solo caracteres ASCII"
 
 #: ../gui/wxpython/iscatt/frame.py:437
 msgid "Maximum limit of categories number was reached."
 msgstr ""
 
 #: ../gui/wxpython/iscatt/frame.py:532
-#, fuzzy
 msgid "Rename class"
-msgstr "Cambiar nombre de columna."
+msgstr "Renombrar clase"
 
 #: ../gui/wxpython/iscatt/frame.py:536
-#, fuzzy
 msgid "Set color"
-msgstr "Seleccionar color."
+msgstr "Elegir color"
 
 #: ../gui/wxpython/iscatt/frame.py:540 ../gui/wxpython/lmgr/layertree.py:443
 msgid "Change opacity level"
@@ -2660,27 +2551,24 @@ msgid "Hide"
 msgstr "Ocultar"
 
 #: ../gui/wxpython/iscatt/frame.py:546
-#, fuzzy
 msgid "Show"
-msgstr "Mostrar la rejilla."
+msgstr "Mostrar"
 
 #: ../gui/wxpython/iscatt/frame.py:557
 msgid "Move to top"
-msgstr ""
+msgstr "Mover hasta arriba"
 
 #: ../gui/wxpython/iscatt/frame.py:563
 msgid "Move to bottom"
-msgstr ""
+msgstr "Mover hasta abajo"
 
 #: ../gui/wxpython/iscatt/frame.py:571
-#, fuzzy
 msgid "Move category up"
-msgstr "Sin categoría."
+msgstr "Mover categoría arriba"
 
 #: ../gui/wxpython/iscatt/frame.py:577
-#, fuzzy
 msgid "Move category down"
-msgstr "Sin categoría."
+msgstr "Mover categoría abajo"
 
 #: ../gui/wxpython/iscatt/frame.py:585
 #, fuzzy
@@ -2688,24 +2576,22 @@ msgid "Export class raster"
 msgstr "Exportar mapa raster."
 
 #: ../gui/wxpython/iscatt/frame.py:657
-#, fuzzy, python-format
+#, python-format
 msgid "Change opacity of class <%s>"
-msgstr "Define la opacidad <%s>."
+msgstr "Cambiar opacidad de la clase <%s>"
 
 #: ../gui/wxpython/iscatt/frame.py:679
 msgid "Empty name was inserted."
-msgstr ""
+msgstr "Nombre vacío insertado."
 
 #: ../gui/wxpython/iscatt/toolbars.py:43 ../gui/wxpython/iclass/dialogs.py:42
 #: ../gui/wxpython/iclass/toolbars.py:37
-#, fuzzy
 msgid "Select imagery group"
-msgstr "Seleccionar grupo:"
+msgstr "Seleccionar grupo de imágenes"
 
 #: ../gui/wxpython/iscatt/toolbars.py:48
-#, fuzzy
 msgid "Add scatter plot"
-msgstr "Añadir mapa raster"
+msgstr "Añadir gráfica de dispersión"
 
 #: ../gui/wxpython/iscatt/toolbars.py:50
 #, fuzzy
@@ -2722,15 +2608,12 @@ msgid "Zoom mode for scatter plots (left mouse button, wheel)"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/toolbars.py:56
-msgid ""
-"Zoom to scatter plot data extend mode (click on scatter plot for zooming to "
-"extend)"
+msgid "Zoom to scatter plot data extend mode (click on scatter plot for zooming to extend)"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/toolbars.py:58
-#, fuzzy
 msgid "Show/hide class manager"
-msgstr "Clasificar imagen."
+msgstr "Mostrar/ocultar manejador de clases"
 
 #: ../gui/wxpython/iscatt/toolbars.py:162
 #: ../gui/wxpython/iscatt/toolbars.py:163
@@ -2742,8 +2625,7 @@ msgstr "Consultar mapa(s) seleccionado(s) Raster / vectorial."
 #: ../gui/wxpython/iscatt/toolbars.py:166
 #, fuzzy
 msgid "Exclude selected area from class"
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
 
 #: ../gui/wxpython/iscatt/toolbars.py:168
 msgid "Add new vertex"
@@ -2754,9 +2636,8 @@ msgid "Add new vertex to polygon boundary scatter plot"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/toolbars.py:171
-#, fuzzy
 msgid "Create selection polygon"
-msgstr "Selección de datos"
+msgstr "Crear polígono de selección"
 
 #: ../gui/wxpython/iscatt/toolbars.py:172
 msgid "Add new vertex between last and first points of the boundary"
@@ -2767,32 +2648,28 @@ msgid "Move vertex"
 msgstr "Mover vértice."
 
 #: ../gui/wxpython/iscatt/toolbars.py:175
-#, fuzzy
 msgid "Move boundary vertex"
-msgstr "Mover vértice."
+msgstr "Mover vértice de borde"
 
 #: ../gui/wxpython/iscatt/toolbars.py:177
 msgid "Remove vertex"
 msgstr "Eliminar vértice."
 
 #: ../gui/wxpython/iscatt/toolbars.py:178
-#, fuzzy
 msgid "Remove boundary vertex"
-msgstr "Eliminar vértice."
+msgstr "Eliminar vértice de borde"
 
 #: ../gui/wxpython/iscatt/toolbars.py:180
 msgid "Remove polygon (click on scatter plot for removing it's polygon)"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/toolbars.py:257
-#, fuzzy
 msgid "Add class"
-msgstr "Añadir etiquetas."
+msgstr "Añadir clase"
 
 #: ../gui/wxpython/iscatt/toolbars.py:259
-#, fuzzy
 msgid "Remove selected class"
-msgstr "Renombrar el directorio de mapas de usuario (mapset)."
+msgstr "Remover clase seleccionada"
 
 #: ../gui/wxpython/core/ws.py:49
 msgid ""
@@ -2806,14 +2683,14 @@ msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>: tipo de capa <%(type)s> no soportado"
 
 #: ../gui/wxpython/core/render.py:167
-#, fuzzy, python-format
+#, python-format
 msgid "Command '%s' failed\n"
-msgstr "Comando finalizado."
+msgstr "Comando '%s' fracasó\n"
 
 #: ../gui/wxpython/core/render.py:169
-#, fuzzy, python-format
+#, python-format
 msgid "Details: %s\n"
-msgstr "Detalles."
+msgstr "Detalles: %s\n"
 
 #: ../gui/wxpython/core/render.py:274
 #, python-format
@@ -2821,18 +2698,15 @@ msgid "Unsupported map layer type '%s'"
 msgstr "Tipo de capa de mapa no soportada '%s'."
 
 #: ../gui/wxpython/core/render.py:418
-#, fuzzy
 msgid "Trying to recover from default region..."
-msgstr "Acercamiento a la región predeterminada (zoom)."
+msgstr "Tratando de recuperar de la región predeterminada..."
 
 #: ../gui/wxpython/core/render.py:449
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
 #: ../gui/wxpython/gui_core/mapdisp.py:114
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
-msgstr ""
-"Módulo GRASS '%s' no encontrado. No es posible abrir la ventana de "
-"visualización del mapa."
+msgstr "Módulo GRASS '%s' no encontrado. No es posible abrir la ventana de visualización del mapa."
 
 #: ../gui/wxpython/core/render.py:483
 #, python-format
@@ -2840,16 +2714,18 @@ msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr "Error: No se puede abrir '%(file)s'. Razón: %(ret)s. wxGUI salió.\n"
 
 #: ../gui/wxpython/core/render.py:491
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
-msgstr "Falló la lectura del archivo %s."
+msgstr ""
+"\n"
+"ERROR: No se puede leer archivo WIND: %s\n"
 
 #: ../gui/wxpython/core/render.py:588
-#, fuzzy, python-format
+#, python-format
 msgid "Invalid map size %d,%d\n"
-msgstr "Valor no válido: %s"
+msgstr "Tamaño de mapa no válido %d,%d\n"
 
 #: ../gui/wxpython/core/render.py:667
 #, python-format
@@ -2867,24 +2743,19 @@ msgid "Unable to zoom to vector map <%s>."
 msgstr "No se puede realizar un zoom al mapa vectorial <%s>."
 
 #: ../gui/wxpython/core/render.py:673
-#, fuzzy, python-format
+#, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
-msgstr "No es posible realizar un zoom al mapa raster <%s>."
+msgstr "No es posible realizar un zoom al mapa raster 3d <%s>."
 
 #: ../gui/wxpython/core/render.py:676
 #, fuzzy
-msgid ""
-"Unable to get current geographic extent. Force quiting wxGUI. Please "
-"manually run g.region to fix the problem."
-msgstr ""
-"No ha sido posible obtener la extensión geográfica actual. se forza el "
-"abandono de la interfaz wxGUI. Por favor ejecute manualmente g.region para "
-"solucionar el problema."
+msgid "Unable to get current geographic extent. Force quiting wxGUI. Please manually run g.region to fix the problem."
+msgstr "No ha sido posible obtener la extensión geográfica actual. se forza el abandono de la interfaz wxGUI. Por favor ejecute manualmente g.region para solucionar el problema."
 
 #: ../gui/wxpython/core/render.py:987
-#, fuzzy, python-format
+#, python-format
 msgid "ERROR: Rendering failed. Details: %s"
-msgstr "ERROR: Falló el renderizado"
+msgstr "ERROR: Falló el renderizado. Detalles: %s"
 
 #: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
 #, python-format
@@ -2897,19 +2768,16 @@ msgid "Unable to render overlay <%s>."
 msgstr "No se ha podido realizar la presentación de la superposicion <%s>."
 
 #: ../gui/wxpython/core/render.py:1376
-#, fuzzy
 msgid "Downloading data "
-msgstr "Cargando datos."
+msgstr "Descargando datos"
 
 #: ../gui/wxpython/core/render.py:1386
-#, fuzzy
 msgid "Rendering & "
-msgstr "Renderizar"
+msgstr "Renderizando &"
 
 #: ../gui/wxpython/core/render.py:1388
-#, fuzzy
 msgid "Rendering..."
-msgstr "Renderizar"
+msgstr "Renderizando..."
 
 #: ../gui/wxpython/core/gcmd.py:128
 msgid "Reason"
@@ -2951,8 +2819,7 @@ msgid ""
 "\n"
 "Number of skipped lines: %(line)d"
 msgstr ""
-"Algunas líneas se han omitido cuando se leía la configuración desde el "
-"archivo <%(file)s>\n"
+"Algunas líneas se han omitido cuando se leía la configuración desde el archivo <%(file)s>\n"
 "Véase la \"ventana de salida de comandos\" para más detalles.\n"
 "\n"
 "Número de línea(s) omitida(s): %(line) d"
@@ -2982,11 +2849,8 @@ msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
 #: ../gui/wxpython/core/gconsole.py:620
-msgid ""
-"Please note that the data are left in inconsistent state and may be corrupted"
-msgstr ""
-"Por favor note que los datos se han dejado en un estado inconsistente y "
-"podrían encontrarse corruptos"
+msgid "Please note that the data are left in inconsistent state and may be corrupted"
+msgstr "Por favor note que los datos se han dejado en un estado inconsistente y podrían encontrarse corruptos"
 
 #: ../gui/wxpython/core/gconsole.py:622
 msgid "Command aborted"
@@ -3151,8 +3015,7 @@ msgid ""
 "\t\tDetails: %(detail)s\n"
 "\t\tLine: '%(line)s'\n"
 msgstr ""
-"Error:La lectura de la configuración desde el archivo <%(file)s> ha "
-"fallado.\n"
+"Error:La lectura de la configuración desde el archivo <%(file)s> ha fallado.\n"
 "\t\tDetalles: %(detail)s\n"
 "\t\tLinea: '%(line)s'\n"
 
@@ -3318,20 +3181,17 @@ msgid "Apply changes"
 msgstr "Aplicar los cambios."
 
 #: ../gui/wxpython/psmap/dialogs.py:384
-#, fuzzy
 msgid "Units"
-msgstr "Unidades:"
+msgstr "Unidades"
 
 #: ../gui/wxpython/psmap/dialogs.py:384
 #: ../gui/wxpython/animation/dialogs.py:759
-#, fuzzy
 msgid "Format"
-msgstr "Formato:"
+msgstr "Formato"
 
 #: ../gui/wxpython/psmap/dialogs.py:384
-#, fuzzy
 msgid "Orientation"
-msgstr "Rotación"
+msgstr "Orientación"
 
 #: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
 msgid "Width"
@@ -3343,35 +3203,31 @@ msgstr "Altura."
 
 #: ../gui/wxpython/psmap/dialogs.py:385
 msgid "Left"
-msgstr ""
+msgstr "Izquierda"
 
 #: ../gui/wxpython/psmap/dialogs.py:385
-#, fuzzy
 msgid "Right"
-msgstr "Altura."
+msgstr "Derecha"
 
 #: ../gui/wxpython/psmap/dialogs.py:440
 msgid "Literal is not allowed!"
 msgstr "No se permite literal!"
 
 #: ../gui/wxpython/psmap/dialogs.py:449
-#, fuzzy
 msgid "Page size"
-msgstr "Tamaño de imagen"
+msgstr "Tamaño de página"
 
 #: ../gui/wxpython/psmap/dialogs.py:451
 msgid "Margins"
 msgstr "Márgenes"
 
 #: ../gui/wxpython/psmap/dialogs.py:455
-#, fuzzy
 msgid "Portrait"
-msgstr "Punto."
+msgstr "Portada"
 
 #: ../gui/wxpython/psmap/dialogs.py:455
-#, fuzzy
 msgid "Landscape"
-msgstr "Analizar el paisaje."
+msgstr "Paisaje"
 
 #: ../gui/wxpython/psmap/dialogs.py:557
 msgid "Map settings"
@@ -3574,9 +3430,9 @@ msgid "Vector maps settings"
 msgstr "Configuraciones de mapa vectorial"
 
 #: ../gui/wxpython/psmap/dialogs.py:1591
-#, fuzzy, python-format
+#, python-format
 msgid "%s properties"
-msgstr "propiedades"
+msgstr "%s propiedades"
 
 #: ../gui/wxpython/psmap/dialogs.py:1642
 msgid "Data selection"
@@ -3601,8 +3457,7 @@ msgstr "Selección de capa"
 
 #: ../gui/wxpython/psmap/dialogs.py:1677
 msgid "Database connection is not defined in DB file."
-msgstr ""
-"La conexión a la base de datos no se encuentra definida en el archivo de BD."
+msgstr "La conexión a la base de datos no se encuentra definida en el archivo de BD."
 
 #: ../gui/wxpython/psmap/dialogs.py:1678
 msgid "Select layer:"
@@ -3781,9 +3636,9 @@ msgid "select raster"
 msgstr "seleccionar raster"
 
 #: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
-#, fuzzy, python-format
+#, python-format
 msgid "%(rast)s: type %(type)s"
-msgstr "%s: tipo %s"
+msgstr "%(rast)s: tipo %(type)s"
 
 #: ../gui/wxpython/psmap/dialogs.py:2525
 msgid "Type of legend"
@@ -3860,8 +3715,7 @@ msgstr "Posición."
 
 #: ../gui/wxpython/psmap/dialogs.py:2731
 msgid "Leave the edit field empty, to use default values."
-msgstr ""
-"Dejar vacío el campo de edición, para utilizar los valores por defecto."
+msgstr "Dejar vacío el campo de edición, para utilizar los valores por defecto."
 
 #: ../gui/wxpython/psmap/dialogs.py:2753
 msgid ""
@@ -3900,9 +3754,8 @@ msgid "No raster"
 msgstr "No raster"
 
 #: ../gui/wxpython/psmap/dialogs.py:3223
-#, fuzzy
 msgid "Mapinfo settings"
-msgstr "Configuraciones del mapa"
+msgstr "Configuraciones Mapinfo"
 
 #: ../gui/wxpython/psmap/dialogs.py:3285
 msgid "Color settings"
@@ -3941,9 +3794,8 @@ msgid "Scalebar height is real height on paper"
 msgstr "La altura de la barra de escala es la altura real en el papel"
 
 #: ../gui/wxpython/psmap/dialogs.py:3486
-#, fuzzy
 msgid "default"
-msgstr "Preseleccionado."
+msgstr "predeterminado"
 
 #: ../gui/wxpython/psmap/dialogs.py:3531
 msgid "Type:"
@@ -4028,50 +3880,45 @@ msgstr "No se ha entrado ningún texto!"
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
 #: ../gui/wxpython/menustrings.py:2008
-#, fuzzy
 msgid "Image"
-msgstr "&Imágenes"
+msgstr "Imágen"
 
 #: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
-#, fuzzy
 msgid "Choose a directory:"
-msgstr "Seleccionar directorio de entrada de datos hacia GRASS:"
+msgstr "Seleccionar un directorio:"
 
 #: ../gui/wxpython/psmap/dialogs.py:4122
-#, fuzzy
 msgid "Choose a directory with images"
-msgstr "Seleccionar directorio de entrada de datos hacia GRASS:"
+msgstr "Seleccionar un directorio con imágenes:"
 
 #: ../gui/wxpython/psmap/dialogs.py:4154
 msgid "Note: only EPS format supported"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:4163
-#, fuzzy
 msgid "Scale And Rotation"
-msgstr "Escala y flecha de Norte."
+msgstr "Escala y rotación"
 
 #: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
-#, fuzzy
 msgid "Rotation angle (deg):"
-msgstr "Rotación:"
+msgstr "Ángulo de rotación (grados):"
 
 #: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
-#, fuzzy
 msgid "Counterclockwise rotation in degrees"
-msgstr "sentido antihorario en grados:"
+msgstr "Rotación en el sentido contrario al de las manecillas del reloj en grados"
 
 #: ../gui/wxpython/psmap/dialogs.py:4301
-#, fuzzy
 msgid ""
 "PIL\n"
 "missing"
-msgstr "Emisión."
+msgstr ""
+"PIL\n"
+"faltante"
 
 #: ../gui/wxpython/psmap/dialogs.py:4321
-#, fuzzy, python-format
+#, python-format
 msgid "Unable to read file %s"
-msgstr "Falló la lectura del archivo %s."
+msgstr "No se puede leer el archivo %s"
 
 #: ../gui/wxpython/psmap/dialogs.py:4380
 #, python-format
@@ -4079,20 +3926,17 @@ msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:4402
-#, fuzzy
 msgid "No image selected."
-msgstr "No se ha seleccionado ningún mapa!"
+msgstr "No se ha seleccionado ninguna imágen."
 
 #: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
 #: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
-#, fuzzy
 msgid "North Arrow"
-msgstr "Escala y flecha de Norte."
+msgstr "Flecha de Norte"
 
 #: ../gui/wxpython/psmap/dialogs.py:4499
-#, fuzzy
 msgid "North Arrow settings"
-msgstr "Mostrar configuración."
+msgstr "Configuración de la flecha de Norte"
 
 #: ../gui/wxpython/psmap/dialogs.py:4510
 msgid "Compute convergence"
@@ -4105,14 +3949,12 @@ msgid "Point"
 msgstr "Punto."
 
 #: ../gui/wxpython/psmap/dialogs.py:4566
-#, fuzzy
 msgid "Symbol"
-msgstr "símbolo"
+msgstr "Símbolo"
 
 #: ../gui/wxpython/psmap/dialogs.py:4571
-#, fuzzy
 msgid "Select symbol:"
-msgstr "Seleccionar mediante recuadro."
+msgstr "Símbolo seleccionado:"
 
 #: ../gui/wxpython/psmap/dialogs.py:4585
 msgid ""
@@ -4137,29 +3979,24 @@ msgid "Fill color:"
 msgstr "rellenar color"
 
 #: ../gui/wxpython/psmap/dialogs.py:4642
-#, fuzzy
 msgid "Size and Rotation"
-msgstr "Tamaño y posición"
+msgstr "Tamaño y rotación"
 
 #: ../gui/wxpython/psmap/dialogs.py:4647
-#, fuzzy
 msgid "Size (pt):"
-msgstr "Tamaño:"
+msgstr "Tamaño (pt):"
 
 #: ../gui/wxpython/psmap/dialogs.py:4649
-#, fuzzy
 msgid "Symbol size in points"
-msgstr "Tamaño del símbolo:"
+msgstr "Tamaño del símbolo en puntos:"
 
 #: ../gui/wxpython/psmap/dialogs.py:4823
-#, fuzzy
 msgid "Rectangle settings"
-msgstr "Cambiar configuración."
+msgstr "Configuración del rectángulo"
 
 #: ../gui/wxpython/psmap/dialogs.py:4825
-#, fuzzy
 msgid "Line settings"
-msgstr "Cambiar configuración."
+msgstr "Configuración de línea"
 
 #: ../gui/wxpython/psmap/dialogs.py:4911
 #, fuzzy
@@ -4167,9 +4004,8 @@ msgid "Line width in points"
 msgstr "Línea"
 
 #: ../gui/wxpython/psmap/dialogs.py:4979
-#, fuzzy
 msgid "Vector labels"
-msgstr "Etiquetas de vectores."
+msgstr "Etiquetas de vectoriales"
 
 #: ../gui/wxpython/psmap/dialogs.py:4998
 msgid "Vector label files created beforehand by v.label module"
@@ -4194,9 +4030,7 @@ msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:238
 msgid "Program ps2pdf is not available. Please install it first to create PDF."
-msgstr ""
-"El programa ps2pdf no está disponible. Por favor instálelo primero para "
-"crear PDF."
+msgstr "El programa ps2pdf no está disponible. Por favor instálelo primero para crear PDF."
 
 #: ../gui/wxpython/psmap/frame.py:282
 msgid "Generating PDF..."
@@ -4221,9 +4055,8 @@ msgid "%(prg)s exited with return code %(code)s"
 msgstr "ps2pdf salió con código de retorno %s"
 
 #: ../gui/wxpython/psmap/frame.py:329
-#, fuzzy
 msgid "PDF generated"
-msgstr "Vista previa generada"
+msgstr "PDF generado"
 
 #: ../gui/wxpython/psmap/frame.py:332
 #, python-format
@@ -4237,24 +4070,19 @@ msgstr ""
 " %s"
 
 #: ../gui/wxpython/psmap/frame.py:335
-#, fuzzy
 msgid "PostScript file generated"
-msgstr "Vista previa generada"
+msgstr "Archivo PostScript generado"
 
 #: ../gui/wxpython/psmap/frame.py:341
-#, fuzzy
 msgid "Generating preview, wait please"
-msgstr "Generando vista previa..."
+msgstr "Generando vista previa, por favor espere"
 
 #: ../gui/wxpython/psmap/frame.py:355
-#, fuzzy
 msgid "Preview not available"
-msgstr "Modo de vista 3D no disponible"
+msgstr "Vista previa no disponible"
 
 #: ../gui/wxpython/psmap/frame.py:356
-msgid ""
-"Preview is not available probably because Ghostscript is not installed or "
-"not on PATH."
+msgid "Preview is not available probably because Ghostscript is not installed or not on PATH."
 msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:358
@@ -4320,9 +4148,8 @@ msgid "Click and drag to resize object"
 msgstr "Clicar y arrastrar para cambiar el tamaño del objeto"
 
 #: ../gui/wxpython/psmap/frame.py:2171
-#, fuzzy
 msgid "labels: "
-msgstr "Añadir etiquetas."
+msgstr "etiquetas:"
 
 #: ../gui/wxpython/psmap/instructions.py:133
 #, python-format
@@ -4416,16 +4243,12 @@ msgstr "No se pudo leer la instrucción %s."
 #: ../gui/wxpython/psmap/instructions.py:818
 #: ../gui/wxpython/psmap/instructions.py:1700
 #, python-format
-msgid ""
-"Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
-"which is required by module ps.map."
+msgid "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding which is required by module ps.map."
 msgstr ""
 
 #: ../gui/wxpython/psmap/instructions.py:822
 #: ../gui/wxpython/psmap/instructions.py:1704
-msgid ""
-"Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
-"required by module ps.map."
+msgid "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is required by module ps.map."
 msgstr ""
 
 #: ../gui/wxpython/psmap/instructions.py:938
@@ -4444,34 +4267,28 @@ msgid "point"
 msgstr "punto"
 
 #: ../gui/wxpython/psmap/utils.py:95
-#, fuzzy
 msgid "centimeter"
-msgstr "perímetro"
+msgstr "centímetro"
 
 #: ../gui/wxpython/psmap/utils.py:96
-#, fuzzy
 msgid "millimeter"
-msgstr "perímetro"
+msgstr "milímetro"
 
 #: ../gui/wxpython/psmap/utils.py:97
-#, fuzzy
 msgid "meters"
-msgstr "Parámetros."
+msgstr "metros"
 
 #: ../gui/wxpython/psmap/utils.py:98
-#, fuzzy
 msgid "kilometers"
-msgstr "perímetro"
+msgstr "kilómetros"
 
 #: ../gui/wxpython/psmap/utils.py:99
-#, fuzzy
 msgid "feet"
-msgstr "Reiniciar."
+msgstr "pies"
 
 #: ../gui/wxpython/psmap/utils.py:100
-#, fuzzy
 msgid "miles"
-msgstr "Archivo"
+msgstr "millas"
 
 #: ../gui/wxpython/psmap/utils.py:101 ../gui/wxpython/psmap/utils.py:105
 msgid "nautical miles"
@@ -4479,17 +4296,15 @@ msgstr ""
 
 #: ../gui/wxpython/psmap/utils.py:103
 msgid "pixel"
-msgstr ""
+msgstr "pixel"
 
 #: ../gui/wxpython/psmap/utils.py:104
-#, fuzzy
 msgid "meter"
-msgstr "perímetro"
+msgstr "metros"
 
 #: ../gui/wxpython/psmap/utils.py:106
-#, fuzzy
 msgid "degree"
-msgstr "Arbol d"
+msgstr "grados"
 
 #: ../gui/wxpython/psmap/utils.py:351
 msgid "Unable to run `ps.map -b`"
@@ -4541,15 +4356,13 @@ msgid "Quit Cartographic Composer"
 msgstr "Salir del Modelador Gráfico"
 
 #: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
-#, fuzzy
 msgid "Map info"
-msgstr "Añadir información al mapa"
+msgstr "información del mapa"
 
 #: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
 #: ../gui/wxpython/menustrings.py:2004
-#, fuzzy
 msgid "Scale bar"
-msgstr "Añadir barra de escala"
+msgstr "Barra de escala"
 
 #: ../gui/wxpython/psmap/toolbars.py:102
 #: ../gui/wxpython/vdigit/preferences.py:539
@@ -4560,12 +4373,10 @@ msgstr "Línea."
 #: ../gui/wxpython/rlisetup/wizard.py:1105
 #: ../gui/wxpython/rlisetup/wizard.py:1267
 #: ../gui/wxpython/rlisetup/wizard.py:1356
-#, fuzzy
 msgid "Rectangle"
-msgstr "Seleccionar dangles"
+msgstr "Rectángulo"
 
 #: ../gui/wxpython/psmap/toolbars.py:106
-#, fuzzy
 msgid "Add overlays"
 msgstr "Añadir superposiciones"
 
@@ -4665,8 +4476,7 @@ msgstr "Ingrese sesión de GRASS."
 
 #: ../gui/wxpython/mapdisp/frame.py:253
 #, python-format
-msgid ""
-"GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
+msgid "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr ""
 
 #: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
@@ -4755,13 +4565,11 @@ msgstr "No hay un mapa vectorial abierto para realizar edición."
 
 #: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
-msgstr ""
-"No se ha seleccionado ningún mapa raster o vectorial para ser consultado."
+msgstr "No se ha seleccionado ningún mapa raster o vectorial para ser consultado."
 
 #: ../gui/wxpython/mapdisp/frame.py:878
 #, python-brace-format
-msgid ""
-"Failed to query vector map(s) <{maps}>. Check database settings and topology."
+msgid "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
 #: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
@@ -4817,15 +4625,8 @@ msgid "Show computational extent"
 msgstr "Mostrar la extensión de cálculo:"
 
 #: ../gui/wxpython/mapdisp/statusbar.py:443
-msgid ""
-"Show/hide computational region extent (set with g.region). Display region "
-"drawn as a blue box inside the computational region, computational region "
-"inside a display region as a red box)."
-msgstr ""
-"Mostrar / ocultar la extensión de la región de cálculo (definida mediante g."
-"region). La región de visualización se muestra como un cuadro de color azul "
-"dentro de la región de cálculo, el área de cálculo se muestra como un cuadro "
-"rojo."
+msgid "Show/hide computational region extent (set with g.region). Display region drawn as a blue box inside the computational region, computational region inside a display region as a red box)."
+msgstr "Mostrar / ocultar la extensión de la región de cálculo (definida mediante g.region). La región de visualización se muestra como un cuadro de color azul dentro de la región de cálculo, el área de cálculo se muestra como un cuadro rojo."
 
 #: ../gui/wxpython/mapdisp/statusbar.py:492
 msgid "Display mode"
@@ -4838,13 +4639,8 @@ msgstr ""
 
 #: ../gui/wxpython/mapdisp/statusbar.py:499
 #, fuzzy
-msgid ""
-"Align region extent based on display size from center point. Default value "
-"for new map displays can be set up in 'User GUI settings' dialog."
-msgstr ""
-"Restringir la resolución de pantalla a la configuración de la región de "
-"cálculo. El valor predeterminado para mostrar el nuevo mapa, se puede "
-"configurar en el diálogo 'Configuración de la interfaz gráfica de usuario'."
+msgid "Align region extent based on display size from center point. Default value for new map displays can be set up in 'User GUI settings' dialog."
+msgstr "Restringir la resolución de pantalla a la configuración de la región de cálculo. El valor predeterminado para mostrar el nuevo mapa, se puede configurar en el diálogo 'Configuración de la interfaz gráfica de usuario'."
 
 #: ../gui/wxpython/mapdisp/statusbar.py:532
 #, fuzzy
@@ -4854,27 +4650,18 @@ msgstr "Mostrar región."
 #: ../gui/wxpython/mapdisp/statusbar.py:535
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
-msgstr ""
-"Restringir la resolución de pantalla a la configuración de cálculo "
-"seleccionada."
+msgstr "Restringir la resolución de pantalla a la configuración de cálculo seleccionada."
 
 #: ../gui/wxpython/mapdisp/statusbar.py:538
-msgid ""
-"Constrain display resolution to computational region settings. Default value "
-"for new map displays can be set up in 'User GUI settings' dialog."
-msgstr ""
-"Restringir la resolución de pantalla a la configuración de la región de "
-"cálculo. El valor predeterminado para mostrar el nuevo mapa, se puede "
-"configurar en el diálogo 'Configuración de la interfaz gráfica de usuario'."
+msgid "Constrain display resolution to computational region settings. Default value for new map displays can be set up in 'User GUI settings' dialog."
+msgstr "Restringir la resolución de pantalla a la configuración de la región de cálculo. El valor predeterminado para mostrar el nuevo mapa, se puede configurar en el diálogo 'Configuración de la interfaz gráfica de usuario'."
 
 #: ../gui/wxpython/mapdisp/statusbar.py:575
 msgid "Map scale"
 msgstr "Escala de mapa."
 
 #: ../gui/wxpython/mapdisp/statusbar.py:589
-msgid ""
-"As everyone's monitors and resolutions are set differently these values are "
-"not true map scales, but should get you into the right neighborhood."
+msgid "As everyone's monitors and resolutions are set differently these values are not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
 #: ../gui/wxpython/mapdisp/statusbar.py:642
@@ -4905,12 +4692,8 @@ msgstr "Utilizar proyección definida"
 
 #: ../gui/wxpython/mapdisp/statusbar.py:787
 #, fuzzy
-msgid ""
-"Reproject coordinates displayed in the statusbar. Projection can be defined "
-"in GUI preferences dialog (tab 'Projection')"
-msgstr ""
-"Reproyectar las coordenadas mostradas en la barra de estado. La proyección "
-"se puede definir en el diálogo de preferencias de la GUI (tab 'Display')"
+msgid "Reproject coordinates displayed in the statusbar. Projection can be defined in GUI preferences dialog (tab 'Projection')"
+msgstr "Reproyectar las coordenadas mostradas en la barra de estado. La proyección se puede definir en el diálogo de preferencias de la GUI (tab 'Display')"
 
 #: ../gui/wxpython/mapdisp/statusbar.py:812
 msgid "MASK"
@@ -4971,9 +4754,8 @@ msgid "Measure distance"
 msgstr "Medir distancia."
 
 #: ../gui/wxpython/mapdisp/toolbars.py:43
-#, fuzzy
 msgid "Measure area"
-msgstr "Medir distancia."
+msgstr "Medir área"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:45
 msgid "Profile surface map"
@@ -5010,8 +4792,7 @@ msgid "Fly-through mode"
 msgstr ""
 
 #: ../gui/wxpython/mapdisp/toolbars.py:62
-msgid ""
-"Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
+msgid "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
 #: ../gui/wxpython/mapdisp/toolbars.py:64
@@ -5044,15 +4825,8 @@ msgid "Vector digitizer not available"
 msgstr "Digitalizador vectorial no disponible"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:109
-msgid ""
-"Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
-"will be fixed soon). Please keep an eye out for updated versions of GRASS. "
-"In the meantime you can use \"v.digit\" from the Develop Vector menu."
-msgstr ""
-"Tenga en cuenta que el digitalizador vectorial wxGUI's se encuentra "
-"actualmente deshabilitado (se espera que se solucione pronto). Por favor "
-"esté alerta a versiones actualizadas de GRASS. De mientras puede utilizar "
-"\"v.digit\" del menú Develop Vector"
+msgid "Note that the wxGUI's vector digitizer is currently disabled (hopefully this will be fixed soon). Please keep an eye out for updated versions of GRASS. In the meantime you can use \"v.digit\" from the Develop Vector menu."
+msgstr "Tenga en cuenta que el digitalizador vectorial wxGUI's se encuentra actualmente deshabilitado (se espera que se solucione pronto). Por favor esté alerta a versiones actualizadas de GRASS. De mientras puede utilizar \"v.digit\" del menú Develop Vector"
 
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
@@ -5072,8 +4846,7 @@ msgstr "¿Crear nueva locación?"
 #: ../gui/wxpython/rlisetup/wizard.py:130
 #, fuzzy
 msgid "r.li.setup wizard canceled. Configuration file not created."
-msgstr ""
-"Se ha cancelado el asistente de locaciones. La locación no ha sido creada."
+msgstr "Se ha cancelado el asistente de locaciones. La locación no ha sido creada."
 
 #: ../gui/wxpython/rlisetup/wizard.py:429
 #, fuzzy
@@ -5169,9 +4942,8 @@ msgid "Insert sampling areas"
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/rlisetup/wizard.py:810
-#, fuzzy
 msgid "Regions"
-msgstr "Región."
+msgstr "Regiones"
 
 #: ../gui/wxpython/rlisetup/wizard.py:811
 #, fuzzy
@@ -5191,9 +4963,8 @@ msgid ""
 msgstr "Georrectifica mapas raster y vectoriales."
 
 #: ../gui/wxpython/rlisetup/wizard.py:822
-#, fuzzy
 msgid "Choose a method"
-msgstr "Escoger archivo"
+msgstr "Escoger un método"
 
 #: ../gui/wxpython/rlisetup/wizard.py:823
 msgid "Use keyboard to enter sampling area"
@@ -5208,9 +4979,8 @@ msgid "This option is not supported yet"
 msgstr "Esta opción todavía no está soportada"
 
 #: ../gui/wxpython/rlisetup/wizard.py:840
-#, fuzzy
 msgid "Number of regions to draw:"
-msgstr "Número de segmentos:"
+msgstr "Número de regiones a dibujar:"
 
 #: ../gui/wxpython/rlisetup/wizard.py:854
 #, fuzzy
@@ -5232,14 +5002,12 @@ msgid "All the features will be used"
 msgstr ""
 
 #: ../gui/wxpython/rlisetup/wizard.py:878
-#, fuzzy
 msgid "Analysing all vector features..."
-msgstr "Seleccione los objetos espaciales vectoriales."
+msgstr "Analizando todos los objetos vectoriales"
 
 #: ../gui/wxpython/rlisetup/wizard.py:975
-#, fuzzy
 msgid "Analysing vector"
-msgstr "Barra de herramientas de visualización de GCP"
+msgstr "Analizando vector"
 
 #: ../gui/wxpython/rlisetup/wizard.py:991
 msgid "All feature are been analyzed."
@@ -5250,56 +5018,48 @@ msgid "An error occurred"
 msgstr "Sucedió un error"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1026
-#, fuzzy
 msgid "Draw sampling regions"
-msgstr "Importar datos raster"
+msgstr "Dibuje regiones de muestreo"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1043
-#, fuzzy
 msgid "Draw sample region "
-msgstr "Importar datos raster"
+msgstr "Dibuje la región de muestreo"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1051
 #: ../gui/wxpython/rlisetup/wizard.py:1396
-#, fuzzy
 msgid "Draw moving windows region"
-msgstr "Moviendo la ventana."
+msgstr "Dibujar región para ventanas móviles"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1053
 #: ../gui/wxpython/rlisetup/wizard.py:1402
 #: ../gui/wxpython/rlisetup/sampling_frame.py:391
-#, fuzzy
 msgid "Draw sampling region"
-msgstr "Importar datos raster"
+msgstr "Dibujar unidades de muestreo"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1090
-#, fuzzy
 msgid "Select sample units from keyboard"
-msgstr "La capa del mapa seleccionado no es vectorial."
+msgstr "Seleccioe unidades de muestreo desde el teclado"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1104
 #: ../gui/wxpython/rlisetup/wizard.py:1266
 #: ../gui/wxpython/rlisetup/wizard.py:1355
-#, fuzzy
 msgid "Select type of shape"
-msgstr "Seleccionar un mapa vectorial."
+msgstr "Seleccionar tipo de forma"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1105
 #: ../gui/wxpython/rlisetup/wizard.py:1267
 #: ../gui/wxpython/rlisetup/wizard.py:1356
 msgid "Circle"
-msgstr ""
+msgstr "Círculo"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1127
 #: ../gui/wxpython/rlisetup/wizard.py:1278
 #: ../gui/wxpython/rlisetup/wizard.py:1293
-#, fuzzy
 msgid "Width size (in cells)?"
-msgstr "¿Qué tamaño de radio (en metros)?"
+msgstr "¿Qué ancho (en celdas)?"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1128
 #: ../gui/wxpython/rlisetup/wizard.py:1294
-#, fuzzy
 msgid "What radius size (in meters)?"
 msgstr "¿Qué tamaño de radio (en metros)?"
 
@@ -5347,13 +5107,12 @@ msgid "What number of Sampling Units to use?"
 msgstr ""
 
 #: ../gui/wxpython/rlisetup/wizard.py:1221
-#, fuzzy
 msgid "Insert number of row strates"
-msgstr "Número de segmentos:"
+msgstr "Número de estratos en filas"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1222
 msgid "Insert number of column strates"
-msgstr ""
+msgstr "Inserte el número de estratos de columnas"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1228
 msgid "Insert distance between units"
@@ -5402,9 +5161,7 @@ msgstr "Seleccionar color."
 #: ../gui/wxpython/rlisetup/wizard.py:1578
 #: ../gui/wxpython/rlisetup/functions.py:138
 #, python-format
-msgid ""
-"The raster map <%s> already exists. Please remove or rename the maps with "
-"the prefix '%s' or select the option to overwrite existing maps"
+msgid "The raster map <%s> already exists. Please remove or rename the maps with the prefix '%s' or select the option to overwrite existing maps"
 msgstr ""
 
 #: ../gui/wxpython/rlisetup/wizard.py:1618
@@ -5618,9 +5375,7 @@ msgstr ""
 
 #: ../gui/wxpython/rlisetup/frame.py:241
 #, python-format
-msgid ""
-"Set the new name for %s \"                                            "
-"\"configuration file"
+msgid "Set the new name for %s \"                                            \"configuration file"
 msgstr ""
 
 #: ../gui/wxpython/rlisetup/frame.py:243
@@ -5837,9 +5592,7 @@ msgstr "El número máximo de animaciones es %d."
 
 #: ../gui/wxpython/animation/dialogs.py:727
 #: ../gui/wxpython/animation/controller.py:245
-msgid ""
-"More animations are using one window. Please select different window for "
-"each animation."
+msgid "More animations are using one window. Please select different window for each animation."
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:742
@@ -6006,9 +5759,7 @@ msgid "Additional options:"
 msgstr "Establecer opciones."
 
 #: ../gui/wxpython/animation/dialogs.py:998
-msgid ""
-"Consider adding '-sameq' or '-qscale 1' if not satisfied with video quality. "
-"Options depend on ffmpeg version."
+msgid "Consider adding '-sameq' or '-qscale 1' if not satisfied with video quality. Options depend on ffmpeg version."
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:1020
@@ -6134,9 +5885,7 @@ msgid "Absolute time format:"
 msgstr "Formato de coordenadas"
 
 #: ../gui/wxpython/animation/dialogs.py:1577
-msgid ""
-"Click and then press key up or down to preview different date and time "
-"formats. Type custom format string."
+msgid "Click and then press key up or down to preview different date and time formats. Type custom format string."
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:1586
@@ -6148,9 +5897,7 @@ msgid "Display instances with no data"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:1596
-msgid ""
-"When animating instant-based data which have irregular timestamps you can "
-"display 'no data frame' (checked option) or keep last frame."
+msgid "When animating instant-based data which have irregular timestamps you can display 'no data frame' (checked option) or keep last frame."
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:1618
@@ -6240,9 +5987,7 @@ msgid "to %(to)s"
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:105
-msgid ""
-"It is not allowed to display data with different temporal types (absolute "
-"and relative)."
+msgid "It is not allowed to display data with different temporal types (absolute and relative)."
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:119
@@ -6251,10 +5996,7 @@ msgid "It is not allowed to display data with different units (%s)."
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:130
-msgid ""
-"You are going to display data with different temporal types of maps "
-"(interval and point). It is recommended to use data of one temporal type to "
-"avoid confusion."
+msgid "You are going to display data with different temporal types of maps (interval and point). It is recommended to use data of one temporal type to avoid confusion."
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
@@ -6338,19 +6080,15 @@ msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
 #: ../gui/wxpython/animation/utils.py:182
-msgid ""
-"The temporal type (absolute/relative) of space-time datasets has to be the "
-"same."
+msgid "The temporal type (absolute/relative) of space-time datasets has to be the same."
 msgstr ""
 
 #: ../gui/wxpython/animation/utils.py:186
-msgid ""
-"The map type (point/interval) of space-time datasets has to be the same."
+msgid "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
 #: ../gui/wxpython/animation/utils.py:190
-msgid ""
-"The temporal extents of maps in space-time datasets have to be the same."
+msgid "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
 #: ../gui/wxpython/animation/utils.py:198
@@ -6358,9 +6096,7 @@ msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
 #: ../gui/wxpython/animation/utils.py:202
-msgid ""
-"The number of maps to animate has to be the same as the number of maps in "
-"temporal dataset."
+msgid "The number of maps to animate has to be the same as the number of maps in temporal dataset."
 msgstr ""
 
 #: ../gui/wxpython/animation/toolbars.py:28
@@ -6408,9 +6144,7 @@ msgid "Add space-time dataset or series of map layers for animation"
 msgstr ""
 
 #: ../gui/wxpython/timeline/frame.py:38
-msgid ""
-"The Timeline Tool needs the \"matplotlib\" (python-matplotlib) package to be "
-"installed."
+msgid "The Timeline Tool needs the \"matplotlib\" (python-matplotlib) package to be installed."
 msgstr ""
 
 #: ../gui/wxpython/timeline/frame.py:70
@@ -6450,9 +6184,7 @@ msgstr "Mapa vectorial <%s> no encontrado"
 
 #: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
 #: ../gui/wxpython/tplot/frame.py:418
-msgid ""
-"Datasets have different temporal type (absolute x relative), which is not "
-"allowed."
+msgid "Datasets have different temporal type (absolute x relative), which is not allowed."
 msgstr ""
 
 #: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
@@ -6586,9 +6318,7 @@ msgid "Tilt:"
 msgstr ""
 
 #: ../gui/wxpython/nviz/tools.py:271
-msgid ""
-"Adjusts the viewing height above the surface (angle of view automatically "
-"adjusts to maintain the same center of view)"
+msgid "Adjusts the viewing height above the surface (angle of view automatically adjusts to maintain the same center of view)"
 msgstr ""
 
 #: ../gui/wxpython/nviz/tools.py:276
@@ -6610,9 +6340,7 @@ msgid "here"
 msgstr "Esfera."
 
 #: ../gui/wxpython/nviz/tools.py:309
-msgid ""
-"Allows you to select a point on the surface that becomes the new center of "
-"view. Click on the button and then on the surface."
+msgid "Allows you to select a point on the surface that becomes the new center of view. Click on the button and then on the surface."
 msgstr ""
 
 #: ../gui/wxpython/nviz/tools.py:315
@@ -6629,9 +6357,7 @@ msgid "top"
 msgstr "Superior."
 
 #: ../gui/wxpython/nviz/tools.py:325
-msgid ""
-"Sets the viewer directly over the scene's center position. This top view "
-"orients approximately north south."
+msgid "Sets the viewer directly over the scene's center position. This top view orients approximately north south."
 msgstr ""
 
 #: ../gui/wxpython/nviz/tools.py:329
@@ -6648,9 +6374,7 @@ msgid "Image Appearance"
 msgstr "Presentación de la Imagen"
 
 #: ../gui/wxpython/nviz/tools.py:392
-msgid ""
-"Press 'Record' button and start changing the view. It is recommended to use "
-"fly-through mode (Map Display toolbar) to achieve smooth motion."
+msgid "Press 'Record' button and start changing the view. It is recommended to use fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
 #: ../gui/wxpython/nviz/tools.py:403
@@ -6686,8 +6410,7 @@ msgid "Choose a directory for images"
 msgstr "Seleccionar directorio de entrada de datos hacia GRASS:"
 
 #: ../gui/wxpython/nviz/tools.py:490
-msgid ""
-"Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
+msgid "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
 #: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
@@ -6889,9 +6612,7 @@ msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
 #: ../gui/wxpython/nviz/tools.py:1045
-msgid ""
-"Sets the Z coordinate of the current cutting plane (only meaningful when "
-"tilt is not 0)"
+msgid "Sets the Z coordinate of the current cutting plane (only meaningful when tilt is not 0)"
 msgstr ""
 
 #: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
@@ -7294,9 +7015,7 @@ msgid "Adjusts the distance and direction of the image viewpoint"
 msgstr "Ajusta la distancia y dirección del punto de vista de la imagen"
 
 #: ../gui/wxpython/nviz/tools.py:5177
-msgid ""
-"Adjusts the light direction. Click and drag the puck to change the light "
-"direction."
+msgid "Adjusts the light direction. Click and drag the puck to change the light direction."
 msgstr ""
 
 #: ../gui/wxpython/nviz/preferences.py:32
@@ -7379,16 +7098,12 @@ msgid "3D view settings saved to file <%s>."
 msgstr "Las configuraciones de la vista 3D se han guardado en el archivo <%s>."
 
 #: ../gui/wxpython/nviz/mapwindow.py:224
-msgid ""
-"Opening 3D view was not successful. Please try to change the value of depth "
-"buffer in GUI Settings dialog > tab Map Display > Advanced and restart GUI."
+msgid "Opening 3D view was not successful. Please try to change the value of depth buffer in GUI Settings dialog > tab Map Display > Advanced and restart GUI."
 msgstr ""
 
 #: ../gui/wxpython/nviz/mapwindow.py:559
 #, python-format
-msgid ""
-"Image is too large, your OpenGL implementation supports maximum texture size "
-"%d px."
+msgid "Image is too large, your OpenGL implementation supports maximum texture size %d px."
 msgstr ""
 
 #: ../gui/wxpython/nviz/mapwindow.py:1057
@@ -7482,8 +7197,7 @@ msgstr "No ha sido posible descargar el mapa vectorial<%(name)s> (%(type)s)."
 #: ../gui/wxpython/nviz/mapwindow.py:1806
 #, python-format
 msgid "Vector map <%(name)s> (%(type)s) unloaded successfully"
-msgstr ""
-"El mapa vectorial <%(name)s> (%(type)s) ha sido exitosamente descargado."
+msgstr "El mapa vectorial <%(name)s> (%(type)s) ha sido exitosamente descargado."
 
 #: ../gui/wxpython/nviz/mapwindow.py:2163
 #, python-format
@@ -7493,8 +7207,7 @@ msgstr "No se ha encontrado la capa de puntos vectoriales (id = %d)"
 #: ../gui/wxpython/nviz/mapwindow.py:2165
 #, python-format
 msgid "Unable to set data layer properties (id = %d)"
-msgstr ""
-"No es posible establecer las propiedades de los datos de la capa (id=%d)"
+msgstr "No es posible establecer las propiedades de los datos de la capa (id=%d)"
 
 #: ../gui/wxpython/nviz/mapwindow.py:2168
 #, python-format
@@ -7641,9 +7354,7 @@ msgstr "Añadir capa de mapa raster 3D"
 
 #: ../gui/wxpython/lmgr/layertree.py:105
 msgid "Note that 3D raster data are rendered only in 3D view mode"
-msgstr ""
-"Tenga en cuenta que los datos raster 3D solo son renderizados en el modo de "
-"visualización 3D"
+msgstr "Tenga en cuenta que los datos raster 3D solo son renderizados en el modo de visualización 3D"
 
 #: ../gui/wxpython/lmgr/layertree.py:107
 #, fuzzy
@@ -7674,8 +7385,7 @@ msgstr "Acercamiento al mapa o mapas seleccionados."
 
 #: ../gui/wxpython/lmgr/layertree.py:463
 msgid "Set computational region from selected map(s)"
-msgstr ""
-"Establece la región de cálculo a partir del (los) mapa(s) seleccionado(s)."
+msgstr "Establece la región de cálculo a partir del (los) mapa(s) seleccionado(s)."
 
 #: ../gui/wxpython/lmgr/layertree.py:477
 #, fuzzy
@@ -7720,9 +7430,7 @@ msgstr "Reconstruir topología"
 
 #: ../gui/wxpython/lmgr/layertree.py:578
 msgid "Zoom to selected map(s) (ignore NULLs)"
-msgstr ""
-"Acercamiento al (los) mapa(s) seleccionado(s) (se ignoraran los valores "
-"nulos)."
+msgstr "Acercamiento al (los) mapa(s) seleccionado(s) (se ignoraran los valores nulos)."
 
 #: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
@@ -7754,9 +7462,7 @@ msgstr "No se puede crear el perfil del mapa raster."
 
 #: ../gui/wxpython/lmgr/layertree.py:786
 #, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
+msgid "Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII characters excluding %(chars)s and space."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
@@ -7772,8 +7478,7 @@ msgstr "Tipo de capa de mapa no soportada '%s'."
 #: ../gui/wxpython/lmgr/layertree.py:815
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
-msgstr ""
-"Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
+msgstr "Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
 
 #: ../gui/wxpython/lmgr/layertree.py:816
 #, fuzzy, python-format
@@ -7782,11 +7487,8 @@ msgstr "Define la opacidad <%s>."
 
 #: ../gui/wxpython/lmgr/layertree.py:830
 #, fuzzy, python-format
-msgid ""
-"%s <%s> already exists in the current mapset. Do you want to overwrite it?"
-msgstr ""
-"El archivo vectorial <%s> ya existe en el directorio de mapas de usuario "
-"actual (Mapset) ¿Quiere sobrescribirlo?"
+msgid "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
+msgstr "El archivo vectorial <%s> ya existe en el directorio de mapas de usuario actual (Mapset) ¿Quiere sobrescribirlo?"
 
 #: ../gui/wxpython/lmgr/layertree.py:833
 #: ../gui/wxpython/modules/colorrules.py:608
@@ -7910,9 +7612,7 @@ msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
 msgid "Do you want to set the default region extents and resolution now?"
-msgstr ""
-"¿Quiere establecer la extensión y resolución de la región predeterminada "
-"ahora?"
+msgstr "¿Quiere establecer la extensión y resolución de la región predeterminada ahora?"
 
 #: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
 #, python-format
@@ -7929,8 +7629,7 @@ msgstr "¿Desea guardar los cambios en el entorno de trabajo?"
 
 #: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
 msgid "Do you want to store current settings to workspace file?"
-msgstr ""
-"¿Desea guardar los ajustes actuales en un archivo de entorno de trabajo?"
+msgstr "¿Desea guardar los ajustes actuales en un archivo de entorno de trabajo?"
 
 #: ../gui/wxpython/lmgr/frame.py:571
 #, fuzzy, python-format
@@ -7939,12 +7638,8 @@ msgstr "Cerrar ventana de visualización del mapa % d ."
 
 #: ../gui/wxpython/lmgr/frame.py:646
 #, python-format
-msgid ""
-"Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
-"layer instead."
-msgstr ""
-"El comando '%s' no está implementado todavía en WxGUI. Intentar añadirlo "
-"como capa de comando."
+msgid "Command '%s' not yet implemented in the WxGUI. Try adding it as a command layer instead."
+msgstr "El comando '%s' no está implementado todavía en WxGUI. Intentar añadirlo como capa de comando."
 
 #: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
 msgid "Selected map layer is not vector."
@@ -7952,8 +7647,7 @@ msgstr "La capa del mapa seleccionado no es vectorial."
 
 #: ../gui/wxpython/lmgr/frame.py:812
 msgid "Editing is allowed only for vector maps from the current mapset."
-msgstr ""
-"Solo se permiten editar mapas vectoriales del actual directorio de mapas."
+msgstr "Solo se permiten editar mapas vectoriales del actual directorio de mapas."
 
 #: ../gui/wxpython/lmgr/frame.py:836
 msgid "Choose script file to run"
@@ -7964,10 +7658,7 @@ msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Script Python  (*.py)|*.py|Script Bash (*.sh)|*.sh"
 
 #: ../gui/wxpython/lmgr/frame.py:850
-msgid ""
-"Due to the limitations of your operating system, the script path cannot "
-"contain certain non-ascii characters. Please rename the script or move it to "
-"a different location."
+msgid "Due to the limitations of your operating system, the script path cannot contain certain non-ascii characters. Please rename the script or move it to a different location."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:857
@@ -7977,9 +7668,7 @@ msgstr "El archivo script '%s' no existe. Operación cancelada."
 
 #: ../gui/wxpython/lmgr/frame.py:864
 #, python-format
-msgid ""
-"Script <%s> is not executable. Do you want to set the permissions that "
-"allows you to run this script (note that you must be the owner of the file)?"
+msgid "Script <%s> is not executable. Do you want to set the permissions that allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:869
@@ -7994,9 +7683,7 @@ msgstr "No es posible ejecutar la consulta SQL '%s'. Operación cancelada."
 
 #: ../gui/wxpython/lmgr/frame.py:889
 #, python-format
-msgid ""
-"Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
-"directory to GRASS_ADDON_PATH?"
+msgid "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this directory to GRASS_ADDON_PATH?"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:892
@@ -8015,8 +7702,7 @@ msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
 
 #: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
 msgid "Enter name for new mapset:"
-msgstr ""
-"Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
+msgstr "Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
 
 #: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
 #: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
@@ -8055,9 +7741,7 @@ msgid "Without parameters it opens a dialog."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:1000
-msgid ""
-"If ~ (tilde) is present as the first directory on the path, it is replaced "
-"by user's home directory."
+msgid "If ~ (tilde) is present as the first directory on the path, it is replaced by user's home directory."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:1014
@@ -8101,12 +7785,8 @@ msgid "Platform"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:1160
-msgid ""
-"Current workspace is not empty. Do you want to store current settings to "
-"workspace file?"
-msgstr ""
-"El área de trabajo actual no está vacía. ¿Desea guardar los ajustes actuales "
-"en un archivo de espacio de trabajo?"
+msgid "Current workspace is not empty. Do you want to store current settings to workspace file?"
+msgstr "El área de trabajo actual no está vacía. ¿Desea guardar los ajustes actuales en un archivo de espacio de trabajo?"
 
 #: ../gui/wxpython/lmgr/frame.py:1163
 msgid "Create new workspace?"
@@ -8122,15 +7802,11 @@ msgstr "Archivo de Entorno de Trabajo GRASS  (*.gxw)|*.gxw"
 
 #: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
 msgid "Please wait, loading workspace..."
-msgstr ""
-"Por favor espere, cargando el archivo que contiene los parámetros de "
-"configuración del espacio de trabajo (.GRC)."
+msgstr "Por favor espere, cargando el archivo que contiene los parámetros de configuración del espacio de trabajo (.GRC)."
 
 #: ../gui/wxpython/lmgr/frame.py:1348
 msgid "Choose GRC file to load"
-msgstr ""
-"Seleccione el archivo que contiene los parámetros de configuración del "
-"espacio de trabajo (.GRC) a cargar."
+msgstr "Seleccione el archivo que contiene los parámetros de configuración del espacio de trabajo (.GRC) a cargar."
 
 #: ../gui/wxpython/lmgr/frame.py:1349
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
@@ -8138,15 +7814,12 @@ msgstr "Antiguo Archivo de Entorno de Trabajo de GRASS (*.grc)|*.grc"
 
 #: ../gui/wxpython/lmgr/frame.py:1386
 msgid "Choose file to save current workspace"
-msgstr ""
-"Seleccione el archivo donde guardar la configuración del espacio de trabajo "
-"actual."
+msgstr "Seleccione el archivo donde guardar la configuración del espacio de trabajo actual."
 
 #: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
-msgstr ""
-"El archivo de entorno de trabajo <%s> ya existe. ¿Quiere sobrescribirlo?"
+msgstr "El archivo de entorno de trabajo <%s> ya existe. ¿Quiere sobrescribirlo?"
 
 #: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
 #: ../gui/wxpython/menustrings.py:10
@@ -8155,15 +7828,12 @@ msgstr "Guardar entorno de trabajo."
 
 #: ../gui/wxpython/lmgr/frame.py:1441
 msgid "Writing current settings to workspace file failed."
-msgstr ""
-"La escritura de las configuraciones actuales al archivo del entorno de "
-"trabajo ha fallado."
+msgstr "La escritura de las configuraciones actuales al archivo del entorno de trabajo ha fallado."
 
 #: ../gui/wxpython/lmgr/frame.py:1488
 #, fuzzy
 msgid "Enter new name:"
-msgstr ""
-"Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
+msgstr "Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
 
 #: ../gui/wxpython/lmgr/frame.py:1494
 #, fuzzy, python-brace-format
@@ -8198,9 +7868,7 @@ msgid "Unsupported map layer type <%s>."
 msgstr "Tipo de capa de mapa no soportada '%s'."
 
 #: ../gui/wxpython/lmgr/frame.py:2062
-msgid ""
-"Note that cell values can only be displayed for regions of less than 10,000 "
-"cells."
+msgid "Note that cell values can only be displayed for regions of less than 10,000 cells."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:2144
@@ -8216,8 +7884,7 @@ msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:2147
 msgid "Do you want to remove selected map layer(s) from layer tree?"
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
 
 #: ../gui/wxpython/lmgr/frame.py:2151
 msgid "Remove map layer"
@@ -8238,10 +7905,7 @@ msgid "No map layer selected. Operation canceled."
 msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
 
 #: ../gui/wxpython/lmgr/frame.py:2284
-msgid ""
-"Display resolution is currently not constrained to computational settings. "
-"It's suggested to constrain map to region geometry. Do you want to constrain "
-"the resolution?"
+msgid "Display resolution is currently not constrained to computational settings. It's suggested to constrain map to region geometry. Do you want to constrain the resolution?"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/frame.py:2293
@@ -8337,8 +8001,7 @@ msgstr "Añadir superposiciones"
 #: ../gui/wxpython/lmgr/toolbars.py:95
 #, fuzzy
 msgid "Remove selected map layer(s) from layer tree"
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
 
 #: ../gui/wxpython/lmgr/toolbars.py:136
 msgid "Import/link raster or vector data"
@@ -8385,9 +8048,7 @@ msgstr "Editar el registro seleccionado."
 #: ../gui/wxpython/lmgr/toolbars.py:208
 #, fuzzy
 msgid "Show attribute data for selected vector map"
-msgstr ""
-"Volver a cargar los datos del atributo (únicamente para las capas "
-"seleccionadas)."
+msgstr "Volver a cargar los datos del atributo (únicamente para las capas seleccionadas)."
 
 #: ../gui/wxpython/lmgr/toolbars.py:237
 #, fuzzy
@@ -8414,13 +8075,11 @@ msgid "Show 3D view mode manual"
 msgstr "Mostrar/ocultar diálogo de configuración de vista en modo 3D"
 
 #: ../gui/wxpython/lmgr/menudata.py:42
-msgid ""
-"Unable to parse user toolboxes XML files. Default main menu will be loaded."
+msgid "Unable to parse user toolboxes XML files. Default main menu will be loaded."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/menudata.py:64
-msgid ""
-"Unable to parse user toolboxes XML files. Default module tree will be loaded."
+msgid "Unable to parse user toolboxes XML files. Default module tree will be loaded."
 msgstr ""
 
 #: ../gui/wxpython/vdigit/dialogs.py:76
@@ -8465,8 +8124,7 @@ msgid ""
 "Layer and category number must be integer.\n"
 "Layer number must be greater than zero."
 msgstr ""
-"No ha sido posible añadir una nueva capa / categoría <%(layer)s/"
-"%(category)s>.\n"
+"No ha sido posible añadir una nueva capa / categoría <%(layer)s/%(category)s>.\n"
 "El número de capa y categoría debe ser un entero.\n"
 "El número de capa debe ser mayor que cero."
 
@@ -8514,9 +8172,7 @@ msgstr "Aplicar cambios para esta sesión."
 
 #: ../gui/wxpython/vdigit/preferences.py:60
 msgid "Close dialog and save changes to user settings file"
-msgstr ""
-"Cerrar el diálogo y guardar los cambios al archivo de configuraciones de "
-"usuario."
+msgstr "Cerrar el diálogo y guardar los cambios al archivo de configuraciones de usuario."
 
 #: ../gui/wxpython/vdigit/preferences.py:154
 msgid "Snapping"
@@ -8556,16 +8212,11 @@ msgstr "Seleccione umbral."
 
 #: ../gui/wxpython/vdigit/preferences.py:224
 msgid "Select only features inside of selection bounding box"
-msgstr ""
-"Seleccione únicamente, los objetos espaciales localizados dentro del "
-"recuadro frontera."
+msgstr "Seleccione únicamente, los objetos espaciales localizados dentro del recuadro frontera."
 
 #: ../gui/wxpython/vdigit/preferences.py:226
-msgid ""
-"By default are selected all features overlapping selection bounding box "
-msgstr ""
-"De forma predeterminada, se han seleccionan todos los objetos espaciales que "
-"se superponen al cuadro delimitador de selección."
+msgid "By default are selected all features overlapping selection bounding box "
+msgstr "De forma predeterminada, se han seleccionan todos los objetos espaciales que se superponen al cuadro delimitador de selección."
 
 #: ../gui/wxpython/vdigit/preferences.py:229
 msgid "Check for duplicates"
@@ -8696,12 +8347,8 @@ msgid "perimeter"
 msgstr "perímetro"
 
 #: ../gui/wxpython/vdigit/preferences.py:505
-msgid ""
-"Note: These settings are stored in the workspace not in the vector digitizer "
-"preferences."
-msgstr ""
-"Nota: Estas configuraciones se guardan en el entorno de trabajo no en las "
-"prefencias del digitalizador vectorial."
+msgid "Note: These settings are stored in the workspace not in the vector digitizer preferences."
+msgstr "Nota: Estas configuraciones se guardan en el entorno de trabajo no en las prefencias del digitalizador vectorial."
 
 #: ../gui/wxpython/vdigit/preferences.py:534
 #, fuzzy
@@ -8772,14 +8419,12 @@ msgstr "Ajuste deshabilitado."
 #: ../gui/wxpython/vdigit/preferences.py:620
 #, python-format
 msgid "Snapping threshold is %(value).1f %(units)s (based on comp. resolution)"
-msgstr ""
-"El umbral de ajuste es %(value).1f %(units)s (basado en la resolución comp.)."
+msgstr "El umbral de ajuste es %(value).1f %(units)s (basado en la resolución comp.)."
 
 #: ../gui/wxpython/vdigit/preferences.py:676
 #, python-format
 msgid "Vector digitizer settings saved to file <%s>."
-msgstr ""
-"Los ajustes del digitalizador de vectores se han guardado en el archivo <%s>."
+msgstr "Los ajustes del digitalizador de vectores se han guardado en el archivo <%s>."
 
 #: ../gui/wxpython/vdigit/mapwindow.py:400
 msgid "Update categories"
@@ -8810,9 +8455,7 @@ msgstr "Digitalizador vectorial no disponible"
 
 #: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
 #, fuzzy, python-format
-msgid ""
-"Vector map <%s> not found in current mapset. New vector map can be created "
-"by providing '-c' flag."
+msgid "Vector map <%s> not found in current mapset. New vector map can be created by providing '-c' flag."
 msgstr "Mapa vectorial <%s> no encontrado"
 
 #: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
@@ -8827,14 +8470,8 @@ msgstr "No se puede crear el mapa vectorial <%s>."
 
 #: ../gui/wxpython/vdigit/wxdisplay.py:948
 #, python-format
-msgid ""
-"Topology for vector map <%s> is not available. Topology is required by "
-"digitizer. Do you want to rebuild topology (takes some time) and open the "
-"vector map for editing?"
-msgstr ""
-"La topología para el mapa vectorial <%s> no está disponible. La topología es "
-"requerida por el digitalizador. Quiere reconstruir la topología (tarda un "
-"tiempo) y abrir el mapa vectorial para editar?"
+msgid "Topology for vector map <%s> is not available. Topology is required by digitizer. Do you want to rebuild topology (takes some time) and open the vector map for editing?"
+msgstr "La topología para el mapa vectorial <%s> no está disponible. La topología es requerida por el digitalizador. Quiere reconstruir la topología (tarda un tiempo) y abrir el mapa vectorial para editar?"
 
 #: ../gui/wxpython/vdigit/wxdisplay.py:952
 msgid "Topology missing"
@@ -8879,17 +8516,12 @@ msgstr "Enlace a la base de datos %d no disponible. Operación cancelada."
 #: ../gui/wxpython/vdigit/wxdigit.py:94
 #, fuzzy, python-format
 msgid "Unable to start database driver <%s>. Operation canceled."
-msgstr ""
-"No es posible iniciar el controlador <%s> de la base de datos. Operación "
-"cancelada."
+msgstr "No es posible iniciar el controlador <%s> de la base de datos. Operación cancelada."
 
 #: ../gui/wxpython/vdigit/wxdigit.py:102
 #, fuzzy, python-format
-msgid ""
-"Unable to open database <%(db)s> by driver <%(driver)s>. Operation canceled."
-msgstr ""
-"El driver <%(driver)s> no puede abrir la base de datos <%(db)s>. Operación "
-"cancelada."
+msgid "Unable to open database <%(db)s> by driver <%(driver)s>. Operation canceled."
+msgstr "El driver <%(driver)s> no puede abrir la base de datos <%(db)s>. Operación cancelada."
 
 #: ../gui/wxpython/vdigit/wxdigit.py:110
 #, fuzzy, python-format
@@ -8937,9 +8569,7 @@ msgstr "Digitalizar nueva línea."
 #: ../gui/wxpython/vdigit/toolbars.py:130
 #: ../gui/wxpython/vdigit/toolbars.py:154
 msgid "Left: new point; Ctrl+Left: undo last point; Right: close line"
-msgstr ""
-"Izquierda: nuevo punto; Ctrl+Izquierda: deshacer último punto; Derecha: "
-"cerrar la línea"
+msgstr "Izquierda: nuevo punto; Ctrl+Izquierda: deshacer último punto; Derecha: cerrar la línea"
 
 #: ../gui/wxpython/vdigit/toolbars.py:129
 msgid "Digitize new boundary"
@@ -8952,9 +8582,7 @@ msgstr "Digitalizar nuevo centroide."
 #: ../gui/wxpython/vdigit/toolbars.py:135
 #, fuzzy
 msgid "Digitize new area (boundary without category)"
-msgstr ""
-"Digitalizar nueva área (composición de los contornos sin categoría y un "
-"centroide con categoría)"
+msgstr "Digitalizar nueva área (composición de los contornos sin categoría y un centroide con categoría)"
 
 #: ../gui/wxpython/vdigit/toolbars.py:138
 #, fuzzy
@@ -8969,8 +8597,7 @@ msgstr "Construye polilíneas a partir de líneas o contornos."
 #: ../gui/wxpython/vdigit/toolbars.py:163
 #: ../gui/wxpython/vdigit/toolbars.py:172
 msgid "Left: Select; Ctrl+Left: Unselect; Right: Confirm"
-msgstr ""
-"Izquierda: Seleccionar;  Ctrl+Izquierda: Deseleccionar; Derecha: Confirmar"
+msgstr "Izquierda: Seleccionar;  Ctrl+Izquierda: Deseleccionar; Derecha: Confirmar"
 
 #: ../gui/wxpython/vdigit/toolbars.py:141
 #, fuzzy
@@ -9122,14 +8749,9 @@ msgstr "Seleccionar un mapa vectorial."
 #: ../gui/wxpython/vdigit/toolbars.py:848
 #, fuzzy, python-format
 msgid ""
-"Topology for vector map <%s> is not available. Topology is required by "
-"digitizer.\n"
-"Do you want to rebuild topology (takes some time) and open the vector map "
-"for editing?"
-msgstr ""
-"La topología para el mapa vectorial <%s> no está disponible. La topología es "
-"requerida por el digitalizador. Quiere reconstruir la topología (tarda un "
-"tiempo) y abrir el mapa vectorial para editar?"
+"Topology for vector map <%s> is not available. Topology is required by digitizer.\n"
+"Do you want to rebuild topology (takes some time) and open the vector map for editing?"
+msgstr "La topología para el mapa vectorial <%s> no está disponible. La topología es requerida por el digitalizador. Quiere reconstruir la topología (tarda un tiempo) y abrir el mapa vectorial para editar?"
 
 #: ../gui/wxpython/vdigit/toolbars.py:852
 #, fuzzy
@@ -9139,13 +8761,11 @@ msgstr "Error del digitalizador de vectores."
 #: ../gui/wxpython/vdigit/toolbars.py:872
 #, python-format
 msgid "Please wait, opening vector map <%s> for editing..."
-msgstr ""
-"Por favor, espere, abriendo el mapa vectorial <% s> para su edición ..."
+msgstr "Por favor, espere, abriendo el mapa vectorial <% s> para su edición ..."
 
 #: ../gui/wxpython/vdigit/toolbars.py:904
 #, fuzzy, python-format
-msgid ""
-"Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
+msgid "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "Tipo de elemento %d no soportado. Operación cancelada."
 
 #: ../gui/wxpython/vdigit/toolbars.py:916
@@ -9165,9 +8785,7 @@ msgstr "¿Guardar los cambios?"
 #: ../gui/wxpython/vdigit/toolbars.py:974
 #, python-format
 msgid "Please wait, closing and rebuilding topology of vector map <%s>..."
-msgstr ""
-"Por favor espere, cerrando y reconstruyendo la topología del mapa vectorial <"
-"% s> ..."
+msgstr "Por favor espere, cerrando y reconstruyendo la topología del mapa vectorial <% s> ..."
 
 #: ../gui/wxpython/vdigit/toolbars.py:988
 #, python-format
@@ -9305,9 +8923,7 @@ msgstr ""
 #: ../gui/wxpython/web_services/dialogs.py:809
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
-msgstr ""
-"Restringir la resolución de pantalla a la configuración de cálculo "
-"seleccionada."
+msgstr "Restringir la resolución de pantalla a la configuración de cálculo seleccionada."
 
 #: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
@@ -9518,15 +9134,11 @@ msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
 #: ../gui/wxpython/gis_set.py:133
-msgid ""
-"All data in one Location is in the same  coordinate reference system "
-"(projection). One Location can be one project. Location contains Mapsets."
+msgid "All data in one Location is in the same  coordinate reference system (projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
 #: ../gui/wxpython/gis_set.py:141
-msgid ""
-"Mapset contains GIS data related to one project, task within one project, "
-"subregion or user."
+msgid "Mapset contains GIS data related to one project, task within one project, subregion or user."
 msgstr ""
 
 #: ../gui/wxpython/gis_set.py:156
@@ -9545,17 +9157,14 @@ msgstr ""
 #: ../gui/wxpython/gis_set.py:166
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
-msgstr ""
-"Crear un nuevo directorio de mapas de usuario en la locación seleccionada."
+msgstr "Crear un nuevo directorio de mapas de usuario en la locación seleccionada."
 
 #: ../gui/wxpython/gis_set.py:168
 msgid "N&ew"
 msgstr ""
 
 #: ../gui/wxpython/gis_set.py:169
-msgid ""
-"Create a new location using location wizard. After location is created "
-"successfully, GRASS session is started."
+msgid "Create a new location using location wizard. After location is created successfully, GRASS session is started."
 msgstr ""
 
 #: ../gui/wxpython/gis_set.py:173
@@ -9603,9 +9212,7 @@ msgstr "Ingrese sesión de GRASS."
 
 #: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
 msgid "Unable to set GRASS database. Check your locale settings."
-msgstr ""
-"No se puede establecer la base de datos de GRASS. Revise la configuración "
-"local."
+msgstr "No se puede establecer la base de datos de GRASS. Revise la configuración local."
 
 #: ../gui/wxpython/gis_set.py:270
 #, fuzzy, python-format
@@ -9615,8 +9222,7 @@ msgstr "ERROR: No se encuentra la locación <%s>."
 #: ../gui/wxpython/gis_set.py:287
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
-msgstr ""
-"ERROR: No se encuentra el directorio de mapas de usuario (mapset) <%s>."
+msgstr "ERROR: No se encuentra el directorio de mapas de usuario (mapset) <%s>."
 
 #: ../gui/wxpython/gis_set.py:445
 #, python-format
@@ -9652,9 +9258,7 @@ msgstr "La Georrectificación del mapa vectorial <%s>  ha fallado."
 
 #: ../gui/wxpython/gis_set.py:582
 #, python-format
-msgid ""
-"Data file <%(name)s> imported successfully. The location's default region "
-"was set from this imported map."
+msgid "Data file <%(name)s> imported successfully. The location's default region was set from this imported map."
 msgstr ""
 
 #: ../gui/wxpython/gis_set.py:595
@@ -9663,8 +9267,7 @@ msgid ""
 "\n"
 "This mapset cannot be renamed."
 msgstr ""
-"Se requiere el directorio de mapas <PERMANENT> para localización válida de "
-"GRASS.\n"
+"Se requiere el directorio de mapas <PERMANENT> para localización válida de GRASS.\n"
 "\n"
 "Este directorio de mapas no puede ser renombrado."
 
@@ -9729,24 +9332,20 @@ msgid ""
 "\n"
 "This mapset cannot be deleted."
 msgstr ""
-"Se requiere el directorio de mapas <PERMANENT> para localización válida de "
-"GRASS.\n"
+"Se requiere el directorio de mapas <PERMANENT> para localización válida de GRASS.\n"
 "\n"
 "Este directorio de mapas no puede ser eliminado."
 
 #: ../gui/wxpython/gis_set.py:678
 #, python-format
 msgid ""
-"Do you want to continue with deleting mapset <%(mapset)s> from location <"
-"%(location)s>?\n"
+"Do you want to continue with deleting mapset <%(mapset)s> from location <%(location)s>?\n"
 "\n"
 "ALL MAPS included in this mapset will be PERMANENTLY DELETED!"
 msgstr ""
-"¿Desea continuar con la eliminación del directorio de mapas de usuario "
-"(mapset) <%(mapset)s> perteneciente a la locación <%(location)s>?\n"
+"¿Desea continuar con la eliminación del directorio de mapas de usuario (mapset) <%(mapset)s> perteneciente a la locación <%(location)s>?\n"
 "\n"
-"¡TODOS LOS MAPAS incluidos en este directorio de mapas de usuario (mapset) "
-"serán PERMENENTEMENTE ELIMINADOS!"
+"¡TODOS LOS MAPAS incluidos en este directorio de mapas de usuario (mapset) serán PERMENENTEMENTE ELIMINADOS!"
 
 #: ../gui/wxpython/gis_set.py:692
 msgid "Unable to delete mapset"
@@ -9769,9 +9368,7 @@ msgstr "No se puede eliminar la ubicación (Location)."
 
 #: ../gui/wxpython/gis_set.py:739
 #, python-format
-msgid ""
-"No GRASS Location found in '%s'. Create a new Location or choose different "
-"GRASS database directory."
+msgid "No GRASS Location found in '%s'. Create a new Location or choose different GRASS database directory."
 msgstr ""
 
 #: ../gui/wxpython/gis_set.py:857
@@ -9791,8 +9388,7 @@ msgstr "El archivo ya existe"
 #: ../gui/wxpython/gis_set.py:903
 #, python-format
 msgid ""
-"Mapset <%s> is reserved for direct read access to OGR layers. Please "
-"consider to use another name for your mapset.\n"
+"Mapset <%s> is reserved for direct read access to OGR layers. Please consider to use another name for your mapset.\n"
 "\n"
 "Are you really sure that you want to create this mapset?"
 msgstr ""
@@ -9805,9 +9401,7 @@ msgstr "Renombrar el directorio de mapas de usuario (mapset)."
 #: ../gui/wxpython/gis_set.py:930
 #, python-format
 msgid "Unable to create new mapset: %s"
-msgstr ""
-"No ha sido posible crear el nuevo directorio de mapas de usuario (Mapset): "
-"%s."
+msgstr "No ha sido posible crear el nuevo directorio de mapas de usuario (Mapset): %s."
 
 #: ../gui/wxpython/gis_set.py:943
 #, python-format
@@ -9817,8 +9411,7 @@ msgid ""
 "\n"
 "Concurrent use not allowed.\n"
 "\n"
-"Do you want to try to remove .gislock (note that you need permission for "
-"this operation) and continue?"
+"Do you want to try to remove .gislock (note that you need permission for this operation) and continue?"
 msgstr ""
 
 #: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
@@ -9829,8 +9422,7 @@ msgstr ""
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
-"If you really are running another GRASS session doing this could corrupt "
-"your data. Have another look in the processor manager just to be sure..."
+"If you really are running another GRASS session doing this could corrupt your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
 #: ../gui/wxpython/gis_set.py:972
@@ -9843,21 +9435,13 @@ msgstr "No es posible realizar un acercamiento (zoom) al mapa vectorial <%s>."
 
 #: ../gui/wxpython/gis_set.py:1020
 #, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for location or mapset. Please use only "
-"ASCII characters excluding %(chars)s and space."
+msgid "Name <%(name)s> is not a valid name for location or mapset. Please use only ASCII characters excluding %(chars)s and space."
 msgstr ""
 
 #: ../gui/wxpython/gis_set.py:1091
 #, fuzzy
-msgid ""
-"GRASS needs a directory (GRASS database) in which to store its data. Create "
-"one now if you have not already done so. A popular choice is \"grassdata\", "
-"located in your home directory. Press Browse button to select the directory."
-msgstr ""
-"GRASS necesita un directorio donde almacenar los datos. Por favor cree uno "
-"si todavía no lo ha hecho. Una elección común es \"grassdata\", ubicado en "
-"su directorio home."
+msgid "GRASS needs a directory (GRASS database) in which to store its data. Create one now if you have not already done so. A popular choice is \"grassdata\", located in your home directory. Press Browse button to select the directory."
+msgstr "GRASS necesita un directorio donde almacenar los datos. Por favor cree uno si todavía no lo ha hecho. Una elección común es \"grassdata\", ubicado en su directorio home."
 
 #: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
 #: ../gui/wxpython/menustrings.py:1978
@@ -9969,9 +9553,7 @@ msgstr "Exportar mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:36 ../gui/wxpython/menustrings.py:1023
 #, fuzzy
-msgid ""
-"Imports raster data into a GRASS raster map using GDAL library and "
-"reprojects on the fly."
+msgid "Imports raster data into a GRASS raster map using GDAL library and reprojects on the fly."
 msgstr "Importar datos raster en una capa de mapa GRASS utilizando GDAL."
 
 #: ../gui/wxpython/menustrings.py:37 ../gui/wxpython/menustrings.py:1024
@@ -9980,12 +9562,8 @@ msgstr "Importación y cuadriculado de puntos x,y,z ASCII"
 
 #: ../gui/wxpython/menustrings.py:38 ../gui/wxpython/menustrings.py:1025
 #, fuzzy
-msgid ""
-"Creates a raster map from an assemblage of many coordinates using univariate "
-"statistics."
-msgstr ""
-"Crear un mapa raster a partir de un ensamblaje de muchas coordenadas usando "
-"estadísticas univariantes."
+msgid "Creates a raster map from an assemblage of many coordinates using univariate statistics."
+msgstr "Crear un mapa raster a partir de un ensamblaje de muchas coordenadas usando estadísticas univariantes."
 
 #: ../gui/wxpython/menustrings.py:39 ../gui/wxpython/menustrings.py:1026
 msgid "ASCII grid import"
@@ -10003,9 +9581,7 @@ msgstr "Importar polígonos y líneas ASCII."
 
 #: ../gui/wxpython/menustrings.py:42 ../gui/wxpython/menustrings.py:1029
 msgid "Creates raster maps from ASCII polygon/line/point data files."
-msgstr ""
-"Crea mapas raster a partir de archivos de datos de polígonos / líneas / "
-"puntos ASCII."
+msgstr "Crea mapas raster a partir de archivos de datos de polígonos / líneas / puntos ASCII."
 
 #: ../gui/wxpython/menustrings.py:43 ../gui/wxpython/menustrings.py:1030
 #, fuzzy
@@ -10067,12 +9643,8 @@ msgstr "Importar Terra ASTER HDF."
 
 #: ../gui/wxpython/menustrings.py:56 ../gui/wxpython/menustrings.py:1043
 #, fuzzy
-msgid ""
-"Georeference, rectify, and import Terra-ASTER imagery and relative DEMs "
-"using gdalwarp."
-msgstr ""
-"Georreferenciar, rectificar e importar imaginería Terra ASTER y MDT "
-"relativos usando gdalwarp."
+msgid "Georeference, rectify, and import Terra-ASTER imagery and relative DEMs using gdalwarp."
+msgstr "Georreferenciar, rectificar e importar imaginería Terra ASTER y MDT relativos usando gdalwarp."
 
 #: ../gui/wxpython/menustrings.py:57 ../gui/wxpython/menustrings.py:82
 #: ../gui/wxpython/menustrings.py:1044 ../gui/wxpython/menustrings.py:1069
@@ -10083,14 +9655,11 @@ msgstr "Exportar puntos x,y,z ASCII"
 #: ../gui/wxpython/menustrings.py:58 ../gui/wxpython/menustrings.py:1045
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
-msgstr ""
-"Crear un mapa raster a partir de un ensamblaje de muchas coordenadas usando "
-"estadísticas univariantes."
+msgstr "Crear un mapa raster a partir de un ensamblaje de muchas coordenadas usando estadísticas univariantes."
 
 #: ../gui/wxpython/menustrings.py:60 ../gui/wxpython/menustrings.py:1047
 #, fuzzy
-msgid ""
-"Imports a raster map as GRASS GIS specific archive file (packed with r.pack)"
+msgid "Imports a raster map as GRASS GIS specific archive file (packed with r.pack)"
 msgstr "Importar datos vectoriales"
 
 #: ../gui/wxpython/menustrings.py:61 ../gui/wxpython/menustrings.py:282
@@ -10117,9 +9686,7 @@ msgstr "Convierte capas vectoriales a un mapa vectorial GRASS utilizando OGR. "
 
 #: ../gui/wxpython/menustrings.py:67 ../gui/wxpython/menustrings.py:1054
 #, fuzzy
-msgid ""
-"Imports vector data into a GRASS vector map using OGR library and reprojects "
-"on the fly."
+msgid "Imports vector data into a GRASS vector map using OGR library and reprojects on the fly."
 msgstr "Convierte capas vectoriales a un mapa vectorial GRASS utilizando OGR. "
 
 #: ../gui/wxpython/menustrings.py:68 ../gui/wxpython/menustrings.py:1055
@@ -10130,9 +9697,7 @@ msgstr "Importación vectorial de puntos ASCII / GRASS ASCII."
 #: ../gui/wxpython/menustrings.py:69 ../gui/wxpython/menustrings.py:1056
 #, fuzzy
 msgid "Creates a vector map from an ASCII points file or ASCII vector file."
-msgstr ""
-"Crea un mapa vectorial a partir de archivo de puntos ASCII o archivo ASCII "
-"vectorial."
+msgstr "Crea un mapa vectorial a partir de archivo de puntos ASCII o archivo ASCII vectorial."
 
 #: ../gui/wxpython/menustrings.py:70 ../gui/wxpython/menustrings.py:1057
 msgid "ASCII points as a vector lines"
@@ -10149,8 +9714,7 @@ msgstr "Importar DXF."
 
 #: ../gui/wxpython/menustrings.py:73 ../gui/wxpython/menustrings.py:1060
 msgid "Converts files in DXF format to GRASS vector map format."
-msgstr ""
-"Convierte archivos en formato DXF a formato de mapa vectorial de GRASS."
+msgstr "Convierte archivos en formato DXF a formato de mapa vectorial de GRASS."
 
 #: ../gui/wxpython/menustrings.py:74 ../gui/wxpython/menustrings.py:1061
 msgid "WFS"
@@ -10177,9 +9741,7 @@ msgstr "Importar GEOnet"
 #: ../gui/wxpython/menustrings.py:79 ../gui/wxpython/menustrings.py:1066
 #, fuzzy
 msgid "Imports geonames.org country files into a vector points map."
-msgstr ""
-"Importa archivos de país del Servidor de Nombres Geonet (GNS) US-NGA a un "
-"mapa vectorial de puntos de GRASS."
+msgstr "Importa archivos de país del Servidor de Nombres Geonet (GNS) US-NGA a un mapa vectorial de puntos de GRASS."
 
 #: ../gui/wxpython/menustrings.py:80 ../gui/wxpython/menustrings.py:1067
 msgid "Matlab array or Mapgen format import"
@@ -10196,22 +9758,19 @@ msgstr "Convierte capas vectoriales a un mapa vectorial GRASS utilizando OGR. "
 
 #: ../gui/wxpython/menustrings.py:85 ../gui/wxpython/menustrings.py:1072
 #, fuzzy
-msgid ""
-"Imports a vector map as GRASS GIS specific archive file (packed with v.pack)"
+msgid "Imports a vector map as GRASS GIS specific archive file (packed with v.pack)"
 msgstr "Importar datos vectoriales"
 
 #: ../gui/wxpython/menustrings.py:86 ../gui/wxpython/menustrings.py:562
 #: ../gui/wxpython/menustrings.py:1073 ../gui/wxpython/menustrings.py:1469
 #, fuzzy
 msgid "Reproject vector map from different GRASS location"
-msgstr ""
-"Reproyecta un mapa vectorial desde una localización a la localización actual."
+msgstr "Reproyecta un mapa vectorial desde una localización a la localización actual."
 
 #: ../gui/wxpython/menustrings.py:87 ../gui/wxpython/menustrings.py:563
 #: ../gui/wxpython/menustrings.py:1074 ../gui/wxpython/menustrings.py:1470
 msgid "Re-projects a vector map from one location to the current location."
-msgstr ""
-"Reproyecta un mapa vectorial desde una localización a la localización actual."
+msgstr "Reproyecta un mapa vectorial desde una localización a la localización actual."
 
 #: ../gui/wxpython/menustrings.py:88 ../gui/wxpython/menustrings.py:1075
 msgid "Import 3D raster data"
@@ -10224,9 +9783,7 @@ msgstr "Importar ASCII 3D."
 #: ../gui/wxpython/menustrings.py:90 ../gui/wxpython/menustrings.py:1077
 #, fuzzy
 msgid "Converts a 3D ASCII raster text file into a (binary) 3D raster map."
-msgstr ""
-"Convertir un archivo de texto raster ASCII 3D en una capa de mapa raster 3D "
-"(binaria)"
+msgstr "Convertir un archivo de texto raster ASCII 3D en una capa de mapa raster 3D (binaria)"
 
 #: ../gui/wxpython/menustrings.py:91 ../gui/wxpython/menustrings.py:1078
 #, fuzzy
@@ -10284,11 +9841,8 @@ msgstr "Exportar puntos x,y,z ASCII"
 
 #: ../gui/wxpython/menustrings.py:104 ../gui/wxpython/menustrings.py:1091
 #, fuzzy
-msgid ""
-"Exports a raster map to a text file as x,y,z values based on cell centers."
-msgstr ""
-"Exportar un mapa raster a un archivo de texto como valores X, Y, Z basados "
-"en los centros de las celdas."
+msgid "Exports a raster map to a text file as x,y,z values based on cell centers."
+msgstr "Exportar un mapa raster a un archivo de texto como valores X, Y, Z basados en los centros de las celdas."
 
 #: ../gui/wxpython/menustrings.py:105 ../gui/wxpython/menustrings.py:1092
 msgid "GRIDATB.FOR export"
@@ -10332,8 +9886,7 @@ msgstr "Exportar a PNG."
 #: ../gui/wxpython/menustrings.py:114 ../gui/wxpython/menustrings.py:1101
 #, fuzzy
 msgid "Export a GRASS raster map as a non-georeferenced PNG image."
-msgstr ""
-"Exportar raster de GRASS como formato de imágen PNG no georreferenciada."
+msgstr "Exportar raster de GRASS como formato de imágen PNG no georreferenciada."
 
 #: ../gui/wxpython/menustrings.py:115 ../gui/wxpython/menustrings.py:1102
 msgid "PPM export"
@@ -10351,9 +9904,7 @@ msgstr "Exportar a PPM a partir de RGB."
 #: ../gui/wxpython/menustrings.py:118 ../gui/wxpython/menustrings.py:1105
 #, fuzzy
 msgid "Converts 3 GRASS raster layers (R,G,B) to a PPM image file."
-msgstr ""
-"Convierte 3 capas raster de GRASS (R,G,B) a un archivo de imagen PPM a la "
-"resolución de píxel de la REGIÓN DEFINIDA ACTUALMENTE."
+msgstr "Convierte 3 capas raster de GRASS (R,G,B) a un archivo de imagen PPM a la resolución de píxel de la REGIÓN DEFINIDA ACTUALMENTE."
 
 #: ../gui/wxpython/menustrings.py:119 ../gui/wxpython/menustrings.py:136
 #: ../gui/wxpython/menustrings.py:1106 ../gui/wxpython/menustrings.py:1123
@@ -10363,8 +9914,7 @@ msgstr "Exportar a POV-Ray."
 #: ../gui/wxpython/menustrings.py:120 ../gui/wxpython/menustrings.py:1107
 #, fuzzy
 msgid "Converts a raster map layer into a height-field file for POV-Ray."
-msgstr ""
-"Convierte una capa de mapa raster en un archivo de altura de campo POVRAY."
+msgstr "Convierte una capa de mapa raster en un archivo de altura de campo POVRAY."
 
 #: ../gui/wxpython/menustrings.py:121 ../gui/wxpython/menustrings.py:1108
 msgid "VRML export"
@@ -10373,8 +9923,7 @@ msgstr "Exportar a VRML."
 #: ../gui/wxpython/menustrings.py:122 ../gui/wxpython/menustrings.py:1109
 #, fuzzy
 msgid "Exports a raster map to the Virtual Reality Modeling Language (VRML)."
-msgstr ""
-"Exportar un mapa raster al Lenguaje de Modelado de Realidad Virtual (VRML)."
+msgstr "Exportar un mapa raster al Lenguaje de Modelado de Realidad Virtual (VRML)."
 
 #: ../gui/wxpython/menustrings.py:123 ../gui/wxpython/menustrings.py:140
 #: ../gui/wxpython/menustrings.py:151 ../gui/wxpython/menustrings.py:1110
@@ -10403,9 +9952,7 @@ msgstr "Exportar mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:129 ../gui/wxpython/menustrings.py:1116
 #, fuzzy
-msgid ""
-"Exports a vector map layer to any of the supported OGR vector formats. By "
-"default a vector map layer is exported to Esri Shapefile format."
+msgid "Exports a vector map layer to any of the supported OGR vector formats. By default a vector map layer is exported to Esri Shapefile format."
 msgstr "Convierte a uno de los formatos vectoriales OGR soportados."
 
 #: ../gui/wxpython/menustrings.py:130 ../gui/wxpython/menustrings.py:1117
@@ -10414,9 +9961,7 @@ msgid "ASCII points or GRASS ASCII vector export"
 msgstr "Exportar puntos ASCII / ASCII de GRASS a vectorial."
 
 #: ../gui/wxpython/menustrings.py:131 ../gui/wxpython/menustrings.py:1118
-msgid ""
-"Exports a vector map to a GRASS ASCII vector representation. By default only "
-"features with category are exported. To export all features use 'layer=-1'."
+msgid "Exports a vector map to a GRASS ASCII vector representation. By default only features with category are exported. To export all features use 'layer=-1'."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:132 ../gui/wxpython/menustrings.py:1119
@@ -10519,15 +10064,11 @@ msgstr "Enlazar datos raster externos"
 
 #: ../gui/wxpython/menustrings.py:158 ../gui/wxpython/menustrings.py:1145
 msgid "Link GDAL supported raster data as a pseudo GRASS raster map layer."
-msgstr ""
-"El enlace GDAL ha soportado los datos como una pseudo-capa de mapa raster "
-"GRASS."
+msgstr "El enlace GDAL ha soportado los datos como una pseudo-capa de mapa raster GRASS."
 
 #: ../gui/wxpython/menustrings.py:160 ../gui/wxpython/menustrings.py:1147
 msgid "Creates a new pseudo-vector map as a link to an OGR-supported layer."
-msgstr ""
-"Crea un nuevo mapa pseudo-vectorial como un enlace a una capa soportada por "
-"OGR."
+msgstr "Crea un nuevo mapa pseudo-vectorial como un enlace a una capa soportada por OGR."
 
 #: ../gui/wxpython/menustrings.py:161 ../gui/wxpython/menustrings.py:1148
 #, fuzzy
@@ -10558,13 +10099,8 @@ msgstr "Copiar."
 
 #: ../gui/wxpython/menustrings.py:167 ../gui/wxpython/menustrings.py:1154
 #, fuzzy
-msgid ""
-"Copies available data files in the current mapset search path to the user's "
-"current mapset."
-msgstr ""
-"Copia los archivos de datos disponibles en la ruta de búsqueda de locaciones "
-"y directorio de mapas del usuario actual a los directorios apropiados de "
-"elementos en el directorio de mapas del usuario actual (current mapset)."
+msgid "Copies available data files in the current mapset search path to the user's current mapset."
+msgstr "Copia los archivos de datos disponibles en la ruta de búsqueda de locaciones y directorio de mapas del usuario actual a los directorios apropiados de elementos en el directorio de mapas del usuario actual (current mapset)."
 
 #: ../gui/wxpython/menustrings.py:168 ../gui/wxpython/menustrings.py:929
 #: ../gui/wxpython/menustrings.py:1155 ../gui/wxpython/menustrings.py:1836
@@ -10573,27 +10109,17 @@ msgstr "Enlistar."
 
 #: ../gui/wxpython/menustrings.py:169 ../gui/wxpython/menustrings.py:1156
 #, fuzzy
-msgid ""
-"Lists available GRASS data base files of the user-specified data type "
-"optionally using the search pattern."
-msgstr ""
-"Enlista a la salida estándar, los archivos de base de datos de GRASS "
-"disponibles a partir del tipo de datos especificado por el usuario."
+msgid "Lists available GRASS data base files of the user-specified data type optionally using the search pattern."
+msgstr "Enlista a la salida estándar, los archivos de base de datos de GRASS disponibles a partir del tipo de datos especificado por el usuario."
 
 #: ../gui/wxpython/menustrings.py:171 ../gui/wxpython/menustrings.py:1158
 msgid "Renames data base element files in the user's current mapset."
-msgstr ""
-"Cambia el nombre archivos de elementos de base de datos en el directorio de "
-"mapas actual del usuario."
+msgstr "Cambia el nombre archivos de elementos de base de datos en el directorio de mapas actual del usuario."
 
 #: ../gui/wxpython/menustrings.py:173 ../gui/wxpython/menustrings.py:1160
 #, fuzzy
-msgid ""
-"Removes data base element files from the user's current mapset using the "
-"search pattern."
-msgstr ""
-"Elimina archivos de elementos de bases de datos del directorio de mapas "
-"actual del usuario."
+msgid "Removes data base element files from the user's current mapset using the search pattern."
+msgstr "Elimina archivos de elementos de bases de datos del directorio de mapas actual del usuario."
 
 #: ../gui/wxpython/menustrings.py:174 ../gui/wxpython/menustrings.py:306
 #: ../gui/wxpython/menustrings.py:600 ../gui/wxpython/menustrings.py:832
@@ -10622,9 +10148,7 @@ msgstr "Series raster a volumen."
 #: ../gui/wxpython/menustrings.py:178 ../gui/wxpython/menustrings.py:310
 #: ../gui/wxpython/menustrings.py:1217
 msgid "Converts 2D raster map slices to one 3D raster volume map."
-msgstr ""
-"Convierte secciones de corte 2D de un mapa raster a un mapa raster de "
-"volumen en 3D."
+msgstr "Convierte secciones de corte 2D de un mapa raster a un mapa raster de volumen en 3D."
 
 #: ../gui/wxpython/menustrings.py:179 ../gui/wxpython/menustrings.py:311
 #: ../gui/wxpython/menustrings.py:1218
@@ -10635,8 +10159,7 @@ msgstr "Raster 2.5D a volumen."
 #: ../gui/wxpython/menustrings.py:180 ../gui/wxpython/menustrings.py:312
 #: ../gui/wxpython/menustrings.py:1219
 msgid "Creates a 3D volume map based on 2D elevation and value raster maps."
-msgstr ""
-"Crea un mapa de volumen 3D basado en mapas raster de elevación y valor 2D."
+msgstr "Crea un mapa de volumen 3D basado en mapas raster de elevación y valor 2D."
 
 #: ../gui/wxpython/menustrings.py:181 ../gui/wxpython/menustrings.py:601
 #: ../gui/wxpython/menustrings.py:1508
@@ -10658,9 +10181,7 @@ msgstr "Vectorial a raster."
 #: ../gui/wxpython/menustrings.py:1511
 #, fuzzy
 msgid "Converts a vector map (only points) into a 3D raster map."
-msgstr ""
-"Convierte un mapa vectorial binario de GRASS (sólo puntos) en una capa de "
-"mapa raster 3D de GRASS."
+msgstr "Convierte un mapa vectorial binario de GRASS (sólo puntos) en una capa de mapa raster 3D de GRASS."
 
 #: ../gui/wxpython/menustrings.py:185 ../gui/wxpython/menustrings.py:605
 #: ../gui/wxpython/menustrings.py:1512
@@ -10688,8 +10209,7 @@ msgstr "Georrectificar."
 
 #: ../gui/wxpython/menustrings.py:190 ../gui/wxpython/menustrings.py:1919
 msgid "Manage Ground Control Points for Georectification"
-msgstr ""
-"Administra los Puntos de Control sobre el Terreno para Georectificación"
+msgstr "Administra los Puntos de Control sobre el Terreno para Georectificación"
 
 #: ../gui/wxpython/menustrings.py:191 ../gui/wxpython/menustrings.py:1920
 msgid "Graphical modeler"
@@ -10713,9 +10233,7 @@ msgid "3D image rendering"
 msgstr "Habilitar auto representación."
 
 #: ../gui/wxpython/menustrings.py:196
-msgid ""
-"Creates a 3D rendering of GIS data. Renders surfaces (raster data), 2D/3D "
-"vector data, and volumes (3D raster data) in 3D."
+msgid "Creates a 3D rendering of GIS data. Renders surfaces (raster data), 2D/3D vector data, and volumes (3D raster data) in 3D."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:197 ../gui/wxpython/menustrings.py:1001
@@ -10735,12 +10253,8 @@ msgstr "Rumbo / distancia a coordenadas."
 
 #: ../gui/wxpython/menustrings.py:200
 #, fuzzy
-msgid ""
-"A simple utility for converting bearing and distance measurements to "
-"coordinates and vice versa. It assumes a cartesian coordinate system"
-msgstr ""
-"Una utilería simple para convertir medidas de rumbo y distancia a "
-"coordenadas y viceversa."
+msgid "A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a cartesian coordinate system"
+msgstr "Una utilería simple para convertir medidas de rumbo y distancia a coordenadas y viceversa."
 
 #: ../gui/wxpython/menustrings.py:202 ../gui/wxpython/menustrings.py:1927
 #, fuzzy
@@ -10799,8 +10313,7 @@ msgstr "Mostrar región."
 
 #: ../gui/wxpython/menustrings.py:214 ../gui/wxpython/menustrings.py:216
 msgid "Manages the boundary definitions for the geographic region."
-msgstr ""
-"Administra las definiciones de los contornos para la región geográfica."
+msgstr "Administra las definiciones de los contornos para la región geográfica."
 
 #: ../gui/wxpython/menustrings.py:215
 msgid "Set region"
@@ -10816,9 +10329,7 @@ msgstr "Acceso a directorio de mapas."
 
 #: ../gui/wxpython/menustrings.py:219
 msgid "Set/unset access to other mapsets in current location"
-msgstr ""
-"Establecer / desestablecer el acceso a otros directorios de mapas en la "
-"locación actual."
+msgstr "Establecer / desestablecer el acceso a otros directorios de mapas en la locación actual."
 
 #: ../gui/wxpython/menustrings.py:220
 msgid "User access"
@@ -10826,21 +10337,15 @@ msgstr "Acceso de usuario."
 
 #: ../gui/wxpython/menustrings.py:221
 #, fuzzy
-msgid ""
-"Controls access to the current mapset for other users on the system. If no "
-"option given, prints current status."
-msgstr ""
-"Controla el acceso al directorio de mapas actual para otros usuarios del "
-"sistema."
+msgid "Controls access to the current mapset for other users on the system. If no option given, prints current status."
+msgstr "Controla el acceso al directorio de mapas actual para otros usuarios del sistema."
 
 #: ../gui/wxpython/menustrings.py:222
 msgid "Change working environment"
 msgstr "Cambiar entorno de trabajo."
 
 #: ../gui/wxpython/menustrings.py:223
-msgid ""
-"Changes/reports current mapset. Optionally create new mapset or list "
-"available mapsets in given location."
+msgid "Changes/reports current mapset. Optionally create new mapset or list available mapsets in given location."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:224
@@ -10870,9 +10375,7 @@ msgstr "Mostrar configuración."
 
 #: ../gui/wxpython/menustrings.py:231
 msgid "Outputs and modifies the user's current GRASS variable settings."
-msgstr ""
-"Muestra y permite modificar las variables actuales de configuración del "
-"usuario de GRASS."
+msgstr "Muestra y permite modificar las variables actuales de configuración del usuario de GRASS."
 
 #: ../gui/wxpython/menustrings.py:232
 msgid "Change settings"
@@ -10880,12 +10383,8 @@ msgstr "Cambiar configuración."
 
 #: ../gui/wxpython/menustrings.py:233
 #, fuzzy
-msgid ""
-"Outputs and modifies the user's current GRASS variable settings. Prints all "
-"defined GRASS variables if no option is given."
-msgstr ""
-"Muestra y permite modificar las variables actuales de configuración del "
-"usuario de GRASS."
+msgid "Outputs and modifies the user's current GRASS variable settings. Prints all defined GRASS variables if no option is given."
+msgstr "Muestra y permite modificar las variables actuales de configuración del usuario de GRASS."
 
 #: ../gui/wxpython/menustrings.py:234
 #, fuzzy
@@ -10920,12 +10419,8 @@ msgid "Display map projection"
 msgstr "Mostrar proyección del mapa"
 
 #: ../gui/wxpython/menustrings.py:242
-msgid ""
-"Converts co-ordinate system descriptions (i.e. projection information) "
-"between various formats (including GRASS format)."
-msgstr ""
-"Convierte descripciones de sistemas de coordenadas (por ejemplo información "
-"de proyección) entre varios formatos (incluido el formato GRASS)."
+msgid "Converts co-ordinate system descriptions (i.e. projection information) between various formats (including GRASS format)."
+msgstr "Convierte descripciones de sistemas de coordenadas (por ejemplo información de proyección) entre varios formatos (incluido el formato GRASS)."
 
 #: ../gui/wxpython/menustrings.py:243
 msgid "Manage projections"
@@ -10933,14 +10428,8 @@ msgstr "Administrar proyecciones."
 
 #: ../gui/wxpython/menustrings.py:244
 #, fuzzy
-msgid ""
-"Prints or modifies GRASS projection information files (in various co-"
-"ordinate system descriptions). Can also be used to create new GRASS "
-"locations."
-msgstr ""
-"Convierte descripciones de sistemas de coordenadas (o sea, información de "
-"proyección) entre varios formatos (incluido el formato GRASS). También puede "
-"usarse para crear locaciones de GRASS."
+msgid "Prints or modifies GRASS projection information files (in various co-ordinate system descriptions). Can also be used to create new GRASS locations."
+msgstr "Convierte descripciones de sistemas de coordenadas (o sea, información de proyección) entre varios formatos (incluido el formato GRASS). También puede usarse para crear locaciones de GRASS."
 
 #: ../gui/wxpython/menustrings.py:245
 msgid "Convert coordinates"
@@ -10964,8 +10453,7 @@ msgstr "Instalar extensión de los complementos"
 #: ../gui/wxpython/menustrings.py:249
 #, fuzzy
 msgid "Installs new extension from GRASS AddOns SVN repository."
-msgstr ""
-"Instalar nueva extensión de los complementos del repositorio SVN de GRASS"
+msgstr "Instalar nueva extensión de los complementos del repositorio SVN de GRASS"
 
 #: ../gui/wxpython/menustrings.py:250
 #, fuzzy
@@ -10983,9 +10471,7 @@ msgstr "Preferencias."
 
 #: ../gui/wxpython/menustrings.py:253
 msgid "User GUI preferences (display font, commands, digitizer, etc.)"
-msgstr ""
-"Preferencias del usuario para la interfaz gráfica de usuario (GUI) (tipo de "
-"letra para la visualización, órdenes, digitalizador, etc.)"
+msgstr "Preferencias del usuario para la interfaz gráfica de usuario (GUI) (tipo de letra para la visualización, órdenes, digitalizador, etc.)"
 
 #: ../gui/wxpython/menustrings.py:254 ../gui/wxpython/menustrings.py:1161
 msgid "&Raster"
@@ -11033,11 +10519,8 @@ msgstr "Marca de tiempo."
 
 #: ../gui/wxpython/menustrings.py:265 ../gui/wxpython/menustrings.py:1172
 #, fuzzy
-msgid ""
-"Modifies a timestamp for a raster map. Print/add/remove a timestamp for a "
-"raster map."
-msgstr ""
-"Imprimir / añadir / eliminar una marca de tiempo para un mapa raster 3D."
+msgid "Modifies a timestamp for a raster map. Print/add/remove a timestamp for a raster map."
+msgstr "Imprimir / añadir / eliminar una marca de tiempo para un mapa raster 3D."
 
 #: ../gui/wxpython/menustrings.py:266 ../gui/wxpython/menustrings.py:1173
 msgid "Resample using aggregate statistics"
@@ -11069,14 +10552,8 @@ msgid "Resample using spline tension"
 msgstr "Volver a muestrear usando tensión de spline."
 
 #: ../gui/wxpython/menustrings.py:273 ../gui/wxpython/menustrings.py:1180
-msgid ""
-"Reinterpolates and optionally computes topographic analysis from input "
-"raster map to a new raster map (possibly with different resolution) using "
-"regularized spline with tension and smoothing."
-msgstr ""
-"Reinterpola y opcionalmente procesa, análisis topográficos a partir del mapa "
-"raster de entrada a un nuevo mapa raster (posiblemente con distinta "
-"resolución) usando splines regularizadas con tensión y suavizado."
+msgid "Reinterpolates and optionally computes topographic analysis from input raster map to a new raster map (possibly with different resolution) using regularized spline with tension and smoothing."
+msgstr "Reinterpola y opcionalmente procesa, análisis topográficos a partir del mapa raster de entrada a un nuevo mapa raster (posiblemente con distinta resolución) usando splines regularizadas con tensión y suavizado."
 
 #: ../gui/wxpython/menustrings.py:274 ../gui/wxpython/menustrings.py:1181
 #, fuzzy
@@ -11085,11 +10562,8 @@ msgstr "Volver a muestrear usando tensión de spline."
 
 #: ../gui/wxpython/menustrings.py:275 ../gui/wxpython/menustrings.py:1182
 #, fuzzy
-msgid ""
-"Performs bilinear or bicubic spline interpolation with Tykhonov "
-"regularization."
-msgstr ""
-"Interpolación de spline bicúbica o bilineal con regularización Tykhonov."
+msgid "Performs bilinear or bicubic spline interpolation with Tykhonov regularization."
+msgstr "Interpolación de spline bicúbica o bilineal con regularización Tykhonov."
 
 #: ../gui/wxpython/menustrings.py:276 ../gui/wxpython/menustrings.py:1183
 #, fuzzy
@@ -11108,9 +10582,7 @@ msgstr "Mantenimiento de archivos de soporte."
 
 #: ../gui/wxpython/menustrings.py:279 ../gui/wxpython/menustrings.py:1186
 msgid "Allows creation and/or modification of raster map layer support files."
-msgstr ""
-"Permite la creación y/o modificación de archivos de soporte de capas de "
-"mapas raster."
+msgstr "Permite la creación y/o modificación de archivos de soporte de capas de mapas raster."
 
 #: ../gui/wxpython/menustrings.py:280 ../gui/wxpython/menustrings.py:1187
 msgid "Update map statistics"
@@ -11125,12 +10597,8 @@ msgid "Tiling"
 msgstr "Realizar mosaico."
 
 #: ../gui/wxpython/menustrings.py:285 ../gui/wxpython/menustrings.py:1192
-msgid ""
-"Produces tilings of the source projection for use in the destination region "
-"and projection."
-msgstr ""
-"Produce mosaicos de la proyección de origen para su uso en la región y "
-"proyección de destino."
+msgid "Produces tilings of the source projection for use in the destination region and projection."
+msgstr "Produce mosaicos de la proyección de origen para su uso en la región y proyección de destino."
 
 #: ../gui/wxpython/menustrings.py:286 ../gui/wxpython/menustrings.py:583
 #: ../gui/wxpython/menustrings.py:1193 ../gui/wxpython/menustrings.py:1490
@@ -11145,8 +10613,7 @@ msgstr "Tablas de color."
 #: ../gui/wxpython/menustrings.py:288 ../gui/wxpython/menustrings.py:1195
 #, fuzzy
 msgid "Creates/modifies the color table associated with a raster map."
-msgstr ""
-"Crea / modifica la tabla de colores asociada a una capa de mapa raster."
+msgstr "Crea / modifica la tabla de colores asociada a una capa de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:289 ../gui/wxpython/menustrings.py:1196
 msgid "Color tables (stddev)"
@@ -11155,9 +10622,7 @@ msgstr "Tablas de color (stddev)."
 #: ../gui/wxpython/menustrings.py:290 ../gui/wxpython/menustrings.py:1197
 #, fuzzy
 msgid "Sets color rules based on stddev from a raster map's mean value."
-msgstr ""
-"Establecer reglas de color basándose en la desviación estándar, a partir del "
-"valor promedio de un mapa."
+msgstr "Establecer reglas de color basándose en la desviación estándar, a partir del valor promedio de un mapa."
 
 #: ../gui/wxpython/menustrings.py:291 ../gui/wxpython/menustrings.py:586
 #: ../gui/wxpython/menustrings.py:1198 ../gui/wxpython/menustrings.py:1493
@@ -11185,19 +10650,15 @@ msgstr "Mezclar 2 raster en color."
 
 #: ../gui/wxpython/menustrings.py:296 ../gui/wxpython/menustrings.py:1203
 msgid "Blends color components of two raster maps by a given ratio."
-msgstr ""
-"Mezcla los componentes de color de dos mapas raster en la proporción "
-"indicada."
+msgstr "Mezcla los componentes de color de dos mapas raster en la proporción indicada."
 
 #: ../gui/wxpython/menustrings.py:297 ../gui/wxpython/menustrings.py:1204
 msgid "Create RGB"
 msgstr "Crear RGB."
 
 #: ../gui/wxpython/menustrings.py:298 ../gui/wxpython/menustrings.py:1205
-msgid ""
-"Combines red, green and blue raster maps into a single composite raster map."
-msgstr ""
-"Combina capas de mapa roja, verde y azul en una sola capa de mapa compuesto."
+msgid "Combines red, green and blue raster maps into a single composite raster map."
+msgstr "Combina capas de mapa roja, verde y azul en una sola capa de mapa compuesto."
 
 #: ../gui/wxpython/menustrings.py:299 ../gui/wxpython/menustrings.py:739
 #: ../gui/wxpython/menustrings.py:1206 ../gui/wxpython/menustrings.py:1646
@@ -11206,14 +10667,8 @@ msgstr "Rojo, verde y azul (RGB) a matiz, intensidad y saturación (HIS)."
 
 #: ../gui/wxpython/menustrings.py:300 ../gui/wxpython/menustrings.py:1207
 #, fuzzy
-msgid ""
-"Generates red, green and blue (RGB) raster map layers combining hue, "
-"intensity and saturation (HIS) values from user-specified input raster map "
-"layers."
-msgstr ""
-"Genera capas de mapa raster roja, verde y azul combinando valores de matiz, "
-"intensidad y saturación (HIS) a partir de capas de mapa raster de entrada "
-"especificadas por el usuario."
+msgid "Generates red, green and blue (RGB) raster map layers combining hue, intensity and saturation (HIS) values from user-specified input raster map layers."
+msgstr "Genera capas de mapa raster roja, verde y azul combinando valores de matiz, intensidad y saturación (HIS) a partir de capas de mapa raster de entrada especificadas por el usuario."
 
 #: ../gui/wxpython/menustrings.py:301 ../gui/wxpython/menustrings.py:1208
 msgid "Query raster maps"
@@ -11226,8 +10681,7 @@ msgstr "Consultar valores por coordenadas"
 #: ../gui/wxpython/menustrings.py:303 ../gui/wxpython/menustrings.py:1210
 #, fuzzy
 msgid "Queries raster maps on their category values and category labels."
-msgstr ""
-"Consulta capas de mapa raster por sus valores y etiquetas de categoría."
+msgstr "Consulta capas de mapa raster por sus valores y etiquetas de categoría."
 
 #: ../gui/wxpython/menustrings.py:304 ../gui/wxpython/menustrings.py:1211
 msgid "Query colors by value"
@@ -11248,12 +10702,8 @@ msgstr "Crear zonas (Buffer) raster."
 
 #: ../gui/wxpython/menustrings.py:315 ../gui/wxpython/menustrings.py:1222
 #, fuzzy
-msgid ""
-"Creates a raster map showing buffer zones surrounding cells that contain non-"
-"NULL category values."
-msgstr ""
-"Crea una capa de mapa raster que muestra zonas de buffer que rodean celdas "
-"que contienen valores de categoría no NULOS."
+msgid "Creates a raster map showing buffer zones surrounding cells that contain non-NULL category values."
+msgstr "Crea una capa de mapa raster que muestra zonas de buffer que rodean celdas que contienen valores de categoría no NULOS."
 
 #: ../gui/wxpython/menustrings.py:316 ../gui/wxpython/menustrings.py:1223
 msgid "Concentric circles"
@@ -11261,9 +10711,7 @@ msgstr "Círculos concéntricos."
 
 #: ../gui/wxpython/menustrings.py:317 ../gui/wxpython/menustrings.py:1224
 msgid "Creates a raster map containing concentric rings around a given point."
-msgstr ""
-"Crea un mapa raster que contiene anillos concéntricos alrededor de un punto "
-"dado."
+msgstr "Crea un mapa raster que contiene anillos concéntricos alrededor de un punto dado."
 
 #: ../gui/wxpython/menustrings.py:318 ../gui/wxpython/menustrings.py:1225
 msgid "Closest points"
@@ -11280,9 +10728,7 @@ msgstr ""
 #: ../gui/wxpython/menustrings.py:321 ../gui/wxpython/menustrings.py:384
 #: ../gui/wxpython/menustrings.py:1228 ../gui/wxpython/menustrings.py:1291
 msgid "Generates a raster map layer with contiguous areas grown by one cell."
-msgstr ""
-"Genera una capa de mapa raster con áreas contiguas incrementadas en una "
-"celda."
+msgstr "Genera una capa de mapa raster con áreas contiguas incrementadas en una celda."
 
 #: ../gui/wxpython/menustrings.py:322 ../gui/wxpython/menustrings.py:376
 #: ../gui/wxpython/menustrings.py:1229 ../gui/wxpython/menustrings.py:1283
@@ -11293,9 +10739,7 @@ msgstr "Distancia a elementos más próximos."
 #: ../gui/wxpython/menustrings.py:1230 ../gui/wxpython/menustrings.py:1284
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
-msgstr ""
-"Genera una capa de mapa raster de la distancia a elementos ubicados en una "
-"capa de entrada."
+msgstr "Genera una capa de mapa raster de la distancia a elementos ubicados en una capa de entrada."
 
 #: ../gui/wxpython/menustrings.py:325 ../gui/wxpython/menustrings.py:1232
 msgid "Creates a MASK for limiting raster operation."
@@ -11311,14 +10755,8 @@ msgid "Neighborhood analysis"
 msgstr "Análisis del vecino más próximo."
 
 #: ../gui/wxpython/menustrings.py:330 ../gui/wxpython/menustrings.py:1237
-msgid ""
-"Makes each cell category value a function of the category values assigned to "
-"the cells around it, and stores new cell values in an output raster map "
-"layer."
-msgstr ""
-"Hace de cada valor de categoría de celda una función de los valores de "
-"categoría asignados a las celdas a su alrededor y guarda los nuevos valores "
-"de celda en una capa de mapa raster de salida."
+msgid "Makes each cell category value a function of the category values assigned to the cells around it, and stores new cell values in an output raster map layer."
+msgstr "Hace de cada valor de categoría de celda una función de los valores de categoría asignados a las celdas a su alrededor y guarda los nuevos valores de celda en una capa de mapa raster de salida."
 
 #: ../gui/wxpython/menustrings.py:331 ../gui/wxpython/menustrings.py:1238
 msgid "Neighborhood points"
@@ -11326,14 +10764,8 @@ msgstr "Puntos de vecindario"
 
 #: ../gui/wxpython/menustrings.py:332 ../gui/wxpython/menustrings.py:1239
 #, fuzzy
-msgid ""
-"Neighborhood analysis tool for vector point maps. Makes each cell value a "
-"function of the attribute values assigned to the vector points or centroids "
-"around it, and stores new cell values in an output raster map."
-msgstr ""
-"Hace que el valor de cada celda sea una función de los valores de los "
-"atributos asignados a los puntos vectoriales o centroides a su alrededor y "
-"guarda los nuevos valores de celda en una capa de mapa raster de salida."
+msgid "Neighborhood analysis tool for vector point maps. Makes each cell value a function of the attribute values assigned to the vector points or centroids around it, and stores new cell values in an output raster map."
+msgstr "Hace que el valor de cada celda sea una función de los valores de los atributos asignados a los puntos vectoriales o centroides a su alrededor y guarda los nuevos valores de celda en una capa de mapa raster de salida."
 
 #: ../gui/wxpython/menustrings.py:333 ../gui/wxpython/menustrings.py:1240
 msgid "Overlay rasters"
@@ -11344,25 +10776,16 @@ msgid "Cross product"
 msgstr "Producto cruzado."
 
 #: ../gui/wxpython/menustrings.py:335 ../gui/wxpython/menustrings.py:1242
-msgid ""
-"Creates a cross product of the category values from multiple raster map "
-"layers."
-msgstr ""
-"Crea un producto cruzado de los valores de categoría a partir de múltiples "
-"capas de mapa raster."
+msgid "Creates a cross product of the category values from multiple raster map layers."
+msgstr "Crea un producto cruzado de los valores de categoría a partir de múltiples capas de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:336 ../gui/wxpython/menustrings.py:1243
 msgid "Patch raster maps"
 msgstr "Une mapas raster (patch)."
 
 #: ../gui/wxpython/menustrings.py:337 ../gui/wxpython/menustrings.py:1244
-msgid ""
-"Creates a composite raster map layer by using known category values from one "
-"(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
-msgstr ""
-"Crea una capa de mapa raster compuesta usando valores de categoría conocidos "
-"de una (o más) capa(s) de mapa para rellenar áreas \"sin datos\" en otra "
-"capa de mapa."
+msgid "Creates a composite raster map layer by using known category values from one (or more) map layer(s) to fill in areas of \"no data\" in another map layer."
+msgstr "Crea una capa de mapa raster compuesta usando valores de categoría conocidos de una (o más) capa(s) de mapa para rellenar áreas \"sin datos\" en otra capa de mapa."
 
 #: ../gui/wxpython/menustrings.py:338 ../gui/wxpython/menustrings.py:1245
 #, fuzzy
@@ -11370,13 +10793,8 @@ msgid "Raster series aggregation"
 msgstr "Series de raster."
 
 #: ../gui/wxpython/menustrings.py:339 ../gui/wxpython/menustrings.py:1246
-msgid ""
-"Makes each output cell value a function of the values assigned to the "
-"corresponding cells in the input raster map layers."
-msgstr ""
-"Hace que cada valor de celda de salida sea una función de los valores "
-"asignados a las celdas correspondientes en las capas de mapa raster de "
-"entrada."
+msgid "Makes each output cell value a function of the values assigned to the corresponding cells in the input raster map layers."
+msgstr "Hace que cada valor de celda de salida sea una función de los valores asignados a las celdas correspondientes en las capas de mapa raster de entrada."
 
 #: ../gui/wxpython/menustrings.py:340 ../gui/wxpython/menustrings.py:1247
 #, fuzzy
@@ -11385,13 +10803,8 @@ msgstr "Calculadora de mapas raster"
 
 #: ../gui/wxpython/menustrings.py:341 ../gui/wxpython/menustrings.py:1248
 #, fuzzy
-msgid ""
-"Makes each output cell value a accumulationfunction of the values assigned "
-"to the corresponding cells in the input raster map layers."
-msgstr ""
-"Hace que cada valor de celda de salida sea una función de los valores "
-"asignados a las celdas correspondientes en las capas de mapa raster de "
-"entrada."
+msgid "Makes each output cell value a accumulationfunction of the values assigned to the corresponding cells in the input raster map layers."
+msgstr "Hace que cada valor de celda de salida sea una función de los valores asignados a las celdas correspondientes en las capas de mapa raster de entrada."
 
 #: ../gui/wxpython/menustrings.py:342 ../gui/wxpython/menustrings.py:1249
 msgid "Statistical overlay"
@@ -11399,9 +10812,7 @@ msgstr "Superposición estadística."
 
 #: ../gui/wxpython/menustrings.py:343 ../gui/wxpython/menustrings.py:1250
 #, fuzzy
-msgid ""
-"Calculates category or object oriented statistics (accumulator-based "
-"statistics)."
+msgid "Calculates category or object oriented statistics (accumulator-based statistics)."
 msgstr "Calcula estadísticas orientadas a categorías u objetos."
 
 #: ../gui/wxpython/menustrings.py:344 ../gui/wxpython/menustrings.py:1251
@@ -11433,23 +10844,8 @@ msgstr "Irradiación solar e irradiación."
 
 #: ../gui/wxpython/menustrings.py:350 ../gui/wxpython/menustrings.py:1257
 #, fuzzy
-msgid ""
-"Solar irradiance and irradiation model. Computes direct (beam), diffuse and "
-"reflected solar irradiation raster maps for given day, latitude, surface and "
-"atmospheric conditions. Solar parameters (e.g. sunrise, sunset times, "
-"declination, extraterrestrial irradiance, daylight length) are saved in the "
-"map history file. Alternatively, a local time can be specified to compute "
-"solar incidence angle and/or irradiance raster maps. The shadowing effect of "
-"the topography is optionally incorporated."
-msgstr ""
-"Procesa mapas ráster de irradiación solar directa (rayo), difusa y reflejada "
-"para un día, latitud, superficie y condiciones atmosféricas dados. Los "
-"parámetros solares (ej. horas de salida y puesta del sol, declinación, "
-"irradiancia extraterrestre, duración del día) se guardan en el archivo "
-"histórico del mapa. De forma alternativa, se puede especificar una hora "
-"local para procesar el ángulo de incidencia solar y/o mapas ráster de "
-"irradiancia. El efecto de sombreo de la topografía se puede incorporar "
-"opcionalmente."
+msgid "Solar irradiance and irradiation model. Computes direct (beam), diffuse and reflected solar irradiation raster maps for given day, latitude, surface and atmospheric conditions. Solar parameters (e.g. sunrise, sunset times, declination, extraterrestrial irradiance, daylight length) are saved in the map history file. Alternatively, a local time can be specified to compute solar incidence angle and/or irradiance raster maps. The shadowing effect of the topography is optionally incorp [...]
+msgstr "Procesa mapas ráster de irradiación solar directa (rayo), difusa y reflejada para un día, latitud, superficie y condiciones atmosféricas dados. Los parámetros solares (ej. horas de salida y puesta del sol, declinación, irradiancia extraterrestre, duración del día) se guardan en el archivo histórico del mapa. De forma alternativa, se puede especificar una hora local para procesar el ángulo de incidencia solar y/o mapas ráster de irradiancia. El efecto de sombreo de la topografía s [...]
 
 #: ../gui/wxpython/menustrings.py:351 ../gui/wxpython/menustrings.py:1258
 msgid "Shadows map"
@@ -11457,15 +10853,8 @@ msgstr "Mapa de sombras."
 
 #: ../gui/wxpython/menustrings.py:352 ../gui/wxpython/menustrings.py:1259
 #, fuzzy
-msgid ""
-"Calculates cast shadow areas from sun position and elevation raster map. "
-"Either exact sun position (A) is specified, or date/time to calculate the "
-"sun position (B) by r.sunmask itself."
-msgstr ""
-"Calcula áreas en las que se produce sombra a partir de la posición del sol "
-"un modelo de elevación digital (DEM). Puede especificarse, A: Cualquier "
-"posición exacta del sol o B: Fecha / hora para calcular la posición del sol "
-"mediante el mismo r.sunmask."
+msgid "Calculates cast shadow areas from sun position and elevation raster map. Either exact sun position (A) is specified, or date/time to calculate the sun position (B) by r.sunmask itself."
+msgstr "Calcula áreas en las que se produce sombra a partir de la posición del sol un modelo de elevación digital (DEM). Puede especificarse, A: Cualquier posición exacta del sol o B: Fecha / hora para calcular la posición del sol mediante el mismo r.sunmask."
 
 #: ../gui/wxpython/menustrings.py:353 ../gui/wxpython/menustrings.py:1260
 #, fuzzy
@@ -11473,11 +10862,7 @@ msgid "Sunshine hours and solar angles"
 msgstr "Crear nuevo mapa vectorial"
 
 #: ../gui/wxpython/menustrings.py:354 ../gui/wxpython/menustrings.py:1261
-msgid ""
-"Calculates solar elevation, solar azimuth, and sun hours. Solar elevation: "
-"the angle between the direction of the geometric center of the sun's "
-"apparent disk and the (idealized) horizon. Solar azimuth: the angle from due "
-"north in clockwise direction."
+msgid "Calculates solar elevation, solar azimuth, and sun hours. Solar elevation: the angle between the direction of the geometric center of the sun's apparent disk and the (idealized) horizon. Solar azimuth: the angle from due north in clockwise direction."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:355 ../gui/wxpython/menustrings.py:1262
@@ -11490,23 +10875,15 @@ msgstr "Genera líneas de contorno."
 
 #: ../gui/wxpython/menustrings.py:357 ../gui/wxpython/menustrings.py:1264
 msgid "Produces a vector map of specified contours from a raster map."
-msgstr ""
-"Produce una capa de mapa vectorial de contornos especificados a partir de "
-"una capa de mapa raster."
+msgstr "Produce una capa de mapa vectorial de contornos especificados a partir de una capa de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:358 ../gui/wxpython/menustrings.py:1265
 msgid "Cost surface"
 msgstr "Superficies de coste."
 
 #: ../gui/wxpython/menustrings.py:359 ../gui/wxpython/menustrings.py:1266
-msgid ""
-"Creates a raster map showing the cumulative cost of moving between different "
-"geographic locations on an input raster map whose cell category values "
-"represent cost."
-msgstr ""
-"Produce una capa de mapa raster que muestra el coste acumulado de moverse "
-"entre diferentes locaciones geográficas ubicadas en una capa de mapa raster "
-"de entrada cuyos valores de categoría de celdas representan un coste."
+msgid "Creates a raster map showing the cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost."
+msgstr "Produce una capa de mapa raster que muestra el coste acumulado de moverse entre diferentes locaciones geográficas ubicadas en una capa de mapa raster de entrada cuyos valores de categoría de celdas representan un coste."
 
 #: ../gui/wxpython/menustrings.py:360 ../gui/wxpython/menustrings.py:1267
 msgid "Cumulative movement costs"
@@ -11514,14 +10891,8 @@ msgstr "Costo de movimientos acumulados."
 
 #: ../gui/wxpython/menustrings.py:361 ../gui/wxpython/menustrings.py:1268
 #, fuzzy
-msgid ""
-"Creates a raster map showing the anisotropic cumulative cost of moving "
-"between different geographic locations on an input raster map whose cell "
-"category values represent cost."
-msgstr ""
-"Produce una capa de mapa raster que muestra el coste acumulado de moverse "
-"entre diferentes locaciones geográficas ubicadas en una capa de mapa raster "
-"de entrada cuyos valores de categoría de celdas representan un coste."
+msgid "Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost."
+msgstr "Produce una capa de mapa raster que muestra el coste acumulado de moverse entre diferentes locaciones geográficas ubicadas en una capa de mapa raster de entrada cuyos valores de categoría de celdas representan un coste."
 
 #: ../gui/wxpython/menustrings.py:362 ../gui/wxpython/menustrings.py:1269
 msgid "Least cost route or flow"
@@ -11529,10 +10900,8 @@ msgstr "Ruta o corriente de costes mínimos."
 
 #: ../gui/wxpython/menustrings.py:363 ../gui/wxpython/menustrings.py:1270
 #, fuzzy
-msgid ""
-"Traces a flow through an elevation model or cost surface on a raster map."
-msgstr ""
-"Traza un flujo mediante un modelo de elevación sobre una capa de mapa raster."
+msgid "Traces a flow through an elevation model or cost surface on a raster map."
+msgstr "Traza un flujo mediante un modelo de elevación sobre una capa de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:364 ../gui/wxpython/menustrings.py:1271
 #, fuzzy
@@ -11542,8 +10911,7 @@ msgstr "Relieve sombreado."
 #: ../gui/wxpython/menustrings.py:365 ../gui/wxpython/menustrings.py:1272
 #, fuzzy
 msgid "Creates shaded relief map from an elevation map (DEM). "
-msgstr ""
-"Crea un mapa de sombreado de relieve a partir de uno de elevaciones (MDE)."
+msgstr "Crea un mapa de sombreado de relieve a partir de uno de elevaciones (MDE)."
 
 #: ../gui/wxpython/menustrings.py:366 ../gui/wxpython/menustrings.py:1273
 #, fuzzy
@@ -11560,15 +10928,8 @@ msgstr "Pendiente y aspecto (orientación)."
 
 #: ../gui/wxpython/menustrings.py:369 ../gui/wxpython/menustrings.py:1276
 #, fuzzy
-msgid ""
-"Generates raster maps of slope, aspect, curvatures and partial derivatives "
-"from an elevation raster map. Aspect is calculated counterclockwise from "
-"east."
-msgstr ""
-"Genera capas de mapa raster de pendiente, orientación, curvaturas y "
-"derivadas parciales a partir de una capa de mapa raster de valores reales de "
-"elevación. El aspecto (orientación) se calcula en sentido horario desde el "
-"Este."
+msgid "Generates raster maps of slope, aspect, curvatures and partial derivatives from an elevation raster map. Aspect is calculated counterclockwise from east."
+msgstr "Genera capas de mapa raster de pendiente, orientación, curvaturas y derivadas parciales a partir de una capa de mapa raster de valores reales de elevación. El aspecto (orientación) se calcula en sentido horario desde el Este."
 
 #: ../gui/wxpython/menustrings.py:370 ../gui/wxpython/menustrings.py:1277
 msgid "Terrain parameters"
@@ -11576,12 +10937,8 @@ msgstr "Parámetros del terreno."
 
 #: ../gui/wxpython/menustrings.py:371 ../gui/wxpython/menustrings.py:1278
 #, fuzzy
-msgid ""
-"Extracts terrain parameters from a DEM. Uses a multi-scale approach by "
-"taking fitting quadratic parameters to any size window (via least squares)."
-msgstr ""
-"Utiliza una aproximación multiescala tomando parámetros cuadráticos que se "
-"ajusten a cualquier tamaño de ventana (vía las menores esquinas)."
+msgid "Extracts terrain parameters from a DEM. Uses a multi-scale approach by taking fitting quadratic parameters to any size window (via least squares)."
+msgstr "Utiliza una aproximación multiescala tomando parámetros cuadráticos que se ajusten a cualquier tamaño de ventana (vía las menores esquinas)."
 
 #: ../gui/wxpython/menustrings.py:372 ../gui/wxpython/menustrings.py:1279
 msgid "Textural features"
@@ -11589,8 +10946,7 @@ msgstr "Objetos espaciales de textura."
 
 #: ../gui/wxpython/menustrings.py:373 ../gui/wxpython/menustrings.py:1280
 msgid "Generate images with textural features from a raster map."
-msgstr ""
-"Genera imágenes con objetos espaciales de textura a partir de un mapa raster."
+msgstr "Genera imágenes con objetos espaciales de textura a partir de un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:374 ../gui/wxpython/menustrings.py:1281
 msgid "Visibility"
@@ -11598,26 +10954,15 @@ msgstr "Visibilidad."
 
 #: ../gui/wxpython/menustrings.py:375 ../gui/wxpython/menustrings.py:1282
 #, fuzzy
-msgid ""
-"Computes the viewshed of a point on an elevation raster map. Default format: "
-"NULL (invisible), vertical angle wrt viewpoint (visible)."
-msgstr ""
-"Calcula el índice de áreas de sombra a partir de la posición solar y del "
-"mapa raster de elevaciones."
+msgid "Computes the viewshed of a point on an elevation raster map. Default format: NULL (invisible), vertical angle wrt viewpoint (visible)."
+msgstr "Calcula el índice de áreas de sombra a partir de la posición solar y del mapa raster de elevaciones."
 
 #: ../gui/wxpython/menustrings.py:378 ../gui/wxpython/menustrings.py:1285
 msgid "Horizon angle"
 msgstr "Ángulo del horizonte."
 
 #: ../gui/wxpython/menustrings.py:379 ../gui/wxpython/menustrings.py:1286
-msgid ""
-"Computes horizon angle height from a digital elevation model. The module has "
-"two different modes of operation: 1. Computes the entire horizon around a "
-"single point whose coordinates are given with the 'coord' option. The "
-"horizon height (in radians). 2. Computes one or more raster maps of the "
-"horizon height in a single direction. The input for this is the angle (in "
-"degrees), which is measured counterclockwise with east=0, north=90 etc. The "
-"output is the horizon height in radians."
+msgid "Computes horizon angle height from a digital elevation model. The module has two different modes of operation: 1. Computes the entire horizon around a single point whose coordinates are given with the 'coord' option. The horizon height (in radians). 2. Computes one or more raster maps of the horizon height in a single direction. The input for this is the angle (in degrees), which is measured counterclockwise with east=0, north=90 etc. The output is the horizon height in radians."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:380 ../gui/wxpython/menustrings.py:1287
@@ -11629,12 +10974,8 @@ msgid "Clump"
 msgstr "Agrupar."
 
 #: ../gui/wxpython/menustrings.py:382 ../gui/wxpython/menustrings.py:1289
-msgid ""
-"Recategorizes data in a raster map by grouping cells that form physically "
-"discrete areas into unique categories."
-msgstr ""
-"Recategoriza datos en una capa de mapa raster, agrupando celdas que forman "
-"áreas físicamente discretas, en categorías únicas."
+msgid "Recategorizes data in a raster map by grouping cells that form physically discrete areas into unique categories."
+msgstr "Recategoriza datos en una capa de mapa raster, agrupando celdas que forman áreas físicamente discretas, en categorías únicas."
 
 #: ../gui/wxpython/menustrings.py:383 ../gui/wxpython/menustrings.py:1290
 msgid "Grow"
@@ -11647,9 +10988,7 @@ msgstr "Adelgazar, afinar."
 #: ../gui/wxpython/menustrings.py:386 ../gui/wxpython/menustrings.py:1293
 #, fuzzy
 msgid "Thins non-null cells that denote linear features in a raster map layer."
-msgstr ""
-"Adelgaza o afina en una capa de mapa raster, celdas que denotan objetos "
-"espaciales lineales distintos a cero."
+msgstr "Adelgaza o afina en una capa de mapa raster, celdas que denotan objetos espaciales lineales distintos a cero."
 
 #: ../gui/wxpython/menustrings.py:387 ../gui/wxpython/menustrings.py:1294
 msgid "Hydrologic modeling"
@@ -11661,12 +11000,8 @@ msgstr "Esculpir canales formados por corrientes."
 
 #: ../gui/wxpython/menustrings.py:389 ../gui/wxpython/menustrings.py:1296
 #, fuzzy
-msgid ""
-"Generates stream channels. Takes vector stream data, transforms it to raster "
-"and subtracts depth from the output DEM."
-msgstr ""
-"Toma los datos vectoriales que señalan una corriente, los transforma a "
-"raster y resta la profundidad al MDE de salida."
+msgid "Generates stream channels. Takes vector stream data, transforms it to raster and subtracts depth from the output DEM."
+msgstr "Toma los datos vectoriales que señalan una corriente, los transforma a raster y resta la profundidad al MDE de salida."
 
 #: ../gui/wxpython/menustrings.py:390 ../gui/wxpython/menustrings.py:1297
 msgid "Fill lake"
@@ -11675,21 +11010,15 @@ msgstr "Rellenar lago."
 #: ../gui/wxpython/menustrings.py:391 ../gui/wxpython/menustrings.py:1298
 #, fuzzy
 msgid "Fills lake at given point to given level."
-msgstr ""
-"Rellenar un lago a partir de un punto de origen (seed) que se encuentra en "
-"un nivel dado."
+msgstr "Rellenar un lago a partir de un punto de origen (seed) que se encuentra en un nivel dado."
 
 #: ../gui/wxpython/menustrings.py:392 ../gui/wxpython/menustrings.py:1299
 msgid "Depressionless map and flowlines"
 msgstr "Mapa sin depresiones y líneas de flujo."
 
 #: ../gui/wxpython/menustrings.py:393 ../gui/wxpython/menustrings.py:1300
-msgid ""
-"Filters and generates a depressionless elevation map and a flow direction "
-"map from a given elevation raster map."
-msgstr ""
-"Filtra y genera un mapa de elevación sin depresiones y un mapa de dirección "
-"de flujo a partir de un mapa raster de elevaciones."
+msgid "Filters and generates a depressionless elevation map and a flow direction map from a given elevation raster map."
+msgstr "Filtra y genera un mapa de elevación sin depresiones y un mapa de dirección de flujo a partir de un mapa raster de elevaciones."
 
 #: ../gui/wxpython/menustrings.py:394 ../gui/wxpython/menustrings.py:1301
 msgid "Flow accumulation"
@@ -11706,13 +11035,8 @@ msgstr "Líneas de flujo."
 
 #: ../gui/wxpython/menustrings.py:397 ../gui/wxpython/menustrings.py:1304
 #, fuzzy
-msgid ""
-"Constructs flowlines. Computes flowlines, flowpath lengths, and "
-"flowaccumulation (contributing areas) from a elevation raster map."
-msgstr ""
-"Construcción de curvas de pendiente (líneas de flujo), longitudes de ruta de "
-"flujo y densidades de líneas de flujo (áreas pendiente arriba) a partir de "
-"un modelo raster de elevación digital (DEM)."
+msgid "Constructs flowlines. Computes flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a elevation raster map."
+msgstr "Construcción de curvas de pendiente (líneas de flujo), longitudes de ruta de flujo y densidades de líneas de flujo (áreas pendiente arriba) a partir de un modelo raster de elevación digital (DEM)."
 
 #: ../gui/wxpython/menustrings.py:398 ../gui/wxpython/menustrings.py:1305
 msgid "Watershed analysis"
@@ -11754,21 +11078,15 @@ msgstr "Modelado de flujo superficial SIMWE."
 
 #: ../gui/wxpython/menustrings.py:407 ../gui/wxpython/menustrings.py:1314
 msgid "Overland flow hydrologic simulation using path sampling method (SIMWE)."
-msgstr ""
-"Simulación de flujo hidrológico superficial utilizando un método de muestreo "
-"de ruta (SIMWE)."
+msgstr "Simulación de flujo hidrológico superficial utilizando un método de muestreo de ruta (SIMWE)."
 
 #: ../gui/wxpython/menustrings.py:408 ../gui/wxpython/menustrings.py:1315
 msgid "SIMWE Sediment flux modeling"
 msgstr "Modelado de flujos de sedimento SIMWE."
 
 #: ../gui/wxpython/menustrings.py:409 ../gui/wxpython/menustrings.py:1316
-msgid ""
-"Sediment transport and erosion/deposition simulation using path sampling "
-"method (SIMWE)."
-msgstr ""
-"Simulación de transporte de sedimento y erosión/deposición utilizando el "
-"método de muestreo de rutas (SIMWE)."
+msgid "Sediment transport and erosion/deposition simulation using path sampling method (SIMWE)."
+msgstr "Simulación de transporte de sedimento y erosión/deposición utilizando el método de muestreo de rutas (SIMWE)."
 
 #: ../gui/wxpython/menustrings.py:410 ../gui/wxpython/menustrings.py:1317
 msgid "Topographic index map"
@@ -11776,11 +11094,8 @@ msgstr "Mapa de índice topográfico."
 
 #: ../gui/wxpython/menustrings.py:411 ../gui/wxpython/menustrings.py:1318
 #, fuzzy
-msgid ""
-"Creates a topographic index (wetness index) raster map from an elevation "
-"raster map."
-msgstr ""
-"Crea mapa de índices topográficos a partir de un mapa raster de elevación."
+msgid "Creates a topographic index (wetness index) raster map from an elevation raster map."
+msgstr "Crea mapa de índices topográficos a partir de un mapa raster de elevación."
 
 #: ../gui/wxpython/menustrings.py:412 ../gui/wxpython/menustrings.py:1319
 msgid "TOPMODEL simulation"
@@ -11816,21 +11131,15 @@ msgid "Groundwater flow"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:420 ../gui/wxpython/menustrings.py:1327
-msgid ""
-"Numerical calculation program for transient, confined and unconfined "
-"groundwater flow in two dimensions."
-msgstr ""
-"Programa de cálculo numérico para flujo de aguas subterráneas temporales, "
-"confinadas i no confinadas  en dos dimensiones"
+msgid "Numerical calculation program for transient, confined and unconfined groundwater flow in two dimensions."
+msgstr "Programa de cálculo numérico para flujo de aguas subterráneas temporales, confinadas i no confinadas  en dos dimensiones"
 
 #: ../gui/wxpython/menustrings.py:421 ../gui/wxpython/menustrings.py:1328
 msgid "Groundwater solute transport"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:422 ../gui/wxpython/menustrings.py:1329
-msgid ""
-"Numerical calculation program for transient, confined and unconfined solute "
-"transport in two dimensions"
+msgid "Numerical calculation program for transient, confined and unconfined solute transport in two dimensions"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:423 ../gui/wxpython/menustrings.py:1330
@@ -11850,11 +11159,8 @@ msgid "Edge density"
 msgstr "Densidad de borde."
 
 #: ../gui/wxpython/menustrings.py:427 ../gui/wxpython/menustrings.py:1334
-msgid ""
-"Calculates edge density index on a raster map, using a 4 neighbour algorithm"
-msgstr ""
-"Calcula el índice de densidad de borde en un mapa raster usando un algoritmo "
-"de 4 bordes vecinos."
+msgid "Calculates edge density index on a raster map, using a 4 neighbour algorithm"
+msgstr "Calcula el índice de densidad de borde en un mapa raster usando un algoritmo de 4 bordes vecinos."
 
 #: ../gui/wxpython/menustrings.py:428 ../gui/wxpython/menustrings.py:1335
 msgid "Contrast weighted edge density"
@@ -11862,21 +11168,15 @@ msgstr "Contraste ponderado de densidad de borde."
 
 #: ../gui/wxpython/menustrings.py:429 ../gui/wxpython/menustrings.py:1336
 msgid "Calculates contrast weighted edge density index on a raster map"
-msgstr ""
-"Calcula el índice ponderado de contraste de densidad de bordes, en un mapa "
-"raster."
+msgstr "Calcula el índice ponderado de contraste de densidad de bordes, en un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:430 ../gui/wxpython/menustrings.py:1337
 msgid "Patch area mean"
 msgstr "Promedio de área de parcela."
 
 #: ../gui/wxpython/menustrings.py:431 ../gui/wxpython/menustrings.py:1338
-msgid ""
-"Calculates mean patch size index on a raster map, using a 4 neighbour "
-"algorithm"
-msgstr ""
-"Calcula el índice de tamaño medio de parcela en un mapa raster usando un "
-"algoritmo de 4 parcelas vecinas."
+msgid "Calculates mean patch size index on a raster map, using a 4 neighbour algorithm"
+msgstr "Calcula el índice de tamaño medio de parcela en un mapa raster usando un algoritmo de 4 parcelas vecinas."
 
 #: ../gui/wxpython/menustrings.py:432 ../gui/wxpython/menustrings.py:1339
 msgid "Patch area range"
@@ -11900,30 +11200,23 @@ msgstr "Coeficiente de varianza de superficie de parcela."
 
 #: ../gui/wxpython/menustrings.py:437 ../gui/wxpython/menustrings.py:1344
 msgid "Calculates coefficient of variation of patch area on a raster map"
-msgstr ""
-"Calcula el coeficiente de varianza del área de parcela en un mapa raster."
+msgstr "Calcula el coeficiente de varianza del área de parcela en un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:438 ../gui/wxpython/menustrings.py:1345
 msgid "Patch density"
 msgstr "Densidad de parcela."
 
 #: ../gui/wxpython/menustrings.py:439 ../gui/wxpython/menustrings.py:1346
-msgid ""
-"Calculates patch density index on a raster map, using a 4 neighbour algorithm"
-msgstr ""
-"Calcula el índice de densidad de parcela sobre un mapa raster, usando un "
-"algoritmo de 4 parcelas vecinas"
+msgid "Calculates patch density index on a raster map, using a 4 neighbour algorithm"
+msgstr "Calcula el índice de densidad de parcela sobre un mapa raster, usando un algoritmo de 4 parcelas vecinas"
 
 #: ../gui/wxpython/menustrings.py:440 ../gui/wxpython/menustrings.py:1347
 msgid "Patch number"
 msgstr "Número de parcela."
 
 #: ../gui/wxpython/menustrings.py:441 ../gui/wxpython/menustrings.py:1348
-msgid ""
-"Calculates patch number index on a raster map, using a 4 neighbour algorithm."
-msgstr ""
-"Calcula el número de índice de parcela en un mapa raster usando un algoritmo "
-"de 4 parcelas vecinas."
+msgid "Calculates patch number index on a raster map, using a 4 neighbour algorithm."
+msgstr "Calcula el número de índice de parcela en un mapa raster usando un algoritmo de 4 parcelas vecinas."
 
 #: ../gui/wxpython/menustrings.py:442 ../gui/wxpython/menustrings.py:1349
 msgid "Dominance's diversity"
@@ -11976,28 +11269,16 @@ msgstr "Relación de propagación."
 
 #: ../gui/wxpython/menustrings.py:454 ../gui/wxpython/menustrings.py:1361
 #, fuzzy
-msgid ""
-"Generates rate of spread raster maps. Generates three, or four raster map "
-"layers showing the base (perpendicular) rate of spread (ROS), the maximum "
-"(forward) ROS, the direction of the maximum ROS, and optionally the maximum "
-"potential spotting distance for fire spread simulation."
-msgstr ""
-"Genera tres o cuatro capas de mapa raster mostrando 1) la tasa de "
-"propagación (ROS) básica (perpendicular), 2) la ROS máxima (hacia delante), "
-"3) la dirección de la máxima ROS y (opcionalmente) 4) la distancia potencial "
-"máxima de detección."
+msgid "Generates rate of spread raster maps. Generates three, or four raster map layers showing the base (perpendicular) rate of spread (ROS), the maximum (forward) ROS, the direction of the maximum ROS, and optionally the maximum potential spotting distance for fire spread simulation."
+msgstr "Genera tres o cuatro capas de mapa raster mostrando 1) la tasa de propagación (ROS) básica (perpendicular), 2) la ROS máxima (hacia delante), 3) la dirección de la máxima ROS y (opcionalmente) 4) la distancia potencial máxima de detección."
 
 #: ../gui/wxpython/menustrings.py:455 ../gui/wxpython/menustrings.py:1362
 msgid "Least-cost spread paths"
 msgstr "Rutas de propagación de menor coste."
 
 #: ../gui/wxpython/menustrings.py:456 ../gui/wxpython/menustrings.py:1363
-msgid ""
-"Recursively traces the least cost path backwards to cells from which the "
-"cumulative cost was determined."
-msgstr ""
-"Traza de forma recursiva la ruta de menor coste de vuelta hacia las celdas "
-"desde las que se determinó el coste acumulado."
+msgid "Recursively traces the least cost path backwards to cells from which the cumulative cost was determined."
+msgstr "Traza de forma recursiva la ruta de menor coste de vuelta hacia las celdas desde las que se determinó el coste acumulado."
 
 #: ../gui/wxpython/menustrings.py:457 ../gui/wxpython/menustrings.py:1364
 msgid "Anisotropic spread simulation"
@@ -12005,17 +11286,8 @@ msgstr "Simulación de propagación anisotrópica."
 
 #: ../gui/wxpython/menustrings.py:458 ../gui/wxpython/menustrings.py:1365
 #, fuzzy
-msgid ""
-"Simulates elliptically anisotropic spread. Generates a raster map of the "
-"cumulative time of spread, given raster maps containing the rates of spread "
-"(ROS), the ROS directions and the spread origins. It optionally produces "
-"raster maps to contain backlink UTM coordinates for tracing spread paths. "
-"Usable for fire spread simulations."
-msgstr ""
-"Simula una propagación ansiotrópica elíptica en una ventana gráfica y genera "
-"un mapa raster del tiempo acumulativo de dispersión, a partir de mapas "
-"raster dados que contengan las tasas de propagación(ROS), las direcciones de "
-"ROS y los orígenes de propagación."
+msgid "Simulates elliptically anisotropic spread. Generates a raster map of the cumulative time of spread, given raster maps containing the rates of spread (ROS), the ROS directions and the spread origins. It optionally produces raster maps to contain backlink UTM coordinates for tracing spread paths. Usable for fire spread simulations."
+msgstr "Simula una propagación ansiotrópica elíptica en una ventana gráfica y genera un mapa raster del tiempo acumulativo de dispersión, a partir de mapas raster dados que contengan las tasas de propagación(ROS), las direcciones de ROS y los orígenes de propagación."
 
 #: ../gui/wxpython/menustrings.py:459 ../gui/wxpython/menustrings.py:1366
 msgid "Change category values and labels"
@@ -12028,12 +11300,8 @@ msgstr "Administrar información de categoría."
 
 #: ../gui/wxpython/menustrings.py:461 ../gui/wxpython/menustrings.py:513
 #: ../gui/wxpython/menustrings.py:1368 ../gui/wxpython/menustrings.py:1420
-msgid ""
-"Manages category values and labels associated with user-specified raster map "
-"layers."
-msgstr ""
-"Administra valores de categoría y etiquetas asociados con las capas de mapa "
-"raster especificadas por el usuario."
+msgid "Manages category values and labels associated with user-specified raster map layers."
+msgstr "Administra valores de categoría y etiquetas asociados con las capas de mapa raster especificadas por el usuario."
 
 #: ../gui/wxpython/menustrings.py:462 ../gui/wxpython/menustrings.py:1369
 msgid "Interactively edit category values"
@@ -12049,12 +11317,8 @@ msgid "Reclassify by size"
 msgstr "Reclasificar por tamaño."
 
 #: ../gui/wxpython/menustrings.py:465 ../gui/wxpython/menustrings.py:1372
-msgid ""
-"Reclasses a raster map greater or less than user specified area size (in "
-"hectares)."
-msgstr ""
-"Reclasifica un mapa raster mayor o menor que la superficie indicada por el "
-"usuario (en hectáreas)."
+msgid "Reclasses a raster map greater or less than user specified area size (in hectares)."
+msgstr "Reclasifica un mapa raster mayor o menor que la superficie indicada por el usuario (en hectáreas)."
 
 #: ../gui/wxpython/menustrings.py:466 ../gui/wxpython/menustrings.py:672
 #: ../gui/wxpython/menustrings.py:1373 ../gui/wxpython/menustrings.py:1579
@@ -12063,13 +11327,8 @@ msgstr "Reclasificar"
 
 #: ../gui/wxpython/menustrings.py:467 ../gui/wxpython/menustrings.py:1374
 #, fuzzy
-msgid ""
-"Reclassify raster map based on category values. Creates a new raster map "
-"whose category values are based upon a reclassification of the categories in "
-"an existing raster map."
-msgstr ""
-"Crea una nueva capa de mapa cuyos valores de categorías están basados en una "
-"reclasificación de las categorías de una capa de mapa raster existente."
+msgid "Reclassify raster map based on category values. Creates a new raster map whose category values are based upon a reclassification of the categories in an existing raster map."
+msgstr "Crea una nueva capa de mapa cuyos valores de categorías están basados en una reclasificación de las categorías de una capa de mapa raster existente."
 
 #: ../gui/wxpython/menustrings.py:468 ../gui/wxpython/menustrings.py:1375
 msgid "Recode"
@@ -12092,9 +11351,7 @@ msgid "Rescale with histogram"
 msgstr "Rescalar con histograma."
 
 #: ../gui/wxpython/menustrings.py:473 ../gui/wxpython/menustrings.py:1380
-msgid ""
-"Rescales histogram equalized the range of category values in a raster map "
-"layer."
+msgid "Rescales histogram equalized the range of category values in a raster map layer."
 msgstr "Rescala el histograma raster."
 
 #: ../gui/wxpython/menustrings.py:474 ../gui/wxpython/menustrings.py:1381
@@ -12114,12 +11371,8 @@ msgid "Random cells and vector points"
 msgstr "Celdas aleatorias y puntos vectoriales."
 
 #: ../gui/wxpython/menustrings.py:478 ../gui/wxpython/menustrings.py:1385
-msgid ""
-"Creates a raster map layer and vector point map containing randomly located "
-"points."
-msgstr ""
-"Crea una capa de mapa raster y un mapa vectorial de puntos que contiene "
-"lugares (puntos) situados de forma aleatoria."
+msgid "Creates a raster map layer and vector point map containing randomly located points."
+msgstr "Crea una capa de mapa raster y un mapa vectorial de puntos que contiene lugares (puntos) situados de forma aleatoria."
 
 #: ../gui/wxpython/menustrings.py:479 ../gui/wxpython/menustrings.py:1386
 msgid "Generate surfaces"
@@ -12139,14 +11392,8 @@ msgstr "Superficie de densidad de núcleo gausiano."
 
 #: ../gui/wxpython/menustrings.py:483 ../gui/wxpython/menustrings.py:1390
 #, fuzzy
-msgid ""
-"Generates a raster density map from vector points map. Density is computed "
-"using a moving kernel. Optionally generates a vector density map on a vector "
-"network."
-msgstr ""
-"Genera un mapa raster de densidad a partir de datos de puntos vectoriales "
-"usando un moving kernel u opcionalmente genera un mapa vectorial de densidad "
-"en una red vectorial."
+msgid "Generates a raster density map from vector points map. Density is computed using a moving kernel. Optionally generates a vector density map on a vector network."
+msgstr "Genera un mapa raster de densidad a partir de datos de puntos vectoriales usando un moving kernel u opcionalmente genera un mapa vectorial de densidad en una red vectorial."
 
 #: ../gui/wxpython/menustrings.py:484 ../gui/wxpython/menustrings.py:1391
 msgid "Gaussian deviates surface"
@@ -12154,20 +11401,12 @@ msgstr "Superficie gaussiana derivada."
 
 #: ../gui/wxpython/menustrings.py:485 ../gui/wxpython/menustrings.py:1392
 #, fuzzy
-msgid ""
-"Generates a raster map using gaussian random number generator. Mean and "
-"standard deviation of gaussian deviates can be expressed by the user."
-msgstr ""
-"Genera una capa de mapa raster de la distancia a elementos ubicados en una "
-"capa de entrada."
+msgid "Generates a raster map using gaussian random number generator. Mean and standard deviation of gaussian deviates can be expressed by the user."
+msgstr "Genera una capa de mapa raster de la distancia a elementos ubicados en una capa de entrada."
 
 #: ../gui/wxpython/menustrings.py:487 ../gui/wxpython/menustrings.py:1394
-msgid ""
-"Creates raster plane map given dip (inclination), aspect (azimuth) and one "
-"point."
-msgstr ""
-"Crea un mapa raster plano dando pendiente (inclinación), orientación "
-"(azimut) y un punto."
+msgid "Creates raster plane map given dip (inclination), aspect (azimuth) and one point."
+msgstr "Crea un mapa raster plano dando pendiente (inclinación), orientación (azimut) y un punto."
 
 #: ../gui/wxpython/menustrings.py:488 ../gui/wxpython/menustrings.py:1395
 msgid "Random deviates surface"
@@ -12175,11 +11414,8 @@ msgstr "Superficie derivada aleatoria."
 
 #: ../gui/wxpython/menustrings.py:489 ../gui/wxpython/menustrings.py:1396
 #, fuzzy
-msgid ""
-"Produces a raster surface map of uniform random deviates with defined range."
-msgstr ""
-"Realiza un mapa raster de desviaciones aleatorias uniformes cuyo intervalo "
-"puede ser expresado por el usuario."
+msgid "Produces a raster surface map of uniform random deviates with defined range."
+msgstr "Realiza un mapa raster de desviaciones aleatorias uniformes cuyo intervalo puede ser expresado por el usuario."
 
 #: ../gui/wxpython/menustrings.py:490 ../gui/wxpython/menustrings.py:1397
 msgid "Random surface with spatial dependence"
@@ -12199,11 +11435,8 @@ msgstr "Bilineal y bicúbica a partir de puntos vectoriales."
 
 #: ../gui/wxpython/menustrings.py:494 ../gui/wxpython/menustrings.py:1401
 #, fuzzy
-msgid ""
-"Performs bicubic or bilinear spline interpolation with Tykhonov "
-"regularization."
-msgstr ""
-"Interpolación de spline bicúbica o bilineal con regularización Tykhonov."
+msgid "Performs bicubic or bilinear spline interpolation with Tykhonov regularization."
+msgstr "Interpolación de spline bicúbica o bilineal con regularización Tykhonov."
 
 #: ../gui/wxpython/menustrings.py:495 ../gui/wxpython/menustrings.py:1402
 msgid "IDW from raster points"
@@ -12211,12 +11444,8 @@ msgstr "IDW a partir de puntos raster."
 
 #: ../gui/wxpython/menustrings.py:496 ../gui/wxpython/menustrings.py:1403
 #, fuzzy
-msgid ""
-"Provides surface interpolation from raster point data by Inverse Distance "
-"Squared Weighting."
-msgstr ""
-"Interpolación de superficies a partir de datos de puntos vectoriales "
-"mediante la ponderación inversa del cuadrado de la distancia."
+msgid "Provides surface interpolation from raster point data by Inverse Distance Squared Weighting."
+msgstr "Interpolación de superficies a partir de datos de puntos vectoriales mediante la ponderación inversa del cuadrado de la distancia."
 
 #: ../gui/wxpython/menustrings.py:497 ../gui/wxpython/menustrings.py:1404
 msgid "IDW from vector points"
@@ -12224,12 +11453,8 @@ msgstr "IDW a partir de puntos vectoriales."
 
 #: ../gui/wxpython/menustrings.py:498 ../gui/wxpython/menustrings.py:1405
 #, fuzzy
-msgid ""
-"Provides surface interpolation from vector point data by Inverse Distance "
-"Squared Weighting."
-msgstr ""
-"Interpolación de superficies a partir de datos de puntos vectoriales "
-"mediante la ponderación inversa del cuadrado de la distancia."
+msgid "Provides surface interpolation from vector point data by Inverse Distance Squared Weighting."
+msgstr "Interpolación de superficies a partir de datos de puntos vectoriales mediante la ponderación inversa del cuadrado de la distancia."
 
 #: ../gui/wxpython/menustrings.py:499 ../gui/wxpython/menustrings.py:1406
 msgid "Raster contours"
@@ -12238,8 +11463,7 @@ msgstr "Contornos raster."
 #: ../gui/wxpython/menustrings.py:500 ../gui/wxpython/menustrings.py:1407
 #, fuzzy
 msgid "Generates surface raster map from rasterized contours."
-msgstr ""
-"Programa de generación de superficies a partir de contornos rasterizados."
+msgstr "Programa de generación de superficies a partir de contornos rasterizados."
 
 #: ../gui/wxpython/menustrings.py:501 ../gui/wxpython/menustrings.py:1408
 msgid "Regularized spline tension"
@@ -12247,15 +11471,8 @@ msgstr "Tensión spline regularizada."
 
 #: ../gui/wxpython/menustrings.py:502 ../gui/wxpython/menustrings.py:1409
 #, fuzzy
-msgid ""
-"Performs surface interpolation from vector points map by splines. Spatial "
-"approximation and topographic analysis from given point or isoline data in "
-"vector format to floating point raster format using regularized spline with "
-"tension."
-msgstr ""
-"Aproximación espacial y análisis topográfico a partir de datos de puntos o "
-"isolíneas dados en formato vectorial a formato raster de coma flotante "
-"usando spline regularizada con tensión."
+msgid "Performs surface interpolation from vector points map by splines. Spatial approximation and topographic analysis from given point or isoline data in vector format to floating point raster format using regularized spline with tension."
+msgstr "Aproximación espacial y análisis topográfico a partir de datos de puntos o isolíneas dados en formato vectorial a formato raster de coma flotante usando spline regularizada con tensión."
 
 #: ../gui/wxpython/menustrings.py:503 ../gui/wxpython/menustrings.py:1410
 #, fuzzy
@@ -12263,9 +11480,7 @@ msgid "Raster series interpolation"
 msgstr "Regresión lineal."
 
 #: ../gui/wxpython/menustrings.py:504 ../gui/wxpython/menustrings.py:1411
-msgid ""
-"Interpolates raster maps located (temporal or spatial) in between input "
-"raster maps at specific sampling positions."
+msgid "Interpolates raster maps located (temporal or spatial) in between input raster maps at specific sampling positions."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:505 ../gui/wxpython/menustrings.py:1412
@@ -12283,9 +11498,7 @@ msgstr "Rellenas celdas NULAS."
 #: ../gui/wxpython/menustrings.py:508 ../gui/wxpython/menustrings.py:1415
 #, fuzzy
 msgid "Fills no-data areas in raster maps using spline interpolation."
-msgstr ""
-"Rellenar áreas sin datos de mapas raster, usando la interpolación de splines "
-"de v.sufr.rst"
+msgstr "Rellenar áreas sin datos de mapas raster, usando la interpolación de splines de v.sufr.rst"
 
 #: ../gui/wxpython/menustrings.py:509 ../gui/wxpython/menustrings.py:711
 #: ../gui/wxpython/menustrings.py:821 ../gui/wxpython/menustrings.py:989
@@ -12326,9 +11539,7 @@ msgstr "Intervalo de valores de categoría."
 
 #: ../gui/wxpython/menustrings.py:519 ../gui/wxpython/menustrings.py:1426
 msgid "Prints terse list of category values found in a raster map layer."
-msgstr ""
-"Imprime lista concisa de los valores de categoría que se encuentran en una "
-"capa de un mapa raster."
+msgstr "Imprime lista concisa de los valores de categoría que se encuentran en una capa de un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:520 ../gui/wxpython/menustrings.py:1427
 msgid "Sum area by raster map and category"
@@ -12345,13 +11556,8 @@ msgstr "Estadísticas de celdas agrupadas."
 
 #: ../gui/wxpython/menustrings.py:523 ../gui/wxpython/menustrings.py:1430
 #, fuzzy
-msgid ""
-"Calculates the volume of data \"clumps\". Optionally produces a GRASS vector "
-"points map containing the calculated centroids of these clumps."
-msgstr ""
-"Calcula el volumen de datos de \"masas\", y (opcionalmente) produce un mapa "
-"de GRASS de puntos vectoriales que contiene los centroides calculados a "
-"partir de estos grupos."
+msgid "Calculates the volume of data \"clumps\". Optionally produces a GRASS vector points map containing the calculated centroids of these clumps."
+msgstr "Calcula el volumen de datos de \"masas\", y (opcionalmente) produce un mapa de GRASS de puntos vectoriales que contiene los centroides calculados a partir de estos grupos."
 
 #: ../gui/wxpython/menustrings.py:524 ../gui/wxpython/menustrings.py:1431
 msgid "Total corrected area"
@@ -12363,11 +11569,7 @@ msgid "Prints estimation of surface area for raster map."
 msgstr "Calcula la desviación estándar del área de parcela en un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:527 ../gui/wxpython/menustrings.py:1434
-msgid ""
-"Calculates univariate statistics from the non-null cells of a raster map. "
-"Statistics include number of cells counted, minimum and maximum cell values, "
-"range, arithmetic mean, population variance, standard deviation, coefficient "
-"of variation, and sum."
+msgid "Calculates univariate statistics from the non-null cells of a raster map. Statistics include number of cells counted, minimum and maximum cell values, range, arithmetic mean, population variance, standard deviation, coefficient of variation, and sum."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:528 ../gui/wxpython/menustrings.py:1435
@@ -12376,32 +11578,23 @@ msgstr "Muestrear transectos."
 
 #: ../gui/wxpython/menustrings.py:529 ../gui/wxpython/menustrings.py:1436
 msgid "Outputs the raster map layer values lying on user-defined line(s)."
-msgstr ""
-"Presenta los valores de una capa de mapa raster basándose en lineamiento(s) "
-"definido(s) por el usuario."
+msgstr "Presenta los valores de una capa de mapa raster basándose en lineamiento(s) definido(s) por el usuario."
 
 #: ../gui/wxpython/menustrings.py:530 ../gui/wxpython/menustrings.py:1437
 msgid "Sample transects (bearing/distance)"
 msgstr "Muestrear transectos (rumbo / distancia)."
 
 #: ../gui/wxpython/menustrings.py:531 ../gui/wxpython/menustrings.py:1438
-msgid ""
-"Outputs raster map layer values lying along user defined transect line(s)."
-msgstr ""
-"Produce valores de capa de mapa raster que caen a lo largo de línea(s) de "
-"transecto definidas por el usuario."
+msgid "Outputs raster map layer values lying along user defined transect line(s)."
+msgstr "Produce valores de capa de mapa raster que caen a lo largo de línea(s) de transecto definidas por el usuario."
 
 #: ../gui/wxpython/menustrings.py:532 ../gui/wxpython/menustrings.py:1439
 msgid "Covariance/correlation"
 msgstr "Covarianza / correlación."
 
 #: ../gui/wxpython/menustrings.py:533 ../gui/wxpython/menustrings.py:1440
-msgid ""
-"Outputs a covariance/correlation matrix for user-specified raster map "
-"layer(s)."
-msgstr ""
-"Produce una matriz de covarianza / correlación para la(s) capa(s) de mapa "
-"raster especificada por el usuario."
+msgid "Outputs a covariance/correlation matrix for user-specified raster map layer(s)."
+msgstr "Produce una matriz de covarianza / correlación para la(s) capa(s) de mapa raster especificada por el usuario."
 
 #: ../gui/wxpython/menustrings.py:534 ../gui/wxpython/menustrings.py:1441
 msgid "Linear regression"
@@ -12427,12 +11620,8 @@ msgid "Mutual category occurrences"
 msgstr "Acontecimientos mutuos de categoría."
 
 #: ../gui/wxpython/menustrings.py:539 ../gui/wxpython/menustrings.py:1446
-msgid ""
-"Tabulates the mutual occurrence (coincidence) of categories for two raster "
-"map layers."
-msgstr ""
-"Tabula la ocurrencia mutua (coincidencia) de categorías para dos capas de "
-"mapa raster."
+msgid "Tabulates the mutual occurrence (coincidence) of categories for two raster map layers."
+msgstr "Tabula la ocurrencia mutua (coincidencia) de categorías para dos capas de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:540 ../gui/wxpython/menustrings.py:1447
 msgid "&Vector"
@@ -12457,12 +11646,8 @@ msgid "Edit vector map (non-interactively)"
 msgstr "Editar un mapa vectorial (en forma no interactiva)."
 
 #: ../gui/wxpython/menustrings.py:545 ../gui/wxpython/menustrings.py:1452
-msgid ""
-"Edits a vector map, allows adding, deleting and modifying selected vector "
-"features."
-msgstr ""
-"Edita un mapa vectorial, permite añadir, eliminar y modificar "
-"características seleccionadas de un vector."
+msgid "Edits a vector map, allows adding, deleting and modifying selected vector features."
+msgstr "Edita un mapa vectorial, permite añadir, eliminar y modificar características seleccionadas de un vector."
 
 #: ../gui/wxpython/menustrings.py:546 ../gui/wxpython/menustrings.py:1453
 msgid "Convert object types"
@@ -12486,12 +11671,8 @@ msgid "Dissolve boundaries"
 msgstr "Disolver contornos."
 
 #: ../gui/wxpython/menustrings.py:551 ../gui/wxpython/menustrings.py:1458
-msgid ""
-"Dissolves boundaries between adjacent areas sharing a common category number "
-"or attribute."
-msgstr ""
-"Disuelve contornos entre áreas adyacentes que comparten un número de "
-"categoría o atributo común."
+msgid "Dissolves boundaries between adjacent areas sharing a common category number or attribute."
+msgstr "Disuelve contornos entre áreas adyacentes que comparten un número de categoría o atributo común."
 
 #: ../gui/wxpython/menustrings.py:552 ../gui/wxpython/menustrings.py:1459
 msgid "Create 3D vector over raster"
@@ -12507,9 +11688,7 @@ msgid "Extrude 3D vector map"
 msgstr "Extruir mapa vectorial 3D."
 
 #: ../gui/wxpython/menustrings.py:555 ../gui/wxpython/menustrings.py:1462
-msgid ""
-"Extrudes flat vector features to 3D vector features with defined height. "
-"Optionally the height can be derived from sampling of elevation raster map."
+msgid "Extrudes flat vector features to 3D vector features with defined height. Optionally the height can be derived from sampling of elevation raster map."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:556 ../gui/wxpython/menustrings.py:1463
@@ -12518,9 +11697,7 @@ msgstr "Crear etiquetas."
 
 #: ../gui/wxpython/menustrings.py:557 ../gui/wxpython/menustrings.py:1464
 msgid "Creates paint labels for a vector map from attached attributes."
-msgstr ""
-"Crea etiquetas de pintura para un mapa vectorial a partir de atributos "
-"asociados."
+msgstr "Crea etiquetas de pintura para un mapa vectorial a partir de atributos asociados."
 
 #: ../gui/wxpython/menustrings.py:558 ../gui/wxpython/menustrings.py:1465
 msgid "Reposition vector map"
@@ -12528,11 +11705,8 @@ msgstr "Reposicionar mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:559 ../gui/wxpython/menustrings.py:1466
 #, fuzzy
-msgid ""
-"Performs an affine transformation (shift, scale and rotate) on vector map."
-msgstr ""
-"Realiza una transformación afín (Dezplazamiento, escalado y rotación o "
-"mediante puntos de control sobre el terreno GPCs) sobre un mapa vectorial."
+msgid "Performs an affine transformation (shift, scale and rotate) on vector map."
+msgstr "Realiza una transformación afín (Dezplazamiento, escalado y rotación o mediante puntos de control sobre el terreno GPCs) sobre un mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:560 ../gui/wxpython/menustrings.py:1467
 #, fuzzy
@@ -12541,12 +11715,8 @@ msgstr "Seleccionar un mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:561 ../gui/wxpython/menustrings.py:1468
 #, fuzzy
-msgid ""
-"Rectifies a vector by computing a coordinate transformation for each object "
-"in the vector based on the control points."
-msgstr ""
-"Rectifica una imagen calculando una transformación de coordenadas para cada "
-"píxel de la imagen basada en los puntos de control."
+msgid "Rectifies a vector by computing a coordinate transformation for each object in the vector based on the control points."
+msgstr "Rectifica una imagen calculando una transformación de coordenadas para cada píxel de la imagen basada en los puntos de control."
 
 #: ../gui/wxpython/menustrings.py:565 ../gui/wxpython/menustrings.py:1472
 msgid "Updates vector map metadata."
@@ -12562,9 +11732,7 @@ msgid "Create or rebuild topology"
 msgstr "Crear o reconstruir topología."
 
 #: ../gui/wxpython/menustrings.py:568 ../gui/wxpython/menustrings.py:1475
-msgid ""
-"Creates topology for vector map. Optionally also checks for topological "
-"errors."
+msgid "Creates topology for vector map. Optionally also checks for topological errors."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:569 ../gui/wxpython/menustrings.py:1476
@@ -12573,9 +11741,7 @@ msgstr "Reconstruir topología en todos los mapas vectoriales"
 
 #: ../gui/wxpython/menustrings.py:570 ../gui/wxpython/menustrings.py:1477
 msgid "Rebuilds topology on all vector maps in the current mapset."
-msgstr ""
-"Reconstruye la topología en todos los mapas vectoriales del actual "
-"directorio de mapas."
+msgstr "Reconstruye la topología en todos los mapas vectoriales del actual directorio de mapas."
 
 #: ../gui/wxpython/menustrings.py:571 ../gui/wxpython/menustrings.py:1478
 msgid "Build polylines"
@@ -12629,8 +11795,7 @@ msgstr "Añade los centroides faltantes a contornos cerrados."
 #: ../gui/wxpython/menustrings.py:585 ../gui/wxpython/menustrings.py:1492
 #, fuzzy
 msgid "Creates/modifies the color table associated with a vector map."
-msgstr ""
-"Crea / modifica la tabla de colores asociada a una capa de mapa raster."
+msgstr "Crea / modifica la tabla de colores asociada a una capa de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:587 ../gui/wxpython/menustrings.py:1494
 msgid "Interactive management of vector color tables."
@@ -12676,12 +11841,8 @@ msgstr "Duplicar atributos"
 
 #: ../gui/wxpython/menustrings.py:597 ../gui/wxpython/menustrings.py:1504
 #, fuzzy
-msgid ""
-"Selects vector features from an existing vector map and creates a new vector "
-"map containing only the selected features."
-msgstr ""
-"Selecciona objetos vectoriales de un mapa vectorial existente y crea un "
-"nuevo mapa que contiene sólo los objetos seleccionados."
+msgid "Selects vector features from an existing vector map and creates a new vector map containing only the selected features."
+msgstr "Selecciona objetos vectoriales de un mapa vectorial existente y crea un nuevo mapa que contiene sólo los objetos seleccionados."
 
 #: ../gui/wxpython/menustrings.py:598 ../gui/wxpython/menustrings.py:1505
 #, fuzzy
@@ -12689,11 +11850,8 @@ msgid "Select by another map"
 msgstr "Seleccionar mapa raster:"
 
 #: ../gui/wxpython/menustrings.py:599 ../gui/wxpython/menustrings.py:1506
-msgid ""
-"Selects features from vector map (A) by features from other vector map (B)."
-msgstr ""
-"Seleccionar elementos del mapa vectorial (A), mediante elementos de otro "
-"mapa vectorial (B)."
+msgid "Selects features from vector map (A) by features from other vector map (B)."
+msgstr "Seleccionar elementos del mapa vectorial (A), mediante elementos de otro mapa vectorial (B)."
 
 #: ../gui/wxpython/menustrings.py:607 ../gui/wxpython/menustrings.py:1514
 msgid "Buffer vectors"
@@ -12702,9 +11860,7 @@ msgstr "Crear áreas de influencia a partir de vectoriales."
 #: ../gui/wxpython/menustrings.py:608 ../gui/wxpython/menustrings.py:1515
 #, fuzzy
 msgid "Creates a buffer around vector features of given type."
-msgstr ""
-"Crear un buffer alrededor de los elementos de tipo dado (las áreas deben "
-"contener centroide)."
+msgstr "Crear un buffer alrededor de los elementos de tipo dado (las áreas deben contener centroide)."
 
 #: ../gui/wxpython/menustrings.py:609 ../gui/wxpython/menustrings.py:1516
 msgid "Lidar analysis"
@@ -12725,20 +11881,15 @@ msgstr "Detectar bordes."
 
 #: ../gui/wxpython/menustrings.py:613 ../gui/wxpython/menustrings.py:1520
 msgid "Detects the object's edges from a LIDAR data set."
-msgstr ""
-"Detecta los bordes de un objeto a partir de un conjunto de datos LIDAR."
+msgstr "Detecta los bordes de un objeto a partir de un conjunto de datos LIDAR."
 
 #: ../gui/wxpython/menustrings.py:614 ../gui/wxpython/menustrings.py:1521
 msgid "Detect interiors"
 msgstr "Detectar interiores."
 
 #: ../gui/wxpython/menustrings.py:615 ../gui/wxpython/menustrings.py:1522
-msgid ""
-"Building contour determination and Region Growing algorithm for determining "
-"the building inside"
-msgstr ""
-"Construcción de la determinación de curvas de nivel y algoritmo de "
-"crecimiento de región para determinar la construcción interior."
+msgid "Building contour determination and Region Growing algorithm for determining the building inside"
+msgstr "Construcción de la determinación de curvas de nivel y algoritmo de crecimiento de región para determinar la construcción interior."
 
 #: ../gui/wxpython/menustrings.py:616 ../gui/wxpython/menustrings.py:1523
 msgid "Correct and reclassify objects"
@@ -12746,12 +11897,8 @@ msgstr "Corregir y reclasificar objetos."
 
 #: ../gui/wxpython/menustrings.py:617 ../gui/wxpython/menustrings.py:1524
 #, fuzzy
-msgid ""
-"Corrects the v.lidar.growing output. It is the last of the three algorithms "
-"for LIDAR filtering."
-msgstr ""
-"Corrección de la salida de v.lidar.growing. Es el último de los tres "
-"algoritmos para el filtrado de LIDAR."
+msgid "Corrects the v.lidar.growing output. It is the last of the three algorithms for LIDAR filtering."
+msgstr "Corrección de la salida de v.lidar.growing. Es el último de los tres algoritmos para el filtrado de LIDAR."
 
 #: ../gui/wxpython/menustrings.py:618 ../gui/wxpython/menustrings.py:1525
 msgid "Linear referencing"
@@ -12773,44 +11920,31 @@ msgstr "Crear estaciones."
 #: ../gui/wxpython/menustrings.py:622 ../gui/wxpython/menustrings.py:1529
 #, fuzzy
 msgid "Creates stationing from input lines, and linear reference system."
-msgstr ""
-"Crear estaciones de las líneas de entrada y sistema de referencia lineal."
+msgstr "Crear estaciones de las líneas de entrada y sistema de referencia lineal."
 
 #: ../gui/wxpython/menustrings.py:623 ../gui/wxpython/menustrings.py:1530
 msgid "Create points/segments"
 msgstr "Crear puntos / segmentos."
 
 #: ../gui/wxpython/menustrings.py:624 ../gui/wxpython/menustrings.py:1531
-msgid ""
-"Creates points/segments from input lines, linear reference system and "
-"positions read from stdin or a file."
-msgstr ""
-"Crea puntos / segmentos a partir de las líneas de entrada, sistema de "
-"referencia lineal y posiciones leídas de la entrada estándar o un archivo."
+msgid "Creates points/segments from input lines, linear reference system and positions read from stdin or a file."
+msgstr "Crea puntos / segmentos a partir de las líneas de entrada, sistema de referencia lineal y posiciones leídas de la entrada estándar o un archivo."
 
 #: ../gui/wxpython/menustrings.py:625 ../gui/wxpython/menustrings.py:1532
 msgid "Find line id and offset"
 msgstr "Buscar ID de la línea y compensar."
 
 #: ../gui/wxpython/menustrings.py:626 ../gui/wxpython/menustrings.py:1533
-msgid ""
-"Finds line id and real km+offset for given points in vector map using linear "
-"reference system."
-msgstr ""
-"Hallar una id de línea y km reales + compensación para puntos especificados "
-"en un mapa vectorial empleando un sistema de referencia lineal."
+msgid "Finds line id and real km+offset for given points in vector map using linear reference system."
+msgstr "Hallar una id de línea y km reales + compensación para puntos especificados en un mapa vectorial empleando un sistema de referencia lineal."
 
 #: ../gui/wxpython/menustrings.py:627 ../gui/wxpython/menustrings.py:1534
 msgid "Nearest features"
 msgstr "Elementos más próximos."
 
 #: ../gui/wxpython/menustrings.py:628 ../gui/wxpython/menustrings.py:1535
-msgid ""
-"Finds the nearest element in vector map 'to' for elements in vector map "
-"'from'."
-msgstr ""
-"Encuentra el elemento más cercano en el mapa vectorial \"hacia\" para los "
-"elementos en el mapa vectorial \"desde\"."
+msgid "Finds the nearest element in vector map 'to' for elements in vector map 'from'."
+msgstr "Encuentra el elemento más cercano en el mapa vectorial \"hacia\" para los elementos en el mapa vectorial \"desde\"."
 
 #: ../gui/wxpython/menustrings.py:629 ../gui/wxpython/menustrings.py:1536
 msgid "Network analysis"
@@ -12835,13 +11969,8 @@ msgstr "Asignar subredes."
 
 #: ../gui/wxpython/menustrings.py:635 ../gui/wxpython/menustrings.py:1542
 #, fuzzy
-msgid ""
-"Allocates subnets for nearest centers (direction from center). center node "
-"must be opened (costs >= 0). Costs of center node are used in calculation"
-msgstr ""
-"Divide la red en bandas entre isolíneas de coste (dirección desde el "
-"centro). El nodo central debe estar abierto (coste >= 0). Los costes de nodo "
-"central se usan en el cálculo."
+msgid "Allocates subnets for nearest centers (direction from center). center node must be opened (costs >= 0). Costs of center node are used in calculation"
+msgstr "Divide la red en bandas entre isolíneas de coste (dirección desde el centro). El nodo central debe estar abierto (coste >= 0). Los costes de nodo central se usan en el cálculo."
 
 #: ../gui/wxpython/menustrings.py:636 ../gui/wxpython/menustrings.py:1543
 msgid "Split net"
@@ -12849,14 +11978,8 @@ msgstr "Dividir red."
 
 #: ../gui/wxpython/menustrings.py:637 ../gui/wxpython/menustrings.py:1544
 #, fuzzy
-msgid ""
-"Splits net by cost isolines. Splits net to bands between cost isolines "
-"(direction from center). Center node must be opened (costs >= 0). Costs of "
-"center node are used in calculation."
-msgstr ""
-"Divide la red en bandas entre isolíneas de coste (dirección desde el "
-"centro). El nodo central debe estar abierto (coste >= 0). Los costes de nodo "
-"central se usan en el cálculo."
+msgid "Splits net by cost isolines. Splits net to bands between cost isolines (direction from center). Center node must be opened (costs >= 0). Costs of center node are used in calculation."
+msgstr "Divide la red en bandas entre isolíneas de coste (dirección desde el centro). El nodo central debe estar abierto (coste >= 0). Los costes de nodo central se usan en el cálculo."
 
 #: ../gui/wxpython/menustrings.py:638 ../gui/wxpython/menustrings.py:1545
 msgid "Shortest path"
@@ -12871,11 +11994,7 @@ msgid "Shortest path for sets of features"
 msgstr "Ruta más corta para conjuntos de elementos"
 
 #: ../gui/wxpython/menustrings.py:641 ../gui/wxpython/menustrings.py:1548
-msgid ""
-"Computes shortest distance via the network between the given sets of "
-"features. Finds the shortest paths from each 'from' point to the nearest "
-"'to' feature and various information about this relation are uploaded to the "
-"attribute table."
+msgid "Computes shortest distance via the network between the given sets of features. Finds the shortest paths from each 'from' point to the nearest 'to' feature and various information about this relation are uploaded to the attribute table."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:642 ../gui/wxpython/menustrings.py:1549
@@ -12925,8 +12044,7 @@ msgstr "Conectividad de vértices"
 
 #: ../gui/wxpython/menustrings.py:653 ../gui/wxpython/menustrings.py:1560
 msgid "Computes vertex connectivity between two sets of nodes in the network."
-msgstr ""
-"Calcula la conectividad de vértices entre dos conjuntos de nodos en la red."
+msgstr "Calcula la conectividad de vértices entre dos conjuntos de nodos en la red."
 
 #: ../gui/wxpython/menustrings.py:654 ../gui/wxpython/menustrings.py:1561
 msgid "Components"
@@ -12941,12 +12059,8 @@ msgid "Centrality"
 msgstr "Centralidad"
 
 #: ../gui/wxpython/menustrings.py:657 ../gui/wxpython/menustrings.py:1564
-msgid ""
-"Computes degree, centrality, betweeness, closeness and eigenvector "
-"centrality measures in the network."
-msgstr ""
-"Cálcula grado, medidas de centralidad, intermediación, proximidad, y "
-"centralidad del eigenvector en la red."
+msgid "Computes degree, centrality, betweeness, closeness and eigenvector centrality measures in the network."
+msgstr "Cálcula grado, medidas de centralidad, intermediación, proximidad, y centralidad del eigenvector en la red."
 
 #: ../gui/wxpython/menustrings.py:658 ../gui/wxpython/menustrings.py:1565
 msgid "Steiner tree"
@@ -12954,10 +12068,7 @@ msgstr "Árbol de Steiner."
 
 #: ../gui/wxpython/menustrings.py:659 ../gui/wxpython/menustrings.py:1566
 #, fuzzy
-msgid ""
-"Creates Steiner tree for the network and given terminals. Note that 'Minimum "
-"Steiner Tree' problem is NP-hard and heuristic algorithm is used in this "
-"module so the result may be sub optimal."
+msgid "Creates Steiner tree for the network and given terminals. Note that 'Minimum Steiner Tree' problem is NP-hard and heuristic algorithm is used in this module so the result may be sub optimal."
 msgstr "Tenga en cuenta que el PVV es"
 
 #: ../gui/wxpython/menustrings.py:660 ../gui/wxpython/menustrings.py:1567
@@ -12974,10 +12085,7 @@ msgstr "Análisis del representante de comercio."
 
 #: ../gui/wxpython/menustrings.py:663 ../gui/wxpython/menustrings.py:1570
 #, fuzzy
-msgid ""
-"Creates a cycle connecting given nodes (Traveling salesman problem). Note "
-"that TSP is NP-hard, heuristic algorithm is used by this module and created "
-"cycle may be sub optimal"
+msgid "Creates a cycle connecting given nodes (Traveling salesman problem). Note that TSP is NP-hard, heuristic algorithm is used by this module and created cycle may be sub optimal"
 msgstr "Tenga en cuenta que el PVV es"
 
 #: ../gui/wxpython/menustrings.py:664 ../gui/wxpython/menustrings.py:665
@@ -12996,9 +12104,7 @@ msgstr "Unir mapas vectoriales."
 #: ../gui/wxpython/menustrings.py:668 ../gui/wxpython/menustrings.py:1575
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
-msgstr ""
-"Crear una capa de mapa vectorial nueva combinando otras capas de mapas "
-"vectoriales."
+msgstr "Crear una capa de mapa vectorial nueva combinando otras capas de mapas vectoriales."
 
 #: ../gui/wxpython/menustrings.py:669 ../gui/wxpython/menustrings.py:1576
 #, fuzzy
@@ -13013,18 +12119,11 @@ msgstr "Gestionar o informar sobre categorías."
 #: ../gui/wxpython/menustrings.py:671 ../gui/wxpython/menustrings.py:1578
 #, fuzzy
 msgid "Attaches, deletes or reports vector categories to map geometry."
-msgstr ""
-"Adjuntar, borrar o reportar categorías del mapa vectorial a la geometría del "
-"mapa."
+msgstr "Adjuntar, borrar o reportar categorías del mapa vectorial a la geometría del mapa."
 
 #: ../gui/wxpython/menustrings.py:673 ../gui/wxpython/menustrings.py:1580
-msgid ""
-"Changes vector category values for an existing vector map according to "
-"results of SQL queries or a value in attribute table column."
-msgstr ""
-"Cambia los valores de categoría de un vector perteneciente a un mapa "
-"vectorial de acuerdo a los resultados de las consultas SQL o un valor en la "
-"columna atributo de la tabla."
+msgid "Changes vector category values for an existing vector map according to results of SQL queries or a value in attribute table column."
+msgstr "Cambia los valores de categoría de un vector perteneciente a un mapa vectorial de acuerdo a los resultados de las consultas SQL o un valor en la columna atributo de la tabla."
 
 #: ../gui/wxpython/menustrings.py:674 ../gui/wxpython/menustrings.py:1581
 #: ../gui/wxpython/dbmgr/dialogs.py:115
@@ -13037,13 +12136,8 @@ msgstr "Actualizar atributos de área a partir de un raster."
 
 #: ../gui/wxpython/menustrings.py:676 ../gui/wxpython/menustrings.py:1583
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from a raster map based on a vector map and "
-"uploads statistics to new attribute columns."
-msgstr ""
-"Calcular estadísticas univariantes a partir de un mapa raster de GRASS "
-"basadas en polígonos vectoriales y carga las estadísticas en nuevas columnas "
-"de atributos."
+msgid "Calculates univariate statistics from a raster map based on a vector map and uploads statistics to new attribute columns."
+msgstr "Calcular estadísticas univariantes a partir de un mapa raster de GRASS basadas en polígonos vectoriales y carga las estadísticas en nuevas columnas de atributos."
 
 #: ../gui/wxpython/menustrings.py:677 ../gui/wxpython/menustrings.py:1584
 #, fuzzy
@@ -13053,9 +12147,7 @@ msgstr "Actualizar atributos de área a partir de un raster."
 #: ../gui/wxpython/menustrings.py:678 ../gui/wxpython/menustrings.py:1585
 #, fuzzy
 msgid "Count points in areas, calculate statistics from point attributes."
-msgstr ""
-"Calcula estadísticas univariantes a partir de celdas no nulas de un mapa "
-"raster."
+msgstr "Calcula estadísticas univariantes a partir de celdas no nulas de un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:679 ../gui/wxpython/menustrings.py:1586
 msgid "Update point attributes from areas"
@@ -13063,8 +12155,7 @@ msgstr "Actualizar atributos de puntos a partir de áreas."
 
 #: ../gui/wxpython/menustrings.py:680 ../gui/wxpython/menustrings.py:1587
 msgid "Uploads vector values at positions of vector points to the table."
-msgstr ""
-"Carga valores vectoriales en las posiciones de puntos vectoriales a la tabla."
+msgstr "Carga valores vectoriales en las posiciones de puntos vectoriales a la tabla."
 
 #: ../gui/wxpython/menustrings.py:681 ../gui/wxpython/menustrings.py:1588
 #, fuzzy
@@ -13082,8 +12173,7 @@ msgstr "Muestrea mapas raster en las ubicaciones puntuales."
 
 #: ../gui/wxpython/menustrings.py:684 ../gui/wxpython/menustrings.py:1591
 msgid "Uploads raster values at positions of vector points to the table."
-msgstr ""
-"Carga valores raster en las posiciones de puntos vectoriales a la tabla."
+msgstr "Carga valores raster en las posiciones de puntos vectoriales a la tabla."
 
 #: ../gui/wxpython/menustrings.py:685 ../gui/wxpython/menustrings.py:1592
 msgid "Sample raster neighborhood around points"
@@ -13120,12 +12210,8 @@ msgid "Delaunay triangles"
 msgstr "Triángulos de Delaunay."
 
 #: ../gui/wxpython/menustrings.py:693 ../gui/wxpython/menustrings.py:1600
-msgid ""
-"Creates a Delaunay triangulation from an input vector map containing points "
-"or centroids."
-msgstr ""
-"Crea una triangulación de Delaunay a partir de un mapa vectorial de entrada "
-"que contiene puntos o centroides."
+msgid "Creates a Delaunay triangulation from an input vector map containing points or centroids."
+msgstr "Crea una triangulación de Delaunay a partir de un mapa vectorial de entrada que contiene puntos o centroides."
 
 #: ../gui/wxpython/menustrings.py:694 ../gui/wxpython/menustrings.py:1601
 msgid "Voronoi diagram/Thiessen polygons"
@@ -13133,12 +12219,8 @@ msgstr "Diagrama de Voronoi / polígonos de Thiessen."
 
 #: ../gui/wxpython/menustrings.py:695 ../gui/wxpython/menustrings.py:1602
 #, fuzzy
-msgid ""
-"Creates a Voronoi diagram in current region from an input vector map "
-"containing points or centroids."
-msgstr ""
-"Crea un diagrama de Voronoi a partir de un mapa vectorial de entrada que "
-"contiene puntos o centroides."
+msgid "Creates a Voronoi diagram in current region from an input vector map containing points or centroids."
+msgstr "Crea un diagrama de Voronoi a partir de un mapa vectorial de entrada que contiene puntos o centroides."
 
 #: ../gui/wxpython/menustrings.py:696 ../gui/wxpython/menustrings.py:1603
 msgid "Generate grid"
@@ -13147,9 +12229,7 @@ msgstr "Generar cuadrícula."
 #: ../gui/wxpython/menustrings.py:697 ../gui/wxpython/menustrings.py:1604
 #, fuzzy
 msgid "Creates a vector map of a user-defined grid."
-msgstr ""
-"Crea un mapa vectorial de GRASS a partir de una cuadrícula definida por el "
-"usuario."
+msgstr "Crea un mapa vectorial de GRASS a partir de una cuadrícula definida por el usuario."
 
 #: ../gui/wxpython/menustrings.py:698 ../gui/wxpython/menustrings.py:1605
 msgid "Generate points"
@@ -13160,11 +12240,8 @@ msgid "Generate from database"
 msgstr "Generar de la base de datos."
 
 #: ../gui/wxpython/menustrings.py:700 ../gui/wxpython/menustrings.py:1607
-msgid ""
-"Creates new vector (points) map from database table containing coordinates."
-msgstr ""
-"Crea un nuevo mapa vectorial (de puntos) a partir de una tabla de la base de "
-"datos que contiene coordenadas."
+msgid "Creates new vector (points) map from database table containing coordinates."
+msgstr "Crea un nuevo mapa vectorial (de puntos) a partir de una tabla de la base de datos que contiene coordenadas."
 
 #: ../gui/wxpython/menustrings.py:701 ../gui/wxpython/menustrings.py:1608
 msgid "Generate points along lines"
@@ -13173,9 +12250,7 @@ msgstr "Generar puntos a lo largo de líneas."
 #: ../gui/wxpython/menustrings.py:702 ../gui/wxpython/menustrings.py:1609
 #, fuzzy
 msgid "Creates points along input lines in new vector map with 2 layers."
-msgstr ""
-"Crea puntos a lo largo de líneas de entrada en un nuevo vectorial con 2 "
-"capas."
+msgstr "Crea puntos a lo largo de líneas de entrada en un nuevo vectorial con 2 capas."
 
 #: ../gui/wxpython/menustrings.py:703 ../gui/wxpython/menustrings.py:1610
 msgid "Generate random points"
@@ -13184,8 +12259,7 @@ msgstr "Generar puntos aleatorios."
 #: ../gui/wxpython/menustrings.py:704 ../gui/wxpython/menustrings.py:1611
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
-msgstr ""
-"Genera un mapa de de GRASS que contiene puntos vectoriales aleatorios 2D/3D."
+msgstr "Genera un mapa de de GRASS que contiene puntos vectoriales aleatorios 2D/3D."
 
 #: ../gui/wxpython/menustrings.py:705 ../gui/wxpython/menustrings.py:1612
 msgid "Perturb points"
@@ -13194,8 +12268,7 @@ msgstr "Perturbar puntos."
 #: ../gui/wxpython/menustrings.py:706 ../gui/wxpython/menustrings.py:1613
 #, fuzzy
 msgid "Random location perturbations of vector points."
-msgstr ""
-"Perturbaciones aleatorias de la ubicación de los puntos vectoriales de GRASS."
+msgstr "Perturbaciones aleatorias de la ubicación de los puntos vectoriales de GRASS."
 
 #: ../gui/wxpython/menustrings.py:707 ../gui/wxpython/menustrings.py:1614
 msgid "Remove outliers in point sets"
@@ -13241,24 +12314,16 @@ msgstr "Estadísticas univariantes de atributos para puntos"
 
 #: ../gui/wxpython/menustrings.py:719 ../gui/wxpython/menustrings.py:1626
 #, fuzzy
-msgid ""
-"Calculates univariate statistics of vector map features. Variance and "
-"standard deviation is calculated only for points if specified."
-msgstr ""
-"Calcula estadísticas univariantes para atributos. La varianza y desviación "
-"estándar sólo se calculan para puntos si así se especifica."
+msgid "Calculates univariate statistics of vector map features. Variance and standard deviation is calculated only for points if specified."
+msgstr "Calcula estadísticas univariantes para atributos. La varianza y desviación estándar sólo se calculan para puntos si así se especifica."
 
 #: ../gui/wxpython/menustrings.py:720 ../gui/wxpython/menustrings.py:1627
 msgid "Univariate statistics for attribute columns"
 msgstr "Estadísticas univariantes para columnas de atributo"
 
 #: ../gui/wxpython/menustrings.py:721 ../gui/wxpython/menustrings.py:1628
-msgid ""
-"Calculates univariate statistics on selected table column for a GRASS vector "
-"map."
-msgstr ""
-"Calcula estadísticas univariante de la columna de la tabla seleccionada para "
-"un mapa vectorial GRASS."
+msgid "Calculates univariate statistics on selected table column for a GRASS vector map."
+msgstr "Calcula estadísticas univariante de la columna de la tabla seleccionada para un mapa vectorial GRASS."
 
 #: ../gui/wxpython/menustrings.py:722 ../gui/wxpython/menustrings.py:1629
 msgid "Quadrat indices"
@@ -13267,8 +12332,7 @@ msgstr "Índices cuadráticos."
 #: ../gui/wxpython/menustrings.py:723 ../gui/wxpython/menustrings.py:1630
 #, fuzzy
 msgid "Indices for quadrat counts of vector point lists."
-msgstr ""
-"Índices correspondientes a los conteos de listas de sitios en los cuadrantes."
+msgstr "Índices correspondientes a los conteos de listas de sitios en los cuadrantes."
 
 #: ../gui/wxpython/menustrings.py:724 ../gui/wxpython/menustrings.py:1631
 msgid "Test normality"
@@ -13311,8 +12375,7 @@ msgstr "Hacer mosaico de imágenes."
 #: ../gui/wxpython/menustrings.py:733 ../gui/wxpython/menustrings.py:1640
 #, fuzzy
 msgid "Mosaics several images and extends colormap."
-msgstr ""
-"Hace mosaicos de hasta 4 imágenes y extiende colormap; crea mapas *.mosaico"
+msgstr "Hace mosaicos de hasta 4 imágenes y extiende colormap; crea mapas *.mosaico"
 
 #: ../gui/wxpython/menustrings.py:734 ../gui/wxpython/menustrings.py:1641
 msgid "Manage image colors"
@@ -13332,32 +12395,20 @@ msgid "HIS to RGB"
 msgstr "Matiz, intensidad y saturación (HIS) a Rojo, verde y azul (RGB)."
 
 #: ../gui/wxpython/menustrings.py:738 ../gui/wxpython/menustrings.py:1645
-msgid ""
-"Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to "
-"RGB (Red-Green-Blue) color space."
-msgstr ""
-"Transforma mapas raster a partir del espacio de color HIS (Tono - Saturación "
-"- intensidad) al espacio de color RGB (Rojo - Verde - Azul)."
+msgid "Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to RGB (Red-Green-Blue) color space."
+msgstr "Transforma mapas raster a partir del espacio de color HIS (Tono - Saturación - intensidad) al espacio de color RGB (Rojo - Verde - Azul)."
 
 #: ../gui/wxpython/menustrings.py:740 ../gui/wxpython/menustrings.py:1647
-msgid ""
-"Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-"
-"Intensity-Saturation) color space."
-msgstr ""
-"Transforma mapas raster a partir del espacio de color  RGB (Rojo - Verde - "
-"Azul) al espacio de color HIS (Tono - Saturación - intensidad)."
+msgid "Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space."
+msgstr "Transforma mapas raster a partir del espacio de color  RGB (Rojo - Verde - Azul) al espacio de color HIS (Tono - Saturación - intensidad)."
 
 #: ../gui/wxpython/menustrings.py:741 ../gui/wxpython/menustrings.py:1648
 msgid "Rectify image or raster"
 msgstr "Rectificar o imagen de mapa de bits."
 
 #: ../gui/wxpython/menustrings.py:742 ../gui/wxpython/menustrings.py:1649
-msgid ""
-"Rectifies an image by computing a coordinate transformation for each pixel "
-"in the image based on the control points."
-msgstr ""
-"Rectifica una imagen calculando una transformación de coordenadas para cada "
-"píxel de la imagen basada en los puntos de control."
+msgid "Rectifies an image by computing a coordinate transformation for each pixel in the image based on the control points."
+msgstr "Rectifica una imagen calculando una transformación de coordenadas para cada píxel de la imagen basada en los puntos de control."
 
 #: ../gui/wxpython/menustrings.py:744 ../gui/wxpython/menustrings.py:1651
 msgid "Generate histogram of image"
@@ -13368,11 +12419,8 @@ msgid "Spectral response"
 msgstr "Respuesta espectral."
 
 #: ../gui/wxpython/menustrings.py:746 ../gui/wxpython/menustrings.py:1653
-msgid ""
-"Displays spectral response at user specified locations in group or images."
-msgstr ""
-"Muestra la respuesta espectral en localizaciones especificadas por el "
-"usuario en grupo o imágenes."
+msgid "Displays spectral response at user specified locations in group or images."
+msgstr "Muestra la respuesta espectral en localizaciones especificadas por el usuario en grupo o imágenes."
 
 #: ../gui/wxpython/menustrings.py:747 ../gui/wxpython/menustrings.py:1654
 #, fuzzy
@@ -13381,12 +12429,8 @@ msgstr "Incremento de contraste / resolución Brovey."
 
 #: ../gui/wxpython/menustrings.py:748 ../gui/wxpython/menustrings.py:1655
 #, fuzzy
-msgid ""
-"Image fusion algorithms to sharpen multispectral with high-res panchromatic "
-"channels"
-msgstr ""
-"Transformación de Brovey para fundir canales multiespectrales y "
-"pancromáticos de alta resolución"
+msgid "Image fusion algorithms to sharpen multispectral with high-res panchromatic channels"
+msgstr "Transformación de Brovey para fundir canales multiespectrales y pancromáticos de alta resolución"
 
 #: ../gui/wxpython/menustrings.py:749 ../gui/wxpython/menustrings.py:1656
 msgid "Classify image"
@@ -13398,13 +12442,8 @@ msgstr "Entrada de agrupaciones para clasificación no supervisada."
 
 #: ../gui/wxpython/menustrings.py:751 ../gui/wxpython/menustrings.py:1658
 #, fuzzy
-msgid ""
-"Generates spectral signatures for land cover types in an image using a "
-"clustering algorithm. The resulting signature file is used as input for i."
-"maxlik, to generate an unsupervised image classification."
-msgstr ""
-"El archivo de firma resultante se usa como entrada para i.maxlik, para "
-"generar una clasificación de imágenes sin supervisión."
+msgid "Generates spectral signatures for land cover types in an image using a clustering algorithm. The resulting signature file is used as input for i.maxlik, to generate an unsupervised image classification."
+msgstr "El archivo de firma resultante se usa como entrada para i.maxlik, para generar una clasificación de imágenes sin supervisión."
 
 #: ../gui/wxpython/menustrings.py:752 ../gui/wxpython/menustrings.py:1659
 msgid "Input for supervised MLC"
@@ -13420,13 +12459,8 @@ msgstr "Clasificación de máxima verosimilitud (MLC)."
 
 #: ../gui/wxpython/menustrings.py:755 ../gui/wxpython/menustrings.py:1662
 #, fuzzy
-msgid ""
-"Classifies the cell spectral reflectances in imagery data. Classification is "
-"based on the spectral signature information generated by either i.cluster, g."
-"gui.iclass, or i.gensig."
-msgstr ""
-"Las clasificaciones están basadas en la información de firma espectral "
-"generada por i.cluster, i.class o i.gensig."
+msgid "Classifies the cell spectral reflectances in imagery data. Classification is based on the spectral signature information generated by either i.cluster, g.gui.iclass, or i.gensig."
+msgstr "Las clasificaciones están basadas en la información de firma espectral generada por i.cluster, i.class o i.gensig."
 
 #: ../gui/wxpython/menustrings.py:756 ../gui/wxpython/menustrings.py:1663
 #: ../gui/wxpython/menustrings.py:1922
@@ -13436,11 +12470,8 @@ msgstr "Clasificación supervisada de entrada interactiva"
 #: ../gui/wxpython/menustrings.py:757 ../gui/wxpython/menustrings.py:1664
 #: ../gui/wxpython/menustrings.py:1923
 #, fuzzy
-msgid ""
-"Generates spectral signatures by allowing the user to outline training areas."
-msgstr ""
-"Genera firmas espectrales para una imagen lo cual permite al usuario "
-"delinear las regiones de interés."
+msgid "Generates spectral signatures by allowing the user to outline training areas."
+msgstr "Genera firmas espectrales para una imagen lo cual permite al usuario delinear las regiones de interés."
 
 #: ../gui/wxpython/menustrings.py:758 ../gui/wxpython/menustrings.py:1665
 msgid "Input for supervised SMAP"
@@ -13455,12 +12486,8 @@ msgid "Sequential maximum a posteriori classification (SMAP)"
 msgstr "Clasificación secuencial máxima a posteriori (SMAP)."
 
 #: ../gui/wxpython/menustrings.py:761 ../gui/wxpython/menustrings.py:1668
-msgid ""
-"Performs contextual image classification using sequential maximum a "
-"posteriori (SMAP) estimation."
-msgstr ""
-"Realiza una clasificación contextual de imágenes utilizando una estimación "
-"secuencial máxima a posteriori (SMAP)."
+msgid "Performs contextual image classification using sequential maximum a posteriori (SMAP) estimation."
+msgstr "Realiza una clasificación contextual de imágenes utilizando una estimación secuencial máxima a posteriori (SMAP)."
 
 #: ../gui/wxpython/menustrings.py:762 ../gui/wxpython/menustrings.py:1669
 #, fuzzy
@@ -13481,9 +12508,7 @@ msgstr "Detección de bordes, frontera."
 
 #: ../gui/wxpython/menustrings.py:766 ../gui/wxpython/menustrings.py:1673
 msgid "Zero-crossing \"edge detection\" raster function for image processing."
-msgstr ""
-"Función raster \"detección de bordes\" de cruce de ceros para procesamiento "
-"de imágenes."
+msgstr "Función raster \"detección de bordes\" de cruce de ceros para procesamiento de imágenes."
 
 #: ../gui/wxpython/menustrings.py:767 ../gui/wxpython/menustrings.py:1674
 msgid "Matrix/convolving filter"
@@ -13504,9 +12529,7 @@ msgstr "Correlación canónica."
 #: ../gui/wxpython/menustrings.py:771 ../gui/wxpython/menustrings.py:1678
 #, fuzzy
 msgid "Canonical components analysis (CCA) program for image processing."
-msgstr ""
-"Programa de análisis de componentes canónicos (cca) para procesamiento de "
-"imágenes."
+msgstr "Programa de análisis de componentes canónicos (cca) para procesamiento de imágenes."
 
 #: ../gui/wxpython/menustrings.py:772 ../gui/wxpython/menustrings.py:1679
 msgid "Principal components"
@@ -13514,8 +12537,7 @@ msgstr "Componentes principales."
 
 #: ../gui/wxpython/menustrings.py:773 ../gui/wxpython/menustrings.py:1680
 msgid "Principal components analysis (PCA) for image processing."
-msgstr ""
-"Análisis de componentes principales (PCA) para procesamiento de imágenes."
+msgstr "Análisis de componentes principales (PCA) para procesamiento de imágenes."
 
 #: ../gui/wxpython/menustrings.py:774 ../gui/wxpython/menustrings.py:1681
 msgid "Fast Fourier"
@@ -13531,8 +12553,7 @@ msgstr "Transformación inversa rápida de Fourier (FFT)."
 
 #: ../gui/wxpython/menustrings.py:777 ../gui/wxpython/menustrings.py:1684
 msgid "Inverse Fast Fourier Transform (IFFT) for image processing."
-msgstr ""
-"Transformación Inversa rápida de Fourier (ifft) para procesado de imágenes."
+msgstr "Transformación Inversa rápida de Fourier (ifft) para procesado de imágenes."
 
 #: ../gui/wxpython/menustrings.py:778 ../gui/wxpython/menustrings.py:1685
 #, fuzzy
@@ -13544,9 +12565,7 @@ msgid "Aster DN to radiance/reflectance"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:780 ../gui/wxpython/menustrings.py:1687
-msgid ""
-"Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature "
-"from ASTER DN."
+msgid "Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature from ASTER DN."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:781 ../gui/wxpython/menustrings.py:1688
@@ -13554,9 +12573,7 @@ msgid "Landsat DN to radiance/reflectance"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:782 ../gui/wxpython/menustrings.py:1689
-msgid ""
-"Calculates top-of-atmosphere radiance or reflectance and temperature for "
-"Landsat MSS/TM/ETM+/OLI"
+msgid "Calculates top-of-atmosphere radiance or reflectance and temperature for Landsat MSS/TM/ETM+/OLI"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:783 ../gui/wxpython/menustrings.py:1690
@@ -13582,9 +12599,7 @@ msgstr "Corrección atmosférica (Correlación canónica)."
 
 #: ../gui/wxpython/menustrings.py:788 ../gui/wxpython/menustrings.py:1695
 #, fuzzy
-msgid ""
-"Performs atmospheric correction using the 6S algorithm. 6S - Second "
-"Simulation of Satellite Signal in the Solar Spectrum."
+msgid "Performs atmospheric correction using the 6S algorithm. 6S - Second Simulation of Satellite Signal in the Solar Spectrum."
 msgstr "Realiza la corrección atmosférica utilizando el algoritmo 6S."
 
 #: ../gui/wxpython/menustrings.py:789 ../gui/wxpython/menustrings.py:1696
@@ -13607,9 +12622,7 @@ msgid "Vegetation indices"
 msgstr "Contornos de región"
 
 #: ../gui/wxpython/menustrings.py:793 ../gui/wxpython/menustrings.py:1700
-msgid ""
-"Calculates different types of vegetation indices. Uses red and nir bands "
-"mostly, and some indices require additional bands."
+msgid "Calculates different types of vegetation indices. Uses red and nir bands mostly, and some indices require additional bands."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:794 ../gui/wxpython/menustrings.py:1701
@@ -13679,9 +12692,7 @@ msgid "Evaporative fraction"
 msgstr "Fracción evapotranpirativa"
 
 #: ../gui/wxpython/menustrings.py:810 ../gui/wxpython/menustrings.py:1717
-msgid ""
-"Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil "
-"moisture (Makin, Molden and Bastiaanssen, 2001)."
+msgid "Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil moisture (Makin, Molden and Bastiaanssen, 2001)."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:811 ../gui/wxpython/menustrings.py:1718
@@ -13697,9 +12708,7 @@ msgid "Temporal integration of ETa"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:814 ../gui/wxpython/menustrings.py:1721
-msgid ""
-"Computes temporal integration of satellite ET actual (ETa) following the "
-"daily ET reference (ETo) from meteorological station(s)."
+msgid "Computes temporal integration of satellite ET actual (ETa) following the daily ET reference (ETo) from meteorological station(s)."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:815 ../gui/wxpython/menustrings.py:1722
@@ -13707,9 +12716,7 @@ msgid "Hargreaves methods Evapotranspiration"
 msgstr "Métodos de evapotraspiración de Hargreaves"
 
 #: ../gui/wxpython/menustrings.py:816 ../gui/wxpython/menustrings.py:1723
-msgid ""
-"Computes evapotranspiration calculation modified or original Hargreaves "
-"formulation, 2001."
+msgid "Computes evapotranspiration calculation modified or original Hargreaves formulation, 2001."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:817 ../gui/wxpython/menustrings.py:1724
@@ -13717,9 +12724,7 @@ msgid "Penman-Monteith Evapotranspiration"
 msgstr "Evapotranspiración Penman-Monteith"
 
 #: ../gui/wxpython/menustrings.py:818 ../gui/wxpython/menustrings.py:1725
-msgid ""
-"Computes potential evapotranspiration calculation with hourly Penman-"
-"Monteith."
+msgid "Computes potential evapotranspiration calculation with hourly Penman-Monteith."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:819 ../gui/wxpython/menustrings.py:1726
@@ -13727,9 +12732,7 @@ msgid "Priestley-Taylor Evapotranspiration"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:820 ../gui/wxpython/menustrings.py:1727
-msgid ""
-"Computes evapotranspiration calculation Priestley and Taylor formulation, "
-"1972."
+msgid "Computes evapotranspiration calculation Priestley and Taylor formulation, 1972."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:822 ../gui/wxpython/menustrings.py:1729
@@ -13738,12 +12741,8 @@ msgstr "Análisis Kappa."
 
 #: ../gui/wxpython/menustrings.py:823 ../gui/wxpython/menustrings.py:1730
 #, fuzzy
-msgid ""
-"Calculates error matrix and kappa parameter for accuracy assessment of "
-"classification result."
-msgstr ""
-"Calcular matriz de error y el parámetro kappa para ensayo de precisión del "
-"resultado de clasificación."
+msgid "Calculates error matrix and kappa parameter for accuracy assessment of classification result."
+msgstr "Calcular matriz de error y el parámetro kappa para ensayo de precisión del resultado de clasificación."
 
 #: ../gui/wxpython/menustrings.py:824 ../gui/wxpython/menustrings.py:1731
 msgid "OIF for LandSat TM"
@@ -13778,8 +12777,7 @@ msgstr "Administrar la marca de tiempo."
 
 #: ../gui/wxpython/menustrings.py:831 ../gui/wxpython/menustrings.py:1738
 msgid "Print/add/remove a timestamp for a 3D raster map"
-msgstr ""
-"Imprimir / añadir / eliminar una marca de tiempo para un mapa raster 3D."
+msgstr "Imprimir / añadir / eliminar una marca de tiempo para un mapa raster 3D."
 
 #: ../gui/wxpython/menustrings.py:833 ../gui/wxpython/menustrings.py:1740
 #, fuzzy
@@ -13794,8 +12792,7 @@ msgstr "Tablas de color."
 #: ../gui/wxpython/menustrings.py:836 ../gui/wxpython/menustrings.py:1743
 #, fuzzy
 msgid "Creates/modifies the color table associated with a 3D raster map."
-msgstr ""
-"Crea / modifica la tabla de colores asociada a una capa de mapa raster."
+msgstr "Crea / modifica la tabla de colores asociada a una capa de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:837 ../gui/wxpython/menustrings.py:1744
 #, fuzzy
@@ -13827,21 +12824,13 @@ msgstr "Sección transversal."
 
 #: ../gui/wxpython/menustrings.py:844 ../gui/wxpython/menustrings.py:1751
 #, fuzzy
-msgid ""
-"Creates cross section 2D raster map from 3D raster map based on 2D elevation "
-"map"
-msgstr ""
-"Crea un mapa raster 2D de sección cruzada a partir de un mapa raster 3D "
-"basado en mapa 2D de elevación."
+msgid "Creates cross section 2D raster map from 3D raster map based on 2D elevation map"
+msgstr "Crea un mapa raster 2D de sección cruzada a partir de un mapa raster 3D basado en mapa 2D de elevación."
 
 #: ../gui/wxpython/menustrings.py:846 ../gui/wxpython/menustrings.py:1753
 #, fuzzy
-msgid ""
-"Numerical calculation program for transient, confined groundwater flow in "
-"three dimensions."
-msgstr ""
-"Programa de cálculo numérico para flujo de aguas subterráneas temporales, "
-"confinadas,  en tres dimensiones"
+msgid "Numerical calculation program for transient, confined groundwater flow in three dimensions."
+msgstr "Programa de cálculo numérico para flujo de aguas subterráneas temporales, confinadas,  en tres dimensiones"
 
 #: ../gui/wxpython/menustrings.py:847 ../gui/wxpython/menustrings.py:1754
 #, fuzzy
@@ -13849,12 +12838,8 @@ msgid "Interpolate 3D raster from points"
 msgstr "Interpolar un volumen a partir de puntos."
 
 #: ../gui/wxpython/menustrings.py:848 ../gui/wxpython/menustrings.py:1755
-msgid ""
-"Interpolates point data to a 3D raster map using regularized spline with "
-"tension (RST) algorithm."
-msgstr ""
-"Interpola datos de puntos a volumen de cuadrícula G3D usando una spline "
-"regularizada con el algoritmo de tensión (RST)."
+msgid "Interpolates point data to a 3D raster map using regularized spline with tension (RST) algorithm."
+msgstr "Interpola datos de puntos a volumen de cuadrícula G3D usando una spline regularizada con el algoritmo de tensión (RST)."
 
 #: ../gui/wxpython/menustrings.py:849 ../gui/wxpython/menustrings.py:1756
 #, fuzzy
@@ -13868,9 +12853,7 @@ msgstr "Metadatos básicos del raster."
 
 #: ../gui/wxpython/menustrings.py:851 ../gui/wxpython/menustrings.py:1758
 msgid "Outputs basic information about a user-specified 3D raster map layer."
-msgstr ""
-"Muestra información básica de una capa de mapa raster 3D especificada por el "
-"usuario."
+msgstr "Muestra información básica de una capa de mapa raster 3D especificada por el usuario."
 
 #: ../gui/wxpython/menustrings.py:852 ../gui/wxpython/menustrings.py:1759
 #, fuzzy
@@ -13888,11 +12871,7 @@ msgid "Univariate statistics for 3D rasters"
 msgstr "Estadísticas univariante para volúmenes"
 
 #: ../gui/wxpython/menustrings.py:855 ../gui/wxpython/menustrings.py:1762
-msgid ""
-"Calculates univariate statistics from the non-null cells of a 3D raster map. "
-"Statistics include number of cells counted, minimum and maximum cell values, "
-"range, arithmetic mean, population variance, standard deviation, coefficient "
-"of variation, and sum."
+msgid "Calculates univariate statistics from the non-null cells of a 3D raster map. Statistics include number of cells counted, minimum and maximum cell values, range, arithmetic mean, population variance, standard deviation, coefficient of variation, and sum."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:856 ../gui/wxpython/menustrings.py:1763
@@ -13957,9 +12936,7 @@ msgstr "Conectar."
 #: ../gui/wxpython/menustrings.py:870 ../gui/wxpython/menustrings.py:1777
 #, fuzzy
 msgid "Prints/sets general DB connection for current mapset."
-msgstr ""
-"Imprime / establece la conexión general a la base de datos para el "
-"directorio de mapas actual y termina."
+msgstr "Imprime / establece la conexión general a la base de datos para el directorio de mapas actual y termina."
 
 #: ../gui/wxpython/menustrings.py:871 ../gui/wxpython/menustrings.py:1778
 msgid "Login"
@@ -14004,12 +12981,8 @@ msgstr "Copiar tabla."
 
 #: ../gui/wxpython/menustrings.py:880 ../gui/wxpython/menustrings.py:1787
 #, fuzzy
-msgid ""
-"Copy a table. Either 'from_table' (optionally with 'where') can be used or "
-"'select' option, but not 'from_table' and 'select' at the same time."
-msgstr ""
-"Copiar una tabla. Se puede usar tanto la opción 'from_table' (opcionalmente "
-"con 'where') como 'select', pero no ambas al mismo tiempo."
+msgid "Copy a table. Either 'from_table' (optionally with 'where') can be used or 'select' option, but not 'from_table' and 'select' at the same time."
+msgstr "Copiar una tabla. Se puede usar tanto la opción 'from_table' (opcionalmente con 'where') como 'select', pero no ambas al mismo tiempo."
 
 #: ../gui/wxpython/menustrings.py:881 ../gui/wxpython/menustrings.py:901
 #: ../gui/wxpython/menustrings.py:1788 ../gui/wxpython/menustrings.py:1808
@@ -14027,9 +13000,7 @@ msgstr "Prueba."
 
 #: ../gui/wxpython/menustrings.py:884 ../gui/wxpython/menustrings.py:1791
 msgid "Test database driver, database must exist and set by db.connect."
-msgstr ""
-"Probar el controlador de base de datos. La base de datos debe existir y "
-"estar conectada mediante db. connect."
+msgstr "Probar el controlador de base de datos. La base de datos debe existir y estar conectada mediante db. connect."
 
 #: ../gui/wxpython/menustrings.py:885 ../gui/wxpython/menustrings.py:1792
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:105
@@ -14043,9 +13014,7 @@ msgstr "Consultar cualquier tabla."
 #: ../gui/wxpython/menustrings.py:887 ../gui/wxpython/menustrings.py:1794
 #, fuzzy
 msgid "Selects data from attribute table. Performs SQL query statement(s)."
-msgstr ""
-"Selecciona datos de una taula de atributos (realiza sentencia(s) de consulta "
-"SQL)."
+msgstr "Selecciona datos de una taula de atributos (realiza sentencia(s) de consulta SQL)."
 
 #: ../gui/wxpython/menustrings.py:890 ../gui/wxpython/menustrings.py:1797
 msgid "SQL statement"
@@ -14064,12 +13033,8 @@ msgid "New table"
 msgstr "Tabla Nueva."
 
 #: ../gui/wxpython/menustrings.py:894 ../gui/wxpython/menustrings.py:1801
-msgid ""
-"Creates and connects a new attribute table to a given layer of an existing "
-"vector map."
-msgstr ""
-"Crea y conecta una nueva tabla de atributos a una capa dada de un mapa "
-"vectorial existente. "
+msgid "Creates and connects a new attribute table to a given layer of an existing vector map."
+msgstr "Crea y conecta una nueva tabla de atributos a una capa dada de un mapa vectorial existente. "
 
 #: ../gui/wxpython/menustrings.py:895 ../gui/wxpython/menustrings.py:1802
 msgid "Remove table"
@@ -14093,19 +13058,12 @@ msgid "Add columns"
 msgstr "Añadir columnas."
 
 #: ../gui/wxpython/menustrings.py:900 ../gui/wxpython/menustrings.py:1807
-msgid ""
-"Adds one or more columns to the attribute table connected to a given vector "
-"map."
-msgstr ""
-"Añade una o más columnas a la tabla de atributos conectada a un mapa "
-"vectorial dado."
+msgid "Adds one or more columns to the attribute table connected to a given vector map."
+msgstr "Añade una o más columnas a la tabla de atributos conectada a un mapa vectorial dado."
 
 #: ../gui/wxpython/menustrings.py:902 ../gui/wxpython/menustrings.py:1809
-msgid ""
-"Drops a column from the attribute table connected to a given vector map."
-msgstr ""
-"Elimina una columna de la tabla de atributos conectada a un mapa vectorial "
-"dado."
+msgid "Drops a column from the attribute table connected to a given vector map."
+msgstr "Elimina una columna de la tabla de atributos conectada a un mapa vectorial dado."
 
 #: ../gui/wxpython/menustrings.py:903 ../gui/wxpython/menustrings.py:1810
 #: ../gui/wxpython/dbmgr/base.py:2139
@@ -14113,11 +13071,8 @@ msgid "Rename column"
 msgstr "Cambiar nombre de columna."
 
 #: ../gui/wxpython/menustrings.py:904 ../gui/wxpython/menustrings.py:1811
-msgid ""
-"Renames a column in the attribute table connected to a given vector map."
-msgstr ""
-"Cambia el nombre de una columna en la tabla de atributos conectada a un mapa "
-"vectorial dado."
+msgid "Renames a column in the attribute table connected to a given vector map."
+msgstr "Cambia el nombre de una columna en la tabla de atributos conectada a un mapa vectorial dado."
 
 #: ../gui/wxpython/menustrings.py:905 ../gui/wxpython/menustrings.py:1812
 msgid "Change values"
@@ -14126,9 +13081,7 @@ msgstr "Cambiar valores."
 #: ../gui/wxpython/menustrings.py:906 ../gui/wxpython/menustrings.py:1813
 #, fuzzy
 msgid "Updates a column in the attribute table connected to a vector map."
-msgstr ""
-"Permite actualizar una columna en la tabla de atributos conectada a un mapa "
-"vectorial."
+msgstr "Permite actualizar una columna en la tabla de atributos conectada a un mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:907 ../gui/wxpython/menustrings.py:1814
 msgid "Drop row"
@@ -14137,9 +13090,7 @@ msgstr "Eliminar fila"
 #: ../gui/wxpython/menustrings.py:908 ../gui/wxpython/menustrings.py:1815
 #, fuzzy
 msgid "Removes a vector feature from a vector map through attribute selection."
-msgstr ""
-"Establece las reglas de color para los objetos espaciales de un vectorial "
-"utilizando una columna de atributos numéricos."
+msgstr "Establece las reglas de color para los objetos espaciales de un vectorial utilizando una columna de atributos numéricos."
 
 #: ../gui/wxpython/menustrings.py:909 ../gui/wxpython/menustrings.py:1816
 msgid "Reconnect vectors to database"
@@ -14147,11 +13098,8 @@ msgstr "Volver a conectar vectoriales a la a base de datos."
 
 #: ../gui/wxpython/menustrings.py:910 ../gui/wxpython/menustrings.py:1817
 #, fuzzy
-msgid ""
-"Reconnects attribute tables for all vector maps from the current mapset to a "
-"new database."
-msgstr ""
-"Solo se permiten editar mapas vectoriales del actual directorio de mapas."
+msgid "Reconnects attribute tables for all vector maps from the current mapset to a new database."
+msgstr "Solo se permiten editar mapas vectoriales del actual directorio de mapas."
 
 #: ../gui/wxpython/menustrings.py:911 ../gui/wxpython/menustrings.py:1818
 msgid "Set vector map - database connection"
@@ -14159,9 +13107,7 @@ msgstr "Establecer Conexión entre mapas vectoriales y bases de datos."
 
 #: ../gui/wxpython/menustrings.py:912 ../gui/wxpython/menustrings.py:1819
 msgid "Prints/sets DB connection for a vector map to attribute table."
-msgstr ""
-"Imprime / establece la conexión a la base de datos desde un mapa vectorial "
-"hacia la tabla de atributos."
+msgstr "Imprime / establece la conexión a la base de datos desde un mapa vectorial hacia la tabla de atributos."
 
 #: ../gui/wxpython/menustrings.py:913 ../gui/wxpython/menustrings.py:1820
 #, fuzzy
@@ -14251,9 +13197,7 @@ msgid "Unregister maps from datasets"
 msgstr "Generar de la base de datos."
 
 #: ../gui/wxpython/menustrings.py:935 ../gui/wxpython/menustrings.py:1842
-msgid ""
-"Unregisters raster, vector and raster3d maps from the temporal database or a "
-"specific space time dataset."
+msgid "Unregisters raster, vector and raster3d maps from the temporal database or a specific space time dataset."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:936 ../gui/wxpython/menustrings.py:1843
@@ -14308,8 +13252,7 @@ msgstr "Importar datos vectoriales"
 
 #: ../gui/wxpython/menustrings.py:946 ../gui/wxpython/menustrings.py:1853
 #, fuzzy
-msgid ""
-"Imports a space time vector dataset from a GRASS GIS specific archive file."
+msgid "Imports a space time vector dataset from a GRASS GIS specific archive file."
 msgstr "Importar datos vectoriales"
 
 #: ../gui/wxpython/menustrings.py:948 ../gui/wxpython/menustrings.py:1855
@@ -14393,10 +13336,8 @@ msgstr "Consultar datos de objetos espaciales vectoriales."
 
 #: ../gui/wxpython/menustrings.py:964 ../gui/wxpython/menustrings.py:1871
 #, fuzzy
-msgid ""
-"Prints attributes of vector maps registered in a space time vector dataset."
-msgstr ""
-"Solo se permiten editar mapas vectoriales del actual directorio de mapas."
+msgid "Prints attributes of vector maps registered in a space time vector dataset."
+msgstr "Solo se permiten editar mapas vectoriales del actual directorio de mapas."
 
 #: ../gui/wxpython/menustrings.py:965 ../gui/wxpython/menustrings.py:1872
 #, fuzzy
@@ -14405,11 +13346,8 @@ msgstr "Establece la tabla de color."
 
 #: ../gui/wxpython/menustrings.py:966 ../gui/wxpython/menustrings.py:1873
 #, fuzzy
-msgid ""
-"Creates/modifies the color table associated with each raster map of the "
-"space time raster dataset."
-msgstr ""
-"Crea / modifica la tabla de colores asociada a una capa de mapa raster."
+msgid "Creates/modifies the color table associated with each raster map of the space time raster dataset."
+msgstr "Crea / modifica la tabla de colores asociada a una capa de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:967 ../gui/wxpython/menustrings.py:1874
 #, fuzzy
@@ -14418,9 +13356,7 @@ msgstr "Calculadora de mapas raster"
 
 #: ../gui/wxpython/menustrings.py:968 ../gui/wxpython/menustrings.py:1875
 #, fuzzy
-msgid ""
-"Performs spatio-temporal mapcalc expressions on temporally sampled maps of "
-"space time raster datasets."
+msgid "Performs spatio-temporal mapcalc expressions on temporally sampled maps of space time raster datasets."
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/menustrings.py:969 ../gui/wxpython/menustrings.py:1876
@@ -14430,9 +13366,7 @@ msgstr "Calculadora de mapas raster"
 
 #: ../gui/wxpython/menustrings.py:970 ../gui/wxpython/menustrings.py:1877
 #, fuzzy
-msgid ""
-"Performs r3.mapcalc expressions on maps of sampled space time 3D raster "
-"datasets."
+msgid "Performs r3.mapcalc expressions on maps of sampled space time 3D raster datasets."
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/menustrings.py:971 ../gui/wxpython/menustrings.py:1878
@@ -14442,8 +13376,7 @@ msgstr "Importar datos raster"
 
 #: ../gui/wxpython/menustrings.py:972 ../gui/wxpython/menustrings.py:1879
 #, fuzzy
-msgid ""
-"Replaces gaps in a space time raster dataset with interpolated raster maps."
+msgid "Replaces gaps in a space time raster dataset with interpolated raster maps."
 msgstr "Convierte (rasteriza) un mapa vectorial a un mapa raster. "
 
 #: ../gui/wxpython/menustrings.py:973 ../gui/wxpython/menustrings.py:1880
@@ -14457,8 +13390,7 @@ msgid "Neighborhood analysis in raster dataset"
 msgstr "Análisis del vecino más próximo."
 
 #: ../gui/wxpython/menustrings.py:975 ../gui/wxpython/menustrings.py:1882
-msgid ""
-"Performs a neighborhood analysis for each map in a space time raster dataset."
+msgid "Performs a neighborhood analysis for each map in a space time raster dataset."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:976 ../gui/wxpython/menustrings.py:1883
@@ -14467,9 +13399,7 @@ msgid "Aggregation in raster datasets"
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/menustrings.py:977 ../gui/wxpython/menustrings.py:1884
-msgid ""
-"Performs different aggregation algorithms from r.series on all or a subset "
-"of raster maps in a space time raster dataset."
+msgid "Performs different aggregation algorithms from r.series on all or a subset of raster maps in a space time raster dataset."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:978 ../gui/wxpython/menustrings.py:1885
@@ -14479,9 +13409,7 @@ msgstr "Modo de categoría."
 
 #: ../gui/wxpython/menustrings.py:979 ../gui/wxpython/menustrings.py:1886
 #, fuzzy
-msgid ""
-"Aggregates temporally the maps of a space time raster dataset by a user "
-"defined granularity."
+msgid "Aggregates temporally the maps of a space time raster dataset by a user defined granularity."
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/menustrings.py:980 ../gui/wxpython/menustrings.py:1887
@@ -14489,9 +13417,7 @@ msgid "Temporal aggregation by dataset"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:981 ../gui/wxpython/menustrings.py:1888
-msgid ""
-"Aggregates data of an existing space time raster dataset using the time "
-"intervals of a second space time dataset."
+msgid "Aggregates data of an existing space time raster dataset using the time intervals of a second space time dataset."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:982 ../gui/wxpython/menustrings.py:1889
@@ -14505,9 +13431,7 @@ msgid "Temporal sampling"
 msgstr "Modo de categoría."
 
 #: ../gui/wxpython/menustrings.py:984 ../gui/wxpython/menustrings.py:1891
-msgid ""
-"Samples the input space time dataset(s) with a sample space time dataset and "
-"print the result to stdout."
+msgid "Samples the input space time dataset(s) with a sample space time dataset and print the result to stdout."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:985 ../gui/wxpython/menustrings.py:1892
@@ -14517,20 +13441,15 @@ msgstr "Muestrear un mapa raster en localizaciones de puntos vectoriales."
 
 #: ../gui/wxpython/menustrings.py:986 ../gui/wxpython/menustrings.py:1893
 #, fuzzy
-msgid ""
-"Stores raster map values at spatial and temporal positions of vector points "
-"as vector attributes."
-msgstr ""
-"Carga valores raster en las posiciones de puntos vectoriales a la tabla."
+msgid "Stores raster map values at spatial and temporal positions of vector points as vector attributes."
+msgstr "Carga valores raster en las posiciones de puntos vectoriales a la tabla."
 
 #: ../gui/wxpython/menustrings.py:987 ../gui/wxpython/menustrings.py:1894
 msgid "Observe specific locations in raster dataset"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:988 ../gui/wxpython/menustrings.py:1895
-msgid ""
-"Observes specific locations in a space time raster dataset over a period of "
-"time using vector points."
+msgid "Observes specific locations in a space time raster dataset over a period of time using vector points."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:990 ../gui/wxpython/menustrings.py:1897
@@ -14550,12 +13469,8 @@ msgstr "Estadísticas univariantes de raster."
 
 #: ../gui/wxpython/menustrings.py:993 ../gui/wxpython/menustrings.py:1900
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from the non-null cells for each registered "
-"raster map of a space time raster dataset."
-msgstr ""
-"Calcula estadísticas univariantes a partir de celdas no nulas de un mapa "
-"raster."
+msgid "Calculates univariate statistics from the non-null cells for each registered raster map of a space time raster dataset."
+msgstr "Calcula estadísticas univariantes a partir de celdas no nulas de un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:994 ../gui/wxpython/menustrings.py:1901
 #, fuzzy
@@ -14564,12 +13479,8 @@ msgstr "Estadísticas univariantes de raster."
 
 #: ../gui/wxpython/menustrings.py:995 ../gui/wxpython/menustrings.py:1902
 #, fuzzy
-msgid ""
-"Calculates univariate statistics of attributes for each registered vector "
-"map of a space time vector dataset"
-msgstr ""
-"Calcula estadísticas univariante de la columna de la tabla seleccionada para "
-"un mapa vectorial GRASS."
+msgid "Calculates univariate statistics of attributes for each registered vector map of a space time vector dataset"
+msgstr "Calcula estadísticas univariante de la columna de la tabla seleccionada para un mapa vectorial GRASS."
 
 #: ../gui/wxpython/menustrings.py:996 ../gui/wxpython/menustrings.py:1903
 #, fuzzy
@@ -14578,12 +13489,8 @@ msgstr "Estadísticas univariantes de raster."
 
 #: ../gui/wxpython/menustrings.py:997 ../gui/wxpython/menustrings.py:1904
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from the non-null cells for each registered "
-"3D raster map of a space time 3D raster dataset."
-msgstr ""
-"Calcula estadísticas univariantes a partir de celdas no nulas de un mapa "
-"raster."
+msgid "Calculates univariate statistics from the non-null cells for each registered 3D raster map of a space time 3D raster dataset."
+msgstr "Calcula estadísticas univariantes a partir de celdas no nulas de un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:998 ../gui/wxpython/menustrings.py:1905
 #, fuzzy
@@ -14886,9 +13793,7 @@ msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
 #: ../gui/wxpython/tplot/g.gui.tplot.py:106
-msgid ""
-"With stvds it is not possible to use 'coordinates' and 'cats' options "
-"together"
+msgid "With stvds it is not possible to use 'coordinates' and 'cats' options together"
 msgstr ""
 
 #: ../gui/wxpython/tplot/g.gui.tplot.py:109
@@ -14896,9 +13801,7 @@ msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:42
-msgid ""
-"The Temporal Plot Tool needs the \"matplotlib\" (python-matplotlib) package "
-"to be installed."
+msgid "The Temporal Plot Tool needs the \"matplotlib\" (python-matplotlib) package to be installed."
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:95
@@ -14916,8 +13819,7 @@ msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:193
-msgid ""
-"Coordinates can be obtained for example by right-clicking on Map Display."
+msgid "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:208
@@ -14948,9 +13850,7 @@ msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:385
-msgid ""
-"Both coordinates and categories are set, coordinates will be used. The use "
-"categories remove text from coordinate form"
+msgid "Both coordinates and categories are set, coordinates will be used. The use categories remove text from coordinate form"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:390
@@ -14958,8 +13858,7 @@ msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:440
-msgid ""
-"Difference number of vector layers and maps in the vector temporal dataset"
+msgid "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:478
@@ -14969,8 +13868,7 @@ msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
 #: ../gui/wxpython/tplot/frame.py:625
-msgid ""
-"Problem getting data from raster temporal dataset. Empty list of values."
+msgid "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
@@ -14981,7 +13879,7 @@ msgstr "Modo de categoría."
 
 #: ../gui/wxpython/tplot/frame.py:671
 msgid "Incorrect coordinates format, should be: x,y"
-msgstr ""
+msgstr "Formato de coordenadas incorrecto, debería ser: x,y"
 
 #: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
 #: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
@@ -15011,19 +13909,18 @@ msgstr ""
 #: ../gui/wxpython/tplot/frame.py:888
 #, python-brace-format
 msgid "Value for {date} is {val}"
-msgstr ""
+msgstr "Valor para {date} es {val}"
 
 #: ../gui/wxpython/tplot/frame.py:891
 msgid "Press Del to dismiss."
-msgstr ""
+msgstr "Presionar Del para desechar"
 
 #: ../gui/wxpython/dbmgr/dialogs.py:74
 #, python-format
 msgid ""
 "No attribute table found.\n"
 "\n"
-"Do you want to create a new attribute table and defined a link to vector map "
-"<%s>?"
+"Do you want to create a new attribute table and defined a link to vector map <%s>?"
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/dialogs.py:77
@@ -15077,8 +13974,7 @@ msgstr "Longitud:"
 
 #: ../gui/wxpython/dbmgr/vinfo.py:101
 #, python-brace-format
-msgid ""
-"Failed to query vector map <{map}>. Check database settings and topology."
+msgid "Failed to query vector map <{map}>. Check database settings and topology."
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:93 ../gui/wxpython/dbmgr/base.py:2065
@@ -15121,7 +14017,7 @@ msgstr "Obtener una muestra."
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:215
 msgid "Get first 256 unique values as sample"
-msgstr ""
+msgstr "Obtener los primeros 256 valores únicos como muestra"
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:231
 #, fuzzy
@@ -15151,7 +14047,7 @@ msgstr ""
 #: ../gui/wxpython/dbmgr/base.py:1121
 #, python-format
 msgid "Example: %s"
-msgstr ""
+msgstr "Ejemplo: %s"
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:420
 msgid "Verify"
@@ -15209,7 +14105,7 @@ msgstr "La instrucción SQL es válida."
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:671
 msgid "Dbf driver does not support usage of SQL functions."
-msgstr ""
+msgstr "El controlador Dbf no soporta el uso de funciones de SQL."
 
 #: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
 #, fuzzy, python-format
@@ -15230,17 +14126,12 @@ msgstr "Manejador de atributos de tabla SIG Grass."
 
 #: ../gui/wxpython/dbmgr/manager.py:72
 msgid "READONLY - "
-msgstr ""
+msgstr "SOLO LECTURA-"
 
 #: ../gui/wxpython/dbmgr/manager.py:85
 #, python-format
-msgid ""
-"Database connection for vector map <%s> is not defined in DB file. You can "
-"define new connection in 'Manage layers' tab."
-msgstr ""
-"No se ha definido en el archivo DB, la conexión a la base de datos para el "
-"mapa vectorial <%s>. Puede definir una nueva conexión en la pestaña "
-"\"Administración de capas\"."
+msgid "Database connection for vector map <%s> is not defined in DB file. You can define new connection in 'Manage layers' tab."
+msgstr "No se ha definido en el archivo DB, la conexión a la base de datos para el mapa vectorial <%s>. Puede definir una nueva conexión en la pestaña \"Administración de capas\"."
 
 #: ../gui/wxpython/dbmgr/manager.py:90
 msgid "Please wait, loading attribute data..."
@@ -15270,9 +14161,7 @@ msgstr "Borrar el directorio de mapas de usuario seleccionado (mapset)."
 #: ../gui/wxpython/dbmgr/manager.py:125
 #, fuzzy
 msgid "Reload all attribute data (drop current selection)"
-msgstr ""
-"Volver a cargar los datos del atributo (únicamente para las capas "
-"seleccionadas)."
+msgstr "Volver a cargar los datos del atributo (únicamente para las capas seleccionadas)."
 
 #: ../gui/wxpython/dbmgr/manager.py:198 ../gui/wxpython/dbmgr/base.py:291
 #: ../gui/wxpython/dbmgr/base.py:837 ../gui/wxpython/dbmgr/base.py:996
@@ -15283,12 +14172,8 @@ msgstr "Número de registros cargados: %d."
 
 #: ../gui/wxpython/dbmgr/base.py:154
 #, python-format
-msgid ""
-"Attribute table <%s> not found. For creating the table switch to 'Manage "
-"layers' tab."
-msgstr ""
-"Tabla de atributos <% s> no ha sido encontrada. Para crear la tabla cambie a "
-"la pestaña \"Administrar capas\"."
+msgid "Attribute table <%s> not found. For creating the table switch to 'Manage layers' tab."
+msgstr "Tabla de atributos <% s> no ha sido encontrada. Para crear la tabla cambie a la pestaña \"Administrar capas\"."
 
 #: ../gui/wxpython/dbmgr/base.py:165
 #, python-format
@@ -15315,21 +14200,16 @@ msgstr "Valor desconocido."
 
 #: ../gui/wxpython/dbmgr/base.py:321
 msgid "Unable to decode value. Set encoding in GUI preferences ('Attributes')."
-msgstr ""
-"No se puede decodificar el valor. Determine la codificación en las "
-"preferencias ( 'Atributos') de la interfaz gráfica de usuario GUI."
+msgstr "No se puede decodificar el valor. Determine la codificación en las preferencias ( 'Atributos') de la interfaz gráfica de usuario GUI."
 
 #: ../gui/wxpython/dbmgr/base.py:330
 #, python-format
 msgid ""
-"Error loading attribute data. Record number: %(rec)d. Unable to convert "
-"value '%(val)s' in key column (%(key)s) to integer.\n"
+"Error loading attribute data. Record number: %(rec)d. Unable to convert value '%(val)s' in key column (%(key)s) to integer.\n"
 "\n"
 "Details: %(detail)s"
 msgstr ""
-"Error al cargar los datos del atributo. en el registro número: %(rec)d. "
-"Incapaz de convertir a entero el valor '%(val)s' en la columna clave "
-"(%(key)s).\n"
+"Error al cargar los datos del atributo. en el registro número: %(rec)d. Incapaz de convertir a entero el valor '%(val)s' en la columna clave (%(key)s).\n"
 "\n"
 "Detalles: %(detail)s"
 
@@ -15399,9 +14279,7 @@ msgstr "Añadir columnas."
 
 #: ../gui/wxpython/dbmgr/base.py:937
 msgid "Unable to add column to the table. No column name defined."
-msgstr ""
-"No es posible añadir la columna a la tabla. No se ha definido el nombre de "
-"la columna."
+msgstr "No es posible añadir la columna a la tabla. No se ha definido el nombre de la columna."
 
 #: ../gui/wxpython/dbmgr/base.py:950
 #, python-format
@@ -15410,9 +14288,7 @@ msgstr "La columna <%(column)s> ya existe en la tabla <%(table)s>."
 
 #: ../gui/wxpython/dbmgr/base.py:1026
 msgid "Attribute data - right-click to edit/manage records"
-msgstr ""
-"Datos del atributo - haga click derecho para editar / administrar los "
-"registros."
+msgstr "Datos del atributo - haga click derecho para editar / administrar los registros."
 
 #: ../gui/wxpython/dbmgr/base.py:1041 ../gui/wxpython/dbmgr/base.py:2049
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2773
@@ -15422,7 +14298,7 @@ msgstr "Tabla."
 
 #: ../gui/wxpython/dbmgr/base.py:1043 ../gui/wxpython/dbmgr/base.py:2051
 msgid " (readonly)"
-msgstr ""
+msgstr "(solo lectura)"
 
 #: ../gui/wxpython/dbmgr/base.py:1057
 msgid "SQL Query"
@@ -15476,8 +14352,7 @@ msgstr "Resaltar los objeto(s) espacial(es) seleccionados."
 
 #: ../gui/wxpython/dbmgr/base.py:1281
 msgid "Highlight selected features and zoom"
-msgstr ""
-"Resaltar el(los) objeto(s) espacial(es) seleccionados y acercar (zoom)."
+msgstr "Resaltar el(los) objeto(s) espacial(es) seleccionados y acercar (zoom)."
 
 #: ../gui/wxpython/dbmgr/base.py:1285 ../gui/wxpython/dbmgr/base.py:1765
 msgid "Extract selected features"
@@ -15522,12 +14397,8 @@ msgstr "No es posible insertar un nuevo registro."
 
 #: ../gui/wxpython/dbmgr/base.py:1540
 #, python-format
-msgid ""
-"Selected data records (%d) will be permanently deleted from table. Do you "
-"want to delete them?"
-msgstr ""
-"Los registros seleccionados (%d) serán borrados permanentemente de la tabla. "
-"¿Desea eliminarlos?"
+msgid "Selected data records (%d) will be permanently deleted from table. Do you want to delete them?"
+msgstr "Los registros seleccionados (%d) serán borrados permanentemente de la tabla. ¿Desea eliminarlos?"
 
 #: ../gui/wxpython/dbmgr/base.py:1543 ../gui/wxpython/dbmgr/base.py:1589
 msgid "Delete records"
@@ -15535,12 +14406,8 @@ msgstr "Borrar todos los registros."
 
 #: ../gui/wxpython/dbmgr/base.py:1586
 #, python-format
-msgid ""
-"All data records (%d) will be permanently deleted from table. Do you want to "
-"delete them?"
-msgstr ""
-"Todos los registros (%d) serán borrados de la tabla permanentemente. ¿Desea "
-"eliminarlos?"
+msgid "All data records (%d) will be permanently deleted from table. Do you want to delete them?"
+msgstr "Todos los registros (%d) serán borrados de la tabla permanentemente. ¿Desea eliminarlos?"
 
 #: ../gui/wxpython/dbmgr/base.py:1761
 msgid "Nothing to extract."
@@ -15581,26 +14448,17 @@ msgstr "Tabla <%s> - haga clic derecho para eliminar la(s) columnas."
 
 #: ../gui/wxpython/dbmgr/base.py:2259
 msgid "Unable to rename column. No column name defined."
-msgstr ""
-"No es posible renombrar la columna. No se ha definido un nombre de columna."
+msgstr "No es posible renombrar la columna. No se ha definido un nombre de columna."
 
 #: ../gui/wxpython/dbmgr/base.py:2267
 #, python-format
-msgid ""
-"Unable to rename column <%(column)s> to <%(columnTo)s>. Column already "
-"exists in the table <%(table)s>."
-msgstr ""
-"No es posible renombrar la columna  <%(column)s> como <%(columnTo)s>. por "
-"que la columna ya existe en la tabla <%(table)s>."
+msgid "Unable to rename column <%(column)s> to <%(columnTo)s>. Column already exists in the table <%(table)s>."
+msgstr "No es posible renombrar la columna  <%(column)s> como <%(columnTo)s>. por que la columna ya existe en la tabla <%(table)s>."
 
 #: ../gui/wxpython/dbmgr/base.py:2283
 #, python-format
-msgid ""
-"Unable to rename column. Column <%(column)s> doesn't exist in the table <"
-"%(table)s>."
-msgstr ""
-"No es posible renombrar la columna  <%(column)s> , por que la columna no "
-"existe en la tabla <%(table)s>."
+msgid "Unable to rename column. Column <%(column)s> doesn't exist in the table <%(table)s>."
+msgstr "No es posible renombrar la columna  <%(column)s> , por que la columna no existe en la tabla <%(table)s>."
 
 #: ../gui/wxpython/dbmgr/base.py:2310
 msgid "Drop selected column"
@@ -15612,12 +14470,8 @@ msgstr "columnas"
 
 #: ../gui/wxpython/dbmgr/base.py:2342
 #, fuzzy, python-format
-msgid ""
-"Selected %s will PERMANENTLY removed from table. Do you want to drop the "
-"column?"
-msgstr ""
-"La columna seleccionada '%s' sera eliminada PERMANENTEMENTE de la tabla. "
-"Quiere eliminarla?"
+msgid "Selected %s will PERMANENTLY removed from table. Do you want to drop the column?"
+msgstr "La columna seleccionada '%s' sera eliminada PERMANENTEMENTE de la tabla. Quiere eliminarla?"
 
 #: ../gui/wxpython/dbmgr/base.py:2345 ../gui/wxpython/dbmgr/base.py:2382
 msgid "Drop column(s)"
@@ -15729,30 +14583,21 @@ msgid ""
 "Please use db.connect to set database parameters."
 msgstr ""
 "No es posible obtener una lista de las tablas.\n"
-"Por favor utilice db.connect para establecer los parámetros de la conexión a "
-"la base de datos."
+"Por favor utilice db.connect para establecer los parámetros de la conexión a la base de datos."
 
 #: ../gui/wxpython/dbmgr/base.py:3220
 msgid "Unable to create new table. Table name or key column name is missing."
-msgstr ""
-"No ha sido posible crear la nueva tabla. Faltan el nombre de la tabla o el "
-"nombre de la columna clave."
+msgstr "No ha sido posible crear la nueva tabla. Faltan el nombre de la tabla o el nombre de la columna clave."
 
 #: ../gui/wxpython/dbmgr/base.py:3226
 #, python-format
 msgid "Unable to create new table. Table <%s> already exists in the database."
-msgstr ""
-"No ha sido posible crear la nueva tabla <%s> por que esta ya existe en la "
-"base de datos."
+msgstr "No ha sido posible crear la nueva tabla <%s> por que esta ya existe en la base de datos."
 
 #: ../gui/wxpython/dbmgr/base.py:3264
 #, python-format
-msgid ""
-"Unable to add new layer to vector map <%(vector)s>. Layer %(layer)d already "
-"exists."
-msgstr ""
-"No ha sido posible añadir la nueva capa al mapa vectorial <%(vector)s>. la "
-"capa %(layer)d ya existe."
+msgid "Unable to add new layer to vector map <%(vector)s>. Layer %(layer)d already exists."
+msgstr "No ha sido posible añadir la nueva capa al mapa vectorial <%(vector)s>. la capa %(layer)d ya existe."
 
 #: ../gui/wxpython/dbmgr/base.py:3429
 #, fuzzy
@@ -15775,8 +14620,7 @@ msgstr "No es posible guardar configuraciones"
 
 #: ../gui/wxpython/dbmgr/base.py:3534
 #, python-format
-msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+msgid "Unable to calculte statistics. Invalid number of lines %d (should be %d)."
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/base.py:3552
@@ -15820,9 +14664,7 @@ msgstr "Exportar tabla de colores"
 #: ../gui/wxpython/modules/colorrules.py:407
 #, fuzzy
 msgid "Choose file to load color table"
-msgstr ""
-"Seleccione el archivo que contiene los parámetros de configuración del "
-"espacio de trabajo (.GRC) a cargar."
+msgstr "Seleccione el archivo que contiene los parámetros de configuración del espacio de trabajo (.GRC) a cargar."
 
 #: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
@@ -15901,14 +14743,11 @@ msgstr "Escala o centro del mapa incorrectos!"
 #: ../gui/wxpython/modules/colorrules.py:729
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
-msgstr ""
-"Valor de la regla no correcto '%s'. No es posible aplicar la tabla de "
-"colores."
+msgstr "Valor de la regla no correcto '%s'. No es posible aplicar la tabla de colores."
 
 #: ../gui/wxpython/modules/colorrules.py:807
 msgid "Create new color table for raster map"
-msgstr ""
-"Crear nueva tabla de colores para el mapa raster usando reglas de color."
+msgstr "Crear nueva tabla de colores para el mapa raster usando reglas de color."
 
 #: ../gui/wxpython/modules/colorrules.py:883
 msgid "Enter raster category values or percents"
@@ -15921,22 +14760,18 @@ msgstr "intervalo fp"
 #: ../gui/wxpython/modules/colorrules.py:890
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
-msgstr ""
-"Entrar valores de categoría raster o porcentajes (%(range)s = %(min)d-"
-"%(max)d)"
+msgstr "Entrar valores de categoría raster o porcentajes (%(range)s = %(min)d-%(max)d)"
 
 #: ../gui/wxpython/modules/colorrules.py:978
 #, fuzzy
 msgid "Create new color rules for vector map"
-msgstr ""
-"Crear nueva tabla de colores para el mapa de vectores usando reglas de color."
+msgstr "Crear nueva tabla de colores para el mapa de vectores usando reglas de color."
 
 #: ../gui/wxpython/modules/colorrules.py:990
 #: ../gui/wxpython/modules/colorrules.py:1521
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
-msgstr ""
-"Ingrese valores o rangos para los atributos vectoriales (n or n1 to n2)."
+msgstr "Ingrese valores o rangos para los atributos vectoriales (n or n1 to n2)."
 
 #: ../gui/wxpython/modules/colorrules.py:992
 #: ../gui/wxpython/modules/colorrules.py:1523
@@ -16003,13 +14838,8 @@ msgstr "Exportar tabla de colores"
 
 #: ../gui/wxpython/modules/colorrules.py:1149
 #, fuzzy, python-format
-msgid ""
-"Database connection for vector map <%s> is not defined in DB file.  Do you "
-"want to create and connect new attribute table?"
-msgstr ""
-"No se ha definido en el archivo DB, la conexión a la base de datos para el "
-"mapa vectorial <%s>. Puede definir una nueva conexión en la pestaña "
-"\"Administración de capas\"."
+msgid "Database connection for vector map <%s> is not defined in DB file.  Do you want to create and connect new attribute table?"
+msgstr "No se ha definido en el archivo DB, la conexión a la base de datos para el mapa vectorial <%s>. Puede definir una nueva conexión en la pestaña \"Administración de capas\"."
 
 #: ../gui/wxpython/modules/colorrules.py:1152
 #, fuzzy
@@ -16018,9 +14848,7 @@ msgstr "Conexiones entre vectoriales y bases de datos."
 
 #: ../gui/wxpython/modules/colorrules.py:1224
 #, python-format
-msgid ""
-"Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
-"table cannot be edited."
+msgid "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute table cannot be edited."
 msgstr ""
 
 #: ../gui/wxpython/modules/colorrules.py:1377
@@ -16035,9 +14863,7 @@ msgstr "Por favor espere, cargando datos del atributo."
 
 #: ../gui/wxpython/modules/colorrules.py:1470
 #, python-format
-msgid ""
-"Number of loaded records reached %d, displaying all the records will be time-"
-"consuming and may lead to computer freezing, do you still want to continue?"
+msgid "Number of loaded records reached %d, displaying all the records will be time-consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
 #: ../gui/wxpython/modules/colorrules.py:1474
@@ -16047,14 +14873,12 @@ msgstr "Demasiados registros"
 #: ../gui/wxpython/modules/colorrules.py:1516
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
-msgstr ""
-"Ingrese valores o rangos para los atributos vectoriales (n or n1 to n2)."
+msgstr "Ingrese valores o rangos para los atributos vectoriales (n or n1 to n2)."
 
 #: ../gui/wxpython/modules/colorrules.py:1518
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
-msgstr ""
-"Ingrese valores o rangos para los atributos vectoriales (n or n1 to n2)."
+msgstr "Ingrese valores o rangos para los atributos vectoriales (n or n1 to n2)."
 
 #: ../gui/wxpython/modules/colorrules.py:1660
 #, fuzzy
@@ -16288,7 +15112,7 @@ msgstr "Nombre para el nuevo mapa vectorial:"
 #: ../gui/wxpython/modules/vclean.py:455
 #: ../gui/wxpython/mapswipe/toolbars.py:26
 msgid "Tools"
-msgstr ""
+msgstr "Herramientas"
 
 #: ../gui/wxpython/modules/vclean.py:456
 #, fuzzy
@@ -16543,9 +15367,7 @@ msgstr "&Buscar"
 
 #: ../gui/wxpython/modules/extensions.py:96
 msgid "Fetch list of available modules from GRASS Addons SVN repository"
-msgstr ""
-"Buscar lista de módulos disponibles en los complementos del repositorio SVN "
-"de GRASS"
+msgstr "Buscar lista de módulos disponibles en los complementos del repositorio SVN de GRASS"
 
 #: ../gui/wxpython/modules/extensions.py:100
 msgid "&Install"
@@ -16557,7 +15379,7 @@ msgstr "Instalar los complementos seleccionados en el módulo de GRASS"
 
 #: ../gui/wxpython/modules/extensions.py:104
 msgid "Show g.extension manual page"
-msgstr ""
+msgstr "Mostrar página de manual de g.extension"
 
 #: ../gui/wxpython/modules/extensions.py:168
 #, fuzzy
@@ -16566,8 +15388,7 @@ msgstr "Condición: no definida"
 
 #: ../gui/wxpython/modules/extensions.py:191
 msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
-msgstr ""
-"Obteniendo lista de módulos de complementos SVN de GRASS (sea paciente)..."
+msgstr "Obteniendo lista de módulos de complementos SVN de GRASS (sea paciente)..."
 
 #: ../gui/wxpython/modules/extensions.py:213
 #, fuzzy
@@ -16675,7 +15496,7 @@ msgstr "Volver al modo de vista 2D"
 
 #: ../gui/wxpython/mapswipe/dialogs.py:157
 msgid "Cancel"
-msgstr ""
+msgstr "Cancelar"
 
 #: ../gui/wxpython/mapswipe/dialogs.py:161
 #, fuzzy
@@ -16724,7 +15545,7 @@ msgstr "No se ha encontrado el mapa <%s> ."
 
 #: ../gui/wxpython/mapswipe/toolbars.py:27
 msgid "Quit Map Swipe"
-msgstr ""
+msgstr "Quitar Map Swipe"
 
 #: ../gui/wxpython/mapswipe/toolbars.py:111
 #, fuzzy
@@ -16766,12 +15587,12 @@ msgstr "Seleccionar grupo:"
 
 #: ../gui/wxpython/iclass/dialogs.py:171
 msgid "Please choose a subgroup."
-msgstr ""
+msgstr "Por favor seleccione un subgrupo."
 
 #: ../gui/wxpython/iclass/dialogs.py:174
 #, python-format
 msgid "Subgroup <%s> not found in group <%s>"
-msgstr ""
+msgstr "El subgrupo <%s> no fue encontrado en el grupo <%s>"
 
 #: ../gui/wxpython/iclass/dialogs.py:180
 #, fuzzy, python-format
@@ -16816,8 +15637,7 @@ msgstr "Guardar expresión a archivo"
 #: ../gui/wxpython/iclass/dialogs.py:615
 #, fuzzy
 msgid "Enter name of signature file:"
-msgstr ""
-"Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
+msgstr "Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
 
 #: ../gui/wxpython/iclass/dialogs.py:624
 #, fuzzy
@@ -16850,9 +15670,7 @@ msgid "Vector <%s> exists"
 msgstr "Mapa vectorial <%s> añadido"
 
 #: ../gui/wxpython/iclass/digit.py:57
-msgid ""
-"You are trying to create a training area outside the computational region. "
-"Please, use g.region to set the appropriate region first."
+msgid "You are trying to create a training area outside the computational region. Please, use g.region to set the appropriate region first."
 msgstr ""
 
 #: ../gui/wxpython/iclass/digit.py:66
@@ -16897,7 +15715,7 @@ msgstr "Histograma."
 
 #: ../gui/wxpython/iclass/plots.py:67
 msgid "Coincident plots"
-msgstr ""
+msgstr "Gráficas de coincidencia"
 
 #: ../gui/wxpython/iclass/plots.py:68
 #, fuzzy
@@ -16945,7 +15763,7 @@ msgstr "Error de Digitalización"
 
 #: ../gui/wxpython/iclass/frame.py:359
 msgid "Plots"
-msgstr ""
+msgstr "Gráficas"
 
 #: ../gui/wxpython/iclass/frame.py:379
 #, fuzzy
@@ -17037,7 +15855,7 @@ msgstr "Analizar."
 
 #: ../gui/wxpython/iclass/frame.py:983
 msgid "results"
-msgstr ""
+msgstr "resultados"
 
 #: ../gui/wxpython/iclass/frame.py:989
 #, fuzzy
@@ -17045,9 +15863,7 @@ msgid "No imagery group selected."
 msgstr "No se ha seleccionado alguna capa de mapas."
 
 #: ../gui/wxpython/iclass/frame.py:994
-msgid ""
-"Due to recent changes in classes, signatures can be outdated and should be "
-"recalculated. Do you still want to continue?"
+msgid "Due to recent changes in classes, signatures can be outdated and should be recalculated. Do you still want to continue?"
 msgstr ""
 
 #: ../gui/wxpython/iclass/frame.py:997
@@ -17068,9 +15884,7 @@ msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
 
 #: ../gui/wxpython/iclass/frame.py:1070
 #, fuzzy, python-format
-msgid ""
-"Group <%(group)s> does not have enough files (it has %(files)d files). "
-"Operation canceled."
+msgid "Group <%(group)s> does not have enough files (it has %(files)d files). Operation canceled."
 msgstr "La lectura del elemento id %d falló. Operación cancelada."
 
 #: ../gui/wxpython/iclass/frame.py:1079
@@ -17084,13 +15898,12 @@ msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "El elemento id %d está marcado como fallecido. Operación cancelada."
 
 #: ../gui/wxpython/iclass/toolbars.py:33
-#, fuzzy
 msgid "Set opacity level"
-msgstr "Cambiar el nivel de opacidad."
+msgstr "Definir el nivel de opacidad."
 
 #: ../gui/wxpython/iclass/toolbars.py:39
 msgid "Run analysis, update histogram and coincidence plots"
-msgstr ""
+msgstr "Correr el análisis, actualizar el histograma y las gráficas de coincidencia"
 
 #: ../gui/wxpython/iclass/toolbars.py:41
 #, fuzzy
@@ -17113,18 +15926,16 @@ msgid "Import training areas from vector map"
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/iclass/toolbars.py:66
-#, fuzzy
 msgid "Training"
-msgstr "Aviso"
+msgstr "Entrenamiento"
 
 #: ../gui/wxpython/iclass/toolbars.py:70
 msgid "Set map canvas for "
 msgstr "Establecer lienzo del mapa para"
 
 #: ../gui/wxpython/iclass/toolbars.py:72
-#, fuzzy
 msgid "/ Zoom to map"
-msgstr " / Zoom al mapa"
+msgstr " / Acercar al mapa"
 
 #: ../gui/wxpython/iclass/toolbars.py:244
 #: ../gui/wxpython/iclass/toolbars.py:249
@@ -17197,9 +16008,7 @@ msgstr "Debe seleccionar una locación válida antes que un directorio de mapas.
 
 #: ../gui/wxpython/gcp/manager.py:412
 msgid "You must select a valid location and mapset in order to continue"
-msgstr ""
-"Debe seleccionar una locación y un directorio de mapas válidos para "
-"continuar."
+msgstr "Debe seleccionar una locación y un directorio de mapas válidos para continuar."
 
 #: ../gui/wxpython/gcp/manager.py:431
 msgid "Select image/map group to georectify"
@@ -17231,9 +16040,7 @@ msgstr "Debe introducir una extensión del nombre del mapa para continuar."
 
 #: ../gui/wxpython/gcp/manager.py:610
 msgid "Select maps to display for ground control point (GCP) creation"
-msgstr ""
-"Seleccionar mapas a visualizar para crear los puntos de control sobre el "
-"terreno (GCP)"
+msgstr "Seleccionar mapas a visualizar para crear los puntos de control sobre el terreno (GCP)"
 
 #: ../gui/wxpython/gcp/manager.py:618 ../gui/wxpython/gcp/manager.py:2602
 msgid "Select source map to display:"
@@ -17320,14 +16127,12 @@ msgstr "Falló la lectura del archivo de PUNTOS."
 #: ../gui/wxpython/gcp/manager.py:1382
 #, fuzzy, python-format
 msgid ""
-"Insufficient points defined and active (checked) for selected rectification "
-"method (order: %d).\n"
+"Insufficient points defined and active (checked) for selected rectification method (order: %d).\n"
 "3+ points needed for 1st order,\n"
 "6+ points for 2nd order, and\n"
 "10+ points for 3rd order."
 msgstr ""
-"Los puntos definidos y activos (marcados) son insuficientes para aplicar el "
-"método de rectificación seleccionado.\n"
+"Los puntos definidos y activos (marcados) son insuficientes para aplicar el método de rectificación seleccionado.\n"
 "Se necesitan 3 o mas puntos para ejecutar la rectificación de primer orden,\n"
 "6 o mas puntos para la rectificación de segundo orden y\n"
 "10 o mas puntos para las rectificación de tercer orden."
@@ -17342,9 +16147,9 @@ msgid "Transforming <%s>..."
 msgstr "Transformando <%s>..."
 
 #: ../gui/wxpython/gcp/manager.py:1453
-#, fuzzy, python-format
+#, python-format
 msgid "Rectifying vector map <%s>, please wait..."
-msgstr "Rectificando imágenes, por favor espere..."
+msgstr "Rectificando mapa vectorial <%s>, por favor espere..."
 
 #: ../gui/wxpython/gcp/manager.py:1486
 #, python-format
@@ -17414,7 +16219,6 @@ msgid "Backward error"
 msgstr "Error hacia atrás."
 
 #: ../gui/wxpython/gcp/manager.py:2106
-#, fuzzy
 msgid "Invalid coordinate value. Operation canceled."
 msgstr "Valor de coordenada no válido. Operación cancelada."
 
@@ -17519,8 +16323,7 @@ msgstr "Seleccionar método de interpolación:"
 
 #: ../gui/wxpython/gcp/manager.py:2660
 msgid "clip to computational region in target location"
-msgstr ""
-"Recorta la visualización a la región de cálculo en la locación de destino."
+msgstr "Recorta la visualización a la región de cálculo en la locación de destino."
 
 #: ../gui/wxpython/gcp/manager.py:2700
 msgid "RMS threshold factor must be > 0"
@@ -17562,11 +16365,12 @@ msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
+"Por favor instale Python Imaging Library (PIL)\n"
+"para un mejor control de leyendas y otras decoraciones."
 
 #: ../gui/wxpython/mapwin/decorations.py:329
-#, fuzzy
 msgid "Show text object"
-msgstr "Mostrar la región de cómputo."
+msgstr "Mostrar objeto de texto"
 
 #: ../gui/wxpython/mapwin/decorations.py:382
 msgid ""
@@ -17577,34 +16381,29 @@ msgstr ""
 "Doble pulsación para cambiar las opciones."
 
 #: ../gui/wxpython/mapwin/buffered.py:154
-#, fuzzy
 msgid "legend"
-msgstr "Leyenda."
+msgstr "leyenda"
 
 #: ../gui/wxpython/mapwin/buffered.py:154
-#, fuzzy
 msgid "scale bar"
-msgstr "Añadir barra de escala"
+msgstr "barra de escala"
 
 #: ../gui/wxpython/mapwin/buffered.py:154
-#, fuzzy
 msgid "north arrow"
-msgstr "Añadir barra de escala e indicador de Norte."
+msgstr "flecha al norte"
 
 #: ../gui/wxpython/mapwin/buffered.py:233
-#, fuzzy
 msgid "Copy coordinates to clipboard"
-msgstr "'%s' copiado al portapapeles."
+msgstr "Copiar coordenadas al portapapeles"
 
 #: ../gui/wxpython/mapwin/buffered.py:243
-#, fuzzy, python-brace-format
+#, python-brace-format
 msgid "Hide {overlay}"
-msgstr "Añadir superposiciones"
+msgstr "Esconder {overlay}"
 
 #: ../gui/wxpython/mapwin/buffered.py:250
-#, fuzzy
 msgid "Resize legend"
-msgstr "Leyenda raster"
+msgstr "Redimensionar la leyenda"
 
 #: ../gui/wxpython/mapwin/buffered.py:886
 msgid "Unable to draw registered graphics. The graphics was unregistered."
@@ -17615,9 +16414,8 @@ msgid "Zoom to saved region extents"
 msgstr "Acercamiento a la extensión de la región guardada (zoom to saved...)"
 
 #: ../gui/wxpython/mapwin/buffered.py:1881
-#, fuzzy
 msgid "Set compulational region from named region"
-msgstr "Establece la región de cálculo desde la pantalla."
+msgstr "Definir región computacional desde la región nombrada"
 
 #: ../gui/wxpython/mapwin/buffered.py:1893
 #, python-format
@@ -17626,14 +16424,11 @@ msgstr "Región <%s> no encontrada. Operación cancelada."
 
 #: ../gui/wxpython/mapwin/buffered.py:1922
 msgid "Save display extents to region file"
-msgstr ""
-"Guardar la extensión de la visualización a un archivo de configuración de "
-"región."
+msgstr "Guardar la extensión de la visualización a un archivo de configuración de región."
 
 #: ../gui/wxpython/mapwin/buffered.py:1924
-#, fuzzy
 msgid "Save computational region to region file"
-msgstr "Establece la región de cálculo desde la pantalla."
+msgstr "Guardar región computacional a un archivo de región"
 
 #: ../gui/wxpython/mapwin/buffered.py:1934
 #, python-format
@@ -17674,19 +16469,14 @@ msgstr ""
 
 #: ../gui/wxpython/mapwin/analysis.py:218
 #: ../gui/wxpython/mapwin/analysis.py:332
-#, fuzzy
 msgid "Measuring finished"
-msgstr "Midiendo distancia."
+msgstr "Medición terminada"
 
 #: ../gui/wxpython/mapwin/analysis.py:233
 #: ../gui/wxpython/mapwin/analysis.py:342
 #, python-format
-msgid ""
-"Click and drag with left mouse button to measure.%sDouble click with left "
-"button to clear."
-msgstr ""
-"Pulse y arrastre con el botón izquierdo del ratón para medir. %s . Haga "
-"doble clic izquierdo para limpiar."
+msgid "Click and drag with left mouse button to measure.%sDouble click with left button to clear."
+msgstr "Pulse y arrastre con el botón izquierdo del ratón para medir. %s . Haga doble clic izquierdo para limpiar."
 
 #: ../gui/wxpython/mapwin/analysis.py:239
 msgid "Measuring distance"
@@ -17697,12 +16487,12 @@ msgid "Measuring distance:"
 msgstr "Midiendo distancia:"
 
 #: ../gui/wxpython/mapwin/analysis.py:250
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Geodesic distance calculation is not available.\n"
 "Reason: %s"
 msgstr ""
-"La distancia geodésica no es soportada por esta herramienta.\n"
+"La distancia geodésica no está disponible.\n"
 "Razón: %s"
 
 #: ../gui/wxpython/mapwin/analysis.py:286
@@ -17718,20 +16508,19 @@ msgstr "distancia total"
 #: ../gui/wxpython/mapwin/analysis.py:288
 #, fuzzy
 msgid "bearing"
-msgstr "Aviso"
+msgstr "aviso"
 
 #: ../gui/wxpython/mapwin/analysis.py:288
 msgid "degrees (clockwise from grid-north)"
-msgstr ""
+msgstr "grados (a favor de las manecillas del reloj partiendo del norte)"
 
 #: ../gui/wxpython/mapwin/analysis.py:346
-#, fuzzy
 msgid "Measuring area:"
 msgstr "Midiendo distancia:"
 
 #: ../gui/wxpython/mapwin/analysis.py:359
 msgid "Units not recognized, measurement failed."
-msgstr ""
+msgstr "No se reconocieron las medidas, falló la medición."
 
 #: ../gui/wxpython/mapwin/analysis.py:364
 #: ../gui/wxpython/mapwin/analysis.py:366
@@ -17748,9 +16537,8 @@ msgid "Select GRASS location and mapset"
 msgstr "Seleccionar localización GRASS y directorio de mapas"
 
 #: ../gui/wxpython/gui_core/dialogs.py:119
-#, fuzzy
 msgid "Location or mapset is not defined."
-msgstr "La longitud de la barra de escala no está definida"
+msgstr "No se ha definido la localización o el directorio de mapas."
 
 #: ../gui/wxpython/gui_core/dialogs.py:126
 msgid "Name of GRASS location:"
@@ -17766,14 +16554,12 @@ msgid "Select mapset in GRASS location"
 msgstr "Seleccionar directorio de mapas en localización GRASS"
 
 #: ../gui/wxpython/gui_core/dialogs.py:171
-#, fuzzy
 msgid "Name of mapset is missing."
-msgstr "Nombre del directorio de mapas:"
+msgstr "Falta el nombre del Nombre del directorio de mapas."
 
 #: ../gui/wxpython/gui_core/dialogs.py:206
-#, fuzzy
 msgid "Name of vector map is missing."
-msgstr "Nombre para el nuevo mapa vectorial:"
+msgstr "Falta el nombre del mapa vectorial."
 
 #: ../gui/wxpython/gui_core/dialogs.py:257
 msgid "Create attribute table"
@@ -17812,12 +16598,8 @@ msgstr "No se puede crear el mapa vectorial <%s>."
 
 #: ../gui/wxpython/gui_core/dialogs.py:421
 #, python-format
-msgid ""
-"Vector map <%s> already exists in the current mapset. Do you want to "
-"overwrite it?"
-msgstr ""
-"El archivo vectorial <%s> ya existe en el directorio de mapas de usuario "
-"actual (Mapset) ¿Quiere sobrescribirlo?"
+msgid "Vector map <%s> already exists in the current mapset. Do you want to overwrite it?"
+msgstr "El archivo vectorial <%s> ya existe en el directorio de mapas de usuario actual (Mapset) ¿Quiere sobrescribirlo?"
 
 #: ../gui/wxpython/gui_core/dialogs.py:504
 msgid "Load region:"
@@ -17828,9 +16610,7 @@ msgid "Save region:"
 msgstr "Guardar región:"
 
 #: ../gui/wxpython/gui_core/dialogs.py:545
-msgid ""
-"Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
-"'@', ',', '=', '*', and all other non-alphanumeric characters."
+msgid "Name cannot begin with '.' and must not contain space, quotes, '/', ''', '@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/dialogs.py:560
@@ -17849,15 +16629,12 @@ msgid "Apply changes to selected group"
 msgstr "Aplicar cambios para esta sesión."
 
 #: ../gui/wxpython/gui_core/dialogs.py:595
-#, fuzzy
 msgid "Close dialog, changes are not applied"
-msgstr "Cerrar el dialogo al aplicar."
+msgstr "Cerrar el dialogo, cambios no aplicados."
 
 #: ../gui/wxpython/gui_core/dialogs.py:636
 #: ../gui/wxpython/gui_core/dialogs.py:1383
-msgid ""
-"Put here a regular expression. Characters '.*' stand for anything, character "
-"'^' stands for the beginning and '$' for the end."
+msgid "Put here a regular expression. Characters '.*' stand for anything, character '^' stands for the beginning and '$' for the end."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/dialogs.py:643
@@ -17875,7 +16652,6 @@ msgstr ""
 #: ../gui/wxpython/gui_core/dialogs.py:691
 #: ../gui/wxpython/gui_core/dialogs.py:744
 #: ../gui/wxpython/gui_core/dialogs.py:1370
-#, fuzzy
 msgid "Pattern:"
 msgstr "Patrón:"
 
@@ -17891,84 +16667,76 @@ msgid "Select map layers and add them to the list."
 msgstr "La capa del mapa seleccionado no es vectorial."
 
 #: ../gui/wxpython/gui_core/dialogs.py:720
-#, fuzzy
 msgid "Remove selected layer(s) from list."
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "Remover de la lista las capa(s) seleccionadas."
 
 #: ../gui/wxpython/gui_core/dialogs.py:763
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/dialogs.py:923
-#, fuzzy
 msgid "Add selected map layers into group"
-msgstr "Añadir capas de mapa seleccionadas al árbol de capas"
+msgstr "Añadir mapa seleccionado al grupo"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1058
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
-msgstr ""
+msgstr "El grupo <%s> no fue cambiado, ¿quiere aplicar los cambios?"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1060
 #: ../gui/wxpython/gui_core/dialogs.py:1072
-#, fuzzy
 msgid "Unapplied changes"
-msgstr "Aplicar los cambios."
+msgstr "Cambios no aplicados"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1070
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
-msgstr ""
+msgstr "El subgrupo <%s> no fue cambiado, ¿quiere aplicar los cambios?"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1126
-#, fuzzy
 msgid "No raster maps selected."
-msgstr "No hay ningún mapa raster seleciconado!"
+msgstr "No hay ningún mapa raster seleccionado."
 
 #: ../gui/wxpython/gui_core/dialogs.py:1155
 #, python-format
 msgid "No changes to apply in group <%s>."
-msgstr ""
+msgstr "No hay cambios que aplicar al grupo <%s>."
 
 #: ../gui/wxpython/gui_core/dialogs.py:1158
 #, python-format
 msgid "Group <%s> was successfully created."
-msgstr ""
+msgstr "El grupo <%s> fue creado exitosamente."
 
 #: ../gui/wxpython/gui_core/dialogs.py:1160
 #, python-format
 msgid "Group <%s> was successfully changed."
-msgstr ""
+msgstr "El grupo <%s> fue cambiado exitosamente."
 
 #: ../gui/wxpython/gui_core/dialogs.py:1163
-#, fuzzy, python-format
+#, python-format
 msgid "Creating of new group <%s> failed."
-msgstr "La Georrectificación del mapa vectorial <%s>  ha fallado."
+msgstr "Crear grupo nuevo <%s> ha fallado."
 
 #: ../gui/wxpython/gui_core/dialogs.py:1165
 #, python-format
 msgid "Changing of group <%s> failed."
-msgstr ""
+msgstr "Falló el cambio de grupo <%s>."
 
 #: ../gui/wxpython/gui_core/dialogs.py:1203
-#, fuzzy
 msgid "No group selected."
-msgstr "No se ha seleccionado ningún mapa!"
+msgstr "No se ha seleccionado ningún grupo."
 
 #: ../gui/wxpython/gui_core/dialogs.py:1209
-#, fuzzy
 msgid "No subgroup selected."
-msgstr "No se ha seleccionado ningún mapa!"
+msgstr "No se ha seleccionado ningún subgrupo."
 
 #: ../gui/wxpython/gui_core/dialogs.py:1312
 msgid "Use fully-qualified map names"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/dialogs.py:1338
-#, fuzzy
 msgid "Map type:"
-msgstr "Tipo de capa de mapa:"
+msgstr "Tipo de mapa:"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1353
 msgid "Select toggle"
@@ -17992,33 +16760,29 @@ msgid "Multiple import"
 msgstr "Importación múltiple."
 
 #: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
 msgid "List of raster layers"
-msgstr "Lista de capas."
+msgstr "Lista de capas raster"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
 msgid "List of vector layers"
-msgstr "Lista de capas."
+msgstr "Lista de capas vectoriales"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
+#, python-format
 msgid "List of %s layers"
-msgstr "Lista de capas %s ."
+msgstr "Lista de %s capas"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1627
 msgid "right click to (un)select all"
-msgstr ""
+msgstr "click derecho para (des)seleccionar todo"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1630
-#, fuzzy
 msgid "Layer id"
-msgstr "Capa."
+msgstr "Id de capa"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
 msgid "Name for output GRASS map (editable)"
-msgstr "Nombre del mapa GRASS."
+msgstr "Nombre del mapa GRASS de salida (editable)"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1635
 #, fuzzy
@@ -18027,7 +16791,7 @@ msgstr "Proyección"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1673
 msgid "Encoding"
-msgstr ""
+msgstr "Codificación"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1682
 #: ../gui/wxpython/gui_core/forms.py:584
@@ -18063,24 +16827,20 @@ msgid "Link selected layers"
 msgstr "Ligar las capas seleccionadas."
 
 #: ../gui/wxpython/gui_core/dialogs.py:1912
-#, fuzzy
 msgid "No layers selected. Operation canceled."
-msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
+msgstr "No se han seleccionado capas. Operación cancelada."
 
 #: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
 msgid "Unable to determine number of raster bands"
-msgstr "No se puede crear el perfil del mapa raster."
+msgstr "No se puede determinar el número de bandas raster"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
 msgid "Define output format for vector data"
-msgstr "Importar mapa vectorial."
+msgstr "Definir formato de salida para datos vectoriales"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
 msgid "Define output format for raster data"
-msgstr "Importar mapa raster."
+msgstr "Definir formato de salida para datos raster"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2056
 #, fuzzy
@@ -18101,9 +16861,8 @@ msgid "Choose DXF file to import"
 msgstr "Seleccionar archivo DXF a importar:"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
 msgid "No layers selected."
-msgstr "No se ha seleccionado alguna capa de mapas."
+msgstr "No hay capas seleccionadas."
 
 #: ../gui/wxpython/gui_core/dialogs.py:2286
 msgid "Set Map Layer Opacity"
@@ -18126,33 +16885,28 @@ msgid "Template:"
 msgstr "Plantilla:"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2504
-#, fuzzy
 msgid "GRASS GIS SQL Query Utility"
-msgstr "Visualización de mapas - SIG GRASS."
+msgstr "Utilidad de GRASS GIS para Sentencia SQL"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2515
-#, fuzzy
 msgid " SQL statement "
-msgstr "Sentencia SQL."
+msgstr "Sentencia SQL"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2560
-#, fuzzy
 msgid "Symbols"
-msgstr "símbolo"
+msgstr "Símbolos"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2587
-#, fuzzy
 msgid "Symbol directory:"
-msgstr "Tamaño del símbolo:"
+msgstr "Directorio del símbolo:"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2595
-#, fuzzy
 msgid "Symbol name:"
-msgstr "Tamaño del símbolo:"
+msgstr "Nombre del símbolo:"
 
 #: ../gui/wxpython/gui_core/dialogs.py:2806
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
-msgstr ""
+msgstr "¿Quiere quitar GRASS incluyendo la linea de comandos o solo cerrar la GUI?"
 
 #: ../gui/wxpython/gui_core/gselect.py:59
 #, python-format
@@ -18160,6 +16914,8 @@ msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
+"No se puede importar pyGRASS: %s\n"
+"Algunas funcionalidades no serán accesibles"
 
 #: ../gui/wxpython/gui_core/gselect.py:458
 msgid "Not selectable element"
@@ -18171,7 +16927,6 @@ msgid "Mapset"
 msgstr "Directorio de mapas de usuario (mapset)."
 
 #: ../gui/wxpython/gui_core/gselect.py:504
-#, fuzzy
 msgid "Type: "
 msgstr "Tipo:"
 
@@ -18208,9 +16963,8 @@ msgid "Protocol"
 msgstr "Protocolo"
 
 #: ../gui/wxpython/gui_core/gselect.py:1339
-#, fuzzy
 msgid "Output type"
-msgstr "Salida."
+msgstr "Tipo de salida"
 
 #: ../gui/wxpython/gui_core/gselect.py:1341
 msgid "Source type"
@@ -18221,24 +16975,20 @@ msgid "All files"
 msgstr "todos los archivos"
 
 #: ../gui/wxpython/gui_core/gselect.py:1377
-#, fuzzy
 msgid "ZIP files"
-msgstr "todos los archivos"
+msgstr "Archivos ZIP"
 
 #: ../gui/wxpython/gui_core/gselect.py:1378
-#, fuzzy
 msgid "GZIP files"
-msgstr "todos los archivos"
+msgstr "Archivos GZIP"
 
 #: ../gui/wxpython/gui_core/gselect.py:1379
-#, fuzzy
 msgid "TAR files"
-msgstr "todos los archivos"
+msgstr "Archivos TAR"
 
 #: ../gui/wxpython/gui_core/gselect.py:1381
-#, fuzzy
 msgid "TARGZ files"
-msgstr "todos los archivos"
+msgstr "Archivos TARGZ"
 
 #: ../gui/wxpython/gui_core/gselect.py:1387
 msgid "File:"
@@ -18254,9 +17004,8 @@ msgid "Choose input directory"
 msgstr "Seleccionar directorio de entrada de datos hacia GRASS:"
 
 #: ../gui/wxpython/gui_core/gselect.py:1415
-#, fuzzy
 msgid "Extension:"
-msgstr "Expresión"
+msgstr "Extensión:"
 
 #: ../gui/wxpython/gui_core/gselect.py:1440
 msgid "Choose file"
@@ -18264,19 +17013,16 @@ msgstr "Escoger archivo"
 
 #: ../gui/wxpython/gui_core/gselect.py:1452
 #: ../gui/wxpython/gui_core/gselect.py:2121
-#, fuzzy
 msgid "Feature type:"
-msgstr "Tipo de elemento"
+msgstr "Tipo de elemento:"
 
 #: ../gui/wxpython/gui_core/gselect.py:1453
-#, fuzzy
 msgid "simple features"
-msgstr "Consultar atributos."
+msgstr "elementos simples"
 
 #: ../gui/wxpython/gui_core/gselect.py:1453
-#, fuzzy
 msgid "topological"
-msgstr "Reconstruir topología"
+msgstr "topológico"
 
 #: ../gui/wxpython/gui_core/gselect.py:1559
 #: ../gui/wxpython/gui_core/gselect.py:1590
@@ -18308,7 +17054,7 @@ msgstr "Iluminación"
 
 #: ../gui/wxpython/gui_core/gselect.py:2113
 msgid "Polygon"
-msgstr ""
+msgstr "Polígono"
 
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
@@ -18355,9 +17101,7 @@ msgstr "Preguntar cuando se remueve una capa de mapas del árbol de capas."
 
 #: ../gui/wxpython/gui_core/preferences.py:272
 msgid "Ask when quiting wxGUI or closing display"
-msgstr ""
-"Preguntar cuando se abandona la interfaz gráfica de usuario wx o se cierre "
-"la ventana."
+msgstr "Preguntar cuando se abandona la interfaz gráfica de usuario wx o se cierre la ventana."
 
 #: ../gui/wxpython/gui_core/preferences.py:282
 #: ../gui/wxpython/gui_core/preferences.py:292
@@ -18371,9 +17115,7 @@ msgstr "Buscar módulo"
 
 #: ../gui/wxpython/gui_core/preferences.py:305
 msgid "Automatically copy selected text to clipboard (in Command console)"
-msgstr ""
-"Copiar automáticamente el texto seleccionado en el portapapeles (en la "
-"consola de Comandos)"
+msgstr "Copiar automáticamente el texto seleccionado en el portapapeles (en la consola de Comandos)"
 
 #: ../gui/wxpython/gui_core/preferences.py:320
 msgid "Workspace settings"
@@ -18381,8 +17123,7 @@ msgstr "Configuración del entorno de trabajo"
 
 #: ../gui/wxpython/gui_core/preferences.py:327
 msgid "Suppress positioning Map Display Window(s)"
-msgstr ""
-"Suprimir el posicionamiento de la(s) ventana(s) de visualización de mapas."
+msgstr "Suprimir el posicionamiento de la(s) ventana(s) de visualización de mapas."
 
 #: ../gui/wxpython/gui_core/preferences.py:339
 msgid "Suppress positioning Layer Manager window"
@@ -18390,18 +17131,11 @@ msgstr "Suprimir el posicionamiento de la ventana del administrador de capas."
 
 #: ../gui/wxpython/gui_core/preferences.py:350
 msgid "Save current window layout as default"
-msgstr ""
-"Guardar parámetros de visualización de la ventana actual como "
-"predeterminados."
+msgstr "Guardar parámetros de visualización de la ventana actual como predeterminados."
 
 #: ../gui/wxpython/gui_core/preferences.py:353
-msgid ""
-"Save current position and size of Layer Manager window and opened Map "
-"Display window(s) and use as default for next sessions."
-msgstr ""
-"Guardar la posición y tamaño actuales, tanto de la ventana del Administrador "
-"de capas, como de la(s) de visualización de mapas abiertas y utilizar como "
-"ajustes predeterminados para próximas sesiones."
+msgid "Save current position and size of Layer Manager window and opened Map Display window(s) and use as default for next sessions."
+msgstr "Guardar la posición y tamaño actuales, tanto de la ventana del Administrador de capas, como de la(s) de visualización de mapas abiertas y utilizar como ajustes predeterminados para próximas sesiones."
 
 #: ../gui/wxpython/gui_core/preferences.py:389
 msgid "Font for command output:"
@@ -18414,7 +17148,7 @@ msgstr "Cambiar configuración."
 
 #: ../gui/wxpython/gui_core/preferences.py:412
 msgid "Choose language (requires to save and GRASS restart):"
-msgstr ""
+msgstr "Escoger idioma (es necesario salvar y reiniciar GRASS):"
 
 #: ../gui/wxpython/gui_core/preferences.py:437
 msgid "Appearance settings"
@@ -18473,7 +17207,7 @@ msgstr "Permitir zoom automático a la capa de mapa seleccionada"
 
 #: ../gui/wxpython/gui_core/preferences.py:723
 msgid "Mouse wheel action:"
-msgstr ""
+msgstr "Acción de la rueda del ratón:"
 
 #: ../gui/wxpython/gui_core/preferences.py:738
 msgid "Mouse scrolling direction:"
@@ -18489,9 +17223,8 @@ msgid "3D view depth buffer (possible values are 16, 24, 32):"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/preferences.py:802
-#, fuzzy
 msgid "Modules"
-msgstr "Código."
+msgstr "Módulos"
 
 #: ../gui/wxpython/gui_core/preferences.py:805
 #, fuzzy
@@ -18516,31 +17249,28 @@ msgid "Layers"
 msgstr "Capas"
 
 #: ../gui/wxpython/gui_core/preferences.py:888
-#, fuzzy
 msgid "Default raster settings"
-msgstr "Ajustes predeterminados de pantalla."
+msgstr "Configuraciones predeterminadas para rasters"
 
 #: ../gui/wxpython/gui_core/preferences.py:898
 msgid "Make null cells opaque"
-msgstr ""
+msgstr "Hacer opacas las celdas nulas"
 
 #: ../gui/wxpython/gui_core/preferences.py:909
 msgid "Default color table"
 msgstr "Tabla de colores predeterminada"
 
 #: ../gui/wxpython/gui_core/preferences.py:936
-#, fuzzy
 msgid "Default vector settings"
-msgstr "Configuración de vector."
+msgstr "Configuraciones predeterminadas para vectoriales"
 
 #: ../gui/wxpython/gui_core/preferences.py:942
 msgid "Display:"
 msgstr "Presentación:"
 
 #: ../gui/wxpython/gui_core/preferences.py:961
-#, fuzzy
 msgid "Feature color:"
-msgstr "color del alambre"
+msgstr "Color del objeto:"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
@@ -18549,14 +17279,12 @@ msgid "Transparent"
 msgstr "Transparente."
 
 #: ../gui/wxpython/gui_core/preferences.py:983
-#, fuzzy
 msgid "Area fill color:"
-msgstr "rellenar color"
+msgstr "Color de relleno para el área:"
 
 #: ../gui/wxpython/gui_core/preferences.py:1026
-#, fuzzy
 msgid "Symbol:"
-msgstr "símbolo:"
+msgstr "Símbolo:"
 
 #: ../gui/wxpython/gui_core/preferences.py:1079
 msgid "Line width (in pixels):"
@@ -18565,8 +17293,7 @@ msgstr "Ancho de Línea (en píxeles):"
 #: ../gui/wxpython/gui_core/preferences.py:1089
 #, fuzzy
 msgid "Automatically hightlight selected features in map display"
-msgstr ""
-"Resaltar el(los) objeto(s) espacial(es) seleccionados y acercar (zoom)."
+msgstr "Resaltar el(los) objeto(s) espacial(es) seleccionados y acercar (zoom)."
 
 #: ../gui/wxpython/gui_core/preferences.py:1109
 msgid "Data browser"
@@ -18595,12 +17322,9 @@ msgstr "Configuración de la barra de estado de las proyecciones"
 #: ../gui/wxpython/gui_core/preferences.py:1207
 msgid ""
 "\n"
-"Note: This only controls the coordinates displayed in the lower-left of the "
-"Map Display\n"
-"window's status bar. It is purely cosmetic and does not affect the working "
-"location's\n"
-"projection in any way. You will need to enable the Projection check box in "
-"the drop-down\n"
+"Note: This only controls the coordinates displayed in the lower-left of the Map Display\n"
+"window's status bar. It is purely cosmetic and does not affect the working location's\n"
+"projection in any way. You will need to enable the Projection check box in the drop-down\n"
 "menu located at the bottom of the Map Display window.\n"
 msgstr ""
 
@@ -18613,12 +17337,8 @@ msgid "EPSG file:"
 msgstr "archivo EPSG:"
 
 #: ../gui/wxpython/gui_core/preferences.py:1270
-msgid ""
-"Load EPSG codes (be patient), enter EPSG code or insert Proj.4 string "
-"directly."
-msgstr ""
-"Cargar códigos EPSG (sea paciente), entrar código EPSG o insertar Proj.4 "
-"string directamente."
+msgid "Load EPSG codes (be patient), enter EPSG code or insert Proj.4 string directly."
+msgstr "Cargar códigos EPSG (sea paciente), entrar código EPSG o insertar Proj.4 string directamente."
 
 #: ../gui/wxpython/gui_core/preferences.py:1278
 msgid "&Load EPSG codes"
@@ -18629,9 +17349,8 @@ msgid "Coordinates format"
 msgstr "Formato de coordenadas"
 
 #: ../gui/wxpython/gui_core/preferences.py:1298
-#, fuzzy
 msgid "Lat/long projections"
-msgstr "Administrar proyecciones."
+msgstr "Proyecciones Lat/long"
 
 #: ../gui/wxpython/gui_core/preferences.py:1317
 msgid "Precision:"
@@ -18677,8 +17396,7 @@ msgid ""
 "    - You may only write to the current mapset.\n"
 "    - You may only write to mapsets which you own."
 msgstr ""
-"Marque el directorio de mapas para hacerlo accesible, desmárquelo para "
-"ocultarlo.\n"
+"Marque el directorio de mapas para hacerlo accesible, desmárquelo para ocultarlo.\n"
 "Notas:\n"
 "   -El directorio de mapas actual siempre es accesible.\n"
 "   -Solo tendrías que escribir en el actual directorio de mapas.\n"
@@ -18697,19 +17415,16 @@ msgid "Click here to hide search module engine"
 msgstr "Pulse aquí para ocultar el módulo del motor de búsqueda"
 
 #: ../gui/wxpython/gui_core/goutput.py:130
-#, fuzzy
 msgid "Command prompt"
-msgstr "Salida de la orden."
+msgstr "Linea de comandos"
 
 #: ../gui/wxpython/gui_core/goutput.py:132
-#, fuzzy
 msgid "Output window"
-msgstr "Salida."
+msgstr "Ventana de salida"
 
 #: ../gui/wxpython/gui_core/goutput.py:139
-#, fuzzy
 msgid "Clear output window content"
-msgstr "&Limpiar salida"
+msgstr "Limpiar contenido de la ventana de salida"
 
 #: ../gui/wxpython/gui_core/goutput.py:141
 msgid "Clear command prompt content"
@@ -18720,9 +17435,8 @@ msgid "Save output window content to the file"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/goutput.py:145
-#, fuzzy
 msgid "Abort running command"
-msgstr "Abortar la orden que se está ejecutando."
+msgstr "Abortar la orden que se está ejecutando"
 
 #: ../gui/wxpython/gui_core/goutput.py:147
 #, fuzzy
@@ -18730,9 +17444,7 @@ msgid "&Log file"
 msgstr "Rescalar"
 
 #: ../gui/wxpython/gui_core/goutput.py:149
-msgid ""
-"Toggle to save list of executed commands into a file; content saved when "
-"switching off."
+msgid "Toggle to save list of executed commands into a file; content saved when switching off."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/goutput.py:374
@@ -18744,27 +17456,28 @@ msgstr "Guardar archivo como..."
 #: ../gui/wxpython/gui_core/goutput.py:463
 #, python-format
 msgid "%(txt)s (*.txt)|*.txt|%(files)s (*)|*"
-msgstr ""
+msgstr "%(txt)s (*.txt)|*.txt|%(files)s (*)|*"
 
 #: ../gui/wxpython/gui_core/goutput.py:377
 #: ../gui/wxpython/gui_core/goutput.py:464
-#, fuzzy
 msgid "Text files"
-msgstr "Efectos del texto"
+msgstr "Archivos de texto"
 
 #: ../gui/wxpython/gui_core/goutput.py:377
 #: ../gui/wxpython/gui_core/goutput.py:464
-#, fuzzy
 msgid "Files"
-msgstr "Archivo"
+msgstr "Archivos"
 
 #: ../gui/wxpython/gui_core/goutput.py:389
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Unable to write file '%(path)s'.\n"
 "\n"
 "Details: %(error)s"
-msgstr "No es posible realizar un acercamiento (zoom) al mapa vectorial <%s>."
+msgstr ""
+"No es posible escribir el archivo '%(path)s'.\n"
+"\n"
+"Detalles: %(error)s"
 
 #: ../gui/wxpython/gui_core/goutput.py:392
 #, fuzzy, python-format
@@ -18777,72 +17490,62 @@ msgid "Command log saved to '%s'"
 msgstr "Salida de la orden."
 
 #: ../gui/wxpython/gui_core/query.py:29
-#, fuzzy
 msgid "Query results"
-msgstr "Consultar mapas raster"
+msgstr "Resultados de la consulta"
 
 #: ../gui/wxpython/gui_core/query.py:41
 msgid "Right click to copy selected values to clipboard."
-msgstr ""
+msgstr "Click derecho para copiar valores seleccionados al portapapeles."
 
 #: ../gui/wxpython/gui_core/query.py:45
-#, fuzzy
 msgid "Feature"
-msgstr "Identificador de Objeto espacial."
+msgstr "Objeto"
 
 #: ../gui/wxpython/gui_core/query.py:45
-#, fuzzy
 msgid "Value"
-msgstr "Valores."
+msgstr "Valor"
 
 #: ../gui/wxpython/gui_core/query.py:61
-#, fuzzy
 msgid "Copy all to clipboard"
-msgstr "'%s' copiado al portapapeles."
+msgstr "Copiar todo al portapapeles"
 
 #: ../gui/wxpython/gui_core/query.py:64
-#, fuzzy
 msgid "Redirect to console"
-msgstr "Seleccionar un mapa vectorial."
+msgstr "Redireccionar a consola"
 
 #: ../gui/wxpython/gui_core/query.py:112 ../gui/wxpython/gui_core/query.py:113
-#, fuzzy, python-format
+#, python-format
 msgid "Copy from '%s' column"
-msgstr "tamaño de la columna de la tabla del mapa:"
+msgstr "Copiar desde la columna '%s'"
 
 #: ../gui/wxpython/gui_core/query.py:114
-#, fuzzy
 msgid "Copy selected lines"
-msgstr "Eliminar las columnas seleccionadas"
+msgstr "Copiar lineas seleccionadas"
 
 #: ../gui/wxpython/gui_core/query.py:117 ../gui/wxpython/gui_core/query.py:120
-#, fuzzy, python-format
+#, python-format
 msgid "Copy '%s'"
-msgstr "Copiar."
+msgstr "Copiar '%s'"
 
 #: ../gui/wxpython/gui_core/query.py:121
-#, fuzzy
 msgid "Copy line"
-msgstr "Copiar tabla."
+msgstr "Copiar línea"
 
 #: ../gui/wxpython/gui_core/query.py:143
-#, fuzzy
 msgid "Query results:"
-msgstr "Consultar mapas raster"
+msgstr "Resultados de la consulta:"
 
 #: ../gui/wxpython/gui_core/query.py:146
 msgid " "
-msgstr ""
+msgstr " "
 
 #: ../gui/wxpython/gui_core/query.py:230
-#, fuzzy
 msgid "east, north"
-msgstr "Probar normalidad."
+msgstr "este, norte"
 
 #: ../gui/wxpython/gui_core/query.py:241
-#, fuzzy
 msgid "Nothing found"
-msgstr "No hay algo para eliminar."
+msgstr "No se ha encontrado nada"
 
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
@@ -18865,27 +17568,24 @@ msgid "Contributors"
 msgstr "Contribuyentes"
 
 #: ../gui/wxpython/gui_core/ghelp.py:63
-#, fuzzy
 msgid "Extra contributors"
-msgstr "Contribuyentes"
+msgstr "Contribuyentes extra"
 
 #: ../gui/wxpython/gui_core/ghelp.py:64
 msgid "Translators"
 msgstr "Traductores"
 
 #: ../gui/wxpython/gui_core/ghelp.py:65
-#, fuzzy
 msgid "Translation status"
-msgstr "Traductores"
+msgstr "Estatus de la traducción"
 
 #: ../gui/wxpython/gui_core/ghelp.py:130
 msgid "Official GRASS site:"
 msgstr "Sitio oficial de GRASS:"
 
 #: ../gui/wxpython/gui_core/ghelp.py:141
-#, fuzzy
 msgid "Code Revision"
-msgstr "Revisión de Librería SIG:"
+msgstr "Revisión de código"
 
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
@@ -18921,34 +17621,33 @@ msgid "OSGeo_ID"
 msgstr "OSGeo_ID"
 
 #: ../gui/wxpython/gui_core/ghelp.py:420
-#, fuzzy
 msgid "Nation"
-msgstr "Rotación"
+msgstr "Nación"
 
 #: ../gui/wxpython/gui_core/ghelp.py:454
 #, python-format
 msgid "   %d translated"
-msgstr ""
+msgstr "   %d traducido"
 
 #: ../gui/wxpython/gui_core/ghelp.py:458 ../gui/wxpython/gui_core/ghelp.py:484
 #, python-format
 msgid "   %d fuzzy"
-msgstr ""
+msgstr "   %d fuzzy"
 
 #: ../gui/wxpython/gui_core/ghelp.py:462 ../gui/wxpython/gui_core/ghelp.py:493
 #, python-format
 msgid "   %d untranslated"
-msgstr ""
+msgstr "   %d no traducido"
 
 #: ../gui/wxpython/gui_core/ghelp.py:475
 #, python-format
 msgid "%d translated"
-msgstr ""
+msgstr "%d traducido"
 
 #: ../gui/wxpython/gui_core/ghelp.py:546
-#, fuzzy, python-format
+#, python-format
 msgid "File <%s> not found"
-msgstr "Archivo <%s> no encontrado."
+msgstr "Archivo <%s> no encontrado"
 
 #: ../gui/wxpython/gui_core/ghelp.py:701
 msgid "&Next"
@@ -18979,12 +17678,8 @@ msgid "Add created map(s) into layer tree"
 msgstr "Añadir el mapa(s) creado al árbol de capas"
 
 #: ../gui/wxpython/gui_core/forms.py:586
-msgid ""
-"Close dialog when command is successfully finished. Change this settings in "
-"Preferences dialog ('Command' tab)."
-msgstr ""
-"Cerrar el diálogo cuando la comanda haya finalizado exitosamente. Cambiar "
-"esta configuración en el diálogo Preferencias ('Command' tab)."
+msgid "Close dialog when command is successfully finished. Change this settings in Preferences dialog ('Command' tab)."
+msgstr "Cerrar el diálogo cuando la comanda haya finalizado exitosamente. Cambiar esta configuración en el diálogo Preferencias ('Command' tab)."
 
 #: ../gui/wxpython/gui_core/forms.py:751
 #, python-format
@@ -19031,23 +17726,19 @@ msgid "Load and edit content of a file"
 msgstr "Cambiar nombre de la localización seleccionada."
 
 #: ../gui/wxpython/gui_core/forms.py:1554
-#, fuzzy
 msgid "&Save as"
-msgstr "Guardar como."
+msgstr "& Guardar cómo"
 
 #: ../gui/wxpython/gui_core/forms.py:1555
 msgid "Save content to a file for further use"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/forms.py:1560
-#, fuzzy
 msgid "or enter values directly:"
-msgstr "o introducir los valores interactivamente"
+msgstr "o introducir los valores directamente:"
 
 #: ../gui/wxpython/gui_core/forms.py:1562
-msgid ""
-"Enter file content directly instead of specifying a file. Temporary file "
-"will be automatically created."
+msgid "Enter file content directly instead of specifying a file. Temporary file will be automatically created."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/forms.py:1839
@@ -19055,27 +17746,27 @@ msgid "Manual"
 msgstr "Manual."
 
 #: ../gui/wxpython/gui_core/forms.py:1880
-#, fuzzy
 msgid "Nothing to load."
-msgstr "Nada que guardar."
+msgstr "Nada que cargar."
 
 #: ../gui/wxpython/gui_core/forms.py:1888
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Unable to load file.\n"
 "\n"
 "Reason: %s"
-msgstr "No se puede cargar el tema de iconos. Razón: %s"
+msgstr ""
+"No se puede cargar archivo.\n"
+"\n"
+"Razón: %s"
 
 #: ../gui/wxpython/gui_core/forms.py:1918
-#, fuzzy
 msgid "Save input as..."
-msgstr "Guardar archivo como..."
+msgstr "Guardar entrada como..."
 
 #: ../gui/wxpython/gui_core/forms.py:2231
-#, fuzzy
 msgid "No dataset given."
-msgstr "No se ha seleccionado ningún mapa!"
+msgstr ""
 
 #: ../gui/wxpython/gui_core/forms.py:2371
 #: ../gui/wxpython/gui_core/forms.py:2386
@@ -19093,63 +17784,49 @@ msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:97
-#, fuzzy
 msgid "Toolbar"
-msgstr "Barra de herramientas de mapa."
+msgstr "Barra de herramientas"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:133
-#, fuzzy
 msgid "Copy map names to clipboard (top to bottom)"
-msgstr "'%s' copiado al portapapeles."
+msgstr "Copiar nombres de mapas al portapapeles (de arriba hacia abajo)"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:134
-#, fuzzy
 msgid "Copy map names to clipboard (bottom to top)"
-msgstr "'%s' copiado al portapapeles."
+msgstr "Copiar nombres de mapas al portapapeles (de abajo hacia arriba)"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:439
-#, fuzzy
 msgid "Remove selected map(s) from list"
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "Remover mapa(s) seleccionados de la lista"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:441
-#, fuzzy
 msgid "Layer up"
-msgstr "Grupo de capas:"
+msgstr "Subir capa"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:442
-#, fuzzy
 msgid "Move selected layer(s) up"
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "Mover capa(s) seleccionadas hacia arriba"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:444
-#, fuzzy
 msgid "Layer down"
-msgstr "Capa."
+msgstr "Bajar capa"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:445
-#, fuzzy
 msgid "Move selected layer(s) down"
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "Mover capa(s) seleccionadas hacia abajo"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:447
 #: ../gui/wxpython/gui_core/simplelmgr.py:448
-#, fuzzy
 msgid "Edit layer properties"
-msgstr "Propiedades de capa."
+msgstr "Editar propiedades de la capa"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:450
-#, fuzzy
 msgid "Change opacity"
-msgstr "Cambiar el nivel de opacidad."
+msgstr "Cambiar la opacidad"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:451
-#, fuzzy
 msgid "Change layer opacity"
-msgstr "Cambiar el nivel de opacidad."
+msgstr "Cambiar opacidad de la capa"
 
 #: ../gui/wxpython/gui_core/widgets.py:84
 msgid " (...)"
@@ -19162,11 +17839,11 @@ msgstr "Extensión completa"
 
 #: ../gui/wxpython/gui_core/widgets.py:882
 msgid "Type to search in all modules. Press Enter for next match."
-msgstr ""
+msgstr "Escriba para buscar en todos los módulos. Presione Enter para la siguiente opción encontrada."
 
 #: ../gui/wxpython/gui_core/widgets.py:946
 msgid "Searching, please type more characters."
-msgstr ""
+msgstr "Buscando, por favor ingrese más letras."
 
 #: ../gui/wxpython/gui_core/widgets.py:955
 #, python-format
@@ -19174,9 +17851,8 @@ msgid "%d modules match"
 msgstr "%d módulos corresponden"
 
 #: ../gui/wxpython/gui_core/widgets.py:1030
-#, fuzzy
 msgid "Save current settings"
-msgstr "Guardar?"
+msgstr "Guardar configuración actual"
 
 #: ../gui/wxpython/gui_core/widgets.py:1033
 #, fuzzy
@@ -19207,12 +17883,10 @@ msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr "El archivo <%s> ya existe. Quiere sobrescribir este archivo?"
 
 #: ../gui/wxpython/gui_core/widgets.py:1146
-#, fuzzy
 msgid "No settings is defined. Operation canceled."
-msgstr "La lectura del elemento id %d falló. Operación cancelada."
+msgstr "No hay configuraciones definidas. Operación cancelada."
 
 #: ../gui/wxpython/gui_core/widgets.py:1180
-#, fuzzy
 msgid "Unable to save settings"
 msgstr "No es posible guardar configuraciones"
 
@@ -19278,9 +17952,8 @@ msgid "Zoom to selected map layer(s)"
 msgstr "Zoom a la capa de mapa(s) seleccionada(s)"
 
 #: ../gui/wxpython/gui_core/toolbars.py:60
-#, fuzzy
 msgid "Zoom to computational region extent"
-msgstr "Acercamiento a la región de cálculo (definida mediante g.region)."
+msgstr "Acercamiento a la región de cálculo"
 
 #: ../gui/wxpython/gui_core/toolbars.py:62
 msgid "Pan"
@@ -19291,9 +17964,8 @@ msgid "Drag with mouse to pan"
 msgstr "Arrastrar con el ratón para desplazar la visualización (mouse to pan)."
 
 #: ../gui/wxpython/gui_core/toolbars.py:65
-#, fuzzy
 msgid "Save display to file"
-msgstr "Guardar visualización en archivo gráfico."
+msgstr "Guardar visualización en archivo"
 
 #: ../gui/wxpython/gui_core/toolbars.py:69
 msgid "Select font"
@@ -19308,9 +17980,8 @@ msgid "Overlay elements like scale and legend onto map"
 msgstr "Sobreponer elementos como escala y leyenda al mapa."
 
 #: ../gui/wxpython/gui_core/toolbars.py:82
-#, fuzzy
 msgid "Create histogram with d.histogram"
-msgstr "Crear histograma de imagen o archivo raster."
+msgstr "Crear histograma con d.histogram"
 
 #: ../gui/wxpython/gui_core/toolbars.py:256
 #, fuzzy
@@ -19387,20 +18058,14 @@ msgstr "Ejecutar comando seleccionado"
 #~ msgstr "Múltiples formatos de exportación usando GPSBabel."
 
 #, fuzzy
-#~ msgid ""
-#~ "Exports a vector map to a GPS receiver or file format supported by "
-#~ "GPSBabel."
-#~ msgstr ""
-#~ "Exporta un mapa vectorial a un receptor GPS o a un formato de archivo "
-#~ "soportado por GpsBabel."
+#~ msgid "Exports a vector map to a GPS receiver or file format supported by GPSBabel."
+#~ msgstr "Exporta un mapa vectorial a un receptor GPS o a un formato de archivo soportado por GpsBabel."
 
 #~ msgid "Common export formats using OGR"
 #~ msgstr "Formatos de exportación comunes utilizando OGR"
 
 #~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr ""
-#~ "Establece la región de cálculo a partir del (los) mapa(s) seleccionado "
-#~ "(s) (se ignoraran los valores nulos)."
+#~ msgstr "Establece la región de cálculo a partir del (los) mapa(s) seleccionado (s) (se ignoraran los valores nulos)."
 
 #~ msgid "Historical GRASS vector import"
 #~ msgstr "Histórico de GRASS de importación de vectoriales"
@@ -19408,12 +18073,8 @@ msgstr "Ejecutar comando seleccionado"
 #~ msgid "Historical GRASS vector import (all maps)"
 #~ msgstr "Histórico de GRASS de importación de vectoriales (todos los mapas)"
 
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "Convierte todas las versiones antiguas de mapas vectoriales de GRASS del "
-#~ "directorio de mapas actual al formato actual."
+#~ msgid "Converts all older versions of GRASS vector maps in current mapset to current format."
+#~ msgstr "Convierte todas las versiones antiguas de mapas vectoriales de GRASS del directorio de mapas actual al formato actual."
 
 #, fuzzy
 #~ msgid "GPS data import"
@@ -19423,8 +18084,7 @@ msgstr "Ejecutar comando seleccionado"
 #~ msgstr "Importar GEOnet."
 
 #~ msgid "IDW from raster points (alternate method for sparse points)"
-#~ msgstr ""
-#~ "IDW de puntos raster (método alternativo al método de puntos dispersos) "
+#~ msgstr "IDW de puntos raster (método alternativo al método de puntos dispersos) "
 
 #~ msgid "Create optimally placed labels"
 #~ msgstr "Crear etiquetas óptimamente colocadas"
@@ -19434,16 +18094,13 @@ msgstr "Ejecutar comando seleccionado"
 
 #, fuzzy
 #~ msgid "Data file <%(name)s> imported successfully."
-#~ msgstr ""
-#~ "El mapa vectorial <%(name)s> (%(type)s) ha sido exitosamente descargado."
+#~ msgstr "El mapa vectorial <%(name)s> (%(type)s) ha sido exitosamente descargado."
 
 #~ msgid "Volume"
 #~ msgstr "Volumen"
 
 #~ msgid "Choose project location and mapset"
-#~ msgstr ""
-#~ "Seleccione la locación y el directorio de mapas de usuario (mapset) del "
-#~ "proyecto."
+#~ msgstr "Seleccione la locación y el directorio de mapas de usuario (mapset) del proyecto."
 
 #~ msgid "Manage"
 #~ msgstr "Administrar."
diff --git a/misc/m.measure/m.measure.html b/misc/m.measure/m.measure.html
index 5f1a28c..b94db39 100644
--- a/misc/m.measure/m.measure.html
+++ b/misc/m.measure/m.measure.html
@@ -13,4 +13,4 @@ Some updates by Martin Landa, CTU in Prague, Czech Republic
 Derived from d.measure by James Westervelt, Michael Shapiro, U.S. Army
 Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/mswindows/osgeo4w/env.bat.tmpl b/mswindows/osgeo4w/env.bat.tmpl
index 9da7d84..b77ca0a 100644
--- a/mswindows/osgeo4w/env.bat.tmpl
+++ b/mswindows/osgeo4w/env.bat.tmpl
@@ -4,6 +4,10 @@ REM
 
 set GISBASE=%OSGEO4W_ROOT%\apps\grass\grass- at VERSION@
 
+REM Uncomment if you want to use Bash instead of Cmd
+REM Note that msys package must be also installed
+REM set GRASS_SH=%OSGEO4W_ROOT%\apps\msys\bin\sh.exe
+
 set GRASS_PYTHON=%OSGEO4W_ROOT%\bin\python.exe
 set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python27
 
diff --git a/mswindows/osgeo4w/package.sh b/mswindows/osgeo4w/package.sh
index e5e44ed..7f80b2c 100755
--- a/mswindows/osgeo4w/package.sh
+++ b/mswindows/osgeo4w/package.sh
@@ -119,7 +119,7 @@ log dll.to.a
 dll_to_a $OSGEO4W_ROOT_MSYS/bin/proj.dll        mswindows/osgeo4w/lib/libproj
 dll_to_a $OSGEO4W_ROOT_MSYS/bin/zlib1.dll       mswindows/osgeo4w/lib/libz
 dll_to_a $OSGEO4W_ROOT_MSYS/bin/iconv.dll       mswindows/osgeo4w/lib/libiconv
-dll_to_a $OSGEO4W_ROOT_MSYS/bin/gdal111.dll     mswindows/osgeo4w/lib/libgdal
+dll_to_a $OSGEO4W_ROOT_MSYS/bin/gdal200.dll     mswindows/osgeo4w/lib/libgdal
 dll_to_a $OSGEO4W_ROOT_MSYS/bin/liblas_c.dll    mswindows/osgeo4w/lib/liblas_c
 dll_to_a $OSGEO4W_ROOT_MSYS/bin/geos_c.dll      mswindows/osgeo4w/lib/libgeos_c
 dll_to_a $OSGEO4W_ROOT_MSYS/bin/libtiff.dll     mswindows/osgeo4w/lib/libtiff
@@ -254,6 +254,7 @@ if [ -n "$PACKAGE_PATCH" ]; then
 	/mingw${MINGW_POSTFIX}/bin/libsystre-0.dll \
 	/mingw${MINGW_POSTFIX}/bin/libtre-5.dll \
         /mingw${MINGW_POSTFIX}/bin/zlib1.dll \
+        /mingw${MINGW_POSTFIX}/bin/libstdc++-6.dll \
 	apps/grass/grass-$VERSION/bin
     cp -uv /mingw${MINGW_POSTFIX}/etc/fonts/fonts.conf \
 	apps/grass/grass-$VERSION/etc
diff --git a/raster/r.category/r.category.html b/raster/r.category/r.category.html
index b4364e1..83f4e3c 100644
--- a/raster/r.category/r.category.html
+++ b/raster/r.category/r.category.html
@@ -90,7 +90,7 @@ string for category "num":
 <p>
 <tt>sprintf(buff,"Elevation: %.2f to %.2f feet", num*5.0+1000, num*5.0*1005)</tt>
 
-<p>Note: while both the format and coefficent lines must be present
+<p>Note: while both the format and coefficient lines must be present
       a blank line for the format string will effectively suppress
       automatic label generation.
 <!--
@@ -173,4 +173,4 @@ UNIX Manual entries for <i>awk</i> and <i>sort</i>
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory<br>
 Hamish Bowman, University of Otago, New Zealand (label creation options)
 
-<p><i>Last changed: $Date: 2015-12-27 21:55:06 +0100 (Sun, 27 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2016-03-08 09:08:23 +0100 (Tue, 08 Mar 2016) $</i>
diff --git a/raster/r.colors/.pgm b/raster/r.colors/.pgm
deleted file mode 100644
index b1d9570..0000000
--- a/raster/r.colors/.pgm
+++ /dev/null
@@ -1,4 +0,0 @@
-P5
-15 85
-255
-������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ [...]
\ No newline at end of file
diff --git a/raster/r.cost/main.c b/raster/r.cost/main.c
index 0925d1a..a1ce2b4 100644
--- a/raster/r.cost/main.c
+++ b/raster/r.cost/main.c
@@ -678,7 +678,7 @@ int main(int argc, char *argv[])
 	    Rast_get_row(fd, cell2, row, data_type2);
 	    ptr2 = cell2;
 	    for (col = 0; col < ncols; col++) {
-		/* Did I understand that concept of cummulative cost map? - (pmx) 12 april 2000 */
+		/* Did I understand that concept of cumulative cost map? - (pmx) 12 april 2000 */
 		if (!Rast_is_null_value(ptr2, data_type2)) {
 		    double cellval;
 
diff --git a/raster/r.cross/r.cross.html b/raster/r.cross/r.cross.html
index a0dc538..243fa1e 100644
--- a/raster/r.cross/r.cross.html
+++ b/raster/r.cross/r.cross.html
@@ -86,12 +86,7 @@ In the above example, the category labels would be:
 
 A random color table is also generated for the <em>output</em> map layer. 
 
-<h2>NOTES</h2>
-
-When run non-interactively, <em>r.cross</em> will not protect existing 
-files in the user's mapset. If the user specifies an <em>output</em> 
-file name that already exists in his mapset, the existing file will 
-be overwritten by the new <em>r.cross</em> output. 
+<!-- TODO: add example -->
 
 <h2>SEE ALSO</h2>
 
@@ -102,4 +97,4 @@ be overwritten by the new <em>r.cross</em> output.
 
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2016-01-28 12:27:18 +0100 (Thu, 28 Jan 2016) $</i>
diff --git a/raster/r.describe/r.describe.html b/raster/r.describe/r.describe.html
index f6218c0..07b3ee7 100644
--- a/raster/r.describe/r.describe.html
+++ b/raster/r.describe/r.describe.html
@@ -95,4 +95,4 @@ r.describe -1 geology
 
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster/r.external/list.c b/raster/r.external/list.c
index c307ffb..b300a12 100644
--- a/raster/r.external/list.c
+++ b/raster/r.external/list.c
@@ -1,6 +1,7 @@
 #include <stdio.h>
 
 #include <grass/gis.h>
+#include <grass/gprojects.h>
 #include <grass/glocale.h>
 
 #include <grass/gis.h>
@@ -43,3 +44,50 @@ void list_formats(void)
 		pszRWFlag, GDALGetDriverLongName(hDriver));
     }
 }
+
+void list_bands(struct Cell_head *cellhd, GDALDatasetH hDS)
+{
+    struct Cell_head loc_wind;
+    struct Key_Value *proj_info = NULL, *proj_units = NULL;
+    struct Key_Value *loc_proj_info = NULL, *loc_proj_units = NULL;
+    int n_bands, i_band, proj_same;
+    GDALRasterBandH hBand;
+    GDALDataType gdal_type;
+
+    if (GPJ_wkt_to_grass(cellhd, &proj_info,
+                         &proj_units, GDALGetProjectionRef(hDS), 0) < 0) {
+        proj_same = 0;
+    }
+    else {
+
+        G_get_default_window(&loc_wind);
+        if (loc_wind.proj != PROJECTION_XY) {
+            loc_proj_info = G_get_projinfo();
+            loc_proj_units = G_get_projunits();
+        }
+
+
+        if (loc_wind.proj != cellhd->proj ||
+            (G_compare_projections
+             (loc_proj_info, loc_proj_units, proj_info, proj_units)) < 0) {
+            proj_same = 0;
+        }
+        else {
+            proj_same = 1;
+        }
+
+    }
+
+    n_bands = GDALGetRasterCount(hDS);
+
+    for (i_band = 1; i_band <= n_bands; i_band++) {
+
+        hBand = GDALGetRasterBand(hDS, i_band);
+        gdal_type = GDALGetRasterDataType(hBand);
+
+        fprintf(stdout, "%d,%s,%d\n", i_band, GDALGetDataTypeName(gdal_type),
+                proj_same);
+
+    }
+}
+
diff --git a/raster/r.external/main.c b/raster/r.external/main.c
index 7956382..ac4a19e 100644
--- a/raster/r.external/main.c
+++ b/raster/r.external/main.c
@@ -44,7 +44,7 @@ int main(int argc, char *argv[])
 	struct Option *input, *source, *output, *band, *title;
     } parm;
     struct {
-	struct Flag *o, *f, *e, *h, *v;
+	struct Flag *o, *f, *e, *h, *v, *t;
     } flag;
     int min_band, max_band, band;
     struct band_info info;
@@ -116,6 +116,14 @@ int main(int argc, char *argv[])
     flag.v->key = 'v';
     flag.v->description = _("Flip vertically");
 
+    flag.t = G_define_flag();
+    flag.t->key = 't';
+    flag.t->label =
+        _("List available bands including band type in dataset and exit");
+    flag.t->description = _("Format: band number,type,projection check");
+    flag.t->guisection = _("Print");
+    flag.t->suppress_required = YES;
+
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
@@ -171,6 +179,13 @@ int main(int argc, char *argv[])
 
     setup_window(&cellhd, hDS, &flip);
 
+    if (flag.t->answer) {
+        list_bands(&cellhd, hDS);
+        /* close the GDALDataset to avoid segfault in libgdal */
+        GDALClose(hDS);
+        exit(EXIT_SUCCESS);
+    }
+
     check_projection(&cellhd, hDS, flag.o->answer);
 
     Rast_set_window(&cellhd);
diff --git a/raster/r.external/proto.h b/raster/r.external/proto.h
index 16547b8..682a684 100644
--- a/raster/r.external/proto.h
+++ b/raster/r.external/proto.h
@@ -35,6 +35,7 @@ void create_map(const char *, int, const char *,
 /* list.c */
 void list_layers(FILE *, const char *);
 void list_formats(void);
+void list_bands(struct Cell_head *, GDALDatasetH);
 
 /* proj.c */
 void check_projection(struct Cell_head *, GDALDatasetH, int);
diff --git a/raster/r.his/r.his.html b/raster/r.his/r.his.html
index 929a727..552fa45 100644
--- a/raster/r.his/r.his.html
+++ b/raster/r.his/r.his.html
@@ -105,7 +105,8 @@ Then convert from HIS model to RGB and show the result.
 <div class="code"><pre>
 r.mapcalc "elevation_shaded_relief_bright_50 = #elevation_shaded_relief * 1.5"
 r.colors elevation_shaded_relief_bright_50 color=grey255
-r.his hue=elevation intensity=elevation_shaded_relief_bright_50 red=shadedmap_r green=shadedmap_g blue=shadedmap_b
+r.his hue=elevation intensity=elevation_shaded_relief_bright_50 \
+      red=shadedmap_r green=shadedmap_g blue=shadedmap_b
 
 d.mon wx1
 d.rgb red=shadedmap_r green=shadedmap_g blue=shadedmap_b
@@ -131,4 +132,4 @@ d.rgb red=shadedmap_r green=shadedmap_g blue=shadedmap_b
 
 Glynn Clements (based upon <em><a href="d.his.html">d.his</a></em>)
 
-<p><i>Last changed: $Date: 2014-12-20 05:56:06 +0100 (Sat, 20 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-01-28 12:27:18 +0100 (Thu, 28 Jan 2016) $</i>
diff --git a/raster/r.in.lidar/main.c b/raster/r.in.lidar/main.c
index 390f990..503c412 100644
--- a/raster/r.in.lidar/main.c
+++ b/raster/r.in.lidar/main.c
@@ -114,7 +114,7 @@ int main(int argc, char *argv[])
 	*index_array;
     void *raster_row, *ptr;
     struct Cell_head region;
-    int rows, cols;		/* scan box size */
+    int rows, last_rows, row0, cols;		/* scan box size */
     int row, col;		/* counters */
 
     int pass, npasses;
@@ -122,7 +122,6 @@ int main(int argc, char *argv[])
     unsigned int counter;
     char buff[BUFFSIZE];
     double x, y, z;
-    double pass_north, pass_south;
     int arr_row, arr_col;
     unsigned long count, count_total;
     int skipme, i;
@@ -629,7 +628,17 @@ int main(int argc, char *argv[])
     }
     Rast_set_output_window(&region);
 
-    rows = (int)(region.rows * (percent / 100.0));
+    rows = last_rows = region.rows;
+    npasses = 1;
+    if (percent < 100) {
+	rows = (int)(region.rows * (percent / 100.0));
+	npasses = region.rows / rows;
+	last_rows = region.rows - npasses * rows;
+	if (last_rows)
+	    npasses++;
+	else
+	    last_rows = rows;
+    }
     cols = region.cols;
 
     G_debug(2, "region.n=%f  region.s=%f  region.ns_res=%f", region.north,
@@ -637,8 +646,6 @@ int main(int argc, char *argv[])
     G_debug(2, "region.rows=%d  [box_rows=%d]  region.cols=%d", region.rows,
 	    rows, region.cols);
 
-    npasses = (int)ceil(1.0 * region.rows / rows);
-
     if (!scan_flag->answer) {
 	/* check if rows * (cols + 1) go into a size_t */
 	if (sizeof(size_t) < 8) {
@@ -694,9 +701,6 @@ int main(int argc, char *argv[])
 
     count_total = line_total = 0;
 
-    /* init northern border */
-    pass_south = region.north;
-
     /* main binning loop(s) */
     for (pass = 1; pass <= npasses; pass++) {
 	LASError LAS_error;
@@ -710,16 +714,12 @@ int main(int argc, char *argv[])
 	    G_fatal_error(_("Could not rewind input file"));
 
 	/* figure out segmentation */
-	pass_north = pass_south;  /* exact copy to avoid fp errors */
-	pass_south = region.north - pass * rows * region.ns_res;
+	row0 = (pass - 1) * rows;
 	if (pass == npasses) {
-	    rows = region.rows - (pass - 1) * rows;
-	    pass_south = region.south; /* exact copy to avoid fp errors */
+	    rows = last_rows;
 	}
 
-	G_debug(2, "pass=%d/%d  pass_n=%f  pass_s=%f  rows=%d",
-		pass, npasses, pass_north, pass_south, rows);
-
+	G_debug(2, "pass=%d/%d  rows=%d", pass, npasses, rows);
 
 	if (bin_n) {
 	    G_debug(2, "allocating n_array");
@@ -821,13 +821,22 @@ int main(int argc, char *argv[])
 	    }
 	}
 
-	    if (y <= pass_south || y > pass_north) {
+	    if (y <= region.south || y > region.north) {
 		continue;
 	    }
 	    if (x < region.west || x >= region.east) {
 		continue;
 	    }
 
+	    /* find the bin in the current array box */
+	    arr_row = (int)((region.north - y) / region.ns_res) - row0;
+	    if (arr_row < 0 || arr_row >= rows) {
+		continue;
+	    }
+	    arr_col = (int)((x - region.west) / region.ew_res);
+
+	    /* G_debug(5, "arr_row: %d   arr_col: %d", arr_row, arr_col); */
+
 	    z = z * zscale;
 
 	    if (zrange_opt->answer) {
@@ -839,10 +848,6 @@ int main(int argc, char *argv[])
 	    count++;
 	    /*          G_debug(5, "x: %f, y: %f, z: %f", x, y, z); */
 
-	    /* find the bin in the current array box */
-	    arr_row = (int)((pass_north - y) / region.ns_res);
-	    arr_col = (int)((x - region.west) / region.ew_res);
-
 	    if (bin_n)
 		update_n(n_array, cols, arr_row, arr_col);
 	    if (bin_min)
diff --git a/raster/r.in.lidar/r.in.lidar.html b/raster/r.in.lidar/r.in.lidar.html
index b55faa3..326027a 100644
--- a/raster/r.in.lidar/r.in.lidar.html
+++ b/raster/r.in.lidar/r.in.lidar.html
@@ -260,11 +260,6 @@ needed to test for matching projections.
 <h2>KNOWN ISSUES</h2>
 
 <ul>
-<li> <em>n</em> map <tt>percent=100</tt> and <tt>percent=xx</tt> maps
-  differ slightly (point will fall above/below the segmentation line)
-  <br>Investigate with "<tt>r.mapcalc diff = bin_n.100 - bin_n.33</tt>" etc.
-  <br>Cause unknown.
-
 <li> "<tt>nan</tt>" can leak into <em>coeff_var</em> maps.
   <br>Cause unknown. Possible work-around: "<tt>r.null setnull=nan</tt>"
 <!-- Another method:  r.mapcalc 'No_nan = if(map == map, map, null() )' -->
@@ -302,4 +297,4 @@ Markus Metz<br>
 based on r.in.xyz by Hamish Bowman and Volker Wichmann<br>
 
 <br>
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2016-02-24 14:28:49 +0100 (Wed, 24 Feb 2016) $</i>
diff --git a/raster/r.in.xyz/main.c b/raster/r.in.xyz/main.c
index 2580217..62e10ec 100644
--- a/raster/r.in.xyz/main.c
+++ b/raster/r.in.xyz/main.c
@@ -116,7 +116,7 @@ int main(int argc, char *argv[])
 	*index_array;
     void *raster_row, *ptr;
     struct Cell_head region;
-    int rows, cols;		/* scan box size */
+    int rows, last_rows, row0, cols;		/* scan box size */
     int row, col;		/* counters */
 
     int pass, npasses;
@@ -124,7 +124,6 @@ int main(int argc, char *argv[])
     double x, y, z;
     char **tokens;
     int ntokens;		/* number of tokens */
-    double pass_north, pass_south;
     int arr_row, arr_col;
     unsigned long count, count_total;
 
@@ -476,7 +475,17 @@ int main(int argc, char *argv[])
 
 
     G_get_window(&region);
-    rows = (int)(region.rows * (percent / 100.0));
+    rows = last_rows = region.rows;
+    npasses = 1;
+    if (percent < 100) {
+	rows = (int)(region.rows * (percent / 100.0));
+	npasses = region.rows / rows;
+	last_rows = region.rows - npasses * rows;
+	if (last_rows)
+	    npasses++;
+	else
+	    last_rows = rows;
+    }
     cols = region.cols;
 
     G_debug(2, "region.n=%f  region.s=%f  region.ns_res=%f", region.north,
@@ -484,8 +493,6 @@ int main(int argc, char *argv[])
     G_debug(2, "region.rows=%d  [box_rows=%d]  region.cols=%d", region.rows,
 	    rows, region.cols);
 
-    npasses = (int)ceil(1.0 * region.rows / rows);
-
     if (!scan_flag->answer) {
 	/* check if rows * (cols + 1) go into a size_t */
 	if (sizeof(size_t) < 8) {
@@ -614,14 +621,12 @@ int main(int argc, char *argv[])
 	}
 
 	/* figure out segmentation */
-	pass_north = region.north - (pass - 1) * rows * region.ns_res;
-	if (pass == npasses)
-	    rows = region.rows - (pass - 1) * rows;
-	pass_south = pass_north - rows * region.ns_res;
-
-	G_debug(2, "pass=%d/%d  pass_n=%f  pass_s=%f  rows=%d",
-		pass, npasses, pass_north, pass_south, rows);
+	row0 = (pass - 1) * rows;
+	if (pass == npasses) {
+	    rows = last_rows;
+	}
 
+	G_debug(2, "pass=%d/%d  rows=%d", pass, npasses, rows);
 
 	if (bin_n) {
 	    G_debug(2, "allocating n_array");
@@ -704,17 +709,28 @@ int main(int argc, char *argv[])
 	    if (1 != sscanf(tokens[ycol - 1], "%lf", &y))
 		G_fatal_error(_("Bad y-coordinate line %lu column %d. <%s>"),
 			      line, ycol, tokens[ycol - 1]);
-	    if (y <= pass_south || y > pass_north) {
+	    if (y <= region.south || y > region.north) {
 		G_free_tokens(tokens);
 		continue;
 	    }
 	    if (1 != sscanf(tokens[xcol - 1], "%lf", &x))
 		G_fatal_error(_("Bad x-coordinate line %lu column %d. <%s>"),
 			      line, xcol, tokens[xcol - 1]);
-	    if (x < region.west || x > region.east) {
+	    if (x < region.west || x >= region.east) {
+		G_free_tokens(tokens);
+		continue;
+	    }
+
+	    /* find the bin in the current array box */
+	    arr_row = (int)((region.north - y) / region.ns_res) - row0;
+	    if (arr_row < 0 || arr_row >= rows) {
 		G_free_tokens(tokens);
 		continue;
 	    }
+	    arr_col = (int)((x - region.west) / region.ew_res);
+
+	    /* G_debug(5, "arr_row: %d   arr_col: %d", arr_row, arr_col); */
+
 	    if (1 != sscanf(tokens[zcol - 1], "%lf", &z))
 		G_fatal_error(_("Bad z-coordinate line %lu column %d. <%s>"),
 			      line, zcol, tokens[zcol - 1]);
@@ -746,33 +762,6 @@ int main(int argc, char *argv[])
 	    /* G_debug(5, "x: %f, y: %f, z: %f", x, y, z); */
 	    G_free_tokens(tokens);
 
-	    /* find the bin in the current array box */
-	    arr_row = (int)((pass_north - y) / region.ns_res);
-	    arr_col = (int)((x - region.west) / region.ew_res);
-
-	    /* G_debug(5, "arr_row: %d   arr_col: %d", arr_row, arr_col); */
-
-	    /* The range should be [0,cols-1]. We use (int) to round down,
-	       but if the point exactly on eastern edge arr_col will be /just/
-	       on the max edge .0000000 and end up on the next row.
-	       We could make above bounds check "if(x>=region.east) continue;"
-	       But instead we go to all sorts of trouble so that not one single
-	       data point is lost. GE is too small to catch them all.
-	       We don't try to make y happy as percent segmenting will make some
-	       points happen twice that way; so instead we use the y<= test above.
-	     */
-	    if (arr_col >= cols) {
-		if (((x - region.west) / region.ew_res) - cols <
-		    10 * GRASS_EPSILON)
-		    arr_col--;
-		else {		/* oh well, we tried. */
-		    G_debug(3,
-			    "skipping extraneous data point [%.3f], column %d of %d",
-			    x, arr_col, cols);
-		    continue;
-		}
-	    }
-
 	    if (bin_n)
 		update_n(n_array, cols, arr_row, arr_col);
 	    if (bin_min)
diff --git a/raster/r.in.xyz/r.in.xyz.html b/raster/r.in.xyz/r.in.xyz.html
index f809fa1..b7d575e 100644
--- a/raster/r.in.xyz/r.in.xyz.html
+++ b/raster/r.in.xyz/r.in.xyz.html
@@ -260,15 +260,6 @@ r.colors lidar_min.rst_scaled rule=bcyr -n -e
 <h2>KNOWN ISSUES</h2>
 
 <ul>
-<li> <em>n</em> map sum can be ever-so-slightly more than `<tt>wc -l</tt>`
-  with e.g. <tt>percent=10</tt> or less.
-  <br>Cause unknown.
-
-<li> <em>n</em> map <tt>percent=100</tt> and <tt>percent=xx</tt> maps
-  differ slightly (point will fall above/below the segmentation line)
-  <br>Investigate with "<tt>r.mapcalc diff = bin_n.100 - bin_n.33</tt>" etc.
-  <br>Cause unknown.
-
 <li> "<tt>nan</tt>" can leak into <em>coeff_var</em> maps.
   <br>Cause unknown. Possible work-around: "<tt>r.null setnull=nan</tt>"
 <!-- Another method:  r.mapcalc 'No_nan = if(map == map, map, null() )' -->
@@ -319,4 +310,4 @@ Extended by Volker Wichmann to support the aggregate functions
 <i>median, percentile, skewness</i> and <i>trimmed mean</i>.
 
 <p>
-<i>Last changed: $Date: 2015-11-20 12:34:12 +0100 (Fri, 20 Nov 2015) $</i>
+<i>Last changed: $Date: 2016-02-24 14:28:01 +0100 (Wed, 24 Feb 2016) $</i>
diff --git a/raster/r.lake/main.c b/raster/r.lake/main.c
index af70e6b..d6f4cd7 100644
--- a/raster/r.lake/main.c
+++ b/raster/r.lake/main.c
@@ -283,7 +283,7 @@ int main(int argc, char *argv[])
     else
 	out_fd = Rast_open_new(seedmap, 1);
 
-    /* More pases are renudant. Real pases count is controled by altered cell count. */
+    /* More pases are renudant. Real pases count is controlled by altered cell count. */
     pases = (int)(rows * cols) / 2;
 
     G_debug(1,
diff --git a/raster/r.li/r.li.html b/raster/r.li/r.li.html
index ee0c06d..9e8977a 100644
--- a/raster/r.li/r.li.html
+++ b/raster/r.li/r.li.html
@@ -25,6 +25,11 @@ single values as output (e.g. mean patch size in the sampling area),
 as well as measures that produce a distribution of values as output
 (e.g. frequency distribution of patch sizes in the sampling area). The
 results are stored as raster maps.
+<p>
+All modules require configuration file which can be created by the
+<em>g.gui.rlisetup</em> module which is a GUI tool providing a convenient
+way to set all necessary parameters. This file can be used repetitively
+saving user from the need to specify all parameters over and over again.
 
 <h2>NOTES</h2>
 
@@ -111,10 +116,9 @@ configuration file on a 200x200 raster map, then the sample area is
 
 <h2>SEE ALSO</h2>
 
-<b>Core modules</b>:
+<b>GUI tools</b>:
 <ul>
-  <li> <a href="r.li.daemon.html">r.li.daemon</a>: job launch daemon (not visible to the user)</li>
-  <li> <a href="g.gui.rlisetup.html">g.gui.rlisetup</a>: Configuration editor for r.li.'index'</li>
+  <li> <a href="g.gui.rlisetup.html">g.gui.rlisetup</a>: Configuration editor for the <tt>r.li.*</tt> module where <tt>*</tt> is name of the index</li>
 </ul>
 
 <b>Patch indices</b>:
@@ -161,6 +165,10 @@ configuration file on a 200x200 raster map, then the sample area is
   <li> <a href="r.li.simpson.html">r.li.simpson</a>: Calculates Simpson diversity index on a raster map</li>
 </ul>
 
+<b>Core library</b>:
+<ul>
+  <li> <a href="r.li.daemon.html">r.li.daemon</a>: library with common functionality (not visible to the user)</li>
+</ul>
 
 <h2>ADDING NEW INDICES</h2>
 
@@ -198,4 +206,4 @@ Commission from Faunalia Pontedera (PI)
 Partially rewritten by Markus Metz
 
 <p>
-<i>Last changed: $Date: 2015-04-09 17:19:11 +0200 (Thu, 09 Apr 2015) $</i>
+<i>Last changed: $Date: 2016-02-08 13:53:24 +0100 (Mon, 08 Feb 2016) $</i>
diff --git a/raster/r.mapcalc/map.c b/raster/r.mapcalc/map.c
index da669cd..5b5095b 100644
--- a/raster/r.mapcalc/map.c
+++ b/raster/r.mapcalc/map.c
@@ -168,7 +168,7 @@ static void *cache_get_raw(struct row_cache *cache, int row, int data_type)
 
     if (i <= -cache->nrows || i >= cache->nrows * 2 - 1) {
 	memset(sub->valid, 0, cache->nrows);
-	sub->row = i;
+	sub->row = row;
 	read_row(cache->fd, sub->buf[0], row, data_type);
 	sub->valid[0] = 1;
 	return sub->buf[0];
@@ -307,7 +307,7 @@ static void translate_from_colors(struct map *m, DCELL *rast, CELL *cell,
  * to compute the key and the index
  *
  * This uses the BTREE library to manage the tree itself
- * btree structure must already be intialized
+ * btree structure must already be initialized
  * pcats structure must already contain category labels
  */
 
diff --git a/raster/r.mapcalc/map3.c b/raster/r.mapcalc/map3.c
index 4ca4b30..bc1f0b3 100644
--- a/raster/r.mapcalc/map3.c
+++ b/raster/r.mapcalc/map3.c
@@ -255,7 +255,7 @@ static void translate_from_colors(map * m, DCELL * rast, CELL * cell,
  * to compute the key and the index
  *
  * This uses the BTREE library to manage the tree itself
- * btree structure must already be intialized
+ * btree structure must already be initialized
  * pcats structure must already contain category labels
  */
 
diff --git a/raster/r.mapcalc/mapcalc.output b/raster/r.mapcalc/mapcalc.output
new file mode 100644
index 0000000..c5eeec4
--- /dev/null
+++ b/raster/r.mapcalc/mapcalc.output
@@ -0,0 +1,2506 @@
+Grammar
+
+    0 $accept: program $end
+
+    1 program: defs
+
+    2 defs: def
+    3     | def ';'
+    4     | def ';' defs
+    5     | error ';' defs
+
+    6 def: STRING '=' exp
+    7    | NAME '=' exp
+    8    | atom_func
+
+    9 map: STRING
+   10    | NAME
+   11    | name '@' name
+
+   12 mapmod: '@'
+   13       | 'r'
+   14       | 'g'
+   15       | 'b'
+   16       | '#'
+   17       | 'y'
+   18       | 'i'
+
+   19 index: INTEGER
+   20      | '-' INTEGER
+
+   21 expr_list: exp
+   22          | exp ',' expr_list
+
+   23 atom_var: VARSTRING
+   24         | VARNAME
+
+   25 atom_map: map '[' index ']'
+   26         | map '[' index ',' index ']'
+   27         | map '[' index ',' index ',' index ']'
+   28         | map
+   29         | mapmod map '[' index ']'
+   30         | mapmod map '[' index ',' index ']'
+   31         | mapmod map '[' index ',' index ',' index ']'
+   32         | mapmod map
+
+   33 atom_func: name '(' ')'
+   34          | name '(' expr_list ')'
+
+   35 exp_atom: '(' exp ')'
+   36         | atom_var
+   37         | atom_map
+   38         | atom_func
+   39         | INTEGER
+   40         | FLOAT
+   41         | DOUBLE
+
+   42 exp_pre: exp_atom
+   43        | '-' exp_atom
+   44        | '~' exp_atom
+   45        | '!' exp_atom
+
+   46 exp_pow: exp_pre
+   47        | exp_pre '^' exp_pow
+
+   48 exp_mul: exp_pow
+   49        | exp_mul '*' exp_pow
+   50        | exp_mul '/' exp_pow
+   51        | exp_mul '%' exp_pow
+
+   52 exp_add: exp_mul
+   53        | exp_add '+' exp_mul
+   54        | exp_add '-' exp_mul
+
+   55 exp_sh: exp_add
+   56       | exp_sh LSH exp_add
+   57       | exp_sh RSH exp_add
+   58       | exp_sh RSHU exp_add
+
+   59 exp_cmp: exp_sh
+   60        | exp_cmp GT exp_sh
+   61        | exp_cmp GE exp_sh
+   62        | exp_cmp LT exp_sh
+   63        | exp_cmp LE exp_sh
+
+   64 exp_eq: exp_cmp
+   65       | exp_eq EQ exp_cmp
+   66       | exp_eq NE exp_cmp
+
+   67 exp_bitand: exp_eq
+   68           | exp_bitand BITAND exp_eq
+
+   69 exp_bitor: exp_bitand
+   70          | exp_bitor BITOR exp_bitand
+
+   71 exp_logand: exp_bitor
+   72           | exp_logand LOGAND exp_bitor
+   73           | exp_logand LOGAND2 exp_bitor
+
+   74 exp_logor: exp_logand
+   75          | exp_logor LOGOR exp_logand
+   76          | exp_logor LOGOR2 exp_logand
+
+   77 exp_cond: exp_logor
+   78         | exp_logor '?' exp_cond ':' exp_cond
+
+   79 exp_let: exp_cond
+   80        | name '=' exp_let
+
+   81 exp: exp_let
+
+   82 name: NAME
+   83     | VARNAME
+
+
+Terminals, with rules where they appear
+
+$end (0) 0
+'!' (33) 45
+'#' (35) 16
+'%' (37) 51
+'(' (40) 33 34 35
+')' (41) 33 34 35
+'*' (42) 49
+'+' (43) 53
+',' (44) 22 26 27 30 31
+'-' (45) 20 43 54
+'/' (47) 50
+':' (58) 78
+';' (59) 3 4 5
+'=' (61) 6 7 80
+'?' (63) 78
+'@' (64) 11 12
+'[' (91) 25 26 27 29 30 31
+']' (93) 25 26 27 29 30 31
+'^' (94) 47
+'b' (98) 15
+'g' (103) 14
+'i' (105) 18
+'r' (114) 13
+'y' (121) 17
+'~' (126) 44
+error (256) 5
+VARNAME (258) 24 83
+NAME (259) 7 10 82
+VARSTRING (260) 23
+STRING (261) 6 9
+INTEGER (262) 19 20 39
+FLOAT (263) 40
+DOUBLE (264) 41
+GT (265) 60
+GE (266) 61
+LT (267) 62
+LE (268) 63
+EQ (269) 65
+NE (270) 66
+LOGAND (271) 72
+LOGOR (272) 75
+LOGAND2 (273) 73
+LOGOR2 (274) 76
+BITAND (275) 68
+BITOR (276) 70
+LSH (277) 56
+RSH (278) 57
+RSHU (279) 58
+
+
+Nonterminals, with rules where they appear
+
+$accept (49)
+    on left: 0
+program (50)
+    on left: 1, on right: 0
+defs (51)
+    on left: 2 3 4 5, on right: 1 4 5
+def (52)
+    on left: 6 7 8, on right: 2 3 4
+map (53)
+    on left: 9 10 11, on right: 25 26 27 28 29 30 31 32
+mapmod (54)
+    on left: 12 13 14 15 16 17 18, on right: 29 30 31 32
+index (55)
+    on left: 19 20, on right: 25 26 27 29 30 31
+expr_list (56)
+    on left: 21 22, on right: 22 34
+atom_var (57)
+    on left: 23 24, on right: 36
+atom_map (58)
+    on left: 25 26 27 28 29 30 31 32, on right: 37
+atom_func (59)
+    on left: 33 34, on right: 8 38
+exp_atom (60)
+    on left: 35 36 37 38 39 40 41, on right: 42 43 44 45
+exp_pre (61)
+    on left: 42 43 44 45, on right: 46 47
+exp_pow (62)
+    on left: 46 47, on right: 47 48 49 50 51
+exp_mul (63)
+    on left: 48 49 50 51, on right: 49 50 51 52 53 54
+exp_add (64)
+    on left: 52 53 54, on right: 53 54 55 56 57 58
+exp_sh (65)
+    on left: 55 56 57 58, on right: 56 57 58 59 60 61 62 63
+exp_cmp (66)
+    on left: 59 60 61 62 63, on right: 60 61 62 63 64 65 66
+exp_eq (67)
+    on left: 64 65 66, on right: 65 66 67 68
+exp_bitand (68)
+    on left: 67 68, on right: 68 69 70
+exp_bitor (69)
+    on left: 69 70, on right: 70 71 72 73
+exp_logand (70)
+    on left: 71 72 73, on right: 72 73 74 75 76
+exp_logor (71)
+    on left: 74 75 76, on right: 75 76 77 78
+exp_cond (72)
+    on left: 77 78, on right: 78 79
+exp_let (73)
+    on left: 79 80, on right: 80 81
+exp (74)
+    on left: 81, on right: 6 7 21 22 35
+name (75)
+    on left: 82 83, on right: 11 33 34 80
+
+
+State 0
+
+    0 $accept: . program $end
+
+    error    shift, and go to state 1
+    VARNAME  shift, and go to state 2
+    NAME     shift, and go to state 3
+    STRING   shift, and go to state 4
+
+    program    go to state 5
+    defs       go to state 6
+    def        go to state 7
+    atom_func  go to state 8
+    name       go to state 9
+
+
+State 1
+
+    5 defs: error . ';' defs
+
+    ';'  shift, and go to state 10
+
+
+State 2
+
+   83 name: VARNAME .
+
+    $default  reduce using rule 83 (name)
+
+
+State 3
+
+    7 def: NAME . '=' exp
+   82 name: NAME .
+
+    '='  shift, and go to state 11
+
+    $default  reduce using rule 82 (name)
+
+
+State 4
+
+    6 def: STRING . '=' exp
+
+    '='  shift, and go to state 12
+
+
+State 5
+
+    0 $accept: program . $end
+
+    $end  shift, and go to state 13
+
+
+State 6
+
+    1 program: defs .
+
+    $default  reduce using rule 1 (program)
+
+
+State 7
+
+    2 defs: def .
+    3     | def . ';'
+    4     | def . ';' defs
+
+    ';'  shift, and go to state 14
+
+    $default  reduce using rule 2 (defs)
+
+
+State 8
+
+    8 def: atom_func .
+
+    $default  reduce using rule 8 (def)
+
+
+State 9
+
+   33 atom_func: name . '(' ')'
+   34          | name . '(' expr_list ')'
+
+    '('  shift, and go to state 15
+
+
+State 10
+
+    5 defs: error ';' . defs
+
+    error    shift, and go to state 1
+    VARNAME  shift, and go to state 2
+    NAME     shift, and go to state 3
+    STRING   shift, and go to state 4
+
+    defs       go to state 16
+    def        go to state 7
+    atom_func  go to state 8
+    name       go to state 9
+
+
+State 11
+
+    7 def: NAME '=' . exp
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 48
+    exp_bitor   go to state 49
+    exp_logand  go to state 50
+    exp_logor   go to state 51
+    exp_cond    go to state 52
+    exp_let     go to state 53
+    exp         go to state 54
+    name        go to state 55
+
+
+State 12
+
+    6 def: STRING '=' . exp
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 48
+    exp_bitor   go to state 49
+    exp_logand  go to state 50
+    exp_logor   go to state 51
+    exp_cond    go to state 52
+    exp_let     go to state 53
+    exp         go to state 56
+    name        go to state 55
+
+
+State 13
+
+    0 $accept: program $end .
+
+    $default  accept
+
+
+State 14
+
+    3 defs: def ';' .
+    4     | def ';' . defs
+
+    error    shift, and go to state 1
+    VARNAME  shift, and go to state 2
+    NAME     shift, and go to state 3
+    STRING   shift, and go to state 4
+
+    $end  reduce using rule 3 (defs)
+
+    defs       go to state 57
+    def        go to state 7
+    atom_func  go to state 8
+    name       go to state 9
+
+
+State 15
+
+   33 atom_func: name '(' . ')'
+   34          | name '(' . expr_list ')'
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    ')'        shift, and go to state 58
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    expr_list   go to state 59
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 48
+    exp_bitor   go to state 49
+    exp_logand  go to state 50
+    exp_logor   go to state 51
+    exp_cond    go to state 52
+    exp_let     go to state 53
+    exp         go to state 60
+    name        go to state 55
+
+
+State 16
+
+    5 defs: error ';' defs .
+
+    $default  reduce using rule 5 (defs)
+
+
+State 17
+
+   24 atom_var: VARNAME .
+   83 name: VARNAME .
+
+    '='       reduce using rule 83 (name)
+    '@'       reduce using rule 83 (name)
+    '('       reduce using rule 83 (name)
+    $default  reduce using rule 24 (atom_var)
+
+
+State 18
+
+   10 map: NAME .
+   82 name: NAME .
+
+    '='       reduce using rule 82 (name)
+    '@'       reduce using rule 82 (name)
+    '('       reduce using rule 82 (name)
+    $default  reduce using rule 10 (map)
+
+
+State 19
+
+   23 atom_var: VARSTRING .
+
+    $default  reduce using rule 23 (atom_var)
+
+
+State 20
+
+    9 map: STRING .
+
+    $default  reduce using rule 9 (map)
+
+
+State 21
+
+   39 exp_atom: INTEGER .
+
+    $default  reduce using rule 39 (exp_atom)
+
+
+State 22
+
+   40 exp_atom: FLOAT .
+
+    $default  reduce using rule 40 (exp_atom)
+
+
+State 23
+
+   41 exp_atom: DOUBLE .
+
+    $default  reduce using rule 41 (exp_atom)
+
+
+State 24
+
+   12 mapmod: '@' .
+
+    $default  reduce using rule 12 (mapmod)
+
+
+State 25
+
+   13 mapmod: 'r' .
+
+    $default  reduce using rule 13 (mapmod)
+
+
+State 26
+
+   14 mapmod: 'g' .
+
+    $default  reduce using rule 14 (mapmod)
+
+
+State 27
+
+   15 mapmod: 'b' .
+
+    $default  reduce using rule 15 (mapmod)
+
+
+State 28
+
+   16 mapmod: '#' .
+
+    $default  reduce using rule 16 (mapmod)
+
+
+State 29
+
+   17 mapmod: 'y' .
+
+    $default  reduce using rule 17 (mapmod)
+
+
+State 30
+
+   18 mapmod: 'i' .
+
+    $default  reduce using rule 18 (mapmod)
+
+
+State 31
+
+   43 exp_pre: '-' . exp_atom
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '('        shift, and go to state 32
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 61
+    name       go to state 62
+
+
+State 32
+
+   35 exp_atom: '(' . exp ')'
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 48
+    exp_bitor   go to state 49
+    exp_logand  go to state 50
+    exp_logor   go to state 51
+    exp_cond    go to state 52
+    exp_let     go to state 53
+    exp         go to state 63
+    name        go to state 55
+
+
+State 33
+
+   44 exp_pre: '~' . exp_atom
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '('        shift, and go to state 32
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 64
+    name       go to state 62
+
+
+State 34
+
+   45 exp_pre: '!' . exp_atom
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '('        shift, and go to state 32
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 65
+    name       go to state 62
+
+
+State 35
+
+   25 atom_map: map . '[' index ']'
+   26         | map . '[' index ',' index ']'
+   27         | map . '[' index ',' index ',' index ']'
+   28         | map .
+
+    '['  shift, and go to state 66
+
+    $default  reduce using rule 28 (atom_map)
+
+
+State 36
+
+   29 atom_map: mapmod . map '[' index ']'
+   30         | mapmod . map '[' index ',' index ']'
+   31         | mapmod . map '[' index ',' index ',' index ']'
+   32         | mapmod . map
+
+    VARNAME  shift, and go to state 2
+    NAME     shift, and go to state 18
+    STRING   shift, and go to state 20
+
+    map   go to state 67
+    name  go to state 68
+
+
+State 37
+
+   36 exp_atom: atom_var .
+
+    $default  reduce using rule 36 (exp_atom)
+
+
+State 38
+
+   37 exp_atom: atom_map .
+
+    $default  reduce using rule 37 (exp_atom)
+
+
+State 39
+
+   38 exp_atom: atom_func .
+
+    $default  reduce using rule 38 (exp_atom)
+
+
+State 40
+
+   42 exp_pre: exp_atom .
+
+    $default  reduce using rule 42 (exp_pre)
+
+
+State 41
+
+   46 exp_pow: exp_pre .
+   47        | exp_pre . '^' exp_pow
+
+    '^'  shift, and go to state 69
+
+    $default  reduce using rule 46 (exp_pow)
+
+
+State 42
+
+   48 exp_mul: exp_pow .
+
+    $default  reduce using rule 48 (exp_mul)
+
+
+State 43
+
+   49 exp_mul: exp_mul . '*' exp_pow
+   50        | exp_mul . '/' exp_pow
+   51        | exp_mul . '%' exp_pow
+   52 exp_add: exp_mul .
+
+    '*'  shift, and go to state 70
+    '/'  shift, and go to state 71
+    '%'  shift, and go to state 72
+
+    $default  reduce using rule 52 (exp_add)
+
+
+State 44
+
+   53 exp_add: exp_add . '+' exp_mul
+   54        | exp_add . '-' exp_mul
+   55 exp_sh: exp_add .
+
+    '-'  shift, and go to state 73
+    '+'  shift, and go to state 74
+
+    $default  reduce using rule 55 (exp_sh)
+
+
+State 45
+
+   56 exp_sh: exp_sh . LSH exp_add
+   57       | exp_sh . RSH exp_add
+   58       | exp_sh . RSHU exp_add
+   59 exp_cmp: exp_sh .
+
+    LSH   shift, and go to state 75
+    RSH   shift, and go to state 76
+    RSHU  shift, and go to state 77
+
+    $default  reduce using rule 59 (exp_cmp)
+
+
+State 46
+
+   60 exp_cmp: exp_cmp . GT exp_sh
+   61        | exp_cmp . GE exp_sh
+   62        | exp_cmp . LT exp_sh
+   63        | exp_cmp . LE exp_sh
+   64 exp_eq: exp_cmp .
+
+    GT  shift, and go to state 78
+    GE  shift, and go to state 79
+    LT  shift, and go to state 80
+    LE  shift, and go to state 81
+
+    $default  reduce using rule 64 (exp_eq)
+
+
+State 47
+
+   65 exp_eq: exp_eq . EQ exp_cmp
+   66       | exp_eq . NE exp_cmp
+   67 exp_bitand: exp_eq .
+
+    EQ  shift, and go to state 82
+    NE  shift, and go to state 83
+
+    $default  reduce using rule 67 (exp_bitand)
+
+
+State 48
+
+   68 exp_bitand: exp_bitand . BITAND exp_eq
+   69 exp_bitor: exp_bitand .
+
+    BITAND  shift, and go to state 84
+
+    $default  reduce using rule 69 (exp_bitor)
+
+
+State 49
+
+   70 exp_bitor: exp_bitor . BITOR exp_bitand
+   71 exp_logand: exp_bitor .
+
+    BITOR  shift, and go to state 85
+
+    $default  reduce using rule 71 (exp_logand)
+
+
+State 50
+
+   72 exp_logand: exp_logand . LOGAND exp_bitor
+   73           | exp_logand . LOGAND2 exp_bitor
+   74 exp_logor: exp_logand .
+
+    LOGAND   shift, and go to state 86
+    LOGAND2  shift, and go to state 87
+
+    $default  reduce using rule 74 (exp_logor)
+
+
+State 51
+
+   75 exp_logor: exp_logor . LOGOR exp_logand
+   76          | exp_logor . LOGOR2 exp_logand
+   77 exp_cond: exp_logor .
+   78         | exp_logor . '?' exp_cond ':' exp_cond
+
+    LOGOR   shift, and go to state 88
+    LOGOR2  shift, and go to state 89
+    '?'     shift, and go to state 90
+
+    $default  reduce using rule 77 (exp_cond)
+
+
+State 52
+
+   79 exp_let: exp_cond .
+
+    $default  reduce using rule 79 (exp_let)
+
+
+State 53
+
+   81 exp: exp_let .
+
+    $default  reduce using rule 81 (exp)
+
+
+State 54
+
+    7 def: NAME '=' exp .
+
+    $default  reduce using rule 7 (def)
+
+
+State 55
+
+   11 map: name . '@' name
+   33 atom_func: name . '(' ')'
+   34          | name . '(' expr_list ')'
+   80 exp_let: name . '=' exp_let
+
+    '='  shift, and go to state 91
+    '@'  shift, and go to state 92
+    '('  shift, and go to state 15
+
+
+State 56
+
+    6 def: STRING '=' exp .
+
+    $default  reduce using rule 6 (def)
+
+
+State 57
+
+    4 defs: def ';' defs .
+
+    $default  reduce using rule 4 (defs)
+
+
+State 58
+
+   33 atom_func: name '(' ')' .
+
+    $default  reduce using rule 33 (atom_func)
+
+
+State 59
+
+   34 atom_func: name '(' expr_list . ')'
+
+    ')'  shift, and go to state 93
+
+
+State 60
+
+   21 expr_list: exp .
+   22          | exp . ',' expr_list
+
+    ','  shift, and go to state 94
+
+    $default  reduce using rule 21 (expr_list)
+
+
+State 61
+
+   43 exp_pre: '-' exp_atom .
+
+    $default  reduce using rule 43 (exp_pre)
+
+
+State 62
+
+   11 map: name . '@' name
+   33 atom_func: name . '(' ')'
+   34          | name . '(' expr_list ')'
+
+    '@'  shift, and go to state 92
+    '('  shift, and go to state 15
+
+
+State 63
+
+   35 exp_atom: '(' exp . ')'
+
+    ')'  shift, and go to state 95
+
+
+State 64
+
+   44 exp_pre: '~' exp_atom .
+
+    $default  reduce using rule 44 (exp_pre)
+
+
+State 65
+
+   45 exp_pre: '!' exp_atom .
+
+    $default  reduce using rule 45 (exp_pre)
+
+
+State 66
+
+   25 atom_map: map '[' . index ']'
+   26         | map '[' . index ',' index ']'
+   27         | map '[' . index ',' index ',' index ']'
+
+    INTEGER  shift, and go to state 96
+    '-'      shift, and go to state 97
+
+    index  go to state 98
+
+
+State 67
+
+   29 atom_map: mapmod map . '[' index ']'
+   30         | mapmod map . '[' index ',' index ']'
+   31         | mapmod map . '[' index ',' index ',' index ']'
+   32         | mapmod map .
+
+    '['  shift, and go to state 99
+
+    $default  reduce using rule 32 (atom_map)
+
+
+State 68
+
+   11 map: name . '@' name
+
+    '@'  shift, and go to state 92
+
+
+State 69
+
+   47 exp_pow: exp_pre '^' . exp_pow
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 100
+    name       go to state 62
+
+
+State 70
+
+   49 exp_mul: exp_mul '*' . exp_pow
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 101
+    name       go to state 62
+
+
+State 71
+
+   50 exp_mul: exp_mul '/' . exp_pow
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 102
+    name       go to state 62
+
+
+State 72
+
+   51 exp_mul: exp_mul '%' . exp_pow
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 103
+    name       go to state 62
+
+
+State 73
+
+   54 exp_add: exp_add '-' . exp_mul
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 42
+    exp_mul    go to state 104
+    name       go to state 62
+
+
+State 74
+
+   53 exp_add: exp_add '+' . exp_mul
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 42
+    exp_mul    go to state 105
+    name       go to state 62
+
+
+State 75
+
+   56 exp_sh: exp_sh LSH . exp_add
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 42
+    exp_mul    go to state 43
+    exp_add    go to state 106
+    name       go to state 62
+
+
+State 76
+
+   57 exp_sh: exp_sh RSH . exp_add
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 42
+    exp_mul    go to state 43
+    exp_add    go to state 107
+    name       go to state 62
+
+
+State 77
+
+   58 exp_sh: exp_sh RSHU . exp_add
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 42
+    exp_mul    go to state 43
+    exp_add    go to state 108
+    name       go to state 62
+
+
+State 78
+
+   60 exp_cmp: exp_cmp GT . exp_sh
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 42
+    exp_mul    go to state 43
+    exp_add    go to state 44
+    exp_sh     go to state 109
+    name       go to state 62
+
+
+State 79
+
+   61 exp_cmp: exp_cmp GE . exp_sh
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 42
+    exp_mul    go to state 43
+    exp_add    go to state 44
+    exp_sh     go to state 110
+    name       go to state 62
+
+
+State 80
+
+   62 exp_cmp: exp_cmp LT . exp_sh
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 42
+    exp_mul    go to state 43
+    exp_add    go to state 44
+    exp_sh     go to state 111
+    name       go to state 62
+
+
+State 81
+
+   63 exp_cmp: exp_cmp LE . exp_sh
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 42
+    exp_mul    go to state 43
+    exp_add    go to state 44
+    exp_sh     go to state 112
+    name       go to state 62
+
+
+State 82
+
+   65 exp_eq: exp_eq EQ . exp_cmp
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 42
+    exp_mul    go to state 43
+    exp_add    go to state 44
+    exp_sh     go to state 45
+    exp_cmp    go to state 113
+    name       go to state 62
+
+
+State 83
+
+   66 exp_eq: exp_eq NE . exp_cmp
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 42
+    exp_mul    go to state 43
+    exp_add    go to state 44
+    exp_sh     go to state 45
+    exp_cmp    go to state 114
+    name       go to state 62
+
+
+State 84
+
+   68 exp_bitand: exp_bitand BITAND . exp_eq
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map        go to state 35
+    mapmod     go to state 36
+    atom_var   go to state 37
+    atom_map   go to state 38
+    atom_func  go to state 39
+    exp_atom   go to state 40
+    exp_pre    go to state 41
+    exp_pow    go to state 42
+    exp_mul    go to state 43
+    exp_add    go to state 44
+    exp_sh     go to state 45
+    exp_cmp    go to state 46
+    exp_eq     go to state 115
+    name       go to state 62
+
+
+State 85
+
+   70 exp_bitor: exp_bitor BITOR . exp_bitand
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 116
+    name        go to state 62
+
+
+State 86
+
+   72 exp_logand: exp_logand LOGAND . exp_bitor
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 48
+    exp_bitor   go to state 117
+    name        go to state 62
+
+
+State 87
+
+   73 exp_logand: exp_logand LOGAND2 . exp_bitor
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 48
+    exp_bitor   go to state 118
+    name        go to state 62
+
+
+State 88
+
+   75 exp_logor: exp_logor LOGOR . exp_logand
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 48
+    exp_bitor   go to state 49
+    exp_logand  go to state 119
+    name        go to state 62
+
+
+State 89
+
+   76 exp_logor: exp_logor LOGOR2 . exp_logand
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 48
+    exp_bitor   go to state 49
+    exp_logand  go to state 120
+    name        go to state 62
+
+
+State 90
+
+   78 exp_cond: exp_logor '?' . exp_cond ':' exp_cond
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 48
+    exp_bitor   go to state 49
+    exp_logand  go to state 50
+    exp_logor   go to state 51
+    exp_cond    go to state 121
+    name        go to state 62
+
+
+State 91
+
+   80 exp_let: name '=' . exp_let
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 48
+    exp_bitor   go to state 49
+    exp_logand  go to state 50
+    exp_logor   go to state 51
+    exp_cond    go to state 52
+    exp_let     go to state 122
+    name        go to state 55
+
+
+State 92
+
+   11 map: name '@' . name
+
+    VARNAME  shift, and go to state 2
+    NAME     shift, and go to state 123
+
+    name  go to state 124
+
+
+State 93
+
+   34 atom_func: name '(' expr_list ')' .
+
+    $default  reduce using rule 34 (atom_func)
+
+
+State 94
+
+   22 expr_list: exp ',' . expr_list
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    expr_list   go to state 125
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 48
+    exp_bitor   go to state 49
+    exp_logand  go to state 50
+    exp_logor   go to state 51
+    exp_cond    go to state 52
+    exp_let     go to state 53
+    exp         go to state 60
+    name        go to state 55
+
+
+State 95
+
+   35 exp_atom: '(' exp ')' .
+
+    $default  reduce using rule 35 (exp_atom)
+
+
+State 96
+
+   19 index: INTEGER .
+
+    $default  reduce using rule 19 (index)
+
+
+State 97
+
+   20 index: '-' . INTEGER
+
+    INTEGER  shift, and go to state 126
+
+
+State 98
+
+   25 atom_map: map '[' index . ']'
+   26         | map '[' index . ',' index ']'
+   27         | map '[' index . ',' index ',' index ']'
+
+    ','  shift, and go to state 127
+    ']'  shift, and go to state 128
+
+
+State 99
+
+   29 atom_map: mapmod map '[' . index ']'
+   30         | mapmod map '[' . index ',' index ']'
+   31         | mapmod map '[' . index ',' index ',' index ']'
+
+    INTEGER  shift, and go to state 96
+    '-'      shift, and go to state 97
+
+    index  go to state 129
+
+
+State 100
+
+   47 exp_pow: exp_pre '^' exp_pow .
+
+    $default  reduce using rule 47 (exp_pow)
+
+
+State 101
+
+   49 exp_mul: exp_mul '*' exp_pow .
+
+    $default  reduce using rule 49 (exp_mul)
+
+
+State 102
+
+   50 exp_mul: exp_mul '/' exp_pow .
+
+    $default  reduce using rule 50 (exp_mul)
+
+
+State 103
+
+   51 exp_mul: exp_mul '%' exp_pow .
+
+    $default  reduce using rule 51 (exp_mul)
+
+
+State 104
+
+   49 exp_mul: exp_mul . '*' exp_pow
+   50        | exp_mul . '/' exp_pow
+   51        | exp_mul . '%' exp_pow
+   54 exp_add: exp_add '-' exp_mul .
+
+    '*'  shift, and go to state 70
+    '/'  shift, and go to state 71
+    '%'  shift, and go to state 72
+
+    $default  reduce using rule 54 (exp_add)
+
+
+State 105
+
+   49 exp_mul: exp_mul . '*' exp_pow
+   50        | exp_mul . '/' exp_pow
+   51        | exp_mul . '%' exp_pow
+   53 exp_add: exp_add '+' exp_mul .
+
+    '*'  shift, and go to state 70
+    '/'  shift, and go to state 71
+    '%'  shift, and go to state 72
+
+    $default  reduce using rule 53 (exp_add)
+
+
+State 106
+
+   53 exp_add: exp_add . '+' exp_mul
+   54        | exp_add . '-' exp_mul
+   56 exp_sh: exp_sh LSH exp_add .
+
+    '-'  shift, and go to state 73
+    '+'  shift, and go to state 74
+
+    $default  reduce using rule 56 (exp_sh)
+
+
+State 107
+
+   53 exp_add: exp_add . '+' exp_mul
+   54        | exp_add . '-' exp_mul
+   57 exp_sh: exp_sh RSH exp_add .
+
+    '-'  shift, and go to state 73
+    '+'  shift, and go to state 74
+
+    $default  reduce using rule 57 (exp_sh)
+
+
+State 108
+
+   53 exp_add: exp_add . '+' exp_mul
+   54        | exp_add . '-' exp_mul
+   58 exp_sh: exp_sh RSHU exp_add .
+
+    '-'  shift, and go to state 73
+    '+'  shift, and go to state 74
+
+    $default  reduce using rule 58 (exp_sh)
+
+
+State 109
+
+   56 exp_sh: exp_sh . LSH exp_add
+   57       | exp_sh . RSH exp_add
+   58       | exp_sh . RSHU exp_add
+   60 exp_cmp: exp_cmp GT exp_sh .
+
+    LSH   shift, and go to state 75
+    RSH   shift, and go to state 76
+    RSHU  shift, and go to state 77
+
+    $default  reduce using rule 60 (exp_cmp)
+
+
+State 110
+
+   56 exp_sh: exp_sh . LSH exp_add
+   57       | exp_sh . RSH exp_add
+   58       | exp_sh . RSHU exp_add
+   61 exp_cmp: exp_cmp GE exp_sh .
+
+    LSH   shift, and go to state 75
+    RSH   shift, and go to state 76
+    RSHU  shift, and go to state 77
+
+    $default  reduce using rule 61 (exp_cmp)
+
+
+State 111
+
+   56 exp_sh: exp_sh . LSH exp_add
+   57       | exp_sh . RSH exp_add
+   58       | exp_sh . RSHU exp_add
+   62 exp_cmp: exp_cmp LT exp_sh .
+
+    LSH   shift, and go to state 75
+    RSH   shift, and go to state 76
+    RSHU  shift, and go to state 77
+
+    $default  reduce using rule 62 (exp_cmp)
+
+
+State 112
+
+   56 exp_sh: exp_sh . LSH exp_add
+   57       | exp_sh . RSH exp_add
+   58       | exp_sh . RSHU exp_add
+   63 exp_cmp: exp_cmp LE exp_sh .
+
+    LSH   shift, and go to state 75
+    RSH   shift, and go to state 76
+    RSHU  shift, and go to state 77
+
+    $default  reduce using rule 63 (exp_cmp)
+
+
+State 113
+
+   60 exp_cmp: exp_cmp . GT exp_sh
+   61        | exp_cmp . GE exp_sh
+   62        | exp_cmp . LT exp_sh
+   63        | exp_cmp . LE exp_sh
+   65 exp_eq: exp_eq EQ exp_cmp .
+
+    GT  shift, and go to state 78
+    GE  shift, and go to state 79
+    LT  shift, and go to state 80
+    LE  shift, and go to state 81
+
+    $default  reduce using rule 65 (exp_eq)
+
+
+State 114
+
+   60 exp_cmp: exp_cmp . GT exp_sh
+   61        | exp_cmp . GE exp_sh
+   62        | exp_cmp . LT exp_sh
+   63        | exp_cmp . LE exp_sh
+   66 exp_eq: exp_eq NE exp_cmp .
+
+    GT  shift, and go to state 78
+    GE  shift, and go to state 79
+    LT  shift, and go to state 80
+    LE  shift, and go to state 81
+
+    $default  reduce using rule 66 (exp_eq)
+
+
+State 115
+
+   65 exp_eq: exp_eq . EQ exp_cmp
+   66       | exp_eq . NE exp_cmp
+   68 exp_bitand: exp_bitand BITAND exp_eq .
+
+    EQ  shift, and go to state 82
+    NE  shift, and go to state 83
+
+    $default  reduce using rule 68 (exp_bitand)
+
+
+State 116
+
+   68 exp_bitand: exp_bitand . BITAND exp_eq
+   70 exp_bitor: exp_bitor BITOR exp_bitand .
+
+    BITAND  shift, and go to state 84
+
+    $default  reduce using rule 70 (exp_bitor)
+
+
+State 117
+
+   70 exp_bitor: exp_bitor . BITOR exp_bitand
+   72 exp_logand: exp_logand LOGAND exp_bitor .
+
+    BITOR  shift, and go to state 85
+
+    $default  reduce using rule 72 (exp_logand)
+
+
+State 118
+
+   70 exp_bitor: exp_bitor . BITOR exp_bitand
+   73 exp_logand: exp_logand LOGAND2 exp_bitor .
+
+    BITOR  shift, and go to state 85
+
+    $default  reduce using rule 73 (exp_logand)
+
+
+State 119
+
+   72 exp_logand: exp_logand . LOGAND exp_bitor
+   73           | exp_logand . LOGAND2 exp_bitor
+   75 exp_logor: exp_logor LOGOR exp_logand .
+
+    LOGAND   shift, and go to state 86
+    LOGAND2  shift, and go to state 87
+
+    $default  reduce using rule 75 (exp_logor)
+
+
+State 120
+
+   72 exp_logand: exp_logand . LOGAND exp_bitor
+   73           | exp_logand . LOGAND2 exp_bitor
+   76 exp_logor: exp_logor LOGOR2 exp_logand .
+
+    LOGAND   shift, and go to state 86
+    LOGAND2  shift, and go to state 87
+
+    $default  reduce using rule 76 (exp_logor)
+
+
+State 121
+
+   78 exp_cond: exp_logor '?' exp_cond . ':' exp_cond
+
+    ':'  shift, and go to state 130
+
+
+State 122
+
+   80 exp_let: name '=' exp_let .
+
+    $default  reduce using rule 80 (exp_let)
+
+
+State 123
+
+   82 name: NAME .
+
+    $default  reduce using rule 82 (name)
+
+
+State 124
+
+   11 map: name '@' name .
+
+    $default  reduce using rule 11 (map)
+
+
+State 125
+
+   22 expr_list: exp ',' expr_list .
+
+    $default  reduce using rule 22 (expr_list)
+
+
+State 126
+
+   20 index: '-' INTEGER .
+
+    $default  reduce using rule 20 (index)
+
+
+State 127
+
+   26 atom_map: map '[' index ',' . index ']'
+   27         | map '[' index ',' . index ',' index ']'
+
+    INTEGER  shift, and go to state 96
+    '-'      shift, and go to state 97
+
+    index  go to state 131
+
+
+State 128
+
+   25 atom_map: map '[' index ']' .
+
+    $default  reduce using rule 25 (atom_map)
+
+
+State 129
+
+   29 atom_map: mapmod map '[' index . ']'
+   30         | mapmod map '[' index . ',' index ']'
+   31         | mapmod map '[' index . ',' index ',' index ']'
+
+    ','  shift, and go to state 132
+    ']'  shift, and go to state 133
+
+
+State 130
+
+   78 exp_cond: exp_logor '?' exp_cond ':' . exp_cond
+
+    VARNAME    shift, and go to state 17
+    NAME       shift, and go to state 18
+    VARSTRING  shift, and go to state 19
+    STRING     shift, and go to state 20
+    INTEGER    shift, and go to state 21
+    FLOAT      shift, and go to state 22
+    DOUBLE     shift, and go to state 23
+    '@'        shift, and go to state 24
+    'r'        shift, and go to state 25
+    'g'        shift, and go to state 26
+    'b'        shift, and go to state 27
+    '#'        shift, and go to state 28
+    'y'        shift, and go to state 29
+    'i'        shift, and go to state 30
+    '-'        shift, and go to state 31
+    '('        shift, and go to state 32
+    '~'        shift, and go to state 33
+    '!'        shift, and go to state 34
+
+    map         go to state 35
+    mapmod      go to state 36
+    atom_var    go to state 37
+    atom_map    go to state 38
+    atom_func   go to state 39
+    exp_atom    go to state 40
+    exp_pre     go to state 41
+    exp_pow     go to state 42
+    exp_mul     go to state 43
+    exp_add     go to state 44
+    exp_sh      go to state 45
+    exp_cmp     go to state 46
+    exp_eq      go to state 47
+    exp_bitand  go to state 48
+    exp_bitor   go to state 49
+    exp_logand  go to state 50
+    exp_logor   go to state 51
+    exp_cond    go to state 134
+    name        go to state 62
+
+
+State 131
+
+   26 atom_map: map '[' index ',' index . ']'
+   27         | map '[' index ',' index . ',' index ']'
+
+    ','  shift, and go to state 135
+    ']'  shift, and go to state 136
+
+
+State 132
+
+   30 atom_map: mapmod map '[' index ',' . index ']'
+   31         | mapmod map '[' index ',' . index ',' index ']'
+
+    INTEGER  shift, and go to state 96
+    '-'      shift, and go to state 97
+
+    index  go to state 137
+
+
+State 133
+
+   29 atom_map: mapmod map '[' index ']' .
+
+    $default  reduce using rule 29 (atom_map)
+
+
+State 134
+
+   78 exp_cond: exp_logor '?' exp_cond ':' exp_cond .
+
+    $default  reduce using rule 78 (exp_cond)
+
+
+State 135
+
+   27 atom_map: map '[' index ',' index ',' . index ']'
+
+    INTEGER  shift, and go to state 96
+    '-'      shift, and go to state 97
+
+    index  go to state 138
+
+
+State 136
+
+   26 atom_map: map '[' index ',' index ']' .
+
+    $default  reduce using rule 26 (atom_map)
+
+
+State 137
+
+   30 atom_map: mapmod map '[' index ',' index . ']'
+   31         | mapmod map '[' index ',' index . ',' index ']'
+
+    ','  shift, and go to state 139
+    ']'  shift, and go to state 140
+
+
+State 138
+
+   27 atom_map: map '[' index ',' index ',' index . ']'
+
+    ']'  shift, and go to state 141
+
+
+State 139
+
+   31 atom_map: mapmod map '[' index ',' index ',' . index ']'
+
+    INTEGER  shift, and go to state 96
+    '-'      shift, and go to state 97
+
+    index  go to state 142
+
+
+State 140
+
+   30 atom_map: mapmod map '[' index ',' index ']' .
+
+    $default  reduce using rule 30 (atom_map)
+
+
+State 141
+
+   27 atom_map: map '[' index ',' index ',' index ']' .
+
+    $default  reduce using rule 27 (atom_map)
+
+
+State 142
+
+   31 atom_map: mapmod map '[' index ',' index ',' index . ']'
+
+    ']'  shift, and go to state 143
+
+
+State 143
+
+   31 atom_map: mapmod map '[' index ',' index ',' index ']' .
+
+    $default  reduce using rule 31 (atom_map)
diff --git a/raster/r.mapcalc/mapcalc.tab.c b/raster/r.mapcalc/mapcalc.tab.c
new file mode 100644
index 0000000..7f6e96b
--- /dev/null
+++ b/raster/r.mapcalc/mapcalc.tab.c
@@ -0,0 +1,2043 @@
+/* A Bison parser, made by GNU Bison 3.0.4.  */
+
+/* Bison implementation for Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Bison version.  */
+#define YYBISON_VERSION "3.0.4"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Push parsers.  */
+#define YYPUSH 0
+
+/* Pull parsers.  */
+#define YYPULL 1
+
+
+
+
+/* Copy the first part of user declarations.  */
+#line 2 "mapcalc.y" /* yacc.c:339  */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdarg.h>
+
+#include <unistd.h>
+
+#include "mapcalc.h"
+
+#define YYDEBUG 1
+#define YYERROR_VERBOSE 1
+
+static int syntax_error_occurred;
+
+
+#line 84 "mapcalc.tab.c" /* yacc.c:339  */
+
+# ifndef YY_NULLPTR
+#  if defined __cplusplus && 201103L <= __cplusplus
+#   define YY_NULLPTR nullptr
+#  else
+#   define YY_NULLPTR 0
+#  endif
+# endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* In a future release of Bison, this section will be replaced
+   by #include "mapcalc.tab.h".  */
+#ifndef YY_YY_MAPCALC_TAB_H_INCLUDED
+# define YY_YY_MAPCALC_TAB_H_INCLUDED
+/* Debug traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
+/* Token type.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+  enum yytokentype
+  {
+    VARNAME = 258,
+    NAME = 259,
+    VARSTRING = 260,
+    STRING = 261,
+    INTEGER = 262,
+    FLOAT = 263,
+    DOUBLE = 264,
+    GT = 265,
+    GE = 266,
+    LT = 267,
+    LE = 268,
+    EQ = 269,
+    NE = 270,
+    LOGAND = 271,
+    LOGOR = 272,
+    LOGAND2 = 273,
+    LOGOR2 = 274,
+    BITAND = 275,
+    BITOR = 276,
+    LSH = 277,
+    RSH = 278,
+    RSHU = 279
+  };
+#endif
+/* Tokens.  */
+#define VARNAME 258
+#define NAME 259
+#define VARSTRING 260
+#define STRING 261
+#define INTEGER 262
+#define FLOAT 263
+#define DOUBLE 264
+#define GT 265
+#define GE 266
+#define LT 267
+#define LE 268
+#define EQ 269
+#define NE 270
+#define LOGAND 271
+#define LOGOR 272
+#define LOGAND2 273
+#define LOGOR2 274
+#define BITAND 275
+#define BITOR 276
+#define LSH 277
+#define RSH 278
+#define RSHU 279
+
+/* Value type.  */
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+
+union YYSTYPE
+{
+#line 20 "mapcalc.y" /* yacc.c:355  */
+
+	int ival;
+	double fval;
+	char *sval;
+	expression *exp;
+	expr_list *list;
+
+#line 180 "mapcalc.tab.c" /* yacc.c:355  */
+};
+
+typedef union YYSTYPE YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+extern YYSTYPE yylval;
+
+int yyparse (void);
+
+#endif /* !YY_YY_MAPCALC_TAB_H_INCLUDED  */
+
+/* Copy the second part of user declarations.  */
+#line 71 "mapcalc.y" /* yacc.c:358  */
+
+
+static expr_list *result;
+
+extern int yylex(void);
+
+int yyparse(void);
+void yyerror(char *s);
+
+
+#line 207 "mapcalc.tab.c" /* yacc.c:358  */
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#else
+typedef signed char yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif ! defined YYSIZE_T
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(Msgid) Msgid
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE
+# if (defined __GNUC__                                               \
+      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
+     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
+#  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+# else
+#  define YY_ATTRIBUTE(Spec) /* empty */
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+#endif
+
+#if !defined _Noreturn \
+     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(E) ((void) (E))
+#else
+# define YYUSE(E) /* empty */
+#endif
+
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+    _Pragma ("GCC diagnostic push") \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+    _Pragma ("GCC diagnostic pop")
+#else
+# define YY_INITIAL_VALUE(Value) Value
+#endif
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
+#     ifndef EXIT_SUCCESS
+#      define EXIT_SUCCESS 0
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's 'empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
+       && ! ((defined YYMALLOC || defined malloc) \
+             && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef EXIT_SUCCESS
+#    define EXIT_SUCCESS 0
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined EXIT_SUCCESS
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined EXIT_SUCCESS
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yytype_int16 yyss_alloc;
+  YYSTYPE yyvs_alloc;
+};
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+# define YYCOPY_NEEDED 1
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
+    do                                                                  \
+      {                                                                 \
+        YYSIZE_T yynewbytes;                                            \
+        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
+        Stack = &yyptr->Stack_alloc;                                    \
+        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+        yyptr += yynewbytes / sizeof (*yyptr);                          \
+      }                                                                 \
+    while (0)
+
+#endif
+
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+/* Copy COUNT objects from SRC to DST.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(Dst, Src, Count) \
+      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
+#  else
+#   define YYCOPY(Dst, Src, Count)              \
+      do                                        \
+        {                                       \
+          YYSIZE_T yyi;                         \
+          for (yyi = 0; yyi < (Count); yyi++)   \
+            (Dst)[yyi] = (Src)[yyi];            \
+        }                                       \
+      while (0)
+#  endif
+# endif
+#endif /* !YYCOPY_NEEDED */
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  13
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   177
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  49
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  27
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  84
+/* YYNSTATES -- Number of states.  */
+#define YYNSTATES  144
+
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+   by yylex, with out-of-bounds checking.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   279
+
+#define YYTRANSLATE(YYX)                                                \
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex, without out-of-bounds checking.  */
+static const yytype_uint8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,    41,     2,    31,     2,    45,     2,     2,
+      38,    39,    43,    46,    35,    34,     2,    44,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    48,    25,
+       2,    26,     2,    47,    27,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,    36,     2,    37,    42,     2,     2,     2,    30,     2,
+       2,     2,     2,    29,     2,    33,     2,     2,     2,     2,
+       2,     2,     2,     2,    28,     2,     2,     2,     2,     2,
+       2,    32,     2,     2,     2,     2,    40,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24
+};
+
+#if YYDEBUG
+  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
+static const yytype_uint8 yyrline[] =
+{
+       0,    84,    84,    87,    88,    89,    90,    93,    94,    95,
+      98,    99,   100,   103,   104,   105,   106,   107,   108,   109,
+     112,   113,   116,   117,   120,   121,   124,   125,   127,   129,
+     130,   132,   134,   136,   139,   140,   144,   145,   146,   147,
+     148,   149,   150,   153,   154,   155,   156,   159,   160,   163,
+     164,   165,   166,   169,   170,   171,   174,   175,   176,   177,
+     180,   181,   182,   183,   184,   186,   187,   188,   191,   192,
+     195,   196,   199,   200,   201,   204,   205,   206,   209,   210,
+     214,   215,   218,   221,   222
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || 0
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "VARNAME", "NAME", "VARSTRING", "STRING",
+  "INTEGER", "FLOAT", "DOUBLE", "GT", "GE", "LT", "LE", "EQ", "NE",
+  "LOGAND", "LOGOR", "LOGAND2", "LOGOR2", "BITAND", "BITOR", "LSH", "RSH",
+  "RSHU", "';'", "'='", "'@'", "'r'", "'g'", "'b'", "'#'", "'y'", "'i'",
+  "'-'", "','", "'['", "']'", "'('", "')'", "'~'", "'!'", "'^'", "'*'",
+  "'/'", "'%'", "'+'", "'?'", "':'", "$accept", "program", "defs", "def",
+  "map", "mapmod", "index", "expr_list", "atom_var", "atom_map",
+  "atom_func", "exp_atom", "exp_pre", "exp_pow", "exp_mul", "exp_add",
+  "exp_sh", "exp_cmp", "exp_eq", "exp_bitand", "exp_bitor", "exp_logand",
+  "exp_logor", "exp_cond", "exp_let", "exp", "name", YY_NULLPTR
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[NUM] -- (External) token number corresponding to the
+   (internal) symbol number NUM (which must be that of a token).  */
+static const yytype_uint16 yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,    59,    61,    64,   114,   103,
+      98,    35,   121,   105,    45,    44,    91,    93,    40,    41,
+     126,    33,    94,    42,    47,    37,    43,    63,    58
+};
+# endif
+
+#define YYPACT_NINF -99
+
+#define yypact_value_is_default(Yystate) \
+  (!!((Yystate) == (-99)))
+
+#define YYTABLE_NINF -85
+
+#define yytable_value_is_error(Yytable_value) \
+  0
+
+  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+     STATE-NUM.  */
+static const yytype_int16 yypact[] =
+{
+     116,   -17,   -99,     9,    12,    26,   -99,    65,   -99,    73,
+     116,    55,    55,   -99,   106,    16,   -99,   -10,    13,   -99,
+     -99,   -99,   -99,   -99,   -99,   -99,   -99,   -99,   -99,   -99,
+     -99,    70,    55,    70,    70,    69,   132,   -99,   -99,   -99,
+     -99,    79,   -99,    22,   -16,   117,   113,    38,   134,   141,
+     129,   -14,   -99,   -99,   -99,    42,   -99,   -99,   -99,    98,
+     130,   -99,    43,   127,   -99,   -99,    -3,   131,   142,    55,
+      55,    55,    55,    55,    55,    55,    55,    55,    55,    55,
+      55,    55,    55,    55,    55,    55,    55,    55,    55,    55,
+      55,    55,    68,   -99,    55,   -99,   -99,   161,   111,    -3,
+     -99,   -99,   -99,   -99,    22,    22,   -16,   -16,   -16,   117,
+     117,   117,   117,   113,   113,    38,   134,   141,   141,   129,
+     129,   122,   -99,   -99,   -99,   -99,   -99,    -3,   -99,   114,
+      55,   115,    -3,   -99,   -99,    -3,   -99,   118,   135,    -3,
+     -99,   -99,   136,   -99
+};
+
+  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+     Performed when YYTABLE does not specify something else to do.  Zero
+     means the default is an error.  */
+static const yytype_uint8 yydefact[] =
+{
+       0,     0,    84,    83,     0,     0,     2,     3,     9,     0,
+       0,     0,     0,     1,     0,     0,     6,    25,    11,    24,
+      10,    40,    41,    42,    13,    14,    15,    16,    17,    18,
+      19,     0,     0,     0,     0,    29,     0,    37,    38,    39,
+      43,    47,    49,    53,    56,    60,    65,    68,    70,    72,
+      75,    78,    80,    82,     8,     0,     7,     5,    34,     0,
+      22,    44,     0,     0,    45,    46,     0,    33,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    35,     0,    36,    20,     0,     0,     0,
+      48,    50,    51,    52,    55,    54,    57,    58,    59,    61,
+      62,    63,    64,    66,    67,    69,    71,    73,    74,    76,
+      77,     0,    81,    83,    12,    23,    21,     0,    26,     0,
+       0,     0,     0,    30,    79,     0,    27,     0,     0,     0,
+      31,    28,     0,    32
+};
+
+  /* YYPGOTO[NTERM-NUM].  */
+static const yytype_int16 yypgoto[] =
+{
+     -99,   -99,    -1,   -99,   138,   -99,   -98,    77,   -99,   -99,
+     104,    82,   -99,    58,    83,    67,    53,    76,    91,    92,
+      74,    75,   -99,   -88,    85,    -5,     0
+};
+
+  /* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int8 yydefgoto[] =
+{
+      -1,     5,     6,     7,    35,    36,    98,    59,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+      49,    50,    51,    52,    53,    60,    62
+};
+
+  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
+     positive, shift that token.  If negative, reduce the rule whose
+     number is the opposite.  If YYTABLE_NINF, syntax error.  */
+static const yytype_int16 yytable[] =
+{
+       9,   129,   121,    88,    96,    89,    54,    56,    10,    16,
+       9,    55,    55,    57,     9,    55,   -84,   -84,    73,    17,
+      18,    19,    20,    21,    22,    23,    13,    63,   -84,   131,
+      74,    97,    55,    90,   137,    11,    68,   138,    12,   -83,
+     -83,   142,   134,    24,    25,    26,    27,    28,    29,    30,
+      31,   -83,    82,    83,    32,    58,    33,    34,    17,    18,
+      19,    20,    21,    22,    23,    70,    71,    72,    91,    92,
+      92,     2,   123,    17,    18,    19,    20,    21,    22,    23,
+      15,    15,    24,    25,    26,    27,    28,    29,    30,    31,
+      14,    55,   124,    32,    55,    33,    34,    24,    25,    26,
+      27,    28,    29,    30,     8,    66,    -4,     1,    32,     2,
+       3,    15,     4,    61,     8,    64,    65,     1,     8,     2,
+       3,    69,     4,    78,    79,    80,    81,   100,   101,   102,
+     103,   109,   110,   111,   112,     2,    18,    93,    20,    75,
+      76,    77,   106,   107,   108,    86,   127,    87,   128,   132,
+     135,   133,   136,   139,    84,   140,   104,   105,   113,   114,
+     117,   118,    85,   119,   120,    94,    95,    99,   126,    92,
+     130,   125,   141,   143,    67,   115,   122,   116
+};
+
+static const yytype_uint8 yycheck[] =
+{
+       0,    99,    90,    17,     7,    19,    11,    12,    25,    10,
+      10,    11,    12,    14,    14,    15,    26,    27,    34,     3,
+       4,     5,     6,     7,     8,     9,     0,    32,    38,   127,
+      46,    34,    32,    47,   132,    26,    36,   135,    26,    26,
+      27,   139,   130,    27,    28,    29,    30,    31,    32,    33,
+      34,    38,    14,    15,    38,    39,    40,    41,     3,     4,
+       5,     6,     7,     8,     9,    43,    44,    45,    26,    27,
+      27,     3,     4,     3,     4,     5,     6,     7,     8,     9,
+      38,    38,    27,    28,    29,    30,    31,    32,    33,    34,
+      25,    91,    92,    38,    94,    40,    41,    27,    28,    29,
+      30,    31,    32,    33,     0,    36,     0,     1,    38,     3,
+       4,    38,     6,    31,    10,    33,    34,     1,    14,     3,
+       4,    42,     6,    10,    11,    12,    13,    69,    70,    71,
+      72,    78,    79,    80,    81,     3,     4,    39,     6,    22,
+      23,    24,    75,    76,    77,    16,    35,    18,    37,    35,
+      35,    37,    37,    35,    20,    37,    73,    74,    82,    83,
+      86,    87,    21,    88,    89,    35,    39,    36,     7,    27,
+      48,    94,    37,    37,    36,    84,    91,    85
+};
+
+  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+     symbol of state STATE-NUM.  */
+static const yytype_uint8 yystos[] =
+{
+       0,     1,     3,     4,     6,    50,    51,    52,    59,    75,
+      25,    26,    26,     0,    25,    38,    51,     3,     4,     5,
+       6,     7,     8,     9,    27,    28,    29,    30,    31,    32,
+      33,    34,    38,    40,    41,    53,    54,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      70,    71,    72,    73,    74,    75,    74,    51,    39,    56,
+      74,    60,    75,    74,    60,    60,    36,    53,    75,    42,
+      43,    44,    45,    34,    46,    22,    23,    24,    10,    11,
+      12,    13,    14,    15,    20,    21,    16,    18,    17,    19,
+      47,    26,    27,    39,    35,    39,     7,    34,    55,    36,
+      62,    62,    62,    62,    63,    63,    64,    64,    64,    65,
+      65,    65,    65,    66,    66,    67,    68,    69,    69,    70,
+      70,    72,    73,     4,    75,    56,     7,    35,    37,    55,
+      48,    55,    35,    37,    72,    35,    37,    55,    55,    35,
+      37,    37,    55,    37
+};
+
+  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint8 yyr1[] =
+{
+       0,    49,    50,    51,    51,    51,    51,    52,    52,    52,
+      53,    53,    53,    54,    54,    54,    54,    54,    54,    54,
+      55,    55,    56,    56,    57,    57,    58,    58,    58,    58,
+      58,    58,    58,    58,    59,    59,    60,    60,    60,    60,
+      60,    60,    60,    61,    61,    61,    61,    62,    62,    63,
+      63,    63,    63,    64,    64,    64,    65,    65,    65,    65,
+      66,    66,    66,    66,    66,    67,    67,    67,    68,    68,
+      69,    69,    70,    70,    70,    71,    71,    71,    72,    72,
+      73,    73,    74,    75,    75
+};
+
+  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     1,     1,     2,     3,     3,     3,     3,     1,
+       1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
+       1,     2,     1,     3,     1,     1,     4,     6,     8,     1,
+       5,     7,     9,     2,     3,     4,     3,     1,     1,     1,
+       1,     1,     1,     1,     2,     2,     2,     1,     3,     1,
+       3,     3,     3,     1,     3,     3,     1,     3,     3,     3,
+       1,     3,     3,     3,     3,     1,     3,     3,     1,     3,
+       1,     3,     1,     3,     3,     1,     3,     3,     1,     5,
+       1,     3,     1,     1,     1
+};
+
+
+#define yyerrok         (yyerrstatus = 0)
+#define yyclearin       (yychar = YYEMPTY)
+#define YYEMPTY         (-2)
+#define YYEOF           0
+
+#define YYACCEPT        goto yyacceptlab
+#define YYABORT         goto yyabortlab
+#define YYERROR         goto yyerrorlab
+
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)                                  \
+do                                                              \
+  if (yychar == YYEMPTY)                                        \
+    {                                                           \
+      yychar = (Token);                                         \
+      yylval = (Value);                                         \
+      YYPOPSTACK (yylen);                                       \
+      yystate = *yyssp;                                         \
+      goto yybackup;                                            \
+    }                                                           \
+  else                                                          \
+    {                                                           \
+      yyerror (YY_("syntax error: cannot back up")); \
+      YYERROR;                                                  \
+    }                                                           \
+while (0)
+
+/* Error token number */
+#define YYTERROR        1
+#define YYERRCODE       256
+
+
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)                        \
+do {                                            \
+  if (yydebug)                                  \
+    YYFPRINTF Args;                             \
+} while (0)
+
+/* This macro is provided for backward compatibility. */
+#ifndef YY_LOCATION_PRINT
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+#endif
+
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
+do {                                                                      \
+  if (yydebug)                                                            \
+    {                                                                     \
+      YYFPRINTF (stderr, "%s ", Title);                                   \
+      yy_symbol_print (stderr,                                            \
+                  Type, Value); \
+      YYFPRINTF (stderr, "\n");                                           \
+    }                                                                     \
+} while (0)
+
+
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT.  |
+`----------------------------------------*/
+
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+{
+  FILE *yyo = yyoutput;
+  YYUSE (yyo);
+  if (!yyvaluep)
+    return;
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+  YYUSE (yytype);
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+{
+  YYFPRINTF (yyoutput, "%s %s (",
+             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
+
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+static void
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; yybottom <= yytop; yybottom++)
+    {
+      int yybot = *yybottom;
+      YYFPRINTF (stderr, " %d", yybot);
+    }
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)                            \
+do {                                                            \
+  if (yydebug)                                                  \
+    yy_stack_print ((Bottom), (Top));                           \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+static void
+yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
+{
+  unsigned long int yylno = yyrline[yyrule];
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+             yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr,
+                       yystos[yyssp[yyi + 1 - yynrhs]],
+                       &(yyvsp[(yyi + 1) - (yynrhs)])
+                                              );
+      YYFPRINTF (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)          \
+do {                                    \
+  if (yydebug)                          \
+    yy_reduce_print (yyssp, yyvsp, Rule); \
+} while (0)
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined __GLIBC__ && defined _STRING_H
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+static YYSIZE_T
+yystrlen (const char *yystr)
+{
+  YYSIZE_T yylen;
+  for (yylen = 0; yystr[yylen]; yylen++)
+    continue;
+  return yylen;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+{
+  char *yyd = yydest;
+  const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+   quotes and backslashes, so that it's suitable for yyerror.  The
+   heuristic is that double-quoting is unnecessary unless the string
+   contains an apostrophe, a comma, or backslash (other than
+   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
+   null, do not copy; instead, return the length of what the result
+   would have been.  */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+  if (*yystr == '"')
+    {
+      YYSIZE_T yyn = 0;
+      char const *yyp = yystr;
+
+      for (;;)
+        switch (*++yyp)
+          {
+          case '\'':
+          case ',':
+            goto do_not_strip_quotes;
+
+          case '\\':
+            if (*++yyp != '\\')
+              goto do_not_strip_quotes;
+            /* Fall through.  */
+          default:
+            if (yyres)
+              yyres[yyn] = *yyp;
+            yyn++;
+            break;
+
+          case '"':
+            if (yyres)
+              yyres[yyn] = '\0';
+            return yyn;
+          }
+    do_not_strip_quotes: ;
+    }
+
+  if (! yyres)
+    return yystrlen (yystr);
+
+  return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
+   about the unexpected token YYTOKEN for the state stack whose top is
+   YYSSP.
+
+   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
+   not large enough to hold the message.  In that case, also set
+   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
+   required number of bytes is too large to store.  */
+static int
+yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+                yytype_int16 *yyssp, int yytoken)
+{
+  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
+  YYSIZE_T yysize = yysize0;
+  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+  /* Internationalized format string. */
+  const char *yyformat = YY_NULLPTR;
+  /* Arguments of yyformat. */
+  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+  /* Number of reported tokens (one for the "unexpected", one per
+     "expected"). */
+  int yycount = 0;
+
+  /* There are many possibilities here to consider:
+     - If this state is a consistent state with a default action, then
+       the only way this function was invoked is if the default action
+       is an error action.  In that case, don't check for expected
+       tokens because there are none.
+     - The only way there can be no lookahead present (in yychar) is if
+       this state is a consistent state with a default action.  Thus,
+       detecting the absence of a lookahead is sufficient to determine
+       that there is no unexpected or expected token to report.  In that
+       case, just report a simple "syntax error".
+     - Don't assume there isn't a lookahead just because this state is a
+       consistent state with a default action.  There might have been a
+       previous inconsistent state, consistent state with a non-default
+       action, or user semantic action that manipulated yychar.
+     - Of course, the expected token list depends on states to have
+       correct lookahead information, and it depends on the parser not
+       to perform extra reductions after fetching a lookahead from the
+       scanner and before detecting a syntax error.  Thus, state merging
+       (from LALR or IELR) and default reductions corrupt the expected
+       token list.  However, the list is correct for canonical LR with
+       one exception: it will still contain any token that will not be
+       accepted due to an error action in a later state.
+  */
+  if (yytoken != YYEMPTY)
+    {
+      int yyn = yypact[*yyssp];
+      yyarg[yycount++] = yytname[yytoken];
+      if (!yypact_value_is_default (yyn))
+        {
+          /* Start YYX at -YYN if negative to avoid negative indexes in
+             YYCHECK.  In other words, skip the first -YYN actions for
+             this state because they are default actions.  */
+          int yyxbegin = yyn < 0 ? -yyn : 0;
+          /* Stay within bounds of both yycheck and yytname.  */
+          int yychecklim = YYLAST - yyn + 1;
+          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+          int yyx;
+
+          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
+                && !yytable_value_is_error (yytable[yyx + yyn]))
+              {
+                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+                  {
+                    yycount = 1;
+                    yysize = yysize0;
+                    break;
+                  }
+                yyarg[yycount++] = yytname[yyx];
+                {
+                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
+                  if (! (yysize <= yysize1
+                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+                    return 2;
+                  yysize = yysize1;
+                }
+              }
+        }
+    }
+
+  switch (yycount)
+    {
+# define YYCASE_(N, S)                      \
+      case N:                               \
+        yyformat = S;                       \
+      break
+      YYCASE_(0, YY_("syntax error"));
+      YYCASE_(1, YY_("syntax error, unexpected %s"));
+      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
+      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
+      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
+      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
+# undef YYCASE_
+    }
+
+  {
+    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+      return 2;
+    yysize = yysize1;
+  }
+
+  if (*yymsg_alloc < yysize)
+    {
+      *yymsg_alloc = 2 * yysize;
+      if (! (yysize <= *yymsg_alloc
+             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
+        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
+      return 1;
+    }
+
+  /* Avoid sprintf, as that infringes on the user's name space.
+     Don't have undefined behavior even if the translation
+     produced a string with the wrong number of "%s"s.  */
+  {
+    char *yyp = *yymsg;
+    int yyi = 0;
+    while ((*yyp = *yyformat) != '\0')
+      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
+        {
+          yyp += yytnamerr (yyp, yyarg[yyi++]);
+          yyformat += 2;
+        }
+      else
+        {
+          yyp++;
+          yyformat++;
+        }
+  }
+  return 0;
+}
+#endif /* YYERROR_VERBOSE */
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+{
+  YYUSE (yyvaluep);
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  YYUSE (yytype);
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+
+
+/* The lookahead symbol.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+int
+yyparse (void)
+{
+    int yystate;
+    /* Number of tokens to shift before error messages enabled.  */
+    int yyerrstatus;
+
+    /* The stacks and their tools:
+       'yyss': related to states.
+       'yyvs': related to semantic values.
+
+       Refer to the stacks through separate pointers, to allow yyoverflow
+       to reallocate them elsewhere.  */
+
+    /* The state stack.  */
+    yytype_int16 yyssa[YYINITDEPTH];
+    yytype_int16 *yyss;
+    yytype_int16 *yyssp;
+
+    /* The semantic value stack.  */
+    YYSTYPE yyvsa[YYINITDEPTH];
+    YYSTYPE *yyvs;
+    YYSTYPE *yyvsp;
+
+    YYSIZE_T yystacksize;
+
+  int yyn;
+  int yyresult;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yytoken = 0;
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+#if YYERROR_VERBOSE
+  /* Buffer for error messages, and its allocated size.  */
+  char yymsgbuf[128];
+  char *yymsg = yymsgbuf;
+  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  yyssp = yyss = yyssa;
+  yyvsp = yyvs = yyvsa;
+  yystacksize = YYINITDEPTH;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY; /* Cause a token to be read.  */
+  goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      {
+        /* Give user a chance to reallocate the stack.  Use copies of
+           these so that the &'s don't force the real ones into
+           memory.  */
+        YYSTYPE *yyvs1 = yyvs;
+        yytype_int16 *yyss1 = yyss;
+
+        /* Each stack pointer address is followed by the size of the
+           data in use in that stack, in bytes.  This used to be a
+           conditional around just the two extra args, but that might
+           be undefined if yyoverflow is a macro.  */
+        yyoverflow (YY_("memory exhausted"),
+                    &yyss1, yysize * sizeof (*yyssp),
+                    &yyvs1, yysize * sizeof (*yyvsp),
+                    &yystacksize);
+
+        yyss = yyss1;
+        yyvs = yyvs1;
+      }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+        goto yyexhaustedlab;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+        yystacksize = YYMAXDEPTH;
+
+      {
+        yytype_int16 *yyss1 = yyss;
+        union yyalloc *yyptr =
+          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+        if (! yyptr)
+          goto yyexhaustedlab;
+        YYSTACK_RELOCATE (yyss_alloc, yyss);
+        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+#  undef YYSTACK_RELOCATE
+        if (yyss1 != yyssa)
+          YYSTACK_FREE (yyss1);
+      }
+# endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+                  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
+        YYABORT;
+    }
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+  if (yystate == YYFINAL)
+    YYACCEPT;
+
+  goto yybackup;
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+
+  /* Do appropriate processing given the current state.  Read a
+     lookahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to lookahead token.  */
+  yyn = yypact[yystate];
+  if (yypact_value_is_default (yyn))
+    goto yydefault;
+
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token: "));
+      yychar = yylex ();
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yytable_value_is_error (yyn))
+        goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the lookahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+  /* Discard the shifted token.  */
+  yychar = YYEMPTY;
+
+  yystate = yyn;
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     '$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 2:
+#line 84 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.list) = result = (yyvsp[0].list);		}
+#line 1390 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 3:
+#line 87 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.list) = list((yyvsp[0].exp),NULL);		}
+#line 1396 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 4:
+#line 88 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.list) = list((yyvsp[-1].exp),NULL);		}
+#line 1402 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 5:
+#line 89 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.list) = list((yyvsp[-2].exp),(yyvsp[0].list));		}
+#line 1408 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 6:
+#line 90 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list);			}
+#line 1414 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 7:
+#line 93 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = binding((yyvsp[-2].sval),(yyvsp[0].exp)); define_variable((yyval.exp));	}
+#line 1420 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 8:
+#line 94 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = binding((yyvsp[-2].sval),(yyvsp[0].exp)); define_variable((yyval.exp));	}
+#line 1426 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 12:
+#line 100 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.sval) = composite((yyvsp[-2].sval),(yyvsp[0].sval));	}
+#line 1432 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 13:
+#line 103 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.ival) = '@';			}
+#line 1438 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 14:
+#line 104 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.ival) = 'r';			}
+#line 1444 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 15:
+#line 105 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.ival) = 'g';			}
+#line 1450 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 16:
+#line 106 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.ival) = 'b';			}
+#line 1456 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 17:
+#line 107 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.ival) = '#';			}
+#line 1462 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 18:
+#line 108 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.ival) = 'y';			}
+#line 1468 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 19:
+#line 109 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.ival) = 'i';			}
+#line 1474 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 21:
+#line 113 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.ival) = -(yyvsp[0].ival);			}
+#line 1480 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 22:
+#line 116 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.list) = singleton((yyvsp[0].exp));		}
+#line 1486 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 23:
+#line 117 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.list) = list((yyvsp[-2].exp), (yyvsp[0].list));		}
+#line 1492 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 24:
+#line 120 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = variable((yyvsp[0].sval));		}
+#line 1498 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 25:
+#line 121 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = variable((yyvsp[0].sval));		}
+#line 1504 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 26:
+#line 124 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = mapname((yyvsp[-3].sval),'M',(yyvsp[-1].ival),0,0);	}
+#line 1510 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 27:
+#line 126 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = mapname((yyvsp[-5].sval),'M',(yyvsp[-3].ival),(yyvsp[-1].ival),0);	}
+#line 1516 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 28:
+#line 128 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = mapname((yyvsp[-7].sval),'M',(yyvsp[-5].ival),(yyvsp[-3].ival),(yyvsp[-1].ival));}
+#line 1522 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 29:
+#line 129 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = mapname((yyvsp[0].sval),'M',0,0,0);	}
+#line 1528 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 30:
+#line 131 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = mapname((yyvsp[-3].sval),(yyvsp[-4].ival),(yyvsp[-1].ival),0,0);	}
+#line 1534 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 31:
+#line 133 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = mapname((yyvsp[-5].sval),(yyvsp[-6].ival),(yyvsp[-3].ival),(yyvsp[-1].ival),0);	}
+#line 1540 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 32:
+#line 135 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = mapname((yyvsp[-7].sval),(yyvsp[-8].ival),(yyvsp[-5].ival),(yyvsp[-3].ival),(yyvsp[-1].ival));	}
+#line 1546 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 33:
+#line 136 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = mapname((yyvsp[0].sval),(yyvsp[-1].ival),0,0,0);	}
+#line 1552 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 34:
+#line 139 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = function((yyvsp[-2].sval), NULL);	}
+#line 1558 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 35:
+#line 141 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = function((yyvsp[-3].sval), (yyvsp[-1].list));	}
+#line 1564 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 36:
+#line 144 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = (yyvsp[-1].exp);			}
+#line 1570 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 40:
+#line 148 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = constant_int((yyvsp[0].ival));	}
+#line 1576 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 41:
+#line 149 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = constant_float((yyvsp[0].fval));	}
+#line 1582 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 42:
+#line 150 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = constant_double((yyvsp[0].fval));	}
+#line 1588 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 44:
+#line 154 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("neg","-",1,singleton((yyvsp[0].exp)));	}
+#line 1594 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 45:
+#line 155 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("bitnot","~",1,singleton((yyvsp[0].exp)));	}
+#line 1600 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 46:
+#line 156 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("not","!",1,singleton((yyvsp[0].exp)));	}
+#line 1606 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 48:
+#line 160 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("pow","^",2,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1612 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 50:
+#line 164 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("mul","*",3,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1618 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 51:
+#line 165 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("div","/",3,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1624 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 52:
+#line 166 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("mod","%",3,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1630 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 54:
+#line 170 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("add","+",4,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1636 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 55:
+#line 171 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("sub","-",4,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1642 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 57:
+#line 175 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("shiftl","<<",5,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1648 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 58:
+#line 176 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("shiftr",">>",5,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1654 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 59:
+#line 177 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("shiftru",">>>",5,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1660 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 61:
+#line 181 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("gt",">", 6,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1666 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 62:
+#line 182 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("ge",">=",6,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1672 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 63:
+#line 183 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("lt","<", 6,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1678 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 64:
+#line 184 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("le","<=",6,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1684 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 66:
+#line 187 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("eq","==",7,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1690 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 67:
+#line 188 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("ne","!=",7,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1696 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 69:
+#line 192 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("bitand","&",8,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1702 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 71:
+#line 196 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("bitor", "|",9,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1708 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 73:
+#line 200 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("and","&&",10,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1714 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 74:
+#line 201 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("and2","&&&",10,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1720 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 76:
+#line 205 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("or", "||",11,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1726 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 77:
+#line 206 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("or2", "|||",11,pair((yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1732 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 79:
+#line 211 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = operator("if","?:",12,triple((yyvsp[-4].exp),(yyvsp[-2].exp),(yyvsp[0].exp)));	}
+#line 1738 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 81:
+#line 215 "mapcalc.y" /* yacc.c:1646  */
+    { (yyval.exp) = binding((yyvsp[-2].sval),(yyvsp[0].exp)); define_variable((yyval.exp));	}
+#line 1744 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+  case 82:
+#line 218 "mapcalc.y" /* yacc.c:1646  */
+    { if (syntax_error_occurred) {syntax_error_occurred = 0; YYERROR; } else (yyval.exp) = (yyvsp[0].exp);	}
+#line 1750 "mapcalc.tab.c" /* yacc.c:1646  */
+    break;
+
+
+#line 1754 "mapcalc.tab.c" /* yacc.c:1646  */
+      default: break;
+    }
+  /* User semantic actions sometimes alter yychar, and that requires
+     that yytoken be updated with the new translation.  We take the
+     approach of translating immediately before every use of yytoken.
+     One alternative is translating here after every semantic action,
+     but that translation would be missed if the semantic action invokes
+     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
+     incorrect destructor might then be invoked immediately.  In the
+     case of YYERROR or YYBACKUP, subsequent parser actions might lead
+     to an incorrect destructor call or verbose syntax error message
+     before the lookahead is translated.  */
+  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+
+  *++yyvsp = yyval;
+
+  /* Now 'shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
+
+  goto yynewstate;
+
+
+/*--------------------------------------.
+| yyerrlab -- here on detecting error.  |
+`--------------------------------------*/
+yyerrlab:
+  /* Make sure we have latest lookahead translation.  See comments at
+     user semantic actions for why this is necessary.  */
+  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
+
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+#if ! YYERROR_VERBOSE
+      yyerror (YY_("syntax error"));
+#else
+# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
+                                        yyssp, yytoken)
+      {
+        char const *yymsgp = YY_("syntax error");
+        int yysyntax_error_status;
+        yysyntax_error_status = YYSYNTAX_ERROR;
+        if (yysyntax_error_status == 0)
+          yymsgp = yymsg;
+        else if (yysyntax_error_status == 1)
+          {
+            if (yymsg != yymsgbuf)
+              YYSTACK_FREE (yymsg);
+            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
+            if (!yymsg)
+              {
+                yymsg = yymsgbuf;
+                yymsg_alloc = sizeof yymsgbuf;
+                yysyntax_error_status = 2;
+              }
+            else
+              {
+                yysyntax_error_status = YYSYNTAX_ERROR;
+                yymsgp = yymsg;
+              }
+          }
+        yyerror (yymsgp);
+        if (yysyntax_error_status == 2)
+          goto yyexhaustedlab;
+      }
+# undef YYSYNTAX_ERROR
+#endif
+    }
+
+
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse lookahead token after an
+         error, discard it.  */
+
+      if (yychar <= YYEOF)
+        {
+          /* Return failure if at end of input.  */
+          if (yychar == YYEOF)
+            YYABORT;
+        }
+      else
+        {
+          yydestruct ("Error: discarding",
+                      yytoken, &yylval);
+          yychar = YYEMPTY;
+        }
+    }
+
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (/*CONSTCOND*/ 0)
+     goto yyerrorlab;
+
+  /* Do not reclaim the symbols of the rule whose action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (!yypact_value_is_default (yyn))
+        {
+          yyn += YYTERROR;
+          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+            {
+              yyn = yytable[yyn];
+              if (0 < yyn)
+                break;
+            }
+        }
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+        YYABORT;
+
+
+      yydestruct ("Error: popping",
+                  yystos[yystate], yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#if !defined yyoverflow || YYERROR_VERBOSE
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here.  |
+`-------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+  if (yychar != YYEMPTY)
+    {
+      /* Make sure we have latest lookahead translation.  See comments at
+         user semantic actions for why this is necessary.  */
+      yytoken = YYTRANSLATE (yychar);
+      yydestruct ("Cleanup: discarding lookahead",
+                  yytoken, &yylval);
+    }
+  /* Do not reclaim the symbols of the rule whose action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+                  yystos[*yyssp], yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+  if (yymsg != yymsgbuf)
+    YYSTACK_FREE (yymsg);
+#endif
+  return yyresult;
+}
+#line 225 "mapcalc.y" /* yacc.c:1906  */
+
+
+void syntax_error(const char *fmt, ...)
+{
+	va_list va;
+
+	va_start(va, fmt);
+	vfprintf(stderr, fmt, va);
+	va_end(va);
+
+	fprintf(stderr, "\n");
+
+	syntax_error_occurred = 1;
+}
+
+void yyerror(char *s)
+{
+	fprintf(stderr, "%s\n", s);
+	syntax_error_occurred = 0;
+}
+
+static expr_list *parse(void)
+{
+#if 0
+	yydebug = 1;
+#endif
+	syntax_error_occurred = 0;
+
+	if (yyparse() != 0)
+	{
+		fprintf(stderr, "Parse error\n");
+		return NULL;
+	}
+
+	if (syntax_error_occurred)
+	{
+		fprintf(stderr, "Syntax error\n");
+		return NULL;
+	}
+
+	return result;
+}
+
+expr_list *parse_string(const char *s)
+{
+	initialize_scanner_string(s);
+	return parse();
+}
+
+expr_list *parse_stream(FILE *fp)
+{
+	expr_list *e;
+
+	initialize_scanner_stream(fp);
+	if (isatty(fileno(fp)))
+		fputs("Enter expressions, \"end\" when done.\n", stderr);
+	e = parse();
+	if (isatty(fileno(fp)))
+		fputs("\n", stderr);
+	return e;
+}
+
diff --git a/raster/r.mapcalc/mapcalc.tab.h b/raster/r.mapcalc/mapcalc.tab.h
new file mode 100644
index 0000000..82f0d0e
--- /dev/null
+++ b/raster/r.mapcalc/mapcalc.tab.h
@@ -0,0 +1,122 @@
+/* A Bison parser, made by GNU Bison 3.0.4.  */
+
+/* Bison interface for Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+#ifndef YY_YY_MAPCALC_TAB_H_INCLUDED
+# define YY_YY_MAPCALC_TAB_H_INCLUDED
+/* Debug traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
+/* Token type.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+  enum yytokentype
+  {
+    VARNAME = 258,
+    NAME = 259,
+    VARSTRING = 260,
+    STRING = 261,
+    INTEGER = 262,
+    FLOAT = 263,
+    DOUBLE = 264,
+    GT = 265,
+    GE = 266,
+    LT = 267,
+    LE = 268,
+    EQ = 269,
+    NE = 270,
+    LOGAND = 271,
+    LOGOR = 272,
+    LOGAND2 = 273,
+    LOGOR2 = 274,
+    BITAND = 275,
+    BITOR = 276,
+    LSH = 277,
+    RSH = 278,
+    RSHU = 279
+  };
+#endif
+/* Tokens.  */
+#define VARNAME 258
+#define NAME 259
+#define VARSTRING 260
+#define STRING 261
+#define INTEGER 262
+#define FLOAT 263
+#define DOUBLE 264
+#define GT 265
+#define GE 266
+#define LT 267
+#define LE 268
+#define EQ 269
+#define NE 270
+#define LOGAND 271
+#define LOGOR 272
+#define LOGAND2 273
+#define LOGOR2 274
+#define BITAND 275
+#define BITOR 276
+#define LSH 277
+#define RSH 278
+#define RSHU 279
+
+/* Value type.  */
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+
+union YYSTYPE
+{
+#line 20 "mapcalc.y" /* yacc.c:1909  */
+
+	int ival;
+	double fval;
+	char *sval;
+	expression *exp;
+	expr_list *list;
+
+#line 110 "mapcalc.tab.h" /* yacc.c:1909  */
+};
+
+typedef union YYSTYPE YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+extern YYSTYPE yylval;
+
+int yyparse (void);
+
+#endif /* !YY_YY_MAPCALC_TAB_H_INCLUDED  */
diff --git a/raster/r.mapcalc/mapcalc.yy.c b/raster/r.mapcalc/mapcalc.yy.c
new file mode 100644
index 0000000..7e6729d
--- /dev/null
+++ b/raster/r.mapcalc/mapcalc.yy.c
@@ -0,0 +1,2241 @@
+
+#line 3 "<stdout>"
+
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 39
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with  platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types. 
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t; 
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
+#endif
+
+#endif /* ! C99 */
+
+#endif /* ! FLEXINT_H */
+
+#ifdef __cplusplus
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else	/* ! __cplusplus */
+
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
+
+#define YY_USE_CONST
+
+#endif	/* defined (__STDC__) */
+#endif	/* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index.  If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN (yy_start) = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START (((yy_start) - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart(yyin  )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#define YY_BUF_SIZE 16384
+#endif
+
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
+extern yy_size_t yyleng;
+
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+    #define YY_LESS_LINENO(n)
+    #define YY_LINENO_REWIND_TO(ptr)
+    
+/* Return all but the first "n" matched characters back to the input stream. */
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
+		YY_RESTORE_YY_MORE_OFFSET \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+		} \
+	while ( 0 )
+
+#define unput(c) yyunput( c, (yytext_ptr)  )
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+	{
+	FILE *yy_input_file;
+
+	char *yy_ch_buf;		/* input buffer */
+	char *yy_buf_pos;		/* current position in input buffer */
+
+	/* Size of input buffer in bytes, not including room for EOB
+	 * characters.
+	 */
+	yy_size_t yy_buf_size;
+
+	/* Number of characters read into yy_ch_buf, not including EOB
+	 * characters.
+	 */
+	yy_size_t yy_n_chars;
+
+	/* Whether we "own" the buffer - i.e., we know we created it,
+	 * and can realloc() it to grow it, and should free() it to
+	 * delete it.
+	 */
+	int yy_is_our_buffer;
+
+	/* Whether this is an "interactive" input source; if so, and
+	 * if we're using stdio for input, then we want to use getc()
+	 * instead of fread(), to make sure we stop fetching input after
+	 * each newline.
+	 */
+	int yy_is_interactive;
+
+	/* Whether we're considered to be at the beginning of a line.
+	 * If so, '^' rules will be active on the next match, otherwise
+	 * not.
+	 */
+	int yy_at_bol;
+
+    int yy_bs_lineno; /**< The line count. */
+    int yy_bs_column; /**< The column count. */
+    
+	/* Whether to try to fill the input buffer when we reach the
+	 * end of it.
+	 */
+	int yy_fill_buffer;
+
+	int yy_buffer_status;
+
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+	/* When an EOF's been seen but there's still some text to process
+	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+	 * shouldn't try reading from the input source any more.  We might
+	 * still have a bunch of tokens to match, though, because of
+	 * possible backing-up.
+	 *
+	 * When we actually see the EOF, we change the status to "new"
+	 * (via yyrestart()), so that the user can continue scanning by
+	 * just pointing yyin at a new input file.
+	 */
+#define YY_BUFFER_EOF_PENDING 2
+
+	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
+ */
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
+
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
+yy_size_t yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 0;		/* whether we need to initialize */
+static int yy_start = 0;	/* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin.  A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart (FILE *input_file  );
+void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
+void yy_delete_buffer (YY_BUFFER_STATE b  );
+void yy_flush_buffer (YY_BUFFER_STATE b  );
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
+void yypop_buffer_state (void );
+
+static void yyensure_buffer_stack (void );
+static void yy_load_buffer_state (void );
+static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+
+#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
+YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
+
+void *yyalloc (yy_size_t  );
+void *yyrealloc (void *,yy_size_t  );
+void yyfree (void *  );
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){ \
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+	}
+
+#define yy_set_bol(at_bol) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){\
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+	}
+
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
+
+typedef unsigned char YY_CHAR;
+
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+
+typedef int yy_state_type;
+
+extern int yylineno;
+
+int yylineno = 1;
+
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[]  );
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+	(yytext_ptr) = yy_bp; \
+	yyleng = (size_t) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
+	*yy_cp = '\0'; \
+	(yy_c_buf_p) = yy_cp;
+
+#define YY_NUM_RULES 62
+#define YY_END_OF_BUFFER 63
+/* This struct is not used in this scanner,
+   but its presence is necessary. */
+struct yy_trans_info
+	{
+	flex_int32_t yy_verify;
+	flex_int32_t yy_nxt;
+	};
+static yyconst flex_int16_t yy_accept[107] =
+    {   0,
+        0,    0,   63,   61,    1,   60,   24,   61,   46,   13,
+       23,   28,   61,   50,   51,   20,   18,   55,   19,   13,
+       21,   11,   11,   42,   59,   37,   54,   35,   41,   49,
+       13,   13,   13,   13,   13,   52,   13,   53,   22,   31,
+       25,    1,   56,   13,    1,   40,   16,   13,   27,   17,
+        6,    9,    5,   11,   13,   32,   38,   39,   36,   34,
+       45,   44,   48,   43,   47,    0,    2,   30,    1,   56,
+        0,   13,   13,   14,   26,   15,    9,    4,   10,    5,
+        7,    3,   12,   33,   29,    0,    0,   13,   13,   10,
+        6,    8,    5,    0,    0,    0,   57,   13,    6,    5,
+
+        0,    0,   58,    4,    3,    0
+    } ;
+
+static yyconst flex_int32_t yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
+        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    2,    4,    5,    6,    7,    8,    9,   10,   11,
+       12,   13,   14,   15,   16,   17,   18,   19,   20,   20,
+       20,   20,   20,   20,   20,   20,   20,   21,   22,   23,
+       24,   25,   26,   27,   28,   29,   28,   28,   30,   31,
+       32,    7,   33,    7,    7,    7,    7,    7,    7,    7,
+        7,   34,    7,    7,    7,    7,    7,   35,   36,    7,
+       37,   38,   39,   40,    7,    7,   28,   29,   28,   41,
+
+       42,   31,   32,    7,   43,    7,    7,    7,    7,   44,
+        7,    7,    7,   34,    7,   45,    7,    7,    7,   46,
+       36,    7,    7,   47,    7,   48,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7
+    } ;
+
+static yyconst flex_int32_t yy_meta[49] =
+    {   0,
+        1,    1,    1,    1,    2,    1,    3,    1,    1,    4,
+        1,    1,    1,    1,    1,    1,    3,    1,    3,    3,
+        1,    1,    1,    1,    1,    1,    1,    3,    3,    3,
+        3,    3,    3,    3,    3,    3,    1,    3,    1,    1,
+        3,    3,    3,    3,    3,    3,    1,    1
+    } ;
+
+static yyconst flex_int16_t yy_base[110] =
+    {   0,
+        0,   47,  166,  167,  163,  167,  140,    0,  167,    0,
+      167,  154,    0,  167,  167,  167,  167,  167,  167,   32,
+      167,   36,   19,  167,  167,   34,  138,   35,  167,  167,
+      155,  154,  153,  147,  144,  167,   61,  167,  167,  101,
+      167,   64,  167,   24,  145,  167,  141,    0,  136,  123,
+       42,   61,   60,   41,   88,  167,  167,  167,  167,  106,
+      167,  167,  167,  167,  167,   83,  167,   63,   90,  167,
+       37,   64,   58,  167,  167,  167,   80,    0,  167,    0,
+       95,    0,    0,  167,  167,   54,   45,   95,   33,   84,
+       93,  101,  103,  123,   24,  125,  167,  133,  118,  120,
+
+      139,  141,  167,  167,  167,  167,  151,   58,  155
+    } ;
+
+static yyconst flex_int16_t yy_def[110] =
+    {   0,
+      106,    1,  106,  106,  106,  106,  106,  107,  106,  108,
+      106,  106,  109,  106,  106,  106,  106,  106,  106,  108,
+      106,  108,   22,  106,  106,  106,  106,  106,  106,  106,
+      108,  108,  108,  108,  108,  106,  108,  106,  106,  106,
+      106,  106,  106,  108,  106,  106,  107,  108,  106,  109,
+       20,  108,  108,   22,  108,  106,  106,  106,  106,  106,
+      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
+      106,  108,  108,  106,  106,  106,  108,  108,  106,   53,
+      108,  108,   55,  106,  106,  106,  106,  108,  108,  106,
+      108,  106,  108,  106,  106,  106,  106,  108,  106,  106,
+
+      106,  106,  106,  106,  106,    0,  106,  106,  106
+    } ;
+
+static yyconst flex_int16_t yy_nxt[216] =
+    {   0,
+        4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
+       14,   15,   16,   17,   18,   19,   20,   21,   22,   23,
+       24,   25,   26,   27,   28,   29,   30,   10,   31,   10,
+       10,   32,   33,   34,   10,   35,   36,   37,   38,   39,
+       10,   10,   33,   10,   10,   10,   40,   41,   42,   43,
+       51,   51,   53,   48,   54,   54,   56,   57,   59,   60,
+       48,   52,   66,   67,   48,   69,   70,   72,  101,   73,
+       55,   77,   78,   52,   79,   48,   79,   98,   80,   80,
+       86,   55,   87,   77,   66,   67,   48,   95,   44,   81,
+       82,   69,   70,   90,   94,   90,   96,   97,   91,   91,
+
+       89,   81,   99,   99,   88,   71,   83,   83,   92,   85,
+       92,   91,   91,   93,   93,   83,   83,   83,   83,  100,
+      100,   93,   93,   78,   96,   97,   96,   97,   83,   83,
+       84,   71,   76,   82,  102,  103,   99,   99,  100,  100,
+      102,  103,  102,  103,   75,   74,   45,   68,  104,   65,
+      105,   47,   64,   47,   47,   50,   50,   50,   63,   62,
+       61,   58,   49,   46,   45,  106,    3,  106,  106,  106,
+      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
+      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
+      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
+
+      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
+      106,  106,  106,  106,  106
+    } ;
+
+static yyconst flex_int16_t yy_chk[216] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    2,
+       20,   20,   22,   23,   22,   22,   26,   26,   28,   28,
+      108,   20,   37,   37,   23,   42,   42,   44,   95,   44,
+       22,   51,   51,   20,   52,   54,   52,   89,   53,   53,
+       71,   22,   71,   51,   66,   66,   54,   87,    2,   53,
+       53,   69,   69,   77,   86,   77,   88,   88,   77,   77,
+
+       73,   53,   90,   90,   72,   42,   55,   55,   81,   68,
+       81,   91,   91,   81,   81,   55,   55,   55,   55,   92,
+       92,   93,   93,   91,   94,   94,   96,   96,   55,   55,
+       60,   69,   50,   93,   98,   98,   99,   99,  100,  100,
+      101,  101,  102,  102,   49,   47,   45,   40,   99,   35,
+      100,  107,   34,  107,  107,  109,  109,  109,   33,   32,
+       31,   27,   12,    7,    5,    3,  106,  106,  106,  106,
+      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
+      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
+      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
+
+      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
+      106,  106,  106,  106,  106
+    } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+extern int yy_flex_debug;
+int yy_flex_debug = 0;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "mapcalc.l"
+#line 3 "mapcalc.l"
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <grass/config.h>
+
+#ifdef HAVE_READLINE_READLINE_H
+#include <readline/readline.h>
+#include <readline/history.h>
+#endif
+
+#include <grass/gis.h>
+
+#include "mapcalc.h"
+
+#include "mapcalc.tab.h"
+
+#ifndef YY_NULL
+#define YY_NULL 0
+#endif
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+static const char *input_string;
+static int input_length;
+static int input_offset;
+static FILE *input_stream;
+
+static int get_input_string(char *buf, int max_size)
+{
+	const char *next = input_string + input_offset;
+	int left = input_length - input_offset;
+	int result;
+
+	if (left <= 0)
+		return YY_NULL;
+
+	result = (left > max_size) ? max_size : left;
+	memcpy(buf, next, result);
+	input_offset += result;
+
+	return result;
+}
+
+static int get_input_stream(char *buf, int max_size)
+{
+	if (feof(input_stream))
+		return YY_NULL;
+
+#ifdef HAVE_READLINE_READLINE_H
+	if (isatty(fileno(input_stream)))
+	{
+		char *line_read;
+
+		line_read = readline("mapcalc> ");
+		if (!line_read)
+			return YY_NULL;
+		if (strlen(line_read) > max_size - 2)
+			G_fatal_error("input line too long");
+		strcpy(buf, line_read);
+		strcat(buf, "\n");
+		free(line_read);
+
+		if (!*buf)
+			return YY_NULL;
+		add_history(buf);
+	}
+	else
+	{
+		if (!fgets(buf, max_size, input_stream))
+			return YY_NULL;
+	}
+#else
+	if (isatty(fileno(input_stream)))
+		fputs("mapcalc> ", stderr);
+
+	if (!fgets(buf, max_size, input_stream))
+		return YY_NULL;
+#endif
+
+	return strlen(buf);
+}
+
+#define YY_INPUT(buf,result,max_size)				\
+{								\
+	result = input_string					\
+		? get_input_string(buf, max_size)		\
+		: get_input_stream(buf, max_size);		\
+}
+
+#line 626 "<stdout>"
+
+#define INITIAL 0
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals (void );
+
+/* Accessor methods to globals.
+   These are made visible to non-reentrant scanners for convenience. */
+
+int yylex_destroy (void );
+
+int yyget_debug (void );
+
+void yyset_debug (int debug_flag  );
+
+YY_EXTRA_TYPE yyget_extra (void );
+
+void yyset_extra (YY_EXTRA_TYPE user_defined  );
+
+FILE *yyget_in (void );
+
+void yyset_in  (FILE * in_str  );
+
+FILE *yyget_out (void );
+
+void yyset_out  (FILE * out_str  );
+
+yy_size_t yyget_leng (void );
+
+char *yyget_text (void );
+
+int yyget_lineno (void );
+
+void yyset_lineno (int line_number  );
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap (void );
+#else
+extern int yywrap (void );
+#endif
+#endif
+
+    static void yyunput (int c,char *buf_ptr  );
+    
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char *,yyconst char *,int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * );
+#endif
+
+#ifndef YY_NO_INPUT
+
+#ifdef __cplusplus
+static int yyinput (void );
+#else
+static int input (void );
+#endif
+
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
+		{ \
+		int c = '*'; \
+		size_t n; \
+		for ( n = 0; n < max_size && \
+			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+			buf[n] = (char) c; \
+		if ( c == '\n' ) \
+			buf[n++] = (char) c; \
+		if ( c == EOF && ferror( yyin ) ) \
+			YY_FATAL_ERROR( "input in flex scanner failed" ); \
+		result = n; \
+		} \
+	else \
+		{ \
+		errno=0; \
+		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+			{ \
+			if( errno != EINTR) \
+				{ \
+				YY_FATAL_ERROR( "input in flex scanner failed" ); \
+				break; \
+				} \
+			errno=0; \
+			clearerr(yyin); \
+			} \
+		}\
+\
+
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* end tables serialization structures and prototypes */
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int yylex (void);
+
+#define YY_DECL int yylex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+	if ( yyleng > 0 ) \
+		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
+				(yytext[yyleng - 1] == '\n'); \
+	YY_USER_ACTION
+
+/** The main scanner function which does all the work.
+ */
+YY_DECL
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp, *yy_bp;
+	register int yy_act;
+    
+	if ( !(yy_init) )
+		{
+		(yy_init) = 1;
+
+#ifdef YY_USER_INIT
+		YY_USER_INIT;
+#endif
+
+		if ( ! (yy_start) )
+			(yy_start) = 1;	/* first start state */
+
+		if ( ! yyin )
+			yyin = stdin;
+
+		if ( ! yyout )
+			yyout = stdout;
+
+		if ( ! YY_CURRENT_BUFFER ) {
+			yyensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				yy_create_buffer(yyin,YY_BUF_SIZE );
+		}
+
+		yy_load_buffer_state( );
+		}
+
+	{
+#line 103 "mapcalc.l"
+
+
+#line 841 "<stdout>"
+
+	while ( 1 )		/* loops until end-of-file is reached */
+		{
+		yy_cp = (yy_c_buf_p);
+
+		/* Support of yytext. */
+		*yy_cp = (yy_hold_char);
+
+		/* yy_bp points to the position in yy_ch_buf of the start of
+		 * the current run.
+		 */
+		yy_bp = yy_cp;
+
+		yy_current_state = (yy_start);
+		yy_current_state += YY_AT_BOL();
+yy_match:
+		do
+			{
+			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
+			if ( yy_accept[yy_current_state] )
+				{
+				(yy_last_accepting_state) = yy_current_state;
+				(yy_last_accepting_cpos) = yy_cp;
+				}
+			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+				{
+				yy_current_state = (int) yy_def[yy_current_state];
+				if ( yy_current_state >= 107 )
+					yy_c = yy_meta[(unsigned int) yy_c];
+				}
+			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+			++yy_cp;
+			}
+		while ( yy_base[yy_current_state] != 167 );
+
+yy_find_action:
+		yy_act = yy_accept[yy_current_state];
+		if ( yy_act == 0 )
+			{ /* have to back up */
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
+			yy_act = yy_accept[yy_current_state];
+			}
+
+		YY_DO_BEFORE_ACTION;
+
+do_action:	/* This label is used only to access EOF actions. */
+
+		switch ( yy_act )
+	{ /* beginning of action switch */
+			case 0: /* must back up */
+			/* undo the effects of YY_DO_BEFORE_ACTION */
+			*yy_cp = (yy_hold_char);
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
+			goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 105 "mapcalc.l"
+;	/* ignore white space */
+	YY_BREAK
+case 2:
+/* rule 2 can match eol */
+YY_RULE_SETUP
+#line 107 "mapcalc.l"
+;	/* ignore backslash-newline */
+	YY_BREAK
+case 3:
+#line 110 "mapcalc.l"
+case 4:
+YY_RULE_SETUP
+#line 110 "mapcalc.l"
+{
+			yylval.fval = atof(yytext);
+			return FLOAT;
+		}
+	YY_BREAK
+case 5:
+#line 116 "mapcalc.l"
+case 6:
+YY_RULE_SETUP
+#line 116 "mapcalc.l"
+{
+			yylval.fval = atof(yytext);
+			return DOUBLE;
+		}
+	YY_BREAK
+case 7:
+#line 122 "mapcalc.l"
+case 8:
+#line 123 "mapcalc.l"
+case 9:
+#line 124 "mapcalc.l"
+case 10:
+YY_RULE_SETUP
+#line 124 "mapcalc.l"
+{
+			fprintf(stderr, "unterminated FP constant\n");
+			yyterminate();
+		}
+	YY_BREAK
+case 11:
+YY_RULE_SETUP
+#line 129 "mapcalc.l"
+{
+			yylval.ival = atoi(yytext);
+			return INTEGER;
+		}
+	YY_BREAK
+case 12:
+YY_RULE_SETUP
+#line 134 "mapcalc.l"
+{
+			yylval.ival = (int) strtoul(yytext, NULL, 16);
+			return INTEGER;
+		}
+	YY_BREAK
+case 13:
+YY_RULE_SETUP
+#line 139 "mapcalc.l"
+{
+			yylval.sval = strdup(yytext);
+			return is_var(yytext) ? VARNAME : NAME; 
+		}
+	YY_BREAK
+case 14:
+/* rule 14 can match eol */
+#line 145 "mapcalc.l"
+case 15:
+/* rule 15 can match eol */
+YY_RULE_SETUP
+#line 145 "mapcalc.l"
+{
+			yylval.sval = strdup(yytext + 1);
+			yylval.sval[yyleng - 2] = '\0';
+			return is_var(yytext) ? VARSTRING : STRING; 
+		}
+	YY_BREAK
+case 16:
+/* rule 16 can match eol */
+#line 152 "mapcalc.l"
+case 17:
+/* rule 17 can match eol */
+YY_RULE_SETUP
+#line 152 "mapcalc.l"
+{
+			fprintf(stderr, "unterminated string\n");
+			yyterminate();
+		}
+	YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 157 "mapcalc.l"
+{	return '+';	}
+	YY_BREAK
+case 19:
+YY_RULE_SETUP
+#line 158 "mapcalc.l"
+{	return '-';	}
+	YY_BREAK
+case 20:
+YY_RULE_SETUP
+#line 159 "mapcalc.l"
+{	return '*';	}
+	YY_BREAK
+case 21:
+YY_RULE_SETUP
+#line 160 "mapcalc.l"
+{	return '/';	}
+	YY_BREAK
+case 22:
+YY_RULE_SETUP
+#line 161 "mapcalc.l"
+{	return '^';	}
+	YY_BREAK
+case 23:
+YY_RULE_SETUP
+#line 162 "mapcalc.l"
+{	return '%';	}
+	YY_BREAK
+case 24:
+YY_RULE_SETUP
+#line 164 "mapcalc.l"
+{	return '!';	}
+	YY_BREAK
+case 25:
+YY_RULE_SETUP
+#line 165 "mapcalc.l"
+{	return '~';	}
+	YY_BREAK
+case 26:
+YY_RULE_SETUP
+#line 167 "mapcalc.l"
+{	return LOGAND2;	}
+	YY_BREAK
+case 27:
+YY_RULE_SETUP
+#line 168 "mapcalc.l"
+{	return LOGAND;	}
+	YY_BREAK
+case 28:
+YY_RULE_SETUP
+#line 169 "mapcalc.l"
+{	return BITAND;	}
+	YY_BREAK
+case 29:
+YY_RULE_SETUP
+#line 171 "mapcalc.l"
+{	return LOGOR2;	}
+	YY_BREAK
+case 30:
+YY_RULE_SETUP
+#line 172 "mapcalc.l"
+{	return LOGOR;	}
+	YY_BREAK
+case 31:
+YY_RULE_SETUP
+#line 173 "mapcalc.l"
+{	return BITOR;	}
+	YY_BREAK
+case 32:
+YY_RULE_SETUP
+#line 175 "mapcalc.l"
+{	return LSH;	}
+	YY_BREAK
+case 33:
+YY_RULE_SETUP
+#line 176 "mapcalc.l"
+{	return RSHU;	}
+	YY_BREAK
+case 34:
+YY_RULE_SETUP
+#line 177 "mapcalc.l"
+{	return RSH;	}
+	YY_BREAK
+case 35:
+YY_RULE_SETUP
+#line 179 "mapcalc.l"
+{	return GT;	}
+	YY_BREAK
+case 36:
+YY_RULE_SETUP
+#line 180 "mapcalc.l"
+{	return GE;	}
+	YY_BREAK
+case 37:
+YY_RULE_SETUP
+#line 181 "mapcalc.l"
+{	return LT;	}
+	YY_BREAK
+case 38:
+YY_RULE_SETUP
+#line 182 "mapcalc.l"
+{	return LE;	}
+	YY_BREAK
+case 39:
+YY_RULE_SETUP
+#line 184 "mapcalc.l"
+{	return EQ;	}
+	YY_BREAK
+case 40:
+YY_RULE_SETUP
+#line 185 "mapcalc.l"
+{	return NE;	}
+	YY_BREAK
+case 41:
+YY_RULE_SETUP
+#line 187 "mapcalc.l"
+{	return '?';	}
+	YY_BREAK
+case 42:
+YY_RULE_SETUP
+#line 188 "mapcalc.l"
+{	return ':';	}
+	YY_BREAK
+case 43:
+YY_RULE_SETUP
+#line 190 "mapcalc.l"
+{	return 'r';	}
+	YY_BREAK
+case 44:
+YY_RULE_SETUP
+#line 191 "mapcalc.l"
+{	return 'g';	}
+	YY_BREAK
+case 45:
+YY_RULE_SETUP
+#line 192 "mapcalc.l"
+{	return 'b';	}
+	YY_BREAK
+case 46:
+YY_RULE_SETUP
+#line 193 "mapcalc.l"
+{	return '#';	}
+	YY_BREAK
+case 47:
+YY_RULE_SETUP
+#line 194 "mapcalc.l"
+{	return 'y';	}
+	YY_BREAK
+case 48:
+YY_RULE_SETUP
+#line 195 "mapcalc.l"
+{	return 'i';	}
+	YY_BREAK
+case 49:
+YY_RULE_SETUP
+#line 197 "mapcalc.l"
+{	return '@';	}
+	YY_BREAK
+case 50:
+YY_RULE_SETUP
+#line 199 "mapcalc.l"
+{	return '(';	}
+	YY_BREAK
+case 51:
+YY_RULE_SETUP
+#line 200 "mapcalc.l"
+{	return ')';	}
+	YY_BREAK
+case 52:
+YY_RULE_SETUP
+#line 202 "mapcalc.l"
+{	return '[';	}
+	YY_BREAK
+case 53:
+YY_RULE_SETUP
+#line 203 "mapcalc.l"
+{	return ']';	}
+	YY_BREAK
+case 54:
+YY_RULE_SETUP
+#line 205 "mapcalc.l"
+{	return '=';	}
+	YY_BREAK
+case 55:
+YY_RULE_SETUP
+#line 207 "mapcalc.l"
+{	return ',';	}
+	YY_BREAK
+case 56:
+/* rule 56 can match eol */
+YY_RULE_SETUP
+#line 209 "mapcalc.l"
+{	yyterminate();	}
+	YY_BREAK
+case 57:
+/* rule 57 can match eol */
+YY_RULE_SETUP
+#line 210 "mapcalc.l"
+{	yyterminate();	}
+	YY_BREAK
+case 58:
+/* rule 58 can match eol */
+YY_RULE_SETUP
+#line 211 "mapcalc.l"
+{	yyterminate();	}
+	YY_BREAK
+case 59:
+#line 214 "mapcalc.l"
+case 60:
+/* rule 60 can match eol */
+YY_RULE_SETUP
+#line 214 "mapcalc.l"
+{	return ';';	}
+	YY_BREAK
+case 61:
+YY_RULE_SETUP
+#line 217 "mapcalc.l"
+{
+			fprintf(stderr, "syntax error: '%*s'\n", yyleng, yytext);
+			yyterminate();
+		}
+	YY_BREAK
+case 62:
+YY_RULE_SETUP
+#line 221 "mapcalc.l"
+ECHO;
+	YY_BREAK
+#line 1222 "<stdout>"
+case YY_STATE_EOF(INITIAL):
+	yyterminate();
+
+	case YY_END_OF_BUFFER:
+		{
+		/* Amount of text matched not including the EOB char. */
+		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+		/* Undo the effects of YY_DO_BEFORE_ACTION. */
+		*yy_cp = (yy_hold_char);
+		YY_RESTORE_YY_MORE_OFFSET
+
+		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+			{
+			/* We're scanning a new file or input source.  It's
+			 * possible that this happened because the user
+			 * just pointed yyin at a new source and called
+			 * yylex().  If so, then we have to assure
+			 * consistency between YY_CURRENT_BUFFER and our
+			 * globals.  Here is the right place to do so, because
+			 * this is the first action (other than possibly a
+			 * back-up) that will match for the new input source.
+			 */
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+			}
+
+		/* Note that here we test for yy_c_buf_p "<=" to the position
+		 * of the first EOB in the buffer, since yy_c_buf_p will
+		 * already have been incremented past the NUL character
+		 * (since all states make transitions on EOB to the
+		 * end-of-buffer state).  Contrast this with the test
+		 * in input().
+		 */
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			{ /* This was really a NUL. */
+			yy_state_type yy_next_state;
+
+			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+			yy_current_state = yy_get_previous_state(  );
+
+			/* Okay, we're now positioned to make the NUL
+			 * transition.  We couldn't have
+			 * yy_get_previous_state() go ahead and do it
+			 * for us because it doesn't know how to deal
+			 * with the possibility of jamming (and we don't
+			 * want to build jamming into it because then it
+			 * will run more slowly).
+			 */
+
+			yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+			if ( yy_next_state )
+				{
+				/* Consume the NUL. */
+				yy_cp = ++(yy_c_buf_p);
+				yy_current_state = yy_next_state;
+				goto yy_match;
+				}
+
+			else
+				{
+				yy_cp = (yy_c_buf_p);
+				goto yy_find_action;
+				}
+			}
+
+		else switch ( yy_get_next_buffer(  ) )
+			{
+			case EOB_ACT_END_OF_FILE:
+				{
+				(yy_did_buffer_switch_on_eof) = 0;
+
+				if ( yywrap( ) )
+					{
+					/* Note: because we've taken care in
+					 * yy_get_next_buffer() to have set up
+					 * yytext, we can now set up
+					 * yy_c_buf_p so that if some total
+					 * hoser (like flex itself) wants to
+					 * call the scanner after we return the
+					 * YY_NULL, it'll still work - another
+					 * YY_NULL will get returned.
+					 */
+					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+					yy_act = YY_STATE_EOF(YY_START);
+					goto do_action;
+					}
+
+				else
+					{
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+					}
+				break;
+				}
+
+			case EOB_ACT_CONTINUE_SCAN:
+				(yy_c_buf_p) =
+					(yytext_ptr) + yy_amount_of_matched_text;
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_match;
+
+			case EOB_ACT_LAST_MATCH:
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_find_action;
+			}
+		break;
+		}
+
+	default:
+		YY_FATAL_ERROR(
+			"fatal flex scanner internal error--no action found" );
+	} /* end of action switch */
+		} /* end of scanning one token */
+	} /* end of user's declarations */
+} /* end of yylex */
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *	EOB_ACT_LAST_MATCH -
+ *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *	EOB_ACT_END_OF_FILE - end of file
+ */
+static int yy_get_next_buffer (void)
+{
+    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	register char *source = (yytext_ptr);
+	register int number_to_move, i;
+	int ret_val;
+
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+		YY_FATAL_ERROR(
+		"fatal flex scanner internal error--end of buffer missed" );
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+		{ /* Don't try to fill the buffer, so this is an EOF. */
+		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+			{
+			/* We matched a single character, the EOB, so
+			 * treat this as a final EOF.
+			 */
+			return EOB_ACT_END_OF_FILE;
+			}
+
+		else
+			{
+			/* We matched some text prior to the EOB, first
+			 * process it.
+			 */
+			return EOB_ACT_LAST_MATCH;
+			}
+		}
+
+	/* Try to read more data. */
+
+	/* First move last chars to start of buffer. */
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+
+	for ( i = 0; i < number_to_move; ++i )
+		*(dest++) = *(source++);
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+		/* don't do the read, it's not guaranteed to return an EOF,
+		 * just force an EOF
+		 */
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+	else
+		{
+			yy_size_t num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+		while ( num_to_read <= 0 )
+			{ /* Not enough room in the buffer - grow it. */
+
+			/* just a shorter name for the current buffer */
+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+
+			int yy_c_buf_p_offset =
+				(int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+			if ( b->yy_is_our_buffer )
+				{
+				yy_size_t new_size = b->yy_buf_size * 2;
+
+				if ( new_size <= 0 )
+					b->yy_buf_size += b->yy_buf_size / 8;
+				else
+					b->yy_buf_size *= 2;
+
+				b->yy_ch_buf = (char *)
+					/* Include room in for 2 EOB chars. */
+					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+				}
+			else
+				/* Can't grow it, we don't own it. */
+				b->yy_ch_buf = 0;
+
+			if ( ! b->yy_ch_buf )
+				YY_FATAL_ERROR(
+				"fatal error - scanner input buffer overflow" );
+
+			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+						number_to_move - 1;
+
+			}
+
+		if ( num_to_read > YY_READ_BUF_SIZE )
+			num_to_read = YY_READ_BUF_SIZE;
+
+		/* Read in more data. */
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), num_to_read );
+
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	if ( (yy_n_chars) == 0 )
+		{
+		if ( number_to_move == YY_MORE_ADJ )
+			{
+			ret_val = EOB_ACT_END_OF_FILE;
+			yyrestart(yyin  );
+			}
+
+		else
+			{
+			ret_val = EOB_ACT_LAST_MATCH;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+				YY_BUFFER_EOF_PENDING;
+			}
+		}
+
+	else
+		ret_val = EOB_ACT_CONTINUE_SCAN;
+
+	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+		/* Extend the array by 50%, plus the number we really need. */
+		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+	}
+
+	(yy_n_chars) += number_to_move;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+
+	return ret_val;
+}
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+    static yy_state_type yy_get_previous_state (void)
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp;
+    
+	yy_current_state = (yy_start);
+	yy_current_state += YY_AT_BOL();
+
+	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+		{
+		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+		if ( yy_accept[yy_current_state] )
+			{
+			(yy_last_accepting_state) = yy_current_state;
+			(yy_last_accepting_cpos) = yy_cp;
+			}
+		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+			{
+			yy_current_state = (int) yy_def[yy_current_state];
+			if ( yy_current_state >= 107 )
+				yy_c = yy_meta[(unsigned int) yy_c];
+			}
+		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+		}
+
+	return yy_current_state;
+}
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *	next_state = yy_try_NUL_trans( current_state );
+ */
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
+	register int yy_is_jam;
+    	register char *yy_cp = (yy_c_buf_p);
+
+	register YY_CHAR yy_c = 1;
+	if ( yy_accept[yy_current_state] )
+		{
+		(yy_last_accepting_state) = yy_current_state;
+		(yy_last_accepting_cpos) = yy_cp;
+		}
+	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+		{
+		yy_current_state = (int) yy_def[yy_current_state];
+		if ( yy_current_state >= 107 )
+			yy_c = yy_meta[(unsigned int) yy_c];
+		}
+	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+	yy_is_jam = (yy_current_state == 106);
+
+		return yy_is_jam ? 0 : yy_current_state;
+}
+
+    static void yyunput (int c, register char * yy_bp )
+{
+	register char *yy_cp;
+    
+    yy_cp = (yy_c_buf_p);
+
+	/* undo effects of setting up yytext */
+	*yy_cp = (yy_hold_char);
+
+	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+		{ /* need to shift things up to make room */
+		/* +2 for EOB chars. */
+		register yy_size_t number_to_move = (yy_n_chars) + 2;
+		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+		register char *source =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+
+		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			*--dest = *--source;
+
+		yy_cp += (int) (dest - source);
+		yy_bp += (int) (dest - source);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+
+		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+			YY_FATAL_ERROR( "flex scanner push-back overflow" );
+		}
+
+	*--yy_cp = (char) c;
+
+	(yytext_ptr) = yy_bp;
+	(yy_hold_char) = *yy_cp;
+	(yy_c_buf_p) = yy_cp;
+}
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+    static int yyinput (void)
+#else
+    static int input  (void)
+#endif
+
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
+
+	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+		{
+		/* yy_c_buf_p now points to the character we want to return.
+		 * If this occurs *before* the EOB characters, then it's a
+		 * valid NUL; if not, then we've hit the end of the buffer.
+		 */
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			/* This was really a NUL. */
+			*(yy_c_buf_p) = '\0';
+
+		else
+			{ /* need more input */
+			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
+			++(yy_c_buf_p);
+
+			switch ( yy_get_next_buffer(  ) )
+				{
+				case EOB_ACT_LAST_MATCH:
+					/* This happens because yy_g_n_b()
+					 * sees that we've accumulated a
+					 * token and flags that we need to
+					 * try matching the token before
+					 * proceeding.  But for input(),
+					 * there's no matching to consider.
+					 * So convert the EOB_ACT_LAST_MATCH
+					 * to EOB_ACT_END_OF_FILE.
+					 */
+
+					/* Reset buffer status. */
+					yyrestart(yyin );
+
+					/*FALLTHROUGH*/
+
+				case EOB_ACT_END_OF_FILE:
+					{
+					if ( yywrap( ) )
+						return EOF;
+
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+#ifdef __cplusplus
+					return yyinput();
+#else
+					return input();
+#endif
+					}
+
+				case EOB_ACT_CONTINUE_SCAN:
+					(yy_c_buf_p) = (yytext_ptr) + offset;
+					break;
+				}
+			}
+		}
+
+	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
+	*(yy_c_buf_p) = '\0';	/* preserve yytext */
+	(yy_hold_char) = *++(yy_c_buf_p);
+
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
+
+	return c;
+}
+#endif	/* ifndef YY_NO_INPUT */
+
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * 
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+    void yyrestart  (FILE * input_file )
+{
+    
+	if ( ! YY_CURRENT_BUFFER ){
+        yyensure_buffer_stack ();
+		YY_CURRENT_BUFFER_LVALUE =
+            yy_create_buffer(yyin,YY_BUF_SIZE );
+	}
+
+	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
+	yy_load_buffer_state( );
+}
+
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * 
+ */
+    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+{
+    
+	/* TODO. We should be able to replace this entire function body
+	 * with
+	 *		yypop_buffer_state();
+	 *		yypush_buffer_state(new_buffer);
+     */
+	yyensure_buffer_stack ();
+	if ( YY_CURRENT_BUFFER == new_buffer )
+		return;
+
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	yy_load_buffer_state( );
+
+	/* We don't actually know whether we did this switch during
+	 * EOF (yywrap()) processing, but the only time this flag
+	 * is looked at is after yywrap() is called, so it's safe
+	 * to go ahead and always set it.
+	 */
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+static void yy_load_buffer_state  (void)
+{
+    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+	(yy_hold_char) = *(yy_c_buf_p);
+}
+
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * 
+ * @return the allocated buffer state.
+ */
+    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
+{
+	YY_BUFFER_STATE b;
+    
+	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_buf_size = size;
+
+	/* yy_ch_buf has to be 2 characters longer than the size given because
+	 * we need to put in 2 end-of-buffer characters.
+	 */
+	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
+	if ( ! b->yy_ch_buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_is_our_buffer = 1;
+
+	yy_init_buffer(b,file );
+
+	return b;
+}
+
+/** Destroy the buffer.
+ * @param b a buffer created with yy_create_buffer()
+ * 
+ */
+    void yy_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
+	if ( ! b )
+		return;
+
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+	if ( b->yy_is_our_buffer )
+		yyfree((void *) b->yy_ch_buf  );
+
+	yyfree((void *) b  );
+}
+
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a yyrestart() or at EOF.
+ */
+    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
+
+{
+	int oerrno = errno;
+    
+	yy_flush_buffer(b );
+
+	b->yy_input_file = file;
+	b->yy_fill_buffer = 1;
+
+    /* If b is the current buffer, then yy_init_buffer was _probably_
+     * called from yyrestart() or through yy_get_next_buffer.
+     * In that case, we don't want to reset the lineno or column.
+     */
+    if (b != YY_CURRENT_BUFFER){
+        b->yy_bs_lineno = 1;
+        b->yy_bs_column = 0;
+    }
+
+        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+    
+	errno = oerrno;
+}
+
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * 
+ */
+    void yy_flush_buffer (YY_BUFFER_STATE  b )
+{
+    	if ( ! b )
+		return;
+
+	b->yy_n_chars = 0;
+
+	/* We always need two end-of-buffer characters.  The first causes
+	 * a transition to the end-of-buffer state.  The second causes
+	 * a jam in that state.
+	 */
+	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+	b->yy_buf_pos = &b->yy_ch_buf[0];
+
+	b->yy_at_bol = 1;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	if ( b == YY_CURRENT_BUFFER )
+		yy_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	yyensure_buffer_stack();
+
+	/* This block is copied from yy_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from yy_switch_to_buffer. */
+	yy_load_buffer_state( );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void yypop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	yy_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		yy_load_buffer_state( );
+		(yy_did_buffer_switch_on_eof) = 1;
+	}
+}
+
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void yyensure_buffer_stack (void)
+{
+	yy_size_t num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+		num_to_alloc = 1;
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+								  
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+				
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
+
+	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+		/* Increase the buffer to prepare for a possible push. */
+		int grow_size = 8 /* arbitrary grow size */;
+
+		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+								((yy_buffer_stack),
+								num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
+		/* zero only the new slots.*/
+		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+		(yy_buffer_stack_max) = num_to_alloc;
+	}
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * 
+ * @return the newly allocated buffer state object. 
+ */
+YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
+{
+	YY_BUFFER_STATE b;
+    
+	if ( size < 2 ||
+	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+		/* They forgot to leave room for the EOB's. */
+		return 0;
+
+	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
+	b->yy_buf_pos = b->yy_ch_buf = base;
+	b->yy_is_our_buffer = 0;
+	b->yy_input_file = 0;
+	b->yy_n_chars = b->yy_buf_size;
+	b->yy_is_interactive = 0;
+	b->yy_at_bol = 1;
+	b->yy_fill_buffer = 0;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	yy_switch_to_buffer(b  );
+
+	return b;
+}
+
+/** Setup the input buffer state to scan a string. The next call to yylex() will
+ * scan from a @e copy of @a str.
+ * @param yystr a NUL-terminated string to scan
+ * 
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ *       yy_scan_bytes() instead.
+ */
+YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
+{
+    
+	return yy_scan_bytes(yystr,strlen(yystr) );
+}
+
+/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+ * scan from a @e copy of @a bytes.
+ * @param yybytes the byte buffer to scan
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
+{
+	YY_BUFFER_STATE b;
+	char *buf;
+	yy_size_t n;
+	yy_size_t i;
+    
+	/* Get memory for full buffer, including space for trailing EOB's. */
+	n = _yybytes_len + 2;
+	buf = (char *) yyalloc(n  );
+	if ( ! buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+	for ( i = 0; i < _yybytes_len; ++i )
+		buf[i] = yybytes[i];
+
+	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+
+	b = yy_scan_buffer(buf,n );
+	if ( ! b )
+		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+	/* It's okay to grow etc. this buffer, and we should throw it
+	 * away when we're done.
+	 */
+	b->yy_is_our_buffer = 1;
+
+	return b;
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+static void yy_fatal_error (yyconst char* msg )
+{
+    	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		yytext[yyleng] = (yy_hold_char); \
+		(yy_c_buf_p) = yytext + yyless_macro_arg; \
+		(yy_hold_char) = *(yy_c_buf_p); \
+		*(yy_c_buf_p) = '\0'; \
+		yyleng = yyless_macro_arg; \
+		} \
+	while ( 0 )
+
+/* Accessor  methods (get/set functions) to struct members. */
+
+/** Get the current line number.
+ * 
+ */
+int yyget_lineno  (void)
+{
+        
+    return yylineno;
+}
+
+/** Get the input stream.
+ * 
+ */
+FILE *yyget_in  (void)
+{
+        return yyin;
+}
+
+/** Get the output stream.
+ * 
+ */
+FILE *yyget_out  (void)
+{
+        return yyout;
+}
+
+/** Get the length of the current token.
+ * 
+ */
+yy_size_t yyget_leng  (void)
+{
+        return yyleng;
+}
+
+/** Get the current token.
+ * 
+ */
+
+char *yyget_text  (void)
+{
+        return yytext;
+}
+
+/** Set the current line number.
+ * @param line_number
+ * 
+ */
+void yyset_lineno (int  line_number )
+{
+    
+    yylineno = line_number;
+}
+
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param in_str A readable stream.
+ * 
+ * @see yy_switch_to_buffer
+ */
+void yyset_in (FILE *  in_str )
+{
+        yyin = in_str ;
+}
+
+void yyset_out (FILE *  out_str )
+{
+        yyout = out_str ;
+}
+
+int yyget_debug  (void)
+{
+        return yy_flex_debug;
+}
+
+void yyset_debug (int  bdebug )
+{
+        yy_flex_debug = bdebug ;
+}
+
+static int yy_init_globals (void)
+{
+        /* Initialization is the same as for the non-reentrant scanner.
+     * This function is called from yylex_destroy(), so don't allocate here.
+     */
+
+    (yy_buffer_stack) = 0;
+    (yy_buffer_stack_top) = 0;
+    (yy_buffer_stack_max) = 0;
+    (yy_c_buf_p) = (char *) 0;
+    (yy_init) = 0;
+    (yy_start) = 0;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+    yyin = stdin;
+    yyout = stdout;
+#else
+    yyin = (FILE *) 0;
+    yyout = (FILE *) 0;
+#endif
+
+    /* For future reference: Set errno on error, since we are called by
+     * yylex_init()
+     */
+    return 0;
+}
+
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy  (void)
+{
+    
+    /* Pop the buffer stack, destroying each element. */
+	while(YY_CURRENT_BUFFER){
+		yy_delete_buffer(YY_CURRENT_BUFFER  );
+		YY_CURRENT_BUFFER_LVALUE = NULL;
+		yypop_buffer_state();
+	}
+
+	/* Destroy the stack itself. */
+	yyfree((yy_buffer_stack) );
+	(yy_buffer_stack) = NULL;
+
+    /* Reset the globals. This is important in a non-reentrant scanner so the next time
+     * yylex() is called, initialization will occur. */
+    yy_init_globals( );
+
+    return 0;
+}
+
+/*
+ * Internal utility routines.
+ */
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
+	register int i;
+	for ( i = 0; i < n; ++i )
+		s1[i] = s2[i];
+}
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * s )
+{
+	register int n;
+	for ( n = 0; s[n]; ++n )
+		;
+
+	return n;
+}
+#endif
+
+void *yyalloc (yy_size_t  size )
+{
+	return (void *) malloc( size );
+}
+
+void *yyrealloc  (void * ptr, yy_size_t  size )
+{
+	/* The cast to (char *) in the following accommodates both
+	 * implementations that use char* generic pointers, and those
+	 * that use void* generic pointers.  It works with the latter
+	 * because both ANSI C and C++ allow castless assignment from
+	 * any pointer type to void*, and deal with argument conversions
+	 * as though doing an assignment.
+	 */
+	return (void *) realloc( (char *) ptr, size );
+}
+
+void yyfree (void * ptr )
+{
+	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
+
+#line 221 "mapcalc.l"
+
+
+
+int yywrap(void)
+{
+	return 1;
+}
+
+void initialize_scanner_string(const char *s)
+{
+	input_string = s;
+	input_length = strlen(s);
+	input_offset = 0;
+}
+
+void initialize_scanner_stream(FILE *fp)
+{
+	input_stream = fp;
+	setbuf(fp, NULL);
+}
+
+
diff --git a/raster/r.mapcalc/r.mapcalc.html b/raster/r.mapcalc/r.mapcalc.html
index bcc4b5d..40184e7 100644
--- a/raster/r.mapcalc/r.mapcalc.html
+++ b/raster/r.mapcalc/r.mapcalc.html
@@ -4,7 +4,6 @@ New raster map layers can be created which are arithmetic expressions
 involving existing raster map layers, integer or floating point constants,
 and functions.
 
-
 <h3>Program use</h3>
 
 <em>r.mapcalc</em> expression have the form:
@@ -680,7 +679,25 @@ X (map) values supplied and y (newmap) values returned:
 
 <h2>KNOWN ISSUES</h2>
 
-Continuation lines must end with a <tt>\</tt> and have <em>no</em> trailing
+The <em>result</em> variable on the left hand side of the equation should not
+appear in the <em>expression</em> on the right hand side.
+
+<div class="code"><pre>
+<s>mymap = if( mymap > 0, mymap, 0)</s>
+</pre></div>
+
+<p>Any maps generated by a <em>r.mapcalc</em> command only exist after the entire
+command has completed. All maps are generated concurrently, row-by-row
+(i.e. there is an implicit "for row in rows {...}" around the entire expression).
+Thus the <tt>#</tt>, <tt>@</tt>, and <tt>[ ]</tt> operators cannot be used on a map
+generated within same <em>r.mapcalc</em> command run.
+
+<div class="code"><pre>
+newmap = oldmap * 3.14
+<s>othermap = newmap[-1, 0] / newmap[1, 0]</s>
+</pre></div>
+
+<p>Continuation lines must end with a <tt>\</tt> and have <em>no</em> trailing
 white space (blanks or tabs). If the user does leave white space at the end of
 continuation lines, the error messages produced by <em>r.mapcalc</em> will
 be meaningless and the equation will not work as the user intended.
@@ -729,4 +746,4 @@ Research Laboratory
 <p>Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2015-10-25 11:02:36 +0100 (Sun, 25 Oct 2015) $</i>
+<i>Last changed: $Date: 2016-04-18 00:00:57 +0200 (Mo, 18. Apr 2016) $</i>
diff --git a/raster/r.mapcalc/r3.mapcalc.html b/raster/r.mapcalc/r3.mapcalc.html
index 86f4e02..06e00a0 100644
--- a/raster/r.mapcalc/r3.mapcalc.html
+++ b/raster/r.mapcalc/r3.mapcalc.html
@@ -1,10 +1,10 @@
 <h2>DESCRIPTION</h2>
+
 <em>r3.mapcalc</em> performs arithmetic on raster map layers.
 New raster map layers can be created which are arithmetic expressions
 involving existing raster map layers, integer or floating point constants,
 and functions.
 
-
 <h3>Program use</h3>
 
 <em>r3.mapcalc</em> expression have the form:
@@ -166,6 +166,7 @@ result = x at PERMANENT / y at SOILS
 GRASS commands, not just <em>r3.mapcalc</em>.)
 <p>
 
+
 <h3>The neighborhood modifier</h3>
 
 3D grids are data base files stored in voxel format, i.e., three-dimensional
@@ -517,9 +518,9 @@ To mask 3D grid <em>b</em> by 3D grid <em>a</em>:
 <div class="code"><pre>
 result = if(a,b)
 </pre></div>
-To change all values below 5 to NULL:
+To change all values below 5 to NULL, keep otherwise:
 <div class="code"><pre>
-newmap = if(map<5, null(), 5)
+newmap = if(map < 5, null(), map)
 </pre></div>
 The graph() function allows users to specify a x-y conversion using 
 pairs of x,y coordinates.
@@ -551,7 +552,25 @@ X (map) values supplied and y (newmap) values returned:
 
 <h2>KNOWN ISSUES</h2>
 
-Continuation lines must end with a <tt>\</tt> and have <em>no</em> trailing
+The <em>result</em> variable on the left hand side of the equation should not
+appear in the <em>expression</em> on the right hand side.
+
+<div class="code"><pre>
+<s>mymap = if( mymap > 0, mymap, 0)</s>
+</pre></div>
+
+<p>Any maps generated by a <em>r3.mapcalc</em> command only exist after the entire
+command has completed. All maps are generated concurrently, row-by-row
+(i.e. there is an implicit "for row in rows {...}" around the entire expression).
+Thus the <tt>#</tt>, <tt>@</tt>, and <tt>[ ]</tt> operators cannot be used on a map
+generated within same <em>r3.mapcalc</em> command run.
+
+<div class="code"><pre>
+newmap = oldmap * 3.14
+<s>othermap = newmap[-1, 0] / newmap[1, 0]</s>
+</pre></div>
+
+<p>Continuation lines must end with a <tt>\</tt> and have <em>no</em> trailing
 white space (blanks or tabs). If the user does leave white space at the end of
 continuation lines, the error messages produced by <em>r3.mapcalc</em> will
 be meaningless and the equation will not work as the user intended.
@@ -600,4 +619,4 @@ Tomas Paudits & Jaro Hofierka, funded by GeoModel s.r.o., Slovakia
 <p>Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2015-10-25 11:02:36 +0100 (Sun, 25 Oct 2015) $</i>
+<i>Last changed: $Date: 2016-04-18 00:00:57 +0200 (Mo, 18. Apr 2016) $</i>
diff --git a/raster/r.neighbors/main.c b/raster/r.neighbors/main.c
index f641b7d..1207029 100644
--- a/raster/r.neighbors/main.c
+++ b/raster/r.neighbors/main.c
@@ -56,7 +56,7 @@ enum out_type {
 static struct menu menu[] = {
     {c_ave, w_ave, NO_CATS, 1, 1, T_FLOAT, "average", "average value"},
     {c_median, w_median, NO_CATS, 1, 0, T_FLOAT, "median", "median value"},
-    {c_mode, w_mode, NO_CATS, 1, 0, T_COPY, "mode", "most frequently occuring value"},
+    {c_mode, w_mode, NO_CATS, 1, 0, T_COPY, "mode", "most frequently occurring value"},
     {c_min, NULL, NO_CATS, 1, 0, T_COPY, "minimum", "lowest value"},
     {c_max, NULL, NO_CATS, 1, 0, T_COPY, "maximum", "highest value"},
     {c_range, NULL, NO_CATS, 1, 0, T_COPY, "range", "range value"},
diff --git a/raster/r.out.gridatb/r.out.gridatb.html b/raster/r.out.gridatb/r.out.gridatb.html
index 62b1dd1..07fbf39 100644
--- a/raster/r.out.gridatb/r.out.gridatb.html
+++ b/raster/r.out.gridatb/r.out.gridatb.html
@@ -12,4 +12,4 @@
 
 Huidae Cho based on code from Keith Beven
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster/r.out.vrml/r.out.vrml.html b/raster/r.out.vrml/r.out.vrml.html
index a8d4902..063bdfb 100644
--- a/raster/r.out.vrml/r.out.vrml.html
+++ b/raster/r.out.vrml/r.out.vrml.html
@@ -60,4 +60,4 @@ Other possible additions:
 <h2>AUTHOR</h2>
   Bill Brown, US Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster/r.param.scale/feature.c b/raster/r.param.scale/feature.c
index 4e5b37c..bac79f1 100644
--- a/raster/r.param.scale/feature.c
+++ b/raster/r.param.scale/feature.c
@@ -6,7 +6,7 @@
 
 /***                              feature()                                ***/
 
-/***     Returns a terrain feature based on the 6 quadratic coefficents    ***/
+/***     Returns a terrain feature based on the 6 quadratic coefficients    ***/
 
 /***	 that define a local trend surface. 			    	   ***/
 
@@ -21,7 +21,7 @@
 
 
 DCELL feature(double *coeff)
-{				/* Set of six quadratic coefficents.      */
+{				/* Set of six quadratic coefficients.      */
 
     /* Quadratic function in the form of
 
diff --git a/raster/r.param.scale/param.c b/raster/r.param.scale/param.c
index f2ea169..30cda02 100644
--- a/raster/r.param.scale/param.c
+++ b/raster/r.param.scale/param.c
@@ -7,7 +7,7 @@
 /*****************************************************************************/
 /***                                                                       ***/
 /***                                param()                                ***/
-/***     Returns a terrain parameter based on the 6 quadratic coefficents  ***/
+/***     Returns a terrain parameter based on the 6 quadratic coefficients  ***/
 /***	 that define a local trend surface. 			    	   ***/
 /***     Jo Wood, Department of Geography, V2.0 15th December, 1994        ***/
 /***                                                                       ***/
@@ -19,7 +19,7 @@
 
 DCELL param(int ptype,		/* Type of terrain parameter to calculate */
 	    double *coeff)
-{				/* Set of six quadratic coefficents.        */
+{				/* Set of six quadratic coefficients.        */
 
     /* Quadratic function in the form of
 
diff --git a/raster/r.param.scale/param.h b/raster/r.param.scale/param.h
index e080811..840bdeb 100644
--- a/raster/r.param.scale/param.h
+++ b/raster/r.param.scale/param.h
@@ -71,7 +71,7 @@ void find_obs(DCELL * z,	/* Local window of elevs.       */
 	      double *obs,	/* Observed column vector.      */
 	      double *w);	/* Weighting matrix.            */
 void find_weight(double *weight_ptr);
-DCELL feature(double *coeff);	/* Set of six quadratic coefficents.    */
+DCELL feature(double *coeff);	/* Set of six quadratic coefficients.    */
 
 /* ------ Global variables ------ */
 
diff --git a/raster/r.proj/r.proj.html b/raster/r.proj/r.proj.html
index 461effa..74828de 100644
--- a/raster/r.proj/r.proj.html
+++ b/raster/r.proj/r.proj.html
@@ -316,6 +316,6 @@ The 'gdalwarp' and 'gdal_translate' utilities are available from the
 Martin Schroeder, University of Heidelberg, Germany<br>
 Man page text from S.J.D. Cox, AGCRC, CSIRO Exploration & Mining, Nedlands, WA<br>
 Updated by <a href="mailto:morten at untamo.net">Morten Hulden</a><br>
-Datum tranformation support and cleanup by Paul Kelly
+Datum transformation support and cleanup by Paul Kelly
 
-<p><i>Last changed: $Date: 2015-09-12 11:03:45 +0200 (Sat, 12 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2016-01-29 10:56:07 +0100 (Fri, 29 Jan 2016) $</i>
diff --git a/raster/r.recode/main.c b/raster/r.recode/main.c
index 69d1d83..0c9b367 100644
--- a/raster/r.recode/main.c
+++ b/raster/r.recode/main.c
@@ -47,6 +47,7 @@ int main(int argc, char *argv[])
     module = G_define_module();
     G_add_keyword(_("raster"));
     G_add_keyword(_("recode categories"));
+    G_add_keyword(_("reclassification"));
     module->description = _("Recodes categorical raster maps.");
 
     parm.input = G_define_standard_option(G_OPT_R_INPUT);
diff --git a/raster/r.resamp.bspline/r.resamp.bspline.html b/raster/r.resamp.bspline/r.resamp.bspline.html
index cb647db..c551665 100644
--- a/raster/r.resamp.bspline/r.resamp.bspline.html
+++ b/raster/r.resamp.bspline/r.resamp.bspline.html
@@ -107,7 +107,7 @@ d.histogram elev_srtm_30m_complete
 d.rast elev_srtm_30m_complete
 </pre></div>
 
-<h3>Estimation of <b>lambda</b> parameter with a cross validation proccess</h3>
+<h3>Estimation of <b>lambda</b> parameter with a cross validation process</h3>
 
 A random sample of points should be generated first with
 <em><a href="r.random.html">r.random</a></em>, and the current region should not
@@ -151,4 +151,4 @@ based on <em><a href="v.surf.bspline.html">v.surf.bspline</a></em> by
 Maria Antonia Brovelli, Massimiliano Cannata, Ulisse Longoni, Mirko Reguzzoni, Roberto Antolin
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2016-03-08 09:08:23 +0100 (Tue, 08 Mar 2016) $</i>
diff --git a/raster/r.resamp.stats/main.c b/raster/r.resamp.stats/main.c
index 9261e22..207c16f 100644
--- a/raster/r.resamp.stats/main.c
+++ b/raster/r.resamp.stats/main.c
@@ -30,7 +30,7 @@ static const struct menu
 } menu[] = {
     {c_ave,    w_ave,    "average",  "average (mean) value"},
     {c_median, w_median, "median",   "median value"},
-    {c_mode,   w_mode,   "mode",     "most frequently occuring value"},
+    {c_mode,   w_mode,   "mode",     "most frequently occurring value"},
     {c_min,    w_min,    "minimum",  "lowest value"},
     {c_max,    w_max,    "maximum",  "highest value"},
     {c_quart1, w_quart1, "quart1",   "first quartile"},
diff --git a/raster/r.ros/main.c b/raster/r.ros/main.c
index 8012ce1..a443b3e 100644
--- a/raster/r.ros/main.c
+++ b/raster/r.ros/main.c
@@ -159,8 +159,8 @@ int main(int argc, char *argv[])
       wn_live,			/*net live fuel (total) load */
       class_sum, moisture[4],	/*moistures of 1-h,10-h,100-h,live fuels */
       Mf_dead,			/*total moisture of dead fuels */
-      etaM_dead,		/*dead fuel misture damping coefficent */
-      etaM_live,		/*live fuel misture damping coefficent */
+      etaM_dead,		/*dead fuel misture damping coefficient */
+      etaM_live,		/*live fuel misture damping coefficient */
       xmext,			/*live fuel moisture of extinction */
       phi_ws,			/*wind and slope conbined coefficient */
       wmfd, fdmois, fined, finel;
diff --git a/raster/r.series/main.c b/raster/r.series/main.c
index 7aacff3..4f8df9a 100644
--- a/raster/r.series/main.c
+++ b/raster/r.series/main.c
@@ -25,34 +25,35 @@
 struct menu
 {
     stat_func *method;		/* routine to compute new value */
+    stat_func_w *method_w;	/* routine to compute new value (weighted) */
     int is_int;			/* result is an integer */
     char *name;			/* method name */
     char *text;			/* menu display - full description */
 } menu[] = {
-    {c_ave,    0, "average",    "average value"},
-    {c_count,  1, "count",      "count of non-NULL cells"},
-    {c_median, 0, "median",     "median value"},
-    {c_mode,   0, "mode",       "most frequently occuring value"},
-    {c_min,    0, "minimum",    "lowest value"},
-    {c_minx,   1, "min_raster", "raster with lowest value"},
-    {c_max,    0, "maximum",    "highest value"},
-    {c_maxx,   1, "max_raster", "raster with highest value"},
-    {c_stddev, 0, "stddev",     "standard deviation"},
-    {c_range,  0, "range",      "range of values"},
-    {c_sum,    0, "sum",        "sum of values"},
-    {c_var,    0, "variance",   "statistical variance"},
-    {c_divr,   1, "diversity",  "number of different values"},
-    {c_reg_m,  0, "slope",      "linear regression slope"},
-    {c_reg_c,  0, "offset",     "linear regression offset"},
-    {c_reg_r2, 0, "detcoeff",   "linear regression coefficient of determination"},
-    {c_reg_t,  0, "tvalue",     "linear regression t-value"},
-    {c_quart1, 0, "quart1",     "first quartile"},
-    {c_quart3, 0, "quart3",     "third quartile"},
-    {c_perc90, 0, "perc90",     "ninetieth percentile"},
-    {c_quant,  0, "quantile",   "arbitrary quantile"},
-    {c_skew,   0, "skewness",   "skewness"},
-    {c_kurt,   0, "kurtosis",   "kurtosis"},
-    {NULL,     0, NULL,         NULL}
+    {c_ave,    w_ave,    0, "average",    "average value"},
+    {c_count,  w_count,  1, "count",      "count of non-NULL cells"},
+    {c_median, w_median, 0, "median",     "median value"},
+    {c_mode,   w_mode,   0, "mode",       "most frequently occurring value"},
+    {c_min,    NULL,     0, "minimum",    "lowest value"},
+    {c_minx,   NULL,     1, "min_raster", "raster with lowest value"},
+    {c_max,    NULL,     0, "maximum",    "highest value"},
+    {c_maxx,   NULL,     1, "max_raster", "raster with highest value"},
+    {c_stddev, w_stddev, 0, "stddev",     "standard deviation"},
+    {c_range,  NULL,     0, "range",      "range of values"},
+    {c_sum,    w_sum,    0, "sum",        "sum of values"},
+    {c_var,    w_var,    0, "variance",   "statistical variance"},
+    {c_divr,   NULL,     1, "diversity",  "number of different values"},
+    {c_reg_m,  w_reg_m,  0, "slope",      "linear regression slope"},
+    {c_reg_c,  w_reg_c,  0, "offset",     "linear regression offset"},
+    {c_reg_r2, w_reg_r2, 0, "detcoeff",   "linear regression coefficient of determination"},
+    {c_reg_t,  w_reg_t,  0, "tvalue",     "linear regression t-value"},
+    {c_quart1, w_quart1, 0, "quart1",     "first quartile"},
+    {c_quart3, w_quart3, 0, "quart3",     "third quartile"},
+    {c_perc90, w_perc90, 0, "perc90",     "ninetieth percentile"},
+    {c_quant,  w_quant,  0, "quantile",   "arbitrary quantile"},
+    {c_skew,   w_skew,   0, "skewness",   "skewness"},
+    {c_kurt,   w_kurt,   0, "kurtosis",   "kurtosis"},
+    {NULL,     NULL,     0, NULL,         NULL}
 };
 
 struct input
@@ -69,6 +70,7 @@ struct output
     int fd;
     DCELL *buf;
     stat_func *method_fn;
+    stat_func_w *method_fn_w;
     double quantile;
 };
 
@@ -117,12 +119,14 @@ int main(int argc, char *argv[])
     } flag;
     int i;
     int num_inputs;
-    int num_weights;
     struct input *inputs = NULL;
     int num_outputs;
     struct output *outputs = NULL;
     struct History history;
     DCELL *values = NULL, *values_tmp = NULL;
+    DCELL(*values_w)[2];	/* list of values and weights */
+    DCELL(*values_w_tmp)[2];	/* list of values and weights */
+    int have_weights;
     int nrows, ncols;
     int row, col;
     double lo, hi;
@@ -189,6 +193,8 @@ int main(int argc, char *argv[])
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
+    lo = -1.0 / 0.0; /* -inf */
+    hi = 1.0 / 0.0; /* inf */
     if (parm.range->answer) {
 	lo = atof(parm.range->answers[0]);
 	hi = atof(parm.range->answers[1]);
@@ -202,6 +208,7 @@ int main(int argc, char *argv[])
         G_fatal_error(_("Please specify %s= or %s="),
 			parm.input->key, parm.file->key);
 
+    have_weights = 0;
 
     /* process the input maps from the file */
     if (parm.file->answer) {
@@ -235,11 +242,15 @@ int main(int argc, char *argv[])
             tokens = G_tokenize(tok_buf, "|");
             ntokens = G_number_of_tokens(tokens);
 
-            if(ntokens > 1) {
-	        name = G_chop(tokens[0]);
+	    name = G_chop(tokens[0]);
+            if (ntokens > 1) {
 	        weight = atof(G_chop(tokens[1]));
-            } else {
-	        name = G_chop(buf);
+
+		if (weight <= 0)
+		    G_fatal_error(_("Weights must be positive"));
+
+		if (weight != 1)
+		    have_weights = 1;
             }
 
 	    /* Ignore empty lines */
@@ -266,6 +277,8 @@ int main(int argc, char *argv[])
 	fclose(in);
     }
     else {
+	int num_weights;
+
     	for (i = 0; parm.input->answers[i]; i++)
 	    ;
     	num_inputs = i;
@@ -274,28 +287,33 @@ int main(int argc, char *argv[])
 	    G_fatal_error(_("Raster map not found"));
 
         /* count weights */
-        if(parm.weights->answers) {
+	num_weights = 0;
+        if (parm.weights->answers) {
             for (i = 0; parm.weights->answers[i]; i++)
                     ;
             num_weights = i;
-        } else {
-            num_weights = 0;
         }
     
         if (num_weights && num_weights != num_inputs)
                 G_fatal_error(_("input= and weights= must have the same number of values"));
-        
+
     	inputs = G_malloc(num_inputs * sizeof(struct input));
 
     	for (i = 0; i < num_inputs; i++) {
 	    struct input *p = &inputs[i];
 
 	    p->name = parm.input->answers[i];
+	    p->weight = 1.0;
 
-            if(num_weights)
+            if (num_weights) {
                 p->weight = (DCELL)atof(parm.weights->answers[i]);
-            else
-                p->weight = 1.0;
+
+		if (p->weight <= 0)
+		    G_fatal_error(_("Weights must be positive"));
+
+		if (p->weight != 1)
+		    have_weights = 1;
+            }
 
 	    G_verbose_message(_("Reading raster map <%s> using weight %f..."), p->name, p->weight);
 	    p->buf = Rast_allocate_d_buf();
@@ -323,7 +341,26 @@ int main(int argc, char *argv[])
 	int method = find_method(method_name);
 
 	out->name = output_name;
-	out->method_fn = menu[method].method;
+
+	if (have_weights) {
+	    if (menu[method].method_w) {
+		out->method_fn = NULL;
+		out->method_fn_w = menu[method].method_w;
+	    }
+	    else {
+		G_warning(_("Method %s not compatible with weights, using unweighed version instead"),
+			  method_name);
+
+		out->method_fn = menu[method].method;
+		out->method_fn_w = NULL;
+	    }
+	    menu[method].is_int = 0;
+	}
+	else {
+	    out->method_fn = menu[method].method;
+	    out->method_fn_w = NULL;
+	}
+
 	out->quantile = (parm.quantile->answer && parm.quantile->answers[i])
 	    ? atof(parm.quantile->answers[i])
 	    : 0;
@@ -335,6 +372,12 @@ int main(int argc, char *argv[])
     /* initialise variables */
     values = G_malloc(num_inputs * sizeof(DCELL));
     values_tmp = G_malloc(num_inputs * sizeof(DCELL));
+    values_w = NULL;
+    values_w_tmp = NULL;
+    if (have_weights) {
+	values_w = (DCELL(*)[2]) G_malloc(num_inputs * 2 * sizeof(DCELL));
+	values_w_tmp = (DCELL(*)[2]) G_malloc(num_inputs * 2 * sizeof(DCELL));
+    }
 
     nrows = Rast_window_rows();
     ncols = Rast_window_cols();
@@ -370,7 +413,11 @@ int main(int argc, char *argv[])
 		    Rast_set_d_null_value(&v, 1);
 		    null = 1;
 		}
-		values[i] = v * inputs[i].weight;
+		values[i] = v;
+		if (have_weights) {
+		    values_w[i][0] = v;
+		    values_w[i][1] = inputs[i].weight;
+		}
 	    }
 
 	    for (i = 0; i < num_outputs; i++) {
@@ -379,8 +426,14 @@ int main(int argc, char *argv[])
 		if (null && flag.nulls->answer)
 		    Rast_set_d_null_value(&out->buf[col], 1);
 		else {
-		    memcpy(values_tmp, values, num_inputs * sizeof(DCELL));
-		    (*out->method_fn)(&out->buf[col], values_tmp, num_inputs, &out->quantile);
+		    if (out->method_fn_w) {
+			memcpy(values_w_tmp, values_w, num_inputs * 2 * sizeof(DCELL));
+			(*out->method_fn_w)(&out->buf[col], values_w_tmp, num_inputs, &out->quantile);
+		    }
+		    else {
+			memcpy(values_tmp, values, num_inputs * sizeof(DCELL));
+			(*out->method_fn)(&out->buf[col], values_tmp, num_inputs, &out->quantile);
+		    }
 		}
 	    }
 	}
diff --git a/raster/r.series/r.series.html b/raster/r.series/r.series.html
index e08dc81..f3a65ca 100644
--- a/raster/r.series/r.series.html
+++ b/raster/r.series/r.series.html
@@ -9,7 +9,7 @@ Following methods are available:
  <li>average: average value
  <li>count: count of non-NULL cells
  <li>median: median value
- <li>mode: most frequently occuring value
+ <li>mode: most frequently occurring value
  <li>minimum: lowest value
  <li>maximum: highest value
  <li>range: range of values (max - min)
@@ -213,4 +213,4 @@ r.series file=mapnames.txt \
 
 Glynn Clements
 
-<p><i>Last changed: $Date: 2014-10-27 17:31:30 +0100 (Mon, 27 Oct 2014) $</i>
+<p><i>Last changed: $Date: 2016-01-29 10:56:07 +0100 (Fri, 29 Jan 2016) $</i>
diff --git a/raster/r.sim/r.sim.sediment/r.sim.sediment.html b/raster/r.sim/r.sim.sediment/r.sim.sediment.html
index 71033c8..76943a5 100644
--- a/raster/r.sim/r.sim.sediment/r.sim.sediment.html
+++ b/raster/r.sim/r.sim.sediment/r.sim.sediment.html
@@ -30,7 +30,7 @@ transport capacity limited erosion/deposition raster map
 can be viewed while the simulation continues. Sediment flow rate raster map 
 <i>sediment_flux</i> [kg/ms], and net erosion/deposition raster map [kg/m<sup>2</sup>s]
 can take longer time depending on time step and simulation time. 
-Simulation time is controled by <i>niterations</i> [minutes] parameter. 
+Simulation time is controlled by <i>niterations</i> [minutes] parameter. 
 <!-- Output files can be saved during simulation using <i>outiter</i> parameter
 defining simulation time step for writing output files. This option requires
 time series flag <i>-t</i>. Files are saved with suffix   containing
@@ -96,5 +96,5 @@ Neteler, M. and Mitasova, H., 2008, Open Source GIS: A GRASS GIS Approach. Third
 The International Series in Engineering and Computer Science: Volume 773. Springer New York Inc, p. 406.
 <p>
 <p><br>
-Last changed: $Date: 2015-01-03 21:27:28 +0100 (Sat, 03 Jan 2015) $
+Last changed: $Date: 2016-03-08 09:08:23 +0100 (Tue, 08 Mar 2016) $
 
diff --git a/raster/r.sim/r.sim.water/r.sim.water.html b/raster/r.sim/r.sim.water/r.sim.water.html
index 6fc8b47..bc3474d 100644
--- a/raster/r.sim/r.sim.water/r.sim.water.html
+++ b/raster/r.sim/r.sim.water/r.sim.water.html
@@ -42,7 +42,7 @@ Optionally, user can provide an overland flow infiltration rate map
 <i>infil</i> or a single value <i>infil_value</i> in [mm/hr] that control the rate of
 infiltration for the already flowing water, effectively reducing the flow depth and 
 discharge.
-Overland flow can be further controled by permeable check dams or similar type of structures,
+Overland flow can be further controlled by permeable check dams or similar type of structures,
 the user can provide a map of these structures and their permeability ratio
 in the map <i>flow_control</i> that defines the probability of particles to pass
 through the structure (the values will be 0-1).
@@ -54,7 +54,7 @@ the <i>error</i> raster map (the resulting water depth is an average, and err is
 The output vector points map <i>output_walkers</i> can be used to analyze and visualize 
 spatial distribution of walkers at different simulation times (note that 
 the resulting water depth is based on the density of these walkers). 
-<!--Number of the output walkers is controled by the <i>density</i> parameter, which controls
+<!--Number of the output walkers is controlled by the <i>density</i> parameter, which controls
 how many walkers used in simulation should be written into the output. -->
 <!-- from
 http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Mitasova_Helena_2.pdf
@@ -64,7 +64,7 @@ analysed using the output error raster file [m]. This error is a function of the
 of particles used in the simulation and can be reduced by increasing the number of walkers
 given by parameter <i>nwalkers</i>.
 <!--(<font color="#ff0000"> toto treba upresnit/zmenit, lebo nwalk ide prec</font>). -->
-Duration of simulation is controled by the <i>niterations</i> parameter. The default value 
+Duration of simulation is controlled by the <i>niterations</i> parameter. The default value 
 is 10 minutes, reaching the steady-state may require much longer time, 
 depending on the time step, complexity of terrain, land cover and size of the area. 
 Output walker, water depth and discharge maps can be saved during simulation using 
@@ -225,9 +225,16 @@ using duality between particles and fields. Proceedings of the Open source GIS -
 GRASS users conference 2002 - Trento, Italy, 11-13 September 2002.
 <a href="http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Mitasova_Helena_2.pdf">PDF</a>
 
+<li> Hofierka, J., Knutova, M., 2015,
+Simulating aspects of a flash flood using the Monte Carlo method and
+GRASS GIS: a case study of the Malá Svinka Basin (Slovakia),
+Open Geosciences. Volume 7, Issue 1, ISSN (Online) 2391-5447, DOI:
+<a href="http://dx.doi.org/10.1515/geo-2015-0013">10.1515/geo-2015-0013</a>,
+April 2015
+
 <li> Neteler, M. and Mitasova, H., 2008,
 <a href="http://www.grassbook.org">Open Source GIS: A GRASS GIS Approach. Third Edition.</a>
 The International Series in Engineering and Computer Science: Volume 773. Springer New York Inc, p. 406.
 </ul>
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-03-08 09:08:23 +0100 (Tue, 08 Mar 2016) $</i>
diff --git a/raster/r.solute.transport/r.solute.transport.html b/raster/r.solute.transport/r.solute.transport.html
index 30003d2..5b1acac 100644
--- a/raster/r.solute.transport/r.solute.transport.html
+++ b/raster/r.solute.transport/r.solute.transport.html
@@ -60,7 +60,7 @@ The calculation and boundary status of single cells can be set with the status m
 The following states are supportet:
 
 <ul>
-<li>0 == inactive - the cell with status 0 will not be calulated, active cells will have a no flow boundary to an inactive cell</li>
+<li>0 == inactive - the cell with status 0 will not be calculated, active cells will have a no flow boundary to an inactive cell</li>
 <li>1 == active - this cell is used for sloute transport calculation, inner sources can be defined for those cells</li>
 <li>2 == Dirichlet - cells of this type will have a fixed concentration value which do not change over time </li>
 <li>3 == Transmission - cells of this type should be placed on out-flow boundaries to assure the flow of the solute stream out </li>
@@ -154,4 +154,4 @@ Sören Gebbert
 at Technical University Berlin in Germany.
 
 
-<p><i>Last changed: $Date: 2015-01-25 18:56:33 +0100 (Sun, 25 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2016-04-09 18:46:53 +0200 (Sat, 09 Apr 2016) $</i>
diff --git a/raster/r.stream.extract/r.stream.extract.html b/raster/r.stream.extract/r.stream.extract.html
index 6651177..18ebd1d 100644
--- a/raster/r.stream.extract/r.stream.extract.html
+++ b/raster/r.stream.extract/r.stream.extract.html
@@ -25,7 +25,7 @@ recommended to use internally computed flow accumulation if a
 depression map is provided.
 
 <p>
-Option <b>threshold</b> defines the minumum (optionally modifed) flow
+Option <b>threshold</b> defines the minimum (optionally modified) flow
 accumulation value that will initiate a new stream. If Montgomery's
 method for channel initiation is used, the cell value of the
 accumulation input map is multiplied by <tt>(tan(local
@@ -251,4 +251,4 @@ modules</a> wiki page.
 Markus Metz
 
 <p>
-<i>Last changed: $Date: 2014-12-24 12:03:47 +0100 (Wed, 24 Dec 2014) $</i>
+<i>Last changed: $Date: 2016-03-28 23:23:07 +0200 (Mon, 28 Mar 2016) $</i>
diff --git a/raster/r.sun/main.c b/raster/r.sun/main.c
index 28ba29d..2f494cc 100644
--- a/raster/r.sun/main.c
+++ b/raster/r.sun/main.c
@@ -1749,7 +1749,7 @@ void calculate(double singleSlope, double singleAspect, double singleAlbedo,
 	 * "local clock time". */
 	dayRad = 2. * M_PI * day / 365.25;
 	locTimeOffset =
-	    -0.128 * sin(dayRad - 0.04887) - 0.165 * sin(2 * dayRad +
+	    +0.128 * sin(dayRad - 0.04887) + 0.165 * sin(2 * dayRad +
 							 0.34383);
 
 	/* Time offset due to timezone as input by user */
diff --git a/raster/r.support.stats/r.support.stats.html b/raster/r.support.stats/r.support.stats.html
index 4a901b3..42b1723 100644
--- a/raster/r.support.stats/r.support.stats.html
+++ b/raster/r.support.stats/r.support.stats.html
@@ -19,4 +19,4 @@ None
 Micharl Shapiro, CERL: Original author<br>
 <a href="MAILTO:rez at touchofmadness.com">Brad Douglas</a>: GRASS 6 Port<br>
 
-<p><i>Last changed: $Date: 2011-09-29 21:18:47 +0200 (Thu, 29 Sep 2011) $</i> 
+<p><i>Last changed: $Date: 2011-09-29 12:18:47 -0700 (Thu, 29 Sep 2011) $</i> 
diff --git a/raster/r.support/main.c b/raster/r.support/main.c
index 196a7b6..22ceda6 100644
--- a/raster/r.support/main.c
+++ b/raster/r.support/main.c
@@ -64,7 +64,7 @@ int main(int argc, char *argv[])
     title_opt->key_desc = "phrase";
     title_opt->type = TYPE_STRING;
     title_opt->required = NO;
-    title_opt->description = _("Text to use for map title");
+    title_opt->description = _("Title for resultant raster map");
 
     history_opt = G_define_option();
     history_opt->key = "history";
diff --git a/raster/r.topmodel/main.c b/raster/r.topmodel/main.c
index 374be33..5ee397b 100644
--- a/raster/r.topmodel/main.c
+++ b/raster/r.topmodel/main.c
@@ -57,16 +57,16 @@ int main(int argc, char **argv)
     /* Parameter definitions */
     params.params = G_define_standard_option(G_OPT_F_INPUT);
     params.params->key = "parameters";
-    params.params->description = _("Name of TOPMODEL parameters file");
+    params.params->description = _("Name of input TOPMODEL parameters file");
 
     params.topidxstats = G_define_standard_option(G_OPT_F_INPUT);
     params.topidxstats->key = "topidxstats";
     params.topidxstats->description =
-	_("Name of topographic index statistics file");
+	_("Name of input topographic index statistics file");
 
     params.input = G_define_standard_option(G_OPT_F_INPUT);
     params.input->description =
-	_("Name of rainfall and potential evapotranspiration data file");
+	_("Name of input rainfall and potential evapotranspiration data file");
 
     params.output = G_define_standard_option(G_OPT_F_OUTPUT);
     params.output->description = _("Name for output file");
diff --git a/raster/r.topmodel/r.topmodel.html b/raster/r.topmodel/r.topmodel.html
index 3905c13..5fd9d14 100644
--- a/raster/r.topmodel/r.topmodel.html
+++ b/raster/r.topmodel/r.topmodel.html
@@ -1,9 +1,9 @@
 <h2>DESCRIPTION</h2>
 
-<b><em>r.topmodel</em></b> simulates TOPMODEL which is a physically based
+<em>r.topmodel</em> simulates TOPMODEL which is a physically based
 hydrologic model.
 
-<h3>Selected Parameters:</h3>
+<h3>Parameters description</h3>
 
 <dl>
 <dt><b>parameters</b></dt>
@@ -105,16 +105,16 @@ This file contains observed weather data.
 <dd>
 If a time step is specified, output will be generated for the specific time
 step in addition to the summary and total flows at the outlet. This parameter
-can be combined with topidxclass to specify a time step and topographic index
-class at the same time. If no topidxclass is given, output will be generated
+can be combined with <b>topidxclass</b> to specify a time step and topographic index
+class at the same time. If no <b>topidxclass</b> is given, output will be generated
 for all the topographic index classes.
 </dd>
 
 <dt><b>toptopidxclass</b></dt>
 <dd>
 If a topographic index class is specified, output will be generated for the
-given topographic index class. This parameter can be combined with timestep. If
-no timestep is given, output will be generated for all the time steps.
+given topographic index class. This parameter can be combined with <b>timestep</b>. If
+no <b>timestep</b> is given, output will be generated for all the time steps.
 </dd>
 
 <dt><b>topidx</b>, <b>ntoptopidxclasses</b>, <b>outtoptopidxstats</b></dt>
@@ -124,24 +124,25 @@ index statistics file. This map has to be already clipped to the catchment
 boundary. The entire range of topographic index values will be divided into
 <b>ntoptopidxclasses</b> and the area ratio of each class will be reported in the
 <b>outtoptopidxstats</b> file. These three parameters can be omitted unless a new
-topidxstats file needs to be created.
+<b>topidxstats</b> file needs to be created.
 </dd>
 </dl>
 
 
 <h2>REFERENCES</h2>
 
-Cho, H., 2000. GIS Hydrological Modeling System by Using Programming Interface
-of GRASS. Master's Thesis, Department of Civil Engineering, Kyungpook National
-University, Korea.
-<p>
-Beven K., R. Lamb, P. Quinn, R. Romanowicz, and J. Freer, 1995. TOPMODEL, in
-V.P. Singh (Ed.). Computer Models of Watershed Hydrology. Water Resources
-Publications.
-<p>
-Liaw, S.C., 1988. Streamflow Simulation Using a Physically Based Hydrologic
-Model in Humid Forested Watersheds. Dissertation, Colorado State University,
-CO. p163.
+<ul>
+  <li>Cho, H., 2000. GIS Hydrological Modeling System by Using Programming Interface
+    of GRASS. Master's Thesis, Department of Civil Engineering, Kyungpook National
+    University, Korea.
+  <li>Beven K., R. Lamb, P. Quinn, R. Romanowicz, and J. Freer, 1995. TOPMODEL, in
+    V.P. Singh (Ed.). Computer Models of Watershed Hydrology. Water Resources
+    Publications.
+  <li>
+    Liaw, S.C., 1988. Streamflow Simulation Using a Physically Based Hydrologic
+    Model in Humid Forested Watersheds. Dissertation, Colorado State University,
+    CO. p163.
+</ul>
 
 
 <h2>SEE ALSO</h2>
@@ -156,9 +157,10 @@ CO. p163.
 
 <h2>AUTHORS</h2>
 
-<a href="mailto:grass4u at gmail com">Huidae Cho</a><br>
+<a href="mailto:grass4u at gmail com">Huidae Cho</a>, 
 Hydro Laboratory, Kyungpook National University, South Korea
 <p>
 Based on TMOD9502.FOR by Keith Beven.
 
-<p><i>Last changed: $Date: 2015-12-09 21:39:05 +0100 (Wed, 09 Dec 2015) $</i>
+<p>
+<i>Last changed: $Date: 2016-03-25 17:25:31 +0100 (Fri, 25 Mar 2016) $</i>
diff --git a/raster/r.transect/main.c b/raster/r.transect/main.c
index 6f6222b..cec1835 100644
--- a/raster/r.transect/main.c
+++ b/raster/r.transect/main.c
@@ -47,10 +47,10 @@ static int profile(int coords, const char *map, const char *nulls, char **line)
 
     argv[argc++] = "output=-";
 
-    sprintf(buf, "null=%s", nulls);
+    sprintf(buf, "null_value=%s", nulls);
     argv[argc++] = G_store(buf);
 
-    strcpy(profile, "profile=");
+    strcpy(profile, "coordinates=");
     for (n = 0; line[n]; n += 4) {
 	int err = parse_line("line", &line[n], &e1, &n1, &e2, &n2, projection);
 
diff --git a/raster/r.transect/r.transect.html b/raster/r.transect/r.transect.html
index 3994885..7595eb7 100644
--- a/raster/r.transect/r.transect.html
+++ b/raster/r.transect/r.transect.html
@@ -40,4 +40,4 @@ There once were <b>width=</b> and <b>result=</b><em>raw|median|average</em>
 
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2012-11-25 11:59:42 +0100 (Sun, 25 Nov 2012) $</i>
+<p><i>Last changed: $Date: 2012-11-25 02:59:42 -0800 (Sun, 25 Nov 2012) $</i>
diff --git a/raster/r.walk/main.c b/raster/r.walk/main.c
index bfe4854..75fadca 100644
--- a/raster/r.walk/main.c
+++ b/raster/r.walk/main.c
@@ -813,7 +813,7 @@ int main(int argc, char *argv[])
 	    Rast_get_row(fd, cell2, row, data_type2);
 	    ptr2 = cell2;
 	    for (col = 0; col < ncols; col++) {
-		/* Did I understand that concept of cummulative cost map? - (pmx) 12 april 2000 */
+		/* Did I understand that concept of cumulative cost map? - (pmx) 12 april 2000 */
 		if (!Rast_is_null_value(ptr2, data_type2)) {
 		    double cellval;
 
diff --git a/raster/r.watershed/ram/close_maps.c b/raster/r.watershed/ram/close_maps.c
index ce5f0bf..5c1236e 100644
--- a/raster/r.watershed/ram/close_maps.c
+++ b/raster/r.watershed/ram/close_maps.c
@@ -28,8 +28,8 @@ int close_maps(void)
     if (wat_flag) {
 	fd = Rast_open_new(wat_name, DCELL_TYPE);
 	if (abs_acc) {
-	    G_warning("Writing out only positive flow accumulation values.");
-	    G_warning("Cells with a likely underestimate for flow accumulation can no longer be identified.");
+	    G_message("Writing out only positive flow accumulation values.");
+	    G_message("Cells with a likely underestimate for flow accumulation can no longer be identified.");
 	    for (r = 0; r < nrows; r++) {
 		Rast_set_d_null_value(dbuf, ncols);	/* reset row to all NULL */
 		for (c = 0; c < ncols; c++) {
diff --git a/raster/r.watershed/ram/do_flatarea.c b/raster/r.watershed/ram/do_flatarea.c
index fcfc1fe..d7de3dd 100644
--- a/raster/r.watershed/ram/do_flatarea.c
+++ b/raster/r.watershed/ram/do_flatarea.c
@@ -6,7 +6,7 @@
  * The assignment of drainage direction over flat surfaces in raster
  * digital elevation models. J. Hydrol 193, 204-213.
  *
- * the method is modifed for speed, only one pass is necessary to get
+ * the method is modified for speed, only one pass is necessary to get
  * the gradient away from higher terrain
  * 
  *********************************************************************/
diff --git a/raster/r.watershed/ram/init_vars.c b/raster/r.watershed/ram/init_vars.c
index 0f9ac88..29a7336 100644
--- a/raster/r.watershed/ram/init_vars.c
+++ b/raster/r.watershed/ram/init_vars.c
@@ -178,7 +178,7 @@ int init_vars(int argc, char *argv[])
 	ele_scale = 10000;
 
     /* read elevation input and mark NULL/masked cells */
-    /* intialize accumulation and drainage direction */
+    /* initialize accumulation and drainage direction */
     MASK_flag = 0;
     do_points = nrows * ncols;
     for (r = 0; r < nrows; r++) {
diff --git a/raster/r.watershed/seg/close_maps.c b/raster/r.watershed/seg/close_maps.c
index 565f35a..6406611 100644
--- a/raster/r.watershed/seg/close_maps.c
+++ b/raster/r.watershed/seg/close_maps.c
@@ -23,8 +23,8 @@ int close_maps(void)
 	wabuf = G_malloc(ncols * sizeof(WAT_ALT));
 	seg_flush(&watalt);
 	if (abs_acc) {
-	    G_warning("Writing out only positive flow accumulation values.");
-	    G_warning("Cells with a likely underestimate for flow accumulation can no longer be identified.");
+	    G_message("Writing out only positive flow accumulation values.");
+	    G_message("Cells with a likely underestimate for flow accumulation can no longer be identified.");
 	}
 
 	fd = Rast_open_new(wat_name, DCELL_TYPE);
diff --git a/raster/r.what/r.what.html b/raster/r.what/r.what.html
index 4eaf34f..211d9c2 100644
--- a/raster/r.what/r.what.html
+++ b/raster/r.what/r.what.html
@@ -42,7 +42,7 @@ r.what map=landuse96_28m,aspect coordinates=633614.08,224125.12,632972.36,225382
 
 <h3>Input coordinates given as a vector points map</h3>
 
-Coordinates can be read from exising vector points map by
+Coordinates can be read from existing vector points map by
 specifying <b>points</b> option. Other features than points or
 centroids are ignored. Example: query North Carolina county number for
 each community college:
@@ -59,7 +59,7 @@ r.what map=boundary_county_500m points=comm_colleges
 
 <h3>Input coordinates given as a vector points map, output into CSV file</h3>
 
-Coordinates can be read from exising vector points map by
+Coordinates can be read from existing vector points map by
 specifying <b>points</b> option. Other features than points or
 centroids are ignored. The output is stored in a CSV file including header
 row. Example: query North Carolina county number for each community college:
@@ -176,4 +176,4 @@ Michael Shapiro, U.S. Army Construction Engineering Research Laboratory<br>
 Vector point input added by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-01-25 18:56:33 +0100 (Sun, 25 Jan 2015) $</i>
+<i>Last changed: $Date: 2016-03-08 09:08:23 +0100 (Tue, 08 Mar 2016) $</i>
diff --git a/raster/rasterintro.html b/raster/rasterintro.html
index 3256c9e..f8a39d3 100644
--- a/raster/rasterintro.html
+++ b/raster/rasterintro.html
@@ -144,9 +144,9 @@ cells whose centres fall within the bounds of the region cell.
 <br>
 With <b>-w</b>, the samples are weighted according to the proportion of the
 raster cell which falls within the bounds of the region cell, so the
-result is normally unaffected by rounding error (a miniscule difference 
+result is normally unaffected by rounding error (a minuscule difference 
 in the position of the boundary results in the addition or subtraction of
-a sample weighted by a miniscule factor; also, The min and max aggregates 
+a sample weighted by a minuscule factor; also, The min and max aggregates 
 can't use weights, so <b>-w</b> has no effect for those).</li>
 
 <li> <a href="r.fillnulls.html">r.fillnulls</a> for Regularized Spline with Tension (RST) 
diff --git a/raster3d/r3.gwflow/r3.gwflow.html b/raster3d/r3.gwflow/r3.gwflow.html
index 83bb3af..1a5707d 100644
--- a/raster3d/r3.gwflow/r3.gwflow.html
+++ b/raster3d/r3.gwflow/r3.gwflow.html
@@ -47,7 +47,7 @@ status of single cells can be set with the status map, the following
 cell states are supported:
 
 <ul>
-<li>0 == inactive - the cell with status 0 will not be calulated,
+<li>0 == inactive - the cell with status 0 will not be calculated,
  active cells will have a no flow boundary to an inactive cell</li>
 <li>1 == active - this cell is used for groundwater calculation,
  inner sources can be defined for those cells</li>
@@ -137,4 +137,4 @@ Sören Gebbert
 <a href="http://www.hydrogeologie.tu-berlin.de/fileadmin/fg66/_hydro/Diplomarbeiten/2007_Diplomarbeit_Sören_Gebbert.pdf">here</a>
 at Technical University Berlin, Germany.
 
-<p><i>Last changed: $Date: 2015-01-25 18:56:33 +0100 (Sun, 25 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2016-04-09 18:46:53 +0200 (Sat, 09 Apr 2016) $</i>
diff --git a/raster3d/r3.in.ascii/r3.in.ascii.html b/raster3d/r3.in.ascii/r3.in.ascii.html
index 97b7787..4bb548e 100644
--- a/raster3d/r3.in.ascii/r3.in.ascii.html
+++ b/raster3d/r3.in.ascii/r3.in.ascii.html
@@ -46,7 +46,7 @@ The version and order option have been introduced in GRASS 7 in June 2011.
 The version option is self explaining. The order option specifies the row
 and depth order of the data in the input file.
 The supported row/depth ordering is documented in the <em>r3.out.ascii</em>
-manual page. The order of the data in the input file does not specifiy the
+manual page. The order of the data in the input file does not specify the
 data order in the generated output 3D raster map which is in any case 
 <em>north -> south, west -> east, bottom -> top</em> order.
 So dependent on the order information the data is automatically imported
@@ -106,4 +106,4 @@ Helena Mitasova, Bill Brown, Lubos Mitas, Jaro Hofierka, Sören Gebbert
 <a href="g.region.html">g.region</a>
 </em>
 
-<p><i>Last changed: $Date: 2015-02-01 01:46:56 +0100 (Sun, 01 Feb 2015) $</i>
+<p><i>Last changed: $Date: 2016-01-29 10:56:07 +0100 (Fri, 29 Jan 2016) $</i>
diff --git a/raster3d/r3.in.v5d/r3.in.v5d.html b/raster3d/r3.in.v5d/r3.in.v5d.html
index 16a2a90..46665cb 100644
--- a/raster3d/r3.in.v5d/r3.in.v5d.html
+++ b/raster3d/r3.in.v5d/r3.in.v5d.html
@@ -21,4 +21,4 @@ support for interactive data analysis, etc.
 <h2>AUTHOR</h2>
 Jaro Hofierka, GeoModel s.r.o., Slovakia
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster3d/r3.info/r3.info.html b/raster3d/r3.info/r3.info.html
index 08b94a0..71d954a 100644
--- a/raster3d/r3.info/r3.info.html
+++ b/raster3d/r3.info/r3.info.html
@@ -13,4 +13,4 @@ Roman Waupotitsch, Michael Shapiro,
 Helena Mitasova, Bill Brown, Lubos Mitas,
 Jaro Hofierka
 
-<p><i>Last changed: $Date: 2011-09-13 22:15:31 +0200 (Tue, 13 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2011-09-13 13:15:31 -0700 (Tue, 13 Sep 2011) $</i>
diff --git a/raster3d/r3.mask/r3.mask.html b/raster3d/r3.mask/r3.mask.html
index e895e5f..b80fbf1 100644
--- a/raster3d/r3.mask/r3.mask.html
+++ b/raster3d/r3.mask/r3.mask.html
@@ -17,4 +17,4 @@ Roman Waupotitsch, Michael Shapiro,
 Helena Mitasova, Bill Brown, Lubos Mitas,
 Jaro Hofierka
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster3d/r3.neighbors/main.c b/raster3d/r3.neighbors/main.c
index e3123da..a337bfa 100644
--- a/raster3d/r3.neighbors/main.c
+++ b/raster3d/r3.neighbors/main.c
@@ -42,7 +42,7 @@ struct menu
     {
     c_ave, "average", "average value"}, {
     c_median, "median", "median value"}, {
-    c_mode, "mode", "most frequently occuring value"}, {
+    c_mode, "mode", "most frequently occurring value"}, {
     c_min, "minimum", "lowest value"}, {
     c_max, "maximum", "highest value"}, {
     c_range, "range", "range value"}, {
diff --git a/raster3d/r3.null/r3.null.html b/raster3d/r3.null/r3.null.html
index 41b0dbf..120867a 100644
--- a/raster3d/r3.null/r3.null.html
+++ b/raster3d/r3.null/r3.null.html
@@ -13,4 +13,4 @@ Roman Waupotitsch, Michael Shapiro,
 Helena Mitasova, Bill Brown, Lubos Mitas,
 Jaro Hofierka
 
-<p><i>Last changed: $Date: 2011-09-13 22:15:31 +0200 (Tue, 13 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2011-09-13 13:15:31 -0700 (Tue, 13 Sep 2011) $</i>
diff --git a/raster3d/r3.out.netcdf/r3.out.netcdf.html b/raster3d/r3.out.netcdf/r3.out.netcdf.html
index 00ce22a..249779d 100644
--- a/raster3d/r3.out.netcdf/r3.out.netcdf.html
+++ b/raster3d/r3.out.netcdf/r3.out.netcdf.html
@@ -262,4 +262,4 @@ data:
 <h2>AUTHORS</h2>
 Sören Gebbert
 
-<p><i>Last changed: $Date: 2012-06-14 11:20:10 +0200 (Thu, 14 Jun 2012) $</i>
+<p><i>Last changed: $Date: 2012-06-14 02:20:10 -0700 (Thu, 14 Jun 2012) $</i>
diff --git a/raster3d/r3.out.v5d/r3.out.v5d.html b/raster3d/r3.out.v5d/r3.out.v5d.html
index 067a0ec..5870e67 100644
--- a/raster3d/r3.out.v5d/r3.out.v5d.html
+++ b/raster3d/r3.out.v5d/r3.out.v5d.html
@@ -23,4 +23,4 @@ support for interactive data analysis, etc.
 <h2>AUTHOR</h2>
 Jaro Hofierka, GeoModel s.r.o., Slovakia
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster3d/r3.showdspf/r3.showdspf.html b/raster3d/r3.showdspf/r3.showdspf.html
index ba2f1c1..b4a1294 100644
--- a/raster3d/r3.showdspf/r3.showdspf.html
+++ b/raster3d/r3.showdspf/r3.showdspf.html
@@ -145,4 +145,4 @@ p6</tt>
 <a href="mailto:brown at gis.uiuc.edu">brown at gis.uiuc.edu</a>
 </signature>
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster3d/r3.stats/r3.stats.html b/raster3d/r3.stats/r3.stats.html
index e6cb3d7..8413b74 100644
--- a/raster3d/r3.stats/r3.stats.html
+++ b/raster3d/r3.stats/r3.stats.html
@@ -98,4 +98,4 @@ Sum of all cells:
 <h2>AUTHOR</h2>
 Sören Gebbert
 
-<p><i>Last changed: $Date: 2013-02-07 10:56:17 +0100 (Thu, 07 Feb 2013) $</i>
+<p><i>Last changed: $Date: 2013-02-07 01:56:17 -0800 (Thu, 07 Feb 2013) $</i>
diff --git a/raster3d/r3.support/r3.support.html b/raster3d/r3.support/r3.support.html
index a4c477e..72bc227 100644
--- a/raster3d/r3.support/r3.support.html
+++ b/raster3d/r3.support/r3.support.html
@@ -22,5 +22,5 @@ Soeren Gebbert, vTI/AK, soerengebbert gmooglemail.com<br>
 Based on r.support written by Micharl Shapiro, CERL and others
 
 
-<p><i>Last changed: $Date: 2012-03-17 11:57:36 +0100 (Sat, 17 Mar 2012) $</i>
+<p><i>Last changed: $Date: 2012-03-17 03:57:36 -0700 (Sat, 17 Mar 2012) $</i>
 
diff --git a/raster3d/raster3dintro.html b/raster3d/raster3dintro.html
index 4087380..2c93465 100644
--- a/raster3d/raster3dintro.html
+++ b/raster3d/raster3dintro.html
@@ -22,30 +22,36 @@ can be specified at import time with a given import module such as
 
 <div align="center" style="margin: 10px">
 <img src="raster3d_layout.png" border=0><br>
-<i>The 3D raster map coordinate system and tile layout of the RASTER3D library</i>
+<i>
+    The 3D raster map coordinate system and the internal tile layout of
+    the RASTER3D library
+</i>
 </div>
 
+
 <h3>Terminology and naming</h3>
 
-GRASS GIS uses terminology where continuous 3D data represented by regular grid
+In GRASS GIS terminology, continuous 3D data represented by regular grid
 or lattice is called <em>3D raster map</em>.
-3D raster map works in 3D in the same as (2D) raster map in 2D,
+3D raster map works in 3D in the same was as (2D) raster map in 2D,
 so it is called the same except for the additional 3D.
 Some literature or other software may use terms such as 3D grid, 3D lattice,
 3D matrix, 3D array, volume, voxel, voxel model, or voxel cube.
 Note that terms volume and volumetric often refer to measuring
 volume (amount) of some substance which may or may not be related to 3D rasters.
 
+<p>
 Note that GRASS GIS uses the term 3D raster map or just 3D raster for short,
 rather than 3D raster layer because term map emphasizes
 the mapping of positions to values which is the purpose of 3D raster map
-(in mathematics, map or mapping is close to a term function).
-While the term layer emphasizes overlaying or stacking up.
-The former is not the only only operation done with data
+(in mathematics, map or mapping is close to a term function)
+On the other hand, the term layer emphasizes overlaying or stacking up.
+The former is not the only operation done with data
 and the latter could be confusing in case of 3D raster data.
 
-3D raster map is divided into cells in the same as the (2D) raster map.
-A cell is a cuboid or cube depending on the resolution.
+<p>
+3D raster map is divided into cells in the same way as the (2D) raster map.
+A cell is a cube or a (rectangular) cuboid depending on the resolution.
 The resolution influences volume of one cell.
 Some literature or other software may use terms such as volume, volume unit,
 volumetric pixel, volume pixel, or voxel.
@@ -53,11 +59,14 @@ Note that voxel can be sometimes used to refer to a whole 3D raster
 and that for example in 3D computer graphics, voxel can denote object
 with some complicated shape.
 
+<p>
 Type of map and element name in GRASS GIS is called <code>raster_3d</code>.
 The module family prefix is <code>r3</code>.
-Occasionally, for example in Python, 3D raster related things can be
+Occasionally, 3D raster related things can be
 referred differently, for example according to a programming language standards.
+This might be the case of some functions or classes in Python.
 
+<p>
 In GRASS GIS 3D rasters as stored in tiles which are hidden from user most
 of the time. When analyzing or visualizing 3D rasters user can create
 slices or cross sections. Slices can be horizontal, vertical, or general
@@ -65,12 +74,17 @@ plains going through a 3D raster. Slices, especially the horizontal ones, may be
 called layers in some literature or some other software.
 Cross sections are general functions, e.g. defined by 2D raster, going through
 a 3D raster.
+Another often used term is an isosuface which has the same relation to
+3D raster as contour (isoline) to a 2D raster. An isosurface is
+a surface that represent places with a constant value.
 
+<p>
 When 3D raster is used in the way that vertical dimension represents time
 3D raster can be referred to as space time cubes (STC) or space time cube
 3D raster. Some literature may also use space time voxel cube,
 space time voxel model or some other combination.
 
+
 <h3>3D raster import</h3>
 
 The modules <a href="r3.in.ascii.html">r3.in.ascii</a> and
@@ -133,6 +147,13 @@ NetCDF export of 3D raster maps can be performed using the module
 <a href="r3.out.netcdf.html">r3.out.netcdf</a>. It supports 3D raster maps
 with spatial dimensions and temporal (vertical) dimension.
 
+
+<h3>Working with 3D visualization software</h3>
+
+GRASS GIS can be used for visualization of 3D rasters, however
+it has also tools to easily export the data into other visualization
+packages.
+
 <p>
 GRASS GIS 3D raster maps can be exported to VTK
 using <a href="r3.out.vtk.html">r3.out.vtk</a>.
@@ -146,10 +167,10 @@ and GRASS GIS vector maps can be exported to VTK with
 <a href="v.out.vtk.html">v.out.vtk</a>.
 
 <p>
-Alternatively, GRASS 3D raster maps can be imported and exported from/to Vis5D
-(<a href="r3.in.v5d.html">r3.in.v5d</a>, <a href="r3.out.v5d.html">r3.out.v5d</a>).
-Note that Vis5D is limited in the number of supported volumes.
-<!-- it is not clear what 'volume' means here -->
+Alternatively, GRASS 3D raster maps can be imported and exported from/to
+<em><a href="http://vis5d.sourceforge.net/">Vis5D</a></em>
+(<a href="r3.in.v5d.html">r3.in.v5d</a>,
+<a href="r3.out.v5d.html">r3.out.v5d</a>).
 
 
 <h3>3D raster data types</h3>
diff --git a/scripts/Makefile b/scripts/Makefile
index d630187..b2bf3ca 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -20,6 +20,7 @@ SUBDIRS = \
 	g.extension \
 	g.extension.all \
 	g.manual \
+	g.search.modules \
 	i.colors.enhance \
 	i.image.mosaic \
 	i.in.spotvgt \
diff --git a/scripts/d.rast.edit/d.rast.edit.html b/scripts/d.rast.edit/d.rast.edit.html
index 594291a..0871491 100644
--- a/scripts/d.rast.edit/d.rast.edit.html
+++ b/scripts/d.rast.edit/d.rast.edit.html
@@ -114,4 +114,4 @@ Replaces Xdriver version in C by Chris Rewerts,
 Agricultural Engineering,
 Purdue University
 
-<p><i>Last changed: $Date: 2012-08-13 17:31:56 +0200 (Mon, 13 Aug 2012) $</i>
+<p><i>Last changed: $Date: 2012-08-13 08:31:56 -0700 (Mon, 13 Aug 2012) $</i>
diff --git a/scripts/d.redraw/d.redraw.html b/scripts/d.redraw/d.redraw.html
index 6de8bbf..f3b88cc 100644
--- a/scripts/d.redraw/d.redraw.html
+++ b/scripts/d.redraw/d.redraw.html
@@ -17,4 +17,4 @@ with <em>d.mon</em>.
 
 Martin Landa, Czech Republic
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/db.dropcolumn/db.dropcolumn.html b/scripts/db.dropcolumn/db.dropcolumn.html
index 020ff79..826802d 100644
--- a/scripts/db.dropcolumn/db.dropcolumn.html
+++ b/scripts/db.dropcolumn/db.dropcolumn.html
@@ -41,4 +41,4 @@ db.describe -c myroads
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/db.in.ogr/db.in.ogr.py b/scripts/db.in.ogr/db.in.ogr.py
index d459e90..0825e28 100755
--- a/scripts/db.in.ogr/db.in.ogr.py
+++ b/scripts/db.in.ogr/db.in.ogr.py
@@ -4,9 +4,9 @@
 #
 # MODULE:       db.in.ogr
 # AUTHOR(S):   	Markus Neteler
-# PURPOSE:      imports attribute tables in various formats
+# PURPOSE:      Imports attribute tables in various formats
 #               Converted to Python by Glynn Clements
-# COPYRIGHT:    (C) 2007-2014 by Markus Neteler and the GRASS Development Team
+# COPYRIGHT:    (C) 2007-2016 by Markus Neteler and the GRASS Development Team
 #
 #               This program is free software under the GNU General Public
 #               License (>=v2). Read the file COPYING that comes with GRASS
@@ -19,6 +19,7 @@
 #% keyword: database
 #% keyword: import
 #% keyword: attribute table
+#% overwrite: yes
 #%End
 
 #%option G_OPT_F_BIN_INPUT
@@ -33,13 +34,12 @@
 #% required : no
 #%end
 
-#%option 
+#%option G_OPT_DB_TABLE
 #% key: output
-#% type: string
-#% key_desc : name
 #% description: Name for output table
 #% required : no
 #% guisection: Output
+#% gisprompt: new,dbtable,dbtable
 #%end
 
 #%option
diff --git a/scripts/db.test/db.test.html b/scripts/db.test/db.test.html
index be7978a..2ae2daf 100644
--- a/scripts/db.test/db.test.html
+++ b/scripts/db.test/db.test.html
@@ -23,4 +23,4 @@ db.test test=test1
 
 <h2>AUTHOR</h2>
 Radim Blazek
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/g.extension/g.extension.py b/scripts/g.extension/g.extension.py
index 793498f..a58afdb 100644
--- a/scripts/g.extension/g.extension.py
+++ b/scripts/g.extension/g.extension.py
@@ -745,8 +745,9 @@ def install_extension_win(name):
                 outfile.close()
 
         fo.close()
-    except HTTPError:
-        grass.fatal(_("GRASS Addons <%s> not found") % name)
+    except (HTTPError, IOError) as e:
+        grass.fatal(_("GRASS Addons <{0}> not found. Reason: {1}").format(
+            name, e))
 
     return 0
 
diff --git a/scripts/g.manual/g.manual.html b/scripts/g.manual/g.manual.html
index c79ded9..2cb76fa 100644
--- a/scripts/g.manual/g.manual.html
+++ b/scripts/g.manual/g.manual.html
@@ -34,4 +34,4 @@ g.manual -m d.vect
 Markus Neteler
 
 <p>
-<i>Last changed: $Date: 2013-01-06 16:32:45 +0100 (Sun, 06 Jan 2013) $</i>
+<i>Last changed: $Date: 2013-01-06 07:32:45 -0800 (Sun, 06 Jan 2013) $</i>
diff --git a/scripts/g.search.modules/Makefile b/scripts/g.search.modules/Makefile
new file mode 100644
index 0000000..db0c322
--- /dev/null
+++ b/scripts/g.search.modules/Makefile
@@ -0,0 +1,7 @@
+MODULE_TOPDIR = ../..
+
+PGM = g.search.modules
+
+include $(MODULE_TOPDIR)/include/Make/Script.make
+
+default: script
diff --git a/scripts/g.search.modules/g.search.modules.html b/scripts/g.search.modules/g.search.modules.html
new file mode 100644
index 0000000..8910592
--- /dev/null
+++ b/scripts/g.search.modules/g.search.modules.html
@@ -0,0 +1,70 @@
+<h2>DESCRIPTION</h2>
+
+<em>r.search.module</em> searches for given keyword in GRASS modules name,
+description, keywords and optionally manpages too.
+
+<h2>NOTES</h2>
+
+There can be more keywords, <em>g.search.modules</em> will search for each of them
+
+<h2>EXAMPLE</h2>
+
+Search all modules, where keywords <em>buffer</em> OR <em>clip</em> can be found
+<div class="code"><pre>
+g.search.modules keyword=buffer,clip
+
+r.circle
+    keywords: raster,buffer,geometry,circle
+    description: Creates a raster map containing concentric rings around a
+                 given point.
+
+r.buffer.lowmem
+    keywords: raster,buffer
+    description: Creates a raster map showing buffer zones surrounding cells
+                 that contain non-NULL category values. This is the low-
+                 memory alternative to the classic r.buffer module.
+
+r.buffer
+    keywords: raster,buffer
+    description: Creates a raster map showing buffer zones surrounding cells
+                 that contain non-NULL category values.
+</pre></div>
+
+Search all modules, where keywords <em>overlay</em> AND <em>clip</em> can be
+found with some fancy terminal output
+<div class="code"><pre>
+g.search.modules keyword=clip,overlay -a -c
+
+v.overlay
+    keywords: vector,geometry,spatial query,intersection,union,clip
+    description: Overlays two vector maps.;
+</pre></div>
+
+Search in manual pages too 
+<div class="code"><pre>
+g.search.modules -m keyword=kapri
+
+db.execute
+    keywords: database,attribute table,SQL
+    description: Executes any SQL statement. For SELECT statements use
+                 'db.select'.
+
+db.select
+    keywords: database,attribute table,SQL
+    description: Selects data from attribute table. Performs SQL query
+                 statement(s).
+</pre></div>
+
+<h2>SEE ALSO</h2>
+
+<em>
+  <a href="g.manual.html">g.manual</a>
+  <!-- <a href="g.search.map.html">g.search.map</a>, -->
+</em>
+
+<h2>AUTHORS</h2>
+
+Jachym Cepicky, OpenGeoLabs s.r.o., Czech Republic
+
+<p>
+<i>Last changed: $Date: 2015-12-01 09:49:42 +0100 (Tue, 01 Dec 2015) $</i>
diff --git a/scripts/g.search.modules/g.search.modules.py b/scripts/g.search.modules/g.search.modules.py
new file mode 100755
index 0000000..18ee140
--- /dev/null
+++ b/scripts/g.search.modules/g.search.modules.py
@@ -0,0 +1,238 @@
+#!/usr/bin/env python
+############################################################################
+#
+# MODULE:	g.search.modules
+# AUTHOR(S):	Jachym Cepicky <jachym.cepicky gmail.com>
+# PURPOSE:	g.search.modules in grass modules using keywords
+# COPYRIGHT:	(C) 2015-2016 by the GRASS Development Team
+#
+#		This program is free software under the GNU General
+#		Public License (>=v2). Read the file COPYING that
+#		comes with GRASS for details.
+#
+#############################################################################
+
+#%module
+#% description: Search in GRASS modules using keywords
+#% keyword: general
+#% keyword: modules
+#% keyword: search
+#%end
+#%option
+#% key: keyword
+#% multiple: yes
+#% type: string
+#% description: Keyword to be searched
+#% required : yes
+#%end
+#%flag
+#% key: a
+#% description: Display only modules where all keywords are available (AND), default: OR
+#% guisection: Output
+#%end
+#%flag
+#% key: m
+#% description: Search in manual pages too (can be slow)
+#% guisection: Output
+#%end
+#%flag
+#% key: c
+#% description: Use colorized (more readable) output to terminal
+#% guisection: Output
+#%end
+#%flag
+#% key: g
+#% description: Shell script format
+#% guisection: Output
+#%end
+#%flag
+#% key: j
+#% description: JSON format
+#% guisection: Output
+#%end
+
+import os
+import sys
+
+from grass.script.utils import diff_files, try_rmdir
+from grass.script import core as grass
+
+try:
+    import xml.etree.ElementTree   as etree
+except ImportError:
+    import elementtree.ElementTree as etree # Python <= 2.4
+
+COLORIZE=False
+
+def main():
+    global COLORIZE
+    keywords = options['keyword'].lower().split(',')
+    AND = flags['a']
+    manpages = flags['m']
+    out_format = None
+    if flags['g']:
+        out_format = 'shell'
+    elif flags['j']:
+        out_format = 'json'
+    else:
+        COLORIZE = flags['c']
+
+    modules = _search_module(keywords, AND, manpages)
+
+    print_results(modules, out_format) 
+
+def print_results(data, out_format=None):
+    """
+    Print result of the searching method
+
+    each data item should have
+
+    {
+        'name': name of the item,
+        'attributes': {
+            # list of attributes to be shown too
+        }
+    }
+
+    :param list.<dict> data: input list of found data items
+    :param str out_format: output format 'shell', 'json', None
+    """
+
+    if not out_format:
+        _print_results(data)
+
+    elif out_format == 'shell':
+        _print_results_shell(data)
+
+    elif out_format == 'json':
+        _print_results_json(data)
+
+def _print_results_shell(data):
+    """Print just the name attribute"""
+
+    for item in data:
+        print item['name']
+
+def _print_results_json(data):
+    """Print JSON output"""
+
+    import json
+    print json.dumps(data, sort_keys=True, indent=4, separators=(',', ': '))
+
+def _print_results(data):
+
+    import textwrap
+
+    for item in data:
+        print '\n{}'.format(colorize(item['name'], attrs=['bold']))
+        for attr in item['attributes']:
+            out = '{}: {}'.format(attr, item['attributes'][attr])
+            out = textwrap.wrap(out, width=79, initial_indent=4*' ',
+                    subsequent_indent=4*' '+len(attr)*' '+'  ')
+            for line in out:
+                print line
+
+def colorize(text, attrs=None, pattern=None):
+    """Colorize given text input
+
+    :param string text: input text to be colored
+    :param list.<string> attrs: list of attributes as defined in termcolor package
+    :param string pattern: text to be highlighted in input text
+    :return: colored string
+    """
+    
+
+    if COLORIZE:
+        try:
+            from termcolor import colored
+        except ImportError:
+            grass.fatal(_("Cannot colorize, python-termcolor is not installed"))
+    else:
+        def colored(pattern, attrs):
+            return pattern
+
+    if pattern:
+        return text.replace(pattern, colored(pattern, attrs=attrs))
+    else:
+        return colored(text, attrs=attrs)
+
+def _search_module(keywords, logical_and=False, manpages=False):
+    """Search modules by given keywords
+
+    :param list.<str> keywords: list of keywords
+    :param boolean logical_and: use AND (default OR)
+    :param boolean manpages: search in manpages too
+    :return dict: modules
+    """
+
+    WXGUIDIR = os.path.join(os.getenv("GISBASE"), "gui", "wxpython")
+    filename = os.path.join(WXGUIDIR, 'xml', 'module_items.xml')
+    menudata_file = open(filename, 'r')
+
+    menudata = etree.parse(menudata_file)
+    menudata_file.close()
+
+    items = menudata.findall('module-item')
+
+    found_modules = []
+    for item in items:
+        name = item.attrib['name']
+        description = item.find('description').text
+        module_keywords = item.find('keywords').text
+
+        found = [False]
+        if logical_and:
+            found = [False] * len(keywords)
+
+        for idx in range(len(keywords)):
+            keyword = keywords[idx]
+            keyword_found = False
+
+            keyword_found = _basic_search(keyword, name, description, module_keywords)
+
+            if not keyword_found and manpages:
+                keyword_found = _manpage_search(keyword, name)
+
+            if keyword_found:
+                if logical_and:
+                    found[idx] = True
+                else:
+                    found = [True]
+
+                description = colorize(description,
+                                        attrs=['underline'],
+                                        pattern=keyword)
+                module_keywords = colorize(module_keywords,
+                                            attrs=['underline'],
+                                            pattern=keyword)
+
+        if False not in found:
+            found_modules.append({
+                'name': name,
+                'attributes': {
+                    'keywords': module_keywords,
+                    'description': description
+                }
+            })
+
+    return found_modules
+
+def _basic_search(pattern, name, description, module_keywords):
+    
+    if name.lower().find(pattern) > -1 or\
+       description.lower().find(pattern) > -1 or\
+       module_keywords.lower().find(pattern) > -1:
+
+        return True
+    else:
+        return False
+
+def _manpage_search(pattern, name):
+
+    manpage = grass.read_command('g.manual', flags='m', entry=name)
+
+    return manpage.lower().find(pattern) > -1
+
+if __name__ == "__main__":
+    options, flags = grass.parser()
+    sys.exit(main())
diff --git a/scripts/g.search.modules/testsuite/test_g_search_modules.py b/scripts/g.search.modules/testsuite/test_g_search_modules.py
new file mode 100644
index 0000000..52eb871
--- /dev/null
+++ b/scripts/g.search.modules/testsuite/test_g_search_modules.py
@@ -0,0 +1,64 @@
+"""
+TEST:      test_g.search.modules.py
+
+AUTHOR(S): Jachym Cepicky <jachym.cepicky gmail com>
+
+PURPOSE:   Test g.search.modules script outputs
+
+COPYRIGHT: (C) 2015 Jachym Ceppicky, and by the GRASS Development Team
+
+           This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.gunittest.gmodules import SimpleModule
+
+import termcolor
+
+import os
+
+
+class TestSearchModule(TestCase):
+
+    def test_terminal_output(self):
+        """ """
+        module = SimpleModule('g.search.modules', keyword="water")
+        self.assertModule(module)
+        stdout = module.outputs.stdout
+        self.assertEqual(stdout.split()[0], 'r.watershed')
+
+    def test_json_output(self):
+        import json
+        module = SimpleModule('g.search.modules', keyword="water", flags="j")
+        self.assertModule(module)
+        stdout = json.loads(module.outputs.stdout)
+        self.assertEqual(len(stdout), 6, 'Six modules found')
+        self.assertEqual(stdout[3]['name'], 'r.basins.fill', 'r.basins.fill')
+        self.assertTrue('keywords' in stdout[3]['attributes'])
+
+    def test_shell_outout(self):
+        module = SimpleModule('g.search.modules', keyword="water", flags="g")
+        self.assertModule(module)
+        stdout = module.outputs.stdout.split()
+        self.assertEqual(len(stdout), 6)
+        self.assertEqual(stdout[3], 'r.basins.fill')
+
+    def test_colored_terminal(self):
+        module = SimpleModule('g.search.modules', keyword="water", flags="c")
+        self.assertModule(module)
+        stdout = module.outputs.stdout.split()
+        self.assertEqual(stdout[0],
+                         termcolor.colored('r.watershed',
+                         attrs=['bold']))
+
+    def test_manual_pages(self):
+        module = SimpleModule('g.search.modules', keyword="kapri", flags="gm")
+        self.assertModule(module)
+        stdout = module.outputs.stdout.split()
+        self.assertEqual(len(stdout), 2)
+
+if __name__ == '__main__':
+    test()
diff --git a/scripts/i.image.mosaic/i.image.mosaic.html b/scripts/i.image.mosaic/i.image.mosaic.html
index 04a41ee..cd79881 100644
--- a/scripts/i.image.mosaic/i.image.mosaic.html
+++ b/scripts/i.image.mosaic/i.image.mosaic.html
@@ -15,4 +15,4 @@ GRASS GIS map calculator, and extends the colormap to the range of all images.
 Markus Neteler, ITC-Irst, Trento, Italy
 Updated to GRASS 5.7 by Michael Barton, Arizona State University
 
-<p><i>Last changed: $Date: 2011-09-29 21:18:47 +0200 (Thu, 29 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2011-09-29 12:18:47 -0700 (Thu, 29 Sep 2011) $</i>
diff --git a/scripts/i.pansharpen/i.pansharpen.html b/scripts/i.pansharpen/i.pansharpen.html
index 1161d65..5b0cf7b 100644
--- a/scripts/i.pansharpen/i.pansharpen.html
+++ b/scripts/i.pansharpen/i.pansharpen.html
@@ -80,6 +80,8 @@ the 3 pan sharpening algorithms differ in terms of spectral response.
 
 <h2>EXAMPLES</h2>
 
+<h3>Pan sharpening comparison example</h3>
+
 Pan sharpening of a Landsat image from Boulder, Colorado, USA:
 
 <div class="code"><pre>
@@ -93,12 +95,14 @@ i.pansharpen red=p034r032_7dt20010924_z13_30 green=p034r032_7dt20010924_z13_20
     blue=p034r032_7dt20010924_z13_10 pan=p034r032_7dp20010924_z13_80 
     output=ihs321 method=ihs
 
+# ... likewise with method=brovey and method=pca
+
 # display at 15m
 g.region raster=ihs321_blue -p
 d.rgb b=ihs321_blue g=ihs321_green r=ihs321_red
 </pre></div>
 
-
+<p>
 <b><em>Results:</em></b>
 
 <p><center>
@@ -139,8 +143,9 @@ d.rgb b=ihs321_blue g=ihs321_green r=ihs321_red
 </center>
 <br>
 
+<h3>Pan sharpening of LANDSAT ETM+ (Landsat 7)</h3>
 
-Example: LANDSAT ETM+ (Landsat 7), North Carolina sample dataset:
+LANDSAT ETM+ (Landsat 7), North Carolina sample dataset:
 
 <div class="code"><pre>
 # original at 28m
@@ -218,4 +223,4 @@ Michael Barton (Arizona State University, USA)<br>
 with contributions from Markus Neteler (ITC-irst, Italy); Glynn Clements;
 Luca Delucchi (Fondazione E. Mach, Italy); Markus Metz; and Hamish Bowman. 
 
-<p><i>Last changed: $Date: 2015-10-18 11:39:41 +0200 (Sun, 18 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2016-02-09 17:51:49 +0100 (Tue, 09 Feb 2016) $</i>
diff --git a/scripts/i.pansharpen/i.pansharpen.py b/scripts/i.pansharpen/i.pansharpen.py
index 5d09f9e..60d95f5 100755
--- a/scripts/i.pansharpen/i.pansharpen.py
+++ b/scripts/i.pansharpen/i.pansharpen.py
@@ -316,7 +316,7 @@ def main():
     # equalized grey scales give best contrast
     for ch in ['red', 'green', 'blue']:
         grass.run_command('r.colors', quiet=True, map="%s_%s" % (out, ch),
-                          flags="e", col='grey')
+                          flags="e", color='grey')
 
     # Landsat too blue-ish because panchromatic band less sensitive to blue
     # light, so output blue channed can be modified
diff --git a/scripts/i.pansharpen/rgb_brovey321.jpg b/scripts/i.pansharpen/rgb_brovey321.jpg
index 75f878a..108d7bb 100644
Binary files a/scripts/i.pansharpen/rgb_brovey321.jpg and b/scripts/i.pansharpen/rgb_brovey321.jpg differ
diff --git a/scripts/i.pansharpen/rgb_ihs321.jpg b/scripts/i.pansharpen/rgb_ihs321.jpg
index 2f8c240..8ffafcc 100644
Binary files a/scripts/i.pansharpen/rgb_ihs321.jpg and b/scripts/i.pansharpen/rgb_ihs321.jpg differ
diff --git a/scripts/i.pansharpen/rgb_landsat321.jpg b/scripts/i.pansharpen/rgb_landsat321.jpg
index a43990b..1a494df 100644
Binary files a/scripts/i.pansharpen/rgb_landsat321.jpg and b/scripts/i.pansharpen/rgb_landsat321.jpg differ
diff --git a/scripts/i.pansharpen/rgb_pca321.jpg b/scripts/i.pansharpen/rgb_pca321.jpg
index da25922..f4e5e15 100644
Binary files a/scripts/i.pansharpen/rgb_pca321.jpg and b/scripts/i.pansharpen/rgb_pca321.jpg differ
diff --git a/scripts/r.blend/r.blend.html b/scripts/r.blend/r.blend.html
index 23bbb42..de2614a 100644
--- a/scripts/r.blend/r.blend.html
+++ b/scripts/r.blend/r.blend.html
@@ -20,13 +20,14 @@ d.rgb blue=elev_shade_blend.b green=elev_shade_blend.g red=elev_shade_blend.r
 <h2>SEE ALSO</h2>
 
 <em>
+<a href="d.shade.html">d.shade</a>,
+<a href="g.region.html">g.region</a>,
 <a href="r.shade.html">r.shade</a>,
+<a href="r.colors.html">r.colors</a>,
 <a href="r.his.html">r.his</a>,
 <a href="r.mapcalc.html">r.mapcalc</a>,
-<a href="r.colors.html">r.colors</a>,
-<a href="r.support.html">r.support</a>,
-<a href="d.shade.html">d.shade</a>,
-<a href="g.region.html">g.region</a>
+<a href="r.rgb.html">r.rgb</a>,
+<a href="r.support.html">r.support</a>
 </em>
 
 
@@ -36,4 +37,4 @@ Unknown: probably CERL<br>
 Updated to GRASS 5.7 by Michael Barton, Arizona State University
 
 <p>
-<i>Last changed: $Date: 2014-12-20 05:56:06 +0100 (Sat, 20 Dec 2014) $</i>
+<i>Last changed: $Date: 2016-03-18 15:09:42 +0100 (Fri, 18 Mar 2016) $</i>
diff --git a/scripts/r.buffer.lowmem/r.buffer.lowmem.html b/scripts/r.buffer.lowmem/r.buffer.lowmem.html
index 5a79974..da5f96f 100644
--- a/scripts/r.buffer.lowmem/r.buffer.lowmem.html
+++ b/scripts/r.buffer.lowmem/r.buffer.lowmem.html
@@ -62,4 +62,4 @@ Research Laboratory
 Low-memory Python version by Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2013-01-04 16:21:51 +0100 (Fri, 04 Jan 2013) $</i>
+<i>Last changed: $Date: 2013-01-04 07:21:51 -0800 (Fri, 04 Jan 2013) $</i>
diff --git a/scripts/r.import/r.import.py b/scripts/r.import/r.import.py
index a151046..5e589fc 100755
--- a/scripts/r.import/r.import.py
+++ b/scripts/r.import/r.import.py
@@ -8,7 +8,7 @@
 #
 # PURPOSE:      Import and reproject on the fly
 #
-# COPYRIGHT:    (C) 2015 GRASS development team
+# COPYRIGHT:    (C) 2015-2016 GRASS development team
 #
 #               This program is free software under the GNU General
 #               Public License (>=v2). Read the file COPYING that
@@ -103,7 +103,11 @@
 #% key: l
 #% description: Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)
 #%end
-
+#%flag
+#% key: o
+#% label: Override projection check (use current location's projection)
+#% description: Assume that the dataset has same projection as the current location
+#%end
 
 import sys
 import os
@@ -188,8 +192,10 @@ def main():
 
     # try r.in.gdal directly first
     additional_flags = 'l' if flags['l'] else ''
-    if grass.run_command('r.in.gdal', input=GDALdatasource, flags='j',
-                         errors='status', quiet=True) == 0:
+    if flags['o']:
+        additional_flags += 'o'
+    if flags['o'] or grass.run_command('r.in.gdal', input=GDALdatasource, flags='j',
+                                       errors='status', quiet=True) == 0:
         parameters = dict(input=GDALdatasource, output=output,
                           memory=memory, flags='k' + additional_flags)
         if bands:
diff --git a/scripts/r.in.aster/r.in.aster.html b/scripts/r.in.aster/r.in.aster.html
index 6168e03..9a22d23 100644
--- a/scripts/r.in.aster/r.in.aster.html
+++ b/scripts/r.in.aster/r.in.aster.html
@@ -7,7 +7,7 @@ from g.proj. It can import Level 1A, Level 1B, and relative DEM products.
   line. In either case, the user must specify an <b>input</b> *.hdf file name, 
   the <b>type</b> of processing used, the image <b>band</b> to import, and an 
   <b>output</b> GRASS raster map name. 
-<p>The <b>type</b> paremeter can take values of L1A, L1B, or DEM. 
+<p>The <b>type</b> parameter can take values of L1A, L1B, or DEM. 
 <p>The <b>band</b> parameter can take values of 1, 2, 3n, 3b, 4-14
 
 
@@ -20,5 +20,5 @@ to be installed. The GDAL library must be compiled with hdf support.
 
 Michael Barton, Arizona State University and Paul Kelly 
 
-<p><i>Last changed: $Date: 2011-09-29 21:48:00 +0200 (Thu, 29 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2016-01-29 10:56:07 +0100 (Fri, 29 Jan 2016) $</i>
 
diff --git a/scripts/r.pack/r.pack.html b/scripts/r.pack/r.pack.html
index 7a5d932..998fa32 100644
--- a/scripts/r.pack/r.pack.html
+++ b/scripts/r.pack/r.pack.html
@@ -1,28 +1,31 @@
 <h2>DESCRIPTION</h2>
 
 <em>r.pack</em> collects raster map elements and support files and
-compressed them using <em>gzip</em> algorithm for copying. The packed
-file can be afterwards unpacked
+compressed them using <em>gzip</em> algorithm for copying. The resulting
+packed file can be afterwards unpacked within a GRASS GIS session
 by <em><a href="r.unpack.html">r.unpack</a></em>.
 
+Since the selected raster map is not exported but natively stored, the
+current region is not respected. Hence <em>r.pack</em> stores the entire
+raster map.
 
 <h2>NOTES</h2>
 
-Name of the pack file is determined by default from <b>input</b>
-parameter. Optionally the name can be given by <b>output</b> parameter.
+By default, the name of the pack file is determined from the <b>input</b>
+parameter. Optionally a different name can be given by <b>output</b> parameter.
 
 Currently only 2D raster maps are supported.
 
 
 <h2>EXAMPLE</h2>
 
-Pack up raster map <i>aspect</i> into <i>aspect.pack</i> file.
+Pack up the entire raster map <i>aspect</i> into <i>aspect.pack</i> file:
 
 <div class="code"><pre>
 r.pack input=aspect
 </pre></div>
 
-the raster map can be afterwards unpacked by
+The packed raster map file  <i>aspect.pack</i> can afterwards be unpacked by
 
 <div class="code"><pre>
 r.unpack input=aspect.pack
@@ -31,11 +34,11 @@ r.unpack input=aspect.pack
 <h2>SEE ALSO</h2>
 
 <em>
-  <a href="r.unpack.html">r.unpack</a>,
-  <a href="r.in.gdal.html">r.in.gdal</a>,
-  <a href="g.copy.html">g.copy</a>,
-  <a href="r.proj.html">r.proj</a>,
-  <a href="v.unpack.html">v.unpack</a>
+<a href="r.unpack.html">r.unpack</a>,
+<a href="r.in.gdal.html">r.in.gdal</a>,
+<a href="g.copy.html">g.copy</a>,
+<a href="r.proj.html">r.proj</a>,
+<a href="v.unpack.html">v.unpack</a>
 </em>
 
 
@@ -46,4 +49,4 @@ Original Bash script written by Hamish Bowman, Otago University, New Zealand
 Converted to Python and updated for GRASS 7 by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-09-05 17:56:17 +0200 (Sat, 05 Sep 2015) $</i>
+<i>Last changed: $Date: 2016-04-14 09:01:56 +0200 (Do, 14. Apr 2016) $</i>
diff --git a/scripts/r.rgb/r.rgb.html b/scripts/r.rgb/r.rgb.html
index 61484d0..4c652e6 100644
--- a/scripts/r.rgb/r.rgb.html
+++ b/scripts/r.rgb/r.rgb.html
@@ -7,7 +7,7 @@ raster map and its associated color table (grey255).
 
 <div class="code"><pre>
 g.region raster=elevation -p
-r.rgb input=elevation
+r.rgb input=elevation red=elevation.r green=elevation.g blue=elevation.b
 </pre></div>
 
 <p>
@@ -54,4 +54,4 @@ echo " elevation.b" | d.text col=black
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2016-03-18 15:09:42 +0100 (Fri, 18 Mar 2016) $</i>
diff --git a/scripts/r.rgb/r.rgb.py b/scripts/r.rgb/r.rgb.py
index ed82ede..f9a23de 100755
--- a/scripts/r.rgb/r.rgb.py
+++ b/scripts/r.rgb/r.rgb.py
@@ -17,6 +17,8 @@
 #% description: Splits a raster map into red, green and blue maps.
 #% keyword: raster
 #% keyword: RGB
+#% keyword: separate
+#% keyword: split
 #%end
 #%option G_OPT_R_INPUT
 #%end
@@ -35,6 +37,9 @@
 #% description: Blue channel raster map name
 #% required: no
 #%end
+#%rules
+#% required: red, green, blue
+#%end
 
 import grass.script as gscript
 
diff --git a/scripts/v.build.all/v.build.all.html b/scripts/v.build.all/v.build.all.html
index 7df00d4..8d32f94 100644
--- a/scripts/v.build.all/v.build.all.html
+++ b/scripts/v.build.all/v.build.all.html
@@ -13,4 +13,4 @@ v.build.all
 <h2>AUTHOR</h2>
 Radim Blazek
 
-<p><i>Last changed: $Date: 2013-02-12 12:01:38 +0100 (Tue, 12 Feb 2013) $</i>
+<p><i>Last changed: $Date: 2013-02-12 03:01:38 -0800 (Tue, 12 Feb 2013) $</i>
diff --git a/scripts/v.centroids/v.centroids.html b/scripts/v.centroids/v.centroids.html
index 21e24a3..3bbe176 100644
--- a/scripts/v.centroids/v.centroids.html
+++ b/scripts/v.centroids/v.centroids.html
@@ -28,4 +28,4 @@ module: M. Hamish Bowman, Dept. Marine Science, Otago University, New Zealand
 <br>
 help page: Trevor Wiens
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/v.db.addcolumn/v.db.addcolumn.html b/scripts/v.db.addcolumn/v.db.addcolumn.html
index 6e70f81..11cfc03 100644
--- a/scripts/v.db.addcolumn/v.db.addcolumn.html
+++ b/scripts/v.db.addcolumn/v.db.addcolumn.html
@@ -47,4 +47,4 @@ v.info -c myroads
 
 Moritz Lennert (mlennert at club.worldonline.be)
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/v.db.dropcolumn/v.db.dropcolumn.html b/scripts/v.db.dropcolumn/v.db.dropcolumn.html
index da2d962..7c244e7 100644
--- a/scripts/v.db.dropcolumn/v.db.dropcolumn.html
+++ b/scripts/v.db.dropcolumn/v.db.dropcolumn.html
@@ -38,4 +38,4 @@ v.info -c myroads
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/v.db.droptable/v.db.droptable.html b/scripts/v.db.droptable/v.db.droptable.html
index 21e3f0f..28262a1 100644
--- a/scripts/v.db.droptable/v.db.droptable.html
+++ b/scripts/v.db.droptable/v.db.droptable.html
@@ -37,4 +37,4 @@ v.db.connect -p myroads
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2012-11-25 11:59:42 +0100 (Sun, 25 Nov 2012) $</i>
+<p><i>Last changed: $Date: 2012-11-25 02:59:42 -0800 (Sun, 25 Nov 2012) $</i>
diff --git a/scripts/v.db.join/v.db.join.py b/scripts/v.db.join/v.db.join.py
index 9765483..7a546b2 100755
--- a/scripts/v.db.join/v.db.join.py
+++ b/scripts/v.db.join/v.db.join.py
@@ -72,29 +72,33 @@ def main():
         scolumns = options['subset_columns'].split(',')
     else:
         scolumns = None
-    
-    f = grass.vector_layer_db(map, layer)
 
+    try:
+        f = grass.vector_layer_db(map, layer)
+    except CalledModuleError:
+        sys.exit(1)
+        
     maptable = f['table']
     database = f['database']
     driver   = f['driver']
 
     if driver == 'dbf':
-	grass.fatal(_("JOIN is not supported for tables stored in DBF format"))
+        grass.fatal(_("JOIN is not supported for tables stored in DBF format"))
 
     if not maptable:
-	grass.fatal(_("There is no table connected to this map. Unable to join any column."))
+        grass.fatal(_("There is no table connected to this map. Unable to join any column."))
 
     # check if column is in map table
     if not grass.vector_columns(map, layer).has_key(column):
-	grass.fatal(_("Column <%s> not found in table <%s>") % (column, maptable))
+        grass.fatal(_("Column <%s> not found in table <%s>") % (column,
+                                                                maptable))
 
     # describe other table
-    all_cols_ot = grass.db_describe(otable, driver = driver, database = database)['cols']
+    all_cols_ot = grass.db_describe(otable, driver=driver, database=database)['cols']
 
     # check if ocolumn is on other table
     if ocolumn not in [ocol[0] for ocol in all_cols_ot]:
-	grass.fatal(_("Column <%s> not found in table <%s>") % (ocolumn, otable))
+        grass.fatal(_("Column <%s> not found in table <%s>") % (ocolumn, otable))
 
     # determine columns subset from other table
     if not scolumns:
@@ -102,8 +106,8 @@ def main():
         cols_to_add = all_cols_ot
     else:
         cols_to_add = []
-    	# check if scolumns exists in the other table
-    	for scol in scolumns:
+        # check if scolumns exists in the other table
+        for scol in scolumns:
             found = False
             for col_ot in all_cols_ot:
                 if scol == col_ot[0]:
@@ -111,21 +115,21 @@ def main():
                     cols_to_add.append(col_ot)
                     break
             if not found:
-                grass.warning(_("Column <%s> not found in table <%s>.") % (scol, otable))
-    
+                grass.warning(_("Column <%s> not found in table <%s>") % (scol, otable))
+
     all_cols_tt = grass.vector_columns(map, int(layer)).keys()
 
     select = "SELECT $colname FROM $otable WHERE $otable.$ocolumn=$table.$column"
     template = string.Template("UPDATE $table SET $colname=(%s);" % select)
 
     for col in cols_to_add:
-	# skip the vector column which is used for join
-	colname = col[0]
-	if colname == column:
-	    continue
-        
+        # skip the vector column which is used for join
+        colname = col[0]
+        if colname == column:
+            continue
+
         use_len = False
-	if len(col) > 2:
+        if len(col) > 2:
             use_len = True
             # Sqlite 3 does not support the precision number any more
             if driver == "sqlite":
@@ -133,25 +137,25 @@ def main():
             # MySQL - expect format DOUBLE PRECISION(M,D), see #2792
             elif driver == "mysql" and col[1] == 'DOUBLE PRECISION':
                 use_len = False
-        
+
         if use_len:
-	    coltype = "%s(%s)" % (col[1], col[2])
-	else:
-	    coltype = "%s" % col[1]
+            coltype = "%s(%s)" % (col[1], col[2])
+        else:
+            coltype = "%s" % col[1]
 
-	colspec = "%s %s" % (colname, coltype)
+        colspec = "%s %s" % (colname, coltype)
 
-	# add only the new column to the table
-	if colname not in all_cols_tt:
+        # add only the new column to the table
+        if colname not in all_cols_tt:
             try:
                 grass.run_command('v.db.addcolumn', map=map,
                                   columns=colspec, layer=layer)
             except CalledModuleError:
                 grass.fatal(_("Error creating column <%s>") % colname)
 
-	stmt = template.substitute(table = maptable, column = column,
-				   otable = otable, ocolumn = ocolumn,
-				   colname = colname)
+        stmt = template.substitute(table=maptable, column=column,
+                                   otable=otable, ocolumn=ocolumn,
+                                   colname=colname)
         grass.debug(stmt, 1)
         grass.verbose(_("Updating column <%s> of vector map <%s>...") % (colname, map))
         try:
diff --git a/scripts/v.db.reconnect.all/v.db.reconnect.all.html b/scripts/v.db.reconnect.all/v.db.reconnect.all.html
index 43b14ce..c8e083a 100644
--- a/scripts/v.db.reconnect.all/v.db.reconnect.all.html
+++ b/scripts/v.db.reconnect.all/v.db.reconnect.all.html
@@ -127,4 +127,4 @@ Radim Blazek<br>
 Major update by Martin Landa, Czech Technical University in Prague, Czech Republic
  
 <p>
-<i>Last changed: $Date: 2013-02-08 08:20:43 +0100 (Fri, 08 Feb 2013) $</i>
+<i>Last changed: $Date: 2013-02-07 23:20:43 -0800 (Thu, 07 Feb 2013) $</i>
diff --git a/scripts/v.db.renamecolumn/v.db.renamecolumn.html b/scripts/v.db.renamecolumn/v.db.renamecolumn.html
index ae9d072..96a8e43 100644
--- a/scripts/v.db.renamecolumn/v.db.renamecolumn.html
+++ b/scripts/v.db.renamecolumn/v.db.renamecolumn.html
@@ -46,4 +46,4 @@ v.info -c myroads
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/v.import/v.import.py b/scripts/v.import/v.import.py
index 1a53a2d..1269d38 100755
--- a/scripts/v.import/v.import.py
+++ b/scripts/v.import/v.import.py
@@ -86,7 +86,11 @@
 #% key: l
 #% description: List available OGR layers in data source and exit
 #%end
-
+#%flag
+#% key: o
+#% label: Override projection check (use current location's projection)
+#% description: Assume that the dataset has same projection as the current location
+#%end
 
 import sys
 import os
@@ -129,9 +133,12 @@ def main():
     output = options['output']
     layers = options['layer']
 
-    vflags = None
+    vflags = ''
     if options['extent'] == 'region':
-        vflags = 'r'
+        vflags += 'r'
+    if flags['o']:
+        vflags += 'o'
+
     vopts = {}
     if options['encoding']:
         vopts['encoding'] = options['encoding']
@@ -188,8 +195,8 @@ def main():
     os.environ['GISRC'] = str(tgtgisrc)
 
     # try v.in.ogr directly
-    if grass.run_command('v.in.ogr', input=OGRdatasource, flags='j',
-                         errors='status', quiet=True) == 0:
+    if flags['o'] or grass.run_command('v.in.ogr', input=OGRdatasource, flags='j',
+                                       errors='status', quiet=True) == 0:
         try:
             grass.run_command('v.in.ogr', input=OGRdatasource,
                               flags=vflags, **vopts)
diff --git a/scripts/v.in.geonames/v.in.geonames.html b/scripts/v.in.geonames/v.in.geonames.html
index 08c700b..409a515 100644
--- a/scripts/v.in.geonames/v.in.geonames.html
+++ b/scripts/v.in.geonames/v.in.geonames.html
@@ -81,4 +81,4 @@ v.in.geonames input=CZ.txt output=geonames_cz
 <a href="http://www.grassbook.org/">Markus Neteler</a>
 
 <p>
-<i>Last changed: $Date: 2012-12-30 18:23:10 +0100 (Sun, 30 Dec 2012) $</i>
+<i>Last changed: $Date: 2012-12-30 09:23:10 -0800 (Sun, 30 Dec 2012) $</i>
diff --git a/scripts/v.in.lines/v.in.lines.html b/scripts/v.in.lines/v.in.lines.html
index da4a028..69d9e4a 100644
--- a/scripts/v.in.lines/v.in.lines.html
+++ b/scripts/v.in.lines/v.in.lines.html
@@ -47,4 +47,4 @@ EOF
 Hamish Bowman<br>
 Dunedin, New Zealand
 
-<p><i>Last changed: $Date: 2012-09-09 21:11:23 +0200 (Sun, 09 Sep 2012) $</i>
+<p><i>Last changed: $Date: 2012-09-09 12:11:23 -0700 (Sun, 09 Sep 2012) $</i>
diff --git a/scripts/v.in.mapgen/v.in.mapgen.html b/scripts/v.in.mapgen/v.in.mapgen.html
index 6950fbc..634c221 100644
--- a/scripts/v.in.mapgen/v.in.mapgen.html
+++ b/scripts/v.in.mapgen/v.in.mapgen.html
@@ -27,4 +27,4 @@ using the <b>-z</b> flag.
 Based on <em>v.in.mapgen.sh</em> for GRASS 5.0 by Andreas Lange
 <br>Rewritten for GRASS 6 by Hamish Bowman
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/v.rast.stats/v.rast.stats.py b/scripts/v.rast.stats/v.rast.stats.py
index caa14eb..f1c768d 100644
--- a/scripts/v.rast.stats/v.rast.stats.py
+++ b/scripts/v.rast.stats/v.rast.stats.py
@@ -72,19 +72,12 @@ def cleanup():
     if rastertmp:
         grass.run_command('g.remove', flags='f', type='raster',
                           name=rastertmp, quiet=True)
-    grass.run_command('g.remove', flags='f', type='raster',
-                      name='MASK', quiet=True, stderr=nuldev)
-    if mask_found:
-        grass.message(_("Restoring previous MASK..."))
-        grass.run_command('g.rename', raster=(tmpname + "_origmask", 'MASK'),
-                          quiet=True)
 #    for f in [tmp, tmpname, sqltmp]:
 #        grass.try_remove(f)
 
 
 def main():
-    global tmp, sqltmp, tmpname, nuldev, vector, mask_found, rastertmp
-    mask_found = False
+    global tmp, sqltmp, tmpname, nuldev, vector, rastertmp
     rastertmp = False
     #### setup temporary files
     tmp = grass.tempfile()
@@ -123,13 +116,6 @@ def main():
     if not grass.find_file(raster, 'cell')['file']:
         grass.fatal(_("Raster map <%s> not found") % raster)
 
-    # check presence of raster MASK, put it aside
-    mask_found = bool(grass.find_file('MASK', 'cell', mapset)['file'])
-    if mask_found:
-        grass.message(_("Raster MASK found, temporarily disabled"))
-        grass.run_command('g.rename', raster=('MASK', tmpname + "_origmask"),
-                          quiet=True)
-
     # save current settings:
     grass.use_temp_region()
 
@@ -137,7 +123,6 @@ def main():
     # keep boundary settings
     grass.run_command('g.region', align=raster)
 
-    # prepare raster MASK
     grass.message(_("Preprocessing input data..."))
     try:
         grass.run_command('v.to.rast', input=vector, layer=layer, output=rastertmp,
@@ -293,9 +278,6 @@ def main():
     except CalledModuleError:
         grass.warning(_("Failed to upload statistics to attribute table of vector map <%s>.") % vector)
         exitcode = 1
-    finally:
-         grass.run_command('g.remove', flags='f', type='raster',
-                           name='MASK', quiet=True, stderr=nuldev)
 
     sys.exit(exitcode)
 
diff --git a/scripts/v.report/v.report.html b/scripts/v.report/v.report.html
index d11a6e2..47f62b8 100644
--- a/scripts/v.report/v.report.html
+++ b/scripts/v.report/v.report.html
@@ -36,4 +36,4 @@ In the output, there is an extra column added containing the results.
 
 Markus Neteler, GDF Hannover
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/v.unpack/v.unpack.py b/scripts/v.unpack/v.unpack.py
index d8d40a8..591f610 100644
--- a/scripts/v.unpack/v.unpack.py
+++ b/scripts/v.unpack/v.unpack.py
@@ -106,7 +106,7 @@ def main():
         pass
     elif os.path.exists(os.path.join(data_name, 'cell')):
         grass.fatal(_("This GRASS GIS pack file contains raster data. Use "
-                      "v.unpack to unpack <%s>" % map_name))
+                      "r.unpack to unpack <%s>" % map_name))
     else:
         grass.fatal(_("Pack file unreadable"))
 
diff --git a/temporal/t.list/t.list.py b/temporal/t.list/t.list.py
index c53b0ec..1c2c583 100755
--- a/temporal/t.list/t.list.py
+++ b/temporal/t.list/t.list.py
@@ -71,6 +71,10 @@
 #% guisection: Formatting
 #%end
 
+#%option G_OPT_F_OUTPUT
+#% required: no
+#%end
+
 #%flag
 #% key: c
 #% description: Print the column names as first row
@@ -93,6 +97,7 @@ def main():
     order = options["order"]
     where = options["where"]
     separator = gscript.separator(options["separator"])
+    outpath = options["output"]
     colhead = flags['c']
 
     # Make sure the temporal database exists
@@ -100,8 +105,8 @@ def main():
 
     sp = tgis.dataset_factory(type, None)
     first = True
-    
-    if  gscript.verbosity() > 0:
+
+    if  gscript.verbosity() > 0 and not outpath:
         sys.stderr.write("----------------------------------------------\n")
 
     for ttype in temporal_type.split(","):
@@ -116,13 +121,16 @@ def main():
         # alphabetic ordering
         mapsets = tgis.get_tgis_c_library_interface().available_mapsets()
 
+        if outpath:
+            outfile = open(outpath, 'w')
+
         # Print for each mapset separately
         for key in mapsets:
             if key in stds_list.keys():
                 rows = stds_list[key]
 
                 if rows:
-                    if  gscript.verbosity() > 0:
+                    if  gscript.verbosity() > 0 and not outpath:
                         if issubclass(sp.__class__,  tgis.AbstractMapDataset):
                             sys.stderr.write(_("Time stamped %s maps with %s available in mapset <%s>:\n")%\
                                                      (sp.get_type(),  time,  key))
@@ -140,9 +148,12 @@ def main():
                             else:
                                 output += str(key)
                             count += 1
-                        print output
+                        if outpath:
+                            outfile.write("{st}\n".format(st=output))
+                        else:
+                            print output
                         first = False
-            
+
                     for row in rows:
                         output = ""
                         count = 0
@@ -152,8 +163,12 @@ def main():
                             else:
                                 output += str(col)
                             count += 1
-            
-                        print output
+                        if outpath:
+                            outfile.write("{st}\n".format(st=output))
+                        else:
+                            print output
+    if outpath:
+        outfile.close()
 
 if __name__ == "__main__":
     options, flags = gscript.parser()
diff --git a/temporal/t.rast.algebra/t.rast.algebra.html b/temporal/t.rast.algebra/t.rast.algebra.html
index 159d40e..db5d221 100644
--- a/temporal/t.rast.algebra/t.rast.algebra.html
+++ b/temporal/t.rast.algebra/t.rast.algebra.html
@@ -246,7 +246,7 @@ compared by logical operators and evaluated for each map of the STDS and
 the related maps.
 For complex relations the comparison operator can be used to combine conditions: 
 <br>
-The structure is similar to the select operator with the extention of an aggregation operator: 
+The structure is similar to the select operator with the extension of an aggregation operator: 
 {"comparison operator", "topological relations", aggregation operator, "temporal operator"}
 <br>
 This aggregation operator (| or &) define the behaviour if a map is related the more 
@@ -484,5 +484,5 @@ C = if({equal}, B {#,contain} A > 1, (B {+,contain,l} A {-,equal,l} B) {equal,=/
 
 Thomas Leppelt, Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2016-01-13 00:30:14 +0100 (Wed, 13 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-04-09 18:46:53 +0200 (Sat, 09 Apr 2016) $</i>
 
diff --git a/temporal/t.rast.list/t.rast.list.py b/temporal/t.rast.list/t.rast.list.py
index afeab78..6d47f88 100755
--- a/temporal/t.rast.list/t.rast.list.py
+++ b/temporal/t.rast.list/t.rast.list.py
@@ -75,6 +75,10 @@
 #% guisection: Formatting
 #%end
 
+#%option G_OPT_F_OUTPUT
+#% required: no
+#%end
+
 #%flag
 #% key: s
 #% description: Suppress printing of column names
@@ -98,12 +102,13 @@ def main():
     method = options["method"]
     granule = options["granule"]
     header = flags["s"]
+    output = options["output"]
 
     # Make sure the temporal database exists
     tgis.init()
 
-    tgis.list_maps_of_stds(
-        "strds", input, columns, order, where, separator, method, header, granule)
+    tgis.list_maps_of_stds("strds", input, columns, order, where, separator,
+                           method, header, granule, outpath=output)
 
 if __name__ == "__main__":
     options, flags = grass.parser()
diff --git a/temporal/t.rast3d.list/t.rast3d.list.py b/temporal/t.rast3d.list/t.rast3d.list.py
index 93971da..5792c3d 100755
--- a/temporal/t.rast3d.list/t.rast3d.list.py
+++ b/temporal/t.rast3d.list/t.rast3d.list.py
@@ -67,6 +67,10 @@
 #% guisection: Formatting
 #%end
 
+#%option G_OPT_F_OUTPUT
+#% required: no
+#%end
+
 #%flag
 #% key: s
 #% description: Suppress printing of column names
@@ -89,12 +93,13 @@ def main():
     separator = grass.separator(options["separator"])
     method = options["method"]
     header = flags["s"]
+    output = options["output"]
 
     # Make sure the temporal database exists
     tgis.init()
 
-    tgis.list_maps_of_stds(
-        "str3ds", input, columns, order, where, separator, method, header)
+    tgis.list_maps_of_stds("str3ds", input, columns, order, where, separator,
+                           method, header, outpath=output)
 
 if __name__ == "__main__":
     options, flags = grass.parser()
diff --git a/temporal/t.register/t.register.html b/temporal/t.register/t.register.html
index 1ab53cc..8b7fa92 100644
--- a/temporal/t.register/t.register.html
+++ b/temporal/t.register/t.register.html
@@ -182,6 +182,52 @@ prec_6|PERMANENT|2001-06-01 00:00:00|2001-07-01 00:00:00
 prec_7|PERMANENT|2001-07-01 00:00:00|2001-08-01 00:00:00
 </pre></div>
 
+<h3>Importing and registering ECA&D climatic data</h3>
+
+The European Climate Assessment & Dataset (ECA&D) project
+offers the E-OBS dataset which is a daily gridded observational
+dataset for precipitation, temperature and sea level pressure in
+Europe based on ECA&D information.
+
+Download and decompress mean temperature data from: 
+<a href="http://eca.knmi.nl/download/ensembles/data/Grid_0.25deg_reg/">here</a>
+by accepting their
+<a href="http://eca.knmi.nl/download/ensembles/ensembles.php">Terms of use</a>.
+
+<div class="code"><pre>
+# import E-OBS V12 into a lat-long location (alternatively, use r.external)
+r.in.gdal -oe input=tg_0.25deg_reg_1950-1964_v12.0.nc \
+  output=temperature_mean offset=0
+r.in.gdal -oe input=tg_0.25deg_reg_1965-1979_v12.0.nc \
+  output=temperature_mean offset=5479 --o
+r.in.gdal -oe input=tg_0.25deg_reg_1980-1994_v12.0.nc \
+  output=temperature_mean offset=10957 --o
+r.in.gdal -oe input=tg_0.25deg_reg_1995-2015_v12.0.nc \
+  output=temperature_mean offset=16436 --o
+
+# create STRDS
+t.create type=strds output=temperature_mean_1950_2015_daily \
+  temporaltype=absolute semantictype=mean \
+  title="European mean temperature 1950-2015" \
+  description="The European daily mean temperature from ECAD"
+
+# create text file with all temperature_mean rasters, one per line,
+# a) using a shell script
+for i in `seq 1 23922` ; do 
+    echo temperature_mean.$i >> map_list.txt
+done
+
+# b) using a Python script
+file = open("map_list.txt", "w")
+for i in range(23922):
+    file.write("temperature_mean.%i\n" % (i + 1))
+file.close()
+
+# register daily maps using the file created above
+t.register -i type=raster input=temperature_mean_1950_2015_daily \
+              file=map_list.txt start=1950-01-01 increment="1 days"
+</pre></div>
+
 <h2>SEE ALSO</h2>
 
 <em>
@@ -194,5 +240,5 @@ prec_7|PERMANENT|2001-07-01 00:00:00|2001-08-01 00:00:00
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2016-01-13 00:30:14 +0100 (Wed, 13 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-04-01 10:35:29 +0200 (Fri, 01 Apr 2016) $</i>
 
diff --git a/temporal/t.vect.list/t.vect.list.py b/temporal/t.vect.list/t.vect.list.py
index 08b8f68..e0751b0 100755
--- a/temporal/t.vect.list/t.vect.list.py
+++ b/temporal/t.vect.list/t.vect.list.py
@@ -67,6 +67,10 @@
 #% guisection: Formatting
 #%end
 
+#%option G_OPT_F_OUTPUT
+#% required: no
+#%end
+
 #%flag
 #% key: s
 #% description: Suppress printing of column names
@@ -89,12 +93,13 @@ def main():
     separator = grass.separator(options["separator"])
     method = options["method"]
     header = flags["s"]
+    output = options["output"]
 
     # Make sure the temporal database exists
     tgis.init()
 
-    tgis.list_maps_of_stds(
-        "stvds", input, columns, order, where, separator, method, header)
+    tgis.list_maps_of_stds("stvds", input, columns, order, where, separator,
+                           method, header, outpath=output)
 
 if __name__ == "__main__":
     options, flags = grass.parser()
diff --git a/temporal/t.vect.observe.strds/t.vect.observe.strds.html b/temporal/t.vect.observe.strds/t.vect.observe.strds.html
index a5437ef..82c5bb7 100644
--- a/temporal/t.vect.observe.strds/t.vect.observe.strds.html
+++ b/temporal/t.vect.observe.strds/t.vect.observe.strds.html
@@ -9,8 +9,10 @@ input is one or several space time raster datasets (STRDS) that should
 be sampled over time at the vector point positions. The space time 
 raster dataset will be sampled over its whole temporal extent (from 
 start to end). The range can be adjusted using the temporal where 
-condition <em>t_where</em>. A column name must be specified for each 
-input space time raster dataset.
+condition <em>t_where</em>. The temporal "where" will only work as 
+expected when just one STRDS is to be sampled. If more than one STRDS 
+are to be observed, a column name must be specified for each input space
+time raster dataset.
 <p>
 As results  a new space time vector dataset is generated that contains 
 a single (new) vector map that links to as many time stamped attribute 
@@ -142,4 +144,4 @@ v.info precip_stations_monthly
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2016-02-09 18:21:24 +0100 (Tue, 09 Feb 2016) $</i>
diff --git a/vector/v.buffer/v.buffer.html b/vector/v.buffer/v.buffer.html
index 287327b..b470fa5 100644
--- a/vector/v.buffer/v.buffer.html
+++ b/vector/v.buffer/v.buffer.html
@@ -38,7 +38,7 @@ buggy for some input data).
 
 <h3>Corner settings</h3>
 
-The following corners (also called "cap") exist:
+The following vector line related corners (also called "cap") exist:
 <ul>
 <li>no cap:       <img src="v_buffer_no_cap.png" valign="middle" alt="line buffer: no cap"></li>
 <li>rounded cap: <img src="v_buffer_rounded_cap.png" valign="middle" alt="line buffer: rounded cap"></li>
@@ -148,4 +148,4 @@ Rewritten by Rosen Matev (with support through the
 Rewritten by Markus Metz (2011, 2012)
 
 <p>
-<i>Last changed: $Date: 2016-01-21 11:35:47 +0100 (Thu, 21 Jan 2016) $</i>
+<i>Last changed: $Date: 2016-03-08 08:59:12 +0100 (Tue, 08 Mar 2016) $</i>
diff --git a/vector/v.build/main.c b/vector/v.build/main.c
index ebc4669..7f60bb8 100644
--- a/vector/v.build/main.c
+++ b/vector/v.build/main.c
@@ -58,7 +58,7 @@ int main(int argc, char *argv[])
     opt->multiple = YES;
     opt->answer = "build";
     opt->description =
-	_("Build topology or dump topology or indeces to standard output");
+	_("Build topology or dump topology or indices to standard output");
     opt_desc = NULL;
     G_asprintf(&opt_desc,
 	       "build;%s;dump;%s;sdump;%s;cdump;%s;fdump;%s",
diff --git a/vector/v.build/v.build.html b/vector/v.build/v.build.html
index 929f159..9daa8d7 100644
--- a/vector/v.build/v.build.html
+++ b/vector/v.build/v.build.html
@@ -47,7 +47,7 @@ includes:
 <h3>Build topology</h3>
 
 Note that <b>option=build</b> recreates also spatial and category
-indeces, not only topology. For linked OGR layers
+indices, not only topology. For linked OGR layers
 (see <em><a href="v.external.html">v.external</a></em>) also feature
 index is created.
 
@@ -89,4 +89,4 @@ Michael Higgins, U.S.Army Construction Engineering Research Laboratory,<br>
 Radim Blazek, ITC-irst, Trento, Italy
 
 <p>
-<i>Last changed: $Date: 2015-02-03 22:15:47 +0100 (Tue, 03 Feb 2015) $</i>
+<i>Last changed: $Date: 2016-03-08 09:08:23 +0100 (Tue, 08 Mar 2016) $</i>
diff --git a/vector/v.clean/v.clean.html b/vector/v.clean/v.clean.html
index 8ec47f8..c2e21b4 100644
--- a/vector/v.clean/v.clean.html
+++ b/vector/v.clean/v.clean.html
@@ -3,7 +3,7 @@
 <em>v.clean</em> allows the user to automatically fix topology of vector 
 maps. Several tools may be listed to be executed sequentially. In this
 case, also the threshold parameter requires several values to be listed
-accordingly. An error map is optionally written which stores the errorneous
+accordingly. An error map is optionally written which stores the erroneous
 geometries.
 
 <h3>Break lines/boundaries</h3>
@@ -295,4 +295,4 @@ David Gerdes, U.S. Army Construction Engineering Research Laboratory<br>
 Radim Blazek, ITC-irst, Trento, Italy<br>
 Martin Landa, FBK-irst (formerly ITC-irst), Trento, Italy
 
-<p><i>Last changed: $Date: 2014-11-28 17:25:40 +0100 (Fri, 28 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2016-03-08 09:08:23 +0100 (Tue, 08 Mar 2016) $</i>
diff --git a/vector/v.distance/distance.c b/vector/v.distance/distance.c
index 0ccc0ac..73edfa8 100644
--- a/vector/v.distance/distance.c
+++ b/vector/v.distance/distance.c
@@ -289,9 +289,14 @@ int line2area(const struct Map_info *To,
     all_inside_outer = all_outside_outer = 1;
     all_outside_inner = 1;
 
+    int in_box;
     for (i = 0; i < Points->n_points; i++) {
-	if (Vect_point_in_box(Points->x[i], Points->y[i],
-			      Points->z[i], abox)) {
+        if (with_z)
+            in_box = Vect_point_in_box(Points->x[i], Points->y[i],
+                                       Points->z[i], abox);
+        else
+            in_box = Vect_point_in_box_2d(Points->x[i], Points->y[i], abox);
+        if (in_box) {
 
 	    int poly;
 	    
@@ -323,8 +328,13 @@ int line2area(const struct Map_info *To,
 		int inside_isle = 0;
 
 		for (j = 0; j < nisles; j++) {
-		    if (Vect_point_in_box(Points->x[i], Points->y[i], Points->z[i], 
-					  &ibox[j])) {
+                    if (with_z)
+                        in_box = Vect_point_in_box(Points->x[i], Points->y[i],
+                                                   Points->z[i], &ibox[j]);
+                    else
+                        in_box = Vect_point_in_box_2d(Points->x[i],
+                                                      Points->y[i], &ibox[j]);
+                    if (in_box) {
 
 			poly = Vect_point_in_poly(Points->x[i], Points->y[i], iPoints[j]);
 			
diff --git a/vector/v.distance/main.c b/vector/v.distance/main.c
index 4e55daa..c7f2718 100644
--- a/vector/v.distance/main.c
+++ b/vector/v.distance/main.c
@@ -13,7 +13,7 @@
  *               
  * PURPOSE:      Calculates distance from a point to nearest feature in vector layer. 
  *               
- * COPYRIGHT:    (C) 2002-2012 by the GRASS Development Team
+ * COPYRIGHT:    (C) 2002-2015 by the GRASS Development Team
  *
  *               This program is free software under the 
  *               GNU General Public License (>=v2). 
diff --git a/vector/v.drape/main.c b/vector/v.drape/main.c
index b627fb6..c98131f 100644
--- a/vector/v.drape/main.c
+++ b/vector/v.drape/main.c
@@ -57,6 +57,7 @@ int main(int argc, char *argv[])
     G_add_keyword(_("geometry"));
     G_add_keyword(_("sampling"));
     G_add_keyword(_("3D"));
+    G_add_keyword(_("surface information"));
     module->description =
 	_("Converts 2D vector features to 3D by sampling of elevation raster map.");
 
diff --git a/vector/v.extract/v.extract.html b/vector/v.extract/v.extract.html
index f5e56dd..ae1f8ba 100644
--- a/vector/v.extract/v.extract.html
+++ b/vector/v.extract/v.extract.html
@@ -106,13 +106,6 @@ v.extract -d input=zipcodes_wake_recl_nam output=zipcodes_wake_regions
 This produces a new vector map with common boundaries dissolved where the reclassed
 attributes of adjacent (left/right) areas are identical.
 
-<h3>Remove islands from polygon map</h3>
-<div class="code"><pre>
-v.extract input=map_with_islands output=maps_without_islands cats=1-99999
-# and/or
-v.extract -d in=map_with_islands out=maps_without_islands
-</pre></div>
-
 <h3>Extract 3 random areas from geology map</h3>
 <p>
 <div class="code"><pre>
@@ -135,4 +128,4 @@ Note that there may be more than one feature with the same category.
 R.L. Glenn, USDA, SCS, NHQ-CGIS<br>
 GRASS 6 port by Radim Blazek
 
-<p><i>Last changed: $Date: 2013-12-27 17:53:51 +0100 (Fri, 27 Dec 2013) $</i>
+<p><i>Last changed: $Date: 2016-03-16 21:18:14 +0100 (Wed, 16 Mar 2016) $</i>
diff --git a/vector/v.generalize/v.generalize.html b/vector/v.generalize/v.generalize.html
index fb8ebef..1e5b4b8 100644
--- a/vector/v.generalize/v.generalize.html
+++ b/vector/v.generalize/v.generalize.html
@@ -4,11 +4,9 @@
 is a module for the generalization of GRASS vector maps. This module
 consists of algorithms for line simplification, line smoothing,
 network generalization and displacement (new methods may be added later).
-For more examples and nice pictures, see 
-<em><a href="http://users.ox.ac.uk/~orie1848/tutorial.html">tutorial</a><br></em> 
-<p>If <em>type=area</em> is selected, boundaries of selected areas will be 
-generalized, and the options <em>cats</em>, <em>where</em>, and 
-<em>layer</em> will be used to select areas. 
+<p>If <b>type=area</b> is selected, boundaries of selected areas will be 
+generalized, and the options <b>cats</b>, <b>where</b>, and 
+<b>layer</b> will be used to select areas. 
 
 <h2>NOTES</h2>
 (Line) simplification is a process of reducing the complexity of vector 
@@ -326,4 +324,4 @@ Daniel Bundala, Google Summer of Code 2007, Student<br>
 Wolf Bergenheim, Mentor<br>
 Partial rewrite: Markus Metz
 
-<p><i>Last changed: $Date: 2015-02-11 14:31:58 +0100 (Wed, 11 Feb 2015) $</i>
+<p><i>Last changed: $Date: 2016-04-09 10:49:43 +0200 (Sat, 09 Apr 2016) $</i>
diff --git a/vector/v.in.ascii/main.c b/vector/v.in.ascii/main.c
index 3c6256f..d58d176 100644
--- a/vector/v.in.ascii/main.c
+++ b/vector/v.in.ascii/main.c
@@ -99,7 +99,7 @@ int main(int argc, char *argv[])
     
     tdelim_opt = G_define_standard_option(G_OPT_F_SEP);
     tdelim_opt->key = "text";
-    tdelim_opt->label = "text delimiter";
+    tdelim_opt->label = "Text delimiter";
     tdelim_opt->answer = "doublequote";
     tdelim_opt->description = _("Special characters: doublequote, singlequote");
     tdelim_opt->guisection = _("Input format");
diff --git a/vector/v.in.ascii/v.in.ascii.html b/vector/v.in.ascii/v.in.ascii.html
index 1eaefa0..96ee41f 100644
--- a/vector/v.in.ascii/v.in.ascii.html
+++ b/vector/v.in.ascii/v.in.ascii.html
@@ -231,7 +231,7 @@ The import works for 2D maps as well (no elev column and no '-z' flag).
 Generate a 3D points vector map 'points3d.dat' with attributes as ASCII file:
 <div class="code"><pre>
 593493.1|4914730.2|123.1|studna|well
-591950.2|4923000.5|222.3|kadibudka|closet
+591950.2|4923000.5|222.3|kadibudka|outhouse
 589860.5|4922000.0|232.3|hruska|pear
 590400.5|4922820.8|143.2|mysi dira|mouse hole
 593549.3|4925500.7|442.6|mineralni pramen|mineral spring
@@ -306,4 +306,4 @@ James Westervelt, U.S.Army Construction Engineering
 Research Laboratory<br>
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2016-01-13 10:20:46 +0100 (Wed, 13 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-02-14 01:00:11 +0100 (Sun, 14 Feb 2016) $</i>
diff --git a/vector/v.in.dwg/v.in.dwg.html b/vector/v.in.dwg/v.in.dwg.html
index cd07c91..abda91d 100644
--- a/vector/v.in.dwg/v.in.dwg.html
+++ b/vector/v.in.dwg/v.in.dwg.html
@@ -31,4 +31,4 @@ Then you can compile this module.
 
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/vector/v.in.dxf/v.in.dxf.html b/vector/v.in.dxf/v.in.dxf.html
index 0dc1e7c..9a3e225 100644
--- a/vector/v.in.dxf/v.in.dxf.html
+++ b/vector/v.in.dxf/v.in.dxf.html
@@ -69,4 +69,4 @@ US Army Construction Engineering Research Lab
 <p>Updated for GRASS 6 and 3D support. Huidae Cho, 3/2006<br>
 With minor additions by Benjamin Ducke (Oxford Archaeology), 4/2009
 
-<p><i>Last changed: $Date: 2013-02-15 23:08:41 +0100 (Fri, 15 Feb 2013) $</i>
+<p><i>Last changed: $Date: 2013-02-15 14:08:41 -0800 (Fri, 15 Feb 2013) $</i>
diff --git a/vector/v.in.ogr/main.c b/vector/v.in.ogr/main.c
index 606994a..8f56efd 100644
--- a/vector/v.in.ogr/main.c
+++ b/vector/v.in.ogr/main.c
@@ -1000,8 +1000,13 @@ int main(int argc, char *argv[])
                 /* check if the field is integer */
                 Ogr_field = OGR_FD_GetFieldDefn(Ogr_featuredefn, key_idx);
                 Ogr_ftype = OGR_Fld_GetType(Ogr_field);
-                if (Ogr_ftype != OFTInteger)
+                if (!(Ogr_ftype == OFTInteger
+#if GDAL_VERSION_NUM >= 2000000
+                      || Ogr_ftype == OFTInteger64
+#endif
+		      )) {
                     G_fatal_error(_("Key column '%s' is not integer"), param.key->answer);
+                }
                 key_column = G_store(OGR_Fld_GetNameRef(Ogr_field));
             }
         }
@@ -1081,11 +1086,30 @@ int main(int argc, char *argv[])
 		/**                                          OFTDate = 9           **/
 		/**                                          OFTTime = 10          **/
 		/**                                          OFTDateTime = 11      **/
+                /** GDAL 2.0+                                                      **/
+                /** Simple 64bit integer                     OFTInteger64 = 12     **/
+                /** List of 64bit integers                   OFTInteger64List = 13 **/
 
 		if (Ogr_ftype == OFTInteger) {
 		    sprintf(buf, ", %s integer", Ogr_fieldname);
 		}
-		else if (Ogr_ftype == OFTIntegerList) {
+#if GDAL_VERSION_NUM >= 2000000
+		else if (Ogr_ftype == OFTInteger64) {
+                    if (strcmp(Fi->driver, "pg") == 0) 
+                        sprintf(buf, ", %s bigint", Ogr_fieldname);
+                    else {
+                        sprintf(buf, ", %s integer", Ogr_fieldname);
+                        if (strcmp(Fi->driver, "sqlite") != 0) 
+                            G_warning(_("Writing column <%s> with integer 64 as integer 32"),
+                                      Ogr_fieldname);
+                    }
+                }
+#endif
+		else if (Ogr_ftype == OFTIntegerList
+#if GDAL_VERSION_NUM >= 2000000
+                         || Ogr_ftype == OFTInteger64List
+#endif
+                         ) {
 		    /* hack: treat as string */
 		    sprintf(buf, ", %s varchar ( %d )", Ogr_fieldname,
 			    OFTIntegerListlength);
@@ -1128,8 +1152,8 @@ int main(int argc, char *argv[])
 			      Ogr_fieldname, OFTIntegerListlength);
 		}
 		else {
-		    G_warning(_("Column type not supported (%s)"),
-			      Ogr_fieldname);
+		    G_warning(_("Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"),
+			      Ogr_ftype, Ogr_fieldname);
 		    buf[0] = 0;
 		}
 		db_append_string(&sql, buf);
@@ -1213,7 +1237,11 @@ int main(int argc, char *argv[])
 		    Ogr_field = OGR_FD_GetFieldDefn(Ogr_featuredefn, i);
 		    Ogr_ftype = OGR_Fld_GetType(Ogr_field);
 		    if (OGR_F_IsFieldSet(Ogr_feature, i)) {
-			if (Ogr_ftype == OFTInteger || Ogr_ftype == OFTReal) {
+			if (Ogr_ftype == OFTInteger ||
+#if GDAL_VERSION_NUM >= 2000000
+                            Ogr_ftype == OFTInteger64 ||
+#endif
+                            Ogr_ftype == OFTReal) {
 			    sprintf(buf, ", %s",
 				    OGR_F_GetFieldAsString(Ogr_feature, i));
 			}
@@ -1234,7 +1262,11 @@ int main(int argc, char *argv[])
 #endif
 			else if (Ogr_ftype == OFTString ||
 			         Ogr_ftype == OFTStringList ||
-				 Ogr_ftype == OFTIntegerList) {
+				 Ogr_ftype == OFTIntegerList 
+#if GDAL_VERSION_NUM >= 2000000
+                                 || Ogr_ftype == OFTInteger64List
+#endif
+                                 ) {
 			    db_set_string(&strval, (char *)
 					  OGR_F_GetFieldAsString(Ogr_feature,
 								 i));
@@ -1248,20 +1280,28 @@ int main(int argc, char *argv[])
 		    }
 		    else {
 			/* G_warning (_("Column value not set" )); */
-			if (Ogr_ftype == OFTInteger || Ogr_ftype == OFTReal) {
+			if (Ogr_ftype == OFTInteger ||
+#if GDAL_VERSION_NUM >= 2000000
+                            Ogr_ftype == OFTInteger64 ||
+#endif
+                            Ogr_ftype == OFTReal) {
 			    sprintf(buf, ", NULL");
 			}
 #if GDAL_VERSION_NUM >= 1320
 			else if (Ogr_ftype == OFTDate ||
 				 Ogr_ftype == OFTTime || 
 				 Ogr_ftype == OFTDateTime) {
-			    sprintf(buf, ", ''");
+			    sprintf(buf, ", NULL");
 			}
 #endif
 			else if (Ogr_ftype == OFTString ||
 			         Ogr_ftype == OFTStringList ||
-				 Ogr_ftype == OFTIntegerList) {
-			    sprintf(buf, ", ''");
+				 Ogr_ftype == OFTIntegerList
+#if GDAL_VERSION_NUM >= 2000000
+                                 || Ogr_ftype == OFTInteger64List
+#endif
+                                 ) {
+			    sprintf(buf, ", NULL");
 			}
 			else {
 			    /* column type not supported */
diff --git a/vector/v.net.centrality/v.net.centrality.html b/vector/v.net.centrality/v.net.centrality.html
index dd40583..b4423e3 100644
--- a/vector/v.net.centrality/v.net.centrality.html
+++ b/vector/v.net.centrality/v.net.centrality.html
@@ -21,7 +21,7 @@ Betweenness measure is not normalised. In order to get the normalised
 values (between 0 and 1), each number needs to be divided by <em>N 
 choose 2=N*(N-1)/2</em> where N is the number of nodes in the 
 connected component. Computation of eigenvector measure terminates 
-if the given number of iterations is reached or the cummulative <em>
+if the given number of iterations is reached or the cumulative <em>
 squared</em> error between the successive iterations is less than <b>
 error</b>.
 
@@ -46,4 +46,4 @@ v.net.centrality input=roads output=roads_cent closeness=closeness \
 Daniel Bundala, Google Summer of Code 2009, Student<br>
 Wolf Bergenheim, Mentor
 
-<p><i>Last changed: $Date: 2013-05-23 21:59:24 +0200 (Thu, 23 May 2013) $</i>
+<p><i>Last changed: $Date: 2016-03-28 23:23:07 +0200 (Mon, 28 Mar 2016) $</i>
diff --git a/vector/v.net.components/main.c b/vector/v.net.components/main.c
index 9a1d6dd..bf39b38 100644
--- a/vector/v.net.components/main.c
+++ b/vector/v.net.components/main.c
@@ -4,6 +4,7 @@
  * MODULE:     v.net.components
  *
  * AUTHOR(S):  Daniel Bundala
+ *             Markus Metz
  *
  * PURPOSE:    Computes strongly and weakly connected components
  *
@@ -54,7 +55,7 @@ int main(int argc, char *argv[])
     int with_z;
     int afield, nfield, mask_type;
     dglGraph_s *graph;
-    int *component, nnodes, type, i, nlines, components, j, max_cat;
+    int *component, nnodes, type, i, nlines, components, max_cat;
     char buf[2000], *covered;
     char *desc;
 
@@ -158,7 +159,7 @@ int main(int argc, char *argv[])
     nfield = Vect_get_field_number(&In, nfield_opt->answer);
 
     if (0 != Vect_net_build_graph(&In, mask_type, afield, nfield, afcol->answer,
-                                  abcol->answer, ncol->answer, 0, 0))
+                                  abcol->answer, ncol->answer, 0, 2))
         G_fatal_error(_("Unable to build graph for vector map <%s>"), Vect_get_full_name(&In));
 
     graph = Vect_net_get_graph(&In);
@@ -198,21 +199,30 @@ int main(int argc, char *argv[])
 
     db_begin_transaction(driver);
 
-    if (method_opt->answer[0] == 'w')
+    if (method_opt->answer[0] == 'w') {
+	G_message(_("Computing weakly connected components..."));
 	components = NetA_weakly_connected_components(graph, component);
-    else
+    }
+    else {
+	G_message(_("Computing strongly connected components..."));
 	components = NetA_strongly_connected_components(graph, component);
+    }
 
     G_debug(3, "Components: %d", components);
 
+    G_message(_("Writing output..."));
+
     Vect_copy_head_data(&In, &Out);
     Vect_hist_copy(&In, &Out);
     Vect_hist_command(&Out);
 
     nlines = Vect_get_num_lines(&In);
+    max_cat = 1;
+    G_percent(0, nlines, 4);
     for (i = 1; i <= nlines; i++) {
 	int comp, cat;
 
+	G_percent(i, nlines, 4);
 	type = Vect_read_line(&In, Points, Cats, i);
 	if (!Vect_cat_get(Cats, afield, &cat))
 	    continue;
@@ -232,29 +242,23 @@ int main(int argc, char *argv[])
 
 	    /* Vect_get_line_nodes(&In, i, &node, NULL); */
 	    node = Vect_find_node(&In, Points->x[0], Points->y[0], Points->z[0], 0, 0);
+	    if (!node)
+		continue;
 	    comp = component[node];
 	    covered[node] = 1;
 	}
 	else
 	    continue;
+	
+	cat = max_cat++;
+	Vect_reset_cats(Cats);
+	Vect_cat_set(Cats, 1, cat);
 	Vect_write_line(&Out, type, Points, Cats);
 	insert_new_record(driver, Fi, &sql, cat, comp);
-	/*        for(j=0;j<Cats->n_cats;j++)
-	 * if(Cats->field[j] == layer)
-	 * insert_new_record(driver, Fi, &sql, Cats->cat[j], comp);
-	 */
-    };
+    }
+
     /*add points on nodes not covered by any point in the network */
-    /*find the maximum cat number */
     if (add_f->answer) {
-	max_cat = 0;
-	for (i = 1; i <= nlines; i++) {
-	    Vect_read_line(&In, NULL, Cats, i);
-	    for (j = 0; j < Cats->n_cats; j++)
-		if (Cats->cat[j] > max_cat)
-		    max_cat = Cats->cat[j];
-	}
-	max_cat++;
 	for (i = 1; i <= nnodes; i++)
 	    if (!covered[i]) {
 		Vect_reset_cats(Cats);
@@ -267,10 +271,12 @@ int main(int argc, char *argv[])
     db_commit_transaction(driver);
     db_close_database_shutdown_driver(driver);
 
-    Vect_build(&Out);
-
     Vect_close(&In);
+
+    Vect_build(&Out);
     Vect_close(&Out);
 
+    G_done_msg(_("Found %d components."), components);
+
     exit(EXIT_SUCCESS);
 }
diff --git a/vector/v.net.components/v.net.components.html b/vector/v.net.components/v.net.components.html
index c5a3743..99ebe25 100644
--- a/vector/v.net.components/v.net.components.html
+++ b/vector/v.net.components/v.net.components.html
@@ -4,22 +4,28 @@
 components in a network.
 
 <h2>NOTES</h2>
-Two nodes, <em>u</em> and <em>v</em> are in the same strongly 
-connected component if there are directed paths from <em>u</em> to 
-<em>v</em> and from <em>v</em> to <em>u</em>. The nodes are in the 
-same weakly connected component if, ignoring orientation of the 
-edges, there is a path between them.
-<br>
-
+Two nodes, <em>u</em> and <em>v</em> are in the same strongly connected 
+component if there are directed paths from <em>u</em> to <em>v</em> and 
+from <em>v</em> to <em>u</em>. The nodes are in the same weakly 
+connected component if, ignoring edge directions, there is a path 
+between them.
+<p>
 The type of components is specified by <b>method</b> parameter. 
-<em>v.net.components</em> creates a table and links it to the given <b>layer</b>.
-This table contains only two integer columns: <em>cat</em> and <em>comp
-</em>. If a point or both endpoints of a line belong to the same 
-component then the point/line is written to the output map and 
+<em>v.net.components</em> creates a table and links it to layer 1. This 
+table contains only two integer columns: <em>cat</em> and 
+<em>comp</em>. If a point or both endpoints of a line belong to the 
+same component then the point/line is written to the output map and 
 appropriate information is stored in the table. If <b>-a</b> flag is 
-set then new points are added on the nodes without points. These 
-points have category numbers larger than any category used in the 
-input map.
+set then new points are added on the nodes without points. These points 
+have category numbers larger than any category used in the input map.
+<p>
+One-way roads can be defined by assigning a cost of -1 to the 
+appropriate cost column (<b>arc_column</b> or 
+<b>arc_backward_column</b>. This affects only strongly connected 
+components. Network nodes can be closed by assigning a cost of -1 to 
+the node cost column. All nodes with a cost < 0 can not be traversed 
+and are end points, while all nodes with a cost ≥ 0 can be traversed. 
+This affects both weakly and strongly connected components.
 
 <h2>EXAMPLES</h2>
 
@@ -39,6 +45,7 @@ v.net.components input=roads output=roads_components method=strong
 <h2>AUTHORS</h2>
 
 Daniel Bundala, Google Summer of Code 2009, Student<br>
-Wolf Bergenheim, Mentor
+Wolf Bergenheim, Mentor<br>
+Markus Metz
 
-<p><i>Last changed: $Date: 2013-05-23 21:59:24 +0200 (Thu, 23 May 2013) $</i>
+<p><i>Last changed: $Date: 2016-03-08 21:57:06 +0100 (Tue, 08 Mar 2016) $</i>
diff --git a/vector/v.net.distance/main.c b/vector/v.net.distance/main.c
index 0bd04ac..e16420a 100644
--- a/vector/v.net.distance/main.c
+++ b/vector/v.net.distance/main.c
@@ -29,26 +29,28 @@
 int main(int argc, char *argv[])
 {
     struct Map_info In, Out;
-    static struct line_pnts *Points;
+    static struct line_pnts *Points, *PPoints;
     struct line_cats *Cats, *TCats;
+    struct ilist *slist;
     struct GModule *module;	/* GRASS module for parsing arguments */
     struct Option *map_in, *map_out;
     struct Option *catf_opt, *fieldf_opt, *wheref_opt;
     struct Option *catt_opt, *fieldt_opt, *wheret_opt, *typet_opt;
     struct Option *afield_opt, *nfield_opt, *abcol, *afcol, *ncol, *atype_opt;
-    struct Flag *geo_f;
-    int with_z, geo;
+    struct Flag *geo_f, *segments_f;
+    int with_z, geo, segments;
     int atype, ttype;
     struct varray *varrayf, *varrayt;
     int flayer, tlayer;
     int afield, nfield;
     dglGraph_s *graph;
     struct ilist *nodest;
-    int i, nnodes, nlines;
+    int i, j, nnodes, nlines;
     int *dst, *nodes_to_features;
     int from_nr;			/* 'from' features not reachable */
-    dglInt32_t **prev;
+    dglInt32_t **nxt;
     struct line_cats **on_path;
+    char *segdir;
     char buf[2000];
 
     /* Attribute table */
@@ -156,6 +158,17 @@ int main(int argc, char *argv[])
     geo_f->description =
 	_("Use geodesic calculation for longitude-latitude locations");
 
+    segments_f = G_define_flag();
+#if 0
+    /* use this to sync with v.net.path */
+    segments_f->key = 's';
+    segments_f->description = _("Write output as original input segments, "
+				"not each path as one line.");
+#else
+    segments_f->key = 'l';
+    segments_f->description = _("Write each output path as one line, "
+				"not as original input segments.");
+#endif
 
     /* options and flags parser */
     if (G_parser(argc, argv))
@@ -165,8 +178,10 @@ int main(int argc, char *argv[])
     ttype = Vect_option_to_types(typet_opt);
 
     Points = Vect_new_line_struct();
+    PPoints = Vect_new_line_struct();
     Cats = Vect_new_cats_struct();
     TCats = Vect_new_cats_struct();
+    slist = G_new_ilist();
 
     Vect_check_input_output_name(map_in->answer, map_out->answer,
 				 G_FATAL_EXIT);
@@ -192,20 +207,30 @@ int main(int argc, char *argv[])
     else
 	geo = 0;
 
+#if 0
+    /* use this to sync with v.net.path */
+    segments = segments_f->answer;
+#else
+    segments = !segments_f->answer;
+#endif
 
     nnodes = Vect_get_num_nodes(&In);
     nlines = Vect_get_num_lines(&In);
 
     dst = (int *)G_calloc(nnodes + 1, sizeof(int));
-    prev = (dglInt32_t **) G_calloc(nnodes + 1, sizeof(dglInt32_t *));
+    nxt = (dglInt32_t **) G_calloc(nnodes + 1, sizeof(dglInt32_t *));
     nodes_to_features = (int *)G_calloc(nnodes + 1, sizeof(int));
     on_path =
 	(struct line_cats **)G_calloc(nlines + 1, sizeof(struct line_cats *));
-    if (!dst || !prev || !nodes_to_features || !on_path)
+    segdir = (char *)G_calloc(nlines + 1, sizeof(char));
+
+    if (!dst || !nxt || !nodes_to_features || !on_path || !segdir)
 	G_fatal_error(_("Out of memory"));
 
-    for (i = 1; i <= nlines; i++)
+    for (i = 1; i <= nlines; i++) {
 	on_path[i] = Vect_new_cats_struct();
+	segdir[i] = 0;
+    }
 
     /*initialise varrays and nodes list appropriatelly */
     afield = Vect_get_field_number(&In, afield_opt->answer);
@@ -235,11 +260,14 @@ int main(int argc, char *argv[])
 	G_fatal_error(_("No 'to' features"));
     
     if (0 != Vect_net_build_graph(&In, atype, afield, nfield, afcol->answer, abcol->answer,
-                                   ncol->answer, geo, 0))
+                                   ncol->answer, geo, 2))
         G_fatal_error(_("Unable to build graph for vector map <%s>"), Vect_get_full_name(&In));
 
     graph = Vect_net_get_graph(&In);
-    NetA_distance_from_points(graph, nodest, dst, prev);
+
+    G_message(_("Distances to 'to' features ..."));
+
+    NetA_distance_to_points(graph, nodest, dst, nxt);
 
     /* Create table */
     Fi = Vect_default_field_info(&Out, 1, NULL, GV_1TABLE);
@@ -276,6 +304,7 @@ int main(int argc, char *argv[])
     Vect_hist_copy(&In, &Out);
     Vect_hist_command(&Out);
 
+    G_message(_("Tracing paths from 'from' features ..."));
     from_nr = 0;
     for (i = 1; i <= nlines; i++) {
 	if (varrayf->c[i]) {
@@ -303,11 +332,21 @@ int main(int argc, char *argv[])
 	    cost = dst[node] / (double)In.dgraph.cost_multip;
 	    vertex = dglGetNode(graph, node);
 	    vertex_id = node;
-	    while (prev[vertex_id] != NULL) {
-		Vect_cat_set(on_path
-			     [abs(dglEdgeGet_Id(graph, prev[vertex_id]))], 1,
-			     cat);
-		vertex = dglEdgeGet_Head(graph, prev[vertex_id]);
+	    slist->n_values = 0;
+	    while (nxt[vertex_id] != NULL) {
+		int edge_id;
+
+		edge_id = (int) dglEdgeGet_Id(graph, nxt[vertex_id]);
+		if (segments) {
+		    Vect_cat_set(on_path[abs(edge_id)], 1, cat);
+		    if (edge_id < 0) {
+			segdir[abs(edge_id)] = 1;
+		    }
+		}
+		else
+		    G_ilist_add(slist, edge_id);
+
+		vertex = dglEdgeGet_Tail(graph, nxt[vertex_id]);
 		vertex_id = dglNodeGet_Id(graph, vertex);
 	    }
 	    G_debug(3, "read line %d, vertex id %d", nodes_to_features[vertex_id], (int)vertex_id);
@@ -318,22 +357,51 @@ int main(int argc, char *argv[])
 	    Vect_write_line(&Out, type, Points, Cats);
 	    sprintf(buf, "insert into %s values (%d, %d, %f)", Fi->table, cat,
 		    tcat, cost);
-
 	    db_set_string(&sql, buf);
 	    G_debug(3, "%s", db_get_string(&sql));
 	    if (db_execute_immediate(driver, &sql) != DB_OK) {
 		G_fatal_error(_("Cannot insert new record: %s"),
 			      db_get_string(&sql));
 	    };
+
+	    if (!segments) {
+		Vect_reset_line(PPoints);
+		for (j = 0; j < slist->n_values; j++) {
+		    Vect_read_line(&In, Points, NULL, abs(slist->value[j]));
+		    if (slist->value[j] > 0)
+			Vect_append_points(PPoints, Points,
+					   GV_FORWARD);
+		    else
+			Vect_append_points(PPoints, Points,
+					   GV_BACKWARD);
+		    PPoints->n_points--;
+		}
+		PPoints->n_points++;
+		Vect_reset_cats(Cats);
+		Vect_cat_set(Cats, 1, cat);
+		Vect_write_line(&Out, GV_LINE, PPoints, Cats);
+	    }
+
 	}
     }
 
-    for (i = 1; i <= nlines; i++)
-	if (on_path[i]->n_cats > 0) {
-	    int type = Vect_read_line(&In, Points, NULL, i);
-
-	    Vect_write_line(&Out, type, Points, on_path[i]);
+    if (segments) {
+	for (i = 1; i <= nlines; i++) {
+	    if (on_path[i]->n_cats > 0) {
+		int type; 
+		
+		if (segdir[i]) {
+		    type = Vect_read_line(&In, PPoints, NULL, i);
+		    Vect_reset_line(Points);
+		    Vect_append_points(Points, PPoints, GV_BACKWARD);
+		}
+		else
+		    type = Vect_read_line(&In, Points, NULL, i);
+
+		Vect_write_line(&Out, type, Points, on_path[i]);
+	    }
 	}
+    }
 
     db_commit_transaction(driver);
     db_close_database_shutdown_driver(driver);
@@ -348,7 +416,8 @@ int main(int argc, char *argv[])
     G_free(on_path);
     G_free(nodes_to_features);
     G_free(dst);
-    G_free(prev);
+    G_free(nxt);
+    G_free(segdir);
 
     if (from_nr)
 	G_warning(n_("%d 'from' feature was not reachable",
diff --git a/vector/v.net.distance/v.net.distance.html b/vector/v.net.distance/v.net.distance.html
index b8d86d3..2531109 100644
--- a/vector/v.net.distance/v.net.distance.html
+++ b/vector/v.net.distance/v.net.distance.html
@@ -13,19 +13,22 @@ containing various information about the relation. More
 specifically, the table has three columns: <em>cat</em>, <em>tcat</em>
 and <em>dist</em> storing category of each <em>from</em> 
 feature, category of the nearest <em>to</em> feature and the 
-distance between them respectively. Furthemore, <b>output</b> map 
-contains the shorest path between each <em>cat</em>, <em>tcat</em> 
-pair. Each path consist of several lines. If a line is on the 
-shorest path from a point then the category of this point is 
-assigned to the line. Note that every line may contain more than one 
-category value since a single line may be on the shortest path for 
-more than one <em>from</em> feature. And so the shortest paths can 
-be easily obtained by querying lines with corresponding category 
-number.
-<br>
+distance between them respectively.
+<p>
+Furthemore, the <b>output</b> map contains the shortest path between 
+each <em>cat</em>, <em>tcat</em> pair. Each path consists of several 
+lines. If a line is on the shortest path from a point then the category 
+of this point is assigned to the line. Note that every line may contain 
+more than one category value since a single line may be on the shortest 
+path for more than one <em>from</em> feature. And so the shortest paths 
+can be easily obtained by querying lines with corresponding category 
+number. Alternatively, unique paths can be created with the <em>-l</em> 
+flag where each path will be a separate single line in the output.
+<p>
 The costs of arcs in forward and backward direction are specified by 
-<b>arc_column</b> and <b>arc_backward_column</b> columns respectively. If
-<b>arc_backward_column</b> is not given, the same cost is used in both directions.  
+<b>arc_column</b> and <b>arc_backward_column</b> columns respectively. 
+If <b>arc_backward_column</b> is not given, the same cost is used in 
+both directions.  
 <p>
 <em>v.net.distance</em> will not work if you are trying to find the 
 nearest neighbors within a group of nodes, i.e. where <em>to</em> 
@@ -62,7 +65,7 @@ v.net input=streets_net1 points=hospitals output=streets_net2 \
 v.category in=streets_net2 op=report
 
 # shortest paths from schools (points in layer 2) to nearest hospitals (points in layer 3)
-v.net.distance in=streets_net2 out=schools_to_hospitals flayer=2 turn_layer=3
+v.net.distance in=streets_net2 out=schools_to_hospitals flayer=2 to_layer=3
 </pre></div>
 
 <h3>Distance between point source of pollution and sample points along streams</h3>
@@ -157,4 +160,4 @@ Daniel Bundala, Google Summer of Code 2009, Student<br>
 Wolf Bergenheim, Mentor<br>
 Markus Metz
 
-<p><i>Last changed: $Date: 2015-12-14 13:56:17 +0100 (Mon, 14 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2016-03-08 21:57:06 +0100 (Tue, 08 Mar 2016) $</i>
diff --git a/vector/v.net.spanningtree/v.net.spanningtree.html b/vector/v.net.spanningtree/v.net.spanningtree.html
index 8fb377a..b768ac3 100644
--- a/vector/v.net.spanningtree/v.net.spanningtree.html
+++ b/vector/v.net.spanningtree/v.net.spanningtree.html
@@ -4,15 +4,16 @@
 network. 
 
 <h2>NOTES</h2>
-A spanning tree is a minimum cost subnetwork connecting all nodes in a 
-network. Or, if a network is disconnected then the module computes 
-the minimum spanning tree for each (weakly) connected component. So, 
-strictly speaking, <em>v.net.spanningtree</em> does not compute spanning tree
-but a spanning forest. As the name suggests, a spanning tree is a tree. That 
-is, it contains no cycles and if a component has N nodes then the 
-tree has N-1 edges connecting all nodes. <b>Accol</b> is used to 
-specify the costs of the edges. The <b>output</b> consists of the 
-edges in the spanning tree.
+A spanning tree is a minimum cost subnetwork connecting all nodes in an 
+undirected network (same forward and backward costs). If a network is 
+disconnected then the module computes the minimum spanning tree for 
+each (weakly) connected component. So, strictly speaking, 
+<em>v.net.spanningtree</em> does not compute spanning tree but a 
+spanning forest. As the name suggests, a spanning tree is a tree. That 
+is, it contains no cycles and if a component has N nodes then the tree 
+has N-1 edges connecting all nodes. <b>Accol</b> is used to specify the 
+costs of the edges. The <b>output</b> consists of the edges in the 
+spanning tree.
 
 <h2>EXAMPLES</h2>
 
@@ -33,4 +34,4 @@ v.net.spanningtree input=projected_pipelines output=spanningtree accol=cost
 Daniel Bundala, Google Summer of Code 2009, Student<br>
 Wolf Bergenheim, Mentor
 
-<p><i>Last changed: $Date: 2013-05-23 21:59:24 +0200 (Thu, 23 May 2013) $</i>
+<p><i>Last changed: $Date: 2016-03-08 22:04:26 +0100 (Tue, 08 Mar 2016) $</i>
diff --git a/vector/v.net.steiner/main.c b/vector/v.net.steiner/main.c
index 2e13dc4..bab002b 100644
--- a/vector/v.net.steiner/main.c
+++ b/vector/v.net.steiner/main.c
@@ -448,7 +448,7 @@ int main(int argc, char **argv)
 	if (!(Vect_cat_get(Cats, tfield, &cat)))
 	    continue;
 	if (Vect_cat_in_cat_list(cat, Clist)) {
-	    Vect_list_append(TList, i);
+	    Vect_list_append(TList, node);
 	}
     }
 
diff --git a/vector/v.out.dxf/v.out.dxf.html b/vector/v.out.dxf/v.out.dxf.html
index 2946392..88249b2 100644
--- a/vector/v.out.dxf/v.out.dxf.html
+++ b/vector/v.out.dxf/v.out.dxf.html
@@ -26,4 +26,4 @@ wrote original <em>v.out.dxf</em> program in 4/89.
 <p>Update to GRASS 5.7 Radim Blazek, 10/2004
 
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/vector/v.out.ogr/export_areas.c b/vector/v.out.ogr/export_areas.c
index 1af05f9..ed4dd6a 100644
--- a/vector/v.out.ogr/export_areas.c
+++ b/vector/v.out.ogr/export_areas.c
@@ -77,7 +77,7 @@ int export_areas_single(struct Map_info *In, int field, int donocat,
                        * not labeled */
         }
         
-        /* find correspoding area */
+        /* find corresponding area */
         area = Vect_get_centroid_area(In, centroid);
         if (area == 0)
             continue;
@@ -184,7 +184,7 @@ int export_areas_multi(struct Map_info *In, int field, int donocat,
                                 "Category %d not found in line %d, field %d"),
                               cat, line, field);
             
-            /* find correspoding area */
+            /* find corresponding area */
             area = Vect_get_centroid_area(In, line);
             if (area == 0)
                 continue;
@@ -241,7 +241,7 @@ int export_areas_multi(struct Map_info *In, int field, int donocat,
                        * not labeled */
         }
 
-        /* find correspoding area */
+        /* find corresponding area */
 	line = Vect_get_next_line_id(In);
         area = Vect_get_centroid_area(In, line);
         if (area == 0)
diff --git a/vector/v.out.svg/v.out.svg.html b/vector/v.out.svg/v.out.svg.html
index 9985844..d68a433 100644
--- a/vector/v.out.svg/v.out.svg.html
+++ b/vector/v.out.svg/v.out.svg.html
@@ -46,4 +46,4 @@ v.out.svg input=archsites output=/tmp/output.svg type=point precision=0 attrib=s
 
 Klaus Foerster (klaus svg.cc), Innsbruck, Austria
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/vector/v.patch/v.patch.html b/vector/v.patch/v.patch.html
index 63c9d28..9cd5894 100644
--- a/vector/v.patch/v.patch.html
+++ b/vector/v.patch/v.patch.html
@@ -59,4 +59,4 @@ Research Laboratory
 <br>
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/vector/v.perturb/v.perturb.html b/vector/v.perturb/v.perturb.html
index 46af3bb..2b85378 100644
--- a/vector/v.perturb/v.perturb.html
+++ b/vector/v.perturb/v.perturb.html
@@ -39,4 +39,4 @@ current geographic region.
 <p>Random number generators originally written in FORTRAN by Wes Peterson and
 translated to C using <i>f2c</i>.
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/vector/v.proj/main.c b/vector/v.proj/main.c
index bf07a23..1ff8f00 100644
--- a/vector/v.proj/main.c
+++ b/vector/v.proj/main.c
@@ -67,6 +67,7 @@ int main(int argc, char *argv[])
     G_add_keyword(_("vector"));
     G_add_keyword(_("projection"));
     G_add_keyword(_("transformation"));
+    G_add_keyword(_("import"));
     module->description = _("Re-projects a vector map from one location to the current location.");
 
     /* set up the options and flags for the command line parser */
diff --git a/vector/v.proj/v.proj.html b/vector/v.proj/v.proj.html
index 097b8dc..6ab67b9 100644
--- a/vector/v.proj/v.proj.html
+++ b/vector/v.proj/v.proj.html
@@ -22,6 +22,10 @@ If <b>dbase</b> is not specified it is assumed to be the current
 database. The user only has to specify <b>dbase</b> if the source
 location is stored in another separate GRASS database.
 
+<br>
+If <b>smax</b> is set to <b>0</b> the automated vertex densification is
+disabled (not recommended).
+
 <p>
 <em>v.proj</em> supports general datum transformations, making use of the
 <em>PROJ.4</em> co-ordinate system translation library.
@@ -33,12 +37,12 @@ at 180E/W. In this case wrapping of east coordinates to -180,180 needs
 to be disabled with the <b>-w</b> flag.
 
 <p>
-In order to preserve spatial detail, it is recommended to densify linear 
-features with <em><a href="v.split.html">v.split</a></em> before 
-reprojecting. Depending on the source and target CRS 
-(Coordinate Reference System), geometries can be substantially 
-deformed (straight lines become curves, squares become trapezoids, etc). 
-In these cases densification of linear features can help to avoid 
+In order to preserve spatial detail, <em>v.proj</em> performs automated
+vertex densification (as an alternative, <em><a href="v.split.html">v.split</a></em>
+could be used before reprojecting. Without vertex densification, depending on
+the source and target CRS (Coordinate Reference System), geometries can be
+substantially deformed (straight lines become curves, squares become
+trapezoids, etc). The densification of linear features can help to avoid 
 topological errors.
 
 <h2>EXAMPLES</h2>
@@ -93,4 +97,4 @@ M.L. Holko, USDA, SCS, NHQ-CGIS
 <br>
 R.L. Glenn, USDA, SCS, NHQ-CGIS
 
-<p><i>Last changed: $Date: 2015-09-12 11:03:45 +0200 (Sat, 12 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2016-02-07 23:29:22 +0100 (Sun, 07 Feb 2016) $</i>
diff --git a/vector/v.rectify/v.rectify.html b/vector/v.rectify/v.rectify.html
index 3f9fe7e..83e4832 100644
--- a/vector/v.rectify/v.rectify.html
+++ b/vector/v.rectify/v.rectify.html
@@ -9,7 +9,7 @@ system than before it was rectified).
 <p>
 The <em>-o</em> flag enforces orthogonal rotation (currently for 3D only) 
 where the axes remain orthogonal to each other, e.g. a cube with right 
-angles remains a cube with right angles after tranformation. This is not 
+angles remains a cube with right angles after transformation. This is not 
 guaranteed even with affine (1<sup>st</sup> order) 3D transformation.
 
 <p>
@@ -128,4 +128,4 @@ Markus Metz
 based on <a href="i.rectify.html">i.rectify</a>
 
 
-<p><i>Last changed: $Date: 2014-11-02 21:55:12 +0100 (Sun, 02 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2016-01-29 10:56:07 +0100 (Fri, 29 Jan 2016) $</i>
diff --git a/vector/v.select/main.c b/vector/v.select/main.c
index cfe07a1..94686e2 100644
--- a/vector/v.select/main.c
+++ b/vector/v.select/main.c
@@ -33,6 +33,7 @@ int main(int argc, char *argv[])
     int itype[2], ifield[2];
 
     int *ALines; /* List of lines: 0 do not output, 1 - write to output */
+    int *AAreas; /* List of areas: 0 do not output, 1 - write area boundaries to output */
     int **cats, *ncats, *fields, nfields;
     
     struct GModule *module;
@@ -112,6 +113,9 @@ int main(int argc, char *argv[])
 
     /* Alloc space for input lines array */
     ALines = (int *)G_calloc(Vect_get_num_lines(&(In[0])) + 1, sizeof(int));
+    AAreas = NULL;
+    if (flag.reverse->answer)
+	AAreas = (int *)G_calloc(Vect_get_num_areas(&(In[0])) + 1, sizeof(int));
 
     /* Read field info */
     IFi = Vect_get_field(&(In[0]), ifield[0]);
@@ -133,13 +137,13 @@ int main(int argc, char *argv[])
                  &(In[1]), itype[1], ifield[1],
                  flag.cat->answer ? 1 : 0, operator,
                  parm.relate->answer,
-                 ALines, nskipped);
+                 ALines, AAreas, nskipped);
 #else
     select_lines(&(In[0]), itype[0], ifield[0],
                  &(In[1]), itype[1], ifield[1],
                  flag.cat->answer ? 1 : 0, operator,
                  NULL,
-                 ALines, nskipped);
+                 ALines, AAreas, nskipped);
 #endif
     
 #ifdef HAVE_GEOS
@@ -159,7 +163,7 @@ int main(int argc, char *argv[])
 	Vect_copy_map_dblinks(&(In[0]), &Out, TRUE);
     }
     
-    write_lines(&(In[0]), IFi, ALines,
+    write_lines(&(In[0]), IFi, ALines, AAreas,
 		&Out, flag.table->answer ? 1 : 0, flag.reverse->answer ? 1 : 0,
 		nfields, fields, ncats, cats);
 
diff --git a/vector/v.select/overlap.c b/vector/v.select/overlap.c
index fd2a069..2e8c2d3 100644
--- a/vector/v.select/overlap.c
+++ b/vector/v.select/overlap.c
@@ -6,7 +6,7 @@
 #include "proto.h"
 
 /* Add all elements of area A to the list */
-void add_aarea(struct Map_info *In, int aarea, int *ALines)
+void add_aarea(struct Map_info *In, int aarea, int *ALines, int *AAreas)
 {
     int i, j, aline, naisles, aisle, acentroid;
     static struct ilist *BoundList = NULL;
@@ -34,6 +34,8 @@ void add_aarea(struct Map_info *In, int aarea, int *ALines)
 	    ALines[aline] = 1;
 	}
     }
+    if (AAreas)
+	AAreas[aarea] = 1;
 }
 
 /* Returns 1 if line1 from Map1 overlaps area2 from Map2,
diff --git a/vector/v.select/proto.h b/vector/v.select/proto.h
index 05cfca8..2b53587 100644
--- a/vector/v.select/proto.h
+++ b/vector/v.select/proto.h
@@ -38,14 +38,14 @@ int area_relate_geos(struct Map_info *, const GEOSGeometry *,
 /* select.c */
 void select_lines(struct Map_info *, int, int,
                   struct Map_info *, int, int,
-                  int, int, const char *, int *, int*);
+                  int, int, const char *, int *, int*, int*);
 
 /* overlap.c */
-void add_aarea(struct Map_info *, int, int *);
+void add_aarea(struct Map_info *, int, int *, int *);
 int line_overlap_area(struct line_pnts *, struct Map_info *, int);
 
 /* write.c */
-void write_lines(struct Map_info *, struct field_info *, int *,
+void write_lines(struct Map_info *, struct field_info *, int *, int *,
 		 struct Map_info *, int, int,
 		 int, int *, int *, int **);
 #endif /* PROTO_H */
diff --git a/vector/v.select/select.c b/vector/v.select/select.c
index ebf2c6c..03e6051 100644
--- a/vector/v.select/select.c
+++ b/vector/v.select/select.c
@@ -9,7 +9,7 @@
 void select_lines(struct Map_info *aIn, int atype, int afield,
                   struct Map_info *bIn, int btype, int bfield,
                   int cat_flag, int operator, const char *relate,
-                  int *ALines, int* nskipped)
+                  int *ALines, int *AAreas, int* nskipped)
 {
     int i;
     int nalines, aline, ltype;
@@ -211,7 +211,7 @@ void select_lines(struct Map_info *aIn, int atype, int afield,
 #ifdef HAVE_GEOS
 			if(line_relate_geos(bIn, AGeom,
 					    bline, operator, relate)) {
-			    add_aarea(aIn, aarea, ALines);
+			    add_aarea(aIn, aarea, ALines, AAreas);
 			    break;
 			}
 #endif
@@ -220,7 +220,7 @@ void select_lines(struct Map_info *aIn, int atype, int afield,
 			Vect_read_line(bIn, BPoints, NULL, bline);
 
 			if (line_overlap_area(BPoints, aIn, aarea)) {
-			    add_aarea(aIn, aarea, ALines);
+			    add_aarea(aIn, aarea, ALines, AAreas);
 			    continue;
 			}
 		    }
@@ -310,7 +310,7 @@ void select_lines(struct Map_info *aIn, int atype, int afield,
 			}
 		    }
 		    if (found) {
-			add_aarea(aIn, aarea, ALines);
+			add_aarea(aIn, aarea, ALines, AAreas);
 			break;
 		    }
 		}
diff --git a/vector/v.select/write.c b/vector/v.select/write.c
index e95d658..f6426ab 100644
--- a/vector/v.select/write.c
+++ b/vector/v.select/write.c
@@ -2,6 +2,7 @@
 #include <grass/glocale.h>
 
 void write_lines(struct Map_info *In, struct field_info *IFi, int *ALines,
+                 int *AAreas,
 		 struct Map_info *Out, int table_flag, int reverse_flag,
 		 int nfields, int *fields, int *ncats, int **cats)
 {
@@ -27,11 +28,33 @@ void write_lines(struct Map_info *In, struct field_info *IFi, int *ALines,
     for (aline = 1; aline <= nalines; aline++) {
 	G_debug(3, "aline = %d ALines[aline] = %d", aline, ALines[aline]);
 	G_percent(aline, nalines, 2);
-	if ((!reverse_flag && !(ALines[aline])) ||
-	    (reverse_flag && ALines[aline]))
+	if ((!reverse_flag && !(ALines[aline])))
 	    continue;
 
 	atype = Vect_read_line(&(In[0]), APoints, ACats, aline);
+
+	if ((reverse_flag && ALines[aline])) {
+	    if (atype == GV_BOUNDARY && AAreas) {
+		int left, right, skipme;
+
+		skipme = 1;
+		Vect_get_line_areas(&(In[0]), aline, &left, &right);
+		if (left < 0)
+		    left = Vect_get_isle_area(&(In[0]), abs(left));
+		if (left > 0 && !AAreas[left])
+		    skipme = 0;
+		if (right < 0)
+		    right = Vect_get_isle_area(&(In[0]), abs(right));
+		if (right > 0 && !AAreas[right])
+		    skipme = 0;
+		if (skipme)
+		    continue;
+	    }
+	    else
+		continue;
+	}
+
+
 	Vect_write_line(Out, atype, APoints, ACats);
 
 	if (!table_flag && (IFi != NULL)) {
diff --git a/vector/v.split/v.split.html b/vector/v.split/v.split.html
index 68710a4..f02f42f 100644
--- a/vector/v.split/v.split.html
+++ b/vector/v.split/v.split.html
@@ -9,36 +9,42 @@ parameter.
 
 The examples are based on the North Carolina sample data location.
 
-<h3>Example 1: Inserting nodes to railroad map</h3>
+<h3>Example 1: Inserting nodes to railroad lines map</h3>
 
 <div class="code"><pre>
-# extract data for this example
-v.extract railroads out=myrr cats=1
+# extract one railroad line for this example
+v.extract input=railroads output=myrr cats=1
 
 # show line, category, direction (to find the beginning)
-d.vect myrr disp=shape,cat,dir
+g.region vector=myrr
+d.erase
+d.vect myrr display=shape,cat,dir
 
 # insert nodes at a distance not longer than 1000m
-v.split myrr out=mrr_split length=1000
-d.vect myrr_split disp=shape,topo
+v.split input=myrr output=myrr_split_1km length=1000
+
+d.vect myrr_split_1km display=shape,topo
 </pre></div>
 
-Note: In case the data is not a polyline, build polylines in second step, eg.:
+<p>
+Note: In case that the vector line data are not polylines,
+generate first polylines as the second step, eg.:
 
 <div class="code"><pre>
 # join segments into polyline
-v.build.polylines myrr out=myrr_poly
-v.category myrr_pol out=myrailroads option=add
+v.build.polylines input=myrr output=myrr_polylines
+# regenerate categories
+v.category input=myrr_polylines output=myrailroads option=add
 </pre></div>
 
-<h3>Example 2: Inserting vertices to railroad map</h3>
+<h3>Example 2: Inserting vertices to railroad lines map</h3>
 
 Note: first run the two steps from example 1.
 
 <div class="code"><pre>
 # insert vertices at a distance not longer than 1000m
-v.split -n myrr out=myrr_split length=1000
-d.vect myrr_split disp=shape,topo
+v.split -n input=myrr output=myrr_split length=1000
+d.vect myrr_split display=shape,topo
 </pre></div>
 
 
@@ -55,4 +61,4 @@ d.vect myrr_split disp=shape,topo
 
 Radim Blazek
 
-<p><i>Last changed: $Date: 2014-03-26 12:41:40 +0100 (Wed, 26 Mar 2014) $</i>
+<p><i>Last changed: $Date: 2016-03-10 18:03:32 +0100 (Thu, 10 Mar 2016) $</i>
diff --git a/vector/v.support/v.support.html b/vector/v.support/v.support.html
index 5e66414..d093270 100644
--- a/vector/v.support/v.support.html
+++ b/vector/v.support/v.support.html
@@ -24,4 +24,4 @@ v.info myvectmap
 
 Markus Neteler, Trento
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/vector/v.surf.bspline/v.surf.bspline.html b/vector/v.surf.bspline/v.surf.bspline.html
index 32e70ff..4839337 100644
--- a/vector/v.surf.bspline/v.surf.bspline.html
+++ b/vector/v.surf.bspline/v.surf.bspline.html
@@ -109,7 +109,7 @@ A bilinear spline interpolation will be done with a spline step length
 of 25 map units. An interpolated raster map will be created at the
 current region resolution.
 
-<h3>Estimation of lambda_i parameter with a cross validation proccess</h3>
+<h3>Estimation of lambda_i parameter with a cross validation process</h3>
 
 <div class="code"><pre>
 v.surf.bspline -c input=point_vector 
@@ -187,4 +187,4 @@ Maria Antonia Brovelli, Massimiliano Cannata, Ulisse Longoni, Mirko Reguzzoni<br
 Update for GRASS 6 and improvements: Roberto Antolin
 
 <p>
-<i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<i>Last changed: $Date: 2016-03-08 09:08:23 +0100 (Tue, 08 Mar 2016) $</i>
diff --git a/vector/v.to.db/areas.c b/vector/v.to.db/areas.c
index 53af3b9..199e898 100644
--- a/vector/v.to.db/areas.c
+++ b/vector/v.to.db/areas.c
@@ -40,7 +40,7 @@ int read_areas(struct Map_info *Map)
 	if ((options.option == O_COMPACT) || (options.option == O_FD) ||
 	    (options.option == O_PERIMETER)) {
 	    perimeter = Vect_get_area_perimeter(Map, area_num);
-	    if (G_projection() != PROJECTION_LL)
+	    if (G_projection() != PROJECTION_LL && G_projection() != PROJECTION_XY)
 		    perimeter = perimeter * G_database_units_to_meters_factor();
 	}
 
diff --git a/vector/v.to.points/v.to.points.html b/vector/v.to.points/v.to.points.html
index e3a6fe0..8710551 100644
--- a/vector/v.to.points/v.to.points.html
+++ b/vector/v.to.points/v.to.points.html
@@ -9,7 +9,7 @@ about <b>type</b> parameter.
 The output is a vector map with 2 layers. Layer 1 holds the category
 of the input features; all points created along the same line have the
 same category, equal to the category of that line. In layer 2 each
-point has it's unique category; other attributes stored in layer 2
+point has its unique category; other attributes stored in layer 2
 are <em>lcat</em> - the category of the input line and <em>along</em>
 - the distance from line's start.
 
@@ -84,18 +84,25 @@ the <b>-i</b> flag and set <b>dmax</b> so that:
  (length of input line / 2) <= <em>dmax</em> <= length of input line
 </pre></div>
 
-So if <b>dmax</b> is between 0.5x and 1.0x the line length, you will
+Hence, if <b>dmax</b> is between 0.5x and 1.0x the line length, you will
 always get points created at exactly the beginning, middle and end of
 the input line.
 
 <h2>EXAMPLE</h2>
 
-In this example, the 't_powerlines' vector lines map in the
-<a href="http://grass.osgeo.org/download/data6.php">Spearfish 6</a>
-location is used to create points along the input lines:
+In this example, the 'railroads' vector lines map of the North Carolina
+sample dataset is used to create points along the input lines:
 
 <div class="code"><pre>
-v.to.points in=t_powerlines out=t_powerlines_points dmax=120
+# The North Carolina data are metric.
+# 200m distance for nodes (maximum limit but not an exact distance)
+v.to.points railroads output=railroads_nodes use=node dmax=200
+
+# verify the two layers in the resulting map
+v.category railroads_nodes option=report
+
+# vector info
+v.info railroads_nodes
 </pre></div>
 
 <h2>SEE ALSO</h2>
@@ -114,4 +121,4 @@ Updated to GRASS 7 by Martin Landa, Czech Technical University in
 Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2014-11-28 16:46:08 +0100 (Fri, 28 Nov 2014) $</i></p>
+<i>Last changed: $Date: 2016-03-10 17:47:42 +0100 (Thu, 10 Mar 2016) $</i></p>
diff --git a/vector/v.transform/main.c b/vector/v.transform/main.c
index c5f20e9..0dd6e40 100644
--- a/vector/v.transform/main.c
+++ b/vector/v.transform/main.c
@@ -274,7 +274,7 @@ int main(int argc, char *argv[])
 	ztozero = 0;
 
     /* do the transformation */
-    G_important_message(_("Tranforming features..."));
+    G_important_message(_("Transforming features..."));
     transform_digit_file(&Old, &New,
 			 ztozero, swap_flag->answer, trans_params,
 			 columns_name, field);
diff --git a/vector/v.vect.stats/main.c b/vector/v.vect.stats/main.c
index dfe5579..d56e85b 100644
--- a/vector/v.vect.stats/main.c
+++ b/vector/v.vect.stats/main.c
@@ -39,7 +39,7 @@ static struct menu menu[] = {
     {c_sum, 0, "sum", "sum of values"},
     {c_ave, 1, "average", "average value"},
     {c_median, 0, "median", "median value"},
-    {c_mode, 0, "mode", "most frequently occuring value"},
+    {c_mode, 0, "mode", "most frequently occurring value"},
     {c_min, 0, "minimum", "lowest value"},
     {c_minx, 0, "min_cat", "category number of lowest value"},
     {c_max, 0, "maximum", "highest value"},
diff --git a/vector/v.what.rast/main.c b/vector/v.what.rast/main.c
index 940484b..370c008 100644
--- a/vector/v.what.rast/main.c
+++ b/vector/v.what.rast/main.c
@@ -74,6 +74,7 @@ int main(int argc, char *argv[])
     G_add_keyword(_("position"));
     G_add_keyword(_("querying"));
     G_add_keyword(_("attribute table"));
+    G_add_keyword(_("surface information"));
     module->description =
 	_("Uploads raster values at positions of vector points to the table.");
 
diff --git a/vector/v.what.rast3/main.c b/vector/v.what.rast3/main.c
index 27ff931..1342334 100644
--- a/vector/v.what.rast3/main.c
+++ b/vector/v.what.rast3/main.c
@@ -67,6 +67,7 @@ int main(int argc, char *argv[])
     G_add_keyword(_("position"));
     G_add_keyword(_("querying"));
     G_add_keyword(_("attribute table"));
+    G_add_keyword(_("surface information"));
     module->description =
 	_("Uploads 3D raster values at positions of vector points to the table.");
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/grass.git



More information about the Pkg-grass-devel mailing list