איך מתחילים להשתמש בניתוח נתונים גיאו-מרחביים

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

מטרות

  • משתמשים בפונקציה של ניתוח נתונים גיאו-מרחביים כדי להמיר את העמודות של קווי האורך והרוחב לנקודות גיאוגרפיות.
  • מריצים שאילתה שמוצאת את כל תחנות Citi Bike שיש בהן יותר מ-30 אופניים זמינים להשכרה.
  • הצגה חזותית של התוצאות ב-BigQuery.
  • המחשה חזותית של התוצאות ב-BigQuery Geo Viz.

עלויות

במדריך הזה משתמשים ברכיבים של Google Cloud, כולל BigQuery, והשימוש בהם כרוך בתשלום.

החיובים הם על:

לפני שמתחילים

  1. נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. ‫BigQuery מופעל באופן אוטומטי בפרויקטים חדשים. כדי להפעיל את BigQuery בפרויקט קיים, עוברים אל

    מפעילים את BigQuery API, אם הוא עדיין לא מופעל.

    התפקידים שנדרשים כדי להפעיל ממשקי API

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

עיון בנתונים לדוגמה

במדריך הזה משתמשים במערך נתונים שזמין דרך תוכנית מערכי הנתונים הציבוריים שלGoogle Cloud . מערך נתונים ציבורי הוא כל מערך נתונים שמאוחסן ב-BigQuery וזמין לציבור הרחב. מערכי הנתונים שגלויים לכולם הם מערכי נתונים שמתארחים ב-BigQuery, ואתם יכולים לגשת אליהם ולשלב אותם באפליקציות שלכם. ‫Google משלמת על האחסון של מערכי הנתונים האלה ומספקת גישה ציבורית לנתונים באמצעות פרויקט. אתם משלמים רק על השאילתות שאתם מבצעים על הנתונים (ה-1TB הראשון בכל חודש הוא בחינם, בכפוף לפרטי התמחור של השאילתות).

מערך הנתונים NYC Citi Bike Trips

נסיעות ב-Citi Bike בניו יורק

Citi Bike היא התוכנית הגדולה ביותר בארה"ב להשכרת אופניים, עם 10,000 זוגות אופניים ו-600 תחנות במנהטן, ברוקלין, קווינס וג'רזי סיטי. מערך הנתונים הזה כולל נסיעות ב-Citi Bike מאז ההשקה של Citi Bike בספטמבר 2013, והוא מתעדכן מדי יום. הנתונים מעובדים על ידי Citi Bike כדי להסיר נסיעות שבוצעו על ידי הצוות לצורך תחזוקה ובדיקה של המערכת, וכל נסיעה שנמשכת פחות מ-60 שניות, שנחשבת להתחלה שגויה.

כדי להתחיל לחקור את הנתונים האלה במסוף BigQuery, אפשר להציג את הפרטים של הטבלה citibike_stations:

מעבר לסכימה citibike_stations

שלוש עמודות בטבלה הזו רלוונטיות למדריך הזה:

  • ‫bike_stations.longitude: קו האורך של התחנה. הערכים הם קווי אורך חוקיים לפי תקן WGS 84 בפורמט של מעלות עשרוניות.
  • ‫bike_stations.latitude: קו הרוחב של התחנה. הערכים הם קווי רוחב חוקיים לפי תקן WGS 84 בפורמט של מעלות עשרוניות.
  • ‫num_bikes_available: מספר האופניים שזמינים להשכרה.

שאילתה על תחנות אופניים עם יותר מ-30 זוגות אופניים זמינים

בחלק הזה של המדריך תריצו שאילתת GoogleSQL שמוצאת את כל תחנות Citi Bike בניו יורק שיש בהן יותר מ-30 אופניים זמינים להשכרה.

פרטי שאילתה

שאילתת GoogleSQL הבאה משמשת למציאת תחנות Citi Bike עם יותר מ-30 זוגות אופניים.

SELECT
  ST_GeogPoint(longitude, latitude)  AS WKT,
  num_bikes_available
FROM
  `bigquery-public-data.new_york.citibike_stations`
WHERE num_bikes_available > 30

