GDAL_CONTOUR(1) GDAL GDAL_CONTOUR(1)

gdal_contour - ایجاد خطوط کانتور برداری از مدل رقومی ارتفاع رستری

gdal_contour [--help] [--help-general]
             [-b <band>] [-a <attribute_name>] [-amin <attribute_name>] [-amax <attribute_name>]
             [-3d] [-inodata] [-snodata <n>] [-f <formatname>] [-i <interval>]
             [-dsco <NAME>=<VALUE>]... [-lco <NAME>=<VALUE>]...
             [-off <offset>] [-fl <level> <level>...] [-e <exp_base>]
             [-nln <outlayername>] [-q] [-p] [-gt <n>|unlimited]
             <src_filename> <dst_filename>

دستور gdal_contour یک فایل کانتور برداری را از یک مدل رقومی ارتفاع (DEM) رستری ورودی تولید می‌کند.

رشته‌خط‌های (line-strings) کانتور با جهت‌گیری پیوسته و یکپارچه تولید می‌شوند و سمت مرتفع در سمت راست قرار خواهد گرفت، یعنی رشته‌خط به صورت ساعت‌گرد به دور یک قله گردش می‌کند.

نکته:

معادل در رابط خط فرمان جدید "gdal":

gdal raster contour را ببینید.

نمایش این پیام راهنما و خروج
--help-general
نمایش یک پیام کوتاه درباره نحوه استفاده از گزینه‌های عمومی خط فرمان GDAL و خروج.
سرکوب پیام‌های پیشرفت و سایر خروجی‌های غیر از خطا.
انتخاب باند خاصی که DEM از آن دریافت شود. پیش‌فرض باند 1 است.
تعیین نام برای مشخصه‌ای (صفت) که ارتفاع در آن قرار می‌گیرد. در صورت عدم تعیین، هیچ مشخصه ارتفاعی متصل نخواهد شد. در حالت کانتور چندضلعی (-p) نادیده گرفته می‌شود.
تعیین نام برای مشخصه‌ای که حداقل ارتفاع چندضلعی کانتور در آن قرار می‌گیرد. در صورت عدم تعیین، هیچ مشخصه حداقل ارتفاعی پیوست نمی‌شود. در حالت پیش‌فرض کانتور خطی نادیده گرفته می‌شود.
تعیین نام برای مشخصه‌ای که حداکثر ارتفاع چندضلعی کانتور در آن قرار می‌گیرد. در صورت عدم تعیین، هیچ مشخصه حداکثر ارتفاعی پیوست نمی‌شود. در حالت پیش‌فرض کانتور خطی نادیده گرفته می‌شود.
-3d
اجبار به تولید برداری‌های سه‌بعدی به جای دوبعدی. شامل ارتفاع در تک‌تک رأس‌ها (vertices).
نادیده گرفتن هر مقدار بدون داده (nodata) تعیین‌شده در مجموعه‌داده - تمامی مقادیر معتبر تلقی می‌شوند. همراه با -snodata قابل استفاده نیست.
مقدار پیکسل ورودی که باید به عنوان "nodata" تلقی شود. همراه با -inodata قابل استفاده نیست.
ایجاد خروجی در یک فرمت خاص.
در صورت عدم تعیین، فرمت از روی پسوند فایل حدس زده می‌شود (پیش‌تر ESRI Shapefile بود).
گزینه ساخت مجموعه‌داده (مخصوص فرمت)
گزینه ساخت لایه (مخصوص فرمت)
فاصله ارتفاعی بین منحنی‌های کانتور (فاصله‌خطوط تراز). باید یکی از گزینه‌های -i یا -fl یا -e مشخص شود. اولین کانتور در نخستین مضرب interval که بزرگتر از حداقل مقدار رستر باشد تولید خواهد شد.
میزان جابه‌جایی (آفست) از صفر که فواصل تراز نسبت به آن تفسیر می‌شوند.

برای نمونه، -i 100 کانتورهایی را در ...، ۱۰۰-، ۰، ۱۰۰، ... درخواست می‌کند. افزودن بیشتر -off 25 این درخواست را به ...، ۷۵-، ۲۵، ۱۲۵، ... تغییر می‌دهد.

