You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<section class="slide hero" data-sec="תיאור המיזם" data-note="פתיחה (~25 שנ׳): <b>GroundShare היא מערכת שמרכזת את כל המידע העירוני על כתובת אחת — לפני שחותמים על חוזה.</b> הדיור הוא ההוצאה הגדולה בחיינו, והחלטה עליו מתקבלת היום כמעט בעיוורון. את המערכת בנינו מקצה לקצה: מסד הנתונים, השרת והאפליקציה — והיא פרוסה ועובדת בענן.">
391
396
<div class="grid-bg"></div>
392
-
<div class="mark">GroundShare · פרויקט גמר 2025–2026</div>
397
+
<div class="mark">GroundShare · פרויקט גמר 2025–2026</div>
393
398
<h1>שקיפות והנגשת מידע עירוני<br><span class="hl">בתל אביב וישראל</span></h1>
394
-
<p class="tag">מערכת תומכת-החלטה לדיור,איכות חיים שוטפת, המשלבת נתוני GIS עירוניים רשמיים, דיווחי קהילה וניתוח AI - בעברית, בנייד ובקלות ונגישות.</p>
399
+
<p class="tag">מערכת תומכת-החלטה לדיור,איכות חיים שוטפת, המשלבת נתוני GIS עירוניים רשמיים, דיווחי קהילה וניתוח AI - בעברית, בנייד ובקלות ונגישות.</p>
@@ -533,7 +538,7 @@ <h1>שוק מפוצל — <span class="hl">כל פתרון מכסה חלק מה
533
538
<tr><td><b>GovMap / GIS עירוני</b></td><td>נתונים הנדסיים מדויקים ורשמיים</td><td class="no">✕ ממשק מקצועי, שפה טכנית, לא מותאם נייד</td><td class="yes">✓ הנגשה בעברית + UX נייד + הקשר לכתובת</td></tr>
534
539
<tr><td><b>iplan / מבא"ת</b></td><td>תוכניות בנייה מאושרות ברמה הלאומית</td><td class="no">✕ PDF ביורוקרטי, ללא פרשנות ולא לפי כתובת</td><td class="yes">✓ שיוך לכתובת ספציפית + סיכום AI</td></tr>
535
540
<tr><td><b>קבוצות פייסבוק / וואטסאפ</b></td><td>מידע חי ואותנטי מהשטח</td><td class="no">✕ לא מאומת, נעלם בפיד, ללא מפה וללא ארכיון</td><td class="yes">✓ מיפוי, הצבעות ובדיקת רלוונטיות תקופתית</td></tr>
536
-
<tr><td><b>"עבודות קרוב לבית" (ת"א)</b></td><td>מפת עבודות תשתית עירונית</td><td class="no">✕ חד-כיווני, עיר אחת, ללא קהילה וללא ציון</td><td class="yes">✓ דו-כיווני, מדרג, עם שכבת קהילה</td></tr>
541
+
<tr class="row-focus"><td><b>"עבודות קרוב לבית" (ת"א)</b></td><td>מפת עבודות תשתית עירונית</td><td class="no">✕ חד-כיווני, עיר אחת, ללא קהילה וללא ציון</td><td class="yes">✓ דו-כיווני, מדרג, עם שכבת קהילה</td></tr>
537
542
</tbody>
538
543
</table>
539
544
<div class="note">אין כיום בישראל גורם אחד שמחבר <b>GIS רשמי + דיווחי קהילה + ניתוח AI</b> — בעברית ועל נייד. זה המרחב שבו GroundShare פועלת.</div>
<section class="slide" data-sec="האתגר המרכזי" data-note="(~50 שנ׳ — השקופית המרכזית, כדאי להקדיש לה זמן) <b>האתגר הכי גדול בפרויקט לא היה לכתוב קוד — אלא לגלות מאיפה בכלל לוקחים את המידע.</b> לעיריית ת״א יש שרת ArcGIS פתוח, אבל בלי תיעוד: עשרות שכבות ממוספרות, בלי הסבר מה כל אחת מכילה. מיפינו אותן ידנית אחת-אחת עד שזיהינו את הרלוונטיות. ואז התברר שכל שמות השדות הם עברית בתעתיק לטיני — mahut_avoda הוא ׳מהות עבודה׳, sivug_yom_layla הוא ׳סיווג יום/לילה׳. נדרשה בניית מילון שדות מאפס. <b>ואם עולה שאלה על אתגר טכני מעניין:</b> שכבות 852 ו-853 מחזירות את אותו היתר עבודה פעמיים — אחת כקו ואחת כנקודה — מה שייצר כפילויות בממשק עד ליישום מנגנון דה-דופליקציה.">
610
+
<section class="slide" data-sec="האתגר המרכזי" data-note="(~50 שנ׳ — השקופית המרכזית, כדאי להקדיש לה זמן) <b>האתגר הכי גדול בפרויקט לא היה לכתוב קוד — אלא לגלות מאיפה בכלל לוקחים את המידע.</b> לעיריית ת״א יש שרת ArcGIS פתוח, אבל בלי תיעוד: עשרות שכבות ממוספרות, בלי הסבר מה כל אחת מכילה. מיפינו אותן ידנית אחת-אחת עד שזיהינו את הרלוונטיות. ואז התברר שכל שמות השדות הם עברית בתעתיק לטיני — mahut_avoda הוא ׳מהות עבודה׳, sivug_yom_layla הוא ׳סיווג יום/לילה׳. נדרשה בניית מילון שדות מאפס. <b>ואם עולה שאלה על אתגר טכני מעניין:</b> שכבות 852 ו-853 מחזירות את אותו היתר עבודה פעמיים — אחת כקו ואחת כנקודה — מה שייצר כפילויות בממשק עד ליישום מנגנון איחוד כפילויות.">
<h1>האתגר: <span class="hl">איתור ומיפוי מקורות המידע הרשמיים</span></h1>
608
613
<p class="sub">שרת ה-ArcGIS של עיריית ת"א פתוח לציבור — אך <b>ללא תיעוד</b>. עשרות שכבות ממוספרות, ללא הסבר מה כל אחת מכילה. מיפוי המקורות והרכבת השאילתות היו האתגר ההנדסי המרכזי בפרויקט.</p>
609
614
<div class="steps">
610
615
<div class="step"><div class="sn">STEP 01</div><h3>גילוי השכבות</h3><p>סריקה ידנית של עשרות שכבות בשרת ה-MapServer עד לזיהוי <b>13 השכבות הרלוונטיות</b> — היתרים, עבודות לילה, עבודות כביש, תוכניות, מבנים וכתובות.</p></div>
611
616
<div class="step"><div class="sn">STEP 02</div><h3>פענוח השדות</h3><p>שמות השדות הם <b>עברית בתעתיק לטיני</b>: <code style="color:var(--cyan)">mahut_avoda</code>, <code style="color:var(--cyan)">sivug_yom_layla</code>. נדרש מילון שדות ידני לכל שכבה.</p></div>
612
617
<div class="step"><div class="sn">STEP 03</div><h3>בניית השאילתה</h3><p>תרגום קואורדינטה לשאילתה מרחבית תקנית של ArcGIS — כולל <b>רדיוס, מערכת ייחוס ושדות פלט</b> נפרדים לכל שכבה.</p></div>
613
-
<div class="step"><div class="sn">STEP 04</div><h3>איחוד ודה-דופליקציה</h3><p>9 קריאות <b>במקביל</b> בשאילתת הכתובת; כשל בשכבה בודדת אינו מפיל את המסך. שכבות 852/853 מחזירות את אותו היתר — נדרש dedup.</p></div>
618
+
<div class="step"><div class="sn">STEP 04</div><h3>איחוד כפילויות</h3><p>9 קריאות <b>במקביל</b> בשאילתת הכתובת; כשל בשכבה בודדת אינו מפיל את המסך. שכבות 852/853 מחזירות את אותו היתר — נדרש dedup.</p></div>
614
619
</div>
615
620
<div class="code" style="margin-top:.8rem"><span class="c">// שאילתה מרחבית אחת מתוך 9, נשלחות במקביל:</span>
@@ -620,7 +625,7 @@ <h1>האתגר: <span class="hl">איתור ומיפוי מקורות המידע
620
625
</section>
621
626
622
627
<!-- ══ 11 · האלמנט החכם ══ -->
623
-
<section class="slide" data-sec="האלמנט החכם" data-note="(~45 שנ׳) <b>זהו הרכיב המרכזי במערכת — מנוע ההשוואה.</b> המשתמש בוחר שתיים או שלוש כתובות, וכל אחת עוברת את אותם חמישה שלבים. <b>שתי נקודות שכדאי להתעכב עליהן:</b> ראשית, זיהוי הכתובת — בתחילה השווינו לפי קרבת קואורדינטות, אבל מספרי בית סמוכים באותו רחוב יושבים במרחק של כשלושה מטרים, כך שהמערכת פסלה כתובות שונות לגמרי כ׳אותה כתובת׳. הפתרון היה להשוות לפי מזהה קנוני ולא לפי מרחק. שנית, דה-דופליקציה — אותה עבודת כביש מופיעה גם כקו וגם כנקודה בשתי שכבות GIS שונות, ובלי איחוד מספר ההפרעות מנופח פי שניים. <b>ולבסוף</b> — Gemini מנסח את התוצאה בעברית, ואם אין מפתח API נוצר סיכום מקומי, כך שהתכונה לעולם אינה נשברת.">
628
+
<section class="slide" data-sec="האלמנט החכם" data-note="(~45 שנ׳) <b>זהו הרכיב המרכזי במערכת — מנוע ההשוואה.</b> המשתמש בוחר שתיים או שלוש כתובות, וכל אחת עוברת את אותם חמישה שלבים. <b>שתי נקודות שכדאי להתעכב עליהן:</b> ראשית, זיהוי הכתובת — בתחילה השווינו לפי קרבת קואורדינטות, אבל מספרי בית סמוכים באותו רחוב יושבים במרחק של כשלושה מטרים, כך שהמערכת פסלה כתובות שונות לגמרי כ׳אותה כתובת׳. הפתרון היה להשוות לפי מזהה קנוני ולא לפי מרחק. שנית, איחוד כפילויות — אותה עבודת כביש מופיעה גם כקו וגם כנקודה בשתי שכבות GIS שונות, ובלי איחוד מספר ההפרעות מנופח פי שניים. <b>ולבסוף</b> — Gemini מנסח את התוצאה בעברית, ואם אין מפתח API נוצר סיכום מקומי, כך שהתכונה לעולם אינה נשברת.">
624
629
<div class="kicker">האלמנט החכם · מנוע ההשוואה</div>
<h3 style="color:var(--strong)">שתי החלטות שמונעות תוצאה שגויה</h3>
638
643
<p style="margin-top:.45rem">
639
644
▪ <b>זהות כתובת, לא מרחק</b> — יהודה המכבי 46/48/50 נופלות במרחק ~3 מ׳ זו מזו. בדיקת קרבה פסלה אותן כ"אותה כתובת"; ההשוואה נעשית לפי <b>Location_ID</b> בלבד.<br><br>
640
-
▪ <b>דה-דופליקציה בין שכבות</b> — שכבות 852/853 ו-479/858 מתארות את אותה עבודה פיזית פעמיים. ללא איחוד, מספר ההפרעות מנופח פי 2.
645
+
▪ <b>איחוד כפילויות בין שכבות</b> — שכבות 852/853 ו-479/858 מתארות את אותה עבודה פיזית פעמיים. ללא איחוד, מספר ההפרעות מנופח פי 2.
641
646
</p>
642
647
</div>
643
648
<div class="box tint-o">
@@ -666,7 +671,7 @@ <h1 style="margin-top:.4rem">תודה על <span class="hl">ההקשבה</span><
0 commit comments