Excerpts from Simone Giannecchini's message of Thu May 06 08:33:50 -0400 2010:
> Dear Nicholas,
> using imagemosaic with geotools 2.6.3 is surely the way to go.
> 
> Question, can you give the tiles that you are using in your test so
> that I can reproduce and fix the problem or at least provide some
> help?

Hi Simone,

I've uploaded the TIF files: http://dl.dropbox.com/u/50246/ned_tifs.zip

Also, here's a tester class you should be able to run once you update the
paths: http://dl.dropbox.com/u/50246/ImageMosaicTester.java

Thanks for looking into this!

-Nick

> 
> Simone.
> -------------------------------------------------------
> Ing. Simone Giannecchini
> GeoSolutions S.A.S.
> Founder - Software Engineer
> Via Carignoni 51
> 55041  Camaiore (LU)
> Italy
> 
> phone: +39 0584983027
> fax:      +39 0584983027
> mob:    +39 333 8128928
> 
> 
> http://www.geo-solutions.it
> http://geo-solutions.blogspot.com/
> http://www.linkedin.com/in/simonegiannecchini
> http://twitter.com/simogeo
> 
> -------------------------------------------------------
> 
> 
> 
> On Tue, Apr 27, 2010 at 8:55 PM, Nicholas Bergson-Shilcock
> <[email protected]> wrote:
> > I'm working with tiff files from the National Elevation Dataset and have 
> > run into some problems. Each file represents a tile, and I need to be able 
> > to evaluate points within those tiles to get the elevation at specific 
> > points.
> >
> > // Point that is definitely in the tif file below
> > double x = -73.919996;
> > double y = 40.865797;
> >
> > File path = new 
> > File("/Users/nicholasbs/dev/graph-data/ny/ned_tifs/ned--73.92_-73.76_40.959999999999994_40.8.tif");
> > GeoTiffFormat tifFormat = new GeoTiffFormat();
> > GeoTiffReader tifReader = (GeoTiffReader) tifFormat.getReader(path);
> > GridCoverage2D coverage = (GridCoverage2D) tifReader.read(null);
> > coverage = Interpolator2D.create(coverage, new InterpolationBilinear());
> >
> > double[] result = new double[1];
> > DirectPosition2D pos = new DirectPosition2D(x,y);
> > try {
> >    result = coverage.evaluate((DirectPosition)pos, result);
> >     System.out.println(result[0]); // *should* print 7.120205980059255
> > } catch (PointOutsideCoverageException e) {
> >      System.out.println("point not found"); // what is exactly printed
> > }
> >
> > This works great except for when you query for a point that falls on one of 
> > the pixels directly on the edge the tiff. The outermost pixels aren't 
> > considered to be inside the region. Pictures make this much clearer: 
> > http://opentripplanner.org/attachment/ticket/163/bad_points.png and 
> > http://opentripplanner.org/attachment/ticket/163/bad_points_zoom.png. The 
> > markers represent the points that threw a PointOutsideCoverageException.
> >
> > Next, I tried creating an ImageMosaic as follows:
> >
> > GridCoverage coverage2 = null;
> > ImageMosaicFormatFactory formatFactory = new ImageMosaicFormatFactory();
> > ImageMosaicFormat format = (ImageMosaicFormat) formatFactory.createFormat();
> > ImageMosaicReader reader = (ImageMosaicReader) format.getReader(
> >          "/Users/nicholasbs/dev/graph-data/ny/ned_test", null);
> > coverage2 = reader.read(new GeneralParameterValue[] {});
> > coverage2 = Interpolator2D.create((GridCoverage2D) coverage2, new 
> > InterpolationBilinear());
> >
> > double[] result2 = new double[1];
> > coverage2.evaluate(new DirectPosition2D(x, y), result2);
> >
> > System.out.println(result2[0]); // gt 2.5.7 prints  7.120205980059255; gt 
> > 2.6.3 prints 0.0
> >
> > This works with GeoTools 2.5.7, however, it is painfully slow. It takes 
> > nearly 2.5 hours to process just my test region (for comparison, the 
> > approach above takes less than a minute). Each call to evaluate() takes 
> > about 400ms.
> >
> > I tried upgrading to GeoTools 2.6.3. This runs about 100x faster, however, 
> > evaluate() returns 0.0. for *all* points, so either I'm misusing something 
> > or there's a bug in 2.6.3.
> >
> > Any idea what's going on here and/or what I should try next?
> >
> > Thanks in advance,
> >  -Nick
> >
> >
> > ------------------------------------------------------------------------------
> > _______________________________________________
> > Geotools-gt2-users mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
> >

------------------------------------------------------------------------------
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to