From: Simone G. <sim...@ge...> - 2010-05-07 14:36:39
|
Nicholas, the download died twice on me, do you have an ftp where I can get them from? 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 <nic...@op...> 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 >> <nic...@op...> 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 >> > Geo...@li... >> > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users >> > > > |