This is an automated email from the git hooks/post-receive script. sebastic pushed a commit to branch master in repository grass.
commit b9247edc09585cfa647cc2fc384a4eaa9a161338 Merge: 76a90b7 8526b9c Author: Bas Couwenberg <sebas...@xs4all.nl> Date: Fri Jan 26 11:27:30 2018 +0100 Merge branch 'experimental' CITING | 2 +- ChangeLog_7.2.2.gz | Bin 870174 -> 0 bytes ChangeLog_7.4.0RC2.gz | Bin 0 -> 881734 bytes Dockerfile | 17 +- INSTALL | 14 +- README | 25 +- README.debian | 77 - REQUIREMENTS.html | 6 +- config.guess | 77 +- config.sub | 33 +- configure | 896 +- configure.in | 3 +- db/db.connect/db.connect.html | 2 +- db/db.select/db.select.html | 4 +- db/drivers/odbc/fetch.c | 2 +- db/drivers/odbc/listtab.c | 2 +- db/drivers/odbc/table.c | 2 +- db/drivers/postgres/grass-pg.html | 4 +- db/drivers/sqlite/grass-sqlite.html | 2 +- debian/changelog | 36 + debian/control | 4 +- debian/copyright | 17 +- debian/gbp.conf | 2 +- debian/grass-core.dirs | 2 +- debian/grass-core.install | 18 +- debian/grass-core.links | 24 +- debian/grass-core.lintian-overrides | 2 + debian/grass-core.manpages | 2 +- debian/grass-dev.dirs | 6 +- debian/grass-dev.install | 4 +- debian/grass-dev.links | 2 +- debian/grass-doc.install | 4 +- debian/grass-doc.links | 2 +- debian/grass-gui.dirs | 2 +- debian/grass-gui.install | 4 +- debian/grass-gui.links | 4 +- debian/patches/appstream.patch | 15 - debian/patches/geos-c.patch | 27 - debian/patches/series | 2 - debian/patches/spelling-errors.patch | 366 +- debian/rules | 4 +- debian/watch | 2 +- debian/x-grass7 | 6 +- display/d.erase/d.erase.html | 2 +- display/d.extract/d.extract.html | 2 +- display/d.font/d.font.html | 2 +- display/d.fontlist/d.fontlist.html | 2 +- display/d.geodesic/d.geodesic.html | 2 +- display/d.grid/d.grid.html | 15 +- display/d.grid/d_grid_blue_grid.png | Bin 0 -> 53556 bytes display/d.grid/d_grid_red_grid.png | Bin 0 -> 44605 bytes display/d.histogram/d.histogram.html | 33 +- display/d.histogram/d_histogram_bar.png | Bin 0 -> 22089 bytes display/d.histogram/d_histogram_pie.png | Bin 0 -> 18120 bytes display/d.info/d.info.html | 2 +- display/d.labels/d.labels.html | 2 +- display/d.legend.vect/d.legend.vect.html | 2 +- display/d.legend/d.legend.html | 2 +- display/d.linegraph/Makefile | 4 +- display/d.linegraph/d.linegraph.html | 210 +- display/d.linegraph/linegraph.h | 7 +- display/d.linegraph/main.c | 970 +- display/d.mon/d.mon.html | 37 +- display/d.mon/d_mon_wx0.png | Bin 0 -> 14907 bytes display/d.mon/d_mon_wx0_raster.png | Bin 0 -> 268636 bytes display/d.mon/main.c | 12 + display/d.northarrow/d.northarrow.html | 2 +- display/d.rast.arrow/d.rast.arrow.html | 2 +- display/d.rast/d.rast.html | 34 +- display/d.rast/d_rast_elevation.png | Bin 0 -> 129675 bytes display/d.rast/d_rast_elevation_values.png | Bin 0 -> 11658 bytes display/d.rast/d_rast_landuse.png | Bin 0 -> 48254 bytes display/d.rgb/d.rgb.html | 8 +- display/d.rgb/d_rgb.png | Bin 0 -> 253922 bytes display/d.rhumbline/d.rhumbline.html | 2 +- display/d.title/d.title.html | 2 +- display/d.vect.thematic/area.c | 6 +- display/d.vect.thematic/d.vect.thematic.html | 4 +- display/d.vect.thematic/main.c | 39 +- display/d.vect/area.c | 6 +- display/d.vect/main.c | 18 +- display/d.vect/shape.c | 17 +- display/displaydrivers.html | 2 +- doc/grass_database.html | 9 +- doc/grass_gis_command_families.ods | Bin 0 -> 10917 bytes doc/howto_release.txt | 52 +- doc/infrastructure.txt | 7 +- doc/python/script/Makefile | 7 + doc/python/script/r.example.html | 18 + doc/python/script/r.example.py | 39 + doc/raster/r.example/r.example.html | 2 +- doc/vector/v.example/v.example.html | 2 +- general/g.access/g.access.html | 2 +- general/g.cairocomp/g.cairocomp.html | 2 +- general/g.dirseps/g.dirseps.html | 2 +- general/g.findfile/g.findfile.html | 4 +- general/g.list/main.c | 1 + general/g.mapset/g.mapset.html | 47 +- general/g.message/g.message.html | 52 +- general/g.parser/g.parser.html | 2 +- general/g.parser/revoke.c | 1 + general/g.pnmcomp/g.pnmcomp.html | 2 +- general/g.ppmtopng/g.ppmtopng.html | 2 +- general/g.proj/g.proj.html | 2 +- general/g.proj/input.c | 37 +- general/g.proj/local_proto.h | 2 +- general/g.proj/main.c | 2 +- general/g.proj/output.c | 4 +- general/g.region/g.region.html | 2 +- general/g.region/local_proto.h | 2 +- general/g.region/main.c | 59 +- general/g.region/printwindow.c | 387 +- general/g.setproj/g.setproj.html | 2 +- general/g.tempfile/g.tempfile.html | 2 +- general/g.version/g.version.html | 38 +- grasslib.dox | 10 +- gui/icons/grass.appdata.xml | 12 +- gui/icons/grass.desktop | 4 +- gui/images/symbols/README | 42 +- gui/images/symbols/basic/arrow.png | Bin 0 -> 484 bytes gui/images/symbols/basic/hexagon.png | Bin 0 -> 844 bytes gui/images/symbols/basic/pin.png | Bin 0 -> 764 bytes gui/images/symbols/basic/pin_dot.png | Bin 0 -> 849 bytes gui/wxpython/Makefile | 10 +- gui/wxpython/README | 4 +- gui/wxpython/animation/dialogs.py | 128 +- gui/wxpython/animation/frame.py | 24 +- gui/wxpython/animation/g.gui.animation.html | 2 +- gui/wxpython/animation/mapwindow.py | 7 +- gui/wxpython/core/gcmd.py | 4 +- gui/wxpython/core/giface.py | 3 +- gui/wxpython/core/globalvar.py | 37 +- gui/wxpython/core/menutree.py | 10 +- gui/wxpython/core/settings.py | 12 +- gui/wxpython/core/toolboxes.py | 21 +- gui/wxpython/core/treemodel.py | 26 +- gui/wxpython/core/utils.py | 11 +- gui/wxpython/core/workspace.py | 6 + gui/wxpython/datacatalog/__init__.py | 1 + gui/wxpython/datacatalog/catalog.py | 4 +- gui/wxpython/datacatalog/datacatalog.png | Bin 0 -> 48886 bytes gui/wxpython/datacatalog/dialogs.py | 181 + gui/wxpython/datacatalog/frame.py | 2 +- gui/wxpython/datacatalog/g.gui.datacatalog.html | 37 +- gui/wxpython/datacatalog/tree.py | 295 +- gui/wxpython/dbmgr/base.py | 173 +- gui/wxpython/dbmgr/dialogs.py | 46 +- gui/wxpython/dbmgr/g.gui.dbmgr.html | 6 +- gui/wxpython/dbmgr/manager.py | 23 +- gui/wxpython/dbmgr/sqlbuilder.py | 92 +- gui/wxpython/dbmgr/vinfo.py | 26 +- gui/wxpython/docs/wxGUI.components.html | 3 +- gui/wxpython/docs/wxGUI.html | 12 +- gui/wxpython/docs/wxGUI.rdigit.html | 79 + gui/wxpython/docs/wxGUI_rdigit_step1.png | Bin 0 -> 47514 bytes gui/wxpython/docs/wxGUI_rdigit_step2.png | Bin 0 -> 54006 bytes gui/wxpython/docs/wxGUI_rdigit_step3.png | Bin 0 -> 52974 bytes gui/wxpython/docs/wxGUI_rdigit_step4.png | Bin 0 -> 53322 bytes gui/wxpython/docs/wxGUI_rdigit_step5.png | Bin 0 -> 63705 bytes gui/wxpython/docs/wxgui_manual.gxw | 76 + gui/wxpython/gcp/g.gui.gcp.html | 2 +- gui/wxpython/gcp/manager.py | 154 +- gui/wxpython/gcp/statusbar.py | 4 +- gui/wxpython/gis_set.py | 219 +- gui/wxpython/gmodeler/dialogs.py | 84 +- gui/wxpython/gmodeler/frame.py | 72 +- gui/wxpython/gmodeler/g.gui.gmodeler.html | 18 +- gui/wxpython/gmodeler/model.py | 14 +- gui/wxpython/gmodeler/preferences.py | 174 +- gui/wxpython/gui_core/dialogs.py | 257 +- gui/wxpython/gui_core/forms.py | 239 +- gui/wxpython/gui_core/ghelp.py | 161 +- gui/wxpython/gui_core/goutput.py | 70 +- gui/wxpython/gui_core/gselect.py | 191 +- gui/wxpython/gui_core/mapdisp.py | 17 +- gui/wxpython/gui_core/menu.py | 95 +- gui/wxpython/gui_core/preferences.py | 286 +- gui/wxpython/gui_core/pyedit.py | 9 +- gui/wxpython/gui_core/query.py | 16 +- gui/wxpython/gui_core/simplelmgr.py | 8 +- gui/wxpython/gui_core/toolbars.py | 5 +- gui/wxpython/gui_core/treeview.py | 21 +- gui/wxpython/gui_core/widgets.py | 85 +- gui/wxpython/gui_core/wrap.py | 280 +- gui/wxpython/iclass/dialogs.py | 40 +- gui/wxpython/iclass/plots.py | 4 +- gui/wxpython/image2target/Makefile | 5 + gui/wxpython/image2target/__init__.py | 5 + gui/wxpython/image2target/g.gui.image2target.html | 318 + gui/wxpython/image2target/g.gui.image2target.py | 184 + gui/wxpython/image2target/ii2t_gis_set.py | 1185 + gui/wxpython/image2target/ii2t_gis_set_error.py | 38 + gui/wxpython/image2target/ii2t_manager.py | 3297 + gui/wxpython/image2target/ii2t_mapdisplay.py | 533 + gui/wxpython/image2target/ii2t_menustrings.py | 2063 + gui/wxpython/image2target/ii2t_statusbar.py | 128 + gui/wxpython/image2target/ii2t_toolbars.py | 163 + .../image2target/wxGUI_iimage2target_frame.jpg | Bin 0 -> 224432 bytes gui/wxpython/iscatt/dialogs.py | 58 +- gui/wxpython/iscatt/frame.py | 16 +- gui/wxpython/iscatt/plots.py | 2 +- gui/wxpython/lmgr/frame.py | 152 +- gui/wxpython/lmgr/layertree.py | 78 +- gui/wxpython/lmgr/menudata.py | 26 +- gui/wxpython/lmgr/pyshell.py | 17 +- gui/wxpython/location_wizard/dialogs.py | 68 +- gui/wxpython/location_wizard/wizard.py | 275 +- gui/wxpython/mapdisp/frame.py | 42 +- gui/wxpython/mapdisp/test_mapdisp.py | 18 +- gui/wxpython/mapswipe/dialogs.py | 26 +- gui/wxpython/mapswipe/mapwindow.py | 5 +- gui/wxpython/mapwin/base.py | 13 +- gui/wxpython/mapwin/buffered.py | 45 +- gui/wxpython/modules/colorrules.py | 80 +- gui/wxpython/modules/extensions.py | 40 +- gui/wxpython/modules/histogram.py | 3 +- gui/wxpython/modules/import_export.py | 79 +- gui/wxpython/modules/mcalc_builder.py | 244 +- gui/wxpython/modules/vclean.py | 54 +- gui/wxpython/nviz/mapwindow.py | 32 +- gui/wxpython/nviz/preferences.py | 266 +- gui/wxpython/nviz/tools.py | 652 +- gui/wxpython/nviz/wxnviz.py | 12 +- gui/wxpython/photo2image/Makefile | 5 + gui/wxpython/photo2image/__init__.py | 5 + gui/wxpython/photo2image/g.gui.photo2image.html | 69 + gui/wxpython/photo2image/g.gui.photo2image.py | 127 + gui/wxpython/photo2image/ip2i_manager.py | 2427 + gui/wxpython/photo2image/ip2i_mapdisplay.py | 532 + gui/wxpython/photo2image/ip2i_statusbar.py | 128 + gui/wxpython/photo2image/ip2i_toolbars.py | 163 + .../photo2image/wxGUI_iphoto2image_frame.jpg | Bin 0 -> 1245820 bytes gui/wxpython/psmap/dialogs.py | 215 +- gui/wxpython/psmap/frame.py | 18 +- gui/wxpython/rdigit/controller.py | 8 +- gui/wxpython/rdigit/toolbars.py | 6 +- gui/wxpython/rlisetup/frame.py | 32 +- gui/wxpython/rlisetup/wizard.py | 132 +- gui/wxpython/startup/__init__.py | 3 + gui/wxpython/startup/locdownload.py | 535 + gui/wxpython/tplot/frame.py | 14 +- gui/wxpython/vdigit/dialogs.py | 58 +- gui/wxpython/vdigit/mapwindow.py | 11 +- gui/wxpython/vdigit/preferences.py | 110 +- gui/wxpython/vdigit/toolbars.py | 3 +- gui/wxpython/vnet/dialogs.py | 148 +- gui/wxpython/vnet/toolbars.py | 3 +- gui/wxpython/vnet/widgets.py | 20 +- gui/wxpython/web_services/dialogs.py | 119 +- gui/wxpython/web_services/widgets.py | 46 +- gui/wxpython/wxgui.py | 21 +- gui/wxpython/wxplot/dialogs.py | 244 +- gui/wxpython/xml/menudata.README | 2 +- gui/wxpython/xml/module_tree.xml | 1 + gui/wxpython/xml/toolboxes.xml | 70 +- gui/wxpython/xml/wxgui_items.xml | 59 +- imagery/i.albedo/albedo_landsat5.png | Bin 0 -> 112297 bytes imagery/i.albedo/albedo_landsat7.png | Bin 0 -> 119162 bytes imagery/i.albedo/i.albedo.html | 38 +- imagery/i.atcorr/geomcond.cpp | 4 +- imagery/i.atcorr/geomcond.h | 2 + imagery/i.atcorr/i.atcorr.html | 28 +- imagery/i.atcorr/iwave.cpp | 1643 +- imagery/i.atcorr/iwave.h | 222 +- imagery/i.atcorr/sensors_csv/sentinel_2A_msi.csv | 2302 + imagery/i.cca/i.cca.html | 2 +- imagery/i.eb.evapfr/i.eb.evapfr.html | 2 +- imagery/i.emissivity/i.emissivity.html | 2 +- imagery/i.group/i.group.html | 2 +- imagery/i.landsat.acca/i.landsat.acca.html | 4 +- imagery/i.landsat.toar/i.landsat.toar.html | 4 +- imagery/i.modis.qc/i.modis.qc.html | 4 +- imagery/i.modis.qc/main.c | 169 +- imagery/i.modis.qc/mod09GAa.c | 22 + imagery/i.modis.qc/mod09GAc.c | 28 + imagery/i.modis.qc/mod09GAd.c | 18 + imagery/i.modis.qc/mod09GAe.c | 18 + imagery/i.modis.qc/mod09GAsa.c | 22 + imagery/i.modis.qc/mod09GAsb.c | 18 + imagery/i.modis.qc/mod09GAsc.c | 24 + imagery/i.modis.qc/mod09GAsd.c | 20 + imagery/i.modis.qc/mod09GAse.c | 20 + imagery/i.modis.qc/mod09GAsf.c | 18 + imagery/i.modis.qc/mod09GAsg.c | 18 + imagery/i.modis.qc/mod09GAsh.c | 18 + imagery/i.modis.qc/mod09GAsi.c | 18 + imagery/i.modis.qc/mod09GAsj.c | 18 + imagery/i.modis.qc/mod09GAsk.c | 18 + imagery/i.ortho.photo/Makefile | 6 +- .../i.ortho.camera/i.ortho.camera.html | 2 +- .../i.ortho.photo/i.ortho.elev/i.ortho.elev.html | 2 +- imagery/i.ortho.photo/i.ortho.elev/main.c | 144 +- .../i.ortho.photo/i.ortho.init/i.ortho.init.html | 6 +- imagery/i.ortho.photo/i.ortho.init/main.c | 22 +- imagery/i.ortho.photo/i.ortho.photo/Makefile | 12 + .../i.ortho.photo/i.ortho.photo/i.ortho.photo.html | 345 + .../i.ortho.photo/i_ortho_photo_step1.png | Bin 0 -> 148858 bytes .../i.ortho.photo/i_ortho_photo_step5.png | Bin 0 -> 118485 bytes .../i.ortho.photo/i_ortho_photo_step6.png | Bin 0 -> 3896 bytes .../i.ortho.photo/i_ortho_photo_step7.png | Bin 0 -> 102577 bytes .../i.ortho.photo/i_ortho_photo_step8.png | Bin 0 -> 98184 bytes imagery/i.ortho.photo/i.ortho.photo/menu.c | 131 + imagery/i.ortho.photo/i.ortho.rectify/Makefile | 4 +- imagery/i.ortho.photo/i.ortho.rectify/README | 1 + imagery/i.ortho.photo/i.ortho.rectify/angle.c | 8 +- imagery/i.ortho.photo/i.ortho.rectify/cp.c | 55 +- imagery/i.ortho.photo/i.ortho.rectify/defs.h | 7 + imagery/i.ortho.photo/i.ortho.rectify/equ.c | 50 +- imagery/i.ortho.photo/i.ortho.rectify/exec.c | 38 +- imagery/i.ortho.photo/i.ortho.rectify/get_wind.c | 53 +- imagery/i.ortho.photo/i.ortho.rectify/global.h | 3 - .../i.ortho.rectify/i.ortho.rectify.html | 2 +- .../i.ortho.photo/i.ortho.rectify/local_proto.h | 20 +- imagery/i.ortho.photo/i.ortho.rectify/main.c | 52 +- imagery/i.ortho.photo/i.ortho.rectify/readcell.c | 18 +- imagery/i.ortho.photo/i.ortho.rectify/rectify.c | 11 +- imagery/i.ortho.photo/i.ortho.rectify/report.c | 8 +- imagery/i.ortho.photo/i.ortho.rectify/target.c | 4 + imagery/i.ortho.photo/i.ortho.target/Makefile | 15 + .../i.ortho.target/i.ortho.target.html | 23 + imagery/i.ortho.photo/i.ortho.target/main.c | 85 + .../i.ortho.transform/i.ortho.transform.html | 6 +- imagery/i.ortho.photo/i.ortho.transform/main.c | 4 +- imagery/i.ortho.photo/lib/conz_points.c | 3 +- imagery/i.ortho.photo/lib/elev.c | 19 +- imagery/i.ortho.photo/lib/orthophoto.h | 15 +- imagery/i.ortho.photo/lib/orthoref.c | 3 +- imagery/i.ortho.photo/lib/ref_points.c | 7 +- imagery/i.rectify/README | 1 + imagery/i.rectify/bilinear.c | 16 +- imagery/i.rectify/bilinear_f.c | 14 +- imagery/i.rectify/cp.c | 44 +- imagery/i.rectify/cubic.c | 16 +- imagery/i.rectify/cubic_f.c | 14 +- imagery/i.rectify/defs.h | 42 + imagery/i.rectify/env.c | 1 + imagery/i.rectify/exec.c | 88 +- imagery/i.rectify/get_wind.c | 80 +- imagery/i.rectify/global.h | 119 +- imagery/i.rectify/i.rectify.html | 8 +- imagery/i.rectify/local_proto.h | 51 + imagery/i.rectify/main.c | 106 +- imagery/i.rectify/nearest.c | 15 +- imagery/i.rectify/readcell.c | 29 +- imagery/i.rectify/rectify.c | 28 +- imagery/i.rectify/report.c | 8 +- imagery/i.rectify/target.c | 3 +- imagery/i.segment/cluster.c | 459 + imagery/i.segment/create_isegs.c | 42 + imagery/i.segment/i.segment.html | 80 +- imagery/i.segment/iseg.h | 67 +- imagery/i.segment/main.c | 19 +- imagery/i.segment/mean_shift.c | 724 +- imagery/i.segment/ngbrtree.c | 19 +- imagery/i.segment/ngbrtree.h | 2 + imagery/i.segment/open_files.c | 216 +- imagery/i.segment/parse_args.c | 128 +- imagery/i.segment/region_growing.c | 338 +- imagery/i.segment/regtree.c | 1 + imagery/i.segment/write_output.c | 327 +- imagery/i.smap/multialloc.c | 2 +- .../test_i.topo.corr_synthetic_DEM_NC.sh | 2 +- imagery/i.vi/i.vi.html | 4 +- imagery/i.zc/i.zc.html | 2 +- imagery/imageryintro.html | 2 - include/Make/Python.make | 2 +- include/Make/ShScript.make | 45 + include/Make/ShScriptRules.make | 31 + include/VERSION | 6 +- include/defs/gis.h | 20 + include/defs/gprojects.h | 2 + include/defs/vector.h | 6 +- include/defs/vedit.h | 3 + include/gis.h | 10 +- include/gmath.h | 2 +- include/imagery.h | 2 + include/iostream/embuffer.h | 6 +- include/iostream/empq_adaptive.h | 3 +- include/iostream/mm.h | 20 +- include/raster.h | 2 +- include/vect/dig_structs.h | 8 + lib/btree2/kdtree.c | 408 +- lib/btree2/kdtree.h | 1 + lib/calc/xnmedian.c | 51 +- lib/db/sqlp/sql.html | 2 +- lib/db/sqlp/sqlp.l | 2 +- lib/external/shapelib/README | 138 +- lib/external/shapelib/dbfopen.c | 1062 +- lib/external/shapelib/safileio.c | 10 +- lib/external/shapelib/shapefil.h | 239 +- lib/external/shapelib/shpopen.c | 1525 +- lib/gis/adj_cellhd.c | 772 +- lib/gis/cmprbzip.c | 2 +- lib/gis/color_str.c | 15 +- lib/gis/gislib_cmdline_parsing.dox | 2 +- lib/gis/ll_format.c | 2 + lib/gis/ll_scan.c | 6 +- lib/gis/make_loc.c | 174 +- lib/gis/parser.c | 2 +- lib/gis/parser_dependencies.c | 10 +- lib/gis/parser_help.c | 54 +- lib/gis/parser_standard_options.c | 6 +- lib/gis/parser_wps.c | 4 +- lib/gis/spawn.c | 2 +- lib/gis/testsuite/gis_lib_str_color.py | 110 + lib/gis/wind_overlap.c | 12 + lib/gis/wind_scan.c | 16 +- lib/gis/window_map.c | 38 +- lib/gmath/solvers_direct.c | 22 +- lib/gmath/test/test_gmath_lib.h | 4 +- lib/gmath/test/test_tools_les.c | 4 +- lib/gpde/gpdelib.dox | 4 +- lib/gpde/n_les_assemble.c | 4 +- lib/init/README | 22 +- lib/init/circle_1.png | Bin 430 -> 931 bytes lib/init/circle_2.png | Bin 510 -> 666 bytes lib/init/circle_3.png | Bin 505 -> 1150 bytes lib/init/circle_4.png | Bin 460 -> 1025 bytes lib/init/circle_5.png | Bin 486 -> 1141 bytes lib/init/circle_6.png | Bin 0 -> 878 bytes lib/init/grass.py | 37 +- lib/init/grass.sh | 2 +- lib/init/grass7.html | 60 +- lib/init/grass_database.png | Bin 0 -> 51787 bytes lib/init/grass_start.png | Bin 93650 -> 164784 bytes lib/init/helptext.html | 25 +- lib/init/variables.html | 2 +- lib/iostream/mm.cpp | 37 +- lib/linkm/new.c | 4 +- lib/proj/convert.c | 291 +- lib/proj/get_proj.c | 2 +- lib/python/ctypes/Makefile | 2 +- .../src/Temporal-Framework-API-Description.pdf | Bin 0 -> 1910444 bytes lib/python/docs/src/gunittest_running_tests.rst | 2 +- lib/python/docs/src/index.rst | 5 +- lib/python/docs/src/pygrass_gis.rst | 2 +- lib/python/docs/src/pygrass_modules.rst | 5 +- lib/python/docs/src/pygrass_raster.rst | 14 +- lib/python/docs/src/temporal_framework.rst | 4 + lib/python/gunittest/multirunner.py | 2 +- lib/python/pydispatch/saferef.py | 7 +- lib/python/pygrass/gis/__init__.py | 67 +- lib/python/pygrass/modules/__init__.py | 2 +- lib/python/pygrass/modules/interface/__init__.py | 2 +- lib/python/pygrass/modules/interface/module.py | 345 +- lib/python/pygrass/modules/shortcuts.py | 2 +- lib/python/pygrass/raster/abstract.py | 13 +- lib/python/pygrass/rpc/__init__.py | 2 + lib/python/pygrass/rpc/base.py | 2 + lib/python/pygrass/testsuite/test_doctests.py | 8 + lib/python/pygrass/utils.py | 68 +- lib/python/pygrass/vector/__init__.py | 55 +- lib/python/pygrass/vector/abstract.py | 2 +- lib/python/pygrass/vector/geometry.py | 10 +- lib/python/pygrass/vector/table.py | 21 +- lib/python/script/core.py | 114 +- lib/python/script/raster.py | 3 +- lib/python/script/raster3d.py | 3 +- lib/python/script/setup.py | 7 +- lib/python/script/testsuite/test_utils.py | 24 + lib/python/script/utils.py | 43 +- lib/python/script/vector.py | 67 +- lib/python/temporal/abstract_dataset.py | 8 +- lib/python/temporal/abstract_map_dataset.py | 25 +- lib/python/temporal/abstract_space_time_dataset.py | 30 +- lib/python/temporal/aggregation.py | 11 +- lib/python/temporal/base.py | 7 +- lib/python/temporal/c_libraries_interface.py | 5 +- lib/python/temporal/core.py | 20 +- lib/python/temporal/datetime_math.py | 76 +- lib/python/temporal/extract.py | 9 +- lib/python/temporal/factory.py | 6 +- lib/python/temporal/gui_support.py | 8 +- lib/python/temporal/list_stds.py | 21 +- lib/python/temporal/mapcalc.py | 10 +- lib/python/temporal/metadata.py | 5 +- lib/python/temporal/open_stds.py | 9 +- lib/python/temporal/register.py | 33 +- lib/python/temporal/sampling.py | 6 +- lib/python/temporal/space_time_datasets.py | 126 +- lib/python/temporal/spatial_extent.py | 6 +- .../temporal/spatio_temporal_relationships.py | 10 +- lib/python/temporal/stds_export.py | 24 +- lib/python/temporal/stds_import.py | 15 +- lib/python/temporal/temporal_algebra.py | 378 +- lib/python/temporal/temporal_extent.py | 6 +- lib/python/temporal/temporal_granularity.py | 178 +- lib/python/temporal/temporal_operator.py | 27 +- lib/python/temporal/temporal_raster3d_algebra.py | 16 +- lib/python/temporal/temporal_raster_algebra.py | 19 +- .../temporal/temporal_raster_base_algebra.py | 375 +- lib/python/temporal/temporal_vector_algebra.py | 34 +- lib/python/temporal/testsuite/test_doctests.py | 5 +- .../temporal/testsuite/test_register_function.py | 272 +- .../testsuite/unittests_temporal_algebra.py | 18 + .../testsuite/unittests_temporal_conditionals.py | 86 +- .../unittests_temporal_raster3d_algebra.py | 12 +- .../testsuite/unittests_temporal_raster_algebra.py | 130 +- .../unittests_temporal_raster_algebra_equal_ts.py | 191 + ...sts_temporal_raster_algebra_spatial_topology.py | 251 + .../unittests_temporal_raster_conditionals.py | 42 +- ...temporal_raster_conditionals_complement_else.py | 127 + .../testsuite/unittests_temporal_vector_algebra.py | 8 + lib/python/temporal/unit_tests.py | 148 +- lib/python/temporal/univar_statistics.py | 4 +- lib/raster/R.h | 1 - lib/raster/align_window.c | 40 +- lib/raster/cats.c | 15 +- lib/raster/close.c | 3 +- lib/raster/color_rules.c | 72 +- lib/raster/get_row.c | 2 - lib/raster/init.c | 2 +- lib/raster/open.c | 2 - lib/raster/put_row.c | 2 +- lib/raster/range.c | 1 - lib/raster/raster.c | 9 +- lib/raster/testsuite/rast_parse_color_rule.py | 98 + lib/raster3d/test/test_main.c | 5 +- lib/rst/interp_float/Makefile | 8 +- lib/rst/interp_float/interpf.h | 9 + lib/rst/interp_float/matrix.c | 40 +- lib/rst/interp_float/segmen2d.c | 4 +- lib/rst/interp_float/segmen2d_parallel.c | 463 + lib/segment/format.c | 20 +- lib/segment/pagein.c | 12 +- lib/symbol/symbol/basic/arrow | 15 + lib/symbol/symbol/basic/hexagon | 15 + lib/symbol/symbol/basic/pin | 15 + lib/symbol/symbol/basic/pin_dot | 21 + lib/vector/Vlib/box.c | 61 +- lib/vector/Vlib/break_lines.c | 15 +- lib/vector/Vlib/break_polygons.c | 10 +- lib/vector/Vlib/buffer2.c | 13 +- lib/vector/Vlib/build_sfa.c | 3 + lib/vector/Vlib/intersect.c | 20 +- lib/vector/Vlib/intersect2.c | 155 +- lib/vector/Vlib/merge_lines.c | 6 +- lib/vector/Vlib/read_pg.c | 27 +- lib/vector/Vlib/sindex.c | 31 +- lib/vector/Vlib/snap.c | 31 +- lib/vector/dglib/dglib.dox | 2 +- lib/vector/diglib/frmt.c | 4 + lib/vector/diglib/plus_area.c | 27 +- lib/vector/vectorlib_lists.dox | 2 +- lib/vector/vedit/extend.c | 427 + lib/vector/vedit/veditlib.dox | 2 + locale/Makefile | 3 + locale/README | 6 +- locale/po/grasslibs_ar.po | 13674 ++-- locale/po/grasslibs_cs.po | 12395 ++-- locale/po/grasslibs_de.po | 12536 ++-- locale/po/grasslibs_el.po | 11521 ++-- locale/po/grasslibs_es.po | 14905 ++--- locale/po/grasslibs_fi.po | 10335 ++- locale/po/grasslibs_fr.po | 15223 ++--- locale/po/grasslibs_id_ID.po | 641 +- locale/po/grasslibs_it.po | 13093 ++-- locale/po/grasslibs_ja.po | 12467 ++-- locale/po/grasslibs_ko.po | 10276 ++- locale/po/grasslibs_lv.po | 11432 ++-- locale/po/grasslibs_ml.po | 10488 ++- locale/po/grasslibs_pl.po | 12519 ++-- locale/po/grasslibs_pt.po | 12011 ++-- locale/po/grasslibs_pt_BR.po | 10703 ++- locale/po/grasslibs_ro.po | 10663 ++- locale/po/grasslibs_ru.po | 11938 ++-- locale/po/grasslibs_si.po | 629 +- locale/po/grasslibs_sl.po | 13849 ++-- locale/po/grasslibs_ta.po | 9389 +++ locale/po/grasslibs_th.po | 11156 ++- locale/po/grasslibs_tr.po | 11147 ++- locale/po/grasslibs_uk.po | 632 +- locale/po/grasslibs_vi.po | 11264 ++-- locale/po/grasslibs_zh.po | 11081 ++- locale/po/grassmods_ar.po | 62333 +++++++++-------- locale/po/grassmods_cs.po | 55896 ++++++++-------- locale/po/grassmods_de.po | 59180 ++++++++-------- locale/po/grassmods_el.po | 46858 +++++++------ locale/po/grassmods_es.po | 67046 +++++++++---------- locale/po/grassmods_fi.po | 46029 +++++++------ locale/po/grassmods_fr.po | 53962 +++++++-------- locale/po/grassmods_id_ID.po | 3700 +- locale/po/grassmods_it.po | 55668 ++++++++------- locale/po/grassmods_ja.po | 54779 ++++++++------- locale/po/grassmods_ko.po | 48208 +++++++------ locale/po/grassmods_lv.po | 52416 ++++++++------- locale/po/grassmods_ml.po | 3700 +- locale/po/grassmods_pl.po | 53669 +++++++-------- locale/po/grassmods_pt.po | 48908 +++++++------- locale/po/grassmods_pt_BR.po | 49991 +++++++------- locale/po/grassmods_ro.po | 50116 +++++++------- locale/po/grassmods_ru.po | 47088 +++++++------ locale/po/grassmods_si.po | 3700 +- locale/po/grassmods_sl.po | 62779 +++++++++-------- locale/po/grassmods_ta.po | 43313 ++++++++++++ locale/po/grassmods_th.po | 46545 +++++++------ locale/po/grassmods_tr.po | 51464 +++++++------- locale/po/grassmods_uk.po | 3703 +- locale/po/grassmods_vi.po | 47720 +++++++------ locale/po/grassmods_zh.po | 48002 +++++++------ locale/po/grasswxpy_cs.po | 25841 ++++--- locale/po/grasswxpy_de.po | 26581 ++++---- locale/po/grasswxpy_el.po | 21618 +++--- locale/po/grasswxpy_es.po | 28799 ++++---- locale/po/grasswxpy_fi.po | 19757 +++--- locale/po/grasswxpy_fr.po | 29171 ++++---- locale/po/grasswxpy_id.po | 20391 ------ locale/po/grasswxpy_id_ID.po | 17312 +++-- locale/po/grasswxpy_it.po | 28031 ++++---- locale/po/grasswxpy_ja.po | 25844 ++++--- locale/po/grasswxpy_ko.po | 19193 +++--- locale/po/grasswxpy_lv.po | 25900 +++---- locale/po/grasswxpy_ml.po | 20137 +++--- locale/po/grasswxpy_pl.po | 26920 ++++---- locale/po/grasswxpy_pt.po | 21829 +++--- locale/po/grasswxpy_pt_BR.po | 21562 +++--- locale/po/grasswxpy_ro.po | 26244 ++++---- locale/po/grasswxpy_ru.po | 22569 +++---- locale/po/grasswxpy_si.po | 1565 +- locale/po/grasswxpy_ta.po | 20171 ++++++ locale/po/grasswxpy_th.po | 20757 +++--- locale/po/grasswxpy_tr.po | 22458 +++---- locale/po/grasswxpy_uk.po | 1568 +- locale/po/grasswxpy_vi.po | 19934 +++--- locale/po/grasswxpy_zh.po | 24414 ++++--- man/build_class_graphical.py | 2 +- man/build_graphical_index.py | 4 +- man/build_keywords.py | 10 +- man/build_rest.py | 2 +- man/sphinx/conf.py | 18 +- misc/m.measure/m.measure.html | 4 +- misc/m.nviz.script/m.nviz.script.html | 2 +- misc/m.transform/main.c | 1 + mswindows/GRASS-Installer.nsi.tmpl | 2 +- mswindows/GRASS-Packager.bat.tmpl | 2 +- mswindows/Installer-Files/WinGRASS-README.url | 2 +- mswindows/external/rbatch/batchfiles.md | 812 +- mswindows/osgeo4w/Makefile | 15 +- mswindows/osgeo4w/mklibs.sh | 4 + mswindows/osgeo4w/mysql_config | 216 + mswindows/osgeo4w/package.sh | 14 +- mswindows/osgeo4w/setup.hint.tmpl | 7 - mswindows/osgeo4w/setup_x86.hint.tmpl | 7 + mswindows/osgeo4w/setup_x86_64.hint.tmpl | 7 + ps/ps.map/ps.map.html | 2 +- ps/ps.map/ps_vlines.c | 10 +- raster/Makefile | 2 + raster/r.carve/r.carve.html | 2 +- raster/r.category/r.category.html | 2 +- raster/r.circle/r.circle.html | 2 +- raster/r.clump/Makefile | 2 +- raster/r.clump/clump.c | 522 +- raster/r.clump/local_proto.h | 10 +- raster/r.clump/main.c | 71 +- raster/r.clump/minsize.c | 541 + raster/r.clump/r.clump.html | 47 +- raster/r.clump/rclist.c | 68 + raster/r.clump/rclist.h | 20 + raster/r.colors.out/r.colors.out.html | 2 +- raster/r.compress/r.compress.html | 4 +- raster/r.contour/r.contour.html | 2 +- raster/r.describe/r.describe.html | 2 +- raster/r.drain/main.c | 5 +- raster/r.drain/r.drain.html | 141 +- raster/r.drain/r_drain.png | Bin 0 -> 307675 bytes .../r.drain/r_drain_with_r_watershed_direction.png | Bin 0 -> 312353 bytes raster/r.external.out/r.external.out.html | 2 +- raster/r.external/main.c | 20 +- raster/r.external/proj.c | 283 +- raster/r.external/proto.h | 2 +- raster/r.fill.dir/r.fill.dir.html | 107 +- raster/r.fill.dir/r_fill_dir.png | Bin 360040 -> 219927 bytes raster/r.fill.stats/Makefile | 10 + raster/r.fill.stats/cell_funcs.c | 173 + raster/r.fill.stats/cell_funcs.h | 39 + raster/r.fill.stats/main.c | 1389 + raster/r.fill.stats/r.fill.stats.html | 485 + raster/r.fill.stats/r_fill_stats_01.png | Bin 0 -> 102678 bytes raster/r.fill.stats/r_fill_stats_02.png | Bin 0 -> 57522 bytes raster/r.fill.stats/r_fill_stats_lidar.png | Bin 0 -> 647780 bytes raster/r.fill.stats/r_fill_stats_smoothing.png | Bin 0 -> 628900 bytes raster/r.fill.stats/testsuite/data/input_ascii.txt | 13 + raster/r.fill.stats/testsuite/data/output_mean.txt | 13 + .../r.fill.stats/testsuite/data/output_median.txt | 13 + raster/r.fill.stats/testsuite/data/output_mode.txt | 13 + .../r.fill.stats/testsuite/data/output_wmean.txt | 13 + raster/r.fill.stats/testsuite/test_r_fill_stats.py | 43 + raster/r.geomorphon/Makefile | 10 + raster/r.geomorphon/geom.c | 259 + raster/r.geomorphon/geomorphon.png | Bin 0 -> 72512 bytes raster/r.geomorphon/legend.png | Bin 0 -> 149603 bytes raster/r.geomorphon/local_proto.h | 179 + raster/r.geomorphon/main.c | 554 + raster/r.geomorphon/memory.c | 161 + raster/r.geomorphon/multires.c | 22 + raster/r.geomorphon/pattern.c | 145 + raster/r.geomorphon/r.geomorphon.html | 182 + raster/r.geomorphon/r_geomorphon.png | Bin 0 -> 310601 bytes raster/r.geomorphon/r_geomorphon_summits.png | Bin 0 -> 160442 bytes raster/r.geomorphon/testsuite/test_r_geom.py | 72 + raster/r.grow.distance/main.c | 6 - raster/r.gwflow/r.gwflow.html | 2 +- raster/r.horizon/r.horizon.html | 2 +- raster/r.in.bin/r.in.bin.html | 2 +- raster/r.in.gdal/main.c | 684 +- raster/r.in.gdal/proj.c | 265 + raster/r.in.gdal/r.in.gdal.html | 17 +- raster/r.in.gridatb/r.in.gridatb.html | 2 +- raster/r.in.lidar/main.c | 4 +- raster/r.in.lidar/r.in.lidar.html | 2 +- raster/r.in.xyz/r.in.xyz.html | 2 +- raster/r.kappa/r.kappa.html | 2 +- raster/r.lake/r.lake.html | 2 +- raster/r.li/r.li.html | 21 +- raster/r.mapcalc/evaluate.c | 318 +- raster/r.mapcalc/func_proto.h | 2 + raster/r.mapcalc/function.c | 2 + raster/r.mapcalc/globals.h | 3 +- raster/r.mapcalc/main.c | 80 +- raster/r.mapcalc/map.c | 90 +- raster/r.mapcalc/map3.c | 88 + raster/r.mapcalc/mapcalc.h | 3 + raster/r.mapcalc/r.mapcalc.html | 118 +- raster/r.mapcalc/r3.mapcalc.html | 3 +- raster/r.mapcalc/testsuite/test_r3_mapcalc.py | 6 +- raster/r.mapcalc/testsuite/test_r_mapcalc.py | 73 +- .../testsuite/test_row_above_below_bug.py | 95 + raster/r.mapcalc/xarea.c | 37 + raster/r.mfilter/r.mfilter.html | 2 +- raster/r.neighbors/r.neighbors.html | 7 +- raster/r.null/r.null.html | 2 +- raster/r.out.gdal/export_band.c | 43 +- raster/r.out.gdal/local_proto.h | 2 +- raster/r.out.gdal/main.c | 48 +- raster/r.out.gdal/r.out.gdal.html | 19 +- raster/r.out.gridatb/r.out.gridatb.html | 2 +- raster/r.out.pov/r.out.pov.html | 2 +- raster/r.param.scale/r.param.scale.html | 6 +- raster/r.patch/r.patch.html | 49 +- raster/r.patch/r_patch.png | Bin 0 -> 10266 bytes raster/r.patch/r_patch_zeros_as_nulls.png | Bin 0 -> 10652 bytes raster/r.quant/r.quant.html | 2 +- raster/r.quantile/main.c | 30 +- raster/r.random.surface/r.random.surface.html | 2 +- raster/r.reclass/r.reclass.html | 2 +- raster/r.recode/testsuite/test_rrecode_ncspm.py | 7 +- raster/r.region/main.c | 14 +- raster/r.regression.multi/main.c | 7 + raster/r.resamp.bspline/main.c | 37 +- raster/r.resamp.bspline/r.resamp.bspline.html | 2 +- raster/r.resamp.filter/r.resamp.filter.html | 2 +- raster/r.resamp.interp/r.resamp.interp.html | 2 +- raster/r.resamp.rst/r.resamp.rst.html | 2 +- raster/r.resamp.stats/r.resamp.stats.html | 2 +- raster/r.resample/r.resample.html | 2 +- .../r.series.accumulate/r.series.accumulate.html | 2 +- raster/r.sim/r.sim.sediment/Makefile | 4 +- raster/r.sim/r.sim.sediment/main.c | 24 + raster/r.sim/r.sim.water/Makefile | 4 +- raster/r.sim/r.sim.water/main.c | 25 +- raster/r.sim/r.sim.water/r.sim.water.html | 2 +- raster/r.sim/simlib/Makefile | 4 +- raster/r.sim/simlib/hydro.c | 25 +- raster/r.sim/simlib/random.c | 14 + raster/r.sim/simlib/simlib.h | 8 +- raster/r.sim/simlib/waterglobs.h | 1 + .../testsuite/test_r_slope_aspect.py | 1 + raster/r.solute.transport/r.solute.transport.html | 2 +- raster/r.spread/main.c | 2 +- raster/r.statistics/r.statistics.html | 2 +- raster/r.stats.quantile/r.stats.quantile.html | 2 +- raster/r.stats.zonal/r.stats.zonal.html | 2 +- raster/r.stream.extract/bseg.c | 6 +- raster/r.stream.extract/close.c | 13 +- raster/r.stream.extract/cseg.c | 6 +- raster/r.stream.extract/dseg.c | 6 +- raster/r.stream.extract/load.c | 20 +- raster/r.stream.extract/local_proto.h | 2 - raster/r.stream.extract/main.c | 5 +- raster/r.stream.extract/r.stream.extract.html | 33 +- raster/r.stream.extract/seg.c | 11 +- raster/r.stream.extract/seg.h | 31 +- raster/r.sun/Makefile | 5 +- raster/r.sun/local_proto.h | 99 +- raster/r.sun/main.c | 204 +- raster/r.sun/r.sun.html | 4 +- raster/r.sun/testsuite/test_rsun.py | 117 + raster/r.sunhours/r.sunhours.html | 2 +- raster/r.support.stats/r.support.stats.html | 2 +- raster/r.support/r.support.html | 25 +- raster/r.surf.area/r.surf.area.html | 2 +- raster/r.surf.contour/r.surf.contour.html | 2 +- raster/r.surf.idw/r.surf.idw.html | 2 +- raster/r.surf.random/r.surf.random.html | 2 +- raster/r.terraflow/Makefile | 4 +- raster/r.terraflow/common.h | 1 + raster/r.terraflow/filldepr.cpp | 15 +- raster/r.terraflow/flow.cpp | 17 +- raster/r.terraflow/grass2str.h | 119 +- raster/r.terraflow/main.cpp | 203 +- raster/r.terraflow/main.h | 2 +- raster/r.terraflow/plateau.cpp | 4 +- raster/r.terraflow/r.terraflow.html | 77 +- raster/r.terraflow/stats.cpp | 10 +- raster/r.terraflow/sweep.cpp | 45 +- raster/r.terraflow/weightWindow.cpp | 6 +- raster/r.texture/h_measure.c | 94 +- raster/r.texture/h_measure.h | 2 +- raster/r.texture/main.c | 30 +- raster/r.texture/r.texture.html | 2 +- raster/r.tile/r.tile.html | 2 +- raster/r.timestamp/r.timestamp.html | 2 +- raster/r.topidx/r.topidx.html | 17 +- raster/r.topidx/r_topidx.png | Bin 0 -> 128548 bytes raster/r.topmodel/global.h | 16 +- raster/r.topmodel/infiltration.c | 276 +- raster/r.topmodel/r.topmodel.html | 38 +- raster/r.topmodel/topmodel.c | 2 + raster/r.transect/r.transect.html | 2 +- raster/r.univar/r.univar.html | 6 +- raster/r.viewshed/grass.cpp | 9 +- raster/r.viewshed/grass.h | 3 +- raster/r.viewshed/r.viewshed.html | 4 +- raster/r.viewshed/viewshed.cpp | 4 +- raster/r.viewshed/visibility.cpp | 6 +- raster/r.water.outlet/r.water.outlet.html | 2 +- raster/r.watershed/front/main.c | 3 +- raster/r.watershed/front/r.watershed.html | 45 +- raster/r.watershed/seg/init_vars.c | 2 +- raster/r.what/main.c | 56 +- raster/r.what/r.what.html | 19 +- raster3d/r3.flow/r3.flow.html | 2 +- raster3d/r3.flow/test_main.c | 3 +- raster3d/r3.gwflow/r3.gwflow.html | 2 +- raster3d/r3.in.ascii/main.c | 55 +- raster3d/r3.in.lidar/filters.c | 25 +- raster3d/r3.in.lidar/filters.h | 15 +- raster3d/r3.in.lidar/info.c | 180 + raster3d/r3.in.lidar/info.h | 25 + raster3d/r3.in.lidar/main.c | 556 +- raster3d/r3.in.lidar/projection.c | 144 + raster3d/r3.in.lidar/projection.h | 34 + raster3d/r3.in.lidar/r3.in.lidar.html | 118 +- raster3d/r3.in.lidar/rast_segment.c | 13 + raster3d/r3.in.lidar/rast_segment.h | 14 + raster3d/r3.in.lidar/string_list.c | 78 + raster3d/r3.in.lidar/string_list.h | 31 + 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.null/main.c | 6 - raster3d/r3.null/r3.null.html | 2 +- raster3d/r3.null/test.r3.null.sh | 41 - .../{ => testsuite/data}/test_volume_double_1.ref | 0 .../{ => testsuite/data}/test_volume_double_2.ref | 0 .../data}/test_volume_double_null_1.ref | 0 .../data}/test_volume_double_null_2.ref | 0 .../{ => testsuite/data}/test_volume_float_1.ref | 0 .../{ => testsuite/data}/test_volume_float_2.ref | 0 .../data}/test_volume_float_null_1.ref | 0 .../data}/test_volume_float_null_2.ref | 0 raster3d/r3.null/testsuite/test.r3.null.sh | 74 + .../test_r3_null_ticket_2992_more_nulls.sh | 33 + .../test_r3_null_ticket_2992_null_by_value.sh | 33 + 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/r3.timestamp/r3.timestamp.html | 2 +- raster3d/r3.to.rast/main.c | 136 +- raster3d/r3.to.rast/r3.to.rast.html | 41 +- raster3d/r3.to.rast/testsuite/test_a_b_coeff.py | 160 + .../r3.to.rast/testsuite/test_integer_rounding.py | 160 + raster3d/r3.to.rast/testsuite/test_nulls.py | 166 + raster3d/r3.to.rast/testsuite/test_small_data.py | 160 + scripts/Makefile | 1 + scripts/d.correlate/d.correlate.py | 5 + scripts/d.frame/d.frame.py | 42 +- scripts/d.out.file/d.out.file.py | 5 + scripts/d.polar/d.polar.py | 11 + scripts/d.rast.edit/d.rast.edit.html | 2 +- scripts/d.rast.edit/d.rast.edit.py | 5 + scripts/d.rast.leg/d.rast.leg.py | 4 + scripts/d.redraw/d.redraw.html | 2 +- scripts/d.redraw/d.redraw.py | 4 + scripts/d.shade/d.shade.py | 5 + scripts/d.to.rast/d.to.rast.py | 5 + scripts/d.what.rast/d.what.rast.py | 5 + scripts/d.what.vect/d.what.vect.py | 5 + scripts/db.dropcolumn/db.dropcolumn.html | 2 +- scripts/db.dropcolumn/db.dropcolumn.py | 5 + scripts/db.droptable/db.droptable.html | 2 +- scripts/db.droptable/db.droptable.py | 5 + scripts/db.in.ogr/db.in.ogr.py | 5 + scripts/db.out.ogr/db.out.ogr.py | 4 + scripts/db.test/db.test.html | 2 +- scripts/db.test/db.test.py | 4 + scripts/db.univar/db.univar.html | 2 +- scripts/db.univar/db.univar.py | 5 + scripts/g.extension.all/g.extension.all.py | 4 + scripts/g.extension/g.extension.html | 2 +- scripts/g.extension/g.extension.py | 37 +- scripts/g.manual/g.manual.html | 2 +- scripts/g.manual/g.manual.py | 4 + scripts/g.search.modules/g.search.modules.py | 4 + scripts/i.colors.enhance/i.colors.enhance.py | 5 + scripts/i.image.mosaic/i.image.mosaic.html | 2 +- scripts/i.image.mosaic/i.image.mosaic.py | 5 + scripts/i.in.spotvgt/i.in.spotvgt.py | 4 + scripts/i.oif/i.oif.py | 4 + scripts/i.pansharpen/i.pansharpen.py | 4 + scripts/i.spectral/i.spectral.py | 4 + scripts/i.tasscap/i.tasscap.html | 2 +- scripts/i.tasscap/i.tasscap.py | 5 + scripts/m.proj/m.proj.html | 2 +- scripts/m.proj/m.proj.py | 4 + scripts/r.blend/r.blend.py | 4 + scripts/r.buffer.lowmem/r.buffer.lowmem.html | 2 +- scripts/r.buffer.lowmem/r.buffer.lowmem.py | 4 + scripts/r.fillnulls/r.fillnulls.py | 4 + scripts/r.grow/r.grow.html | 2 +- scripts/r.grow/r.grow.py | 4 + scripts/r.import/r.import.html | 7 +- scripts/r.import/r.import.py | 65 +- scripts/r.in.aster/r.in.aster.py | 4 + scripts/r.in.srtm/r.in.srtm.py | 6 +- scripts/r.in.wms/r.in.wms.html | 2 +- scripts/r.in.wms/r.in.wms.py | 4 + scripts/r.in.wms/wms_base.py | 4 + scripts/r.in.wms/wms_cap_parsers.py | 5 + scripts/r.in.wms/wms_drv.py | 5 + scripts/r.in.wms/wms_gdal_drv.py | 4 + scripts/r.mask/r.mask.py | 6 +- scripts/r.out.xyz/r.out.xyz.html | 2 +- scripts/r.pack/r.pack.html | 2 +- scripts/r.pack/r.pack.py | 4 + scripts/r.plane/r.plane.html | 4 +- scripts/r.plane/r.plane.py | 10 +- scripts/r.reclass.area/r.reclass.area.py | 4 + scripts/r.rgb/r.rgb.py | 5 + scripts/r.shade/r.shade.py | 4 + scripts/r.tileset/r.tileset.py | 5 + scripts/r.unpack/r.unpack.py | 4 + scripts/r3.in.xyz/r3.in.xyz.py | 8 + scripts/v.build.all/v.build.all.html | 2 +- scripts/v.build.all/v.build.all.py | 5 + scripts/v.centroids/v.centroids.html | 16 +- scripts/v.centroids/v.centroids.py | 5 + scripts/v.centroids/v_centroids.png | Bin 0 -> 6887 bytes scripts/v.clip/Makefile | 7 + scripts/v.clip/testsuite/test_v_clip.py | 87 + scripts/v.clip/v.clip.html | 85 + scripts/v.clip/v.clip.py | 199 + scripts/v.clip/v_clip_poly.png | Bin 0 -> 15758 bytes scripts/v.clip/v_clip_region.png | Bin 0 -> 9481 bytes scripts/v.db.addcolumn/v.db.addcolumn.html | 2 +- scripts/v.db.addcolumn/v.db.addcolumn.py | 4 + scripts/v.db.addtable/v.db.addtable.html | 2 +- scripts/v.db.addtable/v.db.addtable.py | 4 + scripts/v.db.dropcolumn/v.db.dropcolumn.html | 2 +- scripts/v.db.dropcolumn/v.db.dropcolumn.py | 4 + scripts/v.db.droprow/v.db.droprow.py | 5 + scripts/v.db.droptable/v.db.droptable.html | 2 +- scripts/v.db.droptable/v.db.droptable.py | 4 + scripts/v.db.join/v.db.join.py | 5 + scripts/v.db.reconnect.all/v.db.reconnect.all.html | 2 +- scripts/v.db.reconnect.all/v.db.reconnect.all.py | 4 + scripts/v.db.renamecolumn/v.db.renamecolumn.html | 2 +- scripts/v.db.renamecolumn/v.db.renamecolumn.py | 4 + scripts/v.db.univar/v.db.univar.html | 2 +- scripts/v.db.univar/v.db.univar.py | 4 + scripts/v.db.update/v.db.update.html | 2 +- scripts/v.db.update/v.db.update.py | 4 + scripts/v.dissolve/v.dissolve.py | 4 + scripts/v.import/v.import.html | 13 +- scripts/v.import/v.import.py | 67 +- scripts/v.in.e00/v.in.e00.py | 4 + scripts/v.in.geonames/v.in.geonames.html | 2 +- scripts/v.in.geonames/v.in.geonames.py | 4 + scripts/v.in.lines/v.in.lines.html | 2 +- scripts/v.in.lines/v.in.lines.py | 4 + scripts/v.in.mapgen/v.in.mapgen.html | 2 +- scripts/v.in.mapgen/v.in.mapgen.py | 4 + scripts/v.in.wfs/v.in.wfs.py | 15 +- scripts/v.pack/v.pack.py | 4 + .../v.rast.stats/testsuite/test_v_rast_stats.py | 42 + scripts/v.rast.stats/v.rast.stats.html | 2 +- scripts/v.rast.stats/v.rast.stats.py | 19 +- scripts/v.report/v.report.html | 2 +- scripts/v.report/v.report.py | 4 + scripts/v.to.lines/v.to.lines.py | 4 + scripts/v.unpack/v.unpack.py | 4 + scripts/v.what.strds/v.what.strds.py | 5 + scripts/v.what.vect/v.what.vect.html | 2 +- scripts/windows_sh_launch.bat | 11 + temporal/t.create/t.create.py | 16 +- temporal/t.info/t.info.html | 2 +- temporal/t.info/t.info.py | 14 +- temporal/t.info/testsuite/test.t.info.sh | 8 +- temporal/t.list/t.list.html | 15 +- temporal/t.list/t.list.py | 14 +- temporal/t.merge/t.merge.py | 14 +- temporal/t.rast.accdetect/t.rast.accdetect.html | 4 +- temporal/t.rast.accdetect/t.rast.accdetect.py | 21 +- temporal/t.rast.accdetect/testsuite/test_simple.py | 55 +- temporal/t.rast.accumulate/t.rast.accumulate.html | 4 +- temporal/t.rast.accumulate/t.rast.accumulate.py | 14 +- .../t.rast.aggregate.ds/t.rast.aggregate.ds.html | 2 +- .../t.rast.aggregate.ds/t.rast.aggregate.ds.py | 14 +- temporal/t.rast.aggregate/t.rast.aggregate.html | 2 +- temporal/t.rast.aggregate/t.rast.aggregate.py | 14 +- temporal/t.rast.algebra/t.rast.algebra.html | 365 +- temporal/t.rast.algebra/t.rast.algebra.py | 14 +- temporal/t.rast.colors/t.rast.colors.py | 14 +- temporal/t.rast.contour/t.rast.contour.py | 13 +- temporal/t.rast.export/t.rast.export.html | 2 +- temporal/t.rast.export/t.rast.export.py | 52 +- temporal/t.rast.extract/t.rast.extract.py | 14 +- temporal/t.rast.gapfill/t.rast.gapfill.py | 14 +- temporal/t.rast.import/t.rast.import.py | 17 +- temporal/t.rast.list/t.rast.list.py | 14 +- temporal/t.rast.mapcalc/t.rast.mapcalc.html | 106 +- temporal/t.rast.mapcalc/t.rast.mapcalc.py | 14 +- temporal/t.rast.neighbors/t.rast.neighbors.html | 2 +- temporal/t.rast.neighbors/t.rast.neighbors.py | 40 +- .../t.rast.neighbors/testsuite/test_neighbors.py | 12 +- temporal/t.rast.out.vtk/t.rast.out.vtk.html | 2 +- temporal/t.rast.out.vtk/t.rast.out.vtk.py | 14 +- temporal/t.rast.series/t.rast.series.py | 28 +- temporal/t.rast.series/testsuite/test_series.py | 61 +- temporal/t.rast.to.rast3/t.rast.to.rast3.html | 2 +- temporal/t.rast.to.rast3/t.rast.to.rast3.py | 14 +- temporal/t.rast.to.vect/t.rast.to.vect.py | 14 +- temporal/t.rast.univar/t.rast.univar.html | 2 +- temporal/t.rast.univar/t.rast.univar.py | 14 +- temporal/t.rast.what/t.rast.what.py | 271 +- temporal/t.rast.what/testsuite/test_what.py | 247 +- temporal/t.rast3d.algebra/t.rast3d.algebra.py | 14 +- temporal/t.rast3d.extract/t.rast3d.extract.py | 14 +- temporal/t.rast3d.list/t.rast3d.list.py | 14 +- temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py | 14 +- temporal/t.rast3d.univar/t.rast3d.univar.py | 14 +- temporal/t.register/t.register.html | 2 +- temporal/t.register/t.register.py | 14 +- temporal/t.register/test.t.register.raster.sh | 21 + temporal/t.remove/t.remove.py | 14 +- temporal/t.rename/t.rename.py | 14 +- temporal/t.sample/t.sample.html | 2 +- temporal/t.sample/t.sample.py | 14 +- temporal/t.select/t.select.html | 2 +- temporal/t.select/t.select.py | 14 +- temporal/t.shift/t.shift.py | 14 +- temporal/t.snap/t.snap.py | 14 +- temporal/t.support/t.support.py | 14 +- temporal/t.topology/t.topology.py | 14 +- temporal/t.unregister/t.unregister.py | 14 +- temporal/t.vect.algebra/t.vect.algebra.html | 2 +- temporal/t.vect.algebra/t.vect.algebra.py | 14 +- temporal/t.vect.db.select/t.vect.db.select.py | 14 +- temporal/t.vect.export/t.vect.export.html | 2 +- temporal/t.vect.export/t.vect.export.py | 14 +- temporal/t.vect.extract/t.vect.extract.py | 14 +- temporal/t.vect.import/t.vect.import.html | 2 +- temporal/t.vect.import/t.vect.import.py | 15 +- temporal/t.vect.list/t.vect.list.py | 14 +- .../t.vect.observe.strds/t.vect.observe.strds.html | 2 +- .../t.vect.observe.strds/t.vect.observe.strds.py | 14 +- temporal/t.vect.univar/t.vect.univar.py | 14 +- temporal/t.vect.what.strds/t.vect.what.strds.html | 2 +- temporal/t.vect.what.strds/t.vect.what.strds.py | 14 +- temporal/temporalintro.html | 224 +- tools/g.html2man/Makefile | 2 +- tools/g.html2man/g.html2man.py | 16 +- tools/g.html2man/{groff.py => ggroff.py} | 0 tools/g.html2man/ghtml.py | 235 + tools/g.html2man/html.py | 219 - tools/mkhtml.py | 25 +- tools/ppmrotate.py | 133 + tools/symbol_to_img.sh | 52 + tools/thumbnails.py | 132 +- translators.csv | 1 + vector/Makefile | 2 + vector/v.buffer/main.c | 24 +- vector/v.buffer/v.buffer.html | 6 +- vector/v.build.polylines/v.build.polylines.html | 2 +- vector/v.clean/test/description.html | 2 +- vector/v.clean/v.clean.html | 2 +- vector/v.db.select/v.db.select.html | 2 +- vector/v.distance/local_proto.h | 2 +- vector/v.distance/main.c | 260 +- vector/v.distance/print.c | 2 +- vector/v.distance/v.distance.html | 60 +- vector/v.edit/args.c | 22 +- vector/v.edit/global.h | 5 +- vector/v.edit/main.c | 30 +- vector/v.edit/v.edit.html | 18 +- vector/v.external/args.c | 9 +- vector/v.external/dsn.c | 2 +- vector/v.external/local_proto.h | 24 +- vector/v.external/main.c | 60 +- vector/v.external/proj.c | 456 +- vector/v.external/v.external.html | 31 +- vector/v.generalize/v.generalize.html | 2 +- vector/v.in.ascii/main.c | 2 + vector/v.in.db/v.in.db.html | 2 +- vector/v.in.dwg/v.in.dwg.html | 2 +- vector/v.in.dxf/v.in.dxf.html | 2 +- vector/v.in.lidar/v.in.lidar.html | 2 +- vector/v.in.ogr/geom.c | 2 +- vector/v.in.ogr/global.h | 16 + vector/v.in.ogr/main.c | 1480 +- vector/v.in.ogr/proj.c | 457 + vector/v.in.ogr/v.in.ogr.html | 57 +- vector/v.in.pdal/v.in.pdal.html | 2 +- vector/v.info/level1.c | 25 +- vector/v.info/local_proto.h | 6 +- vector/v.info/main.c | 2 +- vector/v.info/print.c | 16 +- vector/v.info/testsuite/test_vinfo.py | 137 + vector/v.info/v.info.html | 4 +- vector/v.kernel/main.c | 1 + vector/v.kernel/v.kernel.html | 2 +- vector/v.label.sa/Makefile | 15 + vector/v.label.sa/annealing.c | 219 + vector/v.label.sa/font.c | 97 + vector/v.label.sa/labels.c | 1285 + vector/v.label.sa/labels.h | 185 + vector/v.label.sa/main.c | 216 + vector/v.label.sa/v.label.sa.html | 51 + vector/v.label.sa/v_label_sa.jpg | Bin 0 -> 123796 bytes vector/v.lidar.correction/v.lidar.correction.html | 2 +- .../v.lidar.edgedetection.html | 2 +- vector/v.lrs/v.lrs.segment/main.c | 5 +- vector/v.mkgrid/v.mkgrid.html | 2 +- vector/v.net.alloc/Makefile | 4 +- vector/v.net.alloc/alloc.c | 79 + vector/v.net.alloc/alloc.h | 3 + vector/v.net.alloc/main.c | 355 +- vector/v.net.alloc/v.net.alloc.html | 31 +- vector/v.net.components/v.net.components.html | 4 +- vector/v.net.distance/v.net.distance.html | 2 +- vector/v.net.flow/v.net.flow.html | 2 +- vector/v.net.iso/Makefile | 4 +- vector/v.net.iso/alloc.c | 345 + vector/v.net.iso/alloc.h | 23 + vector/v.net.iso/main.c | 437 +- vector/v.net.iso/v.net.iso.html | 39 +- vector/v.net.path/path.c | 9 +- vector/v.net.path/v.net.path.html | 2 +- vector/v.net.salesman/v.net.salesman.html | 2 +- vector/v.net.steiner/main.c | 2 +- vector/v.net.visibility/v.net.visibility.html | 2 +- vector/v.net/v.net.html | 2 +- vector/v.normal/v.normal.html | 2 +- vector/v.out.dxf/v.out.dxf.html | 2 +- vector/v.out.ogr/args.c | 12 +- vector/v.out.ogr/list.c | 91 +- vector/v.out.ogr/local_proto.h | 5 +- vector/v.out.ogr/main.c | 13 +- vector/v.out.ogr/v.out.ogr.html | 42 +- vector/v.out.pov/v.out.pov.html | 2 +- vector/v.out.svg/v.out.svg.html | 2 +- vector/v.outlier/v.outlier.html | 2 +- vector/v.overlay/v.overlay.html | 3 +- vector/v.patch/v.patch.html | 2 +- vector/v.perturb/v.perturb.html | 61 +- vector/v.perturb/v_perturb_normal.png | Bin 0 -> 15953 bytes vector/v.perturb/v_perturb_uniform.png | Bin 0 -> 16611 bytes vector/v.profile/Makefile | 13 + vector/v.profile/local_proto.h | 22 + vector/v.profile/main.c | 766 + vector/v.profile/processors.c | 76 + vector/v.profile/testsuite/test_v_profile.py | 139 + vector/v.profile/v.profile.html | 94 + vector/v.proj/main.c | 2 +- vector/v.proj/v.proj.html | 6 +- vector/v.qcount/v.qcount.html | 2 +- vector/v.random/v.random.html | 2 +- vector/v.segment/main.c | 6 +- vector/v.select/main.c | 11 +- vector/v.select/proto.h | 2 +- vector/v.select/select.c | 11 +- vector/v.select/v.select.html | 3 +- vector/v.support/main.c | 21 +- vector/v.support/v.support.html | 2 +- vector/v.surf.bspline/v.surf.bspline.html | 2 +- vector/v.surf.idw/v.surf.idw.html | 2 +- vector/v.surf.rst/Makefile | 6 +- vector/v.surf.rst/main.c | 47 +- vector/v.surf.rst/surf.h | 1 + vector/v.surf.rst/testsuite/test_vsurfrst.py | 107 + vector/v.surf.rst/v.surf.rst.html | 7 +- vector/v.timestamp/v.timestamp.html | 2 +- vector/v.to.db/areas.c | 24 + vector/v.to.db/global.h | 6 +- vector/v.to.db/main.c | 19 +- vector/v.to.db/parse.c | 17 +- vector/v.to.db/report.c | 10 + vector/v.to.db/update.c | 9 + vector/v.to.db/v.to.db.html | 5 +- vector/v.to.points/local_proto.h | 2 +- vector/v.to.points/main.c | 50 +- vector/v.to.points/v.to.points.html | 15 +- vector/v.to.points/write.c | 117 +- vector/v.to.rast/v.to.rast.html | 2 +- vector/v.transform/local_proto.h | 2 +- vector/v.transform/main.c | 30 +- vector/v.transform/trans_digit.c | 57 +- vector/v.type/v.type.html | 2 +- vector/v.univar/v.univar.html | 2 +- vector/v.vect.stats/main.c | 66 +- vector/v.vect.stats/v.vect.stats.html | 2 +- vector/v.vol.rst/v.vol.rst.html | 2 +- vector/v.voronoi/main.c | 8 +- vector/v.voronoi/sw_main.c | 6 +- vector/v.what/main.c | 43 +- vector/v.what/what.c | 643 +- vector/v.what/what.h | 9 + 1219 files changed, 1040182 insertions(+), 1011099 deletions(-) diff --cc debian/changelog index dcf7f69,d5dc963..6cf58ce --- a/debian/changelog +++ b/debian/changelog @@@ -1,19 -1,39 +1,55 @@@ + grass (7.4.0~rc2-1~exp2) UNRELEASED; urgency=medium + + * Don't install AppStream metadata in legacy location. + * Update copyright-format URL to use HTTPS. + + -- Bas Couwenberg <sebas...@debian.org> Tue, 09 Jan 2018 22:01:34 +0100 + + grass (7.4.0~rc2-1~exp1) experimental; urgency=medium + + * New upstream release candidate. + * Add overrides for dependency-on-python-version-marked-for-end-of-life. + * Bump Standards-Version to 4.1.3, no changes. + * Update copyright years for copyright holders. + * Drop patches applied upstream. + * Add patch to fix spelling errors. + + -- Bas Couwenberg <sebas...@debian.org> Tue, 09 Jan 2018 08:41:24 +0100 + + grass (7.4.0~rc1-1~exp1) experimental; urgency=medium + + * New upstream release candidate. + * Update spelling-errors.patch to fix additional typos. + * Add lintian override for package-installs-java-bytecode false positive. - * Bump Standards-Version to 4.1.1, no changes. ++ * Bump Standards-Version to 4.1.2, no changes. + * Override dh_gencontrol to set GRASS ABI dependency with substvars. + * Update watch file for GRASS 7.4 releases. + * Strip trailing whitespace from changelog. + * Update copyright years for copyright holders. + * Drop explicit use of autotools_dev dh helper. + * Update watch file to use HTTPS. + * Strip trailing whitespace from rules file. + * Add lintian override for hardening-no-fortify-functions. + * Drop unused lintian override for package-installs-java-bytecode. + + -- Bas Couwenberg <sebas...@debian.org> Fri, 17 Nov 2017 10:45:33 +0100 + +grass (7.2.2-2) unstable; urgency=medium + + * Add patch to only link to GEOS C library. + * Update spelling-errors.patch to fix additional typo. + * Add lintian override for package-installs-java-bytecode false positive. + * Bump Standards-Version to 4.1.2, no changes. + * Override dh_gencontrol to set GRASS ABI dependency with substvars. + * Strip trailing whitespace from changelog. + * Drop explicit use of autotools_dev dh helper. + * Update watch file to use HTTPS. + * Strip trailing whitespace from rules file. + * Drop unused lintian override for package-installs-java-bytecode. + * Add overrides for dependency-on-python-version-marked-for-end-of-life. + + -- Bas Couwenberg <sebas...@debian.org> Wed, 27 Dec 2017 23:13:43 +0100 + grass (7.2.2-1) unstable; urgency=medium * New upstream release. -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/grass.git _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel