Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.api/src/main/java/org/gvsig/fmap/geom/Geometry.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.api/src/main/java/org/gvsig/fmap/geom/Geometry.java	(revision 43784)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.api/src/main/java/org/gvsig/fmap/geom/Geometry.java	(revision 43785)
@@ -31,6 +31,7 @@
 import java.io.Serializable;
 
 import org.cresques.cts.ICoordTrans;
+import org.cresques.cts.IProjection;
 
 import org.gvsig.fmap.geom.aggregate.MultiLine;
 import org.gvsig.fmap.geom.aggregate.MultiPoint;
@@ -909,4 +910,9 @@
      */
     public boolean canBeReprojected(ICoordTrans ct);
 
+    public void setProjection(IProjection projection);
+    
+    public void setProjectionIffNull(IProjection projection);
+
+    public IProjection getProjection();
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/AbstractGeometry.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/AbstractGeometry.java	(revision 43784)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/AbstractGeometry.java	(revision 43785)
@@ -34,6 +34,7 @@
 import com.vividsolutions.jts.operation.overlay.snap.GeometrySnapper;
 import com.vividsolutions.jts.operation.valid.IsValidOp;
 import com.vividsolutions.jts.operation.valid.TopologyValidationError;
+import org.cresques.cts.IProjection;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -73,7 +74,8 @@
 
     private final GeometryType geometryType;
 
-
+    private IProjection projection;
+    
     /**
      *
      */
@@ -755,5 +757,21 @@
         return this.getGeometryType().getFullName();
     }
 
+    @Override
+    public IProjection getProjection() {
+        return this.projection;
+    }
 
+    @Override
+    public void setProjectionIffNull(IProjection projection) {
+        if( this.projection==null ) {
+            this.projection = projection;
+        }
+    }
+
+    @Override
+    public void setProjection(IProjection projection) {
+        this.projection = projection;
+    }
+
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/curve/arc/AbstractArc.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/curve/arc/AbstractArc.java	(revision 43784)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/curve/arc/AbstractArc.java	(revision 43785)
@@ -215,6 +215,7 @@
         init.reProject(ct);
         middle.reProject(ct);
         end.reProject(ct);
+        this.setProjection(ct.getPDest());
         } catch (CoordTransRuntimeException e){
             //Si ha fallado la reproyección de alguno de los puntos, ponemos todas las coordenadas a 0
             init.setX(0);
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/curve/line/AbstractLine.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/curve/line/AbstractLine.java	(revision 43784)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/curve/line/AbstractLine.java	(revision 43785)
@@ -349,6 +349,7 @@
             }
         }
         coordinates=tmpCoordinates;
+        this.setProjection(ct.getPDest());
     }
 
     /*
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/curve/spline/AbstractSpline.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/curve/spline/AbstractSpline.java	(revision 43784)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/curve/spline/AbstractSpline.java	(revision 43785)
@@ -357,6 +357,7 @@
             }
         }
         coordinates=tmpCoordinates;
+        this.setProjection(ct.getPDest());
     }
 
     /*
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/surface/circle/AbstractCircle.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/surface/circle/AbstractCircle.java	(revision 43784)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/surface/circle/AbstractCircle.java	(revision 43785)
@@ -381,6 +381,7 @@
         try {
             center.reProject(ct);
             aux.reProject(ct);
+            this.setProjection(ct.getPDest());
         } catch (CoordTransRuntimeException e){
             center.setX(0);
             center.setY(0);
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/surface/ellipticarc/AbstractEllipticArc.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/surface/ellipticarc/AbstractEllipticArc.java	(revision 43784)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/surface/ellipticarc/AbstractEllipticArc.java	(revision 43785)
@@ -269,6 +269,7 @@
         axis1Start.reProject(ct);
         axis1End.reProject(ct);
         aux.reProject(ct);
+        this.setProjection(ct.getPDest());
         } catch (CoordTransRuntimeException e) {
             //Si ha fallado la reproyección de alguno de los puntos, ponemos todas las coordenadas a 0
             axis1Start.setX(0);
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/surface/ellipse/AbstractEllipse.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/surface/ellipse/AbstractEllipse.java	(revision 43784)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/surface/ellipse/AbstractEllipse.java	(revision 43785)
@@ -267,6 +267,7 @@
             init.reProject(ct);
             end.reProject(ct);
             aux.reProject(ct);
+            this.setProjection(ct.getPDest());
         } catch (CoordTransRuntimeException e) {
             //Si no se ha podido reproyectar alguno de los puntos, les asignamos 0 a todas las coordenadas
             init.setX(0);
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/point/AbstractPoint.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/point/AbstractPoint.java	(revision 43784)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/point/AbstractPoint.java	(revision 43785)
@@ -28,6 +28,7 @@
 import java.util.Arrays;
 
 import org.cresques.cts.ICoordTrans;
+import org.cresques.cts.IProjection;
 
 import org.gvsig.fmap.geom.DirectPosition;
 import org.gvsig.fmap.geom.Geometry;
@@ -199,6 +200,7 @@
      *
      * @see org.gvsig.fmap.geom.Geometry#reProject(org.cresques.cts.ICoordTrans)
      */
+    @Override
     public void reProject(ICoordTrans ct) {
         if (ct == null) {
             return;
@@ -208,6 +210,7 @@
             p = ct.convert(p, p);
             this.setX(p.getX());
             this.setY(p.getY());
+            this.setProjection(ct.getPDest());
         } catch (Exception exc) {
             /*
              * This can happen when the reprojection lib is unable
@@ -226,6 +229,7 @@
      * @see
      * org.gvsig.fmap.geom.Geometry#transform(java.awt.geom.AffineTransform)
      */
+    @Override
     public void transform(AffineTransform at) {
         if (at == null) {
             return;
