ערכות נתונים מאפשרות להעלות נתונים גיאו-מרחביים מקובץ מקומי או מ-Google Cloud Storage לפלטפורמה של מפות Google. לאחר מכן תוכלו לשייך מערך נתונים לסגנון מפה אחד או יותר ב-Cloud Console. אחרי שמקשרים את מערך הנתונים לסגנון של מפות, משתמשים ב-API של סגנון מבוסס-נתונים כדי להחיל סגנון דינמי על אפליקציית המפות.
אפשר גם להשתמש ב-REST API כדי להעלות את הנתונים הגיאוגרפיים למערך נתונים. מידע נוסף זמין במאמר בנושא Maps Datasets API
הגדרת תפקידים
כדי ליצור ולנהל מערכי נתונים בפרויקט ב-Google Cloud, צריך להיות לכם תפקיד הבעלים או העריכה ב-IAM בפרויקט.
לחלופין, אפשר להקצות את תפקידי ה-IAM הבאים לחשבון משתמש או לחשבון שירות שמשמשים לניהול מערכי נתונים:
- התפקיד
Maps Platform Datasets Admin
מעניק למשתמש או לחשבון השירות גישת קריאה/כתיבה למערכי נתונים בפרויקט. התפקיד הזה מאפשר למשתמש לבצע את כל הפעולות במערך נתונים. - התפקיד
Maps Platform Datasets Viewer
מעניק גישה לקריאה בלבד למערכי נתונים בפרויקט. התפקיד הזה מאפשר לבצע פעולות של הצגת רשימה, קבלת נתונים או הורדה של מערך נתונים.
מידע נוסף זמין במאמר איך נותנים תפקידים ב-IAM באמצעות מסוף Google Cloud.
מקור נתונים של מערך נתונים
אחרי שיוצרים מערך נתונים, מעלים אליו את הנתונים מ-Google Cloud Storage או מקובץ מקומי.כשמעלים נתונים מ-Cloud Storage, מציינים את נתיב הקובץ למשאב שמכיל את הנתונים ב-Cloud Storage. הנתיב הזה הוא מהצורה
gs://GCS_BUCKET/FILE
.למשתמש ששולח את הבקשה צריך להיות התפקיד צפייה באובייקט אחסון או כל תפקיד אחר שכולל את ההרשאה
storage.objects.get
. מידע נוסף על ניהול הגישה ל-Cloud Storage זמין במאמר סקירה כללית על בקרת גישה.- כשמעלים נתונים מקובץ מקומי, צריך לציין את הנתיב לקובץ GeoJSON, KML או CSV שמכיל את הנתונים להעלאה.
דרישות מוקדמות
כשיוצרים מערך נתונים:
- השמות לתצוגה צריכים להיות ייחודיים בפרויקט Google Cloud.
- שמות לתצוגה צריכים להיות באורך של פחות מ-64 בייטים (מכיוון שהתווים האלה מיוצגים ב-UTF-8, בשפות מסוימות כל תו יכול להיות מיוצג על ידי כמה בייטים).
- התיאורים צריכים להיות באורך של עד 1,000 בייט.
כשמעלים נתונים:
- סוגי הקבצים הנתמכים הם CSV, GeoJSON ו-KML.
- הגודל המקסימלי של קובץ שנתמך הוא 500MB.
- שמות של עמודות מאפיינים לא יכולים להתחיל במחרוזת '?_'.
- אין תמיכה בגיאומטריות תלת-ממדיות. כולל הסיומת Z בפורמט WKT, ואת קואורדינטת הגובה בפורמט GeoJSON.
שיטות מומלצות להכנת נתונים
אם נתוני המקור שלכם מורכבים או גדולים, למשל נקודות צפופות, קווים ארוכים או מצולעים (לרוב, קבצים בגודל של יותר מ-50MB נכללים בקטגוריה הזו), מומלץ לפשט את הנתונים לפני ההעלאה כדי להשיג את הביצועים הטובים ביותר במפה חזותית.
ריכזנו כאן כמה שיטות מומלצות להכנת הנתונים:
- צמצום מאפייני התכונות. שומרים רק את מאפייני התכונות שנדרשים לעיצוב המפה, למשל 'מזהה' ו'קטגוריה'. אפשר לצרף מאפיינים נוספים לתכונה באפליקציית לקוח באמצעות סגנונות מבוססי-נתונים במפתח מזהה ייחודי. לדוגמה, אפשר לעיין במאמר צפייה בנתונים בזמן אמת באמצעות סגנון מבוסס-נתונים.
- כדאי להשתמש בסוגי נתונים פשוטים לאובייקטים של מאפיינים, כמו מספרים שלמים, כדי למזער את גודל המשבצת ולשפר את ביצועי המפה.
- לפני שמעלים קובץ, כדאי לפשט צורות גיאומטריות מורכבות. אפשר לעשות את זה בכלי גיאוספציאלי לבחירתכם, כמו כלי השירות Mapshaper.org בקוד פתוח, או ב-BigQuery באמצעות ST_Simplify על גיאומטריות מורכבות של מצולעים.
- לפני שמעלים קובץ, מקבצים נקודות צפופות מאוד. אפשר לעשות את זה בכלי גיאו-מרחבי לבחירתכם, כמו פונקציות האשכול של turf.js בקוד פתוח, או ב-BigQuery באמצעות ST_CLUSTERDBSCAN על גיאומטריות של נקודות צפופות.
הנחיות נוספות לגבי שיטות מומלצות לשימוש במערכי נתונים זמינות במאמר הדמיה של הנתונים באמצעות מערכי נתונים ו-BigQuery.
דרישות GeoJSON
Maps SDK ל-iOS תומך במפרט GeoJSON הנוכחי. Maps SDK ל-iOS תומך גם בקובצי GeoJSON שמכילים כל אחד מסוגי האובייקטים הבאים:
- אובייקטים גיאומטריים. אובייקט גיאומטרי הוא צורה מרחבית, שמתוארת כאיחוד של נקודות, קווים ופוליגונים עם חורים אופציונליים.
- אובייקטים של תכונות. אובייקט תכונה מכיל גיאומטריה בתוספת צמדים של שם/ערך, שהמשמעות שלהם ספציפית לאפליקציה.
- אוספים של תכונות. אוסף תכונות הוא קבוצה של אובייקטים של תכונות.
Maps SDK for iOS לא תומך בקובצי GeoJSON שיש בהם נתונים במערכת הפניות לקואורדינטות (CRS) שאינה WGS84.
מידע נוסף על GeoJSON זמין במאמר בנושא תאימות ל-RFC 7946.
דרישות לגבי קובצי KML
הדרישות ל-Maps SDK ל-iOS הן:
- כל כתובות ה-URL צריכות להיות מקומיות (או יחסיות) לקובץ עצמו.
- נתמכות גיאומטריות של נקודות, קווים ופוליגונים.
- כל מאפייני הנתונים נחשבים למחרוזות.
- סמלים או
<styleUrl>
שמוגדרים מחוץ לקובץ. - קישורים לרשת, כמו
<NetworkLink>
- שכבות-על של קרקע, כמו
<GroundOverlay>
- גיאומטריות בתלת-ממד או תגים שקשורים לגובה, כמו
<altitudeMode>
- מפרט המצלמה, כמו
<LookAt>
- סגנונות שמוגדרים בתוך קובץ ה-KML.
דרישות לשימוש בקובץ CSV
לגבי קובצי CSV, שמות העמודות הנתמכים מפורטים בהמשך לפי סדר העדיפות:
latitude
,longitude
lat
,long
x
,y
wkt
(Well-Known Text)address
,city
,state
,zip
address
- עמודה אחת שמכילה את כל פרטי הכתובת, כמו
1600 Amphitheatre Parkway Mountain View, CA 94043
לדוגמה, הקובץ מכיל עמודות בשמות x
, y
ו-wkt
.
למאפיינים x
ו-y
יש עדיפות גבוהה יותר, כפי שנקבע לפי הסדר של שמות העמודות הנתמכים ברשימה שלמעלה. לכן, המערכת משתמשת בערכים בעמודות x
ו-y
ומתעלמת מהעמודה wkt
.
כמו כן:
- כל שם עמודה צריך להיות שייך לעמודה אחת בלבד. כלומר, אי אפשר להשתמש בעמודה בשם
xy
שמכילה נתוני קואורדינטות x ו-y. קואורדינטות ה-x וה-y צריכות להיות בעמודות נפרדות. - שמות העמודות הם לא תלויי-רישיות.
- סדר שמות העמודות לא משנה. לדוגמה, אם קובץ ה-CSV מכיל עמודות
lat
ו-long
, הן יכולות להופיע בכל סדר.
טיפול בשגיאות בהעלאת נתונים
כשמעלים נתונים למערך נתונים, יכול להיות שתיתקלו באחת מהשגיאות הנפוצות שמתוארות בקטע הזה.
שגיאות ב-GeoJSON
שגיאות נפוצות ב-GeoJSON:
- חסר השדה
type
, או שהערך שלtype
הוא לא מחרוזת. קובץ הנתונים בפורמט GeoJSON שמעלים צריך להכיל שדה מחרוזת בשםtype
כחלק מההגדרה של כל אובייקט Feature ואובייקט Geometry.
שגיאות KML
דוגמאות לשגיאות נפוצות ב-KML:
- קובץ הנתונים לא יכול להכיל אף אחת מהתכונות של KML שלא נתמכות ומפורטות למעלה, אחרת יכול להיות שייבוא הנתונים ייכשל.
שגיאות ב-CSV
שגיאות נפוצות בקובצי CSV:
- בחלק מהשורות חסרים ערכים בעמודת הגיאומטריה. כל השורות בקובץ CSV צריכות להכיל ערכים לא ריקים בעמודות הגיאומטריה. עמודות הגיאומטריה כוללות:
latitude
,longitude
lat
,long
x
,y
wkt
address
,city
,state
,zip
address
- עמודה אחת שמכילה את כל פרטי הכתובת, כמו
1600 Amphitheatre Parkway Mountain View, CA 94043
- אם
x
ו-y
הן עמודות הגיאומטריה, מוודאים שהיחידות הן קווי אורך ורוחב. חלק ממערכי הנתונים הציבוריים משתמשים במערכות קואורדינטות שונות בכותרותx
ו-y
. אם משתמשים ביחידות שגויות, יכול להיות שמערך הנתונים ייווה בהצלחה, אבל הנתונים שיוצגו יראו את הנקודות במערך הנתונים במיקומים לא צפויים.
יצירת מערך נתונים
כדי ליצור מערך נתונים:
- במסוף Google Cloud, עוברים לדף Datasets.
- לוחצים על יצירת קבוצת נתונים.
- מזינים את השם של מערך הנתונים. השם חייב להיות ייחודי בין כל מערכי הנתונים.
- אפשר גם להזין תיאור למערך הנתונים.
- לוחצים על המשך. יופיע הדף ייבוא נתונים.
- בוחרים את מקור ההעלאה של הנתונים שמשמשים לאכלוס מערך הנתונים: מחשב, כלומר קובץ מקומי במערכת, או קטגוריה ב-Google Cloud Storage.
- בקטע מחשב, לוחצים על עיון ואז בוחרים את הקובץ מתוך בורר הקבצים.
- בשדה Google Cloud Storage bucket, לוחצים על Browse ובוחרים את הקטגוריה ואת הקובץ שמכילים את הנתונים.
- בוחרים את פורמט הקובץ.
- לוחצים על המשך כדי לבדוק את ההגדרות.
לוחצים על יצירה. יופיע הדף מערכי נתונים עם מערך הנתונים החדש. הסטטוס צריך להיות בעיבוד.
אם העלאת הנתונים הושלמה בהצלחה:
- הסטטוס של מערך הנתונים מוגדר כהושלם.
- מערך הנתונים הופך לגרסה 'הפעילה' והאפליקציה משתמשת בגרסה הזו.
אם יש שגיאה בהעלאה:
- הסטטוס של הגרסה החדשה של מערך הנתונים מוגדר לסטטוס שאינו COMPLETED.
הצגה או שינוי של מערך נתונים
אחרי שיוצרים מערך נתונים, אפשר להציג או לשנות אותו:
- במסוף Google Cloud, עוברים לדף Datasets.
- לוחצים על השם של מערך הנתונים. יופיע הדף Dataset details.
- לוחצים על הכרטיסייה פרטים כדי לראות מידע על מערך הנתונים. בכרטיסייה הזו אפשר גם לערוך את השם והתיאור של מערך הנתונים.
- לוחצים על הכרטיסייה תצוגה מקדימה כדי לראות את מערך הנתונים במפה (רק מערכי נתונים עם סטטוס הושלם או הוחזר למצב הקודם).
- לוחצים על הכרטיסייה נתוני טבלה כדי לראות את כל המאפיינים של מערך הנתונים (מערכי נתונים עם סטטוס הושלם או בוטל בלבד). אלה המאפיינים שבהם אפשר להשתמש כדי להגדיר את הסגנון של מערך הנתונים במפה.
- לוחצים על הלחצן הורדה כדי להוריד את הנתונים לקובץ מקומי.
- לוחצים על הלחצן Delete כדי למחוק את מערך הנתונים.
לוחצים על הלחצן ייבוא קובץ נתונים כדי להעלות נתונים חדשים למערך הנתונים.
העלאת נתונים חדשים למערך הנתונים יוצרת גרסה חדשה של מערך הנתונים. אם העלאת הנתונים החדשים תצליח:
- הסטטוס של הגרסה החדשה של מערך הנתונים מוגדר כהושלם.
- הגרסה החדשה הופכת לגרסה 'פעילה' והיא הגרסה שבה האפליקציה משתמשת.
אם יש שגיאה בהעלאה:
- הסטטוס של הגרסה החדשה של מערך הנתונים מוגדר לסטטוס שאינו COMPLETED. לדוגמה, אם יש גרסה קודמת עם הסטטוס 'פעילה', הסטטוס של מערך הנתונים מוגדר ל-REVERTED.
- גרסת מערך הנתונים שסומנה קודם כ'פעילה' נשארת הגרסה ה'פעילה' והיא הגרסה שבה נעשה שימוש באפליקציה.