[GRASS-SVN] r46725 - grass/trunk/raster3d/r3.to.rast
svn_grass at osgeo.org
svn_grass at osgeo.org
Thu Jun 16 09:58:44 EDT 2011
Author: huhabla
Date: 2011-06-16 06:58:43 -0700 (Thu, 16 Jun 2011)
New Revision: 46725
Added:
grass/trunk/raster3d/r3.to.rast/test.r3.to.rast.sh
grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00001.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00002.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00003.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00004.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00005.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00001.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00002.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00003.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00004.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00005.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00001.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00002.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00003.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00004.ref
grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00005.ref
Modified:
grass/trunk/raster3d/r3.to.rast/main.c
Log:
Implemented new row order for volume data. Added tests and reference
data.
Modified: grass/trunk/raster3d/r3.to.rast/main.c
===================================================================
--- grass/trunk/raster3d/r3.to.rast/main.c 2011-06-16 12:38:11 UTC (rev 46724)
+++ grass/trunk/raster3d/r3.to.rast/main.c 2011-06-16 13:58:43 UTC (rev 46725)
@@ -1,20 +1,20 @@
/****************************************************************************
-*
-* MODULE: r3.to.rast
-*
-* AUTHOR(S): Original author
-* Soeren Gebbert soerengebbert at gmx.de
-* 08 01 2005 Berlin
-* PURPOSE: Converts 3D raster maps to 2D raster maps
-*
-* COPYRIGHT: (C) 2005 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: r3.to.rast
+ *
+ * AUTHOR(S): Original author
+ * Soeren Gebbert soerengebbert at gmx.de
+ * 08 01 2005 Berlin
+ * PURPOSE: Converts 3D raster maps to 2D raster maps
+ *
+ * COPYRIGHT: (C) 2005 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.
+ *
+ *****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -23,28 +23,27 @@
#include <grass/G3d.h>
#include <grass/glocale.h>
-
/*- Parameters and global variables -----------------------------------------*/
-typedef struct
-{
+typedef struct {
struct Option *input, *output;
struct Flag *mask;
- struct Flag *res; /*If set, use the same resolution as the input map */
+ struct Flag *res; /*If set, use the same resolution as the input map */
} paramType;
-paramType param; /*Parameters */
+paramType param; /*Parameters */
/*- prototypes --------------------------------------------------------------*/
-void fatal_error(void *map, int *fd, int depths, char *errorMsg); /*Simple Error message */
-void set_params(); /*Fill the paramType structure */
-void g3d_to_raster(void *map, G3D_Region region, int *fd); /*Write the raster */
-int open_output_map(const char *name, int res_type); /*opens the outputmap */
-void close_output_map(int fd); /*close the map */
+void fatal_error(void *map, int *fd, int depths, char *errorMsg); /*Simple Error message */
+void set_params(); /*Fill the paramType structure */
+void g3d_to_raster(void *map, G3D_Region region, int *fd); /*Write the raster */
+int open_output_map(const char *name, int res_type); /*opens the outputmap */
+void close_output_map(int fd); /*close the map */
/* ************************************************************************* */
/* Error handling ********************************************************** */
+
/* ************************************************************************* */
void fatal_error(void *map, int *fd, int depths, char *errorMsg)
{
@@ -52,13 +51,13 @@
/* Close files and exit */
if (map != NULL) {
- if (!G3d_closeCell(map))
- G3d_fatalError(_("Unable to close the 3d raster map"));
+ if (!G3d_closeCell(map))
+ G3d_fatalError(_("Unable to close the 3d raster map"));
}
if (fd != NULL) {
- for (i = 0; i < depths; i++)
- Rast_unopen(fd[i]);
+ for (i = 0; i < depths; i++)
+ Rast_unopen(fd[i]);
}
G3d_fatalError(errorMsg);
@@ -68,6 +67,7 @@
/* ************************************************************************* */
/* Set up the arguments we are expecting ********************************** */
+
/* ************************************************************************* */
void set_params()
{
@@ -77,7 +77,7 @@
param.input->required = YES;
param.input->gisprompt = "old,grid3,3d-raster";
param.input->description =
- _("3d raster map(s) to be converted to 2D raster slices");
+ _("3d raster map(s) to be converted to 2D raster slices");
param.output = G_define_option();
param.output->key = "output";
@@ -93,12 +93,13 @@
param.res = G_define_flag();
param.res->key = 'r';
param.res->description =
- _("Use the same resolution as the input G3D map for the 2d output "
- "maps, independent of the current region settings");
+ _("Use the same resolution as the input G3D map for the 2d output "
+ "maps, independent of the current region settings");
}
/* ************************************************************************* */
/* Write the slices to seperate raster maps ******************************** */
+
/* ************************************************************************* */
void g3d_to_raster(void *map, G3D_Region region, int *fd)
{
@@ -114,62 +115,62 @@
G_debug(2, "g3d_to_raster: Writing %i raster maps with %i rows %i cols.",
- depths, rows, cols);
+ depths, rows, cols);
typeIntern = G3d_tileTypeMap(map);
if (typeIntern == FCELL_TYPE)
- fcell = Rast_allocate_f_buf();
+ fcell = Rast_allocate_f_buf();
else if (typeIntern == DCELL_TYPE)
- dcell = Rast_allocate_d_buf();
+ dcell = Rast_allocate_d_buf();
pos = 0;
/*Every Rastermap */
- for (z = 0; z < depths; z++) { /*From the bottom to the top */
- G_debug(2, "Writing raster map %d of %d", z + 1, depths);
- for (y = 0; y < rows; y++) {
- G_percent(y, rows - 1, 10);
+ for (z = 0; z < depths; z++) { /*From the bottom to the top */
+ G_debug(2, "Writing raster map %d of %d", z + 1, depths);
+ for (y = 0; y < rows; y++) {
+ G_percent(y, rows - 1, 10);
- for (x = 0; x < cols; x++) {
- /* Because we write raster rows from north to south, but the coordinate system
- of the g3d cube read from south to north we need to adjust the
- Cube coordinates row = rows - y - 1.
- */
- if (typeIntern == FCELL_TYPE) {
- G3d_getValue(map, x, rows - y - 1, z, &f1, typeIntern);
- if (G3d_isNullValueNum(&f1, FCELL_TYPE))
- Rast_set_null_value(&fcell[x], 1, FCELL_TYPE);
- else
- fcell[x] = (FCELL) f1;
- }
- else {
- G3d_getValue(map, x, rows - y - 1, z, &d1, typeIntern);
- if (G3d_isNullValueNum(&d1, DCELL_TYPE))
- Rast_set_null_value(&dcell[x], 1, DCELL_TYPE);
- else
- dcell[x] = (DCELL) d1;
- }
- }
- if (typeIntern == FCELL_TYPE)
- Rast_put_f_row(fd[pos], fcell);
+ for (x = 0; x < cols; x++) {
+ /* Because we write raster rows from north to south, but the coordinate system
+ of the g3d cube read from south to north we need to adjust the
+ Cube coordinates row = rows - y - 1.
+ */
+ if (typeIntern == FCELL_TYPE) {
+ G3d_getValue(map, x, rows - y - 1, z, &f1, typeIntern);
+ if (G3d_isNullValueNum(&f1, FCELL_TYPE))
+ Rast_set_null_value(&fcell[x], 1, FCELL_TYPE);
+ else
+ fcell[x] = (FCELL) f1;
+ } else {
+ G3d_getValue(map, x, rows - y - 1, z, &d1, typeIntern);
+ if (G3d_isNullValueNum(&d1, DCELL_TYPE))
+ Rast_set_null_value(&dcell[x], 1, DCELL_TYPE);
+ else
+ dcell[x] = (DCELL) d1;
+ }
+ }
+ if (typeIntern == FCELL_TYPE)
+ Rast_put_f_row(fd[pos], fcell);
- if (typeIntern == DCELL_TYPE)
- Rast_put_d_row(fd[pos], dcell);
- }
- G_debug(2, "Finished writing map %d.", z + 1);
- pos++;
+ if (typeIntern == DCELL_TYPE)
+ Rast_put_d_row(fd[pos], dcell);
+ }
+ G_debug(2, "Finished writing map %d.", z + 1);
+ pos++;
}
if (dcell)
- G_free(dcell);
+ G_free(dcell);
if (fcell)
- G_free(fcell);
+ G_free(fcell);
}
/* ************************************************************************* */
/* Open the raster output map ********************************************** */
+
/* ************************************************************************* */
int open_output_map(const char *name, int res_type)
{
@@ -178,6 +179,7 @@
/* ************************************************************************* */
/* Close the raster output map ********************************************* */
+
/* ************************************************************************* */
void close_output_map(int fd)
{
@@ -186,6 +188,7 @@
/* ************************************************************************* */
/* Main function, open the G3D map and create the raster maps ************** */
+
/* ************************************************************************* */
int main(int argc, char *argv[])
{
@@ -193,7 +196,7 @@
struct Cell_head region2d;
struct GModule *module;
struct History history;
- void *map = NULL; /*The 3D Rastermap */
+ void *map = NULL; /*The 3D Rastermap */
int i = 0, changemask = 0;
int *fd = NULL, output_type, cols, rows;
char *RasterFileName;
@@ -212,13 +215,13 @@
/* Have GRASS get inputs */
if (G_parser(argc, argv))
- exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
G_debug(3, _("Open 3d raster map <%s>"), param.input->answer);
if (NULL == G_find_grid3(param.input->answer, ""))
- G3d_fatalError(_("3d raster map <%s> not found"),
- param.input->answer);
+ G3d_fatalError(_("3d raster map <%s> not found"),
+ param.input->answer);
/*Set the defaults */
G3d_initDefaults();
@@ -226,55 +229,57 @@
/*Set the resolution of the output maps */
if (param.res->answer) {
- /*Open the map with current region */
- map = G3d_openCellOld(param.input->answer,
- G_find_grid3(param.input->answer, ""),
- G3D_DEFAULT_WINDOW, G3D_TILE_SAME_AS_FILE,
- G3D_USE_CACHE_DEFAULT);
- if (map == NULL)
- G3d_fatalError(_("Error opening 3d raster map <%s>"),
- param.input->answer);
+ /*Open the map with current region */
+ map = G3d_openCellOld(param.input->answer,
+ G_find_grid3(param.input->answer, ""),
+ G3D_DEFAULT_WINDOW, G3D_TILE_SAME_AS_FILE,
+ G3D_USE_CACHE_DEFAULT);
+ if (map == NULL)
+ G3d_fatalError(_("Error opening 3d raster map <%s>"),
+ param.input->answer);
- /*Get the region of the map */
- G3d_getRegionStructMap(map, ®ion);
- /*set this region as current 3d window for map */
- G3d_setWindowMap(map, ®ion);
- /*Set the 2d region appropriate */
- G3d_extract2dRegion(®ion, ®ion2d);
- /*Make the new 2d region the default */
- Rast_set_window(®ion2d);
+ /*Get the region of the map */
+ G3d_getRegionStructMap(map, ®ion);
+ /*set this region as current 3d window for map */
+ G3d_setWindowMap(map, ®ion);
+ /*Set the 2d region appropriate */
+ G3d_extract2dRegion(®ion, ®ion2d);
+ /*Make the new 2d region the default */
+ Rast_set_window(®ion2d);
- }
- else {
- /* Figure out the region from the map */
- G3d_getWindow(®ion);
+ } else {
+ /* Figure out the region from the map */
+ G3d_getWindow(®ion);
- /*Check if the g3d-region is equal to the 2d rows and cols */
- rows = Rast_window_rows();
- cols = Rast_window_cols();
+ /*Open the 3d raster map */
+ map = G3d_openCellOld(param.input->answer,
+ G_find_grid3(param.input->answer, ""),
+ ®ion, G3D_TILE_SAME_AS_FILE,
+ G3D_USE_CACHE_DEFAULT);
- /*If not equal, set the 3D window correct */
- if (rows != region.rows || cols != region.cols) {
- G_message(_("The 2d and 3d region settings are different. "
- "Using the 2D window settings to adjust the 2D part of the 3D region."));
- G_get_set_window(®ion2d);
- region.ns_res = region2d.ns_res;
- region.ew_res = region2d.ew_res;
- region.rows = region2d.rows;
- region.cols = region2d.cols;
- G3d_setWindow(®ion);
- }
+ if (map == NULL)
+ G3d_fatalError(_("Error opening 3d raster map <%s>"),
+ param.input->answer);
+ }
- /*Open the 3d raster map */
- map = G3d_openCellOld(param.input->answer,
- G_find_grid3(param.input->answer, ""),
- ®ion, G3D_TILE_SAME_AS_FILE,
- G3D_USE_CACHE_DEFAULT);
+ /*Check if the g3d-region is equal to the 2d rows and cols */
+ rows = Rast_window_rows();
+ cols = Rast_window_cols();
- if (map == NULL)
- G3d_fatalError(_("Error opening 3d raster map <%s>"),
- param.input->answer);
+ /*If not equal, set the 3D window correct */
+ if (rows != region.rows || cols != region.cols) {
+ G_message(_("The 2d and 3d region settings are different. "
+ "Using the 2D window settings to adjust the 2D part of the 3D region."));
+ G_get_set_window(®ion2d);
+ region.ns_res = region2d.ns_res;
+ region.ew_res = region2d.ew_res;
+ region.rows = region2d.rows;
+ region.cols = region2d.cols;
+
+ G3d_adjustRegion(®ion);
+
+ G3d_setWindowMap(map, ®ion);
}
/* save the input map region for later use (history meta-data) */
@@ -285,39 +290,39 @@
/*prepare the filehandler */
- fd = (int *)G_malloc(region.depths * sizeof(int));
+ fd = (int *) G_malloc(region.depths * sizeof (int));
if (fd == NULL)
- fatal_error(map, NULL, 0, _("Out of memory"));
+ fatal_error(map, NULL, 0, _("Out of memory"));
G_message(_("Creating %i raster maps"), region.depths);
/*Loop over all output maps! open */
for (i = 0; i < region.depths; i++) {
- /*Create the outputmaps */
- G_asprintf(&RasterFileName, "%s_%05d", param.output->answer, i + 1);
- G_message(_("Raster map %i Filename: %s"), i + 1, RasterFileName);
+ /*Create the outputmaps */
+ G_asprintf(&RasterFileName, "%s_%05d", param.output->answer, i + 1);
+ G_message(_("Raster map %i Filename: %s"), i + 1, RasterFileName);
- if (G_find_raster2(RasterFileName, ""))
- G_message(_("Raster map %d Filename: %s already exists. Will be overwritten!"),
- i + 1, RasterFileName);
+ if (G_find_raster2(RasterFileName, ""))
+ G_message(_("Raster map %d Filename: %s already exists. Will be overwritten!"),
+ i + 1, RasterFileName);
- if (output_type == FCELL_TYPE)
- fd[i] = open_output_map(RasterFileName, FCELL_TYPE);
- else if (output_type == DCELL_TYPE)
- fd[i] = open_output_map(RasterFileName, DCELL_TYPE);
+ if (output_type == FCELL_TYPE)
+ fd[i] = open_output_map(RasterFileName, FCELL_TYPE);
+ else if (output_type == DCELL_TYPE)
+ fd[i] = open_output_map(RasterFileName, DCELL_TYPE);
}
/*if requested set the Mask on */
if (param.mask->answer) {
- if (G3d_maskFileExists()) {
- changemask = 0;
- if (G3d_maskIsOff(map)) {
- G3d_maskOn(map);
- changemask = 1;
- }
- }
+ if (G3d_maskFileExists()) {
+ changemask = 0;
+ if (G3d_maskIsOff(map)) {
+ G3d_maskOn(map);
+ changemask = 1;
+ }
+ }
}
/*Create the Rastermaps */
@@ -326,55 +331,55 @@
/*Loop over all output maps! close */
for (i = 0; i < region.depths; i++) {
- close_output_map(fd[i]);
+ close_output_map(fd[i]);
- /* write history */
- G_asprintf(&RasterFileName, "%s_%i", param.output->answer, i + 1);
- G_debug(4, "Raster map %d Filename: %s", i + 1, RasterFileName);
- Rast_short_history(RasterFileName, "raster", &history);
+ /* write history */
+ G_asprintf(&RasterFileName, "%s_%i", param.output->answer, i + 1);
+ G_debug(4, "Raster map %d Filename: %s", i + 1, RasterFileName);
+ Rast_short_history(RasterFileName, "raster", &history);
- Rast_set_history(&history, HIST_DATSRC_1, "3D Raster map:");
- Rast_set_history(&history, HIST_DATSRC_2, param.input->answer);
+ Rast_set_history(&history, HIST_DATSRC_1, "3D Raster map:");
+ Rast_set_history(&history, HIST_DATSRC_2, param.input->answer);
- Rast_append_format_history(&history, "Level %d of %d", i + 1, region.depths);
- Rast_append_format_history(&history, "Level z-range: %f to %f",
- region.bottom + (i * region.tb_res),
- region.bottom + (i + 1 * region.tb_res));
+ Rast_append_format_history(&history, "Level %d of %d", i + 1, region.depths);
+ Rast_append_format_history(&history, "Level z-range: %f to %f",
+ region.bottom + (i * region.tb_res),
+ region.bottom + (i + 1 * region.tb_res));
- Rast_append_format_history(&history, "Input map full z-range: %f to %f",
- inputmap_bounds.bottom, inputmap_bounds.top);
- Rast_append_format_history(&history, "Input map z-resolution: %f",
- inputmap_bounds.tb_res);
+ Rast_append_format_history(&history, "Input map full z-range: %f to %f",
+ inputmap_bounds.bottom, inputmap_bounds.top);
+ Rast_append_format_history(&history, "Input map z-resolution: %f",
+ inputmap_bounds.tb_res);
- if (!param.res->answer) {
- Rast_append_format_history(&history, "GIS region full z-range: %f to %f",
- region.bottom, region.top);
- Rast_append_format_history(&history, "GIS region z-resolution: %f",
- region.tb_res);
- }
+ if (!param.res->answer) {
+ Rast_append_format_history(&history, "GIS region full z-range: %f to %f",
+ region.bottom, region.top);
+ Rast_append_format_history(&history, "GIS region z-resolution: %f",
+ region.tb_res);
+ }
- Rast_command_history(&history);
- Rast_write_history(RasterFileName, &history);
+ Rast_command_history(&history);
+ Rast_write_history(RasterFileName, &history);
}
/*We set the Mask off, if it was off before */
if (param.mask->answer) {
- if (G3d_maskFileExists())
- if (G3d_maskIsOn(map) && changemask)
- G3d_maskOff(map);
+ if (G3d_maskFileExists())
+ if (G3d_maskIsOn(map) && changemask)
+ G3d_maskOff(map);
}
/*Cleaning */
if (RasterFileName)
- G_free(RasterFileName);
+ G_free(RasterFileName);
if (fd)
- G_free(fd);
+ G_free(fd);
/* Close files and exit */
if (!G3d_closeCell(map))
- fatal_error(map, NULL, 0, _("Error closing 3d raster map"));
+ fatal_error(map, NULL, 0, _("Error closing 3d raster map"));
map = NULL;
Added: grass/trunk/raster3d/r3.to.rast/test.r3.to.rast.sh
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test.r3.to.rast.sh (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test.r3.to.rast.sh 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,41 @@
+# This script tests the conversion of voxel data
+# into raster data slices. Validation data for each test
+# is located in the module source directory
+
+# We need to set a specific region in the
+# @preprocess step of this test. We generate
+# voxel data with r3.mapcalc. The region setting
+# should work for UTM and LL test locations
+g.region s=0 n=80 w=0 e=120 b=0 t=50 res=10 res3=10 -p3
+# Now create a voxel map with value = col + row + depth. Beware the
+# raster3d module count from south to north.
+r3.mapcalc --o expr="volume = col() + row() + depth()"
+# Add null value information
+r3.mapcalc --o expr="volume_null = if(row() == 1 || row() == 5, null(), volume)"
+
+# First we @test with identical region settings for raster and voxel data
+# Reference data for all generated @raster maps are located in the r3.to.rast source directory.
+r3.to.rast --o input=volume_null output=test_raster_slice_1
+
+# Export of the references
+# for i in `g.mlist type=rast pattern=test_raster_slice_1*` ; do r.out.ascii input=$i output=${i}.ref; done
+
+# The next @preprocess step adjusts the raster region to increase the resolution by 2
+g.region res=7.5 -p3
+
+# This @test should show the via nearest neighbour resampled data.
+# Reference data for all generated @raster maps are located in the r3.to.rast source directory.
+r3.to.rast --o input=volume_null output=test_raster_slice_2
+
+# Export of the references
+# for i in `g.mlist type=rast pattern=test_raster_slice_2*` ; do r.out.ascii input=$i output=${i}.ref; done
+
+# The next @preprocess step adjusts the raster region to increase the resolution by 2 again
+g.region res=5 -p3
+
+# This @test should show the via nearest neighbour resampled data.
+# Reference data for all generated @raster maps are located in the r3.to.rast source directory.
+r3.to.rast --o input=volume_null output=test_raster_slice_3
+
+# Export of the references
+# for i in `g.mlist type=rast pattern=test_raster_slice_3*` ; do r.out.ascii input=$i output=${i}.ref; done
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00001.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00001.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00001.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,14 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 8
+cols: 12
+10 11 12 13 14 15 16 17 18 19 20 21
+9 10 11 12 13 14 15 16 17 18 19 20
+8 9 10 11 12 13 14 15 16 17 18 19
+* * * * * * * * * * * *
+6 7 8 9 10 11 12 13 14 15 16 17
+5 6 7 8 9 10 11 12 13 14 15 16
+4 5 6 7 8 9 10 11 12 13 14 15
+* * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00002.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00002.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00002.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,14 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 8
+cols: 12
+11 12 13 14 15 16 17 18 19 20 21 22
+10 11 12 13 14 15 16 17 18 19 20 21
+9 10 11 12 13 14 15 16 17 18 19 20
+* * * * * * * * * * * *
+7 8 9 10 11 12 13 14 15 16 17 18
+6 7 8 9 10 11 12 13 14 15 16 17
+5 6 7 8 9 10 11 12 13 14 15 16
+* * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00003.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00003.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00003.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,14 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 8
+cols: 12
+12 13 14 15 16 17 18 19 20 21 22 23
+11 12 13 14 15 16 17 18 19 20 21 22
+10 11 12 13 14 15 16 17 18 19 20 21
+* * * * * * * * * * * *
+8 9 10 11 12 13 14 15 16 17 18 19
+7 8 9 10 11 12 13 14 15 16 17 18
+6 7 8 9 10 11 12 13 14 15 16 17
+* * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00004.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00004.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00004.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,14 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 8
+cols: 12
+13 14 15 16 17 18 19 20 21 22 23 24
+12 13 14 15 16 17 18 19 20 21 22 23
+11 12 13 14 15 16 17 18 19 20 21 22
+* * * * * * * * * * * *
+9 10 11 12 13 14 15 16 17 18 19 20
+8 9 10 11 12 13 14 15 16 17 18 19
+7 8 9 10 11 12 13 14 15 16 17 18
+* * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00005.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00005.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_1_00005.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,14 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 8
+cols: 12
+14 15 16 17 18 19 20 21 22 23 24 25
+13 14 15 16 17 18 19 20 21 22 23 24
+12 13 14 15 16 17 18 19 20 21 22 23
+* * * * * * * * * * * *
+10 11 12 13 14 15 16 17 18 19 20 21
+9 10 11 12 13 14 15 16 17 18 19 20
+8 9 10 11 12 13 14 15 16 17 18 19
+* * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00001.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00001.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00001.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,17 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 11
+cols: 16
+10 11 11 12 13 14 14 15 16 17 17 18 19 20 20 21
+9 10 10 11 12 13 13 14 15 16 16 17 18 19 19 20
+9 10 10 11 12 13 13 14 15 16 16 17 18 19 19 20
+8 9 9 10 11 12 12 13 14 15 15 16 17 18 18 19
+* * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * *
+6 7 7 8 9 10 10 11 12 13 13 14 15 16 16 17
+5 6 6 7 8 9 9 10 11 12 12 13 14 15 15 16
+4 5 5 6 7 8 8 9 10 11 11 12 13 14 14 15
+4 5 5 6 7 8 8 9 10 11 11 12 13 14 14 15
+* * * * * * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00002.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00002.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00002.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,17 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 11
+cols: 16
+11 12 12 13 14 15 15 16 17 18 18 19 20 21 21 22
+10 11 11 12 13 14 14 15 16 17 17 18 19 20 20 21
+10 11 11 12 13 14 14 15 16 17 17 18 19 20 20 21
+9 10 10 11 12 13 13 14 15 16 16 17 18 19 19 20
+* * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * *
+7 8 8 9 10 11 11 12 13 14 14 15 16 17 17 18
+6 7 7 8 9 10 10 11 12 13 13 14 15 16 16 17
+5 6 6 7 8 9 9 10 11 12 12 13 14 15 15 16
+5 6 6 7 8 9 9 10 11 12 12 13 14 15 15 16
+* * * * * * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00003.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00003.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00003.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,17 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 11
+cols: 16
+12 13 13 14 15 16 16 17 18 19 19 20 21 22 22 23
+11 12 12 13 14 15 15 16 17 18 18 19 20 21 21 22
+11 12 12 13 14 15 15 16 17 18 18 19 20 21 21 22
+10 11 11 12 13 14 14 15 16 17 17 18 19 20 20 21
+* * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * *
+8 9 9 10 11 12 12 13 14 15 15 16 17 18 18 19
+7 8 8 9 10 11 11 12 13 14 14 15 16 17 17 18
+6 7 7 8 9 10 10 11 12 13 13 14 15 16 16 17
+6 7 7 8 9 10 10 11 12 13 13 14 15 16 16 17
+* * * * * * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00004.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00004.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00004.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,17 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 11
+cols: 16
+13 14 14 15 16 17 17 18 19 20 20 21 22 23 23 24
+12 13 13 14 15 16 16 17 18 19 19 20 21 22 22 23
+12 13 13 14 15 16 16 17 18 19 19 20 21 22 22 23
+11 12 12 13 14 15 15 16 17 18 18 19 20 21 21 22
+* * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * *
+9 10 10 11 12 13 13 14 15 16 16 17 18 19 19 20
+8 9 9 10 11 12 12 13 14 15 15 16 17 18 18 19
+7 8 8 9 10 11 11 12 13 14 14 15 16 17 17 18
+7 8 8 9 10 11 11 12 13 14 14 15 16 17 17 18
+* * * * * * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00005.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00005.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_2_00005.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,17 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 11
+cols: 16
+14 15 15 16 17 18 18 19 20 21 21 22 23 24 24 25
+13 14 14 15 16 17 17 18 19 20 20 21 22 23 23 24
+13 14 14 15 16 17 17 18 19 20 20 21 22 23 23 24
+12 13 13 14 15 16 16 17 18 19 19 20 21 22 22 23
+* * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * *
+10 11 11 12 13 14 14 15 16 17 17 18 19 20 20 21
+9 10 10 11 12 13 13 14 15 16 16 17 18 19 19 20
+8 9 9 10 11 12 12 13 14 15 15 16 17 18 18 19
+8 9 9 10 11 12 12 13 14 15 15 16 17 18 18 19
+* * * * * * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00001.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00001.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00001.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,22 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 16
+cols: 24
+10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21
+10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21
+9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20
+9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20
+8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19
+8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19
+* * * * * * * * * * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * * * * * * * * * *
+6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17
+6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17
+5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16
+5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16
+4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15
+4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15
+* * * * * * * * * * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00002.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00002.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00002.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,22 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 16
+cols: 24
+11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22
+11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22
+10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21
+10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21
+9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20
+9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20
+* * * * * * * * * * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * * * * * * * * * *
+7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18
+7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18
+6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17
+6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17
+5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16
+5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16
+* * * * * * * * * * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00003.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00003.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00003.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,22 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 16
+cols: 24
+12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23
+12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23
+11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22
+11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22
+10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21
+10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21
+* * * * * * * * * * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * * * * * * * * * *
+8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19
+8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19
+7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18
+7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18
+6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17
+6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17
+* * * * * * * * * * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00004.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00004.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00004.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,22 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 16
+cols: 24
+13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24
+13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24
+12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23
+12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23
+11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22
+11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22
+* * * * * * * * * * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * * * * * * * * * *
+9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20
+9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20
+8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19
+8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19
+7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18
+7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18
+* * * * * * * * * * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * * * * * * * * * *
Added: grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00005.ref
===================================================================
--- grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00005.ref (rev 0)
+++ grass/trunk/raster3d/r3.to.rast/test_raster_slice_3_00005.ref 2011-06-16 13:58:43 UTC (rev 46725)
@@ -0,0 +1,22 @@
+north: 80
+south: 0
+east: 120
+west: 0
+rows: 16
+cols: 24
+14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25
+14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25
+13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24
+13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24
+12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23
+12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23
+* * * * * * * * * * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * * * * * * * * * *
+10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21
+10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21
+9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20
+9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20
+8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19
+8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19
+* * * * * * * * * * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * * * * * * * * * *
More information about the grass-commit
mailing list