Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. DO $$
  2. DECLARE
  3. v_boundaryUnion geometry;
  4. v_unitBoundary geometry;
  5.  
  6. BEGIN
  7. SELECT ST_Union(b."Geometry")
  8. INTO v_boundaryUnion
  9. FROM myschema."Boundary" a
  10. INNER JOIN myschema."BoundaryGeom" b
  11. ON b."BoundaryId" = a."BoundaryId"
  12. WHERE a."UnitId" = 1;
  13.  
  14. RAISE NOTICE 'BOUNDARY UNION: %', ST_AsText(v_boundaryUnion);
  15.  
  16.  
  17. SELECT ST_Boundary("Geometry")
  18. INTO v_unitBoundary
  19. FROM myschema."UnitGeom"
  20. WHERE "UnitId" = 1;
  21.  
  22. RAISE NOTICE 'UNION BOUNDARY: %', ST_AsText(v_unitBoundary);
  23.  
  24.  
  25. IF ST_Equals(v_boundaryUnion, v_unitBoundary) THEN
  26. RAISE NOTICE 'EQUALS';
  27. ELSE
  28. RAISE NOTICE 'DIFFERENCE';
  29. END IF;
  30.  
  31. v_boundaryUnion := ST_GeomFromWKB(ST_AsBinary(v_boundaryUnion), 3765);
  32. RAISE NOTICE 'UNION FROM WKB: %', ST_AsText(v_boundaryUnion);
  33.  
  34. IF ST_Equals(v_boundaryUnion, v_unitBoundary) THEN
  35. RAISE NOTICE 'EQUALS';
  36. ELSE
  37. RAISE NOTICE 'DIFFERENCE';
  38. END IF;
  39.  
  40.  
  41. v_boundaryUnion := ST_GeomFromText(ST_AsText(v_boundaryUnion), 3765);
  42. RAISE NOTICE 'UNION FROM WKT: %', ST_AsText(v_boundaryUnion);
  43.  
  44. IF ST_Equals(v_boundaryUnion, v_unitBoundary) THEN
  45. RAISE NOTICE 'EQUALS';
  46. ELSE
  47. RAISE NOTICE 'DIFFERENCE';
  48. END IF;
  49.  
  50. END $$;
  51.  
  52. f_table_name, f_geometry_column, coord_dimension, srid, type
  53. "UnitGeom";"Geometry";2;3765;"GEOMETRY"
  54. "BoundaryGeom";"Geometry";2;3765;"LINESTRING"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement