Bermigrasi ke Solar API di Google Maps Platform

Untuk berpindah dari Google Earth Engine Solar API ke Google Maps Platform API Surya:

  1. Aktifkan Solar API Google Maps Platform di project cloud Anda.
  2. Buat kunci baru dan batasi ke GMP Solar API.
  3. Perbarui kode Anda menggunakan langkah demi langkah petunjuk di bawah ini.

Perbandingan per aspek

Solar API (baru) Rumah dengan sinar matahari Earth Engine Solar API (tidak digunakan lagi) Ikon EE
Status peluncuran Diluncurkan Uji coba (tidak digunakan lagi)
Akses
Mekanisme Akun Google Cloud melalui Konsol Cloud, dengan mengaktifkan Solar API dan mengelola API melalui bagian Google Maps Platform Akun Google Cloud melalui Konsol Cloud, dengan mengaktifkan Earth Engine Solar API
Siapa Publik Dikontrol Akses
Tingkat Disediakan secara mandiri Akses manual project Cloud
Autentikasi Kunci API dan OAuth Kunci API
Harga
Strategi Bayar sesuai penggunaan 100% diskon
{i>Tiering<i} (Tingkatan) Per 1.000 kueri, dengan penurunan harga berdasarkan volume
Endpoint Harga yang berbeda-beda di setiap endpoint
Cloud
Pemantauan Cloud Monitoring di bagian "Google Maps Platform" Cloud Monitoring di bagian "APIs and Services"
Kuota QPM (kueri per menit) dan QPH (kueri per jam) Tahunan
Logging Cloud Logging (opsional) Cloud Logging (opsional)
Penagihan Akun Penagihan Cloud -
Dukungan Dukungan penuh Google Maps Platform dengan SLO/SLA Terbatas, melalui email
API
Hostname https://solar.googleapis.com/v1/ (REST) https://earthenginesolar.googleapis.com/v1/ (REST)
Metode
  • buildingInsights:findClosest
  • dataLayers:get
  • buildings:findClosest
  • solar.get
Respons Tidak ada perubahan dibandingkan dengan uji coba
solarInfo Radius ≤100 m Radius ≤100 m
Cakupan
Area Global Global
Kualitas data HIGH/MEDIUM HIGH/MEDIUM
Jenis bangunan Semua bangunan yang dipetakan ke alamat DAN dalam cakupan citra Solar API Semua bangunan yang dipetakan ke alamat DAN dalam cakupan citra Solar API
Persyaratan Layanan
TOS Persyaratan Google Maps Platform Persyaratan Google Earth Engine

Langkah demi langkah

Menyiapkan project Google Cloud

Petunjuknya ada di sini: Siapkan Google Cloud Anda project Anda.

Hanya peran tertentu yang dapat membuat project Cloud; jika Anda tidak dapat membuat proyek, hubungi administrator organisasi.

Anda juga dapat menggunakan project Cloud yang sudah ada. Untuk mempelajari lebih lanjut, lihat Memulai dengan Google Maps Platform.

Siapkan Akun Penagihan Anda

Petunjuknya ada di sini: Cara mengelola penagihan Anda Akun.

Anda dapat menggunakan project Cloud yang sudah ada dengan akun penagihan yang ada.

Mendapatkan Kunci API atau menggunakan token OAuth

Setelah menyiapkan project Google Cloud, Anda harus membuat dan mengamankan API Kunci untuk menggunakan Solar API seperti yang dijelaskan dalam Menggunakan API Kunci. Atau, Anda dapat membuat token OAuth seperti yang dijelaskan dalam Menggunakan OAuth.

Menggunakan Solar API

  • Buat permintaan GET ke endpoint baru : https://solar.googleapis.com
  • Perlu diperhatikan bahwa beberapa nama metode API telah berubah:
    • buildings:findClosestbuildingInsights:findClosest
    • solarinfo:getdataLayers:get

Uji coba cepat: Gunakan kunci API yang tersimpan dari langkah sebelumnya dan ganti YOUR_API_KEY pada contoh kueri di bawah ini, sebelum memuat URL di browser:

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

Respons untuk rilis Pratinjau asli

Untuk rilis Pratinjau asli pada 9 Mei 2023, URL dalam responsnya ada di bentuknya:

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

Cuplikan berikut adalah contoh respons:

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

Untuk membuat permintaan ke URL dalam respons, sertakan seluruh URL dalam permintaan.

Spesifikasi lengkap permintaan dan respons ini ada dalam referensi dokumentasi tambahan.

Menulis aplikasi untuk mendukung kedua format respons

Sekarang Anda bisa menulis aplikasi yang menangani pratinjau asli dan saat ini format respons yang berbeda.

Perbedaan utama antara kedua respons tersebut, selain URL yang sebenarnya, adalah Anda harus meneruskan kunci API ke permintaan yang mengakses URL dari format respons baru. Jika Anda menghilangkan kunci API, permintaan akan gagal.

Misalnya, Anda bisa menambahkan kode berikut ke aplikasi Anda untuk memeriksa URL dan menangani setiap versi dengan benar:

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

Memantau

Level project Tingkat Akun Penagihan

Cloud Monitoring Penagihan Cloud

Tips yang perlu diketahui

  • Kuota: konsumsi yang dapat diskalakan (bukan tahunan yang akan hilang)
    • Saat ini kuota yang akan diubah menjadi QPM
    • Praktik terbaik: menetapkan kuota sisi klien dan mengirim pemberitahuan
  • Harga:
    • Bayar sesuai penggunaan
    • 404 respons NOT_FOUND, bila lokasi tidak dalam rentang jangkauan, tidak ditagih, tetapi akan mengurangi kuota
  • Persyaratan penggunaan umum: Persyaratan Layanan Google Maps Platform