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

للانتقال من Google Earth Engine Solar API إلى Google Maps Platform Solar API:

  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" مع هدف مستوى الخدمة/اتفاقية مستوى الخدمة محدودة، عبر البريد الإلكتروني
API
اسم المضيف 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".

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

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

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

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

بعد إعداد مشروعك على Google Cloud، عليك إنشاء مفتاح واجهة برمجة التطبيقات وتأمينه لاستخدام واجهة برمجة التطبيقات Solar 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"