| GDAL-VECTOR-RASTERIZE(1) | GDAL | GDAL-VECTOR-RASTERIZE(1) |
نام (NAME)
gdal-vector-rasterize - حک کردن هندسههای برداری درون یک رستر
در نسخه 3.11 اضافه شد.
خلاصه دستور (SYNOPSIS)
کاربرد: gdal vector rasterize [OPTIONS] <INPUT> <OUTPUT>
هندسههای برداری را درون یک رستر حک میکند.
آرگومانهای موضعی:
-i, --input <INPUT> مجموعهدادههای برداری ورودی [الزامی]
-o, --output <OUTPUT> مجموعهداده رستری خروجی [الزامی]
گزینههای عمومی:
-h, --help نمایش پیام راهنما و خروج
--json-usage نمایش نحوه استفاده به صورت سند JSON و خروج
--config <KEY>=<VALUE> گزینه پیکربندی [تکرارپذیر]
-q, --quiet حالت بیصدا (بدون نوار پیشرفت یا پیام هشدار) [در خطلولهها در دسترس نیست]
گزینهها:
-f, --of, --format, --output-format <OUTPUT-FORMAT> قالب خروجی
--co, --creation-option <KEY>=<VALUE> گزینه ایجاد [تکرارپذیر]
--overwrite تعیین مجاز بودن بازنویسی مجموعهداده خروجی موجود
-b, --band <BAND> باند(هایی) که مقادیر درون آنها حک میشوند (اندیس مبتنی بر 1) [تکرارپذیر]
--invert معکوس کردن رسترسازی
--all-touched فعال کردن گزینه رسترسازی ALL_TOUCHED
--burn <BURN> مقدار حک [تکرارپذیر]
-a, --attribute-name <ATTRIBUTE-NAME> نام صفت
--3d مشخص میکند که مقدار حک باید از مقادیر Z عارضه استخراج شود
-l, --input-layer <INPUT-LAYER> نام لایه ورودی
مانعةالجمع با --sql
--where <WHERE> بند where در SQL
--sql <SQL> دستور select در SQL
مانعةالجمع با --input-layer
--dialect <DIALECT> گویش SQL
--nodata <NODATA> تخصیص یک مقدار مشخص nodata به باندهای خروجی
--init <INIT> مقداردهی اولیه باندهای خروجی با مقدار مشخصشده [تکرارپذیر]
--crs <CRS> بازنویسی سیستم تصویر برای فایل خروجی
--transformer-option <NAME>=<VALUE> تنظیم گزینه تبدیل مناسب برای ارسال به GDALCreateGenImgProjTransformer2 [تکرارپذیر]
--extent <xmin>,<ymin>,<xmax>,<ymax> تنظیم محدوده زمینمرجع هدف [۴ مقدار]
--resolution <xres>,<yres> تنظیم تفکیکپذیری هدف [۲ مقدار]
مانعةالجمع با --size
--tap, --target-aligned-pixels (پیکسلهای همتراز هدف) تراز کردن مختصات محدوده فایل خروجی با مقادیر تفکیکپذیری
وابسته به --resolution
--size <xsize>,<ysize> تنظیم اندازه هدف بر حسب پیکسل و خط [۲ مقدار]
مانعةالجمع با --resolution
--ot, --datatype, --output-data-type <OUTPUT-DATA-TYPE> نوع داده خروجی. OUTPUT-DATA-TYPE=UInt8|Int8|UInt16|Int16|UInt32|Int32|UInt64|Int64|CInt16|CInt32|Float16|Float32|Float64|CFloat32|CFloat64
--optimization <OPTIMIZATION> اجبار به استفاده از الگوریتم مشخصشده (نتایج یکسان هستند). OPTIMIZATION=AUTO|RASTER|VECTOR (پیشفرض: AUTO)
--add افزودن به رستر موجود
--update تعیین باز شدن مجموعهداده موجود در حالت بهروزرسانی
گزینههای پیشرفته:
--oo, --open-option <KEY>=<VALUE> گزینههای باز کردن [تکرارپذیر]
--if, --input-format <INPUT-FORMAT> قالبهای ورودی [تکرارپذیر]
دستور gdal vector rasterize هندسههای برداری را درون یک رستر درج میکند (burn میکند).
بهطور پیشفرض (مگر اینکه --update یا --add مشخص شده باشد)، یک رستر جدید با تفکیکپذیری (--resolution) یا اندازه مشخص (--size) ایجاد میشود. مقادیر پیکسلها یا بر روی یک مقدار ثابت (مقدار ۱، یا مقداری دیگر که با --burn مشخص شده است)، مقدار Z هندسههای عارضه (با --3d)، و یا مقدار فیلد مشخصشده با --attribute-name تنظیم خواهند شد.
تصویر سمت چپ رفتار پیشفرض رستریسازی را نشان میدهد، که در آن تنها پیکسلهای روی مسیر ترسیم خط گنجانده میشوند.
تصویر سمت راست تأثیر --all-touched را نمایش میدهد، جایی که هر پیکسلی که با چندضلعیهای ورودی تماس داشته باشد، گنجانده میشود.
از نسخه GDAL 3.12، این الگوریتم میتواند بخشی از یک gdal pipeline باشد.
گزینههای زیر در دسترس هستند:
افزودهشده در نسخه 3.12.
خروجی GDALG (مجموعهداده در لحظه / جاری) (GDALG OUTPUT (ON-THE-FLY / STREAMED DATASET))
این برنامه از سریالسازی خط فرمان به عنوان یک فایل JSON با استفاده از قالب خروجی GDALG پشتیبانی میکند. سپس فایل حاصل میتواند با استفاده از درایور GDALG: GDAL Streamed Algorithm به عنوان یک مجموعهداده رستر باز شود و خط لوله مشخصشده را بهصورت درلحظه / جریانی اعمال نماید.
نکته:
گزینههای ویژه برنامه (PROGRAM-SPECIFIC OPTIONS)
- --3d
- نشان میدهد که مقدار درج (burn) باید از مقادیر "Z" عارضه استخراج شود. برای نقاط و خطوط کار میکند (درونیابی خطی در طول هر پارهخط). برای چندضلعیها، تنها در صورتی بهدرستی کار میکند که مسطح باشند (مقدار Z یکسان برای تمام رأسها).
- --add
- به جای درج یک مقدار جدید، این گزینه مقدار جدید را به رستر موجود اضافه میکند؛ شامل --update نیز میشود. به عنوان مثال، برای نقشههای حرارتی مناسب است.
- --all-touched
- گزینه
رستریسازی
ALL_TOUCHED را فعال
میکند.
نکته:
- -a, --attribute-name <ATTRIBUTE-NAME>
- نام مشخصه / فیلدی که مقدار درج باید از آن برای هر عارضه بازیابی شود. GDAL تلاش میکند مقدار فیلد را به عنوان یک عدد تجزیه کند. اگر این کار ناموفق باشد، مقدار صفر نوشته خواهد شد.
- --band, -b <BAND>
- باند(هایی) که مقادیر باید در آنها درج شوند. میتواند تکرار شود.
- --burn <BURN>
- مقدار درج. میتواند تکرار شود.
- --crs <CRS>
- سیستم تصویر را برای فایل خروجی بازنویسی (override) میکند. در صورت عدم تعیین، سیستم تصویر فایل برداری ورودی (در صورت موجود بودن) استفاده خواهد شد. هنگام استفاده از این گزینه، هیچ بازتصویرسازی (reprojection) از عوارض از CRS وکتور ورودی به CRS مشخصشده رستر خروجی انجام نمیشود؛ بنابراین تنها برای تصحیح یک CRS مبدأ نامعتبر از این گزینه استفاده کنید. <CRS> میتواند هر یک از ساختارهای معمول GDAL/OGR، از جمله WKT کامل، PROJ.4، EPSG:n یا فایلی حاوی WKT باشد.
- --extent <xmin>,<ymin>,<xmax>,<ymax>
- محدودههای مختصاتدار (زمینمرجع) را تنظیم میکند. مقادیر باید بر حسب واحدهای زمینمرجع بیان شوند. در صورت عدم تعیین، محدوده فایل خروجی همان محدوده لایههای برداری خواهد بود.
- --init <INIT>
- باندهای خروجی را از پیش با مقدار مشخصشده مقداردهی اولیه میکند. میتواند تکرار شود.
- -l, --input-layer <INPUT-LAYER>
- لایه(هایی) از منبع داده را مشخص میکند که برای عوارض ورودی استفاده خواهند شد. میتواند چندین بار مشخص شود، اما حداقل یک نام لایه یا گزینه -sql باید مشخص گردد (نه هر دو).
- --invert
- معکوس کردن
رستریسازی.
مقدار درج
ثابت، یا
مقدار درج
مرتبط با
اولین
عارضه را در
تمام
بخشهایی
از تصویر که
درون
چندضلعی
دادهشده
قرار
ندارند،
درج میکند.
نکته:
- --nodata <NODATA>
- یک مقدار nodata مشخص را به باندهای خروجی اختصاص میدهد.
- --optimization <OPTIMIZATION>
- الگوریتم مورداستفاده را تحمیل میکند (نتایج یکسان هستند). حالت raster در بیشتر موارد استفاده میشود و عملیات خواندن/نوشتن را بهینهسازی میکند. حالت vector در مواقعی که تعداد مناسبی از عوارض ورودی وجود دارد مفید است و استفاده از CPU را بهینه میکند. این حالت برای کارآمد بودن باید با تصاویر کاشیبندیشده (tiled) استفاده شود. حالت auto (پیشفرض) الگوریتم را بر اساس ویژگیهای ورودی و خروجی انتخاب میکند.
- --ot, --datatype, --output-data-type <OUTPUT-DATA-TYPE>
- باندهای خروجی را وادار میکند تا از نوع داده مشخصشده باشند. پیشفرض Float64 است، مگر اینکه فیلد مشخصه جهت درج از نوع Int64 باشد که در این صورت، چنانچه درایور خروجی از آن پشتیبانی کند، Int64 برای نوع داده رستر خروجی استفاده میشود.
- --resolution <xres>,<yres>
- تفکیکپذیری (رزولوشن) هدف را تنظیم میکند. مقادیر باید بر حسب واحدهای زمینمرجع بیان شوند. هر دو مقدار باید مثبت باشند. توجه داشته باشید که --resolution نمیتواند همراه با --size استفاده شود.
- --size <xsize>,<ysize>
- اندازه فایل خروجی را بر حسب پیکسل و خط (سطر) تنظیم میکند. توجه داشته باشید که --size نمیتواند همراه با --resolution استفاده شود. اگر یکی از دو مقدار بر روی 0 تنظیم شود، از مقدار دیگر محاسبه خواهد شد تا نسبت ابعاد (aspect ratio) محدوده حفظ شود.
- --sql <SQL>|@<filename>
- یک عبارت SQL برای ارزیابی روی منبع داده جهت تولید لایهای مجازی از عوارض برای درج شدن. از ساختار @filename میتوان برای اشاره به این که محتوا در فایل مشخصشده قرار دارد استفاده کرد.
- --dialect <DIALECT>
- گویش SQL.
بهطور پیشفرض، هنگام استفاده از gdal vector sql از SQL بومی یک RDBMS استفاده میشود. در صورت استفاده از sql به عنوان مرحلهای از gdal vector pipeline، این امر تنها در صورتی صادق است که مرحله قبل از sql، مرحله read باشد؛ در غیر این صورت از گویش OGRSQL استفاده میشود.
اگر یک منبع داده بهطور بومی از SQL پشتیبانی نکند، پیشفرض استفاده از گویش OGRSQL است که میتواند با هر منبع داده دیگری نیز مشخص شود.
گویش SQL SQLite dialect را میتوان با مقادیر گویش SQLITE و INDIRECT_SQLITE انتخاب کرد و این مورد را میتوان با هر منبع دادهای استفاده نمود. تغییر گویش پیشفرض ممکن است سودمند باشد زیرا قابلیتهای گویشهای مختلف SQL متفاوت است.
گویشهای پشتیبانیشده را میتوان با gdal --format بررسی کرد. برای مثال:
$ gdal --format "PostgreSQL" [...] Supported SQL dialects: NATIVE OGRSQL SQLITE [...] $ gdal --format "ESRI Shapefile" [...] Supported SQL dialects: OGRSQL SQLITE [...]
- --tap, --target-aligned-pixels
- (پیکسلهای همتراز با هدف) مختصات محدوده فایل خروجی را با مقادیر --resolution همتراز میکند، بهگونهای که محدوده همترازشده شامل حداقل محدوده باشد. همترازی به این معناست که xmin / resx، ymin / resy، xmax / resx و ymax / resy مقادیر صحیح باشند. گزینه --tap به --resolution نیاز دارد.
- --where <WHERE>
- یک عبارت پرسوجوی اختیاری به سبک SQL WHERE برای اعمال جهت انتخاب عوارضی (features) از لایه(های) ورودی که باید رایت شوند (burn in).
گزینههای استاندارد (STANDARD OPTIONS)
- --co, --creation-option <NAME>=<VALUE>
- بسیاری از
قالبها یک
یا چند
گزینه ساخت
(creation option) اختیاری
دارند که
میتوانند
برای کنترل
جزئیات
فایل
ایجادشده
استفاده
شوند. برای
نمونه،
درایور GeoTIFF از
گزینههای
ساختی برای
کنترل
فشردهسازی
و
کاشیبندی
شدن فایل (tiled)
پشتیبانی
میکند.
میتواند تکرار شود.
گزینههای ساختِ در دسترس بر اساس درایور قالب متغیر هستند و برخی قالبهای ساده اصلاً هیچ گزینه ساختی ندارند. فهرستی از گزینههای پشتیبانیشده برای یک قالب را میتوان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات مربوط به همان قالب منبع قطعی اطلاعات درباره گزینههای ساخت درایور است. برای مشاهده گزینههای ساخت مجاز هر قالب، به مستندات اختصاصی قالب Raster drivers مراجعه کنید.
- --if, --input-format <format>
- نام
قالب/درایور
مورد تلاش
برای باز
کردن
فایل(های)
ورودی. به
طور کلی
نیازی به
تعیین آن
نیست، اما
در مواردی
که تشخیص
خودکار
درایور در
انتخاب
درایور
مناسب
ناموفق
باشد،
میتواند
برای
نادیده
گرفتن
تشخیص
خودکار
استفاده
شود. این
گزینه را
میتوان
چندین بار
برای تعیین
چندین
درایور
کاندید
تکرار کرد.
توجه داشته
باشید که
این کار آن
درایورها
را مجبور به
باز کردن
مجموعه
داده
نمیکند. به
طور خاص،
برخی
درایورها
نیازمندیهایی
برای پسوند
فایل دارند.
میتواند تکرار شود.
- --oo, --open-option <NAME>=<VALUE>
- گزینه باز
کردن
مجموعه
داده (مختص
به هر قالب).
میتواند تکرار شود.
- -f, --of, --format, --output-format <OUTPUT-FORMAT>
- قالب رستر خروجی مورد استفاده. مقادیر مجاز را میتوان با دستور زیر مشاهده کرد: gdal --formats | grep raster | grep rw | sort
- --overwrite
- به برنامه اجازه میدهد تا روی فایل یا مجموعه داده هدفِ موجود بازنویسی کند. در غیر این صورت، به طور پیشفرض اگر فایل یا مجموعه داده هدف از قبل وجود داشته باشد، gdal با خطا خارج میشود.
- --update
- اینکه آیا مجموعه داده خروجی موجود در حالت بهروزرسانی (update mode) باز شود یا خیر.
کد وضعیت بازگشتی (RETURN STATUS CODE)
این برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقداری غیر صفر را برمیگرداند (خطاهای غیرمسدودکننده که به صورت هشدار صادر میشوند به عنوان اجرای موفق در نظر گرفته میشوند).
مثالها (EXAMPLES)
مثال ۱: رایت کردن یک Shapefile در یک رستر
gdal vector rasterize -b 1,2,3 --burn 255,0,0 -l mask mask.shp work.tif
حک کردن یک shapefile در یک رستر با استفاده از شرط where مشخص برای انتخاب عوارض
gdal vector rasterize -a ROOF_H --where "class='A'" -l footprints footprints.shp city_dem.tif
مثال ۳: دستور زیر تمام چندضلعیها را از footprint.shp با رنگ قرمز در یک فایل TIFF جدید 1000x1000 با فرمت rgb حک میکند.
نکته:
gdal vector rasterize --burn 255,0,0 --ot Byte --size 1000,1000 -l footprints footprints.shp mask.tif
مثال ۴: حک کردن یک shapefile در یک رستر با استفاده از شرط where مشخص برای انتخاب عوارض، و محدود کردن محدوده به عوارض انتخابشده
gdal pipeline read /vsizip/vsicurl/https://www2.census.gov/geo/tiger/TIGER2025/STATE/tl_2025_us_state.zip ! \
filter --where "stusps = 'CA'" --update-extent ! \
rasterize --burn 1 --size 1500,1500 --datatype Byte ! \
write out.png --overwrite
نویسندگان (AUTHORS)
Alessandro Pasotti <elpaso@itopen.it>
کپیرایت و تکثیر (COPYRIGHT)
1998-2026
| August 18, 2026 |