در صفحه مشاهده و جستجوی عوارض لایه برداری با کلیک بر روی آیکن Calculate Fields پنجره محاسبات فیلد نمایش داده میشود که با استفاده از آن میتوان انواع محاسبات را بر روی مقادیر فیلد انجام داد.
در پنجره نمایش داده شده بایستی فیلدی که خروجی محاسبات در آن ذخیره۱ میشود و همچنین عوارضی2 که محاسبات بر روی مقادیر آنها اعمال شود را توسط ابزارهای انتخاب و فیلتر عوارض، تعیین شوند. در بخش Expression امکان درج عبارت3 محاسبات فیلد وجود دارد که جهت سهولت کار میتوان با کلیک بر روی عملگرها4، فیلدها5 و توابع6، عبارات محاسباتی مدنظر را درج کرد. با کلیک بر روی Calculate محاسبات درج شده اجرا7 میشود.
نکته 1: در صورت نادرست بودن عبارت محاسباتی، نوع خطا جهت اصلاح مطابق تصویر زیر نمایش داده میشود. به عنوان مثال خروجی محاسبات زیر یک مقدار متنی است که نمیتواند در فیلد با نوع عددی ذخیره شود.
نکته 2: جهت سهولت با توجه به نوع اشتباه عبارت محاسباتی، خطای نمایش داده شده با دو عدد شروع میشود که عدد اول نشاندهنده شماره خط وقوع خطا و عدد دوم نشاندهنده شماره کاراکتر خطا است.
نکته 3: با توجه به اینکه پس از اعمال محاسبات بر روی یک فیلد مقادیر قبلی قابل برگشت نیست بهتر است در انتخاب فیلد ذخیرهسازی دقت لازم انجام گیرد.
عملگرها
با استفاده از عملگرها میتوان با محاسبات بر روی مقادیر فیلدها، مقادیر جدید تولید کرد، به عنوان مثال در پنجره زیر با اجرای محاسبات مقادیر فیلد طول عوارض که در فیلد “Length” با واحد متر هستند به کیلومتر تبدیل و در فیلد “Length_km” ذخیره خواهد شد.
توابع
توابع قابل استفاده در بخش محاسبات شامل 5 گروه توابع1 متنی، عددی، تاریخ، تبدیل و توابع مکانی هستند. که با انتخاب هر نوع، لیست توابع2 قابل استفاده نمایش داده خواهد شد که با کلیک بر روی آنها، پارامترهای مورد نیاز3 و عملکرد تابع شرح داده شده است. همچنین با دو بار کلیک بر روی هر کدام از توابع در بخش عبارتها درج میشود و نیازی به تایپ آن نیست. در ادامه چند مثال جهت آشنایی با نحوه کار با انواع توابع ارائه شده است.
توابع متنی
در تصویر زیر با اجرای محاسبات اگر مقدار فیلد “HIGHWAY” برابر با “trunk” باشد، با عبارت “بزرگراه” جایگزین میشود و در ستون “HIGHWAY” ذخیره خواهد شد.
توابع مکانی
در تصویر زیر با اجرای محاسبات مقدار مختصات نقاط با استفاده از جدا کننده”,” در “Coordinate” ذخیره خواهند شد.
در تصویر زیر با اجرای محاسبات مقدار فاصله عوارض تا مختصات وارد شده محاسبه میشود و در فیلد “Dist” ذخیره خواهد شد. جهت تبدیل مختصات به Geometry از تابع “ST_GeomFromText” استفاده شده است.