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. Cloud projenizde Google Haritalar Platformu Solar API'yi etkinleştirin.
  2. Yeni bir anahtar oluşturun ve 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 (desteklenmiyor) EE simgesi
Başlatma durumu Başlatıldı Pilot (desteği sonlandırıldı)
Erişim
Sistem Cloud Console üzerinden Google Cloud hesabı, Solar API'yi etkinleştirerek ve API'yi Google Haritalar Platformu bölümü üzerinden yöneterek Cloud Console üzerinden Earth Engine Solar API'yi etkinleştirerek Google Cloud hesabı
Kim Herkese açık Erişim denetimli
Seviye Kendi kendine temel hazırlığı yapılan Cloud projesine manuel erişim
Kimlik doğrulama API anahtarı ve OAuth API Anahtarı
Fiyatlandırma
Strateji Pay-as-you-go 100% indirim
Katmanlama Hacime göre azalan fiyatlandırmayla 1.000 sorgu başına
Uç noktalar Uç nokta başına farklı fiyatlar
Cloud
İzleme "Google Maps Platform" bölümünde Cloud Monitoring "API'ler ve Hizmetler" bölümünde Cloud Monitoring
Kota QPM (dakika başına sorgu) ve QPH (saatte 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-posta ile
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 programla karşılaştırıldığında herhangi 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şlenmiş VE Solar API görüntü kapsamı içinde olan tüm binalar Bir adresle eşlenmiş VE Solar API görüntü kapsamı içinde olan tüm binalar
Hizmet Şartları
Hizmet Şartları Google Haritalar Platformu şartları Google Earth Engine şartları

Adım adım

Google Cloud projenizi ayarlama

Talimatlar için Google Cloud projenizi oluşturma başlıklı makaleyi inceleyin.

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 için Google Haritalar Platformu'nu kullanmaya başlama başlıklı makaleyi inceleyin.

Faturalandırma hesabınızı ayarlama

Talimatları Faturalandırma Hesabınızı yönetme başlıklı makalede bulabilirsiniz.

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

API anahtarı alma veya OAuth jetonu kullanma

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üvence altına almanız gerekir. Alternatif olarak, OAuth'u kullanma bölümünde açıklandığı gibi bir OAuth jetonu 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: Önceki adımda kaydedilen API anahtarını kullanın ve URL'yi tarayıcınızda yüklemeden önce 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'te yayınlanan orijinal önizleme sürümünde, 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 istek göndermek için URL'nin tamamını isteğe ekleyin.

Bu istek ve yanıtın tam spesifikasyonu referans dokümanlarında yer alır.

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

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

İki yanıt arasındaki temel fark, gerçek URL'nin dışında, yeni yanıt biçimindeki URL'lere erişen bir isteğe API anahtarı geçmeniz gerektiğidir. API anahtarını atlarsanı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;
  }
}

Gözle

Proje düzeyi Faturalandırma hesabı düzeyi

Cloud Monitoring Cloud Billing

Faydalı ipuçları

  • Kota: Ölçeklendirilebilen tüketim (kaldırılacak yıllık tüketim yerine)
    • QPM olarak değiştirilecek mevcut kota
    • En iyi uygulamalar: İstemci tarafı kotası ayarlama ve uyarı gönderme
  • Fiyatlandırma:
    • Kullandıkça ödeyin
    • Konum kapsam alanında değilse 404 NOT_FOUND yanıtları faturalandırılmaz ancak kotaya dahil edilir.
  • Genel Kullanım Şartları: Google Haritalar Platformu Hizmet Şartları