| GDAL_CONTOUR(1) | GDAL | GDAL_CONTOUR(1) |
نام (NAME)
gdal_contour - ایجاد خطوط کانتور برداری از مدل رقومی ارتفاع رستری
خلاصه دستور (SYNOPSIS)
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>
توضیحات (DESCRIPTION)
دستور gdal_contour یک فایل کانتور برداری را از یک مدل رقومی ارتفاع (DEM) رستری ورودی تولید میکند.
رشتهخطهای (line-strings) کانتور با جهتگیری پیوسته و یکپارچه تولید میشوند و سمت مرتفع در سمت راست قرار خواهد گرفت، یعنی رشتهخط به صورت ساعتگرد به دور یک قله گردش میکند.
نکته:
gdal raster contour را ببینید.
- --help
- نمایش این پیام راهنما و خروج
- --help-general
- نمایش یک پیام کوتاه درباره نحوه استفاده از گزینههای عمومی خط فرمان GDAL و خروج.
- -q, --quiet
- سرکوب پیامهای پیشرفت و سایر خروجیهای غیر از خطا.
- -b <band>
- انتخاب باند خاصی که DEM از آن دریافت شود. پیشفرض باند 1 است.
- -a <name>
- تعیین نام برای مشخصهای (صفت) که ارتفاع در آن قرار میگیرد. در صورت عدم تعیین، هیچ مشخصه ارتفاعی متصل نخواهد شد. در حالت کانتور چندضلعی (-p) نادیده گرفته میشود.
- -amin <name>
- تعیین نام برای مشخصهای که حداقل ارتفاع چندضلعی کانتور در آن قرار میگیرد. در صورت عدم تعیین، هیچ مشخصه حداقل ارتفاعی پیوست نمیشود. در حالت پیشفرض کانتور خطی نادیده گرفته میشود.
- -amax <name>
- تعیین نام برای مشخصهای که حداکثر ارتفاع چندضلعی کانتور در آن قرار میگیرد. در صورت عدم تعیین، هیچ مشخصه حداکثر ارتفاعی پیوست نمیشود. در حالت پیشفرض کانتور خطی نادیده گرفته میشود.
- -3d
- اجبار به تولید برداریهای سهبعدی به جای دوبعدی. شامل ارتفاع در تکتک رأسها (vertices).
- -inodata
- نادیده گرفتن هر مقدار بدون داده (nodata) تعیینشده در مجموعهداده - تمامی مقادیر معتبر تلقی میشوند. همراه با -snodata قابل استفاده نیست.
- -snodata <value>
- مقدار پیکسل ورودی که باید به عنوان "nodata" تلقی شود. همراه با -inodata قابل استفاده نیست.
- -f <format>
- ایجاد خروجی در یک فرمت خاص.
- -dsco <NAME>=<VALUE>
- گزینه ساخت مجموعهداده (مخصوص فرمت)
- -lco <NAME>=<VALUE>
- گزینه ساخت لایه (مخصوص فرمت)
- -i <interval>
- فاصله ارتفاعی بین منحنیهای کانتور (فاصلهخطوط تراز). باید یکی از گزینههای -i یا -fl یا -e مشخص شود. اولین کانتور در نخستین مضرب interval که بزرگتر از حداقل مقدار رستر باشد تولید خواهد شد.
- -off <offset>
- میزان
جابهجایی
(آفست) از
صفر که
فواصل تراز
نسبت به آن
تفسیر
میشوند.
برای نمونه، -i 100 کانتورهایی را در ...، ۱۰۰-، ۰، ۱۰۰، ... درخواست میکند. افزودن بیشتر -off 25 این درخواست را به ...، ۷۵-، ۲۵، ۱۲۵، ... تغییر میدهد.
- -fl <level>
- تعیین یک یا چند "سطح ثابت" (تراز مشخص) برای استخراج، به ترتیب صعودی و با فاصله جداشده.
- -e <base>
- تولید ترازها بر روی مقیاس نمایی: base ^ k، برای عدد صحیح k. باید یکی از -i یا -fl یا -e مشخص شود.
- -nln <name>
- تعیین نام برای لایه برداری خروجی. پیشفرض "contour" است.
- -p
- تولید
چندضلعیهای
(پلیگونهای)
کانتور به
جای خطوط
کانتور.
هنگامی که این حالت انتخاب شود، چندضلعیها برای مقادیر بین هر سطح مشخصشده توسط -i یا -fl یا -e ایجاد میشوند؛ در حالتی که -fl به تنهایی استفاده شود حداقل دو سطح ثابت باید مشخص گردد.
حداقل و حداکثر مقادیر موجود در رستر به طور خودکار به فهرست سطوح ثابت اضافه نمیشوند، اما مقادیر ویژه MIN و MAX (بدون حساسیت به حروف بزرگ و کوچک) میتوانند برای گنجاندن آنها استفاده شوند.
- -gt <n>
- گروهبندی n
عارضه در هر
تراکنش
(پیشفرض 100 000).
برای
عملکرد
بهتر هنگام
نوشتن در
درایورهای
DBMS که دارای
پشتیبانی
از تراکنش
هستند، این
مقدار را
افزایش
دهید. n
میتواند
روی unlimited
تنظیم شود
تا دادهها
در یک
تراکنش
منفرد
بارگذاری
شوند. در
صورت تنظیم
روی 0، هیچ
تراکنش
صریحی
انجام
نمیشود.
در نسخه 3.10 اضافه شد.
کد وضعیت خروجی (RETURN STATUS CODE)
این برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقداری غیرصفر برمیگرداند (خطاهای غیرمسدودکننده که به صورت هشدار صادر میشوند به عنوان اجرای موفق در نظر گرفته میشوند).
رابط C (C API)
قابلیتهای این ابزار از زبان C با تابع GDALContourGenerate() قابل دستیابی است.
مثالها (EXAMPLES)
مثال ۱
- عنوان
- ایجاد خطوط کانتور از یک 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).
نویسندگان (AUTHORS)
Frank Warmerdam <warmerdam@pobox.com>, Silke Reimer <silke@intevation.de>
حق نشر (COPYRIGHT)
1998-2026
| August 18, 2026 |