Revision 4558

View differences:

org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/LineMustBeCoveredByBoundaryOfPolygonRule.java
252 252
            } else {
253 253
                if (theTolerance == 0) {
254 254
                    this.expression.setPhrase(
255
                            this.expressionBuilder.ifnull(
256
                                    this.expressionBuilder.column(this.geomName),
257
                                    this.expressionBuilder.constant(false),
255
                            this.expressionBuilder.and(
256
                                    this.expressionBuilder.ST_Intersects( //This force use Spatial Index
257
                                            this.expressionBuilder.column(this.geomName),
258
                                            this.expressionBuilder.envelope(line.getEnvelope())
259
                                    ),
258 260
                                    this.expressionBuilder.ST_Intersects(
259 261
                                            this.expressionBuilder.function("ST_Boundary", this.expressionBuilder.column(this.geomName)),
260 262
                                            this.expressionBuilder.geometry(line)
261 263
                                    )
262
                            ).toString()
264
                            )
265
                            .toString()
263 266
                    );
264 267

  
265 268
                } else {
266 269
                    this.expression.setPhrase(
267
                            this.expressionBuilder.ifnull(
268
                                    this.expressionBuilder.column(this.geomName),
269
                                    this.expressionBuilder.constant(false),
270
                            this.expressionBuilder.and(
271
                                    this.expressionBuilder.ST_Intersects( //This force use Spatial Index
272
                                            this.expressionBuilder.column(this.geomName),
273
                                            this.expressionBuilder.envelope(line.buffer(theTolerance).getEnvelope())
274
                                    ),
270 275
                                    this.expressionBuilder.ST_Intersects(
271 276
                                            this.expressionBuilder.ST_Buffer(
272 277
                                                    this.expressionBuilder.function("ST_Boundary", this.expressionBuilder.column(this.geomName)),
......
274 279
                                            ),
275 280
                                            this.expressionBuilder.geometry(line)
276 281
                                    )
277
                            ).toString()
282
                            )
283
                            .toString()
278 284
                    );
279 285
                }
280 286
                FeatureSet features = store2.getFeatureSet(this.expression);

Also available in: Unified diff