Lecture 5 - Raster Data Model
- الجزء ده بيتكلم عن الـ
Raster Data Modelفي الـ GIS، مع مقارنة بـVectorوTIN. - أهم المحاور: الـ
Tessellations, تعريف وخصائص الـ RDM, نموذج الـTIN, عناصر الـ RDM, أنواع بيانات الـ Raster, مقارنة الـ Raster مع الـ Vector و الـ TIN, هياكل البيانات (Cell-by-Cell,Run-Length Encoding,Quadtree,Block Coding,Chain Coding,Wavelet), تحويل البيانات, ودمج الـ Raster مع الـ Vector.
2) Geographic Data Models Overview
- في الـ GIS فيه 2 من نماذج بيانات رئيسية (Geographic Data Models):
| Model | Represents | Shape |
|---|---|---|
| Vector Data Model (VDM) | المعالم المنفصلة (Discrete features) | Points, Lines, Polygons |
| Raster Data Model (RDM) | الظواهر المستمرة على مساحات كبيرة | Grid Cells / Pixels |
- الـ Vector Data Model ممتاز للعناصر المنفصلة اللي ليها:
- موقع محدد تمامًا (Well-defined location).
- شكل واضح (Shape).
- لكن الـ VDM مش بيشتغل كويس مع الظواهر المكانية اللي بتتغير باستمرار (Spatial phenomena that vary continuously) زي
Precipitation,Elevation, وSoil Erosion.
نموذج الـ Vector بيمثل المعالم بـ Point, Line, Area — لكن مش بيمثل الظواهر المستمرة زي المطر والتضاريس بشكل كويس.
الـ Raster بيحل المشكلة دي لأنه بيخزن قيمة لكل خلية، والتغير في القيم بيعبر عن التغير المكاني للظاهرة.
3) Tessellations
Tessellations geometric arrangements of figures that completely cover a flat surface.
- الـ Tessellations عاملة بالظبط زي فكرة تجميع البازل. هي عبارة عن تكرار لشكل هندسي (أو أكتر) جنب بعض بحيث يغطوا مساحة معينة بالكامل.
- عشان نقول على النمط ده إنه "Tessellation"، لازم:
- مفيش ثغرات (No Gaps): الأشكال لازم تكون لازقه في بعض، مفيش أي مسافة فاضية بينهم.
- مفيش تداخل (No Overlaps): الأشكال ماينفعش تركب أو تغطي على بعضها.

- الشكل الهندسي لـ Tessellation بياخد أشكال مختلفة:
- ا Triangle — مثلث (3 أضلاع).
- ا Quad (Quadrilateral) — أرباع الأضلاع (4 أضلاع).
- ا Pentagon — خماسي (5 أضلاع)
في 3 أشكال أساسية من الـ Regular Tessellations:
- Triangular — مثلثات.
- Square — مربعات.
- Hexagonal — سداسيات.
- لو رصيت الأرض بمربعات أو مثلثات، الشكل الناتج هو الـ Raster.
- التعريف الأدق: الـ Regular Square Tessellation هو اللي بيسمّى Raster Data Model.
4) Raster Data Model (RDM) — Definition & Compatibility
Raster Data Model (RDM) The regular square or rectangular tessellation is called the raster data model, The raster data model uses regular grid to cover space.
-
الـ Raster هو نموذج بيانات بيستخدم شبكة منتظمة من المربعات (Regular Grid) عشان يغطي المكان ويمثل الظواهر المكانية المستمرة.
-
الـ RDM هو الأكثر استخدامًا في الـ GIS عمليًا، وده بسبب التوافق مع:
- أجهزة مختلفة للإدخال والإخراج (Different types of hardware devices for data capture and output).
- صور الـ Bitmap في الرسوميات الحاسوبية (Bit-mapped images in computer graphics).
- أنظمة إحداثيات شبكية زي Plane Rectangular Coordinate System (Grid-oriented coordinate systems).

