map_layer

Usage

map_layer: company_regions {
  feature_key: "ISO_A3"
  file: "/map_folder/regions.json"
  format: topojson
  label: "desired label for chart visualization"
  max_zoom_level: 12
  min_zoom_level: 2
  projection: airy
  property_key: "ISO_A3"
  property_label_key: "NAME"
}
היררכיה
map_layer
ערך ברירת המחדל
ללא

אישור
מזהה של שכבת המפה, בתוספת פרמטרים משניים שמגדירים את המאפיינים של שכבת המפה.

הגדרה

הפרמטר map_layer מאפשר להגדיר שכבת מפה מותאמת אישית שאפשר להשתמש בה כדי לשרטט נתונים אזוריים, כמו מחוזות או מיקודים, ב-Looker וליצור תרשימי מפה.

כשקיימת שכבת מפה, בדרך כלל ההמחשה האינטראקטיבית של המפה נבחרת כהמחשה של מפת ברירת המחדל. יוצא מן הכלל הוא מפת המדינות בארה"ב, שבה Looker משתמש כברירת מחדל בתרשים 'אזור מפה סטטי' כי הוא משתמש בתוספות עבור אלסקה והוואי.

שכבות במפה יכולות לקבל קובצי TopoJSON או GeoJSON.

מידע נוסף על יצירת קובץ של שכבת מפה בהתאמה אישית זמין בדף השיטות המומלצות בנושא יצירת אזורים מותאמים אישית במפה.

מומלץ לשמור על קבצים של שכבות מפה בהתאמה אישית בגודל של פחות מ-5MB כדי שלא להעמיס על כרטיסיית הדפדפן של המשתמש.

שכבות מפה מובנות

‫Looker כולל כמה שכבות מפה מובנות. לפני שיוצרים שכבות מפה משלכם, כדאי לבדוק אם אפשר להשתמש באחת משכבות המפה המובנות:

שכבות המפה המובנות countries ו-us_states משתמשות באותיות רישיות בשמות של מדינות ומחוזות. הנתונים מוצגים בשכבת המפה באופן תלוי-אותיות רישיות, ולכן כדי להשתמש בשכבות המפה המובנות האלה, צריך להקפיד על שימוש נכון באותיות רישיות גם בנתונים שלכם. לדוגמה, אם במערך הנתונים שלכם מופיע 'new delhi' באותיות קטנות, הנתונים לא יוצגו בצורה נכונה בשכבות המפה המובנות, שבהן מופיע 'New Delhi'.

  • countries – מקבל שמות מלאים של מדינות, קודי מדינות בני 3 אותיות לפי ISO 3166-1 alpha-3 או קודי מדינות בני 2 אותיות לפי ISO 3166-1 alpha-2. חשוב לדעת: אתם צריכים להשתמש רק באחת משלוש האפשרויות האלה במערך הנתונים, ולא בשילוב של כמה מהן.

    אם הנתונים שלכם משתמשים בתקן ISO 3166-1 alpha-2, צריך לכלול את הפרמטר map_layer_name בהגדרה של מאפיין המדינה כדי לוודא ש-Looker מזהה את הנתונים כקודי מדינות ולא מפרש אותם בטעות כקודי מדינות בארה"ב. לדוגמה:

  dimension: country {
      type: string
      map_layer_name: countries
      sql: ${TABLE}.country ;;
  }
  • uk_postcode_areas – המערכת מקבלת אזורים במיקוד בבריטניה (לדוגמה, L לליברפול, RH לרדהיל או EH לאדינבורו).

  • us_states – אפשר להזין שמות מלאים של מדינות וקיצורים של שתי אותיות לציון מדינות.

  • us_counties_fips – פועל בשדות מחרוזת שהם קודי FIPS של מחוזות בארה"ב, בני חמישה תווים. השכבה הזו פועלת רק במפה האינטראקטיבית.

  • us_zipcode_tabulation_areas – פועל בשדות מחרוזת שהם מיקודים בארה"ב בני חמישה תווים. המאפיינים של type: zipcode משתמשים באופן אוטומטי בשכבת המפה us_zipcode_tabulation_areas.

    אזורי המיקוד מבוססים על אזורי טבלה של מיקודים (ZCTA) משנת 2010, ולכן שכבת המפה הזו לא כוללת הרבה מיקודים, כמו אלה שמוקצים לתאי דואר, שלא ממופים ישירות לאזורים.

