ניתוח נתונים גיאו-מרחביים ב-BigQuery מאפשר לנתח נתונים מבוססי-מיקום ולהציג אותם באופן חזותי בצורה חלקה. המרת קואורדינטות גולמיות של קווי רוחב ואורך לנקודות גיאוגרפיות מאפשרת להריץ שאילתות מרחביות ולשרטט מפות אינטראקטיביות ישירות ממחסן הנתונים.
מטרות
- משתמשים בפונקציה של ניתוח נתונים גיאו-מרחביים כדי להמיר את העמודות של קווי האורך והרוחב לנקודות גיאוגרפיות.
- מריצים שאילתה שמוצאת את כל תחנות Citi Bike שיש בהן יותר מ-30 אופניים זמינים להשכרה.
- הצגה חזותית של התוצאות ב-BigQuery.
- המחשה חזותית של התוצאות ב-BigQuery Geo Viz.
עלויות
במדריך הזה משתמשים ברכיבים של Google Cloud, כולל BigQuery, והשימוש בהם כרוך בתשלום.
החיובים הם על:
- הרצת שאילתות על נתונים במערכי הנתונים הציבוריים של BigQuery.
- ה-1TB הראשון בכל חודש ניתן בחינם.
- אם אתם משתמשים בתמחור מבוסס-קיבולת, עלויות השאילתות כלולות במחיר מבוסס-הקיבולת.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- BigQuery מופעל באופן אוטומטי בפרויקטים חדשים.
כדי להפעיל את BigQuery בפרויקט קיים, עוברים אל
מפעילים את BigQuery API, אם הוא עדיין לא מופעל.
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
עיון בנתונים לדוגמה
במדריך הזה משתמשים במערך נתונים שזמין דרך תוכנית מערכי הנתונים הציבוריים שלGoogle Cloud . מערך נתונים ציבורי הוא כל מערך נתונים שמאוחסן ב-BigQuery וזמין לציבור הרחב. מערכי הנתונים שגלויים לכולם הם מערכי נתונים שמתארחים ב-BigQuery, ואתם יכולים לגשת אליהם ולשלב אותם באפליקציות שלכם. Google משלמת על האחסון של מערכי הנתונים האלה ומספקת גישה ציבורית לנתונים באמצעות פרויקט. אתם משלמים רק על השאילתות שאתם מבצעים על הנתונים (ה-1TB הראשון בכל חודש הוא בחינם, בכפוף לפרטי התמחור של השאילתות).
מערך הנתונים NYC Citi Bike Trips
Citi Bike היא התוכנית הגדולה ביותר בארה"ב להשכרת אופניים, עם 10,000 זוגות אופניים ו-600 תחנות במנהטן, ברוקלין, קווינס וג'רזי סיטי. מערך הנתונים הזה כולל נסיעות ב-Citi Bike מאז ההשקה של Citi Bike בספטמבר 2013, והוא מתעדכן מדי יום. הנתונים מעובדים על ידי Citi Bike כדי להסיר נסיעות שבוצעו על ידי הצוות לצורך תחזוקה ובדיקה של המערכת, וכל נסיעה שנמשכת פחות מ-60 שניות, שנחשבת להתחלה שגויה.
כדי להתחיל לחקור את הנתונים האלה במסוף BigQuery, אפשר להציג את הפרטים של הטבלה 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 :
נכנסים לדף BigQuery במסוף Google Cloud .
מזינים את שאילתת 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
לוחצים על Run.
השאילתה תסתיים תוך כמה רגעים. אחרי שהשאילתה תרוץ, התוצאות יופיעו בחלונית Query results.
הצגה חזותית של התוצאות ב-BigQuery
כדי להציג את התוצאות במפה אינטראקטיבית:
בחלונית Query results, לוחצים על Visualization.
הנקודות במפה מציגות את המיקומים של כל תחנת אופניים.
אתם יכולים להחיל על המפה סגנון אחיד או סגנון מבוסס-נתונים. כדי לראות כמה אופניים זמינים בכל תחנה, בוחרים באפשרות
num_bikes_availableבשדה Data column.כדי לשפר את הניראות, אפשר לשנות את הערכים של אטימות, צבע או גודל נקודה. אם הנתונים מכילים חריגות, אפשר לשנות את הערכים Min ו-Max. אזורים גיאוגרפיים עם ערכים מחוץ לטווח הזה עדיין מוצגים במפה, אבל לא מוחל עליהם צבע.
כדי לראות את המאפיינים של אזור גיאוגרפי, לוחצים עליו.
כדי להציג את המפה במצב לוויין, לוחצים על לוויין.
הצגה חזותית של תוצאות השאילתה ב-Geo Viz
אתם יכולים גם להציג את התוצאות באמצעות BigQuery Geo Viz – כלי אינטרנט להצגת נתונים גיאו-מרחביים ב-BigQuery באמצעות ממשקי Google Maps API.
הפעלת Geo Viz ואימות
לפני שמשתמשים ב-Geo Viz, צריך לבצע אימות ולהעניק גישה לנתונים ב-BigQuery.
כדי להגדיר את Geo Viz:
פותחים את כלי האינטרנט Geo Viz.
פותחים את כלי האינטרנט Geo Viz.
יכול להיות שתצטרכו להפעיל קובצי Cookie כדי לאשר את הכלי הזה ולהשתמש בו.
בשלב הראשון, Query, לוחצים על Authorize.
בתיבת הדו-שיח בחירת חשבון, לוחצים על חשבון Google.
בתיבת הדו-שיח של הגישה, לוחצים על Allow כדי לתת ל-Geo Viz גישה לנתונים ב-BigQuery.
הרצת שאילתת GoogleSQL על נתונים גיאו-מרחביים
אחרי האימות והענקת הגישה, השלב הבא הוא להריץ את השאילתה ב-Geo Viz.
כדי להריץ את השאילתה:
בשלב הראשון, Select data, מזינים את מזהה הפרויקט בשדה Project ID.
בחלון השאילתה, מזינים את שאילתת 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
לוחצים על Run.
כשהשאילתה מסתיימת, לוחצים על Show results. אפשר גם ללחוץ על השלב השני, הגדרת עמודות.
עכשיו אתם עוברים לשלב השני. בשלב השני, בוחרים באפשרות 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צריך להכיל רק צבעים.
כדי לעצב את המפה:
לוחצים על הוספת סגנונות בשלב השני או לוחצים על השלב השלישי סגנון.
לשנות את הצבע של הנקודות. לוחצים על fillColor.
בשדה ערך, מזינים את קוד הצבע ב-HTML לכחול:
#0000FF.לוחצים על החלת הסגנון.
בודקים את המפה. אם לוחצים על אחת מהנקודות, הערך מוצג.

