Google Maps Platform पर Solar API पर माइग्रेट करें

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

Google Earth Engine Solar API से Google Maps Platform Solar API पर माइग्रेट करने के लिए:

  1. अपने क्लाउड प्रोजेक्ट में, Google Maps Platform Solar API चालू करें.
  2. एक नई कुंजी बनाएं और उसे GMP Solar API के लिए सीमित करें.
  3. यहां दिए गए चरण-दर-चरण निर्देशों का पालन करके, अपना कोड अपडेट करें.

अगल-बगल में तुलना

Solar API (नया) सूरज की रोशनी में दिख रहे घर Earth Engine Solar API (बंद कर दिया गया है) EE आइकॉन
लॉन्च की स्थिति लॉन्च किया गया पायलट (अब सेवा में नहीं है)
ऐक्सेस
मैकेनिज़्म Cloud Console के ज़रिए Google Cloud खाता, Solar API चालू करके, और Google Maps Platform सेक्शन के ज़रिए एपीआई को मैनेज करके Earth Engine Solar API चालू करके, Cloud Console के ज़रिए Google Cloud खाता
कौन सार्वजनिक ऐक्सेस कंट्रोल की सुविधा
लेवल सेल्फ़-प्रोविज़न की गई क्लाउड प्रोजेक्ट का मैन्युअल ऐक्सेस
पुष्टि करना एपीआई पासकोड और OAuth एपीआई पासकोड
कीमत
रणनीति Pay-as-you-go 100% की छूट
टियरिंग हर 1,000 क्वेरी के लिए, क्वेरी की संख्या के हिसाब से कीमत कम होती जाती है
एंडपॉइंट हर एंडपॉइंट के लिए अलग-अलग कीमतें
Cloud
मॉनिटर करने के लिए "Google Maps Platform" में जाकर, Cloud Monitoring "एपीआई और सेवाएं" में जाकर Cloud Monitoring
अनुरोध भेजने की तय सीमा क्यूपीएम (क्वेरी प्रति मिनट) और क्यूपीएच (क्वेरी प्रति घंटा) सालाना
लॉग इन हो रहा है Cloud Logging (ज़रूरी नहीं) Cloud Logging (ज़रूरी नहीं)
बिलिंग क्लाउड बिलिंग खाता -
सहायता एसएलओ/एसएलए के साथ Google Maps Platform की पूरी सहायता ईमेल के ज़रिए सीमित
एपीआई
होस्टनेम 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 की इमेज कवरेज में आती हो
सेवा की शर्तें
सेवा की शर्तें Google Maps Platform की शर्तें Google Earth Engine की शर्तें

चरण दर चरण

Google Cloud प्रोजेक्ट सेट अप करना

यहां दिए गए निर्देशों का पालन करें: Google Cloud प्रोजेक्ट सेट अप करें.

सिर्फ़ कुछ भूमिकाएं Cloud प्रोजेक्ट बना सकती हैं. अगर आपको प्रोजेक्ट बनाने का विकल्प नहीं दिख रहा है, तो अपने संगठन के एडमिन से संपर्क करें.

किसी मौजूदा क्लाउड प्रोजेक्ट का भी इस्तेमाल किया जा सकता है. ज़्यादा जानने के लिए, Google Maps Platform का इस्तेमाल शुरू करना लेख पढ़ें.

अपना बिलिंग खाता सेट अप करना

निर्देश यहां दिए गए हैं: अपने बिलिंग खाते को मैनेज करने का तरीका.

किसी मौजूदा बिलिंग खाते के साथ, किसी मौजूदा Cloud प्रोजेक्ट का इस्तेमाल किया जा सकता है.

एपीआई पासकोड पाएं या OAuth टोकन का इस्तेमाल करें

Google Cloud प्रोजेक्ट सेट अप करने के बाद, आपको अपना एपीआई कुंजी बनानी होगी और उसे सुरक्षित रखना होगा. इससे Solar API का इस्तेमाल किया जा सकेगा. इसके बारे में एपीआई कुंजियों का इस्तेमाल करना लेख में बताया गया है. इसके अलावा, OAuth का इस्तेमाल करना लेख में बताए गए तरीके से, OAuth टोकन बनाया जा सकता है.

Solar API का इस्तेमाल करना

  • नए एंडपॉइंट पर GET अनुरोध करें : https://solar.googleapis.com
  • ध्यान दें कि एपीआई के कुछ तरीकों के नाम बदल गए हैं:
    • buildings:findClosestbuildingInsights:findClosest
    • solarinfo:getdataLayers:get

क्विक ट्रायल: पिछले चरण में सेव किए गए एपीआई पासकोड का इस्तेमाल करें. साथ ही, अपने ब्राउज़र में यूआरएल लोड करने से पहले, यहां दी गई उदाहरण क्वेरी में 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

Preview के ओरिजनल वर्शन के लिए रिस्पॉन्स

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",
    ...
  ]
  }

जवाब में मौजूद किसी यूआरएल के लिए अनुरोध करने के लिए, अनुरोध में पूरा यूआरएल शामिल करें.

इस अनुरोध और जवाब की पूरी जानकारी, रेफ़रंस दस्तावेज़ में दी गई है.

दोनों तरह के रिस्पॉन्स फ़ॉर्मैट के साथ काम करने वाला ऐप्लिकेशन लिखना

अब ऐसा ऐप्लिकेशन लिखा जा सकता है जो ओरिजनल प्रीव्यू और मौजूदा रिस्पॉन्स फ़ॉर्मैट, दोनों को हैंडल करता हो.

दोनों जवाबों में मुख्य अंतर यह है कि नए जवाब के फ़ॉर्मैट से यूआरएल ऐक्सेस करने वाले अनुरोध के लिए, आपको एपीआई कुंजी पास करना ज़रूरी है. इसके अलावा, दोनों जवाबों में यूआरएल का अंतर होता है. एपीआई कुंजी शामिल न करने पर, अनुरोध पूरा नहीं होगा.

उदाहरण के लिए, यूआरएल की जांच करने और हर वर्शन को सही तरीके से हैंडल करने के लिए, अपने ऐप्लिकेशन में यह कोड जोड़ा जा सकता है:

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 क्लाउड बिलिंग

अहम जानकारी

  • कोटा: खपत को बढ़ाया जा सकता है (सालाना खपत नहीं, जो बंद हो जाएगी)
    • मौजूदा कोटा जिसे QPM में बदल दिया जाएगा
    • सबसे सही तरीके: क्लाइंट-साइड कोटा सेट करना और सूचनाएं भेजना
  • कीमत:
    • Pay-as-you-go
    • अगर जगह कवरेज रेंज में नहीं है, तो 404 NOT_FOUND जवाबों के लिए बिल नहीं भेजा जाएगा. हालांकि, इन्हें कोटे में शामिल किया जाएगा
  • इस्तेमाल की सामान्य शर्तें: Google Maps Platform की सेवा की शर्तें