GDAL-VECTOR-SIMPLIFY(1) GDAL GDAL-VECTOR-SIMPLIFY(1)

gdal-vector-simplify - ساده‌سازی هندسه‌های یک مجموعه‌داده برداری

افزوده‌شده در نسخه 3.12.

کاربرد: 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

دستور gdal vector simplify هندسه‌ها را ساده‌سازی می‌کند، و اطمینان می‌دهد که نتیجه، یک هندسه معتبر با همان بُعد و تعداد مؤلفه‌های ورودی باشد.

این ساده‌سازی از یک الگوریتم بیشینه اختلاف فاصله مشابه با الگوریتم Douglas-Peucker استفاده می‌کند.

این کار توسط متد OGRGeometry::SimplifyPreserveTopology() انجام می‌شود که توپولوژی را برای هر عارضه حفظ می‌کند، اما نه برای کل یک لایه. بنابراین ممکن است شکاف‌ها یا هم‌پوشانی‌هایی میان هندسه‌هایی که در ابتدا همجوار بوده‌اند رخ دهد. برای انجام ساده‌سازی به‌گونه‌ای که مرزهای مشترک میان هندسه‌ها حفظ شود، gdal vector simplify-coverage را ببینید.

این دستور همچنین می‌تواند به‌عنوان مرحله‌ای از gdal vector pipeline استفاده شود.

[تصویر] مجموعه‌داده خطی پیش از (چپ) و پس از (راست) ساده‌سازی با gdal vector simplify..UNINDENT

نکته:

این دستور نیازمند کامپایل GDAL در برابر کتابخانه GEOS است.

این برنامه از سریال‌سازی خط فرمان به صورت یک فایل JSON با استفاده از قالب خروجی GDALG پشتیبانی می‌کند. فایل حاصل را می‌توان سپس به عنوان یک مجموعه‌داده برداری با استفاده از درایور GDALG: GDAL Streamed Algorithm باز کرد، و خط‌لوله مشخص‌شده را به صورت در لحظه (on-the-fly) / جریانی اعمال نمود.

مقدار مشخص‌شده برای این گزینه، تلرانس استفاده‌شده برای ادغام نقاط متوالی هندسه خروجی با استفاده از متد OGRGeometry::SimplifyPreserveTopology() است. واحد فاصله بر مبنای واحدهای زمین‌مرجع لایه مبدا است.

فیلد هندسه فعال را بر اساس نام آن تعیین می‌کند. هنگامی که مشخص شود، تنها فیلد هندسه تعیین‌شده تحت پردازش قرار خواهد گرفت. سایر فیلدهای هندسه تغییر نخواهند کرد. اگر این گزینه مشخص نشود، تمام فیلدهای هندسه تحت پردازش قرار خواهند گرفت. این گزینه می‌تواند با --active-layer ترکیب شود.
لایه فعال را تعیین می‌کند. هنگامی که مشخص شود، تنها لایه تعیین‌شده با نام آن تحت پردازش قرار خواهد گرفت. سایر لایه‌ها تغییر نخواهند کرد. اگر این گزینه مشخص نشود، تمام لایه‌ها تحت پردازش قرار خواهند گرفت.
آیا الحاق عوارض به لایه(های) موجود مجاز است یا خیر. این گزینه همچنین در صورتی که مجموعه‌داده خروجی هنوز وجود نداشته باشد، آن را ایجاد می‌کند.
بسیاری از قالب‌ها یک یا چند گزینه اختیاری ساخت مجموعه‌داده دارند که می‌توان از آن‌ها برای کنترل جزئیات فایل ایجادشده استفاده کرد. برای نمونه، درایور GeoPackage از گزینه‌های ساخت برای کنترل نسخه پشتیبانی می‌کند.

می‌تواند تکرار شود.

گزینه‌های موجود ساخت مجموعه‌داده بر اساس درایور قالب متغیر است، و برخی از قالب‌های ساده هیچ گزینه ساختی ندارند. فهرستی از گزینه‌های پشتیبانی‌شده برای یک قالب را می‌توان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات قالب، منبع قطعی اطلاعات مربوط به گزینه‌های ساخت درایور است. برای گزینه‌های ساخت مجاز در هر قالب، مستندات اختصاصی هر قالب در Vector drivers را ببینید.

