כדי לעבור מ-Google Earth Engine Solar API אל Google Maps Platform Solar API:
- מפעילים את Google Maps Platform Solar API בפרויקט בענן.
- יוצרים מפתח חדש ומגבילים אותו ל-GMP Solar API.
- מעדכנים את הקוד באמצעות ההוראות המפורטות שבהמשך.
השוואה בטבלה
| Solar API (חדש) |
Earth Engine Solar API (יצא משימוש) |
|
|---|---|---|
| סטטוס השקה | הופעל | פיילוט (הוצא משימוש) |
| גישה | ||
| מנגנון | חשבון Google Cloud דרך מסוף Cloud, על ידי הפעלת Solar API וניהול ה-API דרך הקטע Google Maps Platform | חשבון Google Cloud דרך מסוף Cloud, על ידי הפעלת Earth Engine Solar API |
| מי | גלוי לכולם | גישה מבוקרת |
| רמה | הקצאת הרשאות עצמית | גישה ידנית לפרויקט בענן |
| אימות | מפתח API ו-OAuth | מפתח API |
| תמחור | ||
| אסטרטגיה | Pay-as-you-go | הנחה של 100% |
| רמות | לכל 1,000 שאילתות, עם תמחור יורד על סמך נפח | – |
| נקודות קצה | מחירים שונים לכל נקודת קצה | – |
| Cloud | ||
| מעקב | Cloud Monitoring בקטע Google Maps Platform | Cloud Monitoring בקטע 'ממשקי API ושירותים' |
| מכסה | QPM (שאילתות לדקה) ו-QPH (שאילתות לשעה) | שנתי |
| רישום ביומן | Cloud Logging (אופציונלי) | Cloud Logging (אופציונלי) |
| חיוב | חשבון לחיוב ב-Cloud | - |
| תמיכה | תמיכה מלאה ב-Google Maps Platform עם SLO/SLA | מוגבל, לפי אימייל |
| API | ||
| שם מארח | https://solar.googleapis.com/v1/ (REST) |
https://earthenginesolar.googleapis.com/v1/ (REST) |
| Methods |
|
|
| תשובה | לא בוצעו שינויים בהשוואה לתקופת הפיילוט | – |
solarInfo |
רדיוס של ≤100m | רדיוס של ≤100m |
| כיסוי | ||
| אזור | גלובלי | גלובלי |
| איכות הנתונים | HIGH/MEDIUM |
HIGH/MEDIUM |
| סוג הבניין | כל בניין שממופה לכתובת ונמצא בכיסוי התמונות של Solar API | כל בניין שממופה לכתובת ונמצא בכיסוי התמונות של Solar API |
| תנאים והגבלות | ||
| תנאים והגבלות | Google Maps Platform terms | התנאים של Google Earth Engine |
הדרכה מפורטת
הגדרת הפרויקט ב-Google Cloud
הוראות מפורטות זמינות כאן: הגדרת פרויקט Google Cloud.
רק תפקידים מסוימים יכולים ליצור פרויקט בענן. אם אתם לא מצליחים ליצור פרויקט, פנו לאדמין של הארגון.
אפשר גם להשתמש בפרויקט בענן קיים. מידע נוסף זמין במאמר תחילת העבודה עם Google Maps Platform.
הגדרת החשבון לחיוב
כאן מוסבר איך לנהל את החשבון לחיוב.
אתם יכולים להשתמש בפרויקט קיים בענן עם חשבון קיים לחיוב.
קבלת מפתח API או שימוש בטוקן OAuth
אחרי שמגדירים את פרויקט הענן ב-Google Cloud, צריך ליצור מפתח API מאובטח כדי להשתמש ב-Solar API, כמו שמתואר במאמר בנושא שימוש במפתחות API. אפשר גם ליצור אסימון OAuth כמו שמתואר במאמר שימוש ב-OAuth.
שימוש ב-Solar API
- שליחת בקשות GET לנקודות הקצה החדשות : https://solar.googleapis.com
- שימו לב שחלק משמות ה-method של ה-API השתנו:
buildings:findClosest←buildingInsights:findClosestsolarinfo:get←dataLayers:get
ניסיון מהיר: משתמשים במפתח ה-API השמור מהשלב הקודם ומחליפים את YOUR_API_KEY בשאילתת הדוגמה שלמטה, לפני טעינת כתובת ה-URL בדפדפן:
https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.2746464&location.longitude=-121.7530949&radius_meters=10&key=YOUR_API_KEY
תגובה לגרסת הבטא המקורית
בגרסת התצוגה המקדימה המקורית מ-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 Maps Platform תנאי השירות