
איתור מיקומו של אי בעזרת גאומטריה ותכנות CUDA
תרגיל OSINT נפתר בלי Google Lens: 882 MB של נתוני קו חוף, שרשרת מסננים גאומטריים ובדיקה של 80 מיליון שלשות יבשות על ה-GPU הובילו לאתר הנופש Oan שבמיקרונזיה. הפתרון מבוסס על נתונים גלויים בלבד.
מפתח שכותב בבלוג yassa9 פרסם ב-16 באוגוסט 2026 תיאור מפורט של פתרון תרגיל מודיעין ממקורות גלויים (OSINT) — תרגיל מספר 004 של סופיה סנטוס (Gralhix). התרגיל כלל שלוש שאלות על תצלום של אתר נופש באי: שם אתר הנופש, קואורדינטות האי והכיוון שאליו הצביעה המצלמה. המחבר ויתר על Google Lens ופתר את הבעיה במתמטיקה ובתכנות.
מטא-נתונים וטביעת אצבע גאומטרית
הבדיקה בכלי exiftool אישרה שהתמונה היא קובץ WebP בגודל 736×515 פיקסלים, בלי נתוני GPS ובלי דגם מצלמה. לכן המחבר חילץ את הגאומטריה של שלוש מסות היבשה בתמונה: P0 — האי שעליו אתר הנופש, P1 — האי מימין, ו-P2 — האי השמאלי הקדמי עם פסגת הר. כלי קטן מבוסס לחיצות (01_triangle_gui.py) רשם את קואורדינטות הפיקסלים וחישב את יחסי הצלעות והזוויות של המשולש. משום שסימון מרכזים בעין אינו מדויק, החיפוש התיר רווח סבילות של ±20% סביב הערכים האלה.
שרשרת מסננים
מרחב החיפוש היה מערך וקטורי קו החוף העולמי של OpenStreetMap בשם land-polygons-split-4326, בגודל 882 MB. מסנן ראשון השאיר רק את חגורת קו הרוחב הטרופי שבין 30°- ל-30°, כלומר 141,131 פוליגונים. מסנן צפיפות מקומית פסל איונים עם יותר מעשרה שכנים ברדיוס 5 ק"מ, וצמצם את הקבוצה ל-51,576. נקודות בלי לפחות שני שכנים בתוך 20 ק"מ נפסלו, ונותרו 23,500 אשכולות; יצירת כל השלשות בתוכם הניבה 80,690,777 משולשים מועמדים.
הבדיקה על ה-GPU
כל שלשה עובדה בתהליכון CUDA נפרד. התהליכון מיין את שלוש הנקודות לפי שטח יבשה כדי לזהות את P0, קבע את P1 ו-P2 לפי הסימן של מכפלה וקטורית דו-ממדית, ואז בדק את הזווית ב-P0, את יחס המרחקים ואת טווחי הגדלים. על כרטיס NVIDIA GeForce RTX 3050 (sm_86) עם 5,169 MB של זיכרון גרפי הקרנל רץ 204.1 אלפיות שנייה; 158,784 שלשות עברו, ולאחר הסרת כפילויות נותרו 8,915.
בשלבים הבאים הרשימה הצטמצמה עוד: בדיקת "מלבן פתוח" לאזור מים חופשי הותירה 948 מועמדים, ציון קומפקטיות של איונת אלמוגים לפי מדד פולסבי-פופר הותיר 213, בדיקת צורה אובלית הותירה 137, ובדיקת צמחייה לפי מדד NDVI מתצלומי Sentinel-2 דרך ה-API הציבורי Earth Search של Element84 הותירה 66. בדיקת גובה אחרונה השתמשה באריחי Copernicus DEM GLO-30: P0 חייב להיות נמוך מ-50 מטר, והנקודה הגבוהה ביותר בתוואי הקרקע בקשת של ±50° מכיוון המצלמה, במרחק 2 עד 20 ק"מ, הייתה חייבת לנוע בין 100 ל-500 מטר. נותרו 26 מועמדים.
התשובה
הרשומה השמינית בטבלה הסופית, המשויכת למיקרונזיה, תאמה את התצלום. שם אתר הנופש הוא Oan; קואורדינטות האי הן 7°21′48.4″ צפון, 151°45′20.7″ מזרח (7.363444, 151.755750); והמצלמה פנתה לצפון-מערב, כ-324.97°. הקוד והדוח הסופי פורסמו ב-GitHub.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.