به Solar API در پلتفرم Google Maps مهاجرت کنید

برای انتقال از Google Earth Engine Solar API به Google Maps Platform Solar API:

  1. Google Maps Platform Solar API را در پروژه ابری خود فعال کنید.
  2. یک کلید جدید ایجاد کنید و آن را به GMP Solar API محدود کنید.
  3. کد خود را با استفاده از دستورالعمل های گام به گام زیر به روز کنید.

مقایسه کنار هم

API خورشیدی (جدید) خانه هایی با آفتاب Earth Engine Solar API (منسوخ شده) نماد EE
وضعیت راه اندازی راه اندازی شد خلبان (منسوخ شده)
دسترسی داشته باشید
مکانیسم حساب 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)
روش ها
  • buildingInsights:findClosest
  • dataLayers:get
  • buildings:findClosest
  • solar.get
پاسخ بدون تغییر نسبت به خلبان
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:findClosestbuildingInsights:findClosest
    • solarinfo:getdataLayers: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;
  }
}

نظارت کنید

سطح پروژه سطح حساب صورتحساب

Cloud MonitoringCloud Billing

نکات خوب برای دانستن

  • سهمیه: مصرفی که می تواند مقیاس پذیر باشد (به جای سالانه که ناپدید می شود)
    • سهمیه فعلی که به QPM تغییر خواهد کرد
    • بهترین شیوه ها: تعیین سهمیه سمت مشتری و ارسال هشدار
  • قیمت گذاری:
    • پرداخت به عنوان شما
    • 404 پاسخ NOT_FOUND، هنگامی که مکان در محدوده پوشش قرار ندارد، صورتحساب نمی‌شود اما در سهمیه حساب می‌شود.
  • شرایط استفاده عمومی: شرایط خدمات پلت فرم Google Maps