Lấy và thiết lập các thuộc tính Raster

Một phần của tài liệu Đồ án thiết kế và xây dựng cơ sở dữ liệu ảnh vệ tinh trong hệ quản trị cơ sở dữ liệu không gian PostGIS (Trang 68 - 69)

• Tọa độ phía trên bên trái và các thông số chuyển đổi

Lấy được tọa độ phía trên bên trái của các raster trong bảng: SELECt rid, ST_UpperLeftX(rast)

FROM dummy_rast;

--Set the upper left corner coordinates of the raster whose rid number is 1 --from the table dummy_rast:

SELECT ST_SetUpperLeft(rast,-71.01,42.37) FROM dummy_rast WHERE rid = 1;

• Giá trị SRID và số kênh:

Lấy được SRID của raster có rid là 1: SELECT ST_SRID(rast) As srid

FROM dummy_rast WHERE rid=1;

Thiết lập SRID cho tất cả các raster có rid là 1: SELECT ST_SETSRID(rast) As newRast

FROM dummy_rast WHERE rid=1;

• Lấy và thiết lập thuộc tính loại điểm ảnh và giá trị nodata, lấy được loại điểm ảnh của kênh 1 có giá trị rid là 1:

SELECT ST_BandPixelType(rast,1) FROM dummy_rast

WHERE rid = 1;

Lấy giá trị nodata của kênh 2 có giá trị rid là 1: SELECT ST_BandNoDataValue(rast,2)

FROM dummy_rast WHERE rid = 1;

Thiết lập giá trị nodata của kênh 2 có giá trị rid là 1 thành 254: UPDATE dummy_rast

SET rast = ST_SetBandNoDataValue(rast,2, 254) WHERE rid = 1;

• Phép chiếu lại raster: hoạt động này sẽ thực hiện chiếu lại vị trí địa lý của raster vào hệ tọa độ riêng để thực hiện một số hoạt động không gian. Phép chiếu lại được thực hiện sử dụng ST\_Transform(raster, srid, algorithm). Chức năng này sử dụng thuật toán lấy mẫu đặc trưng như NearestNeighbor, Bilinear, Cubic, CubicSpline hoặc Lanczos. Mặc định là NearestNeighbor. Các truy vấn sau chuyển đổi tất cả raster của bảng dummy_rast vào hệ WGS 84 (có số SRID là 4326) sử dụng thuật toán Bilinear:

FROM dummy_rast ;

• Lấy mẫu một raster với kích thước mới, một góc lưới tùy ý và một tập thuộc tính tham chiếu địa lý raster. Hoạt động này được thực hiện sử dụng ST_Resample(raster, rộng, cao, thuật toán). Giá trị điểm ảnh mới được tính toán sử dụng các thuật toán lấy mẫu NearestNeighbor, Bilinear, Cubic, CubicSpline hoặc Lanczos. Mặc định là NearestNeighbor.

SELECT rast As origin, ST_Resample(rast,100,100) As reduce_100 FROM dummy_rast;

Với truy vấn này, tất cả raster sẽ được lấy mẫu mới với kích thước 100x100 sử dụng thuật toán mặc định NearestNeighbor.

• Thay đổi tỷ lệ một raster tương ưng với việc lấy lại mẫu một raster bằng cách điều chỉnh tỷ lệ của nó (hoặc kích thước điểm ảnh). Giá trị điểm ảnh mới được tính toán sử dụng các thuật toán lấy lại mẫu NearestNeighbor, Bilinear, Cubic, CubicSpline hoặc Lanczo. Mặc định là NearestNeighbor. Ví dụ sau thay đổi tỷ lệ raster đến kích thước điểm ảnh 0.0015 sử dụng ST_Rescale(raster, scalexy, thuật toán).

SELECT ST_Rescale(rast,0.0015) FROM dummy_rast;

• Chụp raster ở các lưới khác nhau: hoạt động này tương ứng lấy mẫu một raster bằng cách chụp nó với một lưới được xác định bởi một điểm ảnh góc tùy ý và một kích thước điểm ảnh tùy chọn. Giá trị điểm ảnh mới được tính toán sử dụng thuật toán lấy lại mẫu NearestNeighbor, Bilinear, Cubic, CubicSpline hoặc Lanczos. Mặc định là NearestNeighbor. Ví dụ đơn giản dưới đây sử dụng hàm ST_SnapToGrid(raster, cornerx, cornery, algorithm) để chụp một raster với một lưới khác được xác định bởi điểm ảnh góc (0.0002, 0.0002):

SELECT ST_SnapToGrid(rast,0.0002, 0.0002) FROM dummy_rast;

Một phần của tài liệu Đồ án thiết kế và xây dựng cơ sở dữ liệu ảnh vệ tinh trong hệ quản trị cơ sở dữ liệu không gian PostGIS (Trang 68 - 69)