ציון שכבת מפה

אפשר לציין את מיקום המפה באמצעות שם של קובץ או כתובת URL.

כשמשתמשים בקובץ GeoJSON, צריך להשתמש בפרמטר המשנה file או url. אפשר גם להשתמש במקשי הקיצור property_key ו-property_label_key. פרמטר המשנה feature_key לא נתמך בקובצי GeoJSON. התחביר הכללי להוספת שכבת מפה של GeoJSON הוא:

map_layer: identifier {
  file: "/file_path/file_name.geojson" # or use the url subparameter
  url: "string" # or use the file subparameter
  property_key: "string"
  property_label_key: "string"
}

התחביר הכללי להוספת שכבת מפה של TopoJSON הוא:

map_layer: identifier {
  extents_json_url: "string"
  feature_key: "string"
  file: "/file_path/file_name.json" # or use the url subparameter
  format: topojson | vector_tile_region
  label: "string"
  max_zoom_level: number
  min_zoom_level: number
  projection: airy  # or one of many other choices
  property_key: "string"
  property_label_key: "string"
  url: "string" # or use the file subparameter
}

כאשר:

פרמטר סוג תיאור
identifier String השם של המפה כפי שתתייחסו אליה ב-LookML.
file String המיקום של המפה, שצוין על ידי השם של קובץ JSON מפרויקט LookML. הקובץ צריך להיות בפורמט TopoJSON או GeoJSON, ולהשתמש באחת מהסיומות הבאות: .json, .geojson או .topojson.

צריך להשתמש בנתיב המלא לקובץ ה-JSON, למשל "/maps/countryobjects.json" לקובץ בספרייה /maps/. אם קובץ ה-JSON נמצא בספריית הבסיס ולא בתיקייה, אפשר לציין את ספריית הבסיס באמצעות קו נטוי יחיד, כך: "/countryobjects.json"

אם הפרויקט לא מוגדר לשימוש בתיקיות, קובצי JSON מוצגים בקטע Data ברשימת הקבצים של LookML IDE. בקטע דוגמאות שבהמשך הדף מופיע קוד LookML לכל אחד מהתרחישים האלה.
extents_json_url String כתובת ה-URL של קובץ JSON שמגדיר את הגבולות הגיאוגרפיים של כל אזור שזמין בשכבת המפה. הנתונים האלה משמשים למיקום אוטומטי של מרכז המפה על הנתונים הזמינים, למטרות ויזואליזציה. קובץ ה-JSON חייב להיות אובייקט JSON שבו המפתחות הם ערך המיפוי של התכונה (כפי שצוין על ידי property_key), והערכים הם מערכים של ארבעה מספרים שמייצגים את קווי האורך המערביים, קווי הרוחב הדרומיים, קווי האורך המזרחיים וקווי הרוחב הצפוניים של האזור. האובייקט חייב לכלול מפתח לכל ערך אפשרי של property_key. לדוגמה, extents_json_url: "https://mycompany.com/mapserver/json-extent.js". אם משתמשים בפרמטר הזה, צריך לציין את מיקום המפה באמצעות הפרמטר url.
feature_key String השם של אובייקט TopoJSON שאליו מתייחסת שכבת המפה. אם לא מציינים אובייקט, המערכת משתמשת באובייקט הראשון.
format מילת מפתח

