نقل البيانات إلى Solar API على "منصة خرائط Google"

للانتقال من Google Earth Engine Solar API إلى Google Maps Platform واجهة برمجة التطبيقات Solar:

  1. فعِّل واجهة برمجة التطبيقات Solar API في Google Maps Platform في مشروعك على السحابة الإلكترونية.
  2. يمكنك إنشاء مفتاح جديد وحصره على واجهة برمجة التطبيقات Solar API في "منصة Google للتسويق".
  3. تحديث الرمز باستخدام خطوات مفصّلة التعليمات أدناه.

المقارنة جنبًا إلى جنب

Solar API (جديدة) منازل مشمسة واجهة برمجة التطبيقات للطاقة الشمسية في Earth Engine (متوقّفة نهائيًا) رمز EE
حالة الإطلاق تم طرح الميزة. البرنامج التجريبي (متوقّف نهائيًا)
إذن الوصول
الآلية حساب Google Cloud عبر Cloud Console، عن طريق تفعيل Solar API وإدارة واجهة برمجة التطبيقات عبر قسم Google Maps Platform حساب Google Cloud عبر Cloud Console من خلال تفعيل Earth Engine Solar API
الحُضور علني يتم التحكّم في إمكانية الوصول
المستوى مُدار ذاتي الوصول اليدوي للمشروع على السحابة الإلكترونية
المصادقة مفتاح واجهة برمجة التطبيقات وبروتوكول OAuth مفتاح واجهة برمجة التطبيقات
التسعير
الاستراتيجية Pay-as-you-go 100% خصم
تقسيم إلى أجزاء لكل 1, 000 طلب بحث، مع خفض الأسعار حسب الحجم
نقاط النهاية أسعار مختلفة لكل نقطة نهاية
السحابة الإلكترونية
المراقبة Cloud Monitoring ضمن "منصة خرائط Google" المراقبة في السحابة الإلكترونية ضمن "واجهات برمجة التطبيقات والخدمات"
الحصة QPM (طلب البحث في الدقيقة) وQPH (طلب البحث في الساعة) سنويًا
التسجيل التسجيل في السحابة الإلكترونية (اختياري) التسجيل في السحابة الإلكترونية (اختياري)
الفوترة حساب فوترة Cloud -
الدعم دعم كامل في "منصة خرائط Google" مع هدف مستوى الخدمة/اتفاقية مستوى الخدمة محدودة، عبر البريد الإلكتروني
واجهة برمجة التطبيقات
اسم المضيف https://solar.googleapis.com/v1/ (بتوقيت RST) https://earthenginesolar.googleapis.com/v1/ (بتوقيت RST)
الطُرق
  • buildingInsights:findClosest
  • dataLayers:get
  • buildings:findClosest
  • solar.get
الرد ما مِن تغييرات مقارنةً بالإصدار التجريبي
solarInfo نطاق جغرافي أقل من 100 متر نطاق جغرافي أقل من 100 متر
التغطية
المساحة عالمي عالمي
جودة البيانات HIGH/MEDIUM HIGH/MEDIUM
نوع المبنى أي مبنى يتم ربطه بعنوان "و" ضمن تغطية صور Solar API أي مبنى يتم ربطه بعنوان "و" ضمن تغطية صور Solar API
بنود الخدمة
TOS بنود "منصة خرائط Google" بنود Google Earth Engine

خطوة بخطوة

إعداد مشروعك على Google Cloud

التعليمات هنا: إعداد Google Cloud مشروعك.

يمكن لأدوار معيّنة فقط إنشاء مشروع على السحابة الإلكترونية وإذا لم تتمكن من إنشاء مشروع، تواصَل مع أو مشرف المؤسسة.

ويمكنك أيضًا استخدام مشروع حالي على السحابة الإلكترونية. لمزيد من المعلومات، راجع البدء من خلال Google Maps Platform.

إعداد حساب الفوترة

التعليمات هنا: كيفية إدارة الفوترة الحساب.

يمكنك استخدام مشروع حالي على السحابة الإلكترونية مع حساب فوترة حالي.

الحصول على مفتاح واجهة برمجة التطبيقات أو استخدام رمز OAuth المميز

بعد إعداد مشروعك على Google Cloud، عليك إنشاء واجهة برمجة التطبيقات وتأمينها. مفتاح استخدام واجهة برمجة التطبيقات Solar API كما هو موضّح في مقالة استخدام واجهة برمجة التطبيقات (Use API) المفاتيح: أو يمكنك إنشاء رمز OAuth مميز كما هو موضَّح في استخدام OAuth.

استخدام Solar API

  • إرسال طلبات GET إلى نقاط النهاية الجديدة : https://solar.googleapis.com
  • يُرجى العلم أنّ بعض أسماء طرق واجهة برمجة التطبيقات قد تم تغييرها:
    • buildings:findClosest ‏← buildingInsights:findClosest
    • solarinfo:get ‏← dataLayers:get

الفترة التجريبية السريعة: يمكنك استخدام مفتاح واجهة برمجة التطبيقات المحفوظ من الخطوة السابقة واستبداله. 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 الفعلي نفسه، هو أنه يجب عليك تمرير مفتاح واجهة برمجة تطبيقات إلى طلب يصل إلى عناوين URL من تنسيق الرد الجديد. سيتعذّر تنفيذ الطلب إذا لم تستخدم مفتاح واجهة برمجة التطبيقات.

على سبيل المثال، يمكنك إضافة الرمز التالي إلى تطبيقك لفحص عنوان 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;
  }
}

مراقب

مستوى المشروع مستوى حساب الفوترة

Cloud Monitoring Cloud Billing

نصائح مفيدة

  • الحصة: الاستهلاك الذي يمكن أن يزداد (بدلاً من الاستهلاك السنوي الذي سيختفي)
    • الحالي الحصة والذي سيتم تغييره إلى QPM
    • أفضل الممارسات: ضبط الحصة من جهة العميل وإرسال التنبيهات
  • التسعير:
    • Pay-as-you-go
    • 404 NOT_FOUND، عندما لا يكون الموقع في نطاق التغطية، سوف لن يتم تحصيل الرسوم منك ولكن سيتم احتسابها من الحصة
  • بنود الاستخدام العامة: بنود خدمة "منصة خرائط Google"