It was an improvised chat about future development needed for Grid Coverage.

        Martin
[2006-11-28 10:55:21] <simboss> ok 
[2006-11-28 10:55:22] <simboss> tomorrow
[2006-11-28 10:55:26] <simboss> I might have some time
[2006-11-28 10:55:33] <simboss> so that I can try to put together
[2006-11-28 10:55:51] <simboss> some toughts about where we could improve the 
2.3.x gridcoverage package
[2006-11-28 10:55:57] <simboss> after the realease of course
[2006-11-28 10:56:19] <simboss> so that we can talk about who does what when
[2006-11-28 10:56:21] <simboss> :-)
[2006-11-28 10:56:41] <desruisseaux> Would it be possible to do the work on 2.4 
(trunk) rather than 2.3 branch?
[2006-11-28 10:56:47] <simboss> nope
[2006-11-28 10:56:53] <simboss> because I need it for geoserver
[2006-11-28 10:57:04] <simboss> 1.5.x
[2006-11-28 10:57:12] <simboss> but we can port it over
[2006-11-28 10:58:03] <desruisseaux> Yes we can port, but I though that we are 
not supposed to change the API of a branch. We can do that, but we are using 
2.3 branch as if it was the trunk.
[2006-11-28 10:58:27] <simboss> because some is unsing trunk as if it was a 
branch
[2006-11-28 10:58:40] <simboss> and to do that
[2006-11-28 10:58:48] <simboss> forced to do go to a new release
[2006-11-28 10:59:16] <simboss> geoserver is now on 2.2.2
[2006-11-28 10:59:27] <desruisseaux> I do not really realize; which parts of 
trunk are so unstable?
[2006-11-28 10:59:49] <simboss> are working on features
[2006-11-28 10:59:52] <simboss> and anyway
[2006-11-28 11:00:40] <simboss> geoserver
[2006-11-28 11:00:46] <simboss> will stay on 2.3.x for a while
[2006-11-28 11:05:20] <simboss> there are two things 
[2006-11-28 11:05:28] <simboss> that I really need to work on soon
[2006-11-28 11:05:40] <simboss> 1>support for images with indexcolormodel
[2006-11-28 11:06:29] <simboss> 2>rastersymblization
[2006-11-28 11:06:34] <simboss> 3>Coverage dispose
[2006-11-28 11:06:47] <simboss> 2 was hackedd quickly by alessio a long time
[2006-11-28 11:06:48] <simboss> ago
[2006-11-28 11:07:03] <desruisseaux> ??? IndexColorModel should be already 
supported in the coverage module; actually it really the color model the whole 
coverage module is designed for.
[2006-11-28 11:07:27] <simboss> some operations I added does no0t really 
support it (my fault)
[2006-11-28 11:07:29] <simboss> but also
[2006-11-28 11:07:32] <simboss> resample
[2006-11-28 11:07:45] <simboss> has some problems with them
[2006-11-28 11:07:49] <simboss> you usually put 
[2006-11-28 11:07:58] <simboss> REPLACE INDEXCOLOR MODEL 
[2006-11-28 11:07:59] <simboss> hint to false
[2006-11-28 11:08:03] <simboss> but this case
[2006-11-28 11:08:07] <simboss> warp and other operations
[2006-11-28 11:08:08] <simboss> to fail
[2006-11-28 11:08:14] <simboss> on indexcolormodel image
[2006-11-28 11:08:18] <simboss> with interpolation
[2006-11-28 11:08:25] <simboss> that is not nearest neighbor
[2006-11-28 11:08:35] <simboss> in such case
[2006-11-28 11:08:41] <simboss> you have to previously expand images to rgb
[2006-11-28 11:08:44] <simboss> or rgba
[2006-11-28 11:08:48] <simboss> no rocket science
[2006-11-28 11:08:50] <simboss> :-)
[2006-11-28 11:09:17] <desruisseaux> For the way grid coverage is used in 
science, we are really not allowed to expand to RGB.
[2006-11-28 11:09:26] <simboss> yeah but martin
[2006-11-28 11:09:30] <simboss> you need to understand
[2006-11-28 11:09:38] <simboss> tat geotools is used inmany field
[2006-11-28 11:09:41] <simboss> and actually science
[2006-11-28 11:09:51] <simboss> is the smallest right now :-)
[2006-11-28 11:10:11] <simboss> we need to make things configurable at least
[2006-11-28 11:10:22] <simboss> if you have ortophoto
[2006-11-28 11:10:26] <simboss> tha are tiffs
[2006-11-28 11:10:31] <simboss> with indexcolormodel
[2006-11-28 11:10:40] <simboss> when you warp to repeoject
[2006-11-28 11:10:42] <simboss> in a WMS
[2006-11-28 11:10:46] <simboss> you want to use
[2006-11-28 11:10:49] <simboss> bilinear at least
[2006-11-28 11:10:59] <simboss> to have a nice image back
[2006-11-28 11:11:02] <simboss> hence
[2006-11-28 11:11:12] <simboss> you need to change to rgb
[2006-11-28 11:11:14] <simboss> or
[2006-11-28 11:11:19] <simboss> you will make a mess
[2006-11-28 11:11:22] <simboss> because
[2006-11-28 11:11:27] <simboss> as you know
[2006-11-28 11:11:32] <simboss> underlying raster
[2006-11-28 11:11:38] <simboss> holds index in a palette
[2006-11-28 11:11:42] <simboss> not really 
[2006-11-28 11:11:44] <simboss> real data
[2006-11-28 11:11:50] <simboss> that is most important reason
[2006-11-28 11:12:00] <simboss> do you agree?
[2006-11-28 11:12:13] <desruisseaux> I understand the ortophoto case.
[2006-11-28 11:12:26] <simboss> I think the trink is 
[2006-11-28 11:12:32] <simboss> knowng what you want
[2006-11-28 11:12:41] <simboss> tell what you want
[2006-11-28 11:12:42] <simboss> :-)
[2006-11-28 11:12:45] <simboss> so 
[2006-11-28 11:12:54] <simboss> if you want I can expand
[2006-11-28 11:12:56] <simboss> otherwise
[2006-11-28 11:12:59] <simboss> I won't do it
[2006-11-28 11:13:42] <simboss> it is the same thing with the no data we 
discussed lately
[2006-11-28 11:13:48] <simboss> I checked what gdal and other libs do
[2006-11-28 11:13:57] <simboss> and they do not hange the nodata to NAN
[2006-11-28 11:14:03] <simboss> are we sure we should do it?
[2006-11-28 11:14:15] <desruisseaux> For numerical work, yes absolutly.
[2006-11-28 11:14:21] <simboss> yes
[2006-11-28 11:14:23] <desruisseaux> For non-numerical work, it may be an other 
story.
[2006-11-28 11:14:31] <simboss> and that was the anwer I am expecting from you
[2006-11-28 11:14:33] <simboss> :)
[2006-11-28 11:14:35] <desruisseaux> But we are opening a box for a lot of bug.
[2006-11-28 11:14:45] <simboss> I understand your point of view
[2006-11-28 11:14:57] <simboss> because I work with both worlds
[2006-11-28 11:15:05] <simboss> but many people I can assure
[2006-11-28 11:15:09] <simboss> do not understand
[2006-11-28 11:15:21] <simboss> why so?
[2006-11-28 11:16:11] <desruisseaux> Most classes in the coverage module will 
give wrong answer if no-data value are not mapped to NaN.
[2006-11-28 11:16:22] <desruisseaux> For example Interpolator2D.
[2006-11-28 11:16:37] <simboss> do you think it will be impossible for next 
releases to tweak them 
[2006-11-28 11:16:42] <simboss> to work in a more general way?
[2006-11-28 11:16:47] <desruisseaux> If you ask for a value in the neighboard 
of a no-data value, it will try to interpolate the -9999 value with the real 
value around.
[2006-11-28 11:17:14] <desruisseaux> It is possible to tweak them, but I 
believe that it would be a bad idea.
[2006-11-28 11:17:28] <simboss> I agree man
[2006-11-28 11:17:37] <simboss> but if we want people to use geotools
[2006-11-28 11:17:45] <desruisseaux> It would duplicate the processor work. Our 
experience show that it slow down a lot the processing. And we can be 100% sure 
that we will forget to tweak many area.
[2006-11-28 11:17:46] <simboss> we need to bend ourself a bit towards them
[2006-11-28 11:18:09] <simboss> this thing is especially important
[2006-11-28 11:18:12] <simboss> with transconding
[2006-11-28 11:18:21] <simboss> from a format to another
[2006-11-28 11:18:31] <simboss> anf when doing automatic recognition
[2006-11-28 11:18:32] <simboss> of formats
[2006-11-28 11:18:51] <simboss> depending on metadata
[2006-11-28 11:19:36] <simboss> being afraid of bugs is not a good reason to 
improve things martin :-)
[2006-11-28 11:19:46] <simboss> as long as I can
[2006-11-28 11:19:56] <simboss> I can apply your approach
[2006-11-28 11:19:58] <simboss> for example
[2006-11-28 11:20:02] <simboss> on ascii grids
[2006-11-28 11:20:04] <simboss> I convert
[2006-11-28 11:20:07] <simboss> -999.0
[2006-11-28 11:20:08] <simboss> to NaN
[2006-11-28 11:20:12] <simboss> on the fly when I read
[2006-11-28 11:20:18] <simboss> because I read float values
[2006-11-28 11:20:23] <simboss> and I am fine with that
[2006-11-28 11:20:39] <simboss> maybe you noticed when you were looking for the 
internationalization bug
[2006-11-28 11:20:48] <simboss> but for exmample with GTOPO30
[2006-11-28 11:21:00] <simboss> this can be problematic
[2006-11-28 11:21:09] <simboss> I need to reformat the data on the fly
[2006-11-28 11:21:17] <simboss> and then subsitute
[2006-11-28 11:21:24] <simboss> -9999 with NaN
[2006-11-28 11:21:35] <simboss> since the original data in in short
[2006-11-28 11:22:39] <desruisseaux> I remember the GTOPO30 case.
[2006-11-28 11:22:52] <desruisseaux> The problem is as below:
[2006-11-28 11:23:07] <desruisseaux> Coverage maintain 2 views of data: 
geophysics and non-geophysics ones.
[2006-11-28 11:25:28] <desruisseaux> I really strongly believe that the 
geophysics view should continue to map no-data to NaN, otherwise we will put a 
huge burden in every area of the code dealing with data, as well as every users 
performing numerical work. This is a huge risk, and in this case we are really 
sure to introduce a lot of potentially dangerous bug in every numerical 
computing code using Geotools. I agree that being afraid of introducing bugs 
should not prevent us from improving geotools, but in this case it sound to me 
like reintroducing C/C++ pointer in Java: a dangerous move for an improvement 
that may not be worth the risk.
[2006-11-28 11:25:53] <desruisseaux> However, non-geophysics view do maps 
no-data value to some value like -9999.
[2006-11-28 11:26:12] <desruisseaux> The problem is that current coverage 
module merge "non-geophysics" and "displayable" views.
[2006-11-28 11:26:27] <desruisseaux> I means, Geotools use the "non-geophysics" 
view as the view to use for displaying.
[2006-11-28 11:26:57] <desruisseaux> This means that we are constrained by the 
capabilities of the Java2D library (itself constrained by the capabilities of 
most video hardward)
[2006-11-28 11:27:11] <desruisseaux> In the particular case of GTOPO30, the 
problem is that this format contains negative value.
[2006-11-28 11:27:22] <desruisseaux> And IndexColorModel can not handle 
negative value.
[2006-11-28 11:27:43] <desruisseaux> So the GTOPO30 format do not directly maps 
to "geophysics" view because "nodata" values are not NAN
[2006-11-28 11:28:00] <desruisseaux> And it does not directly maps to 
"non-geophysics" view neither because it is not displayable.
[2006-11-28 11:28:27] <desruisseaux> A solution that I would like much more 
than allowing -9999 values in "geophysics view" would be to introduces a third 
view.
[2006-11-28 11:28:41] <desruisseaux> Instead of "geophysics" and 
"non-geophysics" view, we could have:
[2006-11-28 11:28:46] <desruisseaux> "geophysics", "native", "displayable"
[2006-11-28 11:29:01] <desruisseaux> Where "native" is the format as found in 
the file format
[2006-11-28 11:29:12] <desruisseaux> and "displayable" is what "non-geophysics" 
currently stand for.
[2006-11-28 11:29:16] <desruisseaux> What do you think?
[2006-11-28 11:32:16] <simboss> the point of this is
[2006-11-28 11:32:17] <simboss> and I was going sooner or later
[2006-11-28 11:32:19] <simboss> to talk to you about this
[2006-11-28 11:32:21] <simboss> that something
[2006-11-28 11:32:22] <simboss> which is really bad in the 
[2006-11-28 11:32:24] <simboss> gridcoveage implementation specification
[2006-11-28 11:32:26] <simboss> which has been left apart in 19123
[2006-11-28 11:32:27] <simboss> is this fact
[2006-11-28 11:32:29] <simboss> os having to specofy
[2006-11-28 11:32:32] <simboss> the two views
[2006-11-28 11:32:33] <simboss> when you create the coverage
[2006-11-28 11:32:34] <simboss> most part of time
[2006-11-28 11:32:36] <simboss> you do not really know
[2006-11-28 11:32:37] <simboss> hoe to render a coverage
[2006-11-28 11:32:39] <simboss> and most part of the time
[2006-11-28 11:32:40] <simboss> you just do not want
[2006-11-28 11:32:42] <simboss> !
[2006-11-28 11:32:44] <simboss> I think sooner or later
[2006-11-28 11:32:46] <simboss> we should try
[2006-11-28 11:32:48] <simboss> to separate the concept
[2006-11-28 11:32:50] <simboss> or rendering a coverage
[2006-11-28 11:32:52] <simboss> from the process of processing a coverage
[2006-11-28 11:32:54] <simboss> ops
[2006-11-28 11:32:56] <simboss> sorry
[2006-11-28 11:32:58] <simboss> I wanted to say
[2006-11-28 11:33:00] <simboss> the opposite
[2006-11-28 11:33:02] <simboss> :-)
[2006-11-28 11:33:04] <simboss> now there is a net separation
[2006-11-28 11:33:06] <simboss> but it is artificious
[2006-11-28 11:33:08] <simboss> and sometime
[2006-11-28 11:33:10] <simboss> just problematic
[2006-11-28 11:33:12] <simboss> most part of the time I have to use *default* 
colors
[2006-11-28 11:33:14] <simboss> for coverage
[2006-11-28 11:33:16] <simboss> that are in float
[2006-11-28 11:33:18] <simboss> or double
[2006-11-28 11:33:20] <simboss> even if I do not want to see any coloro
[2006-11-28 11:33:22] <simboss> I think that if ISO 19132
[2006-11-28 11:33:24] <simboss> 19123
[2006-11-28 11:33:26] <simboss> removed this concept
[2006-11-28 11:33:28] <simboss> I am not the only one
[2006-11-28 11:33:30] <simboss> thinking this
[2006-11-28 11:33:32] <simboss> :-)
[2006-11-28 11:34:04] <simboss> I think that
[2006-11-28 11:34:20] <simboss> we should slowly
[2006-11-28 11:34:22] <simboss> move beyond
[2006-11-28 11:34:34] <simboss> the old GridCoverage IS
[2006-11-28 11:34:36] <simboss> because
[2006-11-28 11:34:46] <simboss> it is more a showstopper than a benefit as of 
now
[2006-11-28 11:34:54] <simboss> GCE part of fit
[2006-11-28 11:34:56] <simboss> sucks
[2006-11-28 11:35:07] <simboss> management of time and third 
[2006-11-28 11:35:11] <simboss> sucks as well
[2006-11-28 11:35:25] <simboss> as you well know because you had to come up 
with your own hierarchy
[2006-11-28 11:35:29] <simboss> (quite cool btw)
[2006-11-28 11:35:35] <simboss> this tihng
[2006-11-28 11:35:46] <desruisseaux> The "geophysics" vs "non-geophysics" view 
things are not part of the old Grid Coverage implementation specification. They 
are my own additions to Geotools.
[2006-11-28 11:36:16] <simboss> that's cool man
[2006-11-28 11:36:29] <simboss> but I am tring to show you a more general 
picture
[2006-11-28 11:36:42] <simboss> I am not trying to criticize
[2006-11-28 11:36:48] <simboss> I am trying to say
[2006-11-28 11:36:52] <simboss> what we have is cool
[2006-11-28 11:36:53] <desruisseaux> I'm not upset at all
[2006-11-28 11:36:53] <simboss> but
[2006-11-28 11:36:59] <simboss> how can we make it super cool
[2006-11-28 11:37:52] <simboss> we are really good at dong some things
[2006-11-28 11:38:01] <simboss> but it is almost impossible to do many other
[2006-11-28 11:38:09] <simboss> which most people need
[2006-11-28 11:38:24] <simboss> working with geoserver I see that all the time
[2006-11-28 11:38:56] <simboss> in the past we were missing plugins with decent 
performance
[2006-11-28 11:39:13] <desruisseaux> In the particular case of having to 
specify the "geophysics" vs "non-geophysics" relationship at construction time, 
I agree that we need to make that easier for peoples who don't know this 
relationship. However there is also case where we know this relationship, and 
we want to keep it constant for a whole range of images from a time series 
(this is the case for my data). So we probably need both way.
[2006-11-28 11:39:33] <simboss> sure
[2006-11-28 11:39:48] <simboss> the only real criticism
[2006-11-28 11:40:43] <desruisseaux> I believe that a first step is to split 
the "non-geophysics" view into two views "native" and "displayable".
[2006-11-28 11:40:51] <desruisseaux> I can take care of this step.
[2006-11-28 11:40:52] <simboss> that I might move to the gridcoverage package
[2006-11-28 11:41:02] <simboss> is that
[2006-11-28 11:41:13] <simboss> it has been cut too for a specific purpose
[2006-11-28 11:41:19] <simboss> which is numerical computation
[2006-11-28 11:41:26] <simboss> we need to make it a bit more general
[2006-11-28 11:41:35] <simboss> and also to write some documentation on how to 
use it :-)
[2006-11-28 11:41:40] <simboss> if we do this
[2006-11-28 11:41:45] <simboss> people will use it
[2006-11-28 11:41:47] <simboss> otherwise
[2006-11-28 11:41:52] <simboss> the situation
[2006-11-28 11:41:54] <simboss> won't improve
[2006-11-28 11:42:50] <simboss> this is why I am bothering
[2006-11-28 11:43:33] <desruisseaux> I agree that the grid coverage package was 
strongly designed with numerical computation in mind; it was the whole reason 
why I wrote it. I also agree that we should make it more general, but I would 
like to preserve its numerical computation capability (i.e. I would like to 
have the two worlds in same time...)
[2006-11-28 11:43:49] <simboss> that is more tha fine man
[2006-11-28 11:43:59] <simboss> I need it for numerical computation primarly as 
well
[2006-11-28 11:44:09] <simboss> but I am pretty sure
[2006-11-28 11:44:16] <simboss> we can make it super great
[2006-11-28 11:44:20] <simboss> even in general
[2006-11-28 11:44:40] <simboss> do you mind if tomorrow I write a couple of 
pages
[2006-11-28 11:44:47] <simboss> wit my thoughts
[2006-11-28 11:44:52] <simboss> so that you can read and comment?
[2006-11-28 11:45:25] <desruisseaux> Sure :)
[2006-11-28 11:45:47] <simboss> do you a mean to acquire the logs
[2006-11-28 11:45:51] <simboss> I am using netscape
[2006-11-28 11:45:53] <desruisseaux> No problem.
[2006-11-28 11:49:48] <desruisseaux> Just in summary: my main comment is that 
instead of allowing "no-data" value that are not NaN in the "geophysics" view, 
I would rather prefer to define an other view.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to