Di chuyển sang API năng lượng mặt trời trên Nền tảng Google Maps

Nhà phát triển ở Khu vực kinh tế Châu Âu (EEA)

Cách chuyển từ Solar API của Google Earth Engine sang Google Maps Platform Solar API:

  1. Bật Solar API của Google Maps Platform trong dự án trên đám mây.
  2. Tạo một khoá mới và hạn chế khoá đó cho Solar API của Nền tảng Google Maps.
  3. Cập nhật mã của bạn bằng cách làm theo hướng dẫn từng bước bên dưới.

So sánh song song

Solar API (mới) Ngôi nhà có mặt trời Earth Engine Solar API (không dùng nữa) Biểu tượng EE
Trạng thái khởi động Đã ra mắt Thử nghiệm (không dùng nữa)
Quyền truy cập
Cơ chế Tài khoản Google Cloud thông qua bảng điều khiển Cloud, bằng cách bật Solar API và quản lý API thông qua phần Google Maps Platform Tài khoản Google Cloud thông qua bảng điều khiển Cloud, bằng cách bật Earth Engine Solar API
Người tham gia Công khai Được kiểm soát quyền truy cập
Cấp độ Tự cung cấp Truy cập thủ công vào dự án trên đám mây
Xác thực Khoá API và OAuth Khoá API
Giá
Chiến lược Pay-as-you-go Chiết khấu 100%
Phân tầng Mỗi 1.000 truy vấn, với mức giá giảm dựa trên số lượng
Điểm cuối Giá khác nhau cho mỗi điểm cuối
Đám mây
Giám sát Cloud Monitoring trong phần "Google Maps Platform" Cloud Monitoring trong phần "API và Dịch vụ"
Quota QPM (truy vấn mỗi phút) và QPH (truy vấn mỗi giờ) Hằng năm
Ghi nhật ký Cloud Logging (không bắt buộc) Cloud Logging (không bắt buộc)
Thanh toán Tài khoản thanh toán trên Cloud -
Hỗ trợ Hỗ trợ đầy đủ cho Google Maps Platform với SLO/SLA Hỗ trợ có giới hạn qua email
API
Tên máy chủ https://solar.googleapis.com/v1/ (REST) https://earthenginesolar.googleapis.com/v1/ (REST)
Phương thức
  • buildingInsights:findClosest
  • dataLayers:get
  • buildings:findClosest
  • solar.get
Phản hồi Không có thay đổi so với bản thử nghiệm
solarInfo Bán kính ≤100 m Bán kính ≤100 m
Phạm vi tổng hợp dữ liệu
Khu vực Toàn cầu Toàn cầu
Chất lượng dữ liệu HIGH/MEDIUM HIGH/MEDIUM
Loại toà nhà Bất kỳ toà nhà nào được liên kết với một địa chỉ VÀ nằm trong phạm vi hình ảnh của Solar API Bất kỳ toà nhà nào được liên kết với một địa chỉ VÀ nằm trong phạm vi hình ảnh của Solar API
Điều khoản dịch vụ
TOS Điều khoản của Google Maps Platform Điều khoản của Google Earth Engine

Từng bước

Thiết lập dự án trên đám mây của bạn

Hướng dẫn tại đây: Thiết lập dự án của bạn trên Google Cloud.

Chỉ một số vai trò nhất định mới có thể tạo dự án trên đám mây. Nếu bạn không thể tạo dự án, hãy liên hệ với quản trị viên của tổ chức.

Bạn cũng có thể sử dụng một dự án trên đám mây hiện có. Để tìm hiểu thêm, hãy xem Bắt đầu sử dụng Nền tảng Google Maps.

Thiết lập Tài khoản thanh toán

Hướng dẫn tại đây: Cách quản lý Tài khoản thanh toán.

Bạn có thể sử dụng một dự án trên đám mây hiện có với một tài khoản thanh toán hiện có.

Lấy Khoá API hoặc sử dụng mã thông báo OAuth

Sau khi thiết lập dự án trên đám mây của bạn trên Google Cloud, bạn phải tạo và bảo mật Khoá API để sử dụng Solar API như mô tả trong bài viết Sử dụng khoá API. Hoặc bạn có thể tạo mã thông báo OAuth như mô tả trong Sử dụng OAuth.

Sử dụng Solar API

  • Gửi yêu cầu GET đến các điểm cuối mới : https://solar.googleapis.com
  • Xin lưu ý rằng một số tên phương thức API đã thay đổi:
    • buildings:findClosestbuildingInsights:findClosest
    • solarinfo:getdataLayers:get

Thử nghiệm nhanh: Sử dụng khoá API đã lưu từ bước trước và thay thế YOUR_API_KEY trong truy vấn mẫu bên dưới, trước khi tải URL trong trình duyệt:

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

Phản hồi cho bản phát hành Xem trước ban đầu

Đối với bản thử nghiệm ban đầu vào ngày 9 tháng 5 năm 2023, các URL trong phản hồi có dạng:

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

Đoạn mã sau đây là một phản hồi mẫu:

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

Để gửi yêu cầu đến một URL trong phản hồi, hãy đưa toàn bộ URL vào yêu cầu.

Thông số kỹ thuật đầy đủ của yêu cầu và phản hồi này nằm trong tài liệu tham khảo.

Viết một ứng dụng để hỗ trợ cả hai định dạng phản hồi

Giờ đây, bạn có thể viết một ứng dụng xử lý cả định dạng phản hồi bản xem trước ban đầu và định dạng phản hồi hiện tại.

Ngoài URL thực tế, điểm khác biệt chính giữa hai phản hồi là bạn phải truyền khoá API đến một yêu cầu truy cập vào các URL từ định dạng phản hồi mới. Nếu bạn bỏ qua khoá API, yêu cầu sẽ không thành công.

Ví dụ: bạn có thể thêm mã sau vào ứng dụng để kiểm tra URL và xử lý chính xác từng phiên bản:

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

Giám Sát

Cấp dự án Cấp Tài khoản thanh toán

Cloud Monitoring Cloud Billing

Mẹo hữu ích

  • Hạn mức: mức sử dụng có thể mở rộng (thay vì hạn mức hằng năm sẽ biến mất)
    • Hạn mức hiện tại sẽ được thay đổi thành QPM
    • Các phương pháp hay nhất: đặt hạn mức phía máy khách và gửi cảnh báo
  • Giá:
    • Pay-as-you-go
    • Các phản hồi 404 NOT_FOUND (khi vị trí không nằm trong phạm vi bao phủ) sẽ không bị tính phí nhưng sẽ được tính vào hạn mức
  • Điều khoản sử dụng chung: Điều khoản dịch vụ của Google Maps Platform