לוחצים על fillOpacity.
בשדה Value, מזינים
0.5ולוחצים על Apply Style.
בודקים את המפה. צבע המילוי של הנקודות הוא עכשיו חצי שקוף.
משנים את גודל הנקודות בהתאם למספר האופניים הזמינים. לוחצים על circleRadius.
בחלונית circleRadius:
- לוחצים על מבוסס-נתונים.
- בשדה Function, בוחרים באפשרות linear.
- בשדה Field, בוחרים באפשרות
num_bikes_available. - בשדה Domain, מזינים
30בתיבה הראשונה ו-60בתיבה השנייה. בשדה טווח, מזינים
5בתיבה הראשונה ו-20בתיבה השנייה.
בודקים את המפה. הרדיוס של כל עיגול תואם עכשיו למספר האופניים שזמינים במיקום הזה.
סוגרים את Geo Viz.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים או להשאיר את הפרויקט ולמחוק את המשאבים הנפרדים.
- אתם יכולים למחוק את הפרויקט שיצרתם.
- אפשר גם לשמור את הפרויקט לשימוש עתידי.
כדי למחוק את הפרויקט:
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
המאמרים הבאים
- למידע נוסף על אפשרויות ההמחשה של ניתוח נתונים גיאו-מרחביים, קראו את המאמר המחשת נתונים גיאו-מרחביים.
- למידע נוסף על עבודה עם נתוני ניתוח גיאו-מרחבי, ראו עבודה עם נתונים גיאו-מרחביים.
- במדריך שימוש בניתוח נתונים גיאו-מרחביים כדי לשרטט מסלול של הוריקן מוסבר איך משתמשים בניתוח נתונים גיאו-מרחביים.
- במאמר פונקציות גיאוגרפיות ב-GoogleSQL מוסבר על פונקציות GoogleSQL בניתוח נתונים גיאו-מרחביים.