123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.onemap.spatial.mapper.ImageMapper">
- <resultMap id="ImageRasterMap" type="com.onemap.spatial.domain.ImageRaster">
- <id column="rid" property="rid"/>
- <result column="rast" property="rast" typeHandler="com.onemap.spatial.typehandler.PGobjectTypeHandler"/>
- </resultMap>
- <select id="getRasterDataByWKT" resultMap="ImageRasterMap">
- SELECT *
- FROM image_16
- WHERE public.ST_Intersects(rast, public.ST_GeomFromText(#{wkt}, 4326))
- </select>
- <!-- <select id="getRasterImage" resultType="String">-->
- <!-- SET-->
- <!-- postgis.gdal_enabled_drivers = 'ENABLE_ALL';-->
- <!-- WITH geom AS (SELECT PUBLIC.ST_GeomFromText(#{wkt}, 4326) AS POLYGON),-->
- <!-- merged_raster AS (SELECT PUBLIC.ST_Union(rast) AS rast-->
- <!-- FROM image15,-->
- <!-- geom-->
- <!-- WHERE PUBLIC.ST_Intersects(rast, geom.POLYGON))-->
- <!-- SELECT encode(PUBLIC.ST_AsPNG(PUBLIC.ST_Clip(rast, 1, ST_Envelope(geom.POLYGON), TRUE)), 'base64') AS png-->
- <!-- FROM merged_raster,-->
- <!-- geom;-->
- <!-- </select>-->
- <!--彩色原始范围-->
- <!-- <select id="getRasterImage" resultType="String">-->
- <!-- SET-->
- <!-- postgis.gdal_enabled_drivers = 'ENABLE_ALL';-->
- <!-- WITH geom AS (SELECT ST_GeomFromText(#{wkt}, 4326) AS POLYGON),-->
- <!-- clipped_rasters AS (SELECT ST_Clip(rast, geom.POLYGON) AS rast_clip-->
- <!-- FROM image15,-->
- <!-- geom-->
- <!-- WHERE ST_Intersects(rast, geom.POLYGON)),-->
- <!-- merged_raster AS (SELECT ST_Union(rast_clip) AS rast_union-->
- <!-- FROM clipped_rasters)-->
- <!-- SELECT encode(ST_AsPNG(rast_union), 'base64') AS png-->
- <!-- FROM merged_raster;-->
- <!-- </select>-->
- <!-- 外接矩形-->
- <select id="getRasterImage" resultType="String">
- SET
- postgis.gdal_enabled_drivers = 'ENABLE_ALL';
- WITH geom AS (SELECT ST_GeomFromText(#{wkt}, 4326) AS POLYGON),
- clipped_rasters AS (SELECT ST_Clip(rast, ST_Envelope(geom.POLYGON)) AS rast_clip
- FROM image15,
- geom
- WHERE ST_Intersects(rast, ST_Envelope(geom.POLYGON))),
- merged_raster AS (SELECT ST_Union(rast_clip) AS rast_union
- FROM clipped_rasters)
- SELECT encode(ST_AsPNG(rast_union), 'base64') AS png
- FROM merged_raster;
- </select>
- <select id="getWktImage" resultType="String">
- SET
- postgis.gdal_enabled_drivers = 'ENABLE_ALL';
- WITH geom AS (SELECT ST_GeomFromText(#{wkt}, 4326) AS polygon),
- geom_extent
- AS (SELECT ST_AsRaster(geom.polygon, ${width}, ${height}, ARRAY['8BUI'], ARRAY[1], ARRAY[0]) AS raster_data
- FROM geom)
- SELECT encode(ST_AsPNG(geom_extent.raster_data), 'base64') AS png
- FROM geom_extent;
- </select>
- </mapper>
|