Question regarding signed 8 bit rasters

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Question regarding signed 8 bit rasters

Rob Emanuele
Hello,

I have an example of a GridCoverage2D that I am trying to create with an signed byte data type. This seems like it should be possible...I create a GridSampleDimension with a SampleDimensionType of SampleDimensionType.SIGNED_8BITS. I then use that GridSampleDimension in the GridCoverageFactory.create call, which for some reason sets the type to SampleDimensionType.UNSIGNED_8BITS.

Tracing through the code, when I originally create the GridSampleDimension, a call to TypeMap.getSampleDimensionType is made (https://github.com/geotools/geotools/blob/14.3/modules/library/coverage/src/main/java/org/geotools/coverage/TypeMap.java#L259) which evaluates to the correct dimension type, based on the range of values. During the creation of the GridCoverage2D, the range of values is ignored, and we end up at this call of TypeMap.getSampleDimensionType (https://github.com/geotools/geotools/blob/14.3/modules/library/coverage/src/main/java/org/geotools/coverage/TypeMap.java#L285), which assumes any DataBuffer of TYPE_BYTE must mean unsigned bytes.

I see this behavior also when reading in GeoTiffs that have unsigned byte types; it reads the SampleDimenisonType as a unsigned byte.

This seems like a bug, can someone please confirm? Or am I missing how to detect signed bytes?

Thanks,
Rob

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
GeoTools-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geotools-devel
Reply | Threaded
Open this post in threaded view
|

Re: Question regarding signed 8 bit rasters

Simone Giannecchini
Ciao Rob,
I think this is bug.

I'll be honest, I don't remember caming across use cases where we were
using byte data with sign hence this might explain why this condition
was never caught.

Do you mind opening a JIRA for this? That said a PR would also be welcome :)

Regards,
Simone Giannecchini
==
GeoServer Professional Services from the experts!
Visit http://goo.gl/it488V for more information.
==
Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via di Montramito 3/A
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax:     +39 0584 1660272
mob:   +39  333 8128928

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate.
Il loro utilizzo è consentito esclusivamente al destinatario del
messaggio, per le finalità indicate nel messaggio stesso. Qualora
riceviate questo messaggio senza esserne il destinatario, Vi preghiamo
cortesemente di darcene notizia via e-mail e di procedere alla
distruzione del messaggio stesso, cancellandolo dal Vostro sistema.
Conservare il messaggio stesso, divulgarlo anche in parte,
distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità
diverse, costituisce comportamento contrario ai principi dettati dal
D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely
for the attention and use of the named addressee(s) and may be
confidential or proprietary in nature or covered by the provisions of
privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New
Data Protection Code).Any use not in accord with its purpose, any
disclosure, reproduction, copying, distribution, or either
dissemination, either whole or partial, is strictly forbidden except
previous formal approval of the named addressee(s). If you are not the
intended recipient, please contact immediately the sender by
telephone, fax or e-mail and delete the information in this message
that has been received in error. The sender does not give any warranty
or accept liability as the content, accuracy or completeness of sent
messages and accepts no responsibility  for changes made after they
were sent or for other risks which arise as a result of e-mail
transmission, viruses, etc.


On Tue, May 31, 2016 at 11:49 PM, Rob Emanuele <[hidden email]> wrote:

> Hello,
>
> I have an example of a GridCoverage2D that I am trying to create with an
> signed byte data type. This seems like it should be possible...I create a
> GridSampleDimension with a SampleDimensionType of
> SampleDimensionType.SIGNED_8BITS. I then use that GridSampleDimension in the
> GridCoverageFactory.create call, which for some reason sets the type to
> SampleDimensionType.UNSIGNED_8BITS.
>
> Tracing through the code, when I originally create the GridSampleDimension,
> a call to TypeMap.getSampleDimensionType is made
> (https://github.com/geotools/geotools/blob/14.3/modules/library/coverage/src/main/java/org/geotools/coverage/TypeMap.java#L259)
> which evaluates to the correct dimension type, based on the range of values.
> During the creation of the GridCoverage2D, the range of values is ignored,
> and we end up at this call of TypeMap.getSampleDimensionType
> (https://github.com/geotools/geotools/blob/14.3/modules/library/coverage/src/main/java/org/geotools/coverage/TypeMap.java#L285),
> which assumes any DataBuffer of TYPE_BYTE must mean unsigned bytes.
>
> I see this behavior also when reading in GeoTiffs that have unsigned byte
> types; it reads the SampleDimenisonType as a unsigned byte.
>
> This seems like a bug, can someone please confirm? Or am I missing how to
> detect signed bytes?
>
> Thanks,
> Rob
>
> ------------------------------------------------------------------------------
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
> _______________________________________________
> GeoTools-Devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
GeoTools-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geotools-devel