فصل هفتم: مبحث همسايگي

توابع همسايگي چندگانه:

در اين حالت توابع همسايگي با استفاده از ارتباطات چندگانه  بصورت يك ماتريس تعريف مي شود. اين ارتباط امكان تعريف توابع خاصي را پديد مي آورد كه به شكل زير است:

 

Outmap = NbFunction(NbExpression)

Outmap = NbFunction[neighbour, neighbour, ...](NbExpression)

كه در آن:

Outmap

نقشه رستري خروجي
NbFunction يك تابع همشايگي چندگانه است كه يكي يا بيشتر از يكي از توابع NBMIN, NBMAX, NBAVG, NBSUM, NBPRD, NBSTD, NBMINP, NBMAXP, NBPRDP و NBCNT را در بر مي گيرد.
[neighbour, neighbour, ...]

 

كدهاي سلول همسايه مورد نظر (عددي بين 1 تا 9)
(NbExpression) يك عبارت همسايگي است كه در برگيرنده نام يا نامهاي نقشه ورودي خواهد بود كه بدنبال آنها علامت  # مي آيد.

مثالهائي از عبارت همسايگي:

 

#Map

ماتريس همسايگي روي همه  سلولهاي نقشه ورودي به نام Map مرور مي شود. و مقاديري چون حداقل، حداكثرو ... كه براي آن تعريف شده را بدست مي دهد.
 

Map# > 40

يك ماتريس همسايگي روي نقشه ورودي بنام Map اعمال مي شود و چك مي كند كه اگر ارزش سلول همسايه بيشتر از 40 باشد مقاديري چون حداقل، حداكثرو ... كه براي آن تعريف شده را بدست مي دهد.

NbFunctionيكي از توابع زير است:

NBMIN حداقل ماتريس همسايگي را بر مي گرداند.
NBMAX حداكثر ماتريس همسايگي را بر مي گرداند.
NBAVG ميانگين ماتريس همسايگي را بر مي گرداند.
NBSUM حاصلجمع ماتريس همسايگي را ارائه مي كند. اگر مقدار همسايه تعريف نشده باشد لحاظ نمي شود. اگر سلول مركزي تعريف نشده باشد مقدار 0 به جاي آن گذاشته مي شود.
NBPRD فراوانترين عدد ماتريس همسايگي را بر مي گرداند.
NBSTD انحراف استاندارد ماتريس همسايگي را بر مي گرداند.
NBCNT تعداد پيكسلهائي را كه در ماتريس همسايگي تعريف شده و درست هستند را مي شمارد و در سلول مركزي قرار مي دهد.
NBMINP كد سلولي كه حداقل ارزش را دارد را پيدا مي كند و در سلول مركزي قرار مي دهد.
NBMAXP كد سلولي كه حداكثر ارزش را دارد را پيدا مي كند و در سلول مركزي قرار مي دهد.
NBPRDP كد سلولي كه فراوانترين ارزش را دارد را پيدا مي كند و در سلول مركزي قرار مي دهد.
NBCNDP كد سلولي كه ارزش درست يا تعريف شده را دارد را پيدا مي كند و در سلول مركزي قرار مي دهد. اگر چند گزينه شرط را ارضاع كند كد 5 رابر مي گرداند. اگر هيچ يك از سلولها داراي اين شرط نبود ؟ را بر مي گرداند.

نامهاي مستعار ويژه براي مبحث همسايگي:

بجاي به كار بردن  [neighbour, neighbour, ...] مي توان عبارتها را براي برخي تركيبها ساده تر كرد

عبارت

حالت مستعار

توضيح

NbFunction[2,4,6,8]

NbFunction4 دراين حالت تابع روي سلولهاي داراي كدهاي 2, 4, 6, 8  اعمال مي شود. مثلاً NBAVG4

NbFunction[2,4,5,6,8]

NbFunction5 دراين حالت تابع روي سلولهاي داراي كدهاي 2, 4, 5, 6, 8   اعمال مي شود. مثلاً NBAVG5.

NbFunction[1,2,3,4,6,7,8,9]

NbFunction8

دراين حالت تابع روي همه سلولها، يعني سلولهاي داراي كدهاي 21, 2, 3, 4, 6, 7, 8, 9 اعمال مي شود. مثلاً NBAVG8.

چند مثال:

