Document 7308477
Download
Report
Transcript Document 7308477
Digital Elevation Models and
TIN Algorithms
Marc van Kreveld
מרינה סדצקי
אילנית מודחי
הרצאה זו תעסוק ב-
.1מודלים שונים לייצוג פני-קרקע (.)terrain
.2אלגוריתמי גישה ל.TIN-
.3אלגוריתמי המרה בין המודלים השונים.
יישום
Geographic Information System -GIS
(מערכת מידע גיאוגרפי) -מערכת ממוחשבת
לאיסוף ,ניתוח והצגת נתונים בצורת גיאוגרפית.
רוב הניתוחים מושפעים מפני-הקרקע ,לכן יש צורך
להגדיר את המפות בצורה תלת-מימדית.
– f:A⊂Ŗ×Ŗ→Ŗפונקציה הנותנת גובה לכל
נקודה -A( ,p∈Aשטח פני-הקרקע המנותחים.
גובה הנקודות בשטח לא ידוע במדויק ,פרט
למספר סופי של נקודות המהוות את נקודות
המדגם (חישוב הגובה-קירוב לפי נקודות המדגם).
חלק זה יעסוק ב-
.1מודלים שונים לייצוג פני-קרקע
(.)terrain
.2אלגוריתמי גישה ל.TIN-
.3אלגוריתמי המרה בין המודלים השונים.
:קרקע-מודלים בסיסיים לייצוג פני
.The regular square grid .1
.The contour line .2
.The triangulated irregular network .3
The regular square grid
מבנה המחלק את השטח ל n-מלבנים זהים.
מאוחסן במחשב כמערך דו-מימדי בגודל .n×n
עבור כל מלבן ,נשמר בדיוק ערך גובה אחד
(מיקום הנקודה הנבחרת במלבן זהה עבור כל
המלבנים ויכולה להיות לדוגמא ממוקמת במרכז
המלבן).
Sample of regular square grid
חישוב גובה נקודת :p
גישה נאיבית – גובה הנקודה הוא גובה המלבן בו
הנקודה נמצאת.
מקבלים פונקציה fלא רציפה ,שאינה מקרבת את
השטח בצורה טבעית.
היתרון והחיסרון למודל:
היתרון העיקרי של המודל הוא בגישה ישירה
לכל חלק של השטח.
החיסרון העיקרי של המודל הוא שהוא דורש
צפיפות זהה של נקודות המדגם.
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
22
22
25
9
12
12
12
12
12
36
53
18
20
12
12
12
12
12
17
12
10
15
12
12
12
12
12
The Contour line model
- Contour lineאוסף מקטעים מחוברים בעלי גובה אחיד.
המודל מורכב מאוסף של .contour lines
כל contour lineמאוחסן כאוסף של נקודות עם קואורדינאטות
x, yבהם הקו עובר.
Contour lineהוא קו עקום סגור ,או קו שנקודות הקצה שלו
נמצאות על גבולות השטח ,לכן השטח מחולק לפוליגונים.
Sample of Contour line model
Perspective view of an Elevation
model and the contour line map of it
חישוב גובה נקודת :p
אם הנקודה נמצאת על מקטע ,אזי הגובה של p
הוא גובה ה contour line -המכיל מקטע זה.
אחרת ,מוצאים את הפוליגון בו הנקודה שוכנת,
ומחשבים את גובהה כערך הביניים של כל ה-
contour linesהיוצרים פוליגון זה.
:אחסון המודל
:contour lines -ישנן מספר שיטות לאחסון ה
.Doubly connected edge list (DCEL) .1
.The adjacency structure .2
The adjacency structure
ישנם שני סוגים של קודקודים:
.1
.2
קודקוד המתאר פוליגון (חלק משטח פני-הקרקע) -מאוחסן
שם הפוליגון( .מסומן ב.) -
קודקוד המתאר -contour lineמאוחסנים הנקודות דרכם
).
הקו עובר וגובהו( .מסומן ב-
יש קשת בין פוליגון ל contour line-אם קו זה מופיע
כחלק מגבול הפוליגון.
מכיוון ש contour line-אינם חוצים זה את זה אזי
המבנה הנוצר הוא עץ וכל contour lineהוא גבול
של שני פוליגונים בדיוק.
t9
The adjacency structure
l7
l10
t10
t10
t7
l9
t3
l10
l6
t1
t2
l8
t6
t3
l4
l9
l2
t8
l1
t2
t4
l3
l8
t1
l2
t5
l1
t8
t5
l3
t4
l4 t6 t7
l6
l7
t9
חישוב :contour lines
קלט :הגבהים לפיהם יחושבו ה.contour lines-
האלגוריתם –
מבצעים טריאנגולציה של נקודות המדגם (לדוגמא
טריאנגולצית דלוני)( .הנחה -אין משולשים אופקיים).
עבור כל גובה בודקים האם קיים מקטע בכל אחד
מהמשולשים ,ואם קיים אז יוצרים את המקטע המתאים.
טריאנגולציה ,וחישוב contour lines
מגובה 24
The Triangulated Irregular Network
)model (TIN
נתונה קבוצה סופית של נקודות והגבהים לכל נקודה.
המרחק והצפיפות בין הנקודות יכולים להשתנות
(בניגוד ל.)grid -
מבצעים טריאנגולציה על נקודות מדגם אלו.
כל נקודה בתחום נמצאת בתוך ,על צלע או על נקודה
של משולש.
Sample of TIN model
Perspective view of a triangulated irregular network
חישוב גובה נקודת :p
אם הנקודה נמצאת על נקודה של המשולש ,אזי ניתן
לקבל את הגובה בצורה מדויקת (נקודת מדגם).
אם הנקודה נמצאת על צלע של משולש – אינטרפולציה
ליניארית לפי שתי הנקודות שיוצרות צלע זו.
אם הנקודה נמצאת בתוך המשולש -אינטרפולציה
ליניארית לפי שלושת הנקודות שיוצרות משולש זה.
אחסון המודל – Network structure
עבור כל משולש ,tצלע eוקודקוד vקיים אובייקט.
לאובייקט משולש ישנם שלושה שדות – כל שדה מצביע לצלע של
המשולש.
לאובייקט צלע ישנם ארבעה שדות-
שני שדות שכל אחד מהם מצביע למשולש הנוצר מצלע זו.
שני שדות שכל אחד מהם מצביע לקודקוד של הצלע.
לאובייקט קודקוד ישנם שלושה שדות המכילים את ערכי
הקואורדינאטות והגובה של הקודקוד.
The TIN and the network structure for it. The
three values of each vertex are not shown.
מודל מורכבHierarchical models -
מודל היררכי מייצג שטח מסוים של פני הקרקע במספר רמות
של אי-דיוק.
רוב המודלים ההיררכיים מבוססים על .TIN
ככל שמספר נקודות המדגם עולה ,כך דרגת הדיוק של הTIN-
היא גבוהה יותר ,אולם החישוב הוא יקר יותר.
עבור אפליקציות שאינן דורשות רמת דיוק גבוהה יעיל יותר
להשתמש ב TIN-עם פחות נקודות מדגם.
המודל ההיררכי מאפשר למשתמש לבחור רמת דיוק עבור כל
משימה ,בהתאם למשימה.
סיכום מודלים לייצוג פני-קרקע
המודלים הבסיסיים –
.1
-Gridמודל המאפשר גישה ישירה לשטחים השונים .צפיפות
נקודות המדגם קבועה .משתמשים במודל זה לצורך סימולציה
של פני הקרקע.
.2
-Contour lineמודל המחלק את השטח לפוליגונים ,בהתאם
לקווי גובה מסוימים .מודל זה אינו מתאים לסימולציות .מתאים
לחלוקה השטח לפי איזורים.
.3
-TINמודל המחלק את השטח למשולשים .אין גישה ישירה
לשטחים השונים וצפיפות נקודות המדגם יכולה להשתנות.
משתמשים במודל זה לצורך סימולציה של פני הקרקע.
מודל מורכב (המודל ההיררכי) -מודל המאפשר בחירה של רמת
הדיוק בהתאם למשימה הדרושה לביצוע.
חלק זה יעסוק ב-
.1מודלים שונים לייצוג פני-קרקע (.)terrain
.2אלגוריתמי גישה ל.TIN-
.3אלגוריתמי המרה בין המודלים השונים.
Access to TIN
:TIN-נתאר שתי שיטות גישה ל
Traversal of a TIN
.1
Efficient access to a TIN
.2
Traversal of a TIN
שיטה ישנה ,המבצעת מעבר על ,TINומבקרת
בכל הקודקודים ,הצלעות והמשולים של המודל.
יתרון השיטה -אין צורך באחסון נוסף פרט
למצביע אחד לנקודה ב.TIN-
Traversal of a TIN cont ...
תיאור השיטה -
יהי ,TIN Tהמאוחסן בצורת .network structureיהי
vהקודקוד השמאלי התחתון של .T
לכל משולש tב T-ניתן תווית לכל צלע.
יהי tמשולש כלשהו ב .T-ניתן לצלע eשל tאת התווית
inאם הקו העובר דרך eמחלק את המישור לשני
חלקים כך שבחלק אחד נמצא tובחלק השני ,vאחרת
ניתן את התווית .out
in
out
in
v
Traversal of a TIN cont ...
אם הקו העובר דרך eמכיל את ,vאזי אם tנמצא
משמאל לקו ,ניתן ל e-תווית ,outאחרת ניתן לe-
תווית .in
out
v
בכל משולש יש לפחות צלע אחת עם תווית inולפחות
צלע אחת עם תווית .out
כאשר במעבר על TINנגיע לצלע עם תווית ,inנכניס
את המשולש המתאים לרשימה.
משולש בעל שתי צלעות עם תוויות -in
שתי הצלעות בעלות קודקוד משותף ’ .vנסמן ב in-את
הצלע הנמצאת משמאל לישר העובר דרך הצלע )’,(v,v
וב in-and-back-את הצלע השניה.
out
in
’v
In-and-back
v
כאשר מגיעים לצלע עם תווית in-and-backתהיה
כניסה למשולש דרך צלע זו ,אולם מיד אחר-כך תהיה
חזרה (יציאה) דרך צלע זו.
משולש בעל שתי צלעות עם תווית -out
נסמן את הצלעות ב first-out-ו.second-out-
הצלע עם התווית ,first-outתהיה הצלע הנמצאת
משמאל לקו העובר דרך הצלע )’ (v,vכאשר ’ vהוא
הקודקוד המשותף לשתי הצלעות.
’v
first-out
in
second-out
v
בהינתן משולש ,מתן התוויות לצלעות מחושב בזמן
קבוע.
האלגוריתם
קלט :
.1משולש .t
.2צלע .e
ההרצה מתחילה במשולש tשהקודקוד vהוא אחד
הקודקודים שלו ,ובעל צלע eהנמצאת על הגבול
השמאלי של השטח.
האלגוריתם עובר ממשולש למשולש על-ידי חציה של
צלעות והחלטה איזה צלע לחצות בשלב הבא.
ההחלטה מתבססת על סוג הצלע eוסוג המשולש .t
האלגוריתם -
:דוגמא
Traversing a TIN; numbers at arrows correspond
to the algorithm
סימולציה של האלגוריתם
5
3
2
18
out
in
9
4
10
1
8
10
16
6
Second-out
5
7
in
in
in
in
11
15
Second-out
20
14
13
Second-out
10
12
25