Untuk beralih dari Google Earth Engine Solar API ke Solar API Google Maps Platform:
- Aktifkan Google Maps Platform Solar API di project cloud Anda.
- Buat kunci baru dan batasi ke GMP Solar API.
- Perbarui kode Anda menggunakan petunjuk langkah demi langkah di bawah.
Perbandingan per aspek
Solar API (baru) |
Earth Engine Solar API (tidak digunakan lagi) |
|
---|---|---|
Status peluncuran | Diluncurkan | Pilot (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 aksesnya |
Tingkat | Disediakan sendiri | Akses manual project cloud |
Autentikasi | Kunci API dan OAuth | Kunci API |
Harga | ||
Strategi | Bayar sesuai penggunaan | Diskon 100% |
Pemberian tingkat | Per 1.000 kueri, dengan harga yang menurun berdasarkan volume | – |
Endpoint | Harga per endpoint yang berbeda | – |
Cloud | ||
Pemantauan | Cloud Monitoring di bagian "Google Maps Platform" | Cloud Monitoring di bagian "API dan Layanan" |
Kuota | QPM (kueri per menit) dan QPH (kueri per jam) | Tahunan |
Logging | Cloud Logging (opsional) | Cloud Logging (opsional) |
Penagihan | Akun Penagihan Cloud | - |
Dukungan | Dukungan Google Maps Platform penuh dengan SLO/SLA | Terbatas, melalui email |
API | ||
Hostname | https://solar.googleapis.com/v1/ (REST) |
https://earthenginesolar.googleapis.com/v1/ (REST) |
Metode |
|
|
Respons | Tidak ada perubahan dibandingkan dengan versi uji coba | – |
solarInfo |
Radius ≤100 m | Radius ≤100 m |
Cakupan | ||
Area | Global | Global |
Kualitas data | HIGH /MEDIUM |
HIGH /MEDIUM |
Jenis bangunan | Bangunan yang dipetakan ke alamat DAN berada dalam cakupan gambar Solar API | Bangunan yang dipetakan ke alamat DAN berada dalam cakupan gambar Solar API |
Persyaratan Layanan | ||
TOS | Persyaratan Google Maps Platform | Persyaratan Google Earth Engine |
Langkah demi langkah
Menyiapkan project Google Cloud
Petunjuknya ada di sini: Menyiapkan project Google Cloud.
Hanya peran tertentu yang dapat membuat project Cloud; jika Anda tidak dapat membuat project, hubungi administrator organisasi Anda.
Anda juga dapat menggunakan project Cloud yang sudah ada. Untuk mempelajari lebih lanjut, lihat Mulai menggunakan Google Maps Platform.
Menyiapkan Akun Penagihan Anda
Petunjuk di sini: Cara mengelola Akun Penagihan Anda.
Anda dapat menggunakan project Cloud yang ada dengan akun penagihan yang ada.
Mendapatkan Kunci API atau menggunakan token OAuth
Setelah menyiapkan project Google Cloud, Anda harus membuat dan mengamankan Kunci API untuk menggunakan Solar API seperti yang dijelaskan dalam Menggunakan Kunci API. 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
- Perhatikan bahwa beberapa nama metode API telah berubah:
buildings:findClosest
→buildingInsights:findClosest
solarinfo:get
→dataLayers:get
Uji coba cepat: Gunakan kunci API yang disimpan dari langkah sebelumnya dan ganti
YOUR_API_KEY
dalam contoh kueri di bawah, sebelum memuat URL di
browser Anda:
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 respons berbentuk:
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 dokumentasi referensi.
Menulis aplikasi untuk mendukung kedua format respons
Sekarang Anda dapat menulis aplikasi yang menangani format respons Pratinjau asli dan saat ini.
Perbedaan utama antara kedua respons, selain URL itu sendiri, adalah Anda harus meneruskan kunci API ke permintaan yang mengakses URL dari format respons baru. Jika Anda tidak menyertakan kunci API, permintaan akan gagal.
Misalnya, Anda dapat menambahkan kode berikut ke aplikasi 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
|
|
|
Tips yang perlu diketahui
- Kuota: konsumsi yang dapat diskalakan (bukan tahunan yang akan hilang)
- Kuota saat ini yang akan diubah menjadi QPM
- Praktik terbaik: menetapkan kuota sisi klien dan mengirimkan pemberitahuan
- Harga:
- Bayar sesuai penggunaan
- Respons 404 NOT_FOUND, saat lokasi tidak berada dalam rentang cakupan, tidak akan ditagih, tetapi akan dihitung dalam kuota
- Persyaratan penggunaan umum: Persyaratan Layanan Google Maps Platform