Hi Martin, Michaël and Stefan, thank you very much for this detailed clarification!
Is it in OJ possible to check first for valid geometries when "Combine Selected Features" or is this a great problem? If it is a great problem maybe it is better "Combine Selected Features" makes always a geometrycollection? What do you think? Regards Uwe Am 09.04.2013 03:21, schrieb Martin Davis: > As Michael and Stefan point out, Polygons in a MultiPolygon must be > edge-disjoint (which another way of stating the formal definition "must > only touch at a finite number of points". If they touched along an > edge, that would cause an infinite number of points to be coincident). > > Another way of looking at this is that MultiPolygons are in a sense the > canonical description of a given area of the plane. If edge touches or > overlaps were allowed then there would be an infinite number of > geometries which described the same area. > > Also, from the point of view of computing polygon overlay and spatial > relationships this is a nice rule to have, since it reduces the number > of cases which need to be checked for. This makes the code simpler and > more performant. The cost is that it is necessary to ensure that > MultiPolygons are valid at creation time. This is a reasonable > tradeoff, since in general geometries are queried more often than they > are created. > > GeometryCollections on the other hand have no particular semantics - > they are just "bags" of geometries. This makes them useful for holding > arbitrary sets of geometries, but makes them more complex (and sometimes > slower) to process. > > On 4/8/2013 11:04 AM, Michaël Michaud wrote: >> Hi Uwe, Stefan, >> >> OpenJUMP (JTS) is right, this MultiPolygon is not OGC conform >> >> Here is the citation : >> Multipolygon >> 2. The Boundaries of any 2 Polygons that are elements of a MultiPolygon >> may not ‘cross’ and may touch >> at only a finite number of points. (Note that crossing is prevented by >> assertion 1 above). >> >> Don't ask me why, I've always thought it is strange that lines can >> share their boundaries in a MultiLineString and polygons cannot >> share an edge in a MultiPolygon, but it's a well established rule >> that JTS follows. >> >> Michaël >> >> >>> Hi Uwe, >>> >>> I am not sure I would call it a bug. OJ, should (try to) create data >>> that are OGC conform, but in this case it doesn't. Which means, the case >>> needs special treatment, but this is not implemented. >>> >>> That the multi-polygon causes an error is with the OGS SF specification >>> = correct. However, that the geometry collection does not cause an error >>> should be correct aw well, because there is, I believe, nothing said >>> about geometry collections and their validity. Geometry collections >>> should be allowed to have any type of geometries in what ever way they >>> are drawn - like a "container". If we would check geometry collections >>> for their validity it may be that people cannot store anymore the data >>> they have. Hence, checking should be optional. >>> >>> But I guess here, Michael M. knows probably more about OGC conformance? >>> I'll also cc to JTS list. >>> >>> cheers, >>> stefan >>> >>> PS: the Multi-polygon: >>> >>> MULTIPOLYGON ((( >>> 80 125, >>> 80 241, >>> 175 241, >>> 175 125, >>> 80 125 >>> )), (( >>> 175 125, >>> 175 241, >>> 263 241, >>> 263 125, >>> 175 125 >>> ))) >>> >>> Am 08.04.13 09:48, schrieb Uwe Dalluege: >>>> Hi Stefan, >>>> >>>> I am afraid I do not understand :-( >>>> Do you think this is a bug in OJ? >>>> The multipolygon causes an error >>>> the geometrycollection not. >>>> >>>> Is this behaviour OGC-conform (simpel features...)? >>>> What do you think? >>>> >>>> uwe >>>> >>>> Am 08.04.2013 16:36, schrieb Stefan Steiniger: >>>>> Hi, >>>>> >>>>> so - well the situation is not so nice, as it should be valid. However, >>>>> the JTS TestBuilder says the Multi-Polgyon is invalid because of >>>>> "Self-intersection at or near point (175.0, 125.0, NaN)" >>>>> >>>>> Same message appears when you try to add it as a new feature. >>>>> >>>>> maybe you can make it valid before by running a zero-buffer over it? >>>>> >>>>> stefan >>>>> >>>>> Am 08.04.13 07:30, schrieb Uwe Dalluege: >>>>>> Hi, >>>>>> >>>>>> if you put a third geometrie to the two polygons, >>>>>> for instance a linestring, and combine them >>>>>> you will receive a geometrycollection >>>>>> and not a multipolygon. >>>>>> >>>>>> The geometrycollection causes *no* errors >>>>>> but the multipolygon. >>>>>> >>>>>> Uwe >>>>>> >>>>>> >>>>>> Am 08.04.2013 12:05, schrieb Uwe Dalluege: >>>>>>> Hi, >>>>>>> >>>>>>> I get the error: >>>>>>> >>>>>>> "The new geometry is invalid. Cancelled." >>>>>>> and I am not shure whether this error is correct. >>>>>>> >>>>>>> 1. Switch "Snap to vertices" option. >>>>>>> >>>>>>> 2. Draw a rectangle. >>>>>>> >>>>>>> 3. Draw a second rectangle with two identical >>>>>>> vertices from the first rectangle (with snap). >>>>>>> >>>>>>> 4. Select the two rectangles and >>>>>>> "Combine Selected features" >>>>>>> >>>>>>> 5. Try to move this multipolygon with >>>>>>> "Move Selected Items Tool". >>>>>>> >>>>>>> 6. The error appears >>>>>>> "The new geometry is invalid. Cancelled." >>>>>>> >>>>>>> 7. The QA>Validate Selected Layers... >>>>>>> causes a self-intersection in *one* point. >>>>>>> >>>>>>> Is this a bug in OJ (a precision-problem) >>>>>>> or is the new geometry really invalide? >>>>>>> >>>>>>> Uwe >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel