PostGIS Symmetrical Difference The Next CEO of Stack OverflowSeparate polygons based on intersection using PostGISSeeking PostGIS equivalent to GeoPandas union overlay?How to relate Non-Spatial table to Spatial table in two different Postgis DBs?How to compare geometry in PostGiS?Adding Nodes to Linestrings at Overlapping Points with Polygon Layer in SpatialiteError when creating new view using ST_Union (PostGIS)greatest-n-per-group comparing geometry PostgisDifference between PostGIS ST_Intersects vs '=', QGIS and ArcGIS 'select by location'PostGIS ST_Intersects vs ArcGIS Select by LocationImproving the speed of a Postgis spatial queryUsing st_intersects between tables in PostGIS?Seeking PostGIS equivalent to GeoPandas union overlay?

My boss doesn't want me to have a side project

How to show a landlord what we have in savings?

Incomplete cube

How should I connect my cat5 cable to connectors having an orange-green line?

Are British MPs missing the point, with these 'Indicative Votes'?

My ex-girlfriend uses my Apple ID to login to her iPad, do I have to give her my Apple ID password to reset it?

What happens if you break a law in another country outside of that country?

Is a distribution that is normal, but highly skewed, considered Gaussian?

Raspberry pi 3 B with Ubuntu 18.04 server arm64: what chip

What day is it again?

Could a dragon use its wings to swim?

Cannot restore registry to default in Windows 10?

Masking layers by a vector polygon layer in QGIS

Why did the Drakh emissary look so blurred in S04:E11 "Lines of Communication"?

Plausibility of squid whales

What did the word "leisure" mean in late 18th Century usage?

How does a dynamic QR code work?

How dangerous is XSS

Calculating discount not working

Could you use a laser beam as a modulated carrier wave for radio signal?

Is it OK to decorate a log book cover?

May one celebrate April fools day?

What are the unusually-enlarged wing sections on this P-38 Lightning?

How can the PCs determine if an item is a phylactery?



PostGIS Symmetrical Difference



The Next CEO of Stack OverflowSeparate polygons based on intersection using PostGISSeeking PostGIS equivalent to GeoPandas union overlay?How to relate Non-Spatial table to Spatial table in two different Postgis DBs?How to compare geometry in PostGiS?Adding Nodes to Linestrings at Overlapping Points with Polygon Layer in SpatialiteError when creating new view using ST_Union (PostGIS)greatest-n-per-group comparing geometry PostgisDifference between PostGIS ST_Intersects vs '=', QGIS and ArcGIS 'select by location'PostGIS ST_Intersects vs ArcGIS Select by LocationImproving the speed of a Postgis spatial queryUsing st_intersects between tables in PostGIS?Seeking PostGIS equivalent to GeoPandas union overlay?










3















Related question



I have two tables in PostGIS, each with two features(rows) and a rectangular geometry (polygon).



enter image description here



I would like to obtain the Symmetrical Difference from those two layers so that the result would be:



enter image description here



the resulting table has the attributes from the first table (df1), or the second (df2)



enter image description here



However when I try to use ST_SymDifference in PostGIS I get a different result:



CREATE TABLE test.symdifference_v04 AS
SELECT
test.df1.df1,
test.df2.df2,
ST_SymDifference(test.df1.geom,test.df2.geom)
FROM test.df1, test.df2


enter image description here



It seems that the ST_SymDifference is applied on a polygon to polygon basis i.e. df1 row 1 vs df2 row 1

df1 row 1 vs df2 row 2

df1 row 2 vs df2 row 1

df1 row 2 vs df2 row 2



with Multipolygons as a result.



enter image description hereenter image description hereenter image description hereenter image description here



How would I obtain the first mentioned result with the 6 polygons (fancy colors) instead of the 4 multiploygons in PostGIS?










share|improve this question


























    3















    Related question



    I have two tables in PostGIS, each with two features(rows) and a rectangular geometry (polygon).



    enter image description here



    I would like to obtain the Symmetrical Difference from those two layers so that the result would be:



    enter image description here



    the resulting table has the attributes from the first table (df1), or the second (df2)



    enter image description here



    However when I try to use ST_SymDifference in PostGIS I get a different result:



    CREATE TABLE test.symdifference_v04 AS
    SELECT
    test.df1.df1,
    test.df2.df2,
    ST_SymDifference(test.df1.geom,test.df2.geom)
    FROM test.df1, test.df2


    enter image description here



    It seems that the ST_SymDifference is applied on a polygon to polygon basis i.e. df1 row 1 vs df2 row 1

    df1 row 1 vs df2 row 2

    df1 row 2 vs df2 row 1

    df1 row 2 vs df2 row 2



    with Multipolygons as a result.



    enter image description hereenter image description hereenter image description hereenter image description here



    How would I obtain the first mentioned result with the 6 polygons (fancy colors) instead of the 4 multiploygons in PostGIS?










    share|improve this question
























      3












      3








      3


      1






      Related question



      I have two tables in PostGIS, each with two features(rows) and a rectangular geometry (polygon).



      enter image description here



      I would like to obtain the Symmetrical Difference from those two layers so that the result would be:



      enter image description here



      the resulting table has the attributes from the first table (df1), or the second (df2)



      enter image description here



      However when I try to use ST_SymDifference in PostGIS I get a different result:



      CREATE TABLE test.symdifference_v04 AS
      SELECT
      test.df1.df1,
      test.df2.df2,
      ST_SymDifference(test.df1.geom,test.df2.geom)
      FROM test.df1, test.df2


      enter image description here



      It seems that the ST_SymDifference is applied on a polygon to polygon basis i.e. df1 row 1 vs df2 row 1

      df1 row 1 vs df2 row 2

      df1 row 2 vs df2 row 1

      df1 row 2 vs df2 row 2



      with Multipolygons as a result.



      enter image description hereenter image description hereenter image description hereenter image description here



      How would I obtain the first mentioned result with the 6 polygons (fancy colors) instead of the 4 multiploygons in PostGIS?










      share|improve this question














      Related question



      I have two tables in PostGIS, each with two features(rows) and a rectangular geometry (polygon).



      enter image description here



      I would like to obtain the Symmetrical Difference from those two layers so that the result would be:



      enter image description here



      the resulting table has the attributes from the first table (df1), or the second (df2)



      enter image description here



      However when I try to use ST_SymDifference in PostGIS I get a different result:



      CREATE TABLE test.symdifference_v04 AS
      SELECT
      test.df1.df1,
      test.df2.df2,
      ST_SymDifference(test.df1.geom,test.df2.geom)
      FROM test.df1, test.df2


      enter image description here



      It seems that the ST_SymDifference is applied on a polygon to polygon basis i.e. df1 row 1 vs df2 row 1

      df1 row 1 vs df2 row 2

      df1 row 2 vs df2 row 1

      df1 row 2 vs df2 row 2



      with Multipolygons as a result.



      enter image description hereenter image description hereenter image description hereenter image description here



      How would I obtain the first mentioned result with the 6 polygons (fancy colors) instead of the 4 multiploygons in PostGIS?







      postgis geopandas symmetricdifference






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 13 '18 at 14:01









      RutgerHRutgerH

      1,390922




      1,390922




















          1 Answer
          1






          active

          oldest

          votes


















          1














          This query should help you solve the problem:



          variant 1 -



          1) Combine two tables into one



          DROP TABLE table3;
          CREATE TABLE table3 as
          SELECT table1.geom FROM table1
          UNION ALL
          SELECT table2.geom FROM table2


          2) Remove unwanted parts:



          CREATE TABLE table4 as
          SELECT (ST_Dump(ST_SymDifference(a.geom, b.geom))).geom
          FROM table3 a,
          table1 b
          WHERE ST_Overlaps(a.geom, b.geom)
          UNION ALL
          SELECT (ST_Dump(ST_SymDifference(a.geom, b.geom))).geom
          FROM table3 a,
          table2 b
          WHERE ST_Overlaps(a.geom, b.geom)


          3) Cross the table itself:



          CREATE TABLE table5 AS
          SELECT (ST_Dump(ST_Difference(a.geom, b.geom))).geom
          FROM table4 a,
          table4 b
          WHERE ST_Overlaps(a.geom, b.geom) OR ST_Intersects(a.geom, b.geom)



          4) to remove the same geometry;

          5) Remove the central small squares, and L - shaped parts



          6) figure of the 11 items, 6 your, 5 not your...



          enter image description here



          Interesting geometric puzzle: -) ...






          share|improve this answer




















          • 1





            can you style your comment please?

            – RutgerH
            Nov 13 '18 at 15:25







          • 1





            the result is almost correct except that there is no middle hole.

            – RutgerH
            Nov 13 '18 at 15:31











          • Variant 2 more elegant and simple offer from Jeff - gis.stackexchange.com/questions/83/…

            – Cyril
            yesterday











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "79"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f302458%2fpostgis-symmetrical-difference%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          This query should help you solve the problem:



          variant 1 -



          1) Combine two tables into one



          DROP TABLE table3;
          CREATE TABLE table3 as
          SELECT table1.geom FROM table1
          UNION ALL
          SELECT table2.geom FROM table2


          2) Remove unwanted parts:



          CREATE TABLE table4 as
          SELECT (ST_Dump(ST_SymDifference(a.geom, b.geom))).geom
          FROM table3 a,
          table1 b
          WHERE ST_Overlaps(a.geom, b.geom)
          UNION ALL
          SELECT (ST_Dump(ST_SymDifference(a.geom, b.geom))).geom
          FROM table3 a,
          table2 b
          WHERE ST_Overlaps(a.geom, b.geom)


          3) Cross the table itself:



          CREATE TABLE table5 AS
          SELECT (ST_Dump(ST_Difference(a.geom, b.geom))).geom
          FROM table4 a,
          table4 b
          WHERE ST_Overlaps(a.geom, b.geom) OR ST_Intersects(a.geom, b.geom)



          4) to remove the same geometry;

          5) Remove the central small squares, and L - shaped parts



          6) figure of the 11 items, 6 your, 5 not your...



          enter image description here



          Interesting geometric puzzle: -) ...






          share|improve this answer




















          • 1





            can you style your comment please?

            – RutgerH
            Nov 13 '18 at 15:25







          • 1





            the result is almost correct except that there is no middle hole.

            – RutgerH
            Nov 13 '18 at 15:31











          • Variant 2 more elegant and simple offer from Jeff - gis.stackexchange.com/questions/83/…

            – Cyril
            yesterday















          1














          This query should help you solve the problem:



          variant 1 -



          1) Combine two tables into one



          DROP TABLE table3;
          CREATE TABLE table3 as
          SELECT table1.geom FROM table1
          UNION ALL
          SELECT table2.geom FROM table2


          2) Remove unwanted parts:



          CREATE TABLE table4 as
          SELECT (ST_Dump(ST_SymDifference(a.geom, b.geom))).geom
          FROM table3 a,
          table1 b
          WHERE ST_Overlaps(a.geom, b.geom)
          UNION ALL
          SELECT (ST_Dump(ST_SymDifference(a.geom, b.geom))).geom
          FROM table3 a,
          table2 b
          WHERE ST_Overlaps(a.geom, b.geom)


          3) Cross the table itself:



          CREATE TABLE table5 AS
          SELECT (ST_Dump(ST_Difference(a.geom, b.geom))).geom
          FROM table4 a,
          table4 b
          WHERE ST_Overlaps(a.geom, b.geom) OR ST_Intersects(a.geom, b.geom)



          4) to remove the same geometry;

          5) Remove the central small squares, and L - shaped parts



          6) figure of the 11 items, 6 your, 5 not your...



          enter image description here



          Interesting geometric puzzle: -) ...






          share|improve this answer




















          • 1





            can you style your comment please?

            – RutgerH
            Nov 13 '18 at 15:25







          • 1





            the result is almost correct except that there is no middle hole.

            – RutgerH
            Nov 13 '18 at 15:31











          • Variant 2 more elegant and simple offer from Jeff - gis.stackexchange.com/questions/83/…

            – Cyril
            yesterday













          1












          1








          1







          This query should help you solve the problem:



          variant 1 -



          1) Combine two tables into one



          DROP TABLE table3;
          CREATE TABLE table3 as
          SELECT table1.geom FROM table1
          UNION ALL
          SELECT table2.geom FROM table2


          2) Remove unwanted parts:



          CREATE TABLE table4 as
          SELECT (ST_Dump(ST_SymDifference(a.geom, b.geom))).geom
          FROM table3 a,
          table1 b
          WHERE ST_Overlaps(a.geom, b.geom)
          UNION ALL
          SELECT (ST_Dump(ST_SymDifference(a.geom, b.geom))).geom
          FROM table3 a,
          table2 b
          WHERE ST_Overlaps(a.geom, b.geom)


          3) Cross the table itself:



          CREATE TABLE table5 AS
          SELECT (ST_Dump(ST_Difference(a.geom, b.geom))).geom
          FROM table4 a,
          table4 b
          WHERE ST_Overlaps(a.geom, b.geom) OR ST_Intersects(a.geom, b.geom)



          4) to remove the same geometry;

          5) Remove the central small squares, and L - shaped parts



          6) figure of the 11 items, 6 your, 5 not your...



          enter image description here



          Interesting geometric puzzle: -) ...






          share|improve this answer















          This query should help you solve the problem:



          variant 1 -



          1) Combine two tables into one



          DROP TABLE table3;
          CREATE TABLE table3 as
          SELECT table1.geom FROM table1
          UNION ALL
          SELECT table2.geom FROM table2


          2) Remove unwanted parts:



          CREATE TABLE table4 as
          SELECT (ST_Dump(ST_SymDifference(a.geom, b.geom))).geom
          FROM table3 a,
          table1 b
          WHERE ST_Overlaps(a.geom, b.geom)
          UNION ALL
          SELECT (ST_Dump(ST_SymDifference(a.geom, b.geom))).geom
          FROM table3 a,
          table2 b
          WHERE ST_Overlaps(a.geom, b.geom)


          3) Cross the table itself:



          CREATE TABLE table5 AS
          SELECT (ST_Dump(ST_Difference(a.geom, b.geom))).geom
          FROM table4 a,
          table4 b
          WHERE ST_Overlaps(a.geom, b.geom) OR ST_Intersects(a.geom, b.geom)



          4) to remove the same geometry;

          5) Remove the central small squares, and L - shaped parts



          6) figure of the 11 items, 6 your, 5 not your...



          enter image description here



          Interesting geometric puzzle: -) ...







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 2 days ago

























          answered Nov 13 '18 at 15:21









          CyrilCyril

          1,1051216




          1,1051216







          • 1





            can you style your comment please?

            – RutgerH
            Nov 13 '18 at 15:25







          • 1





            the result is almost correct except that there is no middle hole.

            – RutgerH
            Nov 13 '18 at 15:31











          • Variant 2 more elegant and simple offer from Jeff - gis.stackexchange.com/questions/83/…

            – Cyril
            yesterday












          • 1





            can you style your comment please?

            – RutgerH
            Nov 13 '18 at 15:25







          • 1





            the result is almost correct except that there is no middle hole.

            – RutgerH
            Nov 13 '18 at 15:31











          • Variant 2 more elegant and simple offer from Jeff - gis.stackexchange.com/questions/83/…

            – Cyril
            yesterday







          1




          1





          can you style your comment please?

          – RutgerH
          Nov 13 '18 at 15:25






          can you style your comment please?

          – RutgerH
          Nov 13 '18 at 15:25





          1




          1





          the result is almost correct except that there is no middle hole.

          – RutgerH
          Nov 13 '18 at 15:31





          the result is almost correct except that there is no middle hole.

          – RutgerH
          Nov 13 '18 at 15:31













          Variant 2 more elegant and simple offer from Jeff - gis.stackexchange.com/questions/83/…

          – Cyril
          yesterday





          Variant 2 more elegant and simple offer from Jeff - gis.stackexchange.com/questions/83/…

          – Cyril
          yesterday

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f302458%2fpostgis-symmetrical-difference%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Romeo and Juliet ContentsCharactersSynopsisSourcesDate and textThemes and motifsCriticism and interpretationLegacyScene by sceneSee alsoNotes and referencesSourcesExternal linksNavigation menu"Consumer Price Index (estimate) 1800–"10.2307/28710160037-3222287101610.1093/res/II.5.31910.2307/45967845967810.2307/2869925286992510.1525/jams.1982.35.3.03a00050"Dada Masilo: South African dancer who breaks the rules"10.1093/res/os-XV.57.1610.2307/28680942868094"Sweet Sorrow: Mann-Korman's Romeo and Juliet Closes Sept. 5 at MN's Ordway"the original10.2307/45957745957710.1017/CCOL0521570476.009"Ram Leela box office collections hit massive Rs 100 crore, pulverises prediction"Archived"Broadway Revival of Romeo and Juliet, Starring Orlando Bloom and Condola Rashad, Will Close Dec. 8"Archived10.1075/jhp.7.1.04hon"Wherefore art thou, Romeo? To make us laugh at Navy Pier"the original10.1093/gmo/9781561592630.article.O006772"Ram-leela Review Roundup: Critics Hail Film as Best Adaptation of Romeo and Juliet"Archived10.2307/31946310047-77293194631"Romeo and Juliet get Twitter treatment""Juliet's Nurse by Lois Leveen""Romeo and Juliet: Orlando Bloom's Broadway Debut Released in Theaters for Valentine's Day"Archived"Romeo and Juliet Has No Balcony"10.1093/gmo/9781561592630.article.O00778110.2307/2867423286742310.1076/enst.82.2.115.959510.1080/00138380601042675"A plague o' both your houses: error in GCSE exam paper forces apology""Juliet of the Five O'Clock Shadow, and Other Wonders"10.2307/33912430027-4321339124310.2307/28487440038-7134284874410.2307/29123140149-661129123144728341M"Weekender Guide: Shakespeare on The Drive""balcony"UK public library membership"romeo"UK public library membership10.1017/CCOL9780521844291"Post-Zionist Critique on Israel and the Palestinians Part III: Popular Culture"10.2307/25379071533-86140377-919X2537907"Capulets and Montagues: UK exam board admit mixing names up in Romeo and Juliet paper"Istoria Novellamente Ritrovata di Due Nobili Amanti2027/mdp.390150822329610820-750X"GCSE exam error: Board accidentally rewrites Shakespeare"10.2307/29176390149-66112917639"Exam board apologises after error in English GCSE paper which confused characters in Shakespeare's Romeo and Juliet""From Mariotto and Ganozza to Romeo and Guilietta: Metamorphoses of a Renaissance Tale"10.2307/37323537323510.2307/2867455286745510.2307/28678912867891"10 Questions for Taylor Swift"10.2307/28680922868092"Haymarket Theatre""The Zeffirelli Way: Revealing Talk by Florentine Director""Michael Smuin: 1938-2007 / Prolific dance director had showy career"The Life and Art of Edwin BoothRomeo and JulietRomeo and JulietRomeo and JulietRomeo and JulietEasy Read Romeo and JulietRomeo and Julieteeecb12003684p(data)4099369-3n8211610759dbe00d-a9e2-41a3-b2c1-977dd692899302814385X313670221313670221

          Crop image to path created in TikZ? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Crop an inserted image?TikZ pictures does not appear in posterImage behind and beyond crop marks?Tikz picture as large as possible on A4 PageTransparency vs image compression dilemmaHow to crop background from image automatically?Image does not cropTikzexternal capturing crop marks when externalizing pgfplots?How to include image path that contains a dollar signCrop image with left size given

          Creating closest line along the point''s azimuth using PostgreSQL Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Drawing line between points at specific distance in PostGIS?How to efficiently find the closest point over the dateline?How to find the nearest point by using PostGIS function?PostGIS nearest point with LATERAL JOIN in PostgreSQL 9.3+Creating a table and inserting selected streets using plpgsql functionsCreating a table that stores Distances and other columnSaving select query results (year wise) from PostgreSQL/PostGIS to text filesWhat is the information behind this geometry?How to give start and end vertex ids dynamically in pgr_dijkstra?Point to Polygon nearest distance DS_distance is not using geography index & knn <-> or <#> does not give result in orderLine to point conversion with start point and end point detection?