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

Để chuyển từ API năng lượng mặt trời của Google Earth Engine sang API năng lượng mặt trời Nền tảng Google Maps:

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

So sánh song song

API năng lượng mặt trời (mới) Những ngôi nhà có ánh nắng API Mặt trời Earth Engine (không dùng nữa) Biểu tượng EE
Trạng thái khởi động Đã ra mắt Thí điểm (không dùng nữa)
Quyền truy cập
Cơ chế Tài khoản Google Cloud thông qua Cloud Console, bằng cách bật API năng lượng mặt trời và quản lý API thông qua mục Nền tảng Google Maps Tài khoản Google Cloud thông qua Cloud Console bằng cách bật Earth Engine Solar API
Người tham gia Công khai Có kiểm soát ra vào
Cấp Tự cung cấp Quyền truy cập thủ công vào dự án Cloud
Xác thực Khoá API và OAuth Khóa API
Giá
Chiến lược Pay-as-you-go Chiết khấu 100%
Phân tầng Mỗi 1000 cụm từ tìm kiếm, với mức giá giảm dựa trên số lượng
Thiết bị đầu cuối Có mức giá khác nhau cho mỗi thiết bị đầu cuối
Đám mây
Giám sát Giám sát trên đám mây trong "Google Maps Platform" Giám sát trên đám mây trong phần "API và dịch vụ"
Hạn mức 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 Cloud -
Hỗ trợ Hỗ trợ đầy đủ cho Nền tảng Google Maps theo SLO/SLA Bị giới hạn, theo 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 thay đổi so với chương trình thí điểm
solarInfo Bán kính ≤100m Bán kính ≤100m
Phạm vi tổng hợp dữ liệu
Khu vực Các khu vực nói tiếng Anh Các khu vực nói tiếng Anh
Chất lượng dữ liệu HIGH/MEDIUM HIGH/MEDIUM
Loại toà nhà Bất kỳ toà nhà nào được ánh xạ tới một địa chỉ VÀ trong phạm vi hình ảnh của API năng lượng mặt trời Bất kỳ toà nhà nào được ánh xạ tới một địa chỉ VÀ trong phạm vi hình ảnh của API năng lượng mặt trời
Điều khoản dịch vụ
TOS Điều khoản của Nền tảng Google Maps Điều khoản của Google Earth Engine

Từng bước

Thiết lập dự án trên Google Cloud

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

Chỉ một số vai trò nhất định mới có thể tạo dự án trên Google Cloud. 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ể dùng một dự án hiện có trên Google Cloud. Để tìm hiểu thêm, hãy xem bài viết 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 dự án hiện có trên Google Cloud bằng tài khoản thanh toán.

Nhận Khoá API hoặc dùng mã thông báo OAuth

Sau khi thiết lập dự án Google Cloud, bạn phải tạo và bảo mật Khoá API để sử dụng API năng lượng mặt trời 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 phần Sử dụng OAuth.

Sử dụng API năng lượng mặt trời

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

Dùng thử 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 dùng thử ban đầu

Đối với Bản dùng thử ban đầu vào ngày 9 tháng 5 năm 2023, URL trong phản hồi sẽ 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ố đầy đủ của yêu cầu và phản hồi này có 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

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

Sự khác biệt chính giữa 2 phản hồi (ngoài URL thực tế) là bạn phải truyền khoá API cho một yêu cầu truy cập 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 đây vào ứng dụng của mình để kiểm tra URL và xử lý đúng cách 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;
  }
}

Theo dõi

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

Cloud Monitoring Cloud Billing

Mẹo cần biết

  • Hạn mức: mức sử dụng có thể mở rộng (thay vì sẽ biến mất theo năm)
    • Hạn mức hiện tại sẽ được đổ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
    • 404 phản hồi NOT_FOUND, khi vị trí không nằm trong phạm vi phủ sóng, 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 Nền tảng Google Maps