5) Nature and Characteristics of Raster Data
-
الـ RDM بيقسم المساحة الجغرافية لشبكة من الخلايا (Grid Cells).
-
كل خلية لازم يكون فيها قيمة (Value) — لازم كل Cell تحتوي على قيمة (Each cell must contain a value).
-
القيمة دي بتبين الكمية أو الصفة (Quantity or Characteristic) للمعلم المكاني أو الظاهرة الموجودة في موقع الخلية.
-
الـ Raster بيمثل المعالم كالتالي:
- ا Points — بنقطة واحدة (Single cell / Single cells).
- ا Lines — بتسلسل من الخلايا المتجاورة (Sequences of neighboring cells).
- ا Areas — بمجموعة من الخلايا المتصلة (Collections of contiguous cells).
6) Elements of RDM
- الـ RDM بيتكوّن من 4 عناصر أساسية:
6.1) Cell Value
- قيمة الخلية (Cell Value) — كل خلية لازم يكون فيها قيمة.
- حسب نوع القيمة، الـ Raster ممكن يكون:
- ا Integer Raster — أرقام صحيحة من غير كسور (1, 2, 3...).
- بيعبر عن فئات أو أنواع (Categorical data) — ممكن مرتبة أو غير مرتبة.
- مثال:
1 = Urban,2 = Forest,3 = Water. - الـ Value Attribute Table بتخزن قيم الخلايا.
- ا Floating-Point Raster — أرقام عشرية (20.15, 12.23...).
- بيعبر عن بيانات مستمرة (Continuous numeric data).
- مثال: حاجات بتتغير بدقة شديدة زي بيانات المطر (Precipitation) .
- بياخد مساحة أكبر في الميموري من الـ Integer.
- ملوش Value Attribute Table (No VAT) عشان العدد كبير جدًا.
- الاستعلام بيبقى على نطاق قيم (Ranges) مش قيم فردية (مثلاً: من
12.0الي19.9).
- ا Integer Raster — أرقام صحيحة من غير كسور (1, 2, 3...).

6.2) Cell Size
- حجم الخلية (Cell Size) — بيحدد الدقة (Resolution) بتاعة الـ Raster.
- مثال: حجم خلية
10 متر=100 متر مربع(10 × 10). - لو الحجم
30 متر، يعني المربع بيمثل30×30متر=900متر مربع. (الـ 10 متر دقتها أعلى وتفاصيلها أوضح بكتير).
كل ما حجم المربع (الخلية/البيكسل) يِصغر، كل ما الدقة والتفاصيل تبقى أحسن وأوضح.
- لو فيه مربع ضخم (مثلاً 100×100 متر) بيغطي حتة أرض في الحقيقة نصها غابة، وربعها بحيرة، وربعها مباني. المربع ده في الـ Raster لازم ياخد قيمة واحدة بس. هنديله قيمة الغابة ولا البحيرة؟ دي اسمها مشكلة الـ "Mixed Features".
- عشان نحلها بنصغر حجم الخلايا، بس ده بيخلي حجم الملف كبير جداً وبياخد وقت طويل في المعالجة (Processing)..
6.3) Raster Bands
- نطاقات الـ Raster (Raster Bands) — الـ Raster ممكن يكون:
- ا Single Band — نطاق واحد: الخلية فيها رقم واحد بس بيعبر عن حاجة واحدة.
- مثال: نموذج الارتفاع الرقمي (DEM)، المربع ده ارتفاعه 50 متر عن سطح البحر. مفيش معلومات تانية في الخلية دي.
- ا Multi-Band — نطاقات متعددة: كل خلية ليها أكتر من قيمة.
- مثال: صور الأقمار الصناعية (Satellite Image) — ممكن يكون فيها
5,7, أو أكتر من نطاق. - كل نطاق بيمثل مدى أمواج (Spectral band) من الطيف الكهرومغناطيسي.
- مثال: صور الأقمار الصناعية (Satellite Image) — ممكن يكون فيها
- ا Single Band — نطاق واحد: الخلية فيها رقم واحد بس بيعبر عن حاجة واحدة.

