Revision: 5654
          http://sourceforge.net/p/jump-pilot/code/5654
Author:   edso
Date:     2017-12-25 20:16:38 +0000 (Mon, 25 Dec 2017)
Log Message:
-----------
have SRIDStyle update the corresponding FeatureSchema setting, to be used in 
JumpWriters

Modified Paths:
--------------
    core/trunk/src/org/openjump/core/ccordsys/srid/SRIDStyle.java

Modified: core/trunk/src/org/openjump/core/ccordsys/srid/SRIDStyle.java
===================================================================
--- core/trunk/src/org/openjump/core/ccordsys/srid/SRIDStyle.java       
2017-12-25 20:13:20 UTC (rev 5653)
+++ core/trunk/src/org/openjump/core/ccordsys/srid/SRIDStyle.java       
2017-12-25 20:16:38 UTC (rev 5654)
@@ -5,9 +5,6 @@
 
 import com.vividsolutions.jts.util.Assert;
 import com.vividsolutions.jump.coordsys.CoordinateSystem;
-import com.vividsolutions.jump.coordsys.Geographic;
-import com.vividsolutions.jump.coordsys.Planar;
-import com.vividsolutions.jump.coordsys.Projection;
 import com.vividsolutions.jump.feature.Feature;
 import com.vividsolutions.jump.workbench.model.CategoryEvent;
 import com.vividsolutions.jump.workbench.model.FeatureEvent;
@@ -23,7 +20,12 @@
 public class SRIDStyle implements Style {
 
     private int srid = 0;
+    private int lastUpdateSrid = srid;
 
+    public SRIDStyle() {
+      super();
+    }
+
     public void paint(Feature f, Graphics2D g, Viewport viewport)
             throws Exception {
     }
@@ -34,6 +36,7 @@
         if (initialized) {
             return;
         }
+
         updateSRIDs(layer);
         layer.getLayerManager().addLayerListener(new LayerListener() {
             public void featuresChanged(FeatureEvent e) {
@@ -51,9 +54,18 @@
     }
 
     public void updateSRIDs(Layer layer) {
-        for (Object feature : 
layer.getFeatureCollectionWrapper().getFeatures()) {
-            ((Feature)feature).getGeometry().setSRID(srid);
-        }
+      // nothing to do
+      if (lastUpdateSrid == srid)
+        return;
+      
+      // apply srid to whole layer (btw. of FeatureSchema)
+      
layer.getFeatureCollectionWrapper().getFeatureSchema().setCoordinateSystem(new 
CoordinateSystem("", srid, null));
+      // apply srid for each geometry
+      for (Object feature : layer.getFeatureCollectionWrapper().getFeatures()) 
{
+          ((Feature)feature).getGeometry().setSRID(srid);
+      }
+      
+      lastUpdateSrid = srid;
     }
 
     public Object clone() {


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to