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