כך פיתחנו פיצ'ר שצופה את כמות האור הטבעי בכל דירה בניו יורק

תהליך חיפוש דירה נותר לואו טק ביחס לכל שירות אחר, אבל הטכנולוגיה המתאימה יכולה לספק לכם פרטים מדויקים עוד לפני שיצאתם מהדלת. זה בדיוק מה שעשתה חברת Localize

איך אפשר לייעל את תהליך חיפוש הדירות? (צילום: Dreamstime)

מאת עמית רמון, Data science tech lead ב-Localize

חיפוש דירה הוא אחד הדברים המאתגרים שרבים מאיתנו נאלצים לעשות פעם בתקופה (שתמיד מרגישה קצרה מדי). המרדף אחר דירת החלומות רצוף מכשולים, ובסופו של דבר אנחנו מבינים שאנחנו בעצם מחפשים את הפשרה המושלמת – זאת שנמצאת באמצע הדרך בין הדרישות שלנו למציאות. לפעמים, גם אחרי שמצאנו את הדירה הנכספת, ישנם דברים שנגלה רק אחרי שנגור בה במשך זמן – כמו אוויר, אור, רעש והשכנים שהגרלנו.

מסיבה כלשהי, תהליך חיפוש דירה נותר מאוד לואו טק ברוב האתרים – רובנו נעזרים ברשתות החברתיות, באתרים ובבוטים, שכל מה שהם עושים הוא לפרסם את הדירה ולא יותר. העניין הוא שזה לא חייב להיות ככה, ויש דרך להביא את התהליך הזה לשלב הבא.

ישנם פרמטרים שונים שניתן למדוד ולכמת באמצעות הטכנולוגיה הנכונה, דבר שיכול להפוך את חיפוש הדירה ממשחק הימורים לתהליך יעיל הרבה יותר. לדוגמה, גילינו שאחד הפרמטרים הכי חשובים למחפשי דירות בניו יורק, עיר שאינה עתירת שמש, הוא מידת החשיפה של הדירה לאור טבעי. זו אחת השאלות הראשונות שהם שואלים, והיא מהווה שיקול משמעותי עבורם גם ביחס לפרמטרים חשובים אחרים, כגון שקט, קרבה לשטחים ירוקים ועוד. התנהגות המשתמשים שלחה אותנו לחפש פתרונות טכנולוגיים למערכת שתוכל לספק להם מידע מפורט ומדויק לשאלה הזאת.

השלב הראשון: להבין את האתגר

המערכת שרצינו לבנות הייתה צריכה לענות על שאלות כגון: כמה שעות של אור טבעי מקבלת דירה מסוימת בתקופות שונות של השנה? מהי איכות האור בדירה ביחס לסביבה שבה היא נמצאת? האם ישנה תוכנית לבנייה חדשה באזור, וכיצד היא תשפיע על כמות האור בדירה?

החישוב הבסיסי שצריך לבצע כדי לענות על שאלות אלה הוא לכאורה פשוט. לדוגמה, כדי לדעת אם אור השמש מגיע לנקודה מסוימת בשעה מסוימת, כל שעלינו לדעת הוא את המיקום של הנקודה ואת מיקום השמש במרחב, ולבדוק אם קיים קו ראייה בין שתי הנקודות – כלומר, אם הקו הישר המחבר את שתי הנקודת אינו נחסם על ידי עצמים כלשהם.

אלא שבפועל מדובר בבעיה מורכבת יותר, והדבר הראשון לו היינו זקוקים הוא מודל תלת ממדי שמתאר את כל המבנים בעיר. האתגר השני נבע מכך שצריך לקחת בחשבון את מסלול תנועת השמש בשמיים, המיקום על פני כדור הארץ של הדירה עבורה אנחנו מעוניינים לבצע את החישוב והיום בשנה עבורו נעשה החישוב.

נוסף לאלה, כמות החישובים שעלינו לבצע גבוהה ביותר – בניו יורק לבדה יש כ-900 אלף בניינים, שעבור כל אחד מהם אנחנו צריכים לבצע את החישוב לכל החזיתות והקומות שונות. כדי לשפר את מהימנות התוצאות, המערכת שבנינו מחשבת את ממוצע כמות האור לכמה נקודות שונות עבור כל חזית וקומה. בשל שיקולים אלה היה עלינו לערוך את החישובים לכ-48 מיליון נקודות שונות, כאשר עבור כל נקודה יש לבצע את החישוב לכל אחת משעות האור ביממה.

