| GDAL-VECTOR-SIMPLIFY(1) | GDAL | GDAL-VECTOR-SIMPLIFY(1) |
نام (NAME)
gdal-vector-simplify - سادهسازی هندسههای یک مجموعهداده برداری
افزودهشده در نسخه 3.12.
خلاصه دستور (SYNOPSIS)
کاربرد: gdal vector simplify [OPTIONS] <INPUT> <OUTPUT> <TOLERANCE>
سادهسازی هندسههای یک مجموعهداده برداری.
آرگومانهای موضعی:
-i, --input <INPUT> مجموعهدادههای برداری ورودی [الزامی] [در pipelineها در دسترس نیست]
-o, --output <OUTPUT> مجموعهداده برداری خروجی [الزامی] [در pipelineها در دسترس نیست]
--tolerance <TOLERANCE> رواداری فاصله برای سادهسازی. [الزامی]
گزینههای عمومی:
-h, --help نمایش پیام راهنما و خروج
--json-usage نمایش نحوه کاربرد بهصورت سند JSON و خروج
--config <KEY>=<VALUE> گزینه پیکربندی [قابل تکرار]
-q, --quiet حالت بیصدا (بدون نوار پیشرفت یا پیام هشدار) [در pipelineها در دسترس نیست]
گزینهها:
-l, --layer, --input-layer <INPUT-LAYER> نام لایه(های) ورودی [قابل تکرار] [در pipelineها در دسترس نیست]
-f, --of, --format, --output-format <OUTPUT-FORMAT> قالب خروجی (مقدار "GDALG" مجاز است) [در pipelineها در دسترس نیست]
--co, --creation-option <KEY>=<VALUE> گزینه ساخت [قابل تکرار] [در pipelineها در دسترس نیست]
--lco, --layer-creation-option <KEY>=<VALUE> گزینه ساخت لایه [قابل تکرار] [در pipelineها در دسترس نیست]
--overwrite آیا رونویسی مجموعهداده خروجی موجود مجاز است [در pipelineها در دسترس نیست]
--update آیا مجموعهداده موجود در حالت بهروزرسانی باز شود [در pipelineها در دسترس نیست]
--overwrite-layer آیا رونویسی لایه خروجی موجود مجاز است [در pipelineها در دسترس نیست]
--append آیا الحاق به لایه موجود مجاز است [در pipelineها در دسترس نیست]
مانعةالجمع با --upsert
--output-layer <OUTPUT-LAYER> نام لایه خروجی [در pipelineها در دسترس نیست]
--skip-errors نادیدهگرفتن خطاها هنگام نوشتن عوارض [در pipelineها در دسترس نیست]
--active-layer <ACTIVE-LAYER> تنظیم لایه فعال (در صورت تعیین نشدن، همه)
--active-geometry <ACTIVE-GEOMETRY> نام فیلد هندسه برای محدود کردن پردازش به آن (در صورت تعیین نشدن، همه)
گزینههای پیشرفته:
--if, --input-format <INPUT-FORMAT> قالبهای ورودی [قابل تکرار] [در pipelineها در دسترس نیست]
--oo, --open-option <KEY>=<VALUE> گزینههای باز کردن [قابل تکرار] [در pipelineها در دسترس نیست]
--output-oo, --output-open-option <KEY>=<VALUE> گزینههای باز کردن خروجی [قابل تکرار] [در pipelineها در دسترس نیست]
--upsert بهروزرسانی/درج عوارض (بهمعنای 'append' است) [در pipelineها در دسترس نیست]
مانعةالجمع با --append
توضیحات (DESCRIPTION)
دستور gdal vector simplify هندسهها را سادهسازی میکند، و اطمینان میدهد که نتیجه، یک هندسه معتبر با همان بُعد و تعداد مؤلفههای ورودی باشد.
این سادهسازی از یک الگوریتم بیشینه اختلاف فاصله مشابه با الگوریتم Douglas-Peucker استفاده میکند.
این کار توسط متد OGRGeometry::SimplifyPreserveTopology() انجام میشود که توپولوژی را برای هر عارضه حفظ میکند، اما نه برای کل یک لایه. بنابراین ممکن است شکافها یا همپوشانیهایی میان هندسههایی که در ابتدا همجوار بودهاند رخ دهد. برای انجام سادهسازی بهگونهای که مرزهای مشترک میان هندسهها حفظ شود، gdal vector simplify-coverage را ببینید.
این دستور همچنین میتواند بهعنوان مرحلهای از gdal vector pipeline استفاده شود.
نکته:
این برنامه از سریالسازی خط فرمان به صورت یک فایل JSON با استفاده از قالب خروجی GDALG پشتیبانی میکند. فایل حاصل را میتوان سپس به عنوان یک مجموعهداده برداری با استفاده از درایور GDALG: GDAL Streamed Algorithm باز کرد، و خطلوله مشخصشده را به صورت در لحظه (on-the-fly) / جریانی اعمال نمود.
گزینههای اختصاصی برنامه (PROGRAM-SPECIFIC OPTIONS)
- --tolerance <TOLERANCE>
- مقدار مشخصشده برای این گزینه، تلرانس استفادهشده برای ادغام نقاط متوالی هندسه خروجی با استفاده از متد OGRGeometry::SimplifyPreserveTopology() است. واحد فاصله بر مبنای واحدهای زمینمرجع لایه مبدا است.
گزینههای استاندارد (STANDARD OPTIONS)
- --active-geometry <ACTIVE-GEOMETRY>
- فیلد هندسه فعال را بر اساس نام آن تعیین میکند. هنگامی که مشخص شود، تنها فیلد هندسه تعیینشده تحت پردازش قرار خواهد گرفت. سایر فیلدهای هندسه تغییر نخواهند کرد. اگر این گزینه مشخص نشود، تمام فیلدهای هندسه تحت پردازش قرار خواهند گرفت. این گزینه میتواند با --active-layer ترکیب شود.
- --active-layer <ACTIVE-LAYER>
- لایه فعال را تعیین میکند. هنگامی که مشخص شود، تنها لایه تعیینشده با نام آن تحت پردازش قرار خواهد گرفت. سایر لایهها تغییر نخواهند کرد. اگر این گزینه مشخص نشود، تمام لایهها تحت پردازش قرار خواهند گرفت.
- --append
- آیا الحاق عوارض به لایه(های) موجود مجاز است یا خیر. این گزینه همچنین در صورتی که مجموعهداده خروجی هنوز وجود نداشته باشد، آن را ایجاد میکند.
- --co, --creation-option <NAME>=<VALUE>
- بسیاری از
قالبها یک
یا چند
گزینه
اختیاری
ساخت
مجموعهداده
دارند که
میتوان از
آنها برای
کنترل
جزئیات
فایل
ایجادشده
استفاده
کرد. برای
نمونه،
درایور GeoPackage
از
گزینههای
ساخت برای
کنترل نسخه
پشتیبانی
میکند.
میتواند تکرار شود.
گزینههای موجود ساخت مجموعهداده بر اساس درایور قالب متغیر است، و برخی از قالبهای ساده هیچ گزینه ساختی ندارند. فهرستی از گزینههای پشتیبانیشده برای یک قالب را میتوان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات قالب، منبع قطعی اطلاعات مربوط به گزینههای ساخت درایور است. برای گزینههای ساخت مجاز در هر قالب، مستندات اختصاصی هر قالب در Vector drivers را ببینید.
توجه داشته باشید که گزینههای ساخت مجموعهداده با گزینههای ساخت لایه متفاوت هستند.
- --if, --input-format <format>
- نام
قالب/درایوری
که برای باز
کردن
فایل(های)
ورودی تلاش
میشود.
معمولاً
تعیین آن
ضروری
نیست، اما
میتوان از
آن برای
صرفنظر از
تشخیص
خودکار
درایور، در
مواقعی که
در انتخاب
درایور
مناسب شکست
میخورد،
استفاده
کرد. این
گزینه
میتواند
چندین بار
برای مشخص
کردن چند
درایور
کاندید
تکرار شود.
توجه داشته
باشید که
این کار
درایورها
را مجبور به
باز کردن
مجموعهداده
نمیکند.
بهویژه،
برخی از
درایورها
نیازمندیهایی
برای پسوند
فایل دارند.
میتواند تکرار شود.
- --input-layer <INPUT-LAYER>
- نام یک یا چند لایه را برای پردازش مشخص میکند. بهطور پیشفرض، همه لایهها پردازش خواهند شد. برای خواندن و نوشتن تمام لایهها ولی تنها پردازش یک زیرمجموعه، از --active-layer استفاده کنید.
- --lco, --layer-creation-option <NAME>=<VALUE>
- بسیاری از
قالبها یک
یا چند
گزینه
اختیاری
ساخت لایه
دارند که
میتوان از
آنها برای
کنترل
جزئیات
مربوط به
لایه
ایجادشده
استفاده
کرد. برای
نمونه،
درایور GeoPackage
از
گزینههای
ساخت لایه
برای کنترل
شناسه
عارضه یا
نام ستون
هندسه،
تعیین
شناسه یا
توضیحات و
غیره
پشتیبانی
میکند.
میتواند تکرار شود.
گزینههای موجود ساخت لایه بر اساس درایور قالب متفاوت است، و برخی از قالبهای ساده اصلاً گزینه ساخت لایه ندارند. فهرستی از گزینههای پشتیبانیشده برای یک قالب را میتوان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات قالب، منبع قطعی اطلاعات در مورد گزینههای ساخت درایور است. برای گزینههای ساخت مجاز برای هر قالب، مستندات اختصاصی هر قالب در Vector drivers را ببینید.
توجه داشته باشید که گزینههای ساخت لایه با گزینههای ساخت مجموعهداده تفاوت دارند.
- --oo, --open-option <NAME>=<VALUE>
- گزینه باز
کردن
مجموعهداده
(مخصوص
قالب).
میتواند تکرار شود.
- -f, --of, --format, --output-format <OUTPUT-FORMAT>
- کدام قالب برداری خروجی استفاده شود. مقادیر مجاز ممکن است با دستور زیر مشخص شوند: gdal --formats | grep vector | grep rw | sort
- --output-layer <NAME>
- نام لایهای را مشخص میکند که عوارض در آن نوشته خواهند شد. اگر تعیین نشود، نامهای لایه خروجی همانند نامهای لایه ورودی خواهند بود.
- --output-open-option, --output-oo <NAME>=<VALUE>
- در نسخه 3.12
اضافه شد.
گزینه باز کردن مجموعهداده برای مجموعهداده خروجی (مخصوص قالب).
میتواند تکرار شود.
- --overwrite
- اجازه دادن به برنامه برای بازنویسی فایل یا مجموعهداده مقصد موجود. در غیر این صورت، بهطور پیشفرض، اگر فایل یا مجموعهداده مقصد از قبل وجود داشته باشد، gdal با خطا متوقف میشود.
- --overwrite-layer
- آیا بازنویسی لایه برداری خروجی موجود مجاز است یا خیر.
- --skip-errors
- در نسخه 3.12
اضافه شد.
آیا خطاهای رخداده در نوشتن عارضه(ها) باید نادیده گرفته شوند یا خیر. توجه داشته باشید که این گزینه اندازه واحد تراکنش را به یک عارضه در هر زمان تنظیم میکند، که ممکن است هنگام درج در پایگاههای داده باعث کاهش شدید سرعت شود.
- --update
- آیا مجموعهداده خروجی موجود در حالت بهروزرسانی (update) باز شود یا خیر.
- --upsert
- در نسخه 3.12
اضافه شد.
گونهای از --append که در آن به جای الحاق با OGRLayer::CreateFeature()، از عملیات OGRLayer::UpsertFeature() برای درج یا بهروزرسانی عوارض استفاده میشود.
این قابلیت در حال حاضر تنها در چند درایور پیادهسازی شده است: GPKG -- GeoPackage vector، Elasticsearch: Geographically Encoded Objects for Elasticsearch و MongoDBv3 (درایورهایی که upsert را پیادهسازی میکنند قابلیت GDAL_DCAP_UPSERT را ارائه میدهند).
عملیات upsert از FID عارضه ورودی، در صورتی که تنظیم شده باشد (و نام ستون FID یک رشته خالی نباشد)، به عنوان کلید بهروزرسانی عوارض موجود استفاده میکند. بسیار حیاتی است که اطمینان حاصل شود که FID در لایههای مبدا و مقصد سازگار است.
برای درایور GPKG، همچنین امکان upsert عوارضی که FID آنها تنظیم نشده یا نامعتبر است نیز وجود دارد (گزینه --unset-fid در دستور gdal vector edit میتواند برای نادیده گرفتن FID از عارضه مبدا استفاده شود)، مشروط بر اینکه یک ستون UNIQUE وجود داشته باشد که کلید اصلی عددی صحیح نباشد.
برنامه در صورت موفقیت کد وضعیت 0، و در صورت بروز خطا مقداری غیر صفر برمیگرداند (خطاهای غیرمسدودکننده که به شکل هشدار نمایش داده میشوند، به عنوان اجرای موفق در نظر گرفته میشوند).
مثالها (EXAMPLES)
مثال ۱: سادهسازی هندسهها با استفاده از تلورانس یک کیلومتر (با فرض اینکه CRS بر حسب متر باشد)
$ gdal vector simplify --tolerance=1000 in.gpkg out.gpkg --overwrite
نویسندگان (AUTHORS)
Even Rouault <even.rouault@spatialys.com>
کپیرایت و تکثیر (COPYRIGHT)
1998-2026
| August 18, 2026 |