הסעיפים בשאילתה מבצעים את הפעולות הבאות:

  • SELECT ST_GeogPoint(longitude, latitude) AS WKT, num_bikes_available
    הסעיף SELECT בוחר את העמודה num_bikes_available ומשתמש בפונקציה ST_GeogPoint כדי להמיר את הערכים בעמודות latitude ו-longitude לסוגי GEOGRAPHY (נקודות).
  • FROM `bigquery-public-data.new_york.citibike_stations`
    הסעיף FROM מציין את הטבלה שבה מתבצעת השאילתה: citibike_stations.
  • WHERE num_bikes_available > 30
    הסעיף WHERE מסנן את הערכים בעמודה num_bikes_available כך שיוצגו רק התחנות שיש בהן יותר מ-30 אופניים.

הרצה של שאילתה

כדי להריץ את השאילתה באמצעות מסוף Google Cloud :

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה לדף BigQuery

  2. מזינים את שאילתת GoogleSQL הבאה באזור הטקסט של עורך השאילתות.

    -- Finds Citi Bike stations with > 30 bikes
    SELECT
      ST_GeogPoint(longitude, latitude)  AS WKT,
      num_bikes_available
    FROM
      `bigquery-public-data.new_york.citibike_stations`
    WHERE num_bikes_available > 30
  3. לוחצים על Run.

    השאילתה תסתיים תוך כמה רגעים. אחרי שהשאילתה תרוץ, התוצאות יופיעו בחלונית Query results.

    תוצאות השאילתה של תחנת האופניים.

הצגה חזותית של התוצאות ב-BigQuery

כדי להציג את התוצאות במפה אינטראקטיבית:

  1. בחלונית Query results, לוחצים על Visualization.

    תרשים להמחשת המיקומים של תחנות האופניים.

    הנקודות במפה מציגות את המיקומים של כל תחנת אופניים.

  2. אתם יכולים להחיל על המפה סגנון אחיד או סגנון מבוסס-נתונים. כדי לראות כמה אופניים זמינים בכל תחנה, בוחרים באפשרות num_bikes_available בשדה Data column.

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

  4. כדי לראות את המאפיינים של אזור גיאוגרפי, לוחצים עליו.

  5. כדי להציג את המפה במצב לוויין, לוחצים על לוויין.

המחשה מעוצבת של מיקומים של תחנות אופניים.

הצגה חזותית של תוצאות השאילתה ב-Geo Viz

אתם יכולים גם להציג את התוצאות באמצעות BigQuery Geo Viz – כלי אינטרנט להצגת נתונים גיאו-מרחביים ב-BigQuery באמצעות ממשקי Google Maps API.

הפעלת Geo Viz ואימות

לפני שמשתמשים ב-Geo Viz, צריך לבצע אימות ולהעניק גישה לנתונים ב-BigQuery.

כדי להגדיר את Geo Viz:

  1. פותחים את כלי האינטרנט Geo Viz.

    פותחים את כלי האינטרנט Geo Viz.

    יכול להיות שתצטרכו להפעיל קובצי Cookie כדי לאשר את הכלי הזה ולהשתמש בו.

  2. בשלב הראשון, Query, לוחצים על Authorize.

    כפתור ההרשאה של Geo Viz.

  3. בתיבת הדו-שיח בחירת חשבון, לוחצים על חשבון Google.

    תיבת דו-שיח לבחירת חשבון.

  4. בתיבת הדו-שיח של הגישה, לוחצים על Allow כדי לתת ל-Geo Viz גישה לנתונים ב-BigQuery.

    תיבת דו-שיח למתן גישה.

הרצת שאילתת GoogleSQL על נתונים גיאו-מרחביים

אחרי האימות והענקת הגישה, השלב הבא הוא להריץ את השאילתה ב-Geo Viz.

כדי להריץ את השאילתה:

  1. בשלב הראשון, Select data, מזינים את מזהה הפרויקט בשדה Project ID.

  2. בחלון השאילתה, מזינים את שאילתת GoogleSQL הבאה.

    -- Finds Citi Bike stations with > 30 bikes
    SELECT
      ST_GeogPoint(longitude, latitude)  AS WKT,
      num_bikes_available
    FROM
      `bigquery-public-data.new_york.citibike_stations`
    WHERE num_bikes_available > 30
  3. לוחצים על Run.

  4. כשהשאילתה מסתיימת, לוחצים על Show results. אפשר גם ללחוץ על השלב השני, הגדרת עמודות.

    רואים את התוצאות.

  5. עכשיו אתם עוברים לשלב השני. בשלב השני, בוחרים באפשרות WKT בשדה Geometry column. הפעולה הזו תציג את הנקודות שתואמות לתחנות האופניים במפה.

    תוצאות ממופות.

עיצוב התרשים להמחשת הנתונים

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

