[GRASS-dev] Re: [GRASS GIS] #73: r.out.gdal tiff output does not
work
GRASS GIS
trac at osgeo.org
Thu Oct 30 02:01:04 EDT 2008
#73: r.out.gdal tiff output does not work
--------------------------+-------------------------------------------------
Reporter: helena | Owner: grass-dev at lists.osgeo.org
Type: defect | Status: new
Priority: critical | Milestone: 6.4.0
Component: Raster | Version: svn-trunk
Resolution: | Keywords: r.out.gdal, tiff
Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by hamish):
Replying to [comment:24 mmetz]:
Hamish:
> > AFAIK this is just the setting of a metadata tag (or not), so not
> > really editing the raster data at all. As such I don't mind if
> > the user decides to set it when it would otherwise not be.
> > There's no processing involved.
Replying to [comment:24 mmetz]:
> This is the same like r.null setnull=nodata. Is this raster
> editing?
It is not the same because the raster cells are intact. You can "cleanse"
away the metadata with {{{ tifftopnm file.gtiff | pnmtotiff > file.tif }}}
and the metadata "nodata" tag is gone and your data is as it once was.
> Little word missing? "... if you need to realign the region
> settings '''to''' the original map's before export."
>
> Also maybe remove comments on GDAL datatypes just below the
> ranges of datatypes, because they are not really necessary?
thanks, done.
> > -c flag added
> Potentially misleading description: "Do not export long
> colortable"? A user might wonder whether short colortables
> are always exported?
they'd be right. Short tables are still written.
- Long: Byte and UInt16 maps write out a RGB value for each 256/66536
possible int.
- Short: These are the COLOR_TABLE_RULE_RGB_n metadata created by
GRASS by copying over the contents of the colr/ file. They are typically
4-5 lines long and work by ranges not per-possibility.
I agree it is unpleasant if the user specifies {{{
createopt="PROFILE=BASELINE" }}} for a bare-bones GeoTIFF and GRASS still
writes out COLOR_TABLE_RULE metadata anyway.
But typically the user will use that flag to avoid the list of 66536
RGB values, not the list of 5 rules.
> > The type range limit testing stuff is still TODO. (both data
> > max/min and nodata=)
>
> The min/max values for all integer types are identical to gdal
> and AFAIK universally valid. See min/max values in gdal-1.5.2
> gcore/rasterio.cpp.
>
> As I understand, min/max values for float32 are indirectly
> determined in gdal using typecast from double to float. The
> min/max values for float32 and float64 as suggested by me
> correspond to IEE 754 to my best knowledge.
>
> Values farthest away from zero have all bits in the mantissa
> set and all but the last in the exponent which is equal to
> (1 - 1/2^24^) * 2^128^ for float32 and (1 - 1/2^53^) * 2^1024^
> for float64, taken from
http://www.cs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF.
thanks for the refs., most useful
I notice gdal's gcore/rasterio.cpp has its Int32 min at -2147483647 not
-2147483648. That might make a diff if we wanted to use the min as the
default nodata value. ?? (or is that < not <= so ok?)
> There is a cplusplus style comment in local_proto.h. OK, it's
> in a c style comment, but that could be uncommented soon.
just a temporary thing, while we sort this out, and less dangerous
than a c-comment nested in another c-comment.
> In the TODO line 386 rather use GDALGetDataTypeName(datatype)
> than type->answer because type is not required and datatype is
> known by then.
I've copied your comment into my local copy of main.c.
> I guess once the type ranges are confirmed the TODOs can be done.
right.
I'm no expert on when it is best to terminate a big number with "UL", "L",
".0", "f" or use the likes of "(double)(unsigned int)0xFFFFFFFFu"
I notice with the current code that if I make a UInt16 map and don't
specify a nodata value the G_message reports it defaults to -32768, but
this may just be %d speaking, not the variable.
Hamish
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/73#comment:25>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list