|
From: <de...@us...> - 2013-08-27 22:16:16
|
Revision: 8470
http://sourceforge.net/p/fudaa/svn/8470
Author: deniger
Date: 2013-08-27 22:16:09 +0000 (Tue, 27 Aug 2013)
Log Message:
-----------
CRUE-545
Modified Paths:
--------------
trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleStatiqueImageRaster.java
Added Paths:
-----------
trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GisJGWFileReader.java
Modified: trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt
===================================================================
--- trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2013-08-26 14:15:41 UTC (rev 8469)
+++ trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2013-08-27 22:16:09 UTC (rev 8470)
@@ -332,4 +332,6 @@
Erreur lors de la validation du fichier xml\: {0}=Error while validating the XML file\: {0}
Indexation des points=Points indexation
Restaurer la fen\xEAtre parente=Restore the parent window
-Maximiser la fen\xEAtre parente=Maximize the parent window
\ No newline at end of file
+Maximiser la fen\xEAtre parente=Maximize the parent window
+Le contenu du fichier de g\xE9or\xE9f\xE9rencement n'est pas valide ( il doit contenir 6 lignes)=The content of the georeferencing file is not valid ( must contain 6 lines)
+La ligne {0} n'est pas valide et ne peut pas \xEAtre transform\xE9e en nombre=The line {0} is not valid and cannot be transformed to a number
\ No newline at end of file
Added: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GisJGWFileReader.java
===================================================================
--- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GisJGWFileReader.java (rev 0)
+++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GisJGWFileReader.java 2013-08-27 22:16:09 UTC (rev 8470)
@@ -0,0 +1,100 @@
+/*
+ GPL 2
+ */
+package org.fudaa.ctulu.gis;
+
+import java.awt.geom.Point2D;
+import java.io.File;
+import java.util.List;
+import org.fudaa.ctulu.CtuluIOResult;
+import org.fudaa.ctulu.CtuluImageContainer;
+import org.fudaa.ctulu.CtuluLib;
+import org.fudaa.ctulu.CtuluLibFile;
+import org.fudaa.ctulu.CtuluLog;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class GisJGWFileReader {
+
+ public static TransformResult getTransformPoints(ReadResult transform, final int imageWidth, final int imageHeight) {
+ if (transform == null) {
+ return null;
+ }
+ TransformResult res = new TransformResult();
+ res.imagePts = new Point2D.Double[3];
+ res.reelPts = new Point2D.Double[3];
+
+ //bas gauche
+ res.imagePts[0] = new Point2D.Double(0, imageHeight);
+ res.reelPts[0] = new Point2D.Double(transform.tx, transform.ty);
+
+ //haut gauche
+ res.imagePts[1] = new Point2D.Double(0, 0);
+ res.reelPts[1] = new Point2D.Double(transform.tx, transform.ty - imageHeight * transform.scaleY);
+
+ //bas droite
+ res.imagePts[2] = new Point2D.Double(imageWidth, imageHeight);
+ res.reelPts[2] = new Point2D.Double(transform.tx + imageWidth * transform.scaleX, transform.ty);
+
+
+ return res;
+ }
+
+ public static class ReadResult {
+
+ public double tx;
+ public double ty;
+ public double scaleX;
+ public double scaleY;
+ }
+
+ public static class TransformResult {
+
+ public Point2D.Double[] imagePts;
+ public Point2D.Double[] reelPts;
+ }
+
+ public static TransformResult getTransformPoints(ReadResult transform, CtuluImageContainer image) {
+
+ final int imageHeight = image.getImageHeight();
+ final int imageWidth = image.getImageWidth();
+
+
+ return getTransformPoints(transform, imageWidth, imageHeight);
+ }
+
+ public CtuluIOResult<ReadResult> read(File in) {
+ CtuluLog log = new CtuluLog();
+ CtuluIOResult<ReadResult> res = new CtuluIOResult<GisJGWFileReader.ReadResult>(log);
+ List<String> litFichierLineByLine = CtuluLibFile.litFichierLineByLine(in);
+ if (litFichierLineByLine.size() != 6) {
+ log.addError(CtuluLib.getS("Le contenu du fichier de g\xE9or\xE9f\xE9rencement n'est pas valide ( il doit contenir 6 lignes)"));
+ return res;
+ }
+ ReadResult result = new ReadResult();
+ try {
+ result.scaleX = Double.parseDouble(litFichierLineByLine.get(0));
+ } catch (NumberFormatException numberFormatException) {
+ log.addError(CtuluLib.getS("La ligne {0} n'est pas valide et ne peut pas \xEAtre transform\xE9e en nombre", "1"));
+ }
+ try {
+ result.scaleY = Double.parseDouble(litFichierLineByLine.get(3));
+ } catch (NumberFormatException numberFormatException) {
+ log.addError(CtuluLib.getS("La ligne {0} n'est pas valide et ne peut pas \xEAtre transform\xE9e en nombre", "3"));
+ }
+ try {
+ result.tx = Double.parseDouble(litFichierLineByLine.get(4));
+ } catch (NumberFormatException numberFormatException) {
+ log.addError(CtuluLib.getS("La ligne {0} n'est pas valide et ne peut pas \xEAtre transform\xE9e en nombre", "5"));
+ }
+ try {
+ result.ty = Double.parseDouble(litFichierLineByLine.get(5));
+ } catch (NumberFormatException numberFormatException) {
+ log.addError(CtuluLib.getS("La ligne {0} n'est pas valide et ne peut pas \xEAtre transform\xE9e en nombre", "6"));
+ }
+ res.setSource(result);
+ return res;
+ }
+}
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleStatiqueImageRaster.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleStatiqueImageRaster.java 2013-08-26 14:15:41 UTC (rev 8469)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleStatiqueImageRaster.java 2013-08-27 22:16:09 UTC (rev 8470)
@@ -10,6 +10,7 @@
import com.memoire.bu.BuLabel;
import com.memoire.bu.BuTable;
import com.memoire.fu.Fu;
+import com.memoire.fu.FuEmptyArrays;
import com.memoire.fu.FuLog;
import com.vividsolutions.jts.geom.Envelope;
import java.awt.Rectangle;
@@ -586,6 +587,7 @@
*/
@Override
public void setProj(final Point2D.Double[] _img, final Point2D.Double[] _reel) {
+ onlyWithTransform = false;
if (CtuluLibArray.isEmpty(_img) || CtuluLibArray.isEmpty(_reel)) {
clear();
return;
@@ -613,11 +615,20 @@
clear();
return;
}
+ onlyWithTransform = false;
erreurs_ = CtuluLibArray.copy(_err);
raster_ = new AffineTransform(_trans);
setValues(_img, _reel);
}
+ boolean onlyWithTransform;
+ public void setTransform(final AffineTransform _trans) {
+ onlyWithTransform = true;
+ clear();
+ erreurs_ = FuEmptyArrays.DOUBLE0;
+ raster_ = new AffineTransform(_trans);
+ }
+
public void setProjeMaxTaille(final int _maxSizePixel) {
clear();
final double maxSize = Math.max(getWImg(), getHImg());
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|