[Gvsig_english] spatial query rules in Selection by layer tool

ernesto sferlazza e.sferlazza at gmail.com
Wed May 18 14:08:33 CEST 2011


Hello users and developers
I have performed some trials to test how actually work the various
operators (or topological rules) implemented in the "spatial
selection" tool .

- Operators "are the same as" and "intersect with": they works as I
expected for all kinds of geometries.

- Operator "are disjoint from": the spatial query  returns an error
(java.lang.NullPointerException) when I compare input layers
(polygons, lines or points)with  polygons  selected in a mask layer.
If I compare an input layer with features selected in the mask layer
(lines or points), the spatial query performed with the above
mentioned topological criterion  returns all feature from the input
layers, despite some of them touch or intersect almost one feature of
the mask layer.
Maybe I have not understood its correct meaning: how really it should works?

- Operator "touch": points (in the input layer) are selected if they
touch a vertex (but not simply the edge) of a polygon (in the mask
layer)or one of the endpoints (but not other intermediate vertices) of
a line feature (in the mask layer). If the mask layer is a point
layer, no feature is selected from point input layer even if we have
coincident points.
Lines from the input layer result selected if one of their endpoint
touch, in the mask layer, the endpoint (not an intermediate vertex) of
a line feature , or a single point, or a vertex (not simply the edge)
of the boundary of a polygon feature.
Using a polygon layer as input and a polygon layer as mask, "touch"
select only polygons for which only a segment (side) of the perimeter
of the input polygon is contained in a larger segment of the mask
polygon, but not the reciprocal (very strange behaviour); if the rest
of the input polygon overlaps the mask polygon, no selection occurs.
Using polygon layer as input and line layer as mask, the polygons
selected by "touch" are those for which lthe line (mask) feature lies
entirely on the perimeter of the polygon or if the end of the line
touches the vertex of the polygon and the line is not overlapped to
the interior of the polygon.
Using polygon layer as input and point layer as mask, polygons are
selected if one vertex of the perimeter is coincident with one point
of the mask layer.

-Operator "cross over": lines (input) are selected if an endpoint
touches the edge or the interior (not the vertex) of a polygon (mask),
or if any point of the line touches a vertex of a polygon, but not if
an intermediate vertex of the line touches the edge of a polygon or if
only the endpoint of the line touches the vertex of a polygon.
[...] to be continued

Have I misunderstood something on how operators work, or really some
adjustment to the rules of spatial query are needed?

Best regards

-- 
ing. Ernesto Sferlazza
responsabile nodo provinciale di Agrigento del SITR Sicilia
resp. gruppo Sistema Informativo Territoriale
Provincia regionale di Agrigento
sede istituzionale: piazza Aldo Moro, 1 - 92100 AGRIGENTO
sede operativa: via Acrone, 27 - 92100 AGRIGENTO
cell. 3392718463 (personale)
       3316874296 (aziendale)
tel. uff 0922593752


More information about the Gvsig_internacional mailing list