Revision 4558
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