מאפייני הסגנון הנתמכים כוללים:

  • fillColor. צבע המילוי של פוליגון או נקודה. לדוגמה, אפשר להשתמש בפונקציות "linear" או "interval" כדי למפות ערכים מספריים לטווח צבעים.
  • fillOpacity. מידת האטימות של המילוי של פוליגון או נקודה. הערכים צריכים להיות בטווח שבין 0 ל-1, כאשר 0 = שקוף ו-1 = אטום.
  • strokeColor. צבע קו המתאר של פוליגון או קו.
  • strokeOpacity. האטימות של קו המתאר של הפוליגון או הקו. הערכים צריכים להיות בטווח שבין 0 ל-1, כאשר 0 = שקוף ו-1 = אטום.
  • strokeWeight. רוחב הקו או קו המתאר בפיקסלים של פוליגון או קו.
  • circleRadius. הרדיוס של העיגול שמייצג נקודה בפיקסלים. לדוגמה, אפשר להשתמש בפונקציה "לינארית" כדי למפות ערכים מספריים לגדלים של נקודות וליצור סגנון של תרשים פיזור.

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

  • function. פונקציה שמשמשת לחישוב ערך של סגנון לפי הערכים של שדה.
  • identity. ערך הנתונים של כל שדה משמש כערך העיצוב.
  • קטגוריאלי. ערכי הנתונים של כל שדה שמופיע בתחום ממופים אחד לאחד לסגנונות התואמים בטווח.
  • interval. ערכי הנתונים של כל שדה מעוגלים כלפי מטה לערך הקרוב ביותר בתחום, ואז מעוצבים בסגנון המתאים בטווח.
  • לינארי. ערכי הנתונים של כל שדה עוברים אינטרפולציה לינארית בין הערכים בתחום, ואז מעוצבים באמצעות שילוב של הסגנונות התואמים בטווח.
  • field. השדה שצוין בנתונים משמש כקלט לפונקציית העיצוב.
  • domain. רשימה מסודרת של ערכי קלט לדוגמה משדה. ערכי קלט לדוגמה (תחום) משויכים לערכי פלט לדוגמה (טווח) על סמך הפונקציה הנתונה, ומשמשים להסקת ערכי סגנון לכל ערכי הקלט (גם אלה שלא מופיעים בתחום). הערכים בתחום חייבים להיות מאותו סוג (טקסט, מספר וכו') כמו הערכים של השדה שאתם מציגים.
  • range. רשימה של ערכי פלט לדוגמה של כלל הסגנון. הערכים בטווח חייבים להיות מאותו סוג (צבע או מספר) כמו מאפיין הסגנון שאתם שולטים בו. לדוגמה, הטווח של המאפיין fillColor צריך להכיל רק צבעים.

כדי לעצב את המפה:

  1. לוחצים על הוספת סגנונות בשלב השני או לוחצים על השלב השלישי סגנון.

  2. לשנות את הצבע של הנקודות. לוחצים על fillColor.

  3. בשדה ערך, מזינים את קוד הצבע ב-HTML לכחול: #0000FF.

  4. לוחצים על החלת הסגנון.

    צבע מילוי.

  5. בודקים את המפה. אם לוחצים על אחת מהנקודות, הערך מוצג.

    פרטי הנקודה במפה.

  6. לוחצים על fillOpacity.

  7. בשדה Value, מזינים 0.5 ולוחצים על Apply Style.

    מידת האטימות של המילוי.

  8. בודקים את המפה. צבע המילוי של הנקודות הוא עכשיו חצי שקוף.

    מפה עם נקודות שקופות למחצה.

  9. משנים את גודל הנקודות בהתאם למספר האופניים הזמינים. לוחצים על circleRadius.

  10. בחלונית circleRadius:

    1. לוחצים על מבוסס-נתונים.
    2. בשדה Function, בוחרים באפשרות linear.
    3. בשדה Field, בוחרים באפשרות num_bikes_available.
    4. בשדה Domain, מזינים 30 בתיבה הראשונה ו-60 בתיבה השנייה.
    5. בשדה טווח, מזינים 5 בתיבה הראשונה ו-20 בתיבה השנייה.

      רדיוס העיגול.

  11. בודקים את המפה. הרדיוס של כל עיגול תואם עכשיו למספר האופניים שזמינים במיקום הזה.

    המפה הסופית.

  12. סוגרים את Geo Viz.

הסרת המשאבים

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

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

כדי למחוק את הפרויקט:

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

המאמרים הבאים