برای انتقال از Google Earth Engine Solar API به Google Maps Platform Solar API:
- Google Maps Platform Solar API را در پروژه ابری خود فعال کنید.
- یک کلید جدید ایجاد کنید و آن را به GMP Solar API محدود کنید.
- کد خود را با استفاده از دستورالعمل های گام به گام زیر به روز کنید.
مقایسه کنار هم
API خورشیدی (جدید) | Earth Engine Solar API (منسوخ شده) | |
---|---|---|
وضعیت راه اندازی | راه اندازی شد | خلبان (منسوخ شده) | دسترسی داشته باشید |
مکانیسم | حساب Google Cloud از طریق کنسول Cloud، با فعال کردن Solar API و مدیریت API از طریق بخش Google Maps Platform. | حساب Google Cloud از طریق کنسول Cloud، با فعال کردن Earth Engine Solar API |
سازمان بهداشت جهانی | عمومی | دسترسی کنترل شده است |
سطح | خود تامین شده | دسترسی دستی پروژه ابری |
احراز هویت | کلید API و OAuth | کلید API | قیمت گذاری |
استراتژی | پرداخت به عنوان شما | 100% تخفیف |
طبقه بندی | در هر 1000 پرس و جو، با کاهش قیمت بر اساس حجم | – |
نقاط پایانی | قیمتهای مختلف در نقطه پایانی | – | ابر |
نظارت | مانیتورینگ ابری تحت "پلتفورم نقشه های گوگل" | مانیتورینگ ابری تحت «API ها و خدمات» |
سهمیه | QPM (پرس و جو در دقیقه) و QPH (پرس و جو در ساعت) | سالانه |
ورود به سیستم | Cloud Logging (اختیاری) | Cloud Logging (اختیاری) |
صورتحساب | حساب Cloud Billing | - |
پشتیبانی کنید | پشتیبانی کامل از پلتفرم نقشه های گوگل با 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 Earth |
قدم به قدم
پروژه Google Cloud خود را راه اندازی کنید
دستورالعملها در اینجا: پروژه Google Cloud خود را راهاندازی کنید .
فقط نقش های خاصی می توانند یک پروژه ابری ایجاد کنند. اگر نمی توانید پروژه ای ایجاد کنید، با سرپرست سازمان خود تماس بگیرید.
همچنین می توانید از یک پروژه Cloud موجود استفاده کنید. برای کسب اطلاعات بیشتر، شروع به کار با Google Maps Platform را ببینید.
حساب صورتحساب خود را تنظیم کنید
دستورالعملها در اینجا: چگونه حساب صورتحساب خود را مدیریت کنید .
میتوانید از یک پروژه Cloud موجود با حساب صورتحساب موجود استفاده کنید.
یک کلید API دریافت کنید یا از نشانه OAuth استفاده کنید
پس از راه اندازی پروژه Google Cloud خود، باید کلید API خود را ایجاد و ایمن کنید تا از Solar API همانطور که در Use API Keys توضیح داده شده است استفاده کنید. یا، می توانید یک نشانه OAuth همانطور که در Use OAuth توضیح داده شده است ایجاد کنید.
از Solar API استفاده کنید
- درخواستهای GET را به نقاط پایانی جدید ارسال کنید: https://solar.googleapis.com
- توجه داشته باشید که نام برخی از روش های API تغییر کرده است:
-
buildings:findClosest
→buildingInsights:findClosest
-
solarinfo:get
→dataLayers:get
-
آزمایش سریع : از کلید API ذخیره شده در مرحله قبل استفاده کنید و قبل از بارگیری URL در مرورگر خود، 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
پاسخ برای نسخه پیشنمایش اصلی
برای نسخه پیشنمایش اصلی در 9 مه 2023، نشانیهای وب در پاسخ به این شکل هستند:
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 را بررسی کنید و هر نسخه را به درستی مدیریت کنید:
جاوا اسکریپت
/** * 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; }
پایتون
# 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
جاوا
/** 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 تغییر خواهد کرد
- بهترین شیوه ها: تعیین سهمیه سمت مشتری و ارسال هشدار
- قیمت گذاری:
- پرداخت به عنوان شما
- 404 پاسخ NOT_FOUND، هنگامی که مکان در محدوده پوشش قرار ندارد، صورتحساب نمیشود اما در سهمیه حساب میشود.
- شرایط استفاده عمومی: شرایط خدمات پلت فرم Google Maps
برای انتقال از 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 | قیمت گذاری |
استراتژی | پرداخت به عنوان شما | 100% تخفیف |
طبقه بندی | در هر 1000 پرس و جو، با کاهش قیمت بر اساس حجم | – |
نقاط پایانی | قیمتهای مختلف در نقطه پایانی | – | ابر |
نظارت | مانیتورینگ ابری تحت "پلتفورم نقشه های گوگل" | مانیتورینگ ابری تحت «API ها و خدمات» |
سهمیه | QPM (پرس و جو در دقیقه) و QPH (پرس و جو در ساعت) | سالانه |
ورود به سیستم | Cloud Logging (اختیاری) | Cloud Logging (اختیاری) |
صورتحساب | حساب Cloud Billing | - |
پشتیبانی کنید | پشتیبانی کامل از پلتفرم نقشه های گوگل با 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 Earth |
قدم به قدم
پروژه Google Cloud خود را راه اندازی کنید
دستورالعملها در اینجا: پروژه Google Cloud خود را راهاندازی کنید .
فقط نقش های خاصی می توانند یک پروژه ابری ایجاد کنند. اگر نمی توانید پروژه ای ایجاد کنید، با سرپرست سازمان خود تماس بگیرید.
همچنین می توانید از یک پروژه Cloud موجود استفاده کنید. برای کسب اطلاعات بیشتر، شروع به کار با Google Maps Platform را ببینید.
حساب صورتحساب خود را تنظیم کنید
دستورالعملها در اینجا: چگونه حساب صورتحساب خود را مدیریت کنید .
میتوانید از یک پروژه Cloud موجود با حساب صورتحساب موجود استفاده کنید.
یک کلید API دریافت کنید یا از نشانه OAuth استفاده کنید
پس از راه اندازی پروژه Google Cloud خود، باید کلید API خود را ایجاد و ایمن کنید تا از Solar API همانطور که در Use API Keys توضیح داده شده است استفاده کنید. یا، می توانید یک نشانه OAuth همانطور که در Use OAuth توضیح داده شده است ایجاد کنید.
از Solar API استفاده کنید
- درخواستهای GET را به نقاط پایانی جدید ارسال کنید: https://solar.googleapis.com
- توجه داشته باشید که نام برخی از روش های API تغییر کرده است:
-
buildings:findClosest
→buildingInsights:findClosest
-
solarinfo:get
→dataLayers:get
-
آزمایش سریع : از کلید API ذخیره شده در مرحله قبل استفاده کنید و قبل از بارگیری URL در مرورگر خود، 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
پاسخ برای نسخه پیشنمایش اصلی
برای نسخه پیشنمایش اصلی در 9 مه 2023، نشانیهای وب در پاسخ به این شکل هستند:
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 را بررسی کنید و هر نسخه را به درستی مدیریت کنید:
جاوا اسکریپت
/** * 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; }
پایتون
# 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
جاوا
/** 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 تغییر خواهد کرد
- بهترین شیوه ها: تعیین سهمیه سمت مشتری و ارسال هشدار
- قیمت گذاری:
- پرداخت به عنوان شما
- 404 پاسخ NOT_FOUND، هنگامی که مکان در محدوده پوشش قرار ندارد، صورتحساب نمیشود اما در سهمیه حساب میشود.
- شرایط استفاده عمومی: شرایط خدمات پلت فرم Google Maps
برای انتقال از Google Earth Engine Solar API به Google Maps Platform Solar API:
- Google Maps Platform Solar API را در پروژه ابری خود فعال کنید.
- یک کلید جدید ایجاد کنید و آن را به GMP Solar API محدود کنید.
- کد خود را با استفاده از دستورالعمل های گام به گام زیر به روز کنید.
مقایسه کنار هم
API خورشیدی (جدید) | Earth Engine Solar API (منسوخ شده) | |
---|---|---|
وضعیت راه اندازی | راه اندازی شد | خلبان (منسوخ شده) | دسترسی داشته باشید |
مکانیسم | حساب Google Cloud از طریق کنسول Cloud، با فعال کردن Solar API و مدیریت API از طریق بخش Google Maps Platform. | حساب Google Cloud از طریق کنسول Cloud، با فعال کردن Earth Engine Solar API |
سازمان بهداشت جهانی | عمومی | دسترسی کنترل شده است |
سطح | خود تامین شده | دسترسی دستی پروژه ابری |
احراز هویت | کلید API و OAuth | کلید API | قیمت گذاری |
استراتژی | پرداخت به عنوان شما | 100% تخفیف |
طبقه بندی | در هر 1000 پرس و جو، با کاهش قیمت بر اساس حجم | – |
نقاط پایانی | قیمتهای مختلف در نقطه پایانی | – | ابر |
نظارت | مانیتورینگ ابری تحت "پلتفورم نقشه های گوگل" | مانیتورینگ ابری تحت «API ها و خدمات» |
سهمیه | QPM (پرس و جو در دقیقه) و QPH (پرس و جو در ساعت) | سالانه |
ورود به سیستم | Cloud Logging (اختیاری) | Cloud Logging (اختیاری) |
صورتحساب | حساب Cloud Billing | - |
پشتیبانی کنید | پشتیبانی کامل از پلتفرم نقشه های گوگل با 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 Earth |
قدم به قدم
پروژه Google Cloud خود را راه اندازی کنید
دستورالعملها در اینجا: پروژه Google Cloud خود را راهاندازی کنید .
فقط نقش های خاصی می توانند یک پروژه ابری ایجاد کنند. اگر نمی توانید پروژه ای ایجاد کنید، با سرپرست سازمان خود تماس بگیرید.
همچنین می توانید از یک پروژه Cloud موجود استفاده کنید. برای کسب اطلاعات بیشتر، شروع به کار با Google Maps Platform را ببینید.
حساب صورتحساب خود را تنظیم کنید
دستورالعملها در اینجا: چگونه حساب صورتحساب خود را مدیریت کنید .
میتوانید از یک پروژه Cloud موجود با حساب صورتحساب موجود استفاده کنید.
یک کلید API دریافت کنید یا از نشانه OAuth استفاده کنید
پس از راه اندازی پروژه Google Cloud خود، باید کلید API خود را ایجاد و ایمن کنید تا از Solar API همانطور که در Use API Keys توضیح داده شده است استفاده کنید. یا، می توانید یک نشانه OAuth همانطور که در Use OAuth توضیح داده شده است ایجاد کنید.
از Solar API استفاده کنید
- درخواستهای GET را به نقاط پایانی جدید ارسال کنید: https://solar.googleapis.com
- توجه داشته باشید که نام برخی از روش های API تغییر کرده است:
-
buildings:findClosest
→buildingInsights:findClosest
-
solarinfo:get
→dataLayers:get
-
آزمایش سریع : از کلید API ذخیره شده در مرحله قبل استفاده کنید و قبل از بارگیری URL در مرورگر خود، 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
پاسخ برای نسخه پیشنمایش اصلی
برای نسخه پیشنمایش اصلی در 9 مه 2023، نشانیهای وب در پاسخ به این شکل هستند:
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 را بررسی کنید و هر نسخه را به درستی مدیریت کنید:
جاوا اسکریپت
/** * 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; }
پایتون
# 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
جاوا
/** 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 تغییر خواهد کرد
- بهترین شیوه ها: تعیین سهمیه سمت مشتری و ارسال هشدار
- قیمت گذاری:
- پرداخت به عنوان شما
- 404 پاسخ NOT_FOUND، هنگامی که مکان در محدوده پوشش قرار ندارد، صورتحساب نمیشود اما در سهمیه حساب میشود.
- شرایط استفاده عمومی: شرایط خدمات پلت فرم Google Maps
برای انتقال از Google Earth Engine Solar API به Google Maps Platform Solar API:
- Google Maps Platform Solar API را در پروژه ابری خود فعال کنید.
- یک کلید جدید ایجاد کنید و آن را به GMP Solar API محدود کنید.
- کد خود را با استفاده از دستورالعمل های گام به گام زیر به روز کنید.
مقایسه کنار هم
API خورشیدی (جدید) | Earth Engine Solar API (منسوخ شده) | |
---|---|---|
وضعیت راه اندازی | راه اندازی شد | خلبان (منسوخ شده) | دسترسی داشته باشید |
مکانیسم | حساب Google Cloud از طریق کنسول Cloud، با فعال کردن Solar API و مدیریت API از طریق بخش Google Maps Platform. | حساب Google Cloud از طریق کنسول Cloud، با فعال کردن Earth Engine Solar API |
سازمان بهداشت جهانی | عمومی | دسترسی کنترل شده است |
سطح | خود تامین شده | دسترسی دستی پروژه ابری |
احراز هویت | کلید API و OAuth | کلید API | قیمت گذاری |
استراتژی | پرداخت به عنوان شما | 100% تخفیف |
طبقه بندی | در هر 1000 پرس و جو، با کاهش قیمت بر اساس حجم | – |
نقاط پایانی | قیمتهای مختلف در نقطه پایانی | – | ابر |
نظارت | مانیتورینگ ابری تحت "پلتفورم نقشه های گوگل" | مانیتورینگ ابری تحت «API ها و خدمات» |
سهمیه | QPM (پرس و جو در دقیقه) و QPH (پرس و جو در ساعت) | سالانه |
ورود به سیستم | Cloud Logging (اختیاری) | Cloud Logging (اختیاری) |
صورتحساب | حساب Cloud Billing | - |
پشتیبانی کنید | پشتیبانی کامل از پلتفرم نقشه های گوگل با 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 Earth |
قدم به قدم
پروژه Google Cloud خود را راه اندازی کنید
دستورالعملها در اینجا: پروژه Google Cloud خود را راهاندازی کنید .
فقط نقش های خاصی می توانند یک پروژه ابری ایجاد کنند. اگر نمی توانید پروژه ای ایجاد کنید، با سرپرست سازمان خود تماس بگیرید.
شما همچنین می توانید از یک پروژه Cloud موجود استفاده کنید. برای کسب اطلاعات بیشتر، شروع به کار با Google Maps Platform را ببینید.
حساب صورتحساب خود را تنظیم کنید
دستورالعملها در اینجا: چگونه حساب صورتحساب خود را مدیریت کنید .
میتوانید از یک پروژه Cloud موجود با حساب صورتحساب موجود استفاده کنید.
یک کلید API دریافت کنید یا از نشانه OAuth استفاده کنید
پس از راه اندازی پروژه Google Cloud خود، باید کلید API خود را ایجاد و ایمن کنید تا از Solar API همانطور که در Use API Keys توضیح داده شده است استفاده کنید. یا، می توانید یک نشانه OAuth همانطور که در Use OAuth توضیح داده شده است ایجاد کنید.
از Solar API استفاده کنید
- درخواستهای GET را به نقاط پایانی جدید ارسال کنید: https://solar.googleapis.com
- توجه داشته باشید که نام برخی از روش های API تغییر کرده است:
-
buildings:findClosest
→buildingInsights:findClosest
-
solarinfo:get
→dataLayers:get
-
آزمایش سریع : از کلید API ذخیره شده در مرحله قبل استفاده کنید و قبل از بارگیری URL در مرورگر خود، 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
پاسخ برای نسخه پیشنمایش اصلی
برای نسخه پیشنمایش اصلی در 9 مه 2023، نشانیهای وب در پاسخ به این شکل هستند:
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 را بررسی کنید و هر نسخه را به درستی مدیریت کنید:
جاوا اسکریپت
/** * 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; }
پایتون
# 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
جاوا
/** 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 تغییر خواهد کرد
- بهترین شیوه ها: تعیین سهمیه سمت مشتری و ارسال هشدار
- قیمت گذاری:
- پرداخت به عنوان شما
- 404 پاسخ NOT_FOUND، هنگامی که مکان در محدوده پوشش قرار ندارد، صورتحساب نمیشود اما در سهمیه حساب میشود.
- شرایط استفاده عمومی: شرایط خدمات پلت فرم Google Maps