توجه داشته باشید که گزینه‌های ساخت مجموعه‌داده با گزینه‌های ساخت لایه متفاوت هستند.

نام قالب/درایوری که برای باز کردن فایل(های) ورودی تلاش می‌شود. معمولاً تعیین آن ضروری نیست، اما می‌توان از آن برای صرف‌نظر از تشخیص خودکار درایور، در مواقعی که در انتخاب درایور مناسب شکست می‌خورد، استفاده کرد. این گزینه می‌تواند چندین بار برای مشخص کردن چند درایور کاندید تکرار شود. توجه داشته باشید که این کار درایورها را مجبور به باز کردن مجموعه‌داده نمی‌کند. به‌ویژه، برخی از درایورها نیازمندی‌هایی برای پسوند فایل دارند.

می‌تواند تکرار شود.

نام یک یا چند لایه را برای پردازش مشخص می‌کند. به‌طور پیش‌فرض، همه لایه‌ها پردازش خواهند شد. برای خواندن و نوشتن تمام لایه‌ها ولی تنها پردازش یک زیرمجموعه، از --active-layer استفاده کنید.
بسیاری از قالب‌ها یک یا چند گزینه اختیاری ساخت لایه دارند که می‌توان از آن‌ها برای کنترل جزئیات مربوط به لایه ایجادشده استفاده کرد. برای نمونه، درایور GeoPackage از گزینه‌های ساخت لایه برای کنترل شناسه عارضه یا نام ستون هندسه، تعیین شناسه یا توضیحات و غیره پشتیبانی می‌کند.

می‌تواند تکرار شود.

گزینه‌های موجود ساخت لایه بر اساس درایور قالب متفاوت است، و برخی از قالب‌های ساده اصلاً گزینه ساخت لایه ندارند. فهرستی از گزینه‌های پشتیبانی‌شده برای یک قالب را می‌توان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات قالب، منبع قطعی اطلاعات در مورد گزینه‌های ساخت درایور است. برای گزینه‌های ساخت مجاز برای هر قالب، مستندات اختصاصی هر قالب در Vector drivers را ببینید.

توجه داشته باشید که گزینه‌های ساخت لایه با گزینه‌های ساخت مجموعه‌داده تفاوت دارند.

گزینه باز کردن مجموعه‌داده (مخصوص قالب).

می‌تواند تکرار شود.

کدام قالب برداری خروجی استفاده شود. مقادیر مجاز ممکن است با دستور زیر مشخص شوند: gdal --formats | grep vector | grep rw | sort
نام لایه‌ای را مشخص می‌کند که عوارض در آن نوشته خواهند شد. اگر تعیین نشود، نام‌های لایه خروجی همانند نام‌های لایه ورودی خواهند بود.
در نسخه 3.12 اضافه شد.

گزینه باز کردن مجموعه‌داده برای مجموعه‌داده خروجی (مخصوص قالب).

می‌تواند تکرار شود.

اجازه دادن به برنامه برای بازنویسی فایل یا مجموعه‌داده مقصد موجود. در غیر این صورت، به‌طور پیش‌فرض، اگر فایل یا مجموعه‌داده مقصد از قبل وجود داشته باشد، gdal با خطا متوقف می‌شود.
--overwrite-layer
آیا بازنویسی لایه برداری خروجی موجود مجاز است یا خیر.
در نسخه 3.12 اضافه شد.

آیا خطاهای رخ‌داده در نوشتن عارضه(ها) باید نادیده گرفته شوند یا خیر. توجه داشته باشید که این گزینه اندازه واحد تراکنش را به یک عارضه در هر زمان تنظیم می‌کند، که ممکن است هنگام درج در پایگاه‌های داده باعث کاهش شدید سرعت شود.

آیا مجموعه‌داده خروجی موجود در حالت به‌روزرسانی (update) باز شود یا خیر.
در نسخه 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، و در صورت بروز خطا مقداری غیر صفر برمی‌گرداند (خطاهای غیرمسدودکننده که به شکل هشدار نمایش داده می‌شوند، به عنوان اجرای موفق در نظر گرفته می‌شوند).

$ gdal vector simplify --tolerance=1000 in.gpkg out.gpkg --overwrite

Even Rouault <even.rouault@spatialys.com>

1998-2026

August 18, 2026