| 
														
															@@ -55,19 +55,19 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         DROP TABLE IF EXISTS "${temporaryTable}"; 
														 | 
														
														 | 
														
															         DROP TABLE IF EXISTS "${temporaryTable}"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     </insert> 
														 | 
														
														 | 
														
															     </insert> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--    <insert id="differenceTableWkt">--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--        CREATE TABLE "${newTableName}" AS--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--        SELECT id, public.ST_Difference(inTbale.geom, public.st_geomfromewkt(#{ewkt})) AS geom--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--        FROM "${tableName}" inTbale--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--        WHERE NOT public.ST_IsEmpty(public.ST_Difference(inTbale.geom, public.st_geomfromewkt(#{ewkt})))--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--        <if test="tableIds != null and tableIds.size() > 0">--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--            AND inTbale.id::VARCHAR IN--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--            <foreach collection="tableIds" item="tableId" open="(" close=")" separator=",">--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--                #{tableId}--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--            </foreach>--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--        </if>--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--        ;--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-<!--    </insert>--> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--    <insert id="differenceTableWkt">--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--        CREATE TABLE "${newTableName}" AS--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--        SELECT id, public.ST_Difference(inTbale.geom, public.st_geomfromewkt(#{ewkt})) AS geom--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--        FROM "${tableName}" inTbale--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--        WHERE NOT public.ST_IsEmpty(public.ST_Difference(inTbale.geom, public.st_geomfromewkt(#{ewkt})))--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--        <if test="tableIds != null and tableIds.size() > 0">--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--            AND inTbale.id::VARCHAR IN--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--            <foreach collection="tableIds" item="tableId" open="(" close=")" separator=",">--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--                #{tableId}--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--            </foreach>--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--        </if>--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--        ;--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <!--    </insert>--> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     <insert id="differenceTableWkt" timeout="60"> 
														 | 
														
														 | 
														
															     <insert id="differenceTableWkt" timeout="60"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         CREATE TABLE vector."${newTableName}" AS 
														 | 
														
														 | 
														
															         CREATE TABLE vector."${newTableName}" AS 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -114,20 +114,119 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     <insert id="getLtBandValue"> 
														 | 
														
														 | 
														
															     <insert id="getLtBandValue"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         CREATE TABLE "${newTableName}" AS 
														 | 
														
														 | 
														
															         CREATE TABLE "${newTableName}" AS 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        SELECT DISTINCT ta.id,ta.geom 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        SELECT DISTINCT ta.id, ta.geom 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         FROM "${tableNameA}" ta, 
														 | 
														
														 | 
														
															         FROM "${tableNameA}" ta, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															              "${tableNameB}" tb 
														 | 
														
														 | 
														
															              "${tableNameB}" tb 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         WHERE public.ST_Intersects(tb.rast, ta.geom) 
														 | 
														
														 | 
														
															         WHERE public.ST_Intersects(tb.rast, ta.geom) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															           AND (SELECT (stats).mean 
														 | 
														
														 | 
														
															           AND (SELECT (stats).mean 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            FROM (SELECT PUBLIC.ST_SummaryStats(PUBLIC.ST_Clip(tb.rast,ta.geom)) AS stats) AS summary) < #{value}; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            FROM 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        ( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            SELECT 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            PUBLIC 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            . 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            ST_SummaryStats( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            PUBLIC 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            . 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            ST_Clip 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        ( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            tb 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            . 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            rast, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            ta 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            . 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            geom 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        )) AS stats) AS summary) < #{value}; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     </insert> 
														 | 
														
														 | 
														
															     </insert> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     <insert id="getGtBandValue"> 
														 | 
														
														 | 
														
															     <insert id="getGtBandValue"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         CREATE TABLE "${newTableName}" AS 
														 | 
														
														 | 
														
															         CREATE TABLE "${newTableName}" AS 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        SELECT DISTINCT ta.id,ta.geom 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        SELECT DISTINCT ta.id, ta.geom 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         FROM "${tableNameA}" ta, 
														 | 
														
														 | 
														
															         FROM "${tableNameA}" ta, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															              "${tableNameB}" tb 
														 | 
														
														 | 
														
															              "${tableNameB}" tb 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         WHERE public.ST_Intersects(tb.rast, ta.geom) 
														 | 
														
														 | 
														
															         WHERE public.ST_Intersects(tb.rast, ta.geom) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															           AND (SELECT (stats).mean 
														 | 
														
														 | 
														
															           AND (SELECT (stats).mean 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            FROM (SELECT PUBLIC.ST_SummaryStats(PUBLIC.ST_Clip(tb.rast,ta.geom)) AS stats) AS summary) > #{value}; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            FROM 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        ( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            SELECT 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            PUBLIC 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            . 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            ST_SummaryStats( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            PUBLIC 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            . 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            ST_Clip 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        ( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            tb 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            . 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            rast, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            ta 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            . 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            geom 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        )) AS stats) AS summary) > #{value}; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    </insert> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <insert id="addDemValue"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        CREATE TABLE "${newTableName}" AS 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        WITH geom_transformed AS (SELECT id, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                         geom, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                         public.ST_Transform(geom, 3857) AS geom_3857 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                  FROM "${tableNameA}"), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+             clipped_raster AS (SELECT a.id, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                       a.geom, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                       public.ST_Clip(r.rast, 1, a.geom_3857, TRUE) AS clipped 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                FROM geom_transformed a 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                         LEFT JOIN "${tableNameB}" r 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                                   ON public.ST_Intersects(r.rast, a.geom_3857)), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+             summary_stats AS (SELECT id, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                      geom, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                      CASE 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                          WHEN COUNT(clipped) = 0 THEN 0 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                          ELSE SUM((public.ST_SummaryStats(clipped, 1)).sum) / 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                               SUM((public.ST_SummaryStats(clipped, 1)).count) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                          END AS average_elevation 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                               FROM clipped_raster 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                               GROUP BY id, geom) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        SELECT id, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+               geom, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+               COALESCE(average_elevation, 0) AS average_elevation 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FROM summary_stats; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    </insert> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <insert id="addColumnValue"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        CREATE TABLE "${newTableName}" AS 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        SELECT ta.id, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+               ta.geom, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+               ta.average_elevation, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+               COALESCE(tb."${column}", 0)                        AS "${column}", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+               ta.average_elevation + COALESCE(tb."${column}", 0) AS height 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FROM "${tableNameA}" as ta, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+             "${tableNameB}" as tb 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        WHERE ta.id = tb.id; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    </insert> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    <insert id="getHeightLimit"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        CREATE TABLE "${newTableName}" AS 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        WITH intersected AS (SELECT ta.id                            AS a_id, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    ta.geom                          AS a_geom, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    ta.height                        AS a_height, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    tb.id                            AS b_id, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    tb.geom                          AS b_geom, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    tb.hight                         AS b_hight, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    public.ST_Intersection(ta.geom, tb.geom) AS intersect_geom 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                             FROM "${tableNameA}" as ta 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                      JOIN 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                  "${tableNameB}" as tb 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                  ON 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                      public.ST_Intersects(ta.geom, tb.geom)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        SELECT a_id as id, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+               intersect_geom AS geom, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+               a_height        AS height 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FROM intersected 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        WHERE a_height <= b_hight 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        UNION ALL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        SELECT ta.id    AS id, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+               ta.geom  AS geom, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+               ta.height AS height 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FROM "${tableNameA}" as ta 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        WHERE NOT EXISTS (SELECT 1 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                          FROM "${tableNameB}" as tb 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                          WHERE public.ST_Intersects(ta.geom, tb.geom)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     </insert> 
														 | 
														
														 | 
														
															     </insert> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 </mapper> 
														 | 
														
														 | 
														
															 </mapper> 
														 |