| GDAL_GRID(1) | GDAL | GDAL_GRID(1) |
نام (NAME)
gdal_grid - ایجاد شبکه منظم (رستر) از دادههای پراکنده
خلاصه دستور (SYNOPSIS)
gdal_grid [--help] [--help-general]
[-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/
CInt16/CInt32/CFloat32/CFloat64}]
[-oo <NAME>=<VALUE>]...
[-of <format>] [-co <NAME>=<VALUE>]...
[-zfield <field_name>] [-z_increase <increase_value>] [-z_multiply <multiply_value>]
[-a_srs <srs_def>] [-spat <xmin> <ymin> <xmax> <ymax>]
[-clipsrc <xmin> <ymin> <xmax> <ymax>|<WKT>|<datasource>|spat_extent]
[-clipsrcsql <sql_statement>] [-clipsrclayer <layer>]
[-clipsrcwhere <expression>]
[-l <layername>]... [-where <expression>] [-sql <select_statement>]
[-txe <xmin> <xmax>] [-tye <ymin> <ymax>] [-tr <xres> <yres>] [-outsize <xsize> <ysize>]
[-a {<algorithm>[[:<parameter1>=<value1>]...]}] [-q]
<src_datasource> <dst_filename>
توضیحات (DESCRIPTION)
این برنامه یک شبکه منظم (رستر) را از دادههای پراکنده خواندهشده از منبع داده OGR ایجاد میکند. دادههای ورودی برای پر کردن گرههای شبکه با مقادیر، درونیابی میشوند و شما میتوانید از میان روشهای مختلف درونیابی انتخاب کنید.
امکان تنظیم گزینه پیکربندی GDAL_NUM_THREADS برای موازیسازی پردازش وجود دارد. مقدار مشخصشده تعداد ریسمانهای پردازشی (worker threads)، یا ALL_CPUS برای استفاده از تمام هستهها/پردازندههای رایانه است.
نکته:
بخش gdal vector grid را ببینید.
- --help
- نمایش این پیام راهنما و خروج.
- --help-general
- نمایش یک پیام کاربردی کوتاه برای گزینههای عمومی خط فرمان GDAL و خروج.
- -q, --quiet
- عدم نمایش پیامهای پیشرفت و سایر خروجیهای غیرخطا.
- -ot <type>
- اجبار باندهای تصویر خروجی به داشتن یک نوع داده مشخص که توسط درایور پشتیبانی میشود؛ این مقدار میتواند یکی از موارد زیر باشد: Byte، Int8، UInt16، Int16، UInt32، Int32، UInt64، Int64، Float32، Float64، CInt16، CInt32، CFloat32 یا CFloat64.
اگر تنظیم نشود، یک نوع پیشفرض استفاده میشود که ممکن است توسط درایور مربوطه پشتیبانی نشود و موجب بروز خطا گردد.
- -of <format>
- انتخاب قالب خروجی. در صورت عدم تعیین، قالب از روی پسوند فایل تشخیص داده میشود. از نام کوتاه قالب استفاده کنید.
- -txe <xmin> <xmax>
- تنظیم محدوده زمینمرجعشده محور X برای فایل خروجی در حال ایجاد.
- -tye <ymin> <ymax>
- تنظیم محدوده زمینمرجعشده محور Y برای فایل خروجی در حال ایجاد.
- -tr <xres> <yres>
- تنظیم
تفکیکپذیری
فایل خروجی
(بر حسب
واحدهای
زمینمرجعشده
مقصد). توجه
داشته
باشید که -tr
فقط در
ترکیب با
ورودی
معتبر از -txe
و -tye کار
میکند.
در نسخه 3.2 اضافه شد.
- -outsize <xsize> <ysize>
- تنظیم اندازه فایل خروجی بر حسب پیکسل و سطر. توجه داشته باشید که -outsize نمیتواند همراه با -tr استفاده شود.
- -a_srs <srs_def>
- بازنویسی سیستم تصویر فایل خروجی. srs_def میتواند هر یک از اشکال معمول GDAL/OGR، شامل WKT کامل، PROJ.4، EPSG:n یا فایلی حاوی WKT باشد. هیچ بازتصویرسازی انجام نمیشود.
- -zfield <field_name>
- مشخصکننده یک فیلد توصیفی در عوارض که برای دریافت مقدار Z استفاده میشود. این مقدار جایگزین مقدار Z خواندهشده از رکورد هندسه عارضه میشود (طبیعتاً اگر در هندسه مقدار Z داشته باشید، در غیر این صورت چارهای ندارید و باید نام فیلدی حاوی مقدار Z را مشخص کنید).
- -z_increase <increase_value>
- مقدار افزایشی برای افزودن به فیلد توصیفی عوارض که برای دریافت مقدار Z به کار میرود. این افزایش باید همواحد با مقدار Z باشد. مقدار حاصل برابر با مقدار Z + مقدار افزایش Z خواهد بود. مقدار پیشفرض 0 است.
- -z_multiply <multiply_value>
- ضریب ضرب برای فیلد Z است. این گزینه میتواند برای تغییر واحد (مثلاً فوت به متر) یا از ارتفاع به عمق استفاده شود. مقدار حاصل برابر با (مقدار Z + مقدار افزایش Z) * مقدار ضریب Z خواهد بود. مقدار پیشفرض 1 است.
- -a {<algorithm>[[:<parameter1>=<value1>]...]}
- تنظیم نام الگوریتم درونیابی یا سنجه داده و (به صورت اختیاری) پارامترهای آن. برای بررسی بیشتر گزینههای در دسترس، بخشهای الگوریتمهای درونیابی (INTERPOLATION ALGORITHMS) و سنجههای داده (DATA METRICS) را ببینید.
- -spat <xmin> <ymin> <xmax> <ymax>
- افزودن یک فیلتر مکانی برای انتخاب فقط عوارضی که درون کادر محصورکننده توصیفشده با (xmin, ymin) - (xmax, ymax) قرار دارند.
- -clipsrc [<xmin> <ymin> <xmax> <ymax>]|<WKT>|<datasource>|spat_extent
- افزودن یک فیلتر مکانی برای انتخاب فقط عوارضی که در کادر محصورکننده مشخصشده (بیانشده در SRS مبدا)، هندسه WKT (از نوع POLYGON یا MULTIPOLYGON)، از یک منبع داده یا در محدوده مکانی گزینه -spat (در صورت استفاده از کلیدواژه spat_extent) قرار دارند. هنگام مشخص کردن منبع داده، عموماً میخواهید آن را در ترکیب با گزینههای -clipsrclayer، -clipsrcwhere یا -clipsrcsql به کار ببرید.
- -clipsrcsql <sql_statement>
- انتخاب هندسههای مورد نظر با استفاده از یک پرسوجوی SQL به جای آن.
- -clipsrclayer <layername>
- انتخاب لایه نامبرده از منبع داده برش مبدا.
- -clipsrcwhere <expression>
- محدود کردن هندسههای مورد نظر بر اساس یک پرسوجوی توصیفی.
- -l <layername>
- نشاندهنده لایه(هایی) از منبع داده است که برای عوارض ورودی استفاده خواهد شد. میتواند چندین بار مشخص شود، اما حداقل یک نام لایه یا یک گزینه -sql باید مشخص گردد.
- -where <expression>
- یک عبارت پرسوجوی اختیاری به سبک SQL WHERE برای اعمال جهت انتخاب عوارض مورد پردازش از لایه(های) ورودی.
- -sql <select_statement>
- یک دستور SQL برای ارزیابی روی منبع داده جهت تولید یک لایه مجازی از عوارض برای پردازش.
- -oo <NAME>=<VALUE>
- در نسخه 3.7
اضافه شد.
گزینه باز کردن مجموعه داده مبدا (وابسته به قالب)
- -co <NAME>=<VALUE>
- بسیاری از
قالبها یک
یا چند
گزینه ساخت
اختیاری
دارند که
میتوان
برای کنترل
جزئیات
فایل
ایجادشده
استفاده
کرد. به
عنوان
مثال،
درایور GeoTIFF از
گزینههای
ساخت برای
کنترل
فشردهسازی
و اینکه آیا
فایل باید
به صورت
تایلبندیشده
باشد یا خیر
پشتیبانی
میکند.
گزینههای ساخت موجود بسته به درایور قالب متفاوت است و برخی قالبهای ساده اصلاً هیچ گزینه ساختی ندارند. فهرستی از گزینههای پشتیبانیشده برای یک قالب را میتوان با گزینه خط فرمان --format مشاهده کرد، اما مستندات مربوط به آن قالب منبع نهایی اطلاعات در مورد گزینههای ساخت درایور است. مستندات اختصاصی قالب در درایورهای رستر (Raster drivers) را برای گزینههای ساخت مجاز هر قالب ببینید.
- <src_datasource>
- هر منبع داده قابل خواندن که توسط OGR پشتیبانی میشود.
- <dst_filename>
- فایل خروجی پشتیبانیشده توسط GDAL.
الگوریتمهای درونیابی (INTERPOLATION ALGORITHMS)
تعدادی الگوریتم درونیابی برای انتخاب وجود دارد.
جزئیات بیشتر درباره آنها را نیز میتوانید در آموزش شبکه GDAL (GDAL Grid Tutorial) بیابید.
invdist
توان عکس فاصله (Inverse distance to a power). این الگوریتم پیشفرض است و پارامترهای زیر را دارد:
- power: توان وزندهی (پیشفرض 2.0).
- smoothing: پارامتر هموارسازی (پیشفرض 0.0).
- radius1: اولین شعاع بیضی جستجو (محور X در صورتی که زاویه چرخش 0 باشد). برای استفاده از کل آرایه نقاط، این پارامتر را صفر تنظیم کنید. پیشفرض 0.0 است.
- radius2: دومین شعاع بیضی جستجو (محور Y در صورتی که زاویه چرخش 0 باشد). برای استفاده از کل آرایه نقاط، این پارامتر را صفر تنظیم کنید. پیشفرض 0.0 است.
- radius: تنظیم شعاع اول و دوم (مانعةالجمع با radius1 و radius2). پیشفرض 0.0 است. در GDAL 3.6 اضافه شد.
- angle: زاویه چرخش بیضی جستجو بر حسب درجه (پادساعتگرد، پیشفرض 0.0).
- max_points: حداکثر تعداد نقاط داده برای استفاده. نقاط بیشتری بیش از این تعداد جستجو نخواهد شد. این پارامتر فقط زمانی استفاده میشود که بیضی جستجو تنظیم شده باشد (هر دو شعاع غیرصفر باشند). مقدار صفر به این معنی است که تمام نقاط یافتشده باید استفاده شوند. پیشفرض 0 است.
- min_points: حداقل تعداد نقاط داده برای استفاده. اگر تعداد نقاط کمتری یافت شود، گره شبکه خالی تلقی شده و با نشانگر NODATA پر خواهد شد. این پارامتر فقط در صورت تنظیم بیضی جستجو (هر دو شعاع غیرصفر) استفاده میشود. پیشفرض 0 است.
- max_points_per_quadrant: حداکثر تعداد نقاط داده برای استفاده در هر ربع. پیشفرض 0 است. در GDAL 3.6 اضافه شد. در صورت مشخص شدن، در واقع از پیادهسازی invdistnn استفاده میشود.
- min_points_per_quadrant: حداقل تعداد نقاط داده برای استفاده در هر ربع. پیشفرض 0 است. در GDAL 3.6 اضافه شد. در صورت مشخص شدن، در واقع از پیادهسازی invdistnn استفاده میشود.
- nodata: نشانگر NODATA برای پر کردن نقاط خالی (پیشفرض 0.0).
invdistnn
توان عکس فاصله همراه با جستجوی نزدیکترین همسایه، مناسب برای زمانی که max_points استفاده میشود. پارامترهای زیر را دارد:
- power: توان وزندهی (پیشفرض 2.0).
- smoothing: پارامتر هموارسازی (پیشفرض 0.0).
- radius: شعاع دایره جستجو که باید غیرصفر باشد. پیشفرض 1.0 است.
- max_points: حداکثر تعداد نقاط داده برای استفاده. برای نقاط بیشتری بیش از این مقدار جستجو نکنید. نقاط یافتشده هنگام وزندهی بر اساس فاصله از نزدیکترین به دورترین رتبهبندی میشوند. پیشفرض 12 است.
- min_points: حداقل تعداد نقاط داده برای استفاده. اگر تعداد نقاط کمتری یافت شود، گره شبکه خالی در نظر گرفته شده و با نشانگر NODATA پر میشود. پیشفرض 0 است.
- max_points_per_quadrant: حداکثر تعداد نقاط داده برای استفاده در هر ربع. پیشفرض 0 است. در GDAL 3.6 اضافه شد. در صورت تعیین، الگوریتم برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و پایین-چپ نسبت به نقطه در حال درونیابی، حداکثر تا max_points_per_quadrant نقطه را لحاظ میکند.
- min_points_per_quadrant: حداقل تعداد نقاط داده برای استفاده در هر ربع. پیشفرض 0 است. در GDAL 3.6 اضافه شد. اگر این تعداد حاصل نشود، نقطه در حال درونیابی با نشانگر NODATA تنظیم میشود. در صورت تعیین، الگوریتم حداقل min_points_per_quadrant نقطه را برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و پایین-چپ نسبت به نقطه در حال درونیابی جمعآوری میکند.
- nodata: نشانگر NODATA برای پر کردن نقاط خالی (پیشفرض 0.0).
هنگامی که min_points_per_quadrant یا max_points_per_quadrant مشخص شود، جستجو با نزدیکترین نقطه به نقطه در حال درونیابی از ربع اول شروع میشود، سپس نزدیکترین نقطه به نقطه در حال درونیابی از ربع دوم و به همین ترتیب تا ربع چهارم، و با نزدیکترین نقطه بعدی در ربع اول ادامه مییابد تا زمانی که به آستانههای max_points و/یا max_points_per_quadrant برسد.
average
الگوریتم میانگین متحرک (Moving average). پارامترهای زیر را دارد:
- radius1: اولین شعاع بیضی جستجو (محور X در صورتی که زاویه چرخش 0 باشد). برای استفاده از کل آرایه نقاط، این پارامتر را صفر قرار دهید. پیشفرض 0.0 است.
- radius2: دومین شعاع بیضی جستجو (محور Y در صورتی که زاویه چرخش 0 باشد). برای استفاده از کل آرایه نقاط، این پارامتر را صفر قرار دهید. پیشفرض 0.0 است.
- radius: تنظیم شعاع اول و دوم (مانعةالجمع با radius1 و radius2). پیشفرض 0.0 است. در GDAL 3.6 اضافه شد.
- angle: زاویه چرخش بیضی جستجو بر حسب درجه (پادساعتگرد، پیشفرض 0.0).
- max_points: حداکثر تعداد نقاط داده برای استفاده. بیش از این تعداد نقطه جستجو نشود. نقاط یافتشده هنگام وزندهی از نزدیکترین به دورترین فاصله رتبهبندی میشوند. پیشفرض 0 است. در GDAL 3.6 اضافه شد. تنها در صورتی لحاظ میشود که یک یا هر دوی min_points_per_quadrant یا max_points_per_quadrant مشخص شده باشند.
- min_points: حداقل تعداد نقاط داده برای استفاده. اگر تعداد نقاط کمتری یافت شود، گره شبکه خالی تلقی شده و با نشانگر NODATA پر خواهد شد. پیشفرض 0 است.
- max_points_per_quadrant: حداکثر تعداد نقاط داده برای استفاده در هر ربع. پیشفرض 0 است. در GDAL 3.6 اضافه شد. در صورت تعیین، الگوریتم برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و پایین-چپ نسبت به نقطه در حال درونیابی، حداکثر تا max_points_per_quadrant نقطه را لحاظ میکند.
- min_points_per_quadrant: حداقل تعداد نقاط داده برای استفاده در هر ربع. پیشفرض 0 است. در GDAL 3.6 اضافه شد. اگر این تعداد حاصل نشود، نقطه در حال درونیابی با نشانگر NODATA تنظیم میشود. در صورت تعیین، الگوریتم حداقل min_points_per_quadrant نقطه را برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و پایین-چپ نسبت به نقطه در حال درونیابی جمعآوری میکند.
- nodata: نشانگر NODATA برای پر کردن نقاط خالی (پیشفرض 0.0).
توجه داشته باشید که تعیین بیضی جستجو برای روش میانگین متحرک ضروری است. این پنجرهای است که هنگام محاسبه مقادیر گرههای شبکه میانگینگیری میشود.
هنگامی که min_points_per_quadrant یا max_points_per_quadrant مشخص شود، جستجو با نزدیکترین نقطه به نقطه در حال درونیابی از ربع اول شروع میشود، سپس نزدیکترین نقطه به نقطه در حال درونیابی از ربع دوم و به همین ترتیب تا ربع چهارم، و با نزدیکترین نقطه بعدی در ربع اول ادامه مییابد تا زمانی که به آستانههای max_points و/یا max_points_per_quadrant برسد.
nearest
الگوریتم نزدیکترین همسایه (Nearest neighbor). پارامترهای زیر را دارد:
- radius1: اولین شعاع بیضی جستجو (محور X در صورتی که زاویه چرخش 0 باشد). برای استفاده از کل آرایه نقاط، این پارامتر را صفر قرار دهید. پیشفرض 0.0 است.
- radius2: دومین شعاع بیضی جستجو (محور Y در صورتی که زاویه چرخش 0 باشد). برای استفاده از کل آرایه نقاط، این پارامتر را صفر قرار دهید. پیشفرض 0.0 است.
- radius: تنظیم شعاع اول و دوم (مانعةالجمع با radius1 و radius2). پیشفرض 0.0 است. در GDAL 3.6 اضافه شد.
- angle: زاویه چرخش بیضی جستجو بر حسب درجه (پادساعتگرد، پیشفرض 0.0).
- nodata: نشانگر NODATA برای پر کردن نقاط خالی (پیشفرض 0.0).
linear
الگوریتم درونیابی خطی (Linear interpolation).
روش خطی با محاسبه مثلثبندی دلونی (Delaunay triangulation) ابر نقاط، یافتن اینکه نقطه در کدام مثلث از مثلثبندی قرار دارد و انجام درونیابی خطی بر اساس مختصات گرانیگاهی (barycentric) آن در درون مثلث، عمل درونیابی خطی را انجام میدهد. اگر نقطه در هیچ مثلثی قرار نگیرد، بسته به شعاع، الگوریتم از مقدار نزدیکترین نقطه یا مقدار nodata استفاده خواهد کرد.
پارامترهای زیر را دارد:
- radius: در صورتی که نقطه مورد نظر برای درونیابی در هیچ مثلثی از مثلثبندی دلونی نگنجد، از این حداکثر فاصله برای جستجوی نزدیکترین همسایه استفاده میشود، یا در غیر این صورت از nodata استفاده خواهد شد. اگر روی -1 تنظیم شود، فاصله جستجو نامحدود است. اگر روی 0 تنظیم شود، همیشه مقدار nodata استفاده خواهد شد. پیشفرض -1 است.
- nodata: نشانگر NODATA برای پر کردن نقاط خالی (پیشفرض 0.0).
سنجههای داده (DATA METRICS)
علاوه بر قابلیتهای درونیابی، میتوان از gdal_grid برای محاسبه برخی سنجههای داده با استفاده از پنجره مشخصشده و هندسه شبکه خروجی استفاده کرد. این سنجهها عبارتند از:
- minimum: حداقل مقدار یافتشده در بیضی جستجوی گره شبکه.
- maximum: حداکثر مقدار یافتشده در بیضی جستجوی گره شبکه.
- range: اختلاف بین مقادیر حداقل و حداکثر یافتشده در بیضی جستجوی گره شبکه.
- count: تعداد نقاط داده یافتشده در بیضی جستجوی گره شبکه.
- average_distance: میانگین فاصله بین گره شبکه (مرکز بیضی جستجو) و تمام نقاط داده یافتشده در بیضی جستجوی گره شبکه.
- average_distance_pts: میانگین فاصله بین نقاط داده یافتشده در بیضی جستجوی گره شبکه. فاصله بین هر جفت نقطه در بیضی محاسبه شده و میانگین تمام فواصل به عنوان مقدار گره شبکه تنظیم میشود.
تمام این سنجهها مجموعه گزینههای یکسانی دارند:
- radius1: اولین شعاع بیضی جستجو (محور X در صورتی که زاویه چرخش 0 باشد). برای استفاده از کل آرایه نقاط، این پارامتر را صفر قرار دهید. پیشفرض 0.0 است.
- radius2: دومین شعاع بیضی جستجو (محور Y در صورتی که زاویه چرخش 0 باشد). برای استفاده از کل آرایه نقاط، این پارامتر را صفر قرار دهید. پیشفرض 0.0 است.
- radius: تنظیم شعاع اول و دوم (مانعةالجمع با radius1 و radius2). پیشفرض 0.0 است. در GDAL 3.6 اضافه شد.
- angle: زاویه چرخش بیضی جستجو بر حسب درجه (پادساعتگرد، پیشفرض 0.0).
- min_points: حداقل تعداد نقاط داده برای استفاده. اگر تعداد نقاط کمتری یافت شود، گره شبکه خالی تلقی شده و با نشانگر NODATA پر خواهد شد. این پارامتر فقط در صورت تنظیم بیضی جستجو (هر دو شعاع غیرصفر) استفاده میشود. پیشفرض 0 است.
- max_points_per_quadrant: حداکثر تعداد نقاط داده برای استفاده در هر ربع. پیشفرض 0 است. در GDAL 3.6 اضافه شد. در صورت تعیین، الگوریتم برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و پایین-چپ نسبت به نقطه در حال درونیابی، حداکثر تا max_points_per_quadrant نقطه را لحاظ میکند.
- min_points_per_quadrant: حداقل تعداد نقاط داده برای استفاده در هر ربع. پیشفرض 0 است. در GDAL 3.6 اضافه شد. اگر این تعداد حاصل نشود، نقطه در حال درونیابی با نشانگر NODATA تنظیم میشود. در صورت تعیین، الگوریتم حداقل min_points_per_quadrant نقطه را برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و پایین-چپ نسبت به نقطه در حال درونیابی جمعآوری میکند.
- nodata: نشانگر NODATA برای پر کردن نقاط خالی (پیشفرض 0.0).
هنگامی که min_points_per_quadrant یا max_points_per_quadrant مشخص شود، جستجو با نزدیکترین نقطه به نقطه در حال درونیابی از ربع اول شروع میشود، سپس نزدیکترین نقطه به نقطه در حال درونیابی از ربع دوم و به همین ترتیب تا ربع چهارم، و با نزدیکترین نقطه بعدی در ربع اول ادامه مییابد تا زمانی که به آستانههای max_points و/یا max_points_per_quadrant برسد.
خواندن مقادیر جداشده با کاما (READING COMMA SEPARATED VALUES)
اغلب شما یک فایل متنی با فهرستی از مقادیر XYZ جداشده با کاما (فایل موسوم به CSV) برای کار دارید. میتوانید به راحتی از این نوع منبع داده در gdal_grid استفاده کنید. تنها کاری که باید انجام دهید ساخت یک هدر مجموعه داده مجازی (VRT) برای فایل CSV خود و استفاده از آن به عنوان منبع داده ورودی برای gdal_grid است. میتوانید جزئیات مربوط به قالب VRT را در صفحه توضیحات قالب مجازی VRT -- OGR بیابید.
در اینجا یک مثال کوچک آورده شده است. فرض کنیم یک فایل CSV به نام dem.csv داریم حاوی:
Easting,Northing,Elevation 86943.4,891957,139.13 87124.3,892075,135.01 86962.4,892321,182.04 87077.6,891995,135.01 ...
برای دادههای فوق، یک هدر dem.vrt با محتوای زیر ایجاد میکنیم:
<OGRVRTDataSource>
<OGRVRTLayer name="dem">
<SrcDataSource>dem.csv</SrcDataSource>
<GeometryType>wkbPoint</GeometryType>
<GeometryField encoding="PointFromColumns" x="Easting" y="Northing" z="Elevation"/>
</OGRVRTLayer>
</OGRVRTDataSource>
این توصیف، هندسه اصطلاحاً 2.5D با سه مختصات X، Y و Z را مشخص میکند. مقدار Z برای درونیابی استفاده خواهد شد. اکنون میتوانید از dem.vrt با تمام برنامههای OGR استفاده کنید (با ogrinfo شروع کنید تا مطمئن شوید همه چیز به درستی کار میکند). منبع داده شامل یک لایه منفرد به نام "dem" خواهد بود که با عوارض نقطهای ساختهشده از مقادیر موجود در فایل CSV پر شده است. با استفاده از این روش میتوانید فایلهای CSV با بیش از سه ستون را مدیریت کنید، ستونها را جابجا کنید و غیره. بسیار خوب، اکنون مرحله نهایی:
gdal_grid dem.vrt demv.tif
یا اگر تمایلی به استفاده از فایل VRT نداریم:
gdal_grid -l dem -oo X_POSSIBLE_NAMES=Easting \ -oo Y_POSSIBLE_NAMES=Northing -zfield Elevation dem.csv dem.tif
اگر فایل CSV شما فاقد هدر ستون باشد، میتوان آن را در فایل VRT به روش زیر مدیریت کرد:
<GeometryField encoding="PointFromColumns" x="field_1" y="field_2" z="field_3"/>
صفحه توضیحات مقادیر جداشده با کاما (.csv) حاوی جزئیات مربوط به قالب CSV پشتیبانیشده توسط GDAL/OGR است.
ایجاد فایلهای چندباندی (CREATING MULTIBAND FILES)
ایجاد فایلهای چندباندی به طور مستقیم با gdal_grid امکانپذیر نیست. میتوان از gdal_grid چندین بار برای ایجاد یک باند به ازای هر فایل استفاده کرد، و سپس از gdalbuildvrt -separate و پس از آن از gdal_translate بهره برد:
gdal_grid ... 1.tif; gdal_grid ... 2.tif; gdal_grid ... 3.tif gdalbuildvrt -separate 123.vrt 1.tif 2.tif 3.tif gdal_translate 123.vrt 123.tif
یا فقط از gdal_merge برای ترکیب فایلهای تکباندی به یک فایل واحد استفاده کنید:
gdal_grid ... a.tif; gdal_grid ... b.tif; gdal_grid ... c.tif gdal_merge -separate a.tif b.tif c.tif -o d.tif
کد وضعیت خروجی (RETURN STATUS CODE)
این برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقدار غیرصفر برمیگرداند (خطاهای غیرمسدودکننده که به عنوان هشدار صادر میشوند، به عنوان اجرای موفق تلقی میگردند).
رابط سی (C API)
این ابزار همچنین از طریق C با تابع GDALGrid() قابل فراخوانی است.
مثالها (EXAMPLES)
مثال ۱: ایجاد یک رستر از منبع داده VRT با استفاده از توان عکس فاصله
gdal_grid -a invdist:power=2.0:smoothing=1.0 -txe 85000 89000 -tye 894000 890000 \
-outsize 400 400 -of GTiff -ot Float64 -l dem dem.vrt dem.tiff
این مثال یک فایل TIFF رستری را از منبع داده VRT توصیفشده در بخش خواندن مقادیر جداشده با کاما با استفاده از روش توان عکس فاصله ایجاد میکند. مقادیر برای درونیابی از مقدار Z رکورد هندسه خوانده خواهد شد.
مثال ۲: خواندن مقادیر درونیابی از یک فیلد توصیفی
gdal_grid -zfield "Elevation" -a invdist:power=2.0:smoothing=1.0 -txe 85000 89000 \
-tye 894000 890000 -outsize 400 400 -of GTiff -ot Float64 -l dem dem.vrt \
dem.tiff --config GDAL_NUM_THREADS ALL_CPUS
این دستور همان کار دستور قبلی را انجام میدهد، اما مقادیر درونیابی را به جای رکورد هندسه از فیلد توصیفی مشخصشده با گزینه -zfield میخواند. بنابراین در این حالت مختصات X و Y از هندسه گرفته شده و Z از فیلد "Elevation" گرفته میشود. متغیر GDAL_NUM_THREADS نیز برای موازیسازی محاسبات تنظیم شده است.
نویسندگان (AUTHORS)
Andrey Kiselev <dron@ak4719.spb.edu>
حق نشر (COPYRIGHT)
1998-2026
| August 18, 2026 |