-
1. الجزء اللي على الشمال: Single Band Raster (نطاق واحد)
- زي ما إنت شايف، دي طبقة واحدة (ورقة واحدة) وكل مربع في الطبقة دي بيشيل قيمة واحدة بس.
- مثال: لو افترضنا إن دي خريطة لدرجات الحرارة، فالنقطة الخضراء دي مثلاً متسجل فيها رقم (25)، اللي هو درجة الحرارة في المكان ده. مفيش أي معلومة تانية الخلية دي تقدر تشيلها.
-
2. الجزء اللي على اليمين: Multi Band Raster (نطاقات متعددة)
- هنا بقى هتلاحظ إنهم 4 طبقات مرصوصين فوق بعض بالظبط، وكلهم بيمثلوا نفس المكان الجغرافي.
- دي بتعبر عن فكرة صور الأقمار الصناعية. الطبقات الأربعة دول ممكن يكونوا:
- الطبقة الأولى (اللي تحت): بتسجل الأشعة الزرقاء.
- الطبقة التانية: بتسجل الأشعة الخضراء.
- الطبقة التالتة: بتسجل الأشعة الحمراء.
- الطبقة الرابعة (اللي فوق خالص): بتسجل الأشعة تحت الحمراء.
6.4) Spatial Reference
- المرجع المكاني (Spatial Reference)
- عشان الـ Raster ده ميبقاش مجرد صورة طايرة في الهوا، لازم نربطه بإحداثيات حقيقية على كوكب الأرض (Georeferencing)، عشان لما نحطه فوق خريطة تانية ينزل في مكانه الصح.
- الـ Raster اللي اتعدل عشان يتطابق مع نظام إحداثيات مشروع بيتسمي Georeferenced Raster.
8) Raster vs Vector Comparison
"Raster is faster, but raster is vaster, and vector just seems more corrector"
| Characteristic | Raster | Vector |
|---|---|---|
| Data Collection | Rapid (سريع) | Slow (بطيء) |
| Data Volume | Large (كبير جدًا) | Small (صغير) |
| Graphic Quality | Average (متوسط) | Good (جيّد) |
| Data Structure | Simple (بسيط) | Complex (معقد) |
| Geometrical Accuracy | Low (منخفضة) | High (عالية) |
| Analysis in Network | Poor (ضعيفة) | Good (جيّدة) |
- الـ Raster أسرع في الجمع والعرض، لكنه بياخد مساحة أكبر.
- الـ Vector أبطأ في الجمع، لكنه أدق و بياخد مساحة أقل.
- الـ Raster Pyramids هي مجموعة نسخ من الـ Raster بدقة أقل (Reduced Resolution) بتتخزن عشان تسرّع عملية عرض البيانات على الشاشة (Screen Drawing).
- كل مستوى في الهرم بيكون نسخة أصغر من الصورة الأصلية، وبالتالي يحتاج وقت أقل في العرض والمعالجة.
- لما تعمل Zoom Out، البرنامج بيستخدم النسخة المناسبة من الـ Pyramid بدل ما يقرأ الصورة الأصلية كاملة.
- في
ArcMapغالبًا بتتخزن الـ Pyramids في ملفات بامتداد.rrd.
لما تضيف Raster جديد في ArcMap ومفيش Pyramids موجودة، البرنامج غالبًا هيطلب منك تعملها (Build Pyramids). العملية دي بتحصل مرة واحدة وبعدها بتساعد في تسريع العرض بشكل ملحوظ.
لو عندك Raster حجمه 10000 × 10000 بكسل:
- Pyramid Level 1:
5000 × 5000
- Pyramid Level 2:
2500 × 2500
- Pyramid Level 3:
1250 × 1250
لما تعرض الصورة على مستوى عام (Overview) أو تعمل Zoom Out بشكل كبير، ArcMap هيستخدم النسخة الأصغر بدل الصورة الأصلية، وده بيخلي العرض أسرع بكتير ويقلل استهلاك الموارد.
9) Raster Data Structure
9.1 Cell-by-Cell Encoding
Cell-by-Cell Encoding : A raster is stored as a matrix, and its cell values are written into a file by row and column.
- هو أبسط هيكل بيانات للـ Raster. الـ Raster بيتخزن كـ Matrix وقيم الخلايا بتتكتب في ملف صف بصف وعمود بعمود (By row and column).
- الطريقة دي مثالية لو قيم الخلايا بتتغير باستمرار (Continuous) — زي بيانات الارتفاع وصور الأقمار الصناعية.
- صور الأقمار الصناعية كمان بتشتغل بالطريقة دي.
9.2 Storage of RDM
- الـ Raster على الشاشة بيبان كأنه شبكة ثنائية الأبعاد (2D Matrix) مكونة من صفوف وأعمدة. لكن الكمبيوتر مبيخزنوش كده
- الـ Linear Array: الكمبيوتر بياخد قيم الخلايا دي ويرصها كلها في "خط واحد طويل" (Linear array). يعني بيمسك الصف الأول يكتب أرقامه ورا بعض، وبعدين يلزق فيه الصف التاني، والتالت، وهكذا.
- الإحداثيات الضمنية (Implicit Location): الكمبيوتر مش بيخزن إحداثيات (X, Y) لكل خلية. ليه؟ لأننا مجرد ما نعرف الخلية دي في الصف الكام والعمود الكام، الكمبيوتر يقدر يحسب مكانها الجغرافي تلقائياً.

