Changes between Initial Version and Version 2 of Ticket #155


Ignore:
Timestamp:
Nov 21, 2007, 2:15:52 PM (16 years ago)
Author:
mloskot
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #155

    • Property Cc mloskot added
  • Ticket #155 – Description

    initial v2  
    1 {{{
    21I can't do the union between a polygon and a multi-polygon. The multi-polygon seems invalid, but I don't understand how it's possible.
    32
    43This is the result when I launch my program :
    54
    6 ****************************************
     5{{{
    76i=1 j=2 nbPoints=12
    87
     
    1110xAlpha=3.439598 yAlpha=50.312298 xBeta=3.457267 yBeta=50.321667 xGamma=3.457334 yGamma=50.321541 xDelta=3.439665 yDelta=50.312172
    1211maRequete= select GeomFromText('POLYGON((3.439598 50.312298, 3.457267 50.321667, 3.457334 50.321541, 3.439665 50.312172, 3.439598 50.312298))')
    13 ****************************************
     12}}}
    1413
    1514I create a polygon with (xAlpha,yAlpha) (xBeta,yBeta) (xGamma, yGamma) (xDelta, yDelta)
    1615
    17 ****************************************
     16{{{
    1817i=2 j=3 nbPoints=12
    1918
     
    2221xAlpha=3.439293 yAlpha=50.312950 xBeta=3.457705 yBeta=50.320763 xGamma=3.457758 yGamma=50.320637 xDelta=3.439347 yDelta=50.312824
    2322maRequete= select GeomUnion(GeomFromText('POLYGON((3.439293 50.312950, 3.457705 50.320763, 3.457758 50.320637, 3.439347 50.312824, 3.439293 50.312950))'),'010300000001000000050000009818CBF44B840B40984D8061F9274940FC51D4997BA80B40E9995E622C29494079CA6ABA9EA80B405DA9674128294940159161156F840B400B5D8940F52749409818CBF44B840B40984D8061F9274940')
    24 ****************************************
     23}}}
    2524
    2625I create a polygon which is the Union between the last polygon and a new polygon (with the new (xAlpha,yAlpha) (xBeta,yBeta) (xGamma, yGamma) (xDelta, yDelta))
    2726
    28 ****************************************
     27{{{
    2928i=3 j=4 nbPoints=12
    3029
     
    3332xAlpha=3.438910 yAlpha=50.314083 xBeta=3.458196 yBeta=50.319378 xGamma=3.458230 yGamma=50.319252 xDelta=3.438944 yDelta=50.313957
    3433maRequete= select GeomUnion(GeomFromText('POLYGON((3.438910 50.314083, 3.458196 50.319378, 3.458230 50.319252, 3.438944 50.313957, 3.438910 50.314083))'),'0103000000010000000D000000D2E4620CAC830B4040A4DFBE0E2849408F28E45468930B4011B4D79479284940FC51D4997BA80B40E9995E622C29494079CA6ABA9EA80B405DA96741282949406E06C9F487960B40D5BEE1C98E284940B6B9313D61A90B40286211C30E294940E4DBBB067DA90B409B711AA20A294940F4B7E4A6A7930B401564116376284940159161156F840B400B5D8940F52749409818CBF44B840B40984D8061F92749403AD870DA87900B4022508D2C6128494005C4245CC8830B40B3B3E89D0A284940D2E4620CAC830B4040A4DFBE0E284940')
    35 ****************************************
     34}}}
    3635
    3736I create a polygon which is the Union between the last polygon and a new polygon (with the new (xAlpha,yAlpha) (xBeta,yBeta) (xGamma, yGamma) (xDelta, yDelta))
    3837
    39 ****************************************
     38{{{
    4039i=4 j=5 nbPoints=12
    4140
     
    4443xAlpha=3.438944 yAlpha=50.313957 xBeta=3.458230 yBeta=50.319252 xGamma=3.458265 yGamma=50.319126 xDelta=3.438979 yDelta=50.313831
    4544maRequete= select GeomUnion(GeomFromText('POLYGON((3.438944 50.313957, 3.458230 50.319252, 3.458265 50.319126, 3.438979 50.313831, 3.438944 50.313957))'),'010300000001000000140000005019FF3EE3820B40629D2ADF3328494057FBAA3D1B940B407505B6827F284940FC51D4997BA80B40E9995E622C29494079CA6ABA9EA80B405DA96741282949406E06C9F487960B40D5BEE1C98E284940B6B9313D61A90B40286211C30E294940E4DBBB067DA90B409B711AA20A2949400F4B7436A2960B40C486BE9C8A2849409E4319AA62AA0B40EC87D860E12849405F5E807D74AA0B405F97E13FDD2849404C9EEE98C8940B405925F70C7E284940F4B7E4A6A7930B401564116376284940159161156F840B400B5D8940F52749409818CBF44B840B40984D8061F92749403AD870DA87900B4022508D2C6128494005C4245CC8830B40B3B3E89D0A284940D2E4620CAC830B4040A4DFBE0E28494045964C0CC0920B4023AA481E7528494011346612F5820B40D6AC33BE2F2849405019FF3EE3820B40629D2ADF33284940')
    46 ****************************************
     45}}}
    4746
    4847I create a polygon which is the Union between the last polygon and a new polygon (with the new (xAlpha,yAlpha) (xBeta,yBeta) (xGamma, yGamma) (xDelta, yDelta))
    4948
    50 ****************************************
     49{{{
    5150i=5 j=6 nbPoints=12
    5251
     
    5554xAlpha=3.439096 yAlpha=50.313435 xBeta=3.458148 yBeta=50.319523 xGamma=3.458169 yGamma=50.319454 xDelta=3.439118 yDelta=50.313366
    5655maRequete= select GeomUnion(GeomFromText('POLYGON((3.439096 50.313435, 3.458148 50.319523, 3.458169 50.319454, 3.439118 50.313366, 3.439096 50.313435))'),'0103000000030000001500000011346612F5820B40D6AC33BE2F2849405019FF3EE3820B40629D2ADF3328494057FBAA3D1B940B407505B6827F284940FC51D4997BA80B40E9995E622C29494079CA6ABA9EA80B405DA96741282949406E06C9F487960B40D5BEE1C98E284940B6B9313D61A90B40286211C30E294940E4DBBB067DA90B409B711AA20A2949400F4B7436A2960B40C486BE9C8A2849409E4319AA62AA0B40EC87D860E12849405F5E807D74AA0B405F97E13FDD28494026361FD786AA0B40D2A6EA1ED9284940789609E43A930B40834756C872284940159161156F840B400B5D8940F52749409818CBF44B840B40984D8061F92749403AD870DA87900B4022508D2C6128494005C4245CC8830B40B3B3E89D0A284940D2E4620CAC830B4040A4DFBE0E284940E53F1D66E5900B408912A98768284940D80B056C07830B4049BC3C9D2B28494011346612F5820B40D6AC33BE2F2849400400000011346612F5820B40D6AC33BE2F284940F4954C0CC0920B4021AA481E7528494045964C0CC0920B4023AA481E7528494011346612F5820B40D6AC33BE2F284940040000005F5E807D74AA0B405F97E13FDD2849404C9EEE98C8940B405925F70C7E284940289EEE98C8940B405825F70C7E2849405F5E807D74AA0B405F97E13FDD284940')
    57 ****************************************
     56}}}
    5857
    5958I create a polygon which is the Union between the last polygon and a new polygon (with the new (xAlpha,yAlpha) (xBeta,yBeta) (xGamma, yGamma) (xDelta, yDelta))
    6059
    61 ****************************************
     60{{{
    6261i=6 j=7 nbPoints=12
    6362
     
    6665xAlpha=3.439379 yAlpha=50.312645 xBeta=3.457908 yBeta=50.320175 xGamma=3.457939 yGamma=50.320099 xDelta=3.439410 yDelta=50.312569
    6766maRequete= select GeomUnion(GeomFromText('POLYGON((3.439379 50.312645, 3.457908 50.320175, 3.457939 50.320099, 3.439410 50.312569, 3.439379 50.312645))'),'0103000000050000001F000000726F7EC344830B40FC3559A31E2849406A106567618E0B408A17447357284940E53F1D66E5900B408912A98768284940D80B056C07830B4049BC3C9D2B28494011346612F5820B40D6AC33BE2F2849405019FF3EE3820B40629D2ADF3328494057FBAA3D1B940B407505B6827F284940FC51D4997BA80B40E9995E622C29494079CA6ABA9EA80B405DA96741282949406E06C9F487960B40D5BEE1C98E284940B6B9313D61A90B40286211C30E294940E4DBBB067DA90B409B711AA20A2949400F4B7436A2960B40C486BE9C8A284940021CB96116A30B40F01BCF51C12849408DD2A57F49AA0B40EFA83121E62849400454388254AA0B40C74961DEE32849400A1DBFEE88A60B40F312B376D02849409E4319AA62AA0B40EC87D860E12849405F5E807D74AA0B405F97E13FDD28494026361FD786AA0B40D2A6EA1ED92849400D194B08359A0B4051E08A6E91284940E653874BBD910B40B2D7DF2266284940159161156F840B400B5D8940F52749409818CBF44B840B40984D8061F927494014BB6C572B900B40CD54AE1B5E284940107ED7DFCD8F0B40494DC83D5C28494005C4245CC8830B40B3B3E89D0A284940D2E4620CAC830B4040A4DFBE0E2849400395916CE58C0B40951B665F4D284940EFAD484C50830B40D4D688601C284940726F7EC344830B40FC3559A31E2849400400000011346612F5820B40D6AC33BE2F284940F4954C0CC0920B4021AA481E7528494045964C0CC0920B4023AA481E7528494011346612F5820B40D6AC33BE2F284940040000005F5E807D74AA0B405F97E13FDD2849405883DA9460A00B402DE7CBFAB02849401883DA9460A00B402CE7CBFAB02849405F5E807D74AA0B405F97E13FDD28494004000000EB7E152F7A920B40B2EE68656C2849405FF8184EC1960B400CEA7B4482284940789609E43A930B40834756C872284940EB7E152F7A920B40B2EE68656C2849400500000088826571ED9C0B40211C53D3A1284940DD826571ED9C0B40231C53D3A12849404C9EEE98C8940B405925F70C7E284940289EEE98C8940B405825F70C7E28494088826571ED9C0B40211C53D3A1284940')
    68 ****************************************
     67}}}
    6968
    7069I create a polygon which is the Union between the last polygon and a new polygon (with the new (xAlpha,yAlpha) (xBeta,yBeta) (xGamma, yGamma) (xDelta, yDelta))
    7170
    72 ****************************************
     71{{{
    7372i=7 j=8 nbPoints=12
    7473
     
    7776xAlpha=3.439806 yAlpha=50.311714 xBeta=3.457544 yBeta=50.320953 xGamma=3.457580 yGamma=50.320885 xDelta=3.439841 yDelta=50.311646
    7877maRequete= select GeomUnion(GeomFromText('POLYGON((3.439806 50.311714, 3.457544 50.320953, 3.457580 50.320885, 3.439841 50.311646, 3.439806 50.311714))'),'01030000000700000028000000BB641C23D9830B40042159C004284940D74D9B7D818B0B40B15C098B3628494014BB6C572B900B40CD54AE1B5E284940107ED7DFCD8F0B40494DC83D5C28494005C4245CC8830B40B3B3E89D0A284940D2E4620CAC830B4040A4DFBE0E2849400395916CE58C0B40951B665F4D284940EFAD484C50830B40D4D688601C284940726F7EC344830B40FC3559A31E2849406A106567618E0B408A17447357284940E53F1D66E5900B408912A98768284940D80B056C07830B4049BC3C9D2B28494011346612F5820B40D6AC33BE2F2849405019FF3EE3820B40629D2ADF3328494057FBAA3D1B940B407505B6827F284940FC51D4997BA80B40E9995E622C29494079CA6ABA9EA80B405DA96741282949406E06C9F487960B40D5BEE1C98E284940B6B9313D61A90B40286211C30E294940E4DBBB067DA90B409B711AA20A2949400F4B7436A2960B40C486BE9C8A284940394A7DC22F9C0B40EB8C5901A3284940399D64ABCBA90B4097FF907EFB284940E98024ECDBA90B40BC3D0801F9284940E07D7817909D0B4050FF140DA9284940021CB96116A30B40F01BCF51C12849408DD2A57F49AA0B40EFA83121E62849400454388254AA0B40C74961DEE32849400A1DBFEE88A60B40F312B376D02849409E4319AA62AA0B40EC87D860E12849405F5E807D74AA0B405F97E13FDD28494026361FD786AA0B40D2A6EA1ED92849400D194B08359A0B4051E08A6E9128494019993463E9980B40C38ED6CE8A284940A8417830B68C0B40D7050E7B3B284940159161156F840B400B5D8940F52749409818CBF44B840B40984D8061F927494050D11E770A8A0B405C39511D2A2849406B48DC63E9830B40295FD04202284940BB641C23D9830B40042159C0042849400400000011346612F5820B40D6AC33BE2F284940F4954C0CC0920B4021AA481E7528494045964C0CC0920B4023AA481E7528494011346612F5820B40D6AC33BE2F284940040000005F5E807D74AA0B405F97E13FDD2849401883DA9460A00B402CE7CBFAB02849405883DA9460A00B402DE7CBFAB02849405F5E807D74AA0B405F97E13FDD284940040000005FBEF4362D8E0B402D29C6E84728494094804067D2960B404B10751F80284940E653874BBD910B40B2D7DF22662849405FBEF4362D8E0B402D29C6E84728494005000000E0186991159A0B4038F4E5559528494001196991159A0B4039F4E555952849404C9EEE98C8940B405925F70C7E284940289EEE98C8940B405825F70C7E284940E0186991159A0B4038F4E5559528494005000000A14C64E6759B0B409E66A1619B284940894C64E6759B0B409D66A1619B28494088826571ED9C0B40211C53D3A1284940DD826571ED9C0B40231C53D3A1284940A14C64E6759B0B409E66A1619B28494004000000EB7E152F7A920B40B2EE68656C2849405FF8184EC1960B400CEA7B4482284940789609E43A930B40834756C872284940EB7E152F7A920B40B2EE68656C284940')
    79 ****************************************
     78}}}
    8079
    8180I create a polygon which is the Union between the last polygon and a new polygon (with the new (xAlpha,yAlpha) (xBeta,yBeta) (xGamma, yGamma) (xDelta, yDelta))
    8281
    83 ****************************************
     82{{{
    8483i=8 j=9 nbPoints=12
    8584
     
    9190NOTICE:  TopologyException: found non-noded intersection between 3.44871 50.3163, 3.44945 50.3168 and 3.44765 50.3163, 3.44945 50.3168 3.44945 50.3168
    9291SELECT failed: ERROR:  GEOS union() threw an error!
    93 ****************************************
     92}}}
    9493
    95 
    96 I tried this request : select isvalid(GeomFromText('POLYGON((3.440806 50.310139, 3.456614 50.322392, 3.456674 50.322315, 3.440866 50.310062, 3.440806 50.310139))')), isvalid('0103000000090000003100000036AD1402B9840B4049DA8D3EE6274940C65D9F23E6960B4001D791B87D284940A8417830B68C0B40D7050E7B3B284940159161156F840B400B5D8940F52749409818CBF44B840B40984D8061F927494050D11E770A8A0B405C39511D2A2849406B48DC63E9830B40295FD04202284940BB641C23D9830B40042159C004284940D74D9B7D818B0B40B15C098B3628494014BB6C572B900B40CD54AE1B5E284940107ED7DFCD8F0B40494DC83D5C28494005C4245CC8830B40B3B3E89D0A284940D2E4620CAC830B4040A4DFBE0E2849400395916CE58C0B40951B665F4D284940EFAD484C50830B40D4D688601C284940726F7EC344830B40FC3559A31E2849406A106567618E0B408A17447357284940E53F1D66E5900B408912A98768284940D80B056C07830B4049BC3C9D2B28494011346612F5820B40D6AC33BE2F2849405019FF3EE3820B40629D2ADF3328494057FBAA3D1B940B407505B6827F284940FC51D4997BA80B40E9995E622C29494079CA6ABA9EA80B405DA96741282949406E06C9F487960B40D5BEE1C98E284940EF3FE19B91A30B405443D34EE728494023D923D40CA90B40CC46E7FC14294940F06DFAB31FA90B4073637AC2122949405050868F68A50B40C65558CCF3284940B6B9313D61A90B40286211C30E294940E4DBBB067DA90B409B711AA20A29494042CECD4141A20B401750DC84D928494044777C7F2F9B0B40AC1DA39B9E284940394A7DC22F9C0B40EB8C5901A3284940399D64ABCBA90B4097FF907EFB284940E98024ECDBA90B40BC3D0801F9284940E07D7817909D0B4050FF140DA9284940021CB96116A30B40F01BCF51C12849408DD2A57F49AA0B40EFA83121E62849400454388254AA0B40C74961DEE32849400A1DBFEE88A60B40F312B376D02849409E4319AA62AA0B40EC87D860E12849405F5E807D74AA0B405F97E13FDD28494026361FD786AA0B40D2A6EA1ED92849400D194B08359A0B4051E08A6E9128494019993463E9980B40C38ED6CE8A28494010EEB56072980B40CD1A02C987284940FD84B35BCB840B40F1F62004E427494036AD1402B9840B4049DA8D3EE62749400400000011346612F5820B40D6AC33BE2F284940F4954C0CC0920B4021AA481E7528494045964C0CC0920B4023AA481E7528494011346612F5820B40D6AC33BE2F284940040000005F5E807D74AA0B405F97E13FDD2849401883DA9460A00B402CE7CBFAB02849405883DA9460A00B402DE7CBFAB02849405F5E807D74AA0B405F97E13FDD284940050000006654AE3157990B40147B9E11922849408254AE3157990B40147B9E11922849404C9EEE98C8940B405925F70C7E284940289EEE98C8940B405825F70C7E2849406654AE3157990B40147B9E119228494004000000242A2744779A0B4020E756729B28494052F53F706AA00B403E401208CD2849400F4B7436A2960B40C486BE9C8A284940242A2744779A0B4020E756729B284940050000007BC838640F9A0B400C12C43A952849405FC838640F9A0B400B12C43A95284940E0186991159A0B4038F4E5559528494001196991159A0B4039F4E555952849407BC838640F9A0B400C12C43A95284940040000005FBEF4362D8E0B402D29C6E84728494094804067D2960B404B10751F80284940E653874BBD910B40B2D7DF22662849405FBEF4362D8E0B402D29C6E84728494005000000A14C64E6759B0B409E66A1619B284940894C64E6759B0B409D66A1619B28494088826571ED9C0B40211C53D3A1284940DD826571ED9C0B40231C53D3A1284940A14C64E6759B0B409E66A1619B28494004000000EB7E152F7A920B40B2EE68656C2849405FF8184EC1960B400CEA7B4482284940789609E43A930B40834756C872284940EB7E152F7A920B40B2EE68656C284940')
     94I tried this request :
     95{{{
     96select isvalid(GeomFromText('POLYGON((3.440806 50.310139, 3.456614 50.322392, 3.456674 50.322315, 3.440866 50.310062, 3.440806 50.310139))')), isvalid('0103000000090000003100000036AD1402B9840B4049DA8D3EE6274940C65D9F23E6960B4001D791B87D284940A8417830B68C0B40D7050E7B3B284940159161156F840B400B5D8940F52749409818CBF44B840B40984D8061F927494050D11E770A8A0B405C39511D2A2849406B48DC63E9830B40295FD04202284940BB641C23D9830B40042159C004284940D74D9B7D818B0B40B15C098B3628494014BB6C572B900B40CD54AE1B5E284940107ED7DFCD8F0B40494DC83D5C28494005C4245CC8830B40B3B3E89D0A284940D2E4620CAC830B4040A4DFBE0E2849400395916CE58C0B40951B665F4D284940EFAD484C50830B40D4D688601C284940726F7EC344830B40FC3559A31E2849406A106567618E0B408A17447357284940E53F1D66E5900B408912A98768284940D80B056C07830B4049BC3C9D2B28494011346612F5820B40D6AC33BE2F2849405019FF3EE3820B40629D2ADF3328494057FBAA3D1B940B407505B6827F284940FC51D4997BA80B40E9995E622C29494079CA6ABA9EA80B405DA96741282949406E06C9F487960B40D5BEE1C98E284940EF3FE19B91A30B405443D34EE728494023D923D40CA90B40CC46E7FC14294940F06DFAB31FA90B4073637AC2122949405050868F68A50B40C65558CCF3284940B6B9313D61A90B40286211C30E294940E4DBBB067DA90B409B711AA20A29494042CECD4141A20B401750DC84D928494044777C7F2F9B0B40AC1DA39B9E284940394A7DC22F9C0B40EB8C5901A3284940399D64ABCBA90B4097FF907EFB284940E98024ECDBA90B40BC3D0801F9284940E07D7817909D0B4050FF140DA9284940021CB96116A30B40F01BCF51C12849408DD2A57F49AA0B40EFA83121E62849400454388254AA0B40C74961DEE32849400A1DBFEE88A60B40F312B376D02849409E4319AA62AA0B40EC87D860E12849405F5E807D74AA0B405F97E13FDD28494026361FD786AA0B40D2A6EA1ED92849400D194B08359A0B4051E08A6E9128494019993463E9980B40C38ED6CE8A28494010EEB56072980B40CD1A02C987284940FD84B35BCB840B40F1F62004E427494036AD1402B9840B4049DA8D3EE62749400400000011346612F5820B40D6AC33BE2F284940F4954C0CC0920B4021AA481E7528494045964C0CC0920B4023AA481E7528494011346612F5820B40D6AC33BE2F284940040000005F5E807D74AA0B405F97E13FDD2849401883DA9460A00B402CE7CBFAB02849405883DA9460A00B402DE7CBFAB02849405F5E807D74AA0B405F97E13FDD284940050000006654AE3157990B40147B9E11922849408254AE3157990B40147B9E11922849404C9EEE98C8940B405925F70C7E284940289EEE98C8940B405825F70C7E2849406654AE3157990B40147B9E119228494004000000242A2744779A0B4020E756729B28494052F53F706AA00B403E401208CD2849400F4B7436A2960B40C486BE9C8A284940242A2744779A0B4020E756729B284940050000007BC838640F9A0B400C12C43A952849405FC838640F9A0B400B12C43A95284940E0186991159A0B4038F4E5559528494001196991159A0B4039F4E555952849407BC838640F9A0B400C12C43A95284940040000005FBEF4362D8E0B402D29C6E84728494094804067D2960B404B10751F80284940E653874BBD910B40B2D7DF22662849405FBEF4362D8E0B402D29C6E84728494005000000A14C64E6759B0B409E66A1619B284940894C64E6759B0B409D66A1619B28494088826571ED9C0B40211C53D3A1284940DD826571ED9C0B40231C53D3A1284940A14C64E6759B0B409E66A1619B28494004000000EB7E152F7A920B40B2EE68656C2849405FF8184EC1960B400CEA7B4482284940789609E43A930B40834756C872284940EB7E152F7A920B40B2EE68656C284940')
    9797Answer : t;f
     98}}}
    9899
    99100I don't understand how the second polygon can be invalid
    100 }}}