On Tue, Sep 09, 2014 at 06:44:49PM +0300, Mika Heiskanen wrote: > On 09/09/2014 06:27 PM, Sandro Santilli wrote: > >>I'd like to see a reference where all such special cases > >>are defined explicitly. (No, I never looked for one, as explained > >>before.) In your previous example a linestring was split in half > >>because a vertex is on the rectangle edge. This is kind of consistent > >>with the interpretation that the vertex is considered to be out. > >>However, the example presented here is consistent with the > >>interpretation that the vertex should be considered to be in. > > > >Indeed the results are formally confusing. > >I hope Martin Davis can chime in, being the author of the currently > >used algorithm. > > Our algorithm discards all points on the rectangle edges unless they > are required to represent the resulting geometry. This means > intermediate vertices might be skipped when the edges are travelling > along the rectangle edge. > > I do see however that someone might wish original vertices on the edges > to be preserved during polygon clipping, for example if the geometry is > to be projected afterwards.
Yep. Best would be if all these options could be available as parameters of the RectangleIntersection class. Beside, re-thinking about the consistency of the split, I think the reason why the linestring was split was not because the boundary of the rectangle was not considered part of the result, but rather just a subproduct of the geomgraph building algorithm. I'm saying this because in the case of a linestring laying on a single edge of the rectangle, that line also becomes a multiline, for no apparent reason. So my guess is that boundary intersections are always included in the result as either points, lines or polygons depending on the dimension of the intersection. --strk; () ASCII ribbon campaign -- Keep it simple ! /\ http://strk.keybit.net/rants/ascii_mails.txt _______________________________________________ geos-devel mailing list geos-devel@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/geos-devel