מפת הפשיעה בישראל, 2021
איך לוקחים מידע טבלאי פתוח על נתוני הפשיעה ומנתחים אותם על מפה?
משטרת ישראל פתחה לציבור לראשונה את נתוני הפשיעה בישראל בשנים 2016-2011.
החלטתי להוריד את המידע, לחקור את איכות הנתונים, לנתח אותם ולחבר אותם להצגה על מפה כדי לספר סיפור. אחרי הכל, הסיפור הזה והתופעה החשובה הזו משפיעים על חיינו ועל המרחב שמסביבנו.
המידע הגולמי הוא בקובץ CSV טבלאי הכולל מידע על עבירות לפי סוגים בחלוקה לפי תחנות משטרה והאזור שבו בוצעו העבירות, לשנים 2011-2016.
החיבור הגיאוגרפי המפורט ביותר הוא מספר האזור הסטטיסטי.
החלטתי ליצור סיפור ותצוגה של המידע מבוססים על מפות, לא טבלאות. זה הרבה יותר מעניין, ויכול להסביר תופעות שלא ניראות בטבלה, ברור ונגיש.
לכן, הצעד הראשון היה ללמוד את מבנה הנתונים, הערכים הקיימים והסטטיסטיקה.
בחרתי לטעון את הטבלה ולנתח אותה בבסיס הנתוניםPostgreSQL .
(התהליך יכול להיעשות בקלות בשיטות אחרות, למשל: שימוש בספריית Pandas-Python במחברת Jupyter ועוד)
איך טוענים קובץ CSV ל-PostgreSQL?
דרך pgAdmin GUI :
- יוצרים טבלה ריקה לפי השדות הרצויים ב-Pgadmin על ידי קליק ימני על Tables->Create
- קליק ימני על הטבלה ובחירה של Import/Export לטעינת CSV
דרך SQL (מומלץ)
- פקודת CREATE TABLE
- פקודת COPY (לשים לב לפרמטרים: DELIMITER , CSV HEADER)
לאחר הטעינה, אפשר להתחיל לבחון את איכות המידע ולנקות את הטבלה מערכים כפולים, וערכים ריקים.
עיקר עבודת הניקוי היא על עמודת קוד האיזור הסטטיסטי , היא העמודה העיקרית לקישור לגיאוגרפיה.
- הורדת שכבת ה-GIS של איזורים סטטיסטיים של הלמ”ס
- טעינה של השכבה ל-PostGIS, הרכיב המרחבי של PostgreSQL
איך טוענים Shapefile ל-PostGIS?
יש מספר דרכים חזקות מאוד לטעינת מידע גיאוגרפי ל-Postgis: דרך תוכנת GIS (QGIS) דרך GDAL-OGR , דרך SQL ודרך כלי shp2pgsql המותקן יחד עם בסיס הנתונים (windows) המספק ממשק משתמש נוח ליבוא ויצוא של Shapefiles. אני השתמשתי במקרה הזה בכלי האחרון.
השכבה נטענת ומוצגת כטבלה לכל דבר, ואחרי הניקוי והטעינה אפשר לנסות ולחבר את הטבלה לעולם הגיאוגרפי ע”י Join.
פשוט? לא בדיוק..
המידע לא מתחבר במלואו בין השכבה לטבלה כמו שציפיתי. (שימוש ב-Outer/Inner Join עוזר לבדיקה) והמון לאחר מחקר ושיטוט באינטרנט, מתברר כי מספרי האזורים הסטטיסטיים בנתוני המשטרה מבוססים על שנה ישנה יותר (הלמ”ס מעדכנת אותו מדי כמה שנים).
הייתי צריך להוריד את כל השכבות מכל השנים באתר הלמ”ס כדי לגלות מי הוא האחד, או להשתמש בטבלאות ההמרה של הלמ”ס כך שנתוני הפשע ישקפו את הגיאוגרפיה האמיתית על המפה.
אחרי שהחיבור המלא נוצר אפשר להציג את הפשעים גם לפי יישוב, (ע”י אגרגציה של האיזור הסטטיסטי מול שכבת יישובים) לפי אזור סטטיסטי (חלוקה גיאוגרפית בתוך היישוב לאזורים קטנים יותר). אפשר גם לחבר את המידע לפי שכונות במידה ויש את המידע, למשל בת”א חיבור מול שכבת השכונות שהעירייה שיחררה לציבור.
את התצוגה מומלץ לעשות בשיטות ויזואליות אטרקטיביות וכגון deckgl.js ליצירת אפקטים חלקים ותלת-ממדיים בדפדפן.
תצוגה:
מפות נושאיות; צביעת כל אזור לפי צבע, צבעים כהים למספר גבוה של פשעים.
שיטת תצוגה זו היא השיטה הסטנדרטית והנפוצה. רציתי לפצות על היעדר נתונים מפורטים יותר מאשר האזור הסטטיסטי, ולכן השתמשתי ST_GeneratePoints ב- PostGIS כדי לייצר אפקט חזותי מלאכותי של נקודות הפרוסות על פני האזור כמספר הפשעים. האפקט החזותי, מדגיש יפה אזורים שבהם נקודות הן מאוד צפופות על פני אזורים קטנים.
הפונקציה לייצור נקודות אקראיות יכולה להיעשות גם ב-Qgis ו- ArcGIS).
נירמול המידע:
כדי להפוך את התמונה לאמינה יותר של יחס הפשיעה עם האוכלוסייה, ננרמל את מספרי הפשיעה לכל 1,000 איש (בהתבסס על נתוני הלמ”ס)
סוג כזה של מידע פתוח ועיבוד שלו מסייעים מאוד לנתח תופעות עם קשר למרחב כגון פשע. לזהות איפה רמת הפשע ירדה או עלתה, באיזו שכונה היה המספר הגבוה ביותר של פשעים מסוג מסוים, ועוד הרבה יותר.
מידע על פשיעה לפי מיקום מסייע בקבלת החלטות ופתרון בעיות במגוון רחב של ענפים כגון ביטוח, נדל”ן, בנייה אקדמית וכו’ לנתח סיכונים, תכנון, בינה מלאכותית ועוד.
מפת הפשיעה בישראל 2021 לפי תחום מוניציפלי. צבע כהה יותר עבור מספרי פשיעה גבוהים יותר
אנימציה למפת הפשיעה במטרופולין תל אביב 2021
הצגת פשעים לפי יישוב, ובהגדלה, הצגת פשעים לפי אזור סטטיסטי