On Sun, Jul 20, 2014 at 12:04 PM, Sören Gebbert < [email protected]> wrote:
> 2014-07-20 6:10 GMT+02:00 Anna Petrášová <[email protected]>: > > > > > > > > On Sat, Jul 19, 2014 at 6:30 PM, Sören Gebbert > > <[email protected]> wrote: > >> > >> Hi Anna, > >> > >> 2014-07-19 19:04 GMT+02:00 Anna Petrášová <[email protected]>: > >> > Hi, > >> > > >> > I have a question about Rast3d_location2coord [1]. It is casting the > >> > col, > >> > row, depth values to integer like this: > >> > > >> > (int) col > >> > > >> > instead of using > >> > > >> > (int)floor(col) > >> > > >> > as a result, col = 0.1 => col = 0 and col = -0.1 => col = 0, which > >> > doesn't > >> > seem correct to me. Any opinions? > >> > >> I totally agree that there should be a function that returns the row, > >> col and depth as double values, so the developer can decide how to > >> handle these values. Otherwise there would be no convenient way to > >> determine where coordinates are located in the voxel. > >> > >> But i am not sure if the integer casting is a bug, since the > >> Rast_easting_to_col() /Rast_northing_to_row() docs suggest integer > >> casting as conversion method. There are algorithms in GRASS that use > >> only integer casting and algorithms that make use of rounding with > >> floor() before casting to integer. > >> > >> The problem arise in case of negative column,row or depth values when > >> casting to integer without rounding to an integer smaller than the > >> double number. So the question is are there any chances to receive > >> negative cols,rows and depths? > >> > >> It does not seems do to me for col and row, since in case of negative > >> coordinates will west and south always be smaller than east and north, > >> resulting in always positive cols and rows. And the same should be > >> true for depths, unless the top is smaller than bottom. > > > > > > Yes, but you still can get negative col, for example when looking for the > > neighboring voxels of a voxel on the edge of the 3D raster. Then, the > > inconsistency causes problem. > > Good point, i have updated the Rast3d_location2coord() function to use > floor. > Thanks, I hope it won't be too much overhead comparing to int. Anna > Best regards > Soeren > > > Thanks a lot for implementing Rast3d_location2coord_double. > > > > Anna > > > >> > >> Best regards > >> Soeren > >> > >> > > >> > Thanks, Anna > >> > > >> > BTW, similar function Rast_northing_to_row from raster library returns > >> > double. > >> > > >> > > >> > [1] http://grass.osgeo.org/programming7/region_8c_source.html#l00291 > >> > > >> > _______________________________________________ > >> > grass-dev mailing list > >> > [email protected] > >> > http://lists.osgeo.org/mailman/listinfo/grass-dev > > > > >
_______________________________________________ grass-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-dev
