مقاله جامع تبدیل مقادیر NoData به مقادیر صفر در ArcGIS
قطعا شما نیز در داخل کار ها و پروژه های خود به خطای NoData برخورد کرده اید و خطای مانند به دلیل داشتن مقادیر NoData امکان محاسبات ریاضاتی وجود ندارد.
در واقع چون مقادیر NoData هیچ گونه عملگر ریاضیاتی روش قابل پیاده سازی نیست این خطا ها همواره وجود داشته است. شما باید این مقادیر تبدیل به عدد صفر کنید.
NoData به معنی نبود اطلاعات از لایه رستری است. شاید به شاهر در پس زمینه رنگ سیاه داشته باشد اما مقدار نداشته و باید آن را برطرف کرد.
پیدا کردن مقادیر NoData در آرک.جی.ای.اس
برای پیدا کردن پیکسل های که مقادیر NoData دارند باید از ابزار IsNull استفاده کنید. در این حالت تصویر ورودی که رستری است اگر NoData بود مقادیر عدد 1 و سایر پیکسل ها عدد 1 را میگیرند.
مسیر این ابزار است:
Toolboxes\System Toolboxes\Spatial Analyst Tools.tbx\Math\Logical\Is Null
تبدیل مقادیر NoData به مقادیر صفر در ArcGIS
در نرم افزار آرک.جی.ای.اس برای تبدیل این مقادیر از دو دستور یا ابزار وجود دارد:
- ابزار Reclassify
- ابزار Con
روش اول
ابزار Reclassify
یکی از بزار برای کلاس بندی در نرم افزار ArcGIS مورد استفاده قرار میگیرد. با استفاده از این دستور تمامی مقایر NoData به عدد صفر تبدیل می شوند.
با ابراز Reclassify مقادیر جدید تولید میشوند. با توجه به مقادیر جدید تولید شده شما حتما باید مقادیر را چک کنید و مواظب اینها باشید. این ابزار از مسیر زیر فراخوانی می شود.
Toolboxes\System Toolboxes\Spatial Analyst Tools.tbx\Reclass\Reclassify
روش دوم
ابزار Con
این روش روش بهتری است و نیازی به تغییر مقادیر ارزش پیکسل ها نیست. فقط کافیه از مسیر زیر ابزار Con را فعال کنید. مسیر دستور:
Toolboxes\System Toolboxes\Spatial Analyst Tools.tbx\Conditional\Con
بعد از اجرای دستور این عبارت را لایه رستری را به عنوان ورودی به آن داده در بخش Expression
باید بیاید و کد زیر را وارد کنید.
Value = NoData
گاهی وقتا در بعضی از پروژه ها لازم است که مقادیری را به مقدار NoData تبدیل کنید.
تبدیل مقادیر به NoData
برای تبدیل مقادیر به NoData لازمه که از دستور Set Null استفاده کنید. برای فراخوانی این دستور از مسیر زیر استفاده کنید.
Toolboxes\System Toolboxes\Spatial Analyst Tools.tbx\Conditional\Set Null
بعد از اجرای دستور لایه رستری را بهش معرفی کنید. در بخش Expression هر مقدار که خواستید را در قالب کد زیر بزارید:
Value = 4
بزارید براتون یک مثال بزنیم. فرض بکنید لایه ارتفاعی با کلاس بندی کردید. لایه ارتفاعی مانند شکل زیر میشود.
- 1000-1200
- 1200-1400
- 1400-1600
- 1600-1800
- 1800-2000
مقادیر انها به ترتیب مقدار 1 تا 5 میگیرد. فرض کنید میخواید ارتفاع 1200 تا 1400 را NoData کنید. در این حالت دستور Set Null اجرا و به سادگی از بخش Expression مقدار را بگذارید بر روی مقدار 2.
Value = 2
4 دیدگاه. ارسال دیدگاه جدید
سخت شد nodatصفر کنیم ،عدد دیتا همه میشه یک و همه چیز بهم مریزه
سلام و احترام
مشکل چی است؟
دقیق توضیح دهید
موفق باشید
سلام مشکل اینه یک تصویر ماهواری وقتی داریم که یک قسمتش nodatهست نمیشه درون یابی کرد باید تبدیل به صفر کرد،ولی از اون روش شما ،قسمتهای دیگه نقشه که مقدار داره ،مقادیرش از بین میره و همه یک میشه و مقادیر تمام تصویر از بین میره و نمیشه تحلیل کرد
سلام و احترام
احتراما متوجه منظور شما نشدم
بیشتر توضیح بدید ممنون میشم
آرزوی موفقیت