topojson או vector_tile_region
פורמט הנתונים של פרטי האזור. בדרך כלל אנשים משתמשים ב-topojson.
label String מוצג בממשק המשתמש של הגדרת התרשים.
max_zoom_level מספר רמת הזום המקסימלית להתקרבות לשכבת המפה, להדמיות שתומכות בזום.
min_zoom_level מספר רמת הזום המינימלית להתקרבות לשכבת המפה, להמחשות שתומכות בהתקרבות.
projection מילת מפתח ההטלה הגיאוגרפית המועדפת של שכבת המפה כשהיא מוצגת בתצוגה חזותית שתומכת בכמה הטלות גיאוגרפיות. כשמוסיפים פרמטר של הקרנה, בעורך LookML מופיעה רשימה של ההקרנות הרבות שזמינות.
property_key String הנכס מנתוני TopoJSON שיוצג בתרשים. פורמט TopoJSON תומך במטא-נתונים שרירותיים לכל אזור. כברירת מחדל, המערכת משתמשת במאפיין הראשון שמתאים. אם רוצים להציג נתונים של מאפיין מטא-נתונים מסוים, מציינים אותו כאן.
property_label_key String המאפיין מנתוני TopoJSON שמשמש לתווית האזור. האפשרות הזו שימושית אם ערך המיפוי (שמוגדר על ידי property_key) לא קריא במיוחד.
url String מיקום המפה, שמוגדר באמצעות כתובת URL שמכילה את קובץ המפה.

דוגמאות

אם אפשר, מוסיפים את קובץ המפה לפרויקט ואז משתמשים בפרמטר file כדי להפנות לקובץ המפה.

צריך להשתמש בנתיב המלא לקובץ ה-JSON. אם הפרויקט לא מוגדר לשימוש בתיקיות, קובצי JSON מוצגים בקטע Data ברשימת הקבצים של LookML IDE.

לדוגמה, אם הפרויקט מופעל לתיקיות ויש לכם מפה מותאמת אישית של שכונות בשם my_neighborhoods.json בספרייה בשם maps, תשתמשו בנתיב המלא באופן הבא:

map_layer: neighborhoods {
  file: "/maps/my_neighborhoods.json"
}

אם לא משתמשים בתיקיות בפרויקט, קובצי מפה שהועלו מוצגים בקטע נתונים של הפרויקט. במקרה כזה, אפשר לציין רק את השם של קובץ my_neighborhoods.json:

map_layer: neighborhoods {
  file: "my_neighborhoods.json"
}

אפשר גם לציין שמפת neighborhoods בהתאמה אישית מתארחת במקום אחר, למשל בכתובת https://wherever.com/my_neighborhoods.json:

map_layer: neighborhoods {
  url: "https://wherever.com/my_neighborhoods.json"
}

אחרי שמגדירים את שכבת המפה (על ידי ציון קובץ או שימוש בפרמטר url), אפשר לציין שערכי מאפיין ישויכו לאזור גיאוגרפי במפה המותאמת אישית. במאפיין, משתמשים בפרמטר map_layer_name כדי לציין את השם שבו השתמשתם בפרמטר map_layer.

dimension: neighborhood {
  type: string
  map_layer_name: neighborhoods    # this is your map layer
  sql: ${TABLE}.neighborhood_code
}

כשמבצעים שאילתה על המאפיין הזה ופותחים את קטע הוויזואליזציה, Looker מציג את הנתונים בתרשים באמצעות קובץ ה-JSON‏ neighborhoods, כפי שמוגדר בפרמטר map_layer בקובץ המודל.

חשוב לדעת

תרשימים של מפות סטטיות (אזורים)

הגדרת מפה לערך אוטומטי בתרשימים של מפה סטטית (אזורים) מסתמכת על הגדרה של map_layer במודל LookML שמציין שכבת מפה. אם הפרמטר הזה לא מוגדר, המשתמשים מקבלים שגיאה אם הם בוחרים באפשרות אוטומטי, אבל הם עדיין יכולים להשתמש במפות המובנות של Looker.

קובצי GeoJSON

בדומה לקובצי TopoJSON, קובצי GeoJSON יכולים להשתמש בסיומת שם הקובץ .geojson או .json, אבל הם חייבים להכיל נתונים גיאוגרפיים בפורמט GeoJSON. כשמשתמשים בקובץ GeoJSON, צריך להשתמש בתת-פרמטר file או url, ואפשר להשתמש גם בתת-פרמטרים property_key ו-property_label_key.

שימוש ב-map_layer עם תיקיות IDE

אם הפעלתם תיקיות IDE בפרויקט, אתם צריכים להשתמש בנתיב כשאתם מציינים קובץ פרויקט עבור map_layer:

map_layer: neighborhoods {
  file: "/maps/my_neighborhoods.json"
}