تعیین یک یا چند "سطح ثابت" (تراز مشخص) برای استخراج، به ترتیب صعودی و با فاصله جداشده.
تولید ترازها بر روی مقیاس نمایی: base ^ k، برای عدد صحیح k. باید یکی از -i یا -fl یا -e مشخص شود.
تعیین نام برای لایه برداری خروجی. پیش‌فرض "contour" است.
تولید چندضلعی‌های (پلی‌گون‌های) کانتور به جای خطوط کانتور.

هنگامی که این حالت انتخاب شود، چندضلعی‌ها برای مقادیر بین هر سطح مشخص‌شده توسط -i یا -fl یا -e ایجاد می‌شوند؛ در حالتی که -fl به تنهایی استفاده شود حداقل دو سطح ثابت باید مشخص گردد.

حداقل و حداکثر مقادیر موجود در رستر به طور خودکار به فهرست سطوح ثابت اضافه نمی‌شوند، اما مقادیر ویژه MIN و MAX (بدون حساسیت به حروف بزرگ و کوچک) می‌توانند برای گنجاندن آن‌ها استفاده شوند.

گروه‌بندی n عارضه در هر تراکنش (پیش‌فرض 100 000). برای عملکرد بهتر هنگام نوشتن در درایورهای DBMS که دارای پشتیبانی از تراکنش هستند، این مقدار را افزایش دهید. n می‌تواند روی unlimited تنظیم شود تا داده‌ها در یک تراکنش منفرد بارگذاری شوند. در صورت تنظیم روی 0، هیچ تراکنش صریحی انجام نمی‌شود.

در نسخه 3.10 اضافه شد.

این برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقداری غیرصفر برمی‌گرداند (خطاهای غیرمسدودکننده که به صورت هشدار صادر می‌شوند به عنوان اجرای موفق در نظر گرفته می‌شوند).

قابلیت‌های این ابزار از زبان C با تابع GDALContourGenerate() قابل دستیابی است.

عنوان
ایجاد خطوط کانتور از یک DEM
gdal_contour -a elev dem.tif contour.shp -i 10.0

این دستور خطوط کانتور ۱۰ متری را از داده‌های DEM در dem.tif ایجاد کرده و یک shapefile در contour.shp|shx|dbf با ارتفاع‌های کانتور در صفت elev تولید می‌کند.

عنوان
ایجاد کانتورهای چندضلعی از یک DEM
$ cat test.asc
ncols        2
nrows        2
xllcorner    0
yllcorner    0
cellsize     1
4 15
25 36
$ gdal_contour test.asc -f GeoJSON /vsistdout/ -i 10 -p -amin min -amax max

این دستور کانتورهای چندضلعی ۱۰ متری را از داده‌های DEM در test.asc تولید کرده و یک خروجی GeoJSON با حداقل و حداکثر ارتفاع کانتور در صفت‌های min و max ایجاد می‌کند، شامل حداقل و حداکثر مقادیر موجود در رستر.

