Re: [Jts-topo-suite-user] Union returning invalid geometry ?
Brought to you by:
dr_jts
From: Martin D. <mtn...@te...> - 2010-02-14 17:26:38
|
Ah, you had me going there - until I noticed that the input polygon is invalid! (In exactly the same way that the output polygon is invalid... not surprisingly). Note that if you union the input polygon with itself, you get a TopologyException, as expected. Union with points is short-circuited, so the invalidity is not detected. As always, union requires valid input to be provided in order to create valid output. None of the operations check validity of their operands, because this is an expensive operation which may not be required. So it's left up to the user to decide whether a validity check is required. UnaryUnion uses union "under the covers" to actually perform unions - so it will exhibit exactly the same behaviour in this case. Martin strk wrote: > Is it normal for Union operation to return invalid geometry ? > > select ST_isvalid( > ST_union( > 'POINT(0 0)', > 'POLYGON((0 0, 10 0, 10 10, 10 0, 10 10, 0 10, 0 0))' > ) > ); > NOTICE: Self-intersection at or near point 10 0 > > The invalidity here is a overstroke segment (10 0)-(10 10) > > Would UnaryUnion dissolve that ? > > --strk; > > () Free GIS & Flash consultant/developer > /\ http://foo.keybit.net/~strk/services.html > > ------------------------------------------------------------------------------ > SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ > Jts-topo-suite-user mailing list > Jts...@li... > https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user > ------------------------------------------------------------------------ > > > No virus found in this incoming message. > Checked by AVG - www.avg.com > Version: 8.5.435 / Virus Database: 271.1.1/2687 - Release Date: 02/14/10 07:35:00 > > |