AddRasterConstraints — Adds raster constraints to a loaded raster table for a specific column that constrains spatial ref, scaling, blocksize, alignment, bands, band type and a flag to denote if raster column is regularly blocked. The table must be loaded with data for the constraints to be inferred. Returns true if the constraint setting was accomplished and issues a notice otherwise.
boolean AddRasterConstraints(
name rasttable, name rastcolumn, boolean srid=true, boolean scale_x=true, boolean scale_y=true, boolean blocksize_x=true, boolean blocksize_y=true, boolean same_alignment=true, boolean regular_blocking=false, boolean num_bands=true , boolean pixel_types=true , boolean nodata_values=true , boolean out_db=true , boolean extent=true )
;
boolean AddRasterConstraints(
name rasttable, name rastcolumn, text[] VARIADIC constraints)
;
boolean AddRasterConstraints(
name rastschema, name rasttable, name rastcolumn, text[] VARIADIC constraints)
;
boolean AddRasterConstraints(
name rastschema, name rasttable, name rastcolumn, boolean srid=true, boolean scale_x=true, boolean scale_y=true, boolean blocksize_x=true, boolean blocksize_y=true, boolean same_alignment=true, boolean regular_blocking=false, boolean num_bands=true, boolean pixel_types=true, boolean nodata_values=true , boolean out_db=true , boolean extent=true )
;
Gera restrições em uma coluna raster que são usadas para expor informação no catálogo raster raster_columns
. O rastschema
é o nome da tabela esquema que a tabela está. O srid
deve ser um valor inteiro referência a uma entrada na tabela SPATIAL_REF_SYS.
raster2pgsql
o carregador usa esta função para registrar tabelas raster
Valida nomes restritos para passar: recorra a Section 10.2.1, “Catálogo de Colunas Raster” para mais detalhes.
blocksize
coloca X e Y blocksize
blocksize_x
coloca tile X (largura em pixeis de cada tile)
blocksize_y
coloca tile Y (altura em pixeis de cada tile)
extent
calcula a extensão da tabela toda e aplica restrições, todos os rasters devem estar dentro da extensão
num_bands
número de bandas
pixel_types
lê arranjo de tipos de pixeis para cada banda garantir que todas as bandas n tenham o mesmo tipo de pixel
regular_blocking
espacialmente único (dois rasters não podem ser espacialmente iguais) e restrições de tile de cobertura (raster é alinhado a uma cobertura)
same_alignment
ensures they all have same alignment meaning any two tiles you compare will return true for. Refer to ST_SameAlignment.
srid
assegura que todos tenham o mesmo srid
Mais -- qualquer um listado como entrada dentro das funções acima
Esta função infere as restrições dos dados já presentes na tabela. Assim como para que ela funcione, você deve criar a coluna raster primeiro e então carregá-la com dados. |
Se você precisar carregar mais dados nas suas tabelas depois de ter aplicado suas restrições, talvez queira executar as DropRasterConstraints se a extensão dos seus dados mudou. |
Disponibilidade: 2.0.0
CREATE TABLE myrasters(rid SERIAL primary key, rast raster); INSERT INTO myrasters(rast) SELECT ST_AddBand(ST_MakeEmptyRaster(1000, 1000, 0.3, -0.3, 2, 2, 0, 0,4326), 1, '8BSI'::text, -129, NULL); SELECT AddRasterConstraints('myrasters'::name, 'rast'::name); -- verify if registered correctly in the raster_columns view -- SELECT srid, scale_x, scale_y, blocksize_x, blocksize_y, num_bands, pixel_types, nodata_values FROM raster_columns WHERE r_table_name = 'myrasters'; srid | scale_x | scale_y | blocksize_x | blocksize_y | num_bands | pixel_types| nodata_values ------+---------+---------+-------------+-------------+-----------+-------------+--------------- 4326 | 2 | 2 | 1000 | 1000 | 1 | {8BSI} | {0}
CREATE TABLE public.myrasters2(rid SERIAL primary key, rast raster); INSERT INTO myrasters2(rast) SELECT ST_AddBand(ST_MakeEmptyRaster(1000, 1000, 0.3, -0.3, 2, 2, 0, 0,4326), 1, '8BSI'::text, -129, NULL); SELECT AddRasterConstraints('public'::name, 'myrasters2'::name, 'rast'::name,'regular_blocking', 'blocksize'); -- get notice-- NOTICE: Adding regular blocking constraint NOTICE: Adding blocksize-X constraint NOTICE: Adding blocksize-Y constraint