GDAL-VECTOR-CONCAT(1) GDAL GDAL-VECTOR-CONCAT(1) نام (NAME) gdal-vector-concat - الحاق و پیوند زدن مجموعه‌داده‌های برداری در نسخه 3.11 اضافه شد. خلاصه دستور (SYNOPSIS) Usage: gdal vector concat [OPTIONS] ... الحاق مجموعه‌داده‌های برداری. آرگومان‌های مکانی: -i, --input مجموعه‌داده‌های برداری ورودی [۱ یا چند مقدار] [الزامی] [در خط‌لوله‌ها در دسترس نیست] -o, --output مجموعه‌داده برداری خروجی [الزامی] [در خط‌لوله‌ها در دسترس نیست] گزینه‌های عمومی: -h, --help نمایش پیام راهنما و خروج --json-usage نمایش نحوه استفاده به صورت سند JSON و خروج --config = گزینه پیکربندی [قابل تکرار] -q, --quiet حالت بی‌صدا (بدون نوار پیشرفت یا پیام هشدار) [در خط‌لوله‌ها در دسترس نیست] گزینه‌ها: -l, --layer, --input-layer نام لایه(های) ورودی [قابل تکرار] [در خط‌لوله‌ها در دسترس نیست] -f, --of, --format, --output-format فرمت خروجی (مقدار "GDALG" مجاز است) [در خط‌لوله‌ها در دسترس نیست] --co, --creation-option = گزینه ساخت مجموعه‌داده [قابل تکرار] [در خط‌لوله‌ها در دسترس نیست] --lco, --layer-creation-option = گزینه ساخت لایه [قابل تکرار] [در خط‌لوله‌ها در دسترس نیست] --overwrite تعیین اینکه آیا رونویسی مجموعه‌داده خروجی موجود مجاز است [در خط‌لوله‌ها در دسترس نیست] --update تعیین اینکه آیا مجموعه‌داده موجود در حالت به‌روزرسانی باز شود [در خط‌لوله‌ها در دسترس نیست] --overwrite-layer تعیین اینکه آیا رونویسی لایه خروجی موجود مجاز است [در خط‌لوله‌ها در دسترس نیست] --append تعیین اینکه آیا الحاق به لایه موجود مجاز است [در خط‌لوله‌ها در دسترس نیست] ناسازگار با --upsert --skip-errors نادیده گرفتن خطاها هنگام نوشتن عوارض [در خط‌لوله‌ها در دسترس نیست] --mode تعیین راهبرد ایجاد لایه‌های خروجی از لایه‌های منبع. MODE=merge-per-layer-name|stack|single (پیش‌فرض: merge-per-layer-name) --output-layer نام لایه برداری خروجی (در حالت single)، یا الگوی نام‌گذاری لایه‌های برداری خروجی (در حالت stack) --source-layer-field-name نام فیلد جدید جهت افزودن برای شناسایی لایه منبع، با مقداری که توسط 'source-layer-field-content' تعیین می‌شود --source-layer-field-content یک رشته، احتمالاً با استفاده از {AUTO_NAME}، {DS_NAME}، {DS_BASENAME}، {DS_INDEX}، {LAYER_NAME}، {LAYER_INDEX} --field-strategy نحوه تعیین فیلدهای هدف از فیلدهای منبع. FIELD-STRATEGY=union|intersection (پیش‌فرض: union) -s, --input-crs سیستم مرجع مختصات (CRS) ورودی -d, --output-crs سیستم مرجع مختصات (CRS) خروجی گزینه‌های پیشرفته: --if, --input-format فرمت‌های ورودی [قابل تکرار] [در خط‌لوله‌ها در دسترس نیست] --oo, --open-option = گزینه‌های باز کردن [قابل تکرار] [در خط‌لوله‌ها در دسترس نیست] --output-oo, --output-open-option = گزینه‌های باز کردن خروجی [قابل تکرار] [در خط‌لوله‌ها در دسترس نیست] --upsert درج یا به‌روزرسانی عوارض (upsert) (شامل 'append') [در خط‌لوله‌ها در دسترس نیست] ناسازگار با --append توضیحات (DESCRIPTION) دستور gdal vector concat چندین مجموعه‌داده منبع را به یکدیگر الحاق می‌کند. این دستور دارای ۳ حالت اصلی است: • --mode = merge-per-layer-name (پیش‌فرض). مجموعه‌داده خروجی تولیدشده توسط این دستور به همان تعداد نام‌های لایه متفاوت در مجموعه‌داده‌های منبع، لایه خواهد داشت. برای مثال اگر ۲ مجموعه‌داده وجود داشته باشد، یکی دارای لایه‌های a و b، و دیگری دارای لایه‌های b و c، ۳ لایه خروجی ایجاد خواهد شد: a، b (ادغام ۲ لایه منبع) و c. • --mode = stack. مجموعه‌داده خروجی تولیدشده توسط این دستور به همان تعداد لایه‌های موجود در مجموعه‌داده‌های منبع، لایه خواهد داشت. برای مثال اگر ۲ مجموعه‌داده ds1 (با لایه‌های a و b) و ds2 (با لایه‌های b و c) وجود داشته باشد، ۴ لایه خروجی ایجاد خواهد شد: ds1_a، ds1_b، ds2_b و ds2_c. • --mode = single. مجموعه‌داده خروجی تولیدشده توسط این دستور شامل یک لایه منفرد خواهد بود که تمامی لایه‌های موجود در مجموعه‌داده‌های منبع را در هم ادغام می‌کند. هنگامی که یک لایه خروجی چندین لایه منبع را ادغام می‌کند، به طور پیش‌فرض طرح‌واره (schema) حاصل شامل اجتماع (union) تمامی فیلدهای منبع خواهد بود. با تنظیم گزینه --field-strategy بر روی intersection می‌توان تنها اشتراک فیلدها را انتخاب کرد. در رابطه با CRS حاصل، به طور پیش‌فرض CRS لایه منبع به عنوان CRS هدف استفاده خواهد شد، و عوارض سایر لایه‌های منبع که با این CRS مطابقت ندارند، به آن بازپروژکت (reproject) خواهند شد. از --output-crs می‌توان برای انتخاب یک CRS مقصد مشخص استفاده کرد. این دستور همچنین می‌تواند به عنوان مرحله نخست در gdal vector pipeline به کار رود. خروجی GDALG (مجموعه داده برخط / استریم‌شده) (GDALG OUTPUT (ON-THE-FLY / STREAMED DATASET)) این برنامه از سریال‌سازی خط فرمان به صورت یک فایل JSON با استفاده از فرمت خروجی GDALG پشتیبانی می‌کند. فایل حاصل را می‌توان سپس به عنوان یک مجموعه‌داده برداری با استفاده از درایور GDALG: GDAL Streamed Algorithm باز کرد و خط لوله مشخص‌شده را به صورت بلادرنگ / جریانی (on-the-fly / streamed) اعمال نمود. گزینه‌های اختصاصی برنامه (PROGRAM-SPECIFIC OPTIONS) --field-strategy union|intersection تعیین می‌کند که طرح‌واره (schema) لایه هدف چگونه از طرح‌واره‌های لایه‌های ورودی ساخته شود: • union (پیش‌فرض) برای استفاده از ابرمجموعه (super-set) تمامی فیلدها از همه لایه‌های منبع. • intersection برای استفاده از زیرمجموعه (sub-set) تمامی فیلدهای مشترک از همه لایه‌های منبع. --input-crs, -s تنظیم (بازنویسی) سیستم مرجع مختصات ورودی. در صورت عدم تعیین، از SRS موجود در مجموعه‌داده ورودی استفاده خواهد شد. سیستم‌های مرجع مختصات قابل ارسال شامل هر موردی است که توسط فراخوانی OGRSpatialReference.SetFromUserInput() پشتیبانی می‌شود، از جمله CRS تصویری، جغرافیایی یا ترکیبی EPSG (مانند EPSG:4296)، یک تعریف متنی CRS به فرمت WKT، تعاریف PROJ.4، یا نام یک فایل .prj حاوی تعریف WKT CRS. اگر SRS دارای یک مبنای قائم (vertical datum) صریح باشد که به یک شبکه ژئوئید (geoid grid) اشاره دارد، و مجموعه‌داده ورودی تک‌بانده باشد، تصحیح عمودی بر مقادیر مجموعه‌داده اعمال خواهد شد. --mode merge-per-layer-name|stack|single راهبرد ایجاد لایه‌های خروجی از لایه‌های منبع را تعیین می‌کند. برای جزئیات بیشتر به بخش توضیحات مقدماتی مراجعه کنید. --output-crs, -d تنظیم سیستم مرجع مختصات خروجی. در صورت نیاز، ورودی‌ها به این CRS بازپروژکت خواهند شد. سیستم‌های مرجع مختصات قابل ارسال شامل هر موردی است که توسط فراخوانی OGRSpatialReference.SetFromUserInput() پشتیبانی می‌شود، از جمله CRS تصویری، جغرافیایی یا ترکیبی EPSG (مانند EPSG:4296)، یک تعریف متنی CRS به فرمت WKT، تعاریف PROJ.4، یا نام یک فایل .prj حاوی تعریف WKT CRS. اگر SRS دارای یک مبنای قائم صریح باشد که به یک شبکه ژئوئید اشاره دارد، و مجموعه‌داده ورودی تک‌بانده باشد، تصحیح عمودی بر مقادیر مجموعه‌داده اعمال خواهد شد. --output-layer نام لایه برداری خروجی (در حالت single، که مقدار پیش‌فرض آن "merged" است)، یا الگوی نام‌گذاری لایه‌های برداری خروجی در حالت stack (مقدار پیش‌فرض {AUTO_NAME} است). در حالت merge-per-layer-name مجاز نیست. الگو در حالت stack می‌تواند رشته‌ای حاوی متغیرهای زیر باشد که با مقدار محاسبه‌شده از لایه ورودی در حال پردازش جایگزین خواهند شد: • {AUTO_NAME}: معادل با {DS_BASENAME}_{LAYER_NAME} در صورتی که هر دو مقدار متفاوت باشند، یا {LAYER_NAME} هنگامی که یکسان باشند (مانند حالت shapefile). • {DS_NAME}: نام مجموعه‌داده منبع • {DS_BASENAME}: نام پایه (base name) مجموعه‌داده منبع • {DS_INDEX}: نمایه (index) مجموعه‌داده منبع • {LAYER_NAME}: نام لایه منبع • {LAYER_INDEX}: نمایه لایه منبع --source-layer-field-content در صورت تعیین، طرح‌واره لایه هدف با یک فیلد جدید گسترش خواهد یافت (که نام آن توسط --source-layer-field-name، یا در غیر این صورت source_ds_lyr مشخص می‌شود)، که محتوای آن توسط الگوی مشخص‌شده تعیین می‌گردد (متغیرهای قابل استفاده را در --output-layer ببینید). --source-layer-field-name در صورت تعیین، طرح‌واره لایه هدف با فیلدی گسترش می‌یابد که نام آن برابر با مقدار این گزینه بوده و محتوای آن توسط --source-layer-field-content تعیین می‌شود. گزینه‌های استاندارد (STANDARD OPTIONS) --append تعیین می‌کند که آیا الحاق عوارض به لایه(های) موجود مجاز است یا خیر. این گزینه همچنین در صورتی که مجموعه‌داده خروجی هنوز وجود نداشته باشد، آن را ایجاد می‌کند. --co, --creation-option = بسیاری از فرمت‌ها یک یا چند گزینه ساخت اختیاری دارند که می‌توان از آن‌ها برای کنترل جزئیات فایل ایجادشده استفاده کرد. برای نمونه، درایور GeoPackage از گزینه‌های ساخت برای کنترل نسخه پشتیبانی می‌کند. قابل تکرار است. گزینه‌های ساخت موجود بسته به درایور فرمت متفاوت هستند، و برخی فرمت‌های ساده اصلاً هیچ گزینه ساختی ندارند. فهرستی از گزینه‌های پشتیبانی‌شده برای یک فرمت را می‌توان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات خود فرمت مرجع نهایی اطلاعات مربوط به گزینه‌های ساخت درایور است. برای مشاهده گزینه‌های ساخت مجاز هر فرمت، مستندات اختصاصی Vector drivers را ببینید. توجه داشته باشید که گزینه‌های ساخت مجموعه‌داده با گزینه‌های ساخت لایه تفاوت دارند. --if, --input-format نام فرمت/درایور برای تلاش جهت باز کردن فایل(های) ورودی. معمولاً نیازی به تعیین آن نیست، اما می‌توان از آن برای صرف‌نظر از تشخیص خودکار درایور در مواقعی که درایور مناسب انتخاب نمی‌شود استفاده کرد. این گزینه می‌تواند چندین بار برای تعیین چند درایور نامزد تکرار شود. توجه داشته باشید که این گزینه درایورها را مجبور به باز کردن مجموعه‌داده نمی‌کند؛ به‌ویژه برخی درایورها الزاماتی روی پسوند فایل دارند. قابل تکرار است. --input-layer نام یک یا چند لایه را برای پردازش مشخص می‌کند. به طور پیش‌فرض، تمامی لایه‌ها پردازش خواهند شد. --lco, --layer-creation-option = بسیاری از فرمت‌ها یک یا چند گزینه ساخت لایه اختیاری دارند که می‌توان از آن‌ها برای کنترل جزئیات لایه ایجادشده استفاده کرد. برای نمونه، درایور GeoPackage از گزینه‌های ساخت لایه برای کنترل شناسه عارضه (feature identifier) یا نام ستون هندسه، تنظیم شناسه یا توضیحات و غیره پشتیبانی می‌کند. قابل تکرار است. گزینه‌های ساخت لایه موجود بسته به درایور فرمت متفاوت است و برخی فرمت‌های ساده اصلاً هیچ گزینه ساخت لایه‌ای ندارند. فهرستی از گزینه‌های پشتیبانی‌شده برای یک فرمت را می‌توان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات فرمت مرجع نهایی اطلاعات گزینه‌های ساخت درایور است. مستندات اختصاصی فرمت Vector drivers را برای گزینه‌های ساخت مجاز هر فرمت ببینید. توجه داشته باشید که گزینه‌های ساخت لایه با گزینه‌های ساخت مجموعه‌داده تفاوت دارند. --oo, --open-option = گزینه باز کردن مجموعه‌داده (مخصوص فرمت). قابل تکرار است. -f, --of, --format, --output-format فرمت برداری خروجی مورد استفاده. مقادیر مجاز با اجرای دستور زیر قابل مشاهده هستند: gdal --formats | grep vector | grep rw | sort --output-open-option, --output-oo = در نسخه 3.12 اضافه شد. گزینه باز کردن مجموعه‌داده برای مجموعه‌داده خروجی (مخصوص فرمت). قابل تکرار است. --overwrite به برنامه اجازه می‌دهد تا فایل یا مجموعه‌داده هدف موجود را رونویسی کند. در غیر این صورت، به طور پیش‌فرض، در صورتی که فایل یا مجموعه‌داده هدف از قبل موجود باشد، gdal با خطا متوقف می‌شود. --overwrite-layer تعیین می‌کند که آیا رونویسی لایه برداری خروجی موجود مجاز است یا خیر. --skip-errors در نسخه 3.12 اضافه شد. تعیین می‌کند که آیا خطاهای نوشتن عارضه(ها) نادیده گرفته شوند یا خیر. توجه داشته باشید که این گزینه اندازه واحد تراکنش را به یک عارضه در هر بار تنظیم می‌کند که ممکن است هنگام درج در پایگاه‌های داده باعث کاهش شدید سرعت شود. --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 وجود داشته باشد که کلید اصلی عدد صحیح نباشد. کد وضعیت خروجی (RETURN STATUS CODE) این برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقداری غیرصفر برمی‌گرداند (خطاهای غیرمسدودکننده که به صورت هشدار صادر می‌شوند به عنوان اجرای موفق در نظر گرفته می‌شوند). مثال‌ها (EXAMPLES) مثال ۱: ایجاد یک GeoPackage و قرار دادن تمام Shapefileهای ورودی در لایه‌های مجزا (حالت stack) gdal vector concat --mode=stack *.shp out.gpkg مثال ۲: افزودن فیلدی برای مشخص کردن لایه منبع و بازپروژکت کردن به یک CRS واحد الحاق محتوای france.shp و germany.shp در merged.shp، بازپروژکت کردن آن‌ها به ETRS89، و افزودن یک فیلد 'country' به هر عارضه که مقدار آن بسته به منبع عارضه برابر با 'france' یا 'germany' باشد: gdal vector concat --mode=single --source-layer-field-name=country --output-crs=EPSG:4258 france.shp germany.shp merged.shp نویسنده (AUTHOR) Even Rouault حق نشر (COPYRIGHT) 1998-2026 August 18, 2026 GDAL-VECTOR-CONCAT(1)