diff gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java @ 528:44415ae01ddb

Fixed issue gnv/issue159 gnv-artifacts/trunk@624 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 25 Jan 2010 18:25:19 +0000
parents efab67e68bba
children f7f97edf09ba
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java	Mon Jan 25 17:06:01 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java	Mon Jan 25 18:25:19 2010 +0000
@@ -85,6 +85,9 @@
      */
     private static final long serialVersionUID = 3233620652465061860L;
     
+    public static final boolean USE_INDEX_BUFFER =
+        Boolean.getBoolean("gnv.horizontal.cross.section.mesh.index.buffer");
+
     private String ijkQueryID;
 
     private Boolean shapeFileLock = new Boolean(true);
@@ -371,17 +374,24 @@
         try {
             Envelope env  = p.getEnvelopeInternal();
 
-            Coordinate [] coords = new Coordinate [] {
-                new Coordinate(env.getMinX(), env.getMinY()),
-                new Coordinate(env.getMinX(), env.getMaxY()),
-                new Coordinate(env.getMaxX(), env.getMaxY()),
-                new Coordinate(env.getMaxX(), env.getMinY()) };
+            String additionWhere;
 
-            String additionWhere =
-                WKTUtils.worldEnvelopeCoordinatesToIndex(
-                    coords,
-                    meshId.getValue(),
-                    ijkQueryID);
+            if (USE_INDEX_BUFFER) {
+                Coordinate [] coords = new Coordinate [] {
+                    new Coordinate(env.getMinX(), env.getMinY()),
+                    new Coordinate(env.getMinX(), env.getMaxY()),
+                    new Coordinate(env.getMaxX(), env.getMaxY()),
+                    new Coordinate(env.getMaxX(), env.getMinY()) };
+
+                additionWhere =
+                    WKTUtils.worldEnvelopeCoordinatesToIndex(
+                        coords,
+                        meshId.getValue(),
+                        ijkQueryID);
+            }
+            else {
+                additionWhere = WKTUtils.TRUE_EXPRESSION;
+            }
 
             String[] addedFilterValues = StringUtils.append(
                 generateFilterValuesFromInputData(),

http://dive4elements.wald.intevation.org