Ciao Jose, I am going to do a quick check on your code. Iam curios about where this type of metadata comes from.
Simone. On Wed, Oct 22, 2008 at 2:38 PM, zé <[EMAIL PROTECTED]> wrote: > > Hi! > > I'm trying to plot a same geo point into two differents images, but the > regions don't match (see the following images). The images are displaying > the same Earth's region in differents envelopes and time, referenced using > DATUM SAD69. There're too a XML metadata about each image. > > http://www.nabble.com/file/p20109846/imagem3.png > > See that the point in first image is over on the river and it's out in > second image. > > Here, a snippet of the XMLs files: > > <datumName>SAD69</datumName> > <semiMajorAxis>6378160.000000</semiMajorAxis> > <flattening>0.003353</flattening> > <xShiftToWGS84>-66.870000</xShiftToWGS84> > <yShiftToWGS84>4.370000</yShiftToWGS84> > <zShiftToWGS84>-38.520000</zShiftToWGS84> > <projectionName>UTM</projectionName> > <originLongitude>-60</originLongitude> <=== This's the > only difference > <originLatitude>0</originLatitude> > <scaleFactor>0.999600</scaleFactor> > <falseEasting>500000.000000</falseEasting> > <falseNorthing>10000000.000000</falseNorthing> > > <datumName>SAD69</datumName> > <semiMajorAxis>6378160.000000</semiMajorAxis> > <flattening>0.003353</flattening> > <xShiftToWGS84>-66.870000</xShiftToWGS84> > <yShiftToWGS84>4.370000</yShiftToWGS84> > <zShiftToWGS84>-38.520000</zShiftToWGS84> > <projectionName>UTM</projectionName> > <originLongitude>-57</originLongitude> <=== This's the > only difference > <originLatitude>0</originLatitude> > <scaleFactor>0.999600</scaleFactor> > <falseEasting>500000.000000</falseEasting> > <falseNorthing>10000000.000000</falseNorthing> > > Here a snippet of my code (using GeoTools 2.4.4): > > ... > > //Read the source images (these images are scaled in 10% of orignals > for speed improvement). > File path0 = new File("images/20000905_BAND4.tif"); > File path1 = new File("images/20080927_BAND4.tif"); > GridCoverage2D src0 = (GridCoverage2D) (new > GeoTiffReader(path0)).read(null); > GridCoverage2D src1 = (GridCoverage2D) (new > GeoTiffReader(path1)).read(null); > > //Calculate the affine transformations to map point between images. > AffineTransform at0 = RendererUtilities.worldToScreenTransform( > new ReferencedEnvelope( > src0.getEnvelope2D(), > src0.getCoordinateReferenceSystem() > ), > new Rectangle( > src0.getRenderedImage().getWidth(), > src0.getRenderedImage().getHeight() > ) > ).createInverse(); > AffineTransform at1 = RendererUtilities.worldToScreenTransform( > new ReferencedEnvelope( > src1.getEnvelope2D(), > src1.getCoordinateReferenceSystem() > ), > new Rectangle( > src1.getRenderedImage().getWidth(), > src1.getRenderedImage().getHeight() > ) > ); > > /* Produce the same result as above... So can I use it instead? > AffineTransform at0 = (AffineTransform) > src0.getGridGeometry().getGridToCRS(); > AffineTransform at1 = (AffineTransform) > src1.getGridGeometry().getGridToCRS().inverse(); > */ > > //Map the first image's center into second image. > Point2D.Double p0 = new Point2D.Double( > src0.getRenderedImage().getWidth() / 2d, > src0.getRenderedImage().getHeight() / 2d); > Point2D.Double p1 = (Point2D.Double) > at1.transform( > at0.transform( > p0, null), > null); > > //Writes the results. The method pointMark creates a 31x31 boundbox > //around the points once calculated. > GridCoverage2D dest0 = pointMark(src0, p0); > GridCoverage2D dest1 = pointMark(src1, p1); > (new GeoTiffWriter(new File("images/tmp0.tif"))).write(dest0, null); > (new GeoTiffWriter(new File("images/tmp1.tif"))).write(dest1, null); > > ... > > Is My code wrong or is it possible the images are incorrectly geo > referenced? How can I workaround on this? > > All files - project, images and metadatas - are zipped into a test case ( > http://www.nabble.com/file/p20109846/CoverageTest.zip CoverageTest.zip ). > Thanks for any help. > > José > -- > View this message in context: > http://www.nabble.com/Problem-with-images-world-coordinates-tp20109846p20109846.html > Sent from the geotools-gt2-users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Geotools-gt2-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > -- ------------------------------------------------------- Eng. Simone Giannecchini GeoSolutions S.A.S. Owner - 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://www.geo-solutions.it/simone.giannecchini http://www.linkedin.com/in/simonegiannecchini ------------------------------------------------------- ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Geotools-gt2-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
