Excerpts from Simone Giannecchini's message of Fri May 07 10:36:32 -0400 2010: > Nicholas, > the download died twice on me, do you have an ftp where I can get them from?
Simone, That's very weird. I've put the tifs on my personal server: http://nick.is/ned_tifs.zip Sorry for the hassle, -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 Thu, May 6, 2010 at 4:51 PM, Nicholas Bergson-Shilcock > <[email protected]> wrote: > > 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
