| GDAL-VECTOR-GRID(1) | GDAL | GDAL-VECTOR-GRID(1) |
نام (NAME)
gdal-vector-grid - ایجاد یک شبکه منظم از نقاط پراکنده
در نسخه 3.11 اضافه شد.
خلاصه دستور (SYNOPSIS)
کاربرد: gdal vector grid <SUBCOMMAND> [OPTIONS] که در آن <SUBCOMMAND> یکی از موارد زیر است: - average: ایجاد یک شبکه منظم از نقاط پراکنده با استفاده از درونیابی میانگین متحرک. - average-distance: ایجاد یک شبکه منظم از نقاط پراکنده با استفاده از میانگین فاصله بین گره شبکه (مرکز بیضی جستجو) و تمام نقاط داده در بیضی جستجو. - average-distance-points: ایجاد یک شبکه منظم از نقاط پراکنده با استفاده از میانگین فاصله بین نقاط داده در بیضی جستجو. - count: ایجاد یک شبکه منظم از نقاط پراکنده با استفاده از تعداد نقاط در بیضی جستجو. - invdist: ایجاد یک شبکه منظم از نقاط پراکنده با استفاده از درونیابی فاصله معکوس وزندار. - invdistnn: ایجاد یک شبکه منظم از نقاط پراکنده با استفاده از درونیابی فاصله معکوس وزندار نزدیکترین همسایه. - linear: ایجاد یک شبکه منظم از نقاط پراکنده با استفاده از درونیابی خطی/مرکز ثقلی (barycentric). - maximum: ایجاد یک شبکه منظم از نقاط پراکنده با استفاده از بیشترین مقدار در بیضی جستجو. - minimum: ایجاد یک شبکه منظم از نقاط پراکنده با استفاده از کمترین مقدار در بیضی جستجو. - nearest: ایجاد یک شبکه منظم از نقاط پراکنده با استفاده از درونیابی نزدیکترین همسایه. - range: ایجاد یک شبکه منظم از نقاط پراکنده با استفاده از اختلاف بین مقادیر کمینه و بیشینه در بیضی جستجو. گزینههای عمومی (Common Options): -h, --help نمایش پیام راهنما و خروج --json-usage نمایش نحوه استفاده بهصورت سند JSON و خروج --config <KEY>=<VALUE> گزینه پیکربندی [میتواند تکرار شود]
توضیحات (DESCRIPTION)
این برنامه یک شبکه منظم (رستر) از دادههای پراکنده خواندهشده از یک مجموعه داده برداری ایجاد میکند. دادههای ورودی برای پر کردن گرههای شبکه با مقادیر درونیابی خواهند شد؛ شما میتوانید از میان روشهای مختلف درونیابی انتخاب کنید.
امکان تنظیم گزینه پیکربندی GDAL_NUM_THREADS برای موازیسازی پردازش وجود دارد. مقدار قابل تعیین برابر است با تعداد نخهای پردازشی (worker threads)، یا ALL_CPUS برای استفاده از تمامی هستهها/پردازندههای رایانه.
از نسخه GDAL 3.12، این الگوریتم میتواند بخشی از یک gdal pipeline باشد.
گزینههای مشترک بین تمامی الگوریتمها (OPTIONS COMMON TO ALL ALGORITHMS)
گزینههای استاندارد (Standard options)
- -f, --of, --format, --output-format <OUTPUT-FORMAT>
- تعیین فرمت رستر خروجی مورد استفاده. مقادیر مجاز را میتوان با دستور زیر به دست آورد: gdal --formats | grep raster | grep + | sort
- --co, --creation-option <NAME>=<VALUE>
- بسیاری از
فرمتها
دارای یک یا
چند گزینه
اختیاری
ساخت
مجموعه
داده هستند
که میتوان
از آنها
برای کنترل
جزئیات
فایل
ایجادشده
استفاده
کرد. برای
نمونه،
درایور GeoPackage
از
گزینههای
ساخت برای
کنترل نسخه
پشتیبانی
میکند.
میتواند تکرار شود.
گزینههای ساخت مجموعه داده در دسترس بر اساس درایور فرمت متفاوت است، و برخی از فرمتهای ساده اصلاً هیچ گزینه ساختی ندارند. فهرستی از گزینههای پشتیبانیشده برای یک فرمت را میتوان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات مربوط به همان فرمت منبع اصلی اطلاعات درباره گزینههای ساخت درایور است. برای گزینههای مجاز ساخت در هر فرمت، به مستندات اختصاصی فرمت Vector drivers مراجعه کنید.
توجه داشته باشید که گزینههای ساخت مجموعه داده با گزینههای ساخت لایه متفاوت هستند.
- --overwrite
- به برنامه اجازه میدهد تا فایل یا مجموعه داده هدف موجود را رونویسی کند. در غیر این صورت، بهطور پیشفرض، اگر فایل یا مجموعه داده هدف از قبل وجود داشته باشد، gdal با خطا مواجه میشود.
- -l, --layer, --layer-name <LAYER-NAME>
- لایه(ها)یی از منبع داده را مشخص میکند که برای عوارض ورودی استفاده خواهند شد. میتواند چندین بار مشخص شود.
- --sql <SQL>|@<filename>
- یک عبارت SQL که روی منبع داده ارزیابی میشود تا یک لایه مجازی از عوارض برای حک شدن (burn in) تولید کند. میتوان از ساختار @filename برای مشخص کردن اینکه محتوا در نام فایل اشارهشده قرار دارد استفاده کرد.
- --extent <xmin>,<ymin>,<xmax>,<ymax>
- تنظیم محدوده دارای ارجاع جغرافیایی (georeferenced extents). مقادیر باید بر حسب واحدهای ارجاع جغرافیایی بیان شوند. در صورت عدم تعیین، محدوده فایل خروجی همان محدوده لایههای برداری خواهد بود.
- --resolution <xres>,<yres>
- تنظیم تفکیکپذیری (رزولوشن) هدف. مقادیر باید بر حسب واحدهای ارجاع جغرافیایی بیان شوند. هر دو مقدار باید مثبت باشند. توجه داشته باشید که --resolution نمیتواند همراه با --size استفاده شود.
- --size <xsize>,<ysize>
- تنظیم اندازه فایل خروجی بر حسب پیکسل و خط. توجه داشته باشید که --size نمیتواند همراه با --resolution استفاده شود.
- --ot, --datatype, --output-data-type <OUTPUT-DATA-TYPE>
- باندهای خروجی را ملزم میکند که از نوع داده مشخصشده باشند. پیشفرض Float64 است.
- --crs <CRS>
- بازنویسی سیستم تصویر (projection) برای فایل خروجی. در صورت عدم تعیین، از سیستم تصویر فایل برداری ورودی در صورت موجود بودن استفاده میشود. هنگام استفاده از این گزینه، هیچ بازتصویرسازی از عوارض از CRS وکتور ورودی به CRS مشخصشده برای رستر خروجی انجام نمیشود؛ بنابراین تنها برای تصحیح یک CRS مبدأ نامعتبر از این گزینه استفاده کنید. <CRS> میتواند هر یک از قالبهای معمول GDAL/OGR، ساختار کامل WKT، PROJ.4، EPSG:n یا فایلی حاوی WKT باشد.
- --bbox <xmin>,<ymin>,<xmax>,<ymax>
- تنها نقاطی را انتخاب میکند که درون کادر احاطهکننده (bounding box) مشخصشده قرار دارند.
- --zfield <field_name>
- یک فیلد توصیفی را روی عوارض مشخص میکند که برای به دست آوردن مقدار Z از آن استفاده میشود. این مقدار جایگزین مقدار Z خواندهشده از رکورد هندسه عارضه میشود (طبیعتاً در صورتی که مقدار Z در هندسه داشته باشید؛ در غیر این صورت چارهای ندارید و باید نام فیلدی حاوی یک مقدار Z را مشخص کنید).
- --zincrease <increase_value>
- مقدار افزایشی به فیلد توصیفی روی عوارض که برای دریافت مقدار Z از آن استفاده میشود. مقدار افزوده باید دارای همان واحد مقدار Z باشد. مقدار حاصل برابر با مقدار Z + مقدار افزایش Z خواهد بود. مقدار پیشفرض 0 است.
- --zmultiply <multiply_value>
- این ضریب ضرب برای فیلد Z است. از این مقدار میتوان برای تبدیل، مثلاً از فوت به متر یا از ارتفاع به عمق استفاده کرد. مقدار حاصل برابر با (مقدار Z + مقدار افزایش Z) * مقدار ضریب Z خواهد بود. مقدار پیشفرض 1 است.
- --oo, --open-option <NAME>=<VALUE>
- گزینه باز
کردن
مجموعه
داده
(وابسته به
قالب).
میتواند تکرار شود.
- --if, --input-format <format>
- نام
قالب/راهانداز
برای تلاش
جهت باز
کردن
فایل(های)
ورودی.
معمولاً
مشخص کردن
آن ضروری
نیست، اما
هنگامی که
تشخیص
خودکار
راهانداز
در انتخاب
راهانداز
مناسب
ناموفق
است،
میتواند
برای رد
کردن تشخیص
خودکار
استفاده
شود. این
گزینه
میتواند
چندین بار
برای تعیین
چند
راهانداز
نامزد
تکرار شود.
توجه داشته
باشید که
این گزینه
راهاندازها
را ملزم به
باز کردن
مجموعه
داده
نمیکند.
بهویژه،
برخی
راهاندازها
نیازمندیهایی
برای پسوند
فایل دارند.
میتواند تکرار شود.
الگوریتم "INVDIST" (INVDIST ALGORITHM)
درونیابی با استفاده از معکوس فاصله به توان.
هنگامی که --min-points-per-quadrant یا --max-points-per-quadrant مشخص شده باشد، الگوریتم واقعی مورد استفاده "invdistnn" است.
گزینهها (OPTIONS)
- --power <val>
- توان وزندهی (پیشفرض 2.0).
- --smoothing <val>
- پارامتر هموارسازی (پیشفرض 0.0).
- --radius <val>
- تنظیم شعاع اول و دوم (مانعةالجمع با --radius1 و --radius2). بهطور پیشفرض، از کل آرایه نقاط استفاده میکند.
- --radius1 <val>
- شعاع اول بیضی جستجو (محور X اگر زاویه چرخش 0 باشد). بهطور پیشفرض، از کل آرایه نقاط استفاده میکند.
- --radius2 <val>
- شعاع دوم بیضی جستجو (محور Y اگر زاویه چرخش 0 باشد). بهطور پیشفرض، از کل آرایه نقاط استفاده میکند.
- --angle <val>
- زاویه چرخش بیضی جستجو بر حسب درجه (پادساعتگرد، پیشفرض 0 است).
- --max-points <val>
- حداکثر تعداد نقاط داده برای استفاده. برای بیش از این تعداد نقطه جستجو نشود. این گزینه تنها زمانی قابل استفاده است که بیضی جستجو تنظیم شده باشد (هر دو شعاع غیر صفر باشند). بهطور پیشفرض، محدودیتی وجود ندارد.
- --min-points <val>
- حداقل تعداد نقاط داده برای استفاده. اگر در بیضی جستجو نقاط کمتری از مقدار مشخصشده یافت شود، گره شبکه خالی در نظر گرفته شده و با مقدار nodata پر خواهد شد. این گزینه تنها زمانی قابل استفاده است که بیضی جستجو تنظیم شده باشد (هر دو شعاع غیر صفر باشند). بهطور پیشفرض، محدودیتی وجود ندارد.
- --max-points-per-quadrant <val>
- حداکثر تعداد نقاط داده برای استفاده در هر ربع. بهطور پیشفرض، محدودیتی وجود ندارد. در صورت مشخص شدن، الگوریتم برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و بالا-راست نسبت به نقطهای که درونیابی میشود، تنها حداکثر تا max_points_per_quadrant نقطه را لحاظ خواهد کرد.
- --min-points-per-quadrant <val>
- حداقل تعداد نقاط داده برای استفاده در هر ربع. بهطور پیشفرض، محدودیتی وجود ندارد. در صورت مشخص شدن، الگوریتم برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و بالا-راست نسبت به نقطهای که درونیابی میشود، حداقل min_points_per_quadrant نقطه را جمعآوری خواهد کرد.
- --nodata <val>
- مقدار nodata
برای پر
کردن نقاط
خالی
(پیشفرض 0
است).
درونیابی با استفاده از معکوس فاصله با توان مشخص همراه با جستجوی نزدیکترین همسایه، ایدهآل برای زمانهایی که --max-points استفاده میشود.
هنگامی که --min-points-per-quadrant یا --max-points-per-quadrant مشخص شده باشد، جستجو با نزدیکترین نقطه به نقطه در حال درونیابی از ربع اول آغاز میشود، سپس نزدیکترین نقطه به نقطه در حال درونیابی از ربع دوم و به همین ترتیب تا ربع چهارم ادامه مییابد؛ سپس با نزدیکترین نقطه بعدی در ربع اول و غیره ادامه پیدا میکند تا زمانی که آستانههای --max-points و/یا --max-points-per-quadrant برآورده شوند.
گزینه الزامی (Required option)
- --radius <val>
- تنظیم شعاع جستجو (با --radius1 و --radius2 مانعةالجمع است). الزامی.
گزینهها (OPTIONS)
- --power <val>
- توان وزندهی (پیشفرض 2.0).
- --smoothing <val>
- پارامتر هموارسازی (پیشفرض 0.0).
- --max-points <val>
- حداکثر تعداد نقاط داده برای استفاده. بیش از این تعداد نقطه جستجو نخواهد شد. این گزینه تنها در صورتی قابل استفاده است که بیضی جستجو تنظیم شده باشد (هر دو شعاع غیر صفر باشند). به طور پیشفرض، بدون محدودیت است.
- --min-points <val>
- حداقل تعداد نقاط داده برای استفاده. اگر تعداد نقاط یافتشده در بیضی جستجو کمتر از مقدار مشخصشده باشد، گره شبکه خالی در نظر گرفته شده و با مقدار nodata پر میشود. این گزینه تنها در صورتی قابل استفاده است که بیضی جستجو تنظیم شده باشد (هر دو شعاع غیر صفر باشند). به طور پیشفرض، بدون محدودیت است.
- --max-points-per-quadrant <val>
- حداکثر تعداد نقاط داده برای استفاده در هر ربع. به طور پیشفرض، بدون محدودیت است. در صورت مشخص شدن، الگوریتم تنها تا سقف max_points_per_quadrant نقطه را برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و بالا-راست نسبت به نقطه در حال درونیابی در نظر خواهد گرفت.
- --min-points-per-quadrant <val>
- حداقل تعداد نقاط داده برای استفاده در هر ربع. به طور پیشفرض، بدون محدودیت است. در صورت مشخص شدن، الگوریتم حداقل min_points_per_quadrant نقطه را برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و بالا-راست نسبت به نقطه در حال درونیابی جمعآوری خواهد کرد.
- --nodata <val>
- مقدار nodata برای پر کردن نقاط خالی (پیشفرض 0 است).
الگوریتم میانگین (AVERAGE ALGORITHM)
درونیابی با استفاده از الگوریتم میانگین متحرک.
هنگامی که --min-points-per-quadrant یا --max-points-per-quadrant مشخص شده باشد، جستجو با نزدیکترین نقطه به نقطه در حال درونیابی از ربع اول آغاز میشود، سپس نزدیکترین نقطه به نقطه در حال درونیابی از ربع دوم و به همین ترتیب تا ربع چهارم ادامه مییابد؛ سپس با نزدیکترین نقطه بعدی در ربع اول و غیره ادامه پیدا میکند تا زمانی که آستانههای --max-points و/یا --max-points-per-quadrant برآورده شوند.
گزینهها (OPTIONS)
- --radius <val>
- تنظیم شعاع اول و دوم (با --radius1 و --radius2 مانعةالجمع است). به طور پیشفرض، از کل آرایه نقاط استفاده میکند.
- --radius1 <val>
- شعاع اول (محور X در صورتی که زاویه چرخش 0 باشد) بیضی جستجو. به طور پیشفرض، از کل آرایه نقاط استفاده میکند.
- --radius2 <val>
- شعاع دوم (محور Y در صورتی که زاویه چرخش 0 باشد) بیضی جستجو. به طور پیشفرض، از کل آرایه نقاط استفاده میکند.
- --angle <val>
- زاویه چرخش بیضی جستجو بر حسب درجه (پادساعتگرد، پیشفرض 0 است).
- --max-points <val>
- حداکثر تعداد نقاط داده برای استفاده. بیش از این تعداد نقطه جستجو نخواهد شد. این گزینه تنها در صورتی قابل استفاده است که بیضی جستجو تنظیم شده باشد (هر دو شعاع غیر صفر باشند). به طور پیشفرض، بدون محدودیت است.
- --min-points <val>
- حداقل تعداد نقاط داده برای استفاده. اگر تعداد نقاط یافتشده در بیضی جستجو کمتر از مقدار مشخصشده باشد، گره شبکه خالی در نظر گرفته شده و با مقدار nodata پر میشود. این گزینه تنها در صورتی قابل استفاده است که بیضی جستجو تنظیم شده باشد (هر دو شعاع غیر صفر باشند). به طور پیشفرض، بدون محدودیت است.
- --max-points-per-quadrant <val>
- حداکثر تعداد نقاط داده برای استفاده در هر ربع. به طور پیشفرض، بدون محدودیت است. در صورت مشخص شدن، الگوریتم تنها تا سقف max_points_per_quadrant نقطه را برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و بالا-راست نسبت به نقطه در حال درونیابی در نظر خواهد گرفت.
- --min-points-per-quadrant <val>
- حداقل تعداد نقاط داده برای استفاده در هر ربع. به طور پیشفرض، بدون محدودیت است. در صورت مشخص شدن، الگوریتم حداقل min_points_per_quadrant نقطه را برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و بالا-راست نسبت به نقطه در حال درونیابی جمعآوری خواهد کرد.
- --nodata <val>
- مقدار nodata
برای پر
کردن نقاط
خالی
(پیشفرض 0
است).
میانیابی با استفاده از الگوریتم نزدیکترین همسایه.
گزینهها (OPTIONS)
- --radius <val>
- تنظیم شعاع اول و دوم (ناسازگار با --radius1 و --radius2). بهطور پیشفرض، از کل آرایهٔ نقاط استفاده میکند.
- --radius1 <val>
- شعاع اول بیضی جستجو (محور X اگر زاویهٔ چرخش 0 باشد). بهطور پیشفرض، از کل آرایهٔ نقاط استفاده میکند.
- --radius2 <val>
- شعاع دوم بیضی جستجو (محور Y اگر زاویهٔ چرخش 0 باشد). بهطور پیشفرض، از کل آرایهٔ نقاط استفاده میکند.
- --angle <val>
- زاویهٔ چرخش بیضی جستجو بر حسب درجه (پادساعتگرد، پیشفرض 0 است).
- --nodata <val>
- مقدار nodata برای پر کردن نقاط خالی (پیشفرض 0 است).
الگوریتم «LINEAR» (LINEAR ALGORITHM)
میانیابی خطی با محاسبهٔ مثلثبندی دلاونی (Delaunay triangulation) ابر نقاط، یافتن اینکه نقطه در کدام مثلث از مثلثبندی واقع شده است، و انجام میانیابی خطی از روی مختصات گرانیگاهی (barycentric) آن در درون مثلث. اگر نقطه در هیچ مثلثی قرار نداشته باشد، بسته به شعاع، الگوریتم از مقدار نزدیکترین نقطه یا مقدار nodata استفاده خواهد کرد.
گزینهها (OPTIONS)
- --radius <val>
- در صورتی که نقطهٔ مورد نظر برای میانیابی در هیچ مثلثی از مثلثبندی دلاونی جای نگیرد، از این بیشینهٔ فاصله برای جستجوی نزدیکترین همسایه استفاده میشود، وگرنه از nodata استفاده خواهد شد. اگر تعیین نشود، فاصلهٔ جستجو بینهایت است. اگر روی 0 تنظیم شود، همیشه از مقدار nodata استفاده خواهد شد.
- --nodata <val>
- مقدار nodata برای پر کردن نقاط خالی (پیشفرض 0 است).
الگوریتمهای معیارهای داده (DATA METRICS ALGORITHMS)
علاوه بر قابلیت میانیابی، gdal vector grid میتواند برای محاسبهٔ برخی معیارهای داده با استفاده از پنجره و هندسهٔ شبکهٔ خروجی مشخصشده به کار رود. این معیارها عبارتند از:
- minimum: حداقل مقدار یافتشده در بیضی جستجوی گره شبکه.
- maximum: حداکثر مقدار یافتشده در بیضی جستجوی گره شبکه.
- range: اختلاف میان مقادیر کمینه و بیشینهٔ یافتشده در بیضی جستجوی گره شبکه.
- count: تعداد نقاط دادهٔ یافتشده در بیضی جستجوی گره شبکه.
- average-distance: میانگین فاصلهٔ بین گره شبکه (مرکز بیضی جستجو) و تمام نقاط دادهٔ یافتشده در بیضی جستجوی گره شبکه.
- average-distance-points: میانگین فاصلهٔ بین نقاط دادهٔ یافتشده در بیضی جستجوی گره شبکه. فاصلهٔ بین هر جفت نقطه درون بیضی محاسبه شده و میانگین تمام فواصل به عنوان مقدار گره شبکه تنظیم میشود.
تمام معیارها دارای مجموعه گزینههای یکسانی هستند:
- --radius <val>
- تنظیم شعاع اول و دوم (ناسازگار با --radius1 و --radius2). بهطور پیشفرض، از کل آرایهٔ نقاط استفاده میکند.
- --radius1 <val>
- شعاع اول بیضی جستجو (محور X اگر زاویهٔ چرخش 0 باشد). بهطور پیشفرض، از کل آرایهٔ نقاط استفاده میکند.
- --radius2 <val>
- شعاع دوم بیضی جستجو (محور Y اگر زاویهٔ چرخش 0 باشد). بهطور پیشفرض، از کل آرایهٔ نقاط استفاده میکند.
- --angle <val>
- زاویهٔ چرخش بیضی جستجو بر حسب درجه (پادساعتگرد، پیشفرض 0 است).
- --min-points <val>
- حداقل تعداد نقاط داده برای استفاده. اگر تعداد نقاط یافتشده در بیضی جستجو کمتر از مقدار مشخصشده باشد، گره شبکه خالی در نظر گرفته شده و با مقدار nodata پر خواهد شد. این گزینه تنها زمانی قابل استفاده است که بیضی جستجو تنظیم شده باشد (هر دو شعاع غیر صفر باشند). بهطور پیشفرض، هیچ محدودیتی وجود ندارد.
- --max-points-per-quadrant <val>
- حداکثر تعداد نقاط داده برای استفاده در هر ربع. بهطور پیشفرض، هیچ محدودیتی وجود ندارد. در صورت مشخص شدن، الگوریتم نسبت به نقطهای که میانیابی میشود، برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و بالا-راست حداکثر تا max_points_per_quadrant نقطه را در نظر میگیرد.
- --min-points-per-quadrant <val>
- حداقل تعداد نقاط داده برای استفاده در هر ربع. بهطور پیشفرض، هیچ محدودیتی وجود ندارد. اگر به این تعداد نرسد، نقطهٔ در حال میانیابی با مقدار nodata تنظیم خواهد شد. در صورت مشخص شدن، الگوریتم نسبت به نقطهای که میانیابی میشود، حداقل min_points_per_quadrant نقطه را برای هر یک از ربعهای بالا-راست، بالا-چپ، پایین-راست و بالا-راست جمعآوری میکند.
- --nodata <val>
- مقدار nodata برای پر کردن نقاط خالی (پیشفرض 0 است).
هنگامی که --min-points-per-quadrant یا --max-points-per-quadrant مشخص شود، جستجو با نزدیکترین نقطه به نقطهٔ در حال میانیابی از ربع اول آغاز میشود، سپس نزدیکترین نقطه به نقطهٔ در حال میانیابی از ربع دوم و به همین ترتیب تا ربع چهارم، و با نزدیکترین نقطهٔ بعدی در ربع اول و غیره ادامه مییابد تا زمانی که آستانههای --max-points و/یا --max-points-per-quadrant حاصل شوند..SH "خواندن مقادیر جداشده با کاما (READING COMMA SEPARATED VALUES)"
اغلب برای کار، یک فایل متنی حاوی فهرستی از مقادیر XYZ جداشده با کاما (بهاصطلاح فایل CSV) در اختیار دارید. میتوانید بهراحتی از این نوع منبع داده در gdal vector grid استفاده کنید. تنها کاری که باید انجام دهید ساخت یک سربرگ مجموعه داده مجازی (VRT) برای فایل CSV و استفاده از آن بهعنوان منبع داده ورودی برای gdal vector grid است. میتوانید جزئیات مربوط به قالب VRT را در صفحه توضیحات VRT -- OGR Virtual Format بیابید.
در اینجا یک مثال کوچک آورده شده است. فرض کنید یک فایل 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 vector grid invdist dem.vrt demv.tif
یا در صورتی که مایل به استفاده از فایل VRT نباشیم:
gdal vector grid invdist -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"/>
صفحه توضیحات Comma Separated Value (.csv) شامل جزئیات قالب CSV پشتیبانیشده توسط GDAL است.
در نسخه 3.12 اضافه شد..SH "خروجی GDALG (مجموعهداده در لحظه / جریانی) (GDALG OUTPUT)"
این برنامه از سریالسازی خط فرمان به عنوان یک فایل JSON با استفاده از قالب خروجی GDALG پشتیبانی میکند. فایل حاصل را میتوان سپس با استفاده از درایور GDALG: GDAL Streamed Algorithm به عنوان یک مجموعهداده رستری باز کرد و خط لوله مشخصشده را به صورت در لحظه (on-the-fly) / جریانی اعمال نمود.
نکته:
وضعیت خروج (EXIT STATUS)
برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا، مقداری غیر از صفر را بازمیگرداند (خطاهای غیرمسدودکننده که به شکل هشدار اعلام میشوند، به عنوان اجرای موفق در نظر گرفته میشوند).
مثالها (EXAMPLES)
مثال ۱: ایجاد یک رستر از منبع داده VRT با استفاده از روش عکس توان فاصله
gdal vector grid invdist --power=2.0 --smoothing=1.0 --extent=85000,894000,89000,890000 \
--size=400,400 -l dem dem.vrt dem.tif
این مثال با استفاده از روش عکس توان فاصله، یک فایل رستری TIFF از منبع داده VRT شرحدادهشده در بخش Reading comma separated values ایجاد میکند. مقادیر مورد نیاز برای درونیابی از مقدار Z رکورد هندسی خوانده خواهند شد.
مثال ۲: خواندن مقادیر درونیابی از یک فیلد توصیفی
gdal vector grid invdist --zfield=Elevation --config GDAL_NUM_THREADS ALL_CPUS \
--power=2.0 --smoothing=1.0 --extent=85000,894000,89000,890000 \
--size=400,400 -l dem dem.vrt dem.tif
این دستور همان عملیات دستور قبل را انجام میدهد، با این تفاوت که مقادیر مورد نیاز برای درونیابی را بهجای رکورد هندسی، از فیلد مشخصشده با گزینه --zfield میخواند. بنابراین در این حالت مختصات X و Y از هندسه و Z از فیلد "Elevation" گرفته میشوند. همچنین GDAL_NUM_THREADS برای موازیسازی محاسبات تنظیم شده است.
نویسندگان (AUTHORS)
Even Rouault <even.rouault@spatialys.com>
کپیرایت و تکثیر (COPYRIGHT)
1998-2026
| August 18, 2026 |