9.3 Cell-by-Cell Encoding
-
بما إن الكمبيوتر حول خزن البيانات في طابور طويل من الأرقام، لو جه يفتح الملف تاني مش هيعرف الطابور ده يمثل خريطة أبعادها كام في كام!(يعني هل دول 1000 صف × 1000 عمود، ولا 500 صف × 2000 عمود؟).
-
عشان كده، أي ملف Raster لازم يتكون من حتتين:
- البيانات نفسها: اللي هي الأرقام المكتوبة صف ورا صف.
- الـ Header (رأس الملف): وبتكون مكتوبة في أول الملف خالص عشان تفهم الكمبيوتر يقرأ الأرقام دي إزاي.
-
الـ Header ده بيكون جواه معلومات أساسية زي:
- عدد الصفوف والأعمدة (Rows and Columns): عشان الكمبيوتر يعرف يكسر طابور الأرقام الطويل ده ويرجعه لشبكة (Matrix) تاني.
- عدد البتات (Number of Bits): اللي بتحدد حجم الخلية في الذاكرة والألوان المتاحة (مثلاً 8-bit يعني 256 لون/قيمة).
- نوع البيانات (Type): هل الأرقام دي صحيحة (Integer) ولا عشرية (Floating)
- مفتاح الخريطة (Legend).
- الإحداثيات الجغرافية (Coordinate Transformation): المعلومات اللي بتربط الصورة دي بمكانها الحقيقي على كوكب الأرض (Georeferencing).
10 Data Compression
- زي ما قلنا قبل كده "Raster is vaster" (حجمه كبير)، وده بيعمل مشكلة كبيرة وبطء لو حابين نبعت الملفات دي أو نخزنها. عشان كده اخترعوا (Compression Algorithms) عشان نقلل مساحة الملفات دي.
- ومن اشهر الطرق دي:
- ا Run Length Encoding
- ا Block Coding
- ا Chain Coding
- ا Quadtrees
- ا Wavelet Compression (زي صيغة MrSID): دي طريقة قوية جداً بتضغط الملف لحد 2% من حجمه الأصلي لكنها Lossy (يعني بتضحي بشوية جودة وتفاصيل مقابل تصغير الحجم).
Run-Length Encoding (RLE)
Run-Length Encoding Adjacent cells along a row with the same value are treated as group called a run length encoding.
- دي طريقه بتخزن تسلسل القيم المتكررة (Repeated Sequences), بدل ما الكمبيوتر يكتب قيمة كل خلية لوحدها ويفضل يكررها، بيعد الخلايا اللي شبه بعض ورا بعض ويكتبهم كـ مجموعة.
- مثال: بدل ما نكتب الخريطة كده:
A A A A A A A A A A B B A A A...- بنكتبها بالـ RLE كده:
10A 2B 3A... - يعني (عشر خلايا قيمتهم A، بعدهم خليتين قيمتهم B، بعدهم 3 خلايا قيمتهم A).
- بنكتبها بالـ RLE كده:


