SlopMapper.xml 783 B

1234567891011121314151617
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.onemap.analyse.mapper.raster.SlopMapper">
  4. <select id="getAveSlop" resultType="Double">
  5. -- 创建一个多边形
  6. WITH poly AS (SELECT public.st_geomfromtext(#{geomWkt}, 4326) AS geom)
  7. -- 裁剪坡度图层并计算平均坡度
  8. SELECT AVG((gv).val) AS avg_slope
  9. FROM (SELECT public.st_clip(rast, 1, geom, false) AS clipped_rast
  10. FROM sy_slop,
  11. poly
  12. WHERE public.st_intersects(rast, geom)) AS clipped,
  13. LATERAL public.st_pixelaspoints(clipped_rast) AS gv
  14. WHERE (gv).val IS NOT NULL;
  15. </select>
  16. </mapper>