כל זה אולי נשמע מסובך בהתחלה, אבל התחלנו להתיר את הקשרים ולהשתמש בכלים הנכונים, וכך פיתחנו פתרון שתורם לשינוי הדרך שבה אנשים מחפשים דירה.

מודל שבנוי על טכנולוגיה של רכבים אוטונומיים

הצורך הבסיסי שהיה נחוץ לנו כדי לאפשר את החישובים הללו היה מודל תלת ממדי של העיר. בניו יורק, ה-DoITT (המחלקה לטכנולוגיית מידע ולתקשורת) מספקת מודל 3D של העיר, והשתמשנו בו כבסיס. קוד שכתבנו ב-R שימש להמרת המודל לפורמט Wavefront (מוכר גם כ-OBJ), שאותו יכולנו לקרוא באמצעות OpenGL.

אך כאשר ניגשנו לטפל בשיקגו, התקשינו למצוא מודל תלת ממדי מדויק ואמין. בדקנו כמה מודלים מסחריים, אך רמת הדיוק שלהם הייתה נמוכה ולא מספקת. האפשרות היחידה שעמדה בפנינו הייתה ליצור את המודלים בעצמנו.

הדבר הראשון שלו הזדקקנו היה נתונים מתאימים. הנתונים שעמדו לרשותנו בשלב זה היו נתוני Footprint – מידע גיאומטרי דו מימדי (כלומר, פוליגונים) המתאר את היטלי הבניינים על הקרקע. אילו היו בידינו נתונים של גובה הבניינים, היינו יכולים ליצור מודלים פשוטים – לייצג כל בניין כמנסרה שהבסיס שלה הוא היטל הבניין על הקרקע וגובהה הוא הגובה הידוע. אך כאמור, נתונים אלה לא היו בידינו.

כל זה הוביל אותנו לפיתוח כלים לבניית מודלים תלת ממדיים מנתוני LiDAR. טכנולוגיית LiDAR משתמשת בקרני לייזר כדי לקבל תמונה תלת ממדית, כמו שרדאר עושה שימוש בגלי רדיו. כלי רכב אוטונומיים משתמשים בה לזיהוי עצמים ומכשולים, אך טכנולוגיה זו משמשת גם ליצירת תמונות תלת ממדיות של אזורים נרחבים, כאשר ה"צילום" נעשה ממטוס הסורק את האזור המצולם. התוצר של צילום באמצעות LiDAR הוא למעשה אוסף של נקודות תלת ממדיות (point cloud) המתארות את המעטפת החיצונית של העצמים באזור המצולם.

נתוני LiDAR נאספים במקומות רבים בעולם, ובחלקם, כמו בארצות הברית, הם זמינים לציבור ללא תשלום.

תצוגה גרפית של נתוני LiDAR (בניין פרנקלין, שיקגו): ענן של נקודות xyz. במקרה זה, צבע הנקודה מייצג את גובהה (ערך קואורדינטת ה-z)

תוכנה שפיתחנו בשפת R עושה שימוש בנתוני LiDAR ונתונים נוספים, בעיקר Footprint, כדי ליצור מודלים תלת ממדיים. לשם כך השתמשנו באלגוריתם DBSCAN, כדי לאתר "אשכולות" (clusters) של נקודות המתארות משטחים אופקיים (כלומר, אוסף נקודות הסמוכות אחת לשנייה במישור x-y, ובעלות ערכים קרובים של קואורדינטת ה-z), ומציאת פוליגון דו ממדי (במישור x-y) המתאר את האשכול בצורה הטובה ביותר. השתמשנו בנתוני ה-Footprint כדי לתחום את הקו החיצוני של כל בניין ועל ידי כך פסלנו נקודות שאינן שייכות לבניין.

מכאן הדרך ליצירת מודל תלת ממדי מקורב כבר פשוטה – כל שנותר לעשות הוא ליצור מנסרות על ידי "הורדה" של קודקודי הפוליגונים אל הקרקע וחיבור כל הקודקודים ליצירה הקירות האנכיים והרצפה.