Block Coding
- بدل ما البرنامج يسجل إحداثيات كل بيكسل لوحده، بيحاول يجمع البيكسلات اللي ليها نفس القيمة، ويسجل بس نقطة البداية بتاعة كل كتلة وحجمها.
- يعني بنشوف اكبر مربع نقدر نخزنه وهو في المثال بتاعنا في الصوره مربع
3x3,وبيبدا من5,2 - نشوف بعدها لو فيه مربعات تانية نقدر نجمعها مع بعضها هنلاقي مربعين
2x2مكانهم8,3و7,5وهكذا لحد ما نخزن كله.

Chain Coding
-
الطريقه دي بتمشي على حدود الشكل, بتختار نقطة بداية وبعدين تفضل تسجل الاتجاهات (يمين، شمال، فوق، تحت) لحد ما ترجع عند نقطة البداية.
- ا N (North) = فوق
- ا S (South) = تحت
- ا E (East) = يمين
- ا W (West) = شمال
-
المثال: لو قرأنا السطر المكتوب في الـ File structure:
- هنبدا من النقطه
(4,3) - ا
N,2⬅️ اطلع لفوق خطوتين. - ا
E,4⬅️ امشي يمين 4 خطوات. - ا
S,1⬅️ انزل لتحت خطوة. - وهكذا... لحد ما نقفل الشكل ونرجع لنقطة البداية.
- هنبدا من النقطه

Quadtree
- الـ Quadtree بيقسم الـ grid (المربع الكبير او الشبكه) لـ اربع مربعات , وكل مربع منهم بيتقسم لاربع مربعات وهكذا (Recursive Decomposition).
- 2^k pixels
- depth k+1
- internal nodes always have 4 children
- internal nodes represent non-homogeneous regions
- leaves represent homogeneous regions
- بنبص على الراستر كـ مربع واحد كبير. ونشوف: هل المربع ده كله نفس اللون او القيمه (متجانس - Homogeneous)؟
- لو الإجابة أيوة: بيسجل المربع ده كله بلون واحد ويقف.
- لو الإجابة لأ (فيه ألوان مختلفة): نقسم المربع الكبير ده لـ 4 مربعات متساوية .
- نمسك كل مربع من الأربعة الجداد ونكرر نفس السؤال: زي بعض ولا مختلفين؟
- المربع المتجانس بيقف ويبقى اسمه "نقطة نهاية" أو ورقة (Leaf). أما المربع الملون فبيتقسم لـ 4 مربعات أصغر.. وهكذا نفضل نقسم لحد ما كل المربعات اللي باقية تبقى بلون موحد.

- هيبدأ يقسم الشبكة لـ 4 أرباع كبيرة (أرقامهم: 0، 1، 2، 3):
- الربع 0 و 1 و 2: مربعات فاضية. عشان كده البرنامج هيوقف تقسيم فيهم.
- الربع 3 (اللي تحت على اليمين): المربع ده جواه الشكل الأسود، يعني المربعات مش زي بعض، فهناخده ونقسمه لـ 4 مربعات أصغر.
- التقسيم جوه المربع 3 (أرقامهم 30، 31، 32، 33):
- المربع 30: أسود بالكامل (مساحته 2×2 بيكسل). كده بقى متجانس، هنقف عنده ونحفظه.
- المربع 32 و 33: أبيض بالكامل، هنتجاهلهم.
- المربع 31: أغلبه أبيض بس جواه بيكسل واحد أسود. كده لسه غير متجانس، هنقسمه مرة تالتة
- التقسيم جوه المربع 31 (أرقامهم 310، 311، 312، 313):
- قسمه لبيكسلات فردية عشان يقدر يعزل البيكسل الأسود لوحده.
- لقى إن المربع 312 هو البيكسل الأسود، والباقي أبيض، فخلاص هيحفظ 312 ويوقف تقسيم.

-
هنا السؤال بيطلب مننا نمشي بحرف U , هنبدا بالمربع الي فوق علي الشمال ونشوف
- هل هو متشابه ؟ الاجابه لا يبقي هنقسمه لاربعه ونمسك كل واحد فيهم نشوف هل هو متشابه؟
- اول مربع متشابه يبقي مش هنقسمه وهنعمله ك
leafدايره - تاني مربع نفس الحاجة
- تالت مربع مختلف فهنقسمه
- اول اتنين ابيض والاتنين التانيين اصفر
- اول مربع متشابه يبقي مش هنقسمه وهنعمله ك
- هل هو متشابه ؟ الاجابه لا يبقي هنقسمه لاربعه ونمسك كل واحد فيهم نشوف هل هو متشابه؟
-
كده اول مربع فوق علي الشمال خلص هندخل علي الي بعده ونكمل بنفس الطريقة
-
في الاخر خالص بنرقم البيكسلزالي في التري من 0-3 ونكتب ارقام البيكسلرز المتظلله, زي 002 ده معناه ان اول مربع فوق علي الشمال متقسم لاربعه اول مربع فيهم اخر اتنين فيه متظللين
-
لو عايز تجيب عدد البيك
-
لو اتلغبطت من الي انا كاتبه اقرا المثال هتفهمه مع نفسك ثواني من غير شرح.
- الترتيب الي بنشتغل فيه علي المربعات بيفرق , المفروض الطبيعي اننا شغالين بحرف Z يعني بنبدا فوق علي الشمال وبعدين فوق يمين وبعدين تحت شمال وبعدين تحت يمين بس لو السؤال قالك تستخدم طريقه تانية زي الي فوق يبقي هنمشي معاه.
May be use to get variable resolution for imagery in the National Map
Overlay with quadtrees

- الـ overlay ده باختصار اننا نحط اتنين راستر علي بعض , مثلا عندنا راستر لاماكن المايه وراستر لاماكن فيها ممكن تلوث المايه, بنحطهم علي بعض والاماكن الي يحصل فيها تقاطع يبقي فيها مايه ملوثه.
- اللون الاسود ده المايه واللون الاخضر دي الماده الي بتلوث المايه واللون الاحمر هو التقاطع او المايه الملوثه
12) Final Quick Revision
- نماذج البيانات: Vector (Points/Lines/Polygons), Raster (Grid Cells), TIN (Triangles).
- الـ Raster Data Model بيستخدم شبكة منتظمة من الخلايا لتمثيل الظواهر المستمرة.
- الـ Tessellations هي الترتيبات الهندسية اللي بتغطي السطح — الـ Raster بيستخدم المربعات.
- كل خلية لازم يكون فيها قيمة بتبين الصفة أو الكمية في الموقع ده.
- تخزين الـ Raster: بيتعرض كـ 2D Matrix لكن بيتحفظ كـ Linear Array — الموقع بيتحدد بشكل implicitly من الصف والعمود، والإحداثيات بتتحسب وقت العرض والتحليل.
- عناصر الـ RDM:ا Cell Value (Integer/Floating-point), Cell Size (Resolution), Raster Bands (Single/Multi), Spatial Reference (Georeferenced).
- أنواع بيانات الـ Raster:ا Satellite Imagery, USGS DEMs, DOQs, DRGs, Graphic Files, Bi-Level Scanned Files — الصور هي شكل من أشكال الـ Raster.
- هياكل البيانات: Cell-by-Cell, Run-Length Encoding, Quadtree, Block Coding, Chain Coding, Wavelet (MrSID — lossy, يقلل لـ 2%).