| GDAL-VECTOR-CHECK-COVERAGE(1) | GDAL | GDAL-VECTOR-CHECK-COVERAGE(1) |
نام (NAME)
gdal-vector-check-coverage - بررسی اعتبار و صحت پوششهای چندضلعی
در نسخه 3.12 اضافه شد.
خلاصه دستور (SYNOPSIS)
کاربرد: gdal vector check-coverage [OPTIONS] <INPUT> <OUTPUT>
بررسی اعتبار یک پوشش چندضلعی
آرگومانهای مکانی:
-i, --input <INPUT> مجموعهدادههای برداری ورودی [الزامی] [در خطلولهها در دسترس نیست]
-o, --output <OUTPUT> مجموعهداده برداری خروجی [الزامی] [در خطلولهها در دسترس نیست]
گزینههای عمومی:
-h, --help نمایش پیام راهنما و خروج
--json-usage نمایش نحوه استفاده به صورت یک سند JSON و خروج
--config <KEY>=<VALUE> گزینه پیکربندی [میتواند تکرار شود]
-q, --quiet حالت بیصدا (بدون نوار پیشرفت یا پیام هشدار) [در خطلولهها در دسترس نیست]
گزینهها:
-l, --layer, --input-layer <INPUT-LAYER> نام لایه(های) ورودی [میتواند تکرار شود] [در خطلولهها در دسترس نیست]
-f, --of, --format, --output-format <OUTPUT-FORMAT> قالب خروجی (مقدار "GDALG" مجاز است) [در خطلولهها در دسترس نیست]
--co, --creation-option <KEY>=<VALUE> گزینه ساخت [میتواند تکرار شود] [در خطلولهها در دسترس نیست]
--lco, --layer-creation-option <KEY>=<VALUE> گزینه ساخت لایه [میتواند تکرار شود] [در خطلولهها در دسترس نیست]
--overwrite مجاز بودن بازنویسی مجموعهداده خروجی موجود [در خطلولهها در دسترس نیست]
--update باز کردن مجموعهداده موجود در حالت بهروزرسانی [در خطلولهها در دسترس نیست]
--overwrite-layer مجاز بودن بازنویسی لایه خروجی موجود [در خطلولهها در دسترس نیست]
--append مجاز بودن الحاق به لایه موجود [در خطلولهها در دسترس نیست]
ناسازگار با --upsert
--output-layer <OUTPUT-LAYER> نام لایه خروجی [در خطلولهها در دسترس نیست]
--skip-errors نادیدهگرفتن خطاها هنگام نوشتن عوارض [در خطلولهها در دسترس نیست]
--no-create-empty-layers خودداری از ساخت لایههایی که هیچ عارضهای در آنها نوشته نمیشود [در خطلولهها در دسترس نیست]
--include-valid شامل کردن ورودیهای معتبر در خروجی، با هندسه خالی
--geometry-field <GEOMETRY-FIELD> نام فیلد هندسه جهت بررسی
--maximum-gap-width <MAXIMUM-GAP-WIDTH> حداکثر عرض یک شکاف جهت نشانهگذاری شدن
گزینههای پیشرفته:
--if, --input-format <INPUT-FORMAT> قالبهای ورودی [میتواند تکرار شود] [در خطلولهها در دسترس نیست]
--oo, --open-option <KEY>=<VALUE> گزینههای باز کردن [میتواند تکرار شود] [در خطلولهها در دسترس نیست]
--output-oo, --output-open-option <KEY>=<VALUE> گزینههای باز کردن خروجی [میتواند تکرار شود] [در خطلولهها در دسترس نیست]
--upsert درج یا بهروزرسانی عوارض (Upsert) (مستلزم 'append') [در خطلولهها در دسترس نیست]
ناسازگار با --append
دستور gdal vector check-coverage بررسی میکند که آیا یک مجموعهداده چندضلعی یک پوشش (coverage) معتبر را تشکیل میدهد یا خیر؛ بدین معنا که:
- هیچ چندضلعی همپوشانی نداشته باشد
- همهٔ یالهای مشترک در موقعیتهای مکانی یکسانی دارای گره (node) باشند
- هرگونه شکاف میان چندضلعیها از عرض مشخصشده بزرگتر باشد
به ازای هر چندضلعی که این معیارها را برآورده نکند، یک عارضه خطی با هندسهٔ یال نامعتبر در خروجی قرار میگیرد. اگر پوشش معتبر باشد، مجموعهداده خروجی خالی خواهد بود مگر اینکه از --include-valid استفاده شود.
فرض بر این است که تکتک چندضلعیها طبق استاندارد OGC Simple Features به خودی خود معتبر هستند. این موضوع را میتوان با gdal vector check-geometry بررسی کرد.
نکته:
خروجی GDALG (مجموعهداده برخط / جریانی) (GDALG OUTPUT (ON-THE-FLY / STREAMED DATASET))
این برنامه از سریالسازی خط فرمان به عنوان یک فایل JSON با استفاده از قالب خروجی GDALG پشتیبانی میکند. سپس میتوان فایل حاصل را با درایور GDALG: GDAL Streamed Algorithm به عنوان یک مجموعهداده برداری باز کرد و خط لوله (pipeline) مشخصشده را به صورت برخط / جریانی اعمال نمود.
نکته:
گزینههای ویژه برنامه (PROGRAM-SPECIFIC OPTIONS)
- --geometry-field
- مشخص کردن نام فیلد هندسه برای بررسی، برای لایههایی که چند فیلد هندسه دارند. به طور پیشفرض از نخستین فیلد هندسه استفاده خواهد شد.
- --include-valid
- گنجاندن عارضهها برای هندسههای معتبر در خروجی، با حفظ تناظر ۱:۱ میان عارضههای ورودی و خروجی. هندسهٔ عارضههای معتبر یک هندسه خالی خواهد بود.
- --input-layer
- نام لایه برای پردازش را مشخص میکند. به طور پیشفرض، همه لایهها پردازش خواهند شد.
- --output-layer
- نام لایهای را مشخص میکند که عارضهها در آن نوشته خواهند شد. اگر مشخص نشود و تنها یک لایه ورودی وجود داشته باشد، نام "invalid_edge" استفاده خواهد شد. اگر مشخص نشود و چند لایه ورودی وجود داشته باشد، عارضههای هر لایه ورودی در یک لایه خروجی جداگانه با قالب "invalid_edge_{INPUT_LAYER}" نوشته خواهند شد.
- --maximum-gap-width <MAXIMUM-GAP-WIDTH>
- بزرگترین ناحیهای را تعریف میکند که باید به عنوان شکاف در نظر گرفته شود.
گزینههای استاندارد (STANDARD OPTIONS)
- --append
- آیا الحاق عارضهها به لایه(های) موجود مجاز است یا خیر. این گزینه همچنین مجموعهداده خروجی را در صورتی که هنوز وجود نداشته باشد، ایجاد میکند.
- --co, --creation-option <NAME>=<VALUE>
- بسیاری از
قالبها یک
یا چند
گزینه
اختیاری
ساخت
مجموعهداده
دارند که
میتوان
برای کنترل
جزئیات
فایل
ایجادشده
از آنها
استفاده
کرد. برای
نمونه،
درایور GeoPackage
از
گزینههای
ساختی برای
کنترل نسخه
پشتیبانی
میکند.
میتواند تکرار شود.
گزینههای در دسترس برای ساخت مجموعهداده بسته به درایور قالب متغیر است و برخی قالبهای ساده اصلاً گزینه ساختی ندارند. فهرستی از گزینههای پشتیبانیشده برای یک قالب را میتوان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات همان قالب منبع قطعی اطلاعات درباره گزینههای ساخت درایور است. برای گزینههای ساخت مجاز هر قالب، به مستندات ویژه قالب در Vector drivers مراجعه کنید.
توجه داشته باشید که گزینههای ساخت مجموعهداده با گزینههای ساخت لایه متفاوت هستند.
- --if, --input-format <format>
- نام
قالب/درایور
که باید
برای باز
کردن
فایل(های)
ورودی
امتحان شود.
عموماً
نیازی به
تعیین آن
نیست، اما
در مواردی
که تشخیص
خودکار در
انتخاب
درایور
مناسب شکست
میخورد،
میتواند
برای
صرفنظر از
تشخیص
خودکار
درایور
استفاده
شود. این
گزینه را
میتوان
برای مشخص
کردن چند
درایور
نامزد چند
بار تکرار
کرد. توجه
داشته
باشید که
این گزینه
درایورها
را وادار به
باز کردن
مجموعهداده
نمیکند؛
بهویژه که
برخی
درایورها
الزاماتی
برای پسوند
فایل دارند.
میتواند تکرار شود.
- --lco, --layer-creation-option <NAME>=<VALUE>
- بسیاری از
قالبها یک
یا چند
گزینه
اختیاری
ساخت لایه
دارند که
میتوان
برای کنترل
جزئیات
لایه
ایجادشده
از آنها
استفاده
کرد. برای
نمونه،
درایور GeoPackage
از
گزینههای
ساخت لایه
برای کنترل
شناسه
عارضه یا
نام ستون
هندسه،
تنظیم
شناسه یا
توضیحات و
غیره
پشتیبانی
میکند.
میتواند تکرار شود.
گزینههای در دسترس برای ساخت لایه بسته به درایور قالب متغیر است و برخی قالبهای ساده اصلاً گزینهای برای ساخت لایه ندارند. فهرستی از گزینههای پشتیبانیشده برای یک قالب را میتوان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات همان قالب منبع قطعی اطلاعات درباره گزینههای ساخت درایور است. برای گزینههای ساخت مجاز هر قالب، به مستندات ویژه قالب در Vector drivers مراجعه کنید.
توجه داشته باشید که گزینههای ساخت لایه با گزینههای ساخت مجموعهداده متفاوت هستند.
- --no-create-empty-layers
- در نسخه
۳.۱۳ اضافه
شد.
جلوگیری از ایجاد لایههایی که هیچ عارضهای در آنها نوشته نخواهد شد.
- --oo, --open-option <NAME>=<VALUE>
- گزینه باز
کردن
مجموعهداده
(ویژه هر
قالب).
میتواند تکرار شود.
- -f, --of, --format, --output-format <OUTPUT-FORMAT>
- کدام قالب برداری خروجی استفاده شود. مقادیر مجاز را میتوان با این دستور به دست آورد: gdal --formats | grep vector | grep rw | sort
- --output-open-option, --output-oo <NAME>=<VALUE>
- در نسخه
۳.۱۲ اضافه
شد.
گزینه باز کردن مجموعهداده برای مجموعهداده خروجی (ویژه هر قالب).
میتواند تکرار شود.
- --overwrite
- به برنامه اجازه میدهد تا فایل یا مجموعهداده مقصد موجود را بازنویسی کند. در غیر این صورت، به طور پیشفرض اگر فایل یا مجموعهداده مقصد از قبل وجود داشته باشد، gdal با خطا متوقف میشود.
- --overwrite-layer
- آیا بازنویسی لایه برداری خروجیِ موجود مجاز است یا خیر.
تعیین میکند که آیا خطاهای ناشی از نوشتن عارضه(ها) نادیده گرفته شوند یا خیر. توجه داشته باشید که این گزینه اندازه واحد تراکنش را به یک عارضه در هر لحظه تنظیم میکند، که ممکن است هنگام درج در پایگاههای داده باعث کاهش شدید سرعت شود.
- --update
- تعیین میکند که آیا یک مجموعه داده خروجی موجود در حالت بهروزرسانی باز شود یا خیر.
- --upsert
- در نسخه 3.12
اضافه شد.
گونهای از --append که در آن، از عملیات OGRLayer::UpsertFeature() برای درج یا بهروزرسانی عارضهها به جای الحاق با OGRLayer::CreateFeature() استفاده میشود.
این قابلیت در حال حاضر تنها در چند درایور پیادهسازی شده است: GPKG -- GeoPackage vector، Elasticsearch: Geographically Encoded Objects for Elasticsearch و MongoDBv3 (درایورهایی که upsert را پیادهسازی میکنند قابلیت GDAL_DCAP_UPSERT را ارائه میدهند).
عملیات upsert، در صورت تنظیم بودن FID عارضه ورودی (و خالی نبودن نام ستون FID)، از آن به عنوان کلید برای بهروزرسانی عارضههای موجود استفاده میکند. بسیار حیاتی است که اطمینان حاصل شود FID در لایههای مبدأ و مقصد همخوانی دارند.
برای درایور GPKG، در صورتی که یک ستون UNIQUE وجود داشته باشد که کلید اصلی عدد صحیح نباشد، امکان upsert عارضههایی که FID آنها تنظیم نشده یا فاقد اهمیت است نیز وجود دارد (میتوان از گزینه --unset-fid در gdal vector edit برای نادیده گرفتن FID عارضه مبدأ استفاده کرد).
وضعیت خروج (EXIT STATUS)
برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقداری غیر صفر برمیگرداند (خطاهای غیرمسدودکننده که به عنوان هشدار صادر میشوند، اجرای موفقیتآمیز در نظر گرفته میشوند).
مثالها (EXAMPLES)
مثال ۱: ارسال خطاهای پوشش در یک فایل TopoJSON به یک فایل GeoJSON
$ gdal vector check-coverage "https://cdn.jsdelivr.net/npm/us-atlas@3/counties-albers-10m.json" --layer counties counties-errors.geojson
مثال ۲: ارسال عارضههای نامعتبر پوشش به خط فرمان به عنوان بخشی از یک پایپلاین
Bash
gdal vector pipeline \
! read "https://cdn.jsdelivr.net/npm/us-atlas@3/counties-albers-10m.json" --layer counties \
! check-coverage \
! info --features
gdal vector pipeline `
! read "https://cdn.jsdelivr.net/npm/us-atlas@3/counties-albers-10m.json" --layer counties `
! check-coverage `
! info --features
نویسندگان (AUTHORS)
Dan Baston <dbaston@gmail.com>.SH "کپیرایت و تکثیر (COPYRIGHT)" 1998-2026
| August 18, 2026 |