الاسم
AddRasterConstraints — تُضيف قيود الرستر إلى جدول رستر محمَّل لعمود محدد، تقيّد النظام المرجعي المكاني، والمقياس، وحجم الكتلة، والمحاذاة، والنطاقات، ونوع النطاق، وعلامةً تدل على ما إذا كان عمود الرستر مقسّمًا إلى كتل منتظمة. يجب أن يكون الجدول محمَّلًا بالبيانات لكي يمكن استنتاج القيود. تُعيد true إذا نجح ضبط القيود، وتُصدر إشعارًا خلاف ذلك.
المختصر
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 );
الوصف
تُنشئ قيودًا على عمود رستر تُستخدم لعرض المعلومات في فهرس الرستر raster_columns. يمثّل rastschema اسم مخطط (schema) الجدول الذي يقع فيه الجدول. ويجب أن يكون srid قيمة عددية صحيحة تشير إلى مُدخَل في الجدول SPATIAL_REF_SYS.
تستخدم أداة التحميل raster2pgsql هذه الدالة لتسجيل جداول الرستر
أسماء القيود الصالحة التي يمكن تمريرها: راجع قسم 10.2.1, “فهرس أعمدة الرستر” لمزيد من التفاصيل.
-
blocksizeيضبط حجم الكتلة في الاتجاهين X وY معًا -
blocksize_xيضبط البلاطة في الاتجاه X (العرض بالبكسل لكل بلاطة) -
blocksize_yيضبط البلاطة في الاتجاه Y (الارتفاع بالبكسل لكل بلاطة) -
extentيحسب امتداد الجدول بأكمله ويطبّق قيدًا يُلزم جميع الرسترات بأن تقع ضمن ذلك الامتداد -
num_bandsعدد النطاقات -
pixel_typesيقرأ مصفوفة أنواع البكسل لكل نطاق، ويضمن أن يكون لجميع النطاقات رقم n نوع البكسل نفسه -
regular_blockingيضبط قيدَي التفرّد المكاني (لا يمكن أن يتطابق رستران مكانيًا) وبلاطة التغطية (الرستر محاذٍ لتغطية) -
same_alignmentيضمن أن تكون لجميعها المحاذاة نفسها، أي أن أي بلاطتين تقارن بينهما ستُعيدان true. راجع ST_SameAlignment. -
sridيضمن أن يكون لجميعها قيمة srid نفسها -
المزيد -- أيٌّ مما هو مُدرج كمُدخَلات في الدوال أعلاه
|
|
|
تستنتج هذه الدالة القيود من البيانات الموجودة مسبقًا في الجدول. ولذلك، لكي تعمل، يجب أن تُنشئ عمود الرستر أولًا ثم تحمّله بالبيانات. |
|
|
|
إذا احتجت إلى تحميل مزيد من البيانات في جداولك بعد أن طبّقت القيود بالفعل، فقد ترغب في تشغيل DropRasterConstraints إذا تغيّر امتداد بياناتك. |
متاحة منذ: 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