名稱

ST_SameAlignment — 如果網格具有相同的傾斜度、比例、空間參考和偏移量(像素可以在不切割像素的情況下放置在同一網格上),則返回 true;如果它們不相同,則返回 false,並詳細說明問題。

概要

boolean ST_SameAlignment( raster rastA , raster rastB );

boolean ST_SameAlignment( double precision ulx1 , double precision uly1 , double precision scalex1 , double precision scaley1 , double precision skewx1 , double precision skewy1 , double precision ulx2 , double precision uly2 , double precision scalex2 , double precision scaley2 , double precision skewx2 , double precision skewy2 );

boolean ST_SameAlignment( raster set rastfield );

描述

非彙總版本(變體 1 和 2):如果兩個網格(直接提供或使用左上角、比例、傾斜度和 SRID 的值製作)具有相同的比例、傾斜度、SRID,並且一個網格的任何像素的四個角中的至少一個落在另一個網格的任何角上,則返回 true。如果它們不相同,則返回 false,並發出詳細說明對齊問題的 NOTICE。

彙總版本(變體 3):從一組網格中,如果該組中的所有網格都對齊,則返回 true。ST_SameAlignment() 函數在 PostgreSQL 的術語中是一個「彙總」函數。這意味著它像 SUM() 和 AVG() 函數一樣對資料列進行操作。

可用性:2.0.0

增強功能:2.1.0 新增彙總變體

範例:網格

SELECT ST_SameAlignment(
    ST_MakeEmptyRaster(1, 1, 0, 0, 1, 1, 0, 0),
    ST_MakeEmptyRaster(1, 1, 0, 0, 1, 1, 0, 0)
) as sm;

sm
----
t
SELECT ST_SameAlignment(A.rast,b.rast)
 FROM dummy_rast AS A CROSS JOIN dummy_rast AS B;

 NOTICE:  The two rasters provided have different SRIDs
NOTICE:  The two rasters provided have different SRIDs
 st_samealignment
------------------
 t
 f
 f
 f