כדי לעבור מ-Google Earth Engine Solar API ל-Google Maps Platform Solar API:
- מפעילים את Google Maps Platform Solar API בפרויקט בענן.
- ליצור מפתח חדש ולהגביל אותו ל-GMP Solar API.
- אתם יכולים לעדכן את הקוד לפי ההוראות המפורטות שבהמשך.
השוואה בטבלה
API Solar (חדש) | Earth Engine Solar API (הוצא משימוש) | |
---|---|---|
סטטוס הפעלה | הופעל | פיילוט (הוצא משימוש) |
גישה | ||
מנגנון | חשבון Google Cloud דרך מסוף Cloud, על ידי הפעלת Solar API וניהול ה-API דרך הקטע 'הפלטפורמה של מפות Google' | חשבון Google Cloud דרך מסוף Cloud, על ידי הפעלת Earth Engine Solar API |
מי | גלוי לכולם | בקרת גישה |
רמה | בניהול עצמי | גישה ידנית לפרויקט ב-Cloud |
אימות | מפתח API ו-OAuth | מפתח ממשק API |
תמחור | ||
אסטרטגיה | Pay-as-you-go | הנחה של 100% |
רמות | לכל 1,000 שאילתות, תוך הפחתת המחיר על סמך נפח | – |
נקודות קצה (endpoints) | מחירים שונים לפי נקודות קצה | – |
Cloud | ||
מעקב | Cloud Monitoring בקטע 'הפלטפורמה של מפות Google' | Cloud Monitoring בקטע 'ממשקי API ושירותים' |
מכסה | QPM (שאילתה לדקה) ו-QPH (שאילתה לשעה) | שנתי |
רישום ביומן | Cloud Logging (אופציונלי) | Cloud Logging (אופציונלי) |
חיוב | חשבון לחיוב ב-Cloud | - |
תמיכה | תמיכה מלאה בפלטפורמה של מפות Google עם SLO/SLA | מוגבל, באימייל |
API | ||
שם המארח | https://solar.googleapis.com/v1/ (REST) |
https://earthenginesolar.googleapis.com/v1/ (REST) |
שיטות |
|
|
תשובה | אין שינויים בהשוואה לתוכנית הפיילוט | – |
solarInfo |
רדיוס של 100 מ' או פחות | רדיוס של 100 מ' או פחות |
כיסוי | ||
אזור | עולמי | עולמי |
איכות הנתונים | HIGH /MEDIUM |
HIGH /MEDIUM |
סוג המבנה | כל מבנה שממופה לכתובת וגם בתוך כיסוי תמונות של Solar API | כל מבנה שממופה לכתובת וגם בתוך כיסוי תמונות של Solar API |
תנאים והגבלות | ||
TOS | התנאים של הפלטפורמה של מפות Google | התנאים של Google Earth Engine |
הדרכה מפורטת
הגדרת פרויקט ב-Google Cloud
כאן מוסבר איך מגדירים את הפרויקט ב-Google Cloud.
רק תפקידים מסוימים יכולים ליצור פרויקט ב-Cloud. אם אתם לא מצליחים ליצור פרויקט, תצטרכו לפנות לאדמין של הארגון.
אפשר גם להשתמש בפרויקט קיים ב-Cloud. למידע נוסף, קראו תחילת העבודה עם הפלטפורמה של מפות Google.
הגדרת חשבון לחיוב
כאן מוסבר איך לנהל את החשבון לחיוב.
אפשר להשתמש בפרויקט קיים ב-Cloud עם חשבון קיים לחיוב.
קבלת מפתח API או שימוש באסימון OAuth
אחרי שמגדירים את הפרויקט ב-Google Cloud, צריך ליצור ולאבטח את מפתח ה-API כדי להשתמש ב-Solear API, כפי שמתואר במאמר שימוש במפתחות API. לחלופין, תוכלו ליצור אסימון OAuth כמו שמתואר במאמר שימוש ב-OAuth.
שימוש ב-Soar API
- שליחת בקשות GET לנקודות הקצה החדשות : https://solar.googleapis.com
- שימו לב שחלק מהשמות של ה-methods של ה-API השתנו:
buildings:findClosest
←buildingInsights:findClosest
solarinfo:get
←dataLayers:get
תקופת ניסיון מהירה: לפני שטוענים את כתובת ה-URL בדפדפן, משתמשים במפתח ה-API השמור מהשלב הקודם ומחליפים את YOUR_API_KEY
בשאילתה לדוגמה:
https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.2746464&location.longitude=-121.7530949&radius_meters=10&key=YOUR_API_KEY
תשובה לגרסה המקורית של התצוגה המקדימה
בגרסה המקורית של טרום-השקה (Preview) ב-9 במאי 2023, כתובות ה-URL בתשובה הן:
https://earthengine.googleapis.com/v1alpha/projects/sunroof-api/thumbnails/THUMBNAIL_ID:getPixels
קטע הקוד הבא הוא דוגמה לתגובה:
{ "imageryDate": { "year": 2015, "month": 8, "day": 8 }, "imageryProcessedDate": { "year": 2021, "month": 2, "day": 15 }, "dsmUrl": "https://earthengine.googleapis.com/v1alpha/projects/geo-solar-api/thumbnails/fbde33e9cd16d5fd10d19a19dc580bc1-8614f599c5c264553f821cd034d5cf32:getPixels", "rgbUrl": "https://earthengine.googleapis.com/v1alpha/projects/geo-solar-api/thumbnails/91ed3551f2d0abee20af35e07bd0c927-c96c59e80cf1fc1dc86cf59fc8ec86ba:getPixels", "maskUrl": "https://earthengine.googleapis.com/v1alpha/projects/geo-solar-api/thumbnails/e4051553dba6870c03d855ae82c30b7e-7cc8ae6ce7c73f219e3c1924e5c17fc6:getPixels", "annualFluxUrl": "https://earthengine.googleapis.com/v1alpha/projects/geo-solar-api/thumbnails/9b0f87f49d778a65c9e27ff936e6dbba-b90be2fe80d25abd4c9e8c4dc809f763:getPixels", "monthlyFluxUrl": "https://earthengine.googleapis.com/v1alpha/projects/geo-solar-api/thumbnails/90e7cca77402f14809e349937f0a0be8-94fafeb4ef42d72f1b3c0652a1cb5518:getPixels", "hourlyShadeUrls": [ "https://earthengine.googleapis.com/v1alpha/projects/geo-solar-api/thumbnails/dcd276e4782aef4ff1b230b781736d37-e193b231ce57a03449afc3e21cf6783b:getPixels", ... ] }
כדי לשלוח בקשה לכתובת URL בתשובה, צריך לכלול בבקשה את כתובת ה-URL המלאה.
המפרט המלא של הבקשה והתשובה מופיע במסמכי העזרה.
כתיבת אפליקציה שתומכת בשני הפורמטים של התשובות
עכשיו אפשר לכתוב אפליקציה שתטפל גם בפורמט המקורי של התצוגה המקדימה וגם בפורמט של התשובות הנוכחיות.
ההבדל העיקרי בין שתי התגובות, מלבד כתובת ה-URL עצמה, הוא שחייבים להעביר מפתח API לבקשה שמשתמשת בכתובות ה-URL מפורמט התגובה החדש. אם משמיטים את מפתח ה-API, הבקשה תיכשל.
לדוגמה, אפשר להוסיף לאפליקציה את הקוד הבא כדי לבדוק את כתובת ה-URL ולטפל בכל גרסה בצורה נכונה:
JavaScript
/** * Function to examine a response URL and to append the API key to the * URL if it is in the new format. */ function prepareGetGeoTiffUrl(geoTiffUrl, apiKey) { if (geoTiffUrl.match("solar.googleapis.com")) { let url = new URL(geoTiffUrl); url.searchParams.set('apiKey', apiKey); return url.toString(); } return geoTiffUrl; }
Python
# Functions to examine a response URL and to append the API key to the # URL if it is in the new format. def add_api_key_to_url(base_url: str, api_key: str) -> str: '''Formats URL that currently lacks an API key to use the one provided.''' return base_url + "&key=" +api_key; def prepare_geo_tiff_url(base_url: str, api_key: str) -> str: '''Prepares URL from GetDataLayers depending on API being called. If the geoTIFF url from GetDataLayers is for the solar API GetGeoTiff endpoint, append the API key. Otherwise return the URL as is. ''' if re.search("solar.googleapis.com", geo_tiff_url): return add_api_key_to_url(geo_tiff_url, api_key) return geo_tiff_url
Java
/** Adds API key to a URL. */ private String addApiKeyToUrl(String geoTiffUrl, String apiKey) { return geoTiffUrl + "&key=" + apiKey; } /** * Function to examine a response URL and to append the API key to the * URL if it is in the new format. */ private String prepareGetGeoTiffUrl(String geoTiffUrl, String apiKey) { Pattern pattern = Pattern.compile("solar.googleapis.com"); Matcher matcher = pattern.matcher(geoTiffUrl); if (matcher.find()) { return addApiKeyToUrl(geoTiffUrl, apiKey); } else { return geoTiffUrl; } }
מעקב
ברמת הפרויקט |
רמת החשבון לחיוב
|
טיפים שכדאי לדעת
- מכסה: צריכה שאפשר להתאים לעומס (במקום שנתית שתיעלם)
- המכסה הנוכחית שתשתנה ל-QPM
- שיטות מומלצות: הגדרת מכסה בצד הלקוח ושליחת התראות
- תמחור:
- Pay-as-you-go
- תגובות 404 NOT_FOUND, כשהמיקום לא בטווח הכיסוי, לא נחייב אותן אבל הן ייספרו במסגרת המכסה
- תנאים כלליים לשימוש: התנאים וההגבלות של הפלטפורמה של מפות Google