<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns:o =
"urn:schemas-microsoft-com:office:office"><HEAD><TITLE>Message</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=078124119-11042006>The
WKT for these geometries is:</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN
class=078124119-11042006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>POLYGON ((5416315.620858896
5657891.5790832825, 5416313.375312048 5657896.390969821, 5416306.81 5657888.38,
5416305.59 5657887.05, 5416307.29 5657885.63, 5416308.48 5657887.01, 5416310.51
5657885.35, 5416315.620858896 5657891.5790832825))</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>POLYGON ((5416313.375312049
5657896.39096982, 5416315.620858896 5657891.5790832825, 5416317.64 5657894.04,
5416313.94 5657897.08, 5416313.375312049 5657896.39096982))</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=078124119-11042006><FONT face=Arial color=#0000ff size=2>A
couple of observations:</FONT></SPAN></DIV>
<DIV><SPAN class=078124119-11042006><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=078124119-11042006><FONT face=Arial color=#0000ff size=2>-
These are two geometries which touch at a single point POINT
(5416315.620858896 5657891.5790832825) Given this, the expect
result from Union IS a MultiPolygon. They may appear on-screen to
touch along a line, but the points POINT (5416313.375312048 5657896.390969821)
and POINT (5416313.375312049 5657896.39096982) are very slightly
different.</FONT></SPAN></DIV>
<DIV><SPAN class=078124119-11042006><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=078124119-11042006><FONT face=Arial color=#0000ff size=2>- The
precision of these geometries is very high (10 decimal places). My guess
is this is much higher than your data accuracy. You will have fewer
problems with GEOS if you use lower precision data. This means using
SnapToGrid *all the way through* your computations.</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=078124119-11042006><FONT face=Arial color=#0000ff size=2>If you
have problems using snapped geometries, you should try posting an example of
that.</FONT></SPAN></DIV>
<DIV><SPAN class=078124119-11042006><FONT face=Arial color=#0000ff
size=2> </FONT></SPAN></DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV align=center><FONT face=Arial size=2><STRONG>Martin Davis, Senior Technical
Architect</STRONG><BR><STRONG><FONT color=#0000ff>Vivid Solutions
Inc.
<I>www.vividsolutions.com</I></FONT></STRONG><BR></FONT><EM><FONT face=Arial
size=2>Suite #1A-2328 Government Street Victoria, B.C. V8T 5G5<BR>Phone: (250)
385 6040 - Local 308 Fax: (250) 385 6046</FONT></EM></DIV>
<BLOCKQUOTE dir=ltr
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
<DIV></DIV>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT
face=Tahoma size=2>-----Original Message-----<BR><B>From:</B>
postgis-users-bounces@postgis.refractions.net
[mailto:postgis-users-bounces@postgis.refractions.net] <B>On Behalf Of
</B>Rene Neidt<BR><B>Sent:</B> April 11, 2006 11:24 AM<BR><B>To:</B>
postgis-users@postgis.refractions.net<BR><B>Subject:</B> [postgis-users] GEOS
Problems<BR><BR></FONT></DIV>
<DIV><FONT face=Arial size=2>Hello Postgis Users,</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>we are building a complex application with many
gis operations.<BR>The most problems occured within the geomUnion,
intersection and difference functions.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>We have some different problems using GEOS
operations. We think that is a <BR>problem with tolerances while processing
the geometries.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>We have tried "SnapToGrid","Buffer" with zero
distance and so on ... , but we can't find a<BR>solution that will work in all
cases.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>Either we get an Error from Geos (eg. "No
outgoing edge found" and many more), or we dont get the <BR>expected
result.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>The following example creates two different
results for the same operation with the<BR>"same" geometries, but different
geometrie casts.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>----- import with psql
-----------------------------------------------</FONT></DIV>
<DIV> </DIV><FONT face=Arial size=2>
<DIV><BR>CREATE TABLE t1 (<BR> geom
public.geometry<BR>);<BR>COPY t1 (geom) FROM
stdin;<BR>01030000000100000008000000F326BCE75EA9544154B30FE548955541D31C05585EA9544149A605194A9555413D0AD7B35CA9544185EB5118489555415C8FC2655CA95441333333C347955541295C8FD25CA9544185EB516847955541EC51B81E5DA954410AD7A3C0479555410AD7A3A05DA954416666665647955541F326BCE75EA9544154B30FE548955541<BR>01030000000100000005000000D41C05585EA9544148A605194A955541F326BCE75EA9544154B30FE5489555418FC2F5685FA95441295C8F8249955541C3F5287C5EA9544152B81E454A955541D41C05585EA9544148A605194A955541<BR>\.<BR> <BR>--
the statement below will produce a single-polygon with 10 Points, <BR>-- this
is the expected result ...<BR>select asText(geomUnion(asText(geom))) from
t1</DIV>
<DIV> </DIV>
<DIV><BR>-- but this statement produces a multipolygon with 13 points
<BR>select asText(geomUnion(geom)) from t1 </DIV>
<DIV> </DIV>
<DIV><BR>-- Postgres Version : "PostgreSQL 8.1.2 on i686-pc-mingw32, compiled
by GCC gcc.exe (GCC) 3.4.2 (mingw-special)"<BR>-- Postgis Version :
"POSTGIS="1.1.1" GEOS="2.2.1-CAPI-1.0.1" PROJ="Rel. 4.4.9, 29 Oct 2004"
USE_STATS (procs 1.1.0 upgrade)" <BR>-- OS: Windows Server
2003</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><SPAN class=622472218-11042006><FONT face=Arial size=2>-- Best regards
</FONT></SPAN></DIV>
<DIV class=Section1>
<P><SPAN style="FONT-SIZE: 7.5pt; COLOR: navy; FONT-FAMILY: Arial"><SPAN
class=622472218-11042006> </SPAN>__________________________________________________________________<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 7.5pt; COLOR: navy; FONT-FAMILY: Arial">Rene
Neidt<BR>Projektleiter Software<BR>IDU Ingenieurgesellschaft für
Datenverarbeitung und Umweltschutz mbH<BR>Theodor-Körner-Allee 16<BR>02763
Zittau<BR>Germany<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 7.5pt; COLOR: navy; FONT-FAMILY: Arial">Tel ++49
3583 61-15-37<BR>Fax ++49 3583 61-12-10<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 7.5pt; COLOR: navy; FONT-FAMILY: Arial">Internet
</SPAN><U><SPAN
style="FONT-SIZE: 7.5pt; COLOR: blue; FONT-FAMILY: Arial">http://www.idu.de/</SPAN></U><SPAN
style="FONT-SIZE: 7.5pt; COLOR: navy; FONT-FAMILY: Arial">, </SPAN><U><SPAN
style="FONT-SIZE: 7.5pt; COLOR: blue; FONT-FAMILY: Arial">http://www.webmapserver.de/<BR></SPAN></U><SPAN
style="FONT-SIZE: 7.5pt; COLOR: navy; FONT-FAMILY: Arial">Anfahrt:
</SPAN><U><SPAN style="FONT-SIZE: 7.5pt; COLOR: blue; FONT-FAMILY: Arial"><A
href="http://www.stadtplan-zittau.de/?alias=idu">http://www.stadtplan-zittau.de/?alias=idu</A><o:p></o:p></SPAN></U></P></DIV>
<DIV> </DIV></BLOCKQUOTE></BODY></HTML>