{
    "type": "FeatureCollection",
    "name": "contour",
    "features": [
    { "type": "Feature", "properties": { "ID": 0, "min": 4.0, "max": 10.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 0.5, 1.214285714285714 ], [ 1.045454545454545, 1.5 ], [ 1.045454545454545, 2.0 ], [ 1.0, 2.0 ], [ 0.5, 2.0 ], [ 0.0, 2.0 ], [ 0.0, 1.5 ], [ 0.0, 1.214285714285714 ], [ 0.5, 1.214285714285714 ] ] ] ] } },
    { "type": "Feature", "properties": { "ID": 1, "min": 10.0, "max": 20.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 1.5, 1.261904761904762 ], [ 2.0, 1.261904761904762 ], [ 2.0, 1.5 ], [ 2.0, 2.0 ], [ 1.5, 2.0 ], [ 1.045454545454545, 2.0 ], [ 1.045454545454545, 1.5 ], [ 0.5, 1.214285714285714 ], [ 0.0, 1.214285714285714 ], [ 0.0, 1.0 ], [ 0.0, 0.738095238095238 ], [ 0.5, 0.738095238095238 ], [ 1.5, 1.261904761904762 ] ] ] ] } },
    { "type": "Feature", "properties": { "ID": 2, "min": 20.0, "max": 30.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 0.954545454545455, 0.0 ], [ 0.954545454545455, 0.5 ], [ 1.5, 0.785714285714286 ], [ 2.0, 0.785714285714286 ], [ 2.0, 1.0 ], [ 2.0, 1.261904761904762 ], [ 1.5, 1.261904761904762 ], [ 0.5, 0.738095238095238 ], [ 0.0, 0.738095238095238 ], [ 0.0, 0.5 ], [ 0.0, 0.0 ], [ 0.5, 0.0 ], [ 0.954545454545455, 0.0 ] ] ] ] } },
    { "type": "Feature", "properties": { "ID": 3, "min": 30.0, "max": 36.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 1.499999909090926, 0.0 ], [ 1.0, 0.0 ], [ 0.954545454545455, 0.0 ], [ 0.954545454545455, 0.5 ], [ 1.5, 0.785714285714286 ], [ 2.0, 0.785714285714286 ], [ 2.0, 0.500000047619043 ], [ 1.5, 0.500000047619043 ], [ 1.499999909090926, 0.5 ], [ 1.499999909090926, 0.0 ] ] ] ] } }
    ]
}

عنوان
ایجاد کانتور از یک DEM با سطوح ثابت
$ cat test.asc
ncols        2
nrows        2
xllcorner    0
yllcorner    0
cellsize     1
4 15
25 36
$ gdal_contour test.asc -f GeoJSON /vsistdout/ -fl 10 20 -p -amin min -amax max

این دستور یک کانتور چندضلعی منفرد بین ۱۰ و ۲۰ متر از داده‌های DEM در test.asc تولید کرده و یک خروجی GeoJSON با حداقل و حداکثر ارتفاع کانتور در صفت‌های min و max ایجاد می‌کند.

در صورتی که حداقل و حداکثر مقادیر موجود در رستر مورد نظر باشند، مقادیر ویژه MIN و MAX (بدون حساسیت به بزرگی و کوچکی حروف) قابل استفاده خواهند بود:

$ cat test.asc
ncols        2
nrows        2
xllcorner    0
yllcorner    0
cellsize     1
4 15
25 36
$ gdal_contour test.asc -f GeoJSON /vsistdout/ -fl MIN 10 20 MAX -p -amin min -amax max

این دستور سه کانتور چندضلعی از داده‌های DEM در test.asc تولید کرده و خروجی GeoJSON با حداقل و حداکثر ارتفاع کانتور در صفت‌های min و max ایجاد می‌کند؛ مقادیر این فیلدها برابر خواهند بود با: (4.0, 10.0)، (10, 20.0) و (20.0, 36.0).

عنوان
ایجاد کانتور از یک DEM با تعیین فاصله و سطوح ثابت به صورت همزمان
$ cat test.asc
ncols        2
nrows        2
xllcorner    0
yllcorner    0
cellsize     1
4 15
25 36
$ gdal_contour test.asc -f GeoJSON /vsistdout/ -i 10 -fl 15 -p -amin min -amax max

کانتورها را در فواصل منظم ۱۰ متری ایجاد می‌کند و یک کانتور اضافی برای سطح ثابت ۱۵ متری می‌افزاید. در نهایت نواحی بین خطوط کانتور را به چندضلعی‌هایی تبدیل می‌کند که حداقل و حداکثر ارتفاع کانتور را در صفت‌های min و max دارند؛ مقادیر این فیلدها برابر خواهند بود با: (4.0, 10.0)، (10, 15.0)، (15, 20.0)، (20.0, 30.0) و (30.0, 36.0).

Frank Warmerdam <warmerdam@pobox.com>, Silke Reimer <silke@intevation.de>

1998-2026

August 18, 2026