OUTmap = NBMIN(Map1#)

در نقشه Map1حداقل ارزش يكي از 9 پيكسل همسايه را در پنجره مرور به سلول مركزي OUTmap اختصاص مي دهد.

OUTmap = NBAVG(Map1#)

 در نقشه Map1ميانگين ارزش  9 پيكسل همسايه را در پنجره مرور به سلول مركزي OUTmap اختصاص مي دهد.

OUTmap = NBAVG[2,4,5,6,8](Map1#)

 

 در نقشه Map1ميانگين ارزش پيكسلهاي با كد  2, 4, 5, 6, 8 همسايه را در پنجره مرور به سلول مركزي OUTmap اختصاص مي دهد.

OUTmap = NBAVG5(Map1#)

 مشابه قبلي.

Aspect = NBMINP(Dem#)

 

نقشه جهتي بنام Aspect ايجاد مي كند كه موقعيت يا كد سلول كمترين ارتفاع را در نقشه مدل رقومي ارتفاع برمي گرداند.

Pit = NBMINP(Dem#)=5

 

نقشه اي بنام Pit ايجاد مي كند كه اگر حداقل ارزش ماتريس مرور را در نقشه مدل رقومي ارتفاع سلول مركزي باشد مقدار درست را بر مي گرداند.

Flat = NBCNT(Dem#=Dem)=9

 

اگر تمامي سلولهاي پنجره  مرور در نقشه Dem ارزش يكساني داشته باشند مقدار منطقي درست را بر مي گرداند.

Flat = NBCNT8(Dem#=Dem)=8

 

اگر 8 سلول اطراف سلول مركزي در نقشه Dem ارزش يكساني داشته باشند مقدار صحيح بر مي گرداند. اين مورد شبيه مثال قبلي است.

Streams = NBCNT(Dem#>Dem)>=5

 

نقشه جديدي بنام Streams ايجاد مي كند كه 5 تا يا بيشتر از سلول مركزي مرتفعتر باشند مقدار درست بر مي گرداند.

Streams2 = iff(NBCNT(Dem#>Dem)>=5,NBMAXP(Dem#), ?)

 

حالتي ديگر از مثال قبلي.

استفاده از متغيرهاي از پيش تعيين شده

در اين بخش متغييرهائي (NBDIS, NBPOS و(NBFLT(fltname)  كه در تركيب با عبارات همسايگي قابل استفاده هستند توضيح داده مي شوند:

 

NBDIS فاصله بين سلول مركزي و يكي از سلولهاي اطراف را برمي گرداند.  اگر فاصله با خود سلول مركزي در نظر گرفته شود مقدار 0 برگردانده مي شود. فاصله با پيكسلهاي داراي كد  2, 4, 6, 8 برابر 1 و فاصله با پيكسلهاي 1, 3, 7, 9 برابر 1.4 مي باشد. به جاي اين متغير مي توان از d%  استفاده كرد.

توصيه مي شود اين دستور بطور تركيبي با دستورات ديگر استفاده شود تا مسافت واقعي بدست آيد:

  NBDIS * PIXSIZE(rasmap)
يا

 NBDIS * PIXSIZE(georef)

 

كد ياموقعيت سلول

1

2

3

 

4

5

6

 

7

8

9

 

 NBDISخروجي

1.4

1

1.4

1

0

1

1.4

1

1.4

NBPOS كد يا موقعيت سلولي كه داراي يك شرايط خاص است را برمي گرداند. به جاي آن P% نيز مي توان استفاده كرد.

1

2

3

4

5

6

7

8

9

NBFLT (fltname)

 يك fltnameفيلتر 3در3 روي پنجره مرور اعمال مي كند

مثال:

OUTmap = NBSUM(Map1# * NBFLT(Edgesenh))

 محاسبات همسايگي تكي

 توجه:
© به موجب قانون حقوق مولفين، كليه  حقوق مادي و معنوي اين اثر الکترونيکي براي نويسنده  (خدايار عبداللهي) محفوظ است.  هرگونه كپي برداري، نقل قول، تبديل به قالب هاي ديگرو... بدون ذكر منبع ممنوع است. در اختيار گذاشتن  رايگان اين اثر صرفاً  براي استفاده هاي علمي بوده  و توزيع تجاري آن بدون مجوز صاحب اثر غير قانوني مي باشد.                                            


آغازفصل| فهرست|بازگشت | صفحه اصلي