| GDAL_VIEWSHED(1) | GDAL | GDAL_VIEWSHED(1) |
نام (NAME)
gdal_viewshed - محاسبه رستر میدان دید (viewshed) از یک DEM رستری ورودی برای یک نقطه مشخصشده توسط کاربر
خلاصه دستور (SYNOPSIS)
Usage: gdal_viewshed [--help] [--long-usage] [--help-general]
[-of <output_format>] [-ox <value>] [-oy <value>]
[-oz <value>] [-vv <value>] [-iv <value>] [-ov <value>]
[-co <NAME>=<VALUE>]... [-a_nodata <value>] [-tz <value>]
[-md <value>] [-j <value>] [-cc <value>] [-b <value>]
[-om NORMAL|DEM|GROUND|ACCUM] [-os <value>] [-sd <value>]
[--quiet]
<src_filename> <dst_filename>
توضیحات (DESCRIPTION)
به طور پیشفرض دستور gdal_viewshed یک رستر دید دوتایی (باینری) از یک باند از مدل رقومی ارتفاع (DEM) رستری ورودی تولید میکند. رستر خروجی از نوع Byte خواهد بود. با استفاده از گزینه -mode همچنین میتواند یک رستر حداقل ارتفاع قابل دید از نوع Float64 را برگرداند.
نکته:
نکته:
gdal raster viewshed را ببینید.
- --help
- نمایش این پیام راهنما و خروج
- --help-general
- نمایش یک پیام کوتاه درباره نحوه استفاده از گزینههای عمومی خط فرمان GDAL و خروج.
- -q, --quiet
- سرکوب پیامهای پیشرفت و سایر خروجیهای غیر از خطا.
- -co <NAME>=<VALUE>
- بسیاری از
فرمتها یک
یا چند
گزینه ساخت
اختیاری
دارند که
میتوان از
آنها برای
کنترل
جزئیات
فایل
ایجادشده
استفاده
کرد. برای
نمونه،
درایور GeoTIFF از
گزینههای
ساختی برای
کنترل
فشردهسازی
و تعیین
کاشیبندی
(tiled) بودن فایل
پشتیبانی
میکند.
گزینههای ساخت موجود بسته به درایور فرمت متفاوت هستند، و برخی فرمتهای ساده اصلاً هیچ گزینه ساختی ندارند. فهرستی از گزینههای پشتیبانیشده برای یک فرمت را میتوان با گزینه خط فرمان --format مشاهده کرد، اما مستندات خود فرمت مرجع نهایی اطلاعات مربوط به گزینههای ساخت درایور است. برای گزینههای ساخت مجاز هر فرمت، مستندات اختصاصی فرمت Raster drivers را ببینید.
- -b <band>
- انتخاب باند ورودی band حاوی دادههای DEM. شمارهگذاری باندها از 1 آغاز میشود. تنها یک باند قابل استفاده است. تنها بخشی از رستر که در حداکثر فاصله مشخصشده در اطراف نقطه دیدهبان قرار دارد پردازش میشود.
- -a_nodata <value>
- مقداری که
باید برای
سلولهای
بدون داده (nodata)
در رستر
خروجی
تنظیم شود.
نکته:
- -ox <value>
- موقعیت X دیدهبان (به واحدهای SRS). اگر مختصات خارج از رستر باشد، فرض میشود تمام فضای بین دیدهبان و رستر مانع دید رستر نمیشود. (در حالت تجمعی پشتیبانی نمیشود.)
- -oy <value>
- موقعیت Y دیدهبان (به واحدهای SRS). اگر مختصات خارج از رستر باشد، فرض میشود تمام فضای بین دیدهبان و رستر مانع دید رستر نمیشود. (در حالت تجمعی پشتیبانی نمیشود.)
- -oz <value>
- ارتفاع دیدهبان بالای سطح DEM بر حسب واحد ارتفاعی DEM. پیشفرض: 2
- -tz <value>
- ارتفاع هدف بالای سطح DEM بر حسب واحد ارتفاعی DEM. پیشفرض: 0
- -md <value>
- حداکثر فاصله از دیدهبان برای محاسبه میدان دید. همچنین برای محدود کردن وسعت (extent) رستر خروجی به کار میرود. (در حالت تجمعی پشتیبانی نمیشود)
- -cc <value>
- ضریب برای
در نظر
گرفتن اثر
انحنا و
شکست نور.
هنگام
محاسبه دید
بین دو نقطه
(مانند خط
دید یا
میدان دید)،
شدت این اثر
با شرایط
جوی متغیر
است و به
طول موج
بستگی دارد.
برنامههای مختلف برای محاسبه میدان دید از نامگذاریهای گوناگون و قابل تبدیل به یکدیگر برای توصیف این پدیده استفاده میکنند: ضریب شکست (Refraction Coefficient)، ضریب انحنا (Curvature Coefficient)، و ضریب قطر کره (Sphere Diameter Factor). برنامه gdal_viewshed از نامگذاری ضریب انحنا (Curvature Coefficient) استفاده میکند.
{CurvCoeff}=1-{RefractionCoeff}
تغییرات در چگالی هوا باعث خم شدن نور به سمت پایین میشود که سبب میگردد دیدهبان مسافت دورتری را ببیند و زمین کمتر دارای انحنا به نظر برسد، گویی قطر کره (زمین) بزرگتر از اندازه واقعی آن است. نسبت بین قطر آن کره فرضی و قطر کره واقعی با فرمول زیر داده میشود:
{SphereDiameterFactor}=1/{CurvCoeff}=1/(1-{RefractionCoeff})
برای نور مرئی، ضریب شکست استاندارد اتمسفر که عموماً استفاده میشود 1/7 است. بنابراین مقدار پیشفرض (از GDAL 3.4 به بعد) برای CurvCoeff که gdal_viewshed استفاده میکند، برای CRS زمین برابر 0.85714 (~= 1-1/7) است. از نسخه GDAL 3.6، برای CRSهای غیر از زمین (آنهایی که نیمقطر بزرگشان بیش از ۵٪ با WGS 84 تفاوت دارد)، مقدار پیشفرض CurvCoeff برابر 1.0 است تا حالت بدون شکست را در نظر بگیرد.
ارتفاع DEM طبق فرمول زیر تصحیح میشود:
Height_{Corrected}=Height_{DEM}-{CurvCoeff}\frac{{TargetDistance}^2}{SphereDiameter}
مقادیر معمول ضرایب در جدول زیر آورده شده است (از مقدار Curvature Coeff برای گزینه cc استفاده کنید):
مورد کاربرد ضریب شکست ضریب انحنا ضریب قطر کره بدون شکست 0 1 1 نور مرئی 1/7 6/7 (=~0.85714) 7/6 (=~1.1666) امواج رادیویی 0.25 ~ 0.325 0.75 ~ 0.675 1.33 ~ 1.48 زمین تخت 1 0 inf
- -iv <value>
- مقدار پیکسل برای نواحی غیرقابل دید. (در حالت تجمعی پشتیبانی نمیشود) پیشفرض: 0
- -ov <value>
- مقدار پیکسل برای سلولهایی که خارج از محدوده مشخصشده توسط موقعیت دیدهبان و حداکثر فاصله قرار میگیرند. (در حالت تجمعی پشتیبانی نمیشود) پیشفرض: 0
- -vv <value>
- مقدار پیکسل برای نواحی قابل دید. (در حالت تجمعی پشتیبانی نمیشود) پیشفرض: 255
- -om <output mode>
- تعیین
میکند
خروجی حاوی
چه
اطلاعاتی
باشد.
مقادیر ممکن: NORMAL، DEM، GROUND، ACCUM
حالت NORMAL یک رستر از نوع Byte حاوی مکانهای قابل مشاهده برمیگرداند.
حالتهای DEM و GROUND یک رستر از نوع Float64 حاوی حداقل ارتفاع لازم برای هدف جهت قابل مشاهده بودن به ترتیب از سطح DEM یا سطح زمین برمیگردانند. به عبارت دیگر، اگر حداقل ارتفاع هدف برای دیده شدن در یک نقطه h و مقدار رستر ورودی در آن نقطه E باشد، برای DEM، مقدار خروجی E + h خواهد بود. برای ground، مقدار خروجی h خواهد بود. فلگهای -tz، -iv و -vv نادیده گرفته خواهند شد.
حالت تجمعی (ACCUM) یک رستر هشتبیتی هماندازه با رستر ورودی ایجاد میکند که در آن هر سلول نشاندهنده قابلیت دید نسبی از شبکهای از نقاط دیدهبان است. گزینه -os را ببینید.
پیشفرض NORMAL
- -os <value>
- فاصله سلولی بین دیدهبانها (تنها در حالت تجمعی پشتیبانی میشود) پیشفرض: 10
- -j <value>
- تعداد کارهایی که به طور همزمان اجرا میشوند. (تنها در حالت تجمعی پشتیبانی میشود) پیشفرض: 3
کد وضعیت خروجی (RETURN STATUS CODE)
این برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقداری غیرصفر برمیگرداند (خطاهای غیرمسدودکننده که به صورت هشدار صادر میشوند به عنوان اجرای موفق در نظر گرفته میشوند).
رابط C (C API)
قابلیتهای این ابزار از زبان C با تابع GDALViewshedGenerate() قابل دستیابی است.
مثالها (EXAMPLES)
مثال ۱
تصویر حاصل از ترکیب ۲ تحلیل میدان دید، که در آن پیکسلهای زرد ناحیه قابل دید از هر دو موقعیت دیدهبانی (نقاط سبز) را نشان میدهند، در حالی که ناحیه کوچک سبز تنها از یک موقعیت قابل مشاهده است.
ایجاد یک رستر میدان دید با شعاع ۵۰۰ برای فردی که در موقعیت (-10147017, 5108065) ایستاده است:
gdal_viewshed -md 500 -ox -10147017 -oy 5108065 source.tif destination.tif
مراجع (REFERENCES)
- [Wang2000]
- Generating Viewsheds without Using Sightlines. Wang, Jianjun, Robinson, Gary J., and White, Kevin. Photogrammetric Engineering and Remote Sensing. p81. https://www.asprs.org/wp-content/uploads/pers/2000journal/january/2000_jan_87-90.pdf
نویسنده (AUTHOR)
Tamas Szekeres <szekerest@gmail.com>
حق نشر (COPYRIGHT)
1998-2026
| August 18, 2026 |