Improve logging
[gpl/argeo-suite.git] / org.argeo.app.geo / src / org / argeo / app / geo / http / WfsHttpHandler.java
index 59cb97a2d4eb02331f423b3b7ef302501c6f64d7..641c14bbed9b4efc40ec6a57def5bf64257754c7 100644 (file)
@@ -216,11 +216,16 @@ public class WfsHttpHandler implements HttpHandler {
 
                        if (bbox != null) {
                                search.getWhere().any((or) -> {
+                                       // box overlap, see
+                                       // https://stackoverflow.com/questions/20925818/algorithm-to-check-if-two-boxes-overlap
+                                       // isOverlapping = (x1min < x2max AND x2min < x1max AND y1min < y2max AND y2min
+                                       // < y1max)
+                                       // x1 = entity, x2 = bbox
                                        or.all((and) -> {
-                                               and.gte(EntityName.minLat, bbox.getMinX());
-                                               and.gte(EntityName.minLon, bbox.getMinY());
-                                               and.lte(EntityName.maxLat, bbox.getMaxX());
-                                               and.lte(EntityName.maxLon, bbox.getMaxY());
+                                               and.lte(EntityName.minLat, bbox.getMaxX());
+                                               and.gte(EntityName.maxLat, bbox.getMinX());
+                                               and.lte(EntityName.minLon, bbox.getMaxY());
+                                               and.gte(EntityName.maxLon, bbox.getMinY());
                                        });
                                        or.all((and) -> {
                                                and.gte(WGS84PosName.lat, bbox.getMinX());
@@ -362,7 +367,8 @@ public class WfsHttpHandler implements HttpHandler {
                generator.writeEnd();// features array
                generator.writeEnd().close();
 
-               log.debug("GeoJSon encoding took " + (System.currentTimeMillis() - begin) + " ms.");
+               if (log.isTraceEnabled())
+                       log.trace("GeoJSon encoding took " + (System.currentTimeMillis() - begin) + " ms.");
        }
 
        protected Geometry getDefaultGeometry(Content content) {