Google Haritalar Platformu'nda Solar API'ye geçiş yapın

Google Earth Engine Solar API'den Google Haritalar Platformu'na geçmek için:

  1. Bulut projenizde Google Haritalar Platformu Solar API'yi etkinleştirin.
  2. Yeni bir anahtar oluşturun ve bunu GMP Solar API ile kısıtlayın.
  3. Aşağıdaki adım adım talimatları uygulayarak kodunuzu güncelleyin.

Yan yana karşılaştırma

Solar API (yeni) Güneşli evler Earth Engine Solar API (desteği sonlandırılmış) EE simgesi
Başlatma durumu Kullanıma sunuldu. Pilot (desteği sonlandırılmış)
Erişim
Sistem Solar API'yi etkinleştirip Google Maps Platform bölümünden API'yi yöneterek Cloud Console üzerinden bir Google Cloud hesabı Earth Engine Solar API'yi etkinleştirerek Cloud konsolu üzerinden Google Cloud hesabı
Kim Herkese açık Erişim Kontrollü
Seviye Kendi temel hazırlığı yapıldı Cloud projesine manuel erişim
Kimlik doğrulama API Anahtarı ve OAuth API Anahtarı
Fiyatlandırma
Strateji Pay-as-you-go %100 indirim
Kademeli Hacme göre azalan fiyatlandırmayla 1.000 sorgu başına
Uç noktalar Uç nokta başına farklı fiyatlar
Cloud
İzleme "Google Haritalar Platformu" altındaki Cloud Monitoring "API'ler ve Hizmetler" bölümündeki Cloud Monitoring
Kota QPM (dakika başına sorgu) ve QPH (saat başına sorgu) Yıllık
Günlük Kaydı Cloud Logging (isteğe bağlı) Cloud Logging (isteğe bağlı)
Faturalandırma Cloud Faturalandırma hesabı -
Destek SLO/HDS ile tam Google Haritalar Platformu desteği E-posta ile sınırlı
API
Ana makine adı https://solar.googleapis.com/v1/ (REST) https://earthenginesolar.googleapis.com/v1/ (REST)
Yöntemler
  • buildingInsights:findClosest
  • dataLayers:get
  • buildings:findClosest
  • solar.get
Yanıt Pilot uygulamaya kıyasla değişiklik yok
solarInfo ≤ 100 m yarıçap ≤ 100 m yarıçap
Kapsam
Bölge Küresel Küresel
Veri kalitesi HIGH/MEDIUM HIGH/MEDIUM
Bina türü Bir adresle eşlenen VE Solar API görüntü kapsamına dahil olan herhangi bir bina Bir adresle eşlenen VE Solar API görüntü kapsamına dahil olan herhangi bir bina
Hizmet Şartları
TOS Google Haritalar Platformu şartları Google Earth Engine şartları

Adım adım

Google Cloud projenizi oluşturun

Talimatları şurada bulabilirsiniz: Google Cloud projenizi oluşturma.

Yalnızca belirli roller Cloud projesi oluşturabilir. Proje oluşturamıyorsanız kuruluşunuzun yöneticisiyle iletişime geçin.

Mevcut bir Cloud projesini de kullanabilirsiniz. Daha fazla bilgi edinmek için Google Haritalar Platformu'nu kullanmaya başlama bölümüne bakın.

Faturalandırma Hesabınızı kurun

Talimatları şurada bulabilirsiniz: Faturalandırma hesabınızı yönetme.

Mevcut bir faturalandırma hesabıyla mevcut bir Cloud projesini kullanabilirsiniz.

API anahtarı alın veya OAuth jetonu kullanın

Google Cloud projenizi ayarladıktan sonra, Solar API'yi kullanmak için API Anahtarlarını Kullanma bölümünde açıklandığı şekilde API Anahtarınızı oluşturmanız ve güvence altına almanız gerekir. Dilerseniz OAuth'u kullanma bölümünde açıklandığı şekilde bir OAuth jetonu da oluşturabilirsiniz.

Solar API'yi kullanma

  • Yeni uç noktalara GET istekleri gönderin : https://solar.googleapis.com
  • Bazı API yöntemi adlarının değiştiğini unutmayın:
    • buildings:findClosestbuildingInsights:findClosest
    • solarinfo:getdataLayers:get

Hızlı deneme: URL'yi tarayıcınıza yüklemeden önce, önceki adımda kaydedilmiş API anahtarını kullanın ve aşağıdaki örnek sorguda YOUR_API_KEY değerini değiştirin:

https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.2746464&location.longitude=-121.7530949&radius_meters=10&key=YOUR_API_KEY

Orijinal Önizleme sürümü için yanıt

9 Mayıs 2023 tarihli orijinal Önizleme sürümü için yanıttaki URL'ler şu biçimdedir:

https://earthengine.googleapis.com/v1alpha/projects/sunroof-api/thumbnails/THUMBNAIL_ID:getPixels

Aşağıdaki snippet, örnek bir yanıttır:

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

Yanıtta bir URL'ye yönelik istekte bulunmak için isteğe URL'nin tamamını ekleyin.

Bu istek ve yanıtın tüm özelliklerini referans belgelerinde bulabilirsiniz.

Her iki yanıt biçimini de destekleyecek bir uygulama yazın

Artık hem orijinal Önizleme hem de mevcut yanıt biçimlerini işleyen bir uygulama yazabilirsiniz.

Gerçek URL'nin kendisi dışında iki yanıt arasındaki temel fark, URL'lere yeni yanıt biçiminden erişen bir isteğe API anahtarı iletmenizdir. API anahtarını çıkarırsanız istek başarısız olur.

Örneğin, URL'yi incelemek ve her sürümü doğru şekilde işlemek için uygulamanıza aşağıdaki kodu ekleyebilirsiniz:

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;
  }
}

İzleme

Proje düzeyi Faturalandırma Hesabı düzeyi

Cloud Monitoring Cloud Billing

Faydalı ipuçları

  • Kota: Ölçeklenebilen tüketim (kaldırılacak yıllıklar yerine)
    • QPM olarak değiştirilecek mevcut kota
    • En iyi uygulamalar: istemci tarafı kotası ve uyarı gönderme
  • Fiyatlandırma:
    • Pay-as-you-go
    • 404 NOT_FOUND yanıtları, konum kapsam aralığında olmadığında faturalandırılmaz ancak kotaya dahil edilir
  • Genel kullanım şartları: Google Haritalar Platformu Hizmet Şartları