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

Google Earth Engine Solar API'den Google Haritalar Platformu Solar API'ye 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 (kullanımdan kaldırıldı) EE simgesi
Başlatma durumu Kullanıma sunuldu. Pilot (kullanımdan kaldırıldı)
Erişim
Sistem Cloud Console üzerinden Google Cloud hesabı (Solar API'yi etkinleştirip Google Haritalar Platformu bölümünden API'yi yöneterek) Earth Engine Solar API'yi etkinleştirerek Cloud Console aracılığıyla Google Cloud hesabı
Kim Herkese açık Erişim Kontrollü
Seviye 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
Katmanlama 1.000 sorgu başına, hacme göre azalan fiyatlandırma
Uç noktalar Uç nokta başına farklı fiyatlar
Cloud
İzleme "Google Haritalar Platformu" altında Cloud Monitoring "API'ler ve Hizmetler" bölümünde Cloud Monitoring
Kota QPM (dakika başına sorgu) ve QPH (saatlik 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 Sınırlı (e-postayla)
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 çalışmaya kıyasla hiçbir değişiklik yok
solarInfo ≤ 100 m yarıçap ≤ 100 m yarıçap
Kapsam
Bölge Global Global
Veri kalitesi HIGH/MEDIUM HIGH/MEDIUM
Bina türü Bir adresle eşleştirilmiş VE Solar API görüntü kapsamı içinde olan herhangi bir bina Bir adresle eşleştirilmiş VE Solar API görüntü kapsamı içinde 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 için Google Cloud projenizi oluşturun.

Yalnızca belirli roller bir Cloud projesi oluşturabilir. Proje oluşturamıyorsanız kuruluşunuzun yöneticisine ulaşın.

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ı ayarlayın

Talimatlar için: Faturalandırma Hesabınızı yönetme.

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

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

Google Cloud projenizi oluşturduktan sonra, API Anahtarlarını Kullanma bölümünde açıklandığı gibi Solar API'yi kullanmak için API Anahtarınızı oluşturup güvenliğini sağlamanız gerekir. Alternatif olarak, OAuth'u kullanma bölümünde açıklandığı şekilde bir OAuth jetonu oluşturabilirsiniz.

Solar API'yi kullanma

  • Yeni uç noktalara GET istekleri yapın : 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ünün yanıtı

9 Mayıs 2023'teki 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 URL'nin tamamını isteğe dahil edin.

Bu istek ve yanıtın tam spesifikasyonunu referans belgelerde bulabilirsiniz.

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

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

İki yanıt arasındaki asıl URL'nin kendisi dışındaki temel fark, URL'lere yeni yanıt biçiminden erişen bir isteğe bir API anahtarı aktarmanız gerekmesidir. 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 aşağıdaki kodu uygulamanıza 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

Önemli ipuçları

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