בנוסף, השתמשנו בנתוני גובה פני הקרקע שהיו זמינים כקבצי raster, על מנת לדעת את גובה תחתיות הבניינים שיצרנו מנתוני ה-LiDAR. כך פתרנו את האתגר הראשון.

מבנה הפוויליון ליד שדה התעופה או'הייר, שיקגו – צילום אווירי לצד המודל התלת ממדי שיצרנו מנתוני LiDAR

ועכשיו – איך מחשבים את כמות האור הטבעי?

לאחר שהיה בידינו מודל תלת ממדי, היינו צריכים למצוא דרך לחשב את כמות האור הטבעי בכל דירה. הגדרנו לעצמנו שלוש מטרות לחישוב תובנה זו:

  • חישוב מספר שעות האור הטבעי שמקבלת כל חזית של דירה ביממה.
  • המצאת נתון זה ליומיים מייצגים בשנה – היום הקצר ביותר בשנה (קיץ) והיום הארוך ביותר בשנה (חורף).
  • הצגת נתונים אלה למשתמשים לצד השוואה לממוצע שעות האור עבור בניינים אחרים באזור הסמוך (שכונה או רובע).

השלב הראשון היה לחשב את הנקודות על פני המודל עבורן נרצה לערוך את החישובים. מאחר ולא כל הנקודות בחזית מסוימת מקבלות את אותה כמות של אור, החלטנו לחשב לכל חזית כמה נקודות ולהשתמש בממוצע שעות האור שהן מקבלות כנתון מייצג.

עכשיו, כשהיו בידינו גם מודל תלת ממדי וגם נקודות דגימה, השלב הבא היה לבדוק אם אור השמש מגיע לכל נקודה ונקודה בכל אחת משעות היממה. החישובים נעשו באמצעות ספריית OpenGL שמשמשת לעיבוד גרפי והצגה של מודלים בקוד הכתוב ב-Java. היכולת המרכזית של OpenGL היא לאפשר למקם "מצלמה" בנקודה כלשהי במרחב הצופה בכיוון מסוים על מודל תלת ממדי, וליצור תמונה דו ממדית של המודל תוך התחשבות בהסתרתם של אלמנטים במודל על ידי אלמנטים אחרים.

זוהי בדיוק היכולת שהיינו צריכים – את ה"מצלמה" הווירטואלית נציב במקום בו נמצאת השמש, ונבדוק אם הנקודות שמעניינות אותנו נראות בתמונה הדו ממדית שתיווצר. אם הנקודה נראית, הרי שישנו קו ראייה המחבר בינה לבין השמש והיא תקבל אור טבעי. אם אין קו ראייה, הרי שהנקודה נמצאת בצל ואינה זוכה לאור טבעי.

כדי לקבל תוצאות לשעות היממה השונות, ערכנו חישוב לכל אחת משעות האור בנפרד. עבור כל אחת מהשעות היינו צריכים להציב את המצלמה בכיוון בו נמצאת השמש, דבר שתלוי גם במיקום הנקודות על פני כדור הארץ.

דבר נוסף שלקחנו בחשבון הוא סוג ההטלה הגרפית שצריך להשתמש בה. העין האנושית, או במקרה שלנו מצלמה, משתמשת בהטלה פרספקטיבית – לדוגמה, עצמים מרוחקים נראים קטנים יותר מעצמים קרובים. אך מאחר שהשמש נמצאת במרחק גדול מאוד מכדור הארץ (כ-8 דקות אור, או 150 מיליון ק"מ), מבחינה מעשית ניתן להתייחס לקרני האור המגיעות ממנה כמקבילות, ולכן יש צורך להשתמש בהטלה מקבילית.

ספריית OpenGL מבצעת את החישובים המסובכים האלה באמצעות המעבד הגרפי, וכך הם יכולים להתבצע בזמנים סבירים. כפי שציינתי קודם, היינו צריכים לבצע את החישובים לכ-48 מיליון נקודות, ועבור כל נקודה לחשב כ-12 מתוך שעות היממה ויומיים שונים בשנה. להרצה עצמה השתמשנו ב-AWS, ובחרנו במכונה בעלת מעבד גרפי חזק של Nvidia. זמני הריצה לחישוב כל הנקודות היו כארבע עד חמש שעות.

עולים לפרודקשן

את תוצאות החישובים התלת ממדיים טענו לדאטה בייס PostgreSQL עם הרחבת PostGIS, והן עברו עיבוד כדי להגיע לתוצאות הסופיות. לדוגמה, חישוב ממוצעים של שעות אור ונתונים סטטיסטיים ברמת אזור או שכונה, ועוד. חישובים אלה נעשים חלקם בקוד הכתוב ב-R וחלקם באמצעות תסריטי SQL. עם סיום חישובים אלה, מופקים נתונים המשמשים להצגת המידע באתר.

אז מה רואים משתמשי הקצה? בכל דף של מודעה באתר שלנו מוצגות "אמיתות שכדאי לדעת". בדירות שעבורן קיימת תובנה של כמות אור טבעי, המשתמשים ייראו את זה:

לחיצה על כפתור "Natural Light" תוביל לכאן:

אלה הנתונים עבור תקופת הקיץ, וניתן ללמוד מהם כי הדירה הזו זוכה לכ-8 שעות אור במהלך היממה, וכי מספר זה קרוב לממוצע שעות האור במנהטן – האזור בו נמצאת הדירה. לחיצה על כפתור "Winter" תציג את המידע התואם עבור תקופת החורף.

בהתאם למחקר המקדים שביצענו, הפיצ'ר הזה התגלה כאחת התובנות הפופולריות באתר ומשתמשים עושים בה שימוש רב. המסע הזה הביא אותנו למסקנה המתבקשת: הגיע הזמן שנתחיל לחפש דירה כמו כל מוצר אחר שאנחנו צורכים ברשת – ונקבל את כל המידע האפשרי עוד לפני שיצאנו מהדלת.

הכתבה בחסות Localize

חברת לוקלייז שהוקמה בשנת 2016 מובילה מהפכה עולמית בתחום הפרופטק, והופכת את הליך רכישת הדירה לקל, מהיר, אישי ושקוף יותר עבור כל הצדדים המעורבים – המוכר, הקונה וסוכן הנדל"ן - בעזרת ביג דאטה ובינה מלאכותית.

החברה הפועלת בארצות הברית השלימה באוגוסט האחרון סבב גיוס של 25 מיליון דולר בהובלת קרן פיטנגו, בנוסף ל45 מיליון דולר שגוייסו קודם לכן.

לקראת סוף 2020 השיקה החברה בארצות הברית את Hunter - שירות מבוסס AI לסוכנויות נדל"ן המאפשר ניהול דיגיטלי מרוכז של כל התהליכים המתבצעים מול הלקוחות. החברה מעסיקה כ-100 עובדים בישראל וכ-40 עובדים נוספים בניו יורק ובקייב.

כתב אורח

אנחנו מארחים מפעם לפעם כותבים טכנולוגים אורחים, המפרסמים כתבות בתחומי התמחות שלהם. במידה ואתם מעוניינים לפרסם פוסט בשמכם, פנו אלינו באמצעות טופס יצירת קשר באתר.

הגב

5 תגובות על "כך פיתחנו פיצ'ר שצופה את כמות האור הטבעי בכל דירה בניו יורק"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

* היי, אנחנו אוהבים תגובות!
תיקונים, תגובות קוטלות וכמובן תגובות מפרגנות - בכיף.
חופש הביטוי הוא ערך עליון, אבל לא נוכל להשלים עם תגובות שכוללות הסתה, הוצאת דיבה, תגובות שכוללות מידע המפר את תנאי השימוש של Geektime, תגובות שחורגות מהטעם הטוב ותגובות שהן בניגוד לדין. תגובות כאלו יימחקו מייד.

סידור לפי:   חדש | ישן | הכי מדורגים
גילגמש
Guest

מטורף, שאפו

אביתר
Guest

מרשים מאוד

רועי
Guest

מעדיף פייתון על R אבל נשמע כמו אחלה דרך יצירתית לפתרון לבעיה במקום בו הנתונים לא נאספים באופן ראוי שאפו! מעניין כמה באמת משתמשים בפיצ'ר הזה נשמע כמו המון עבודה לאינסייט קטן יחסית

דzcx ds
Guest

מדהים

מאיר
Guest

שאפו! פתרון אינטיליגנטי וכתיבה מצוינת

wpDiscuz

תגיות לכתבה: