Để chuyển từ API năng lượng mặt trời của Google Earth Engine sang Nền tảng Google Maps API năng lượng mặt trời:
- Bật API năng lượng mặt trời trên Nền tảng Google Maps trong dự án trên đám mây của bạn.
- Tạo khoá mới và hạn chế khoá đó trong GMP Dynamic API.
- Cập nhật mã của bạn bằng cách sử dụng từng bước hướng dẫn bên dưới.
So sánh song song
API năng lượng mặt trời (mới) | API năng lượng mặt trời Earth Engine (không dùng nữa) | |
---|---|---|
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 bảng điều khiển Cloud 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 bảng điều khiển Cloud bằng cách bật Earth Engine Dynamic API |
Người tham gia | Công khai | Kiểm soát quyền truy cập |
Cấp độ | Tự cung cấp | Quyền truy cập thủ công vào dự án trên đám mây |
Xác thực | Khoá API và OAuth | Khóa API |
Giá | ||
Chiến lược | Pay-as-you-go | 100% chiết khấu |
Phân tầng | Mỗi 1000 cụm từ tìm kiếm, với giá giảm dựa trên số lượng | – |
Điểm cuối | Mức giá khác nhau theo từng điểm cuối | – |
Cloud | ||
Giám sát | Giám sát trên đám mây trong "Nền tảng Google Maps" | 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ý | Ghi nhật ký trên đám mây (không bắt buộc) | Ghi nhật ký trên đám mây (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 với SLO/SLA | Bị 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 |
|
|
Phản hồi | Không có thay đổi nào 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 | 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 lập bản đồ theo 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 lập bản đồ theo 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 Google Cloud dự án.
Chỉ một số vai trò nhất định mới tạo một dự án trên đám mây; nếu bạn không thể tạo một dự án, hãy liên hệ với của tổ chức.
Bạn cũng có thể sử 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 nhờ 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ý thông tin thanh toán của bạn Tài khoản.
Bạn có thể sử dụng một dự án hiện có trên Google Cloud bằng 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 Google Cloud, bạn phải tạo và bảo mật API của mình Khoá để sử dụng API mặt trời như mô tả trong bài viết Sử dụng API Khoá. Hoặc bạn có thể tạo mã thông báo OAuth như được mô tả trong phần Sử dụng OAuth.
Dùng API năng lượng mặt trời
- Gửi yêu cầu GET đến 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:findClosest
→buildingInsights:findClosest
solarinfo:get
→dataLayers:get
Dùng thử nhanh: Sử dụng khoá API đã lưu ở 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 xem trước gốc
Đối với Bản dùng thử gốc vào ngày 9 tháng 5 năm 2023, URL trong phản hồi phải tuân theo biểu mẫu:
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", ... ] }
Để tạo yêu cầu tới một URL trong phản hồi, hãy đưa toàn bộ URL vào phần của bạn.
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
Giờ đây, bạn có thể viết một ứng dụng xử lý cả Bản xem trước gốc và bản xem trước hiện tại định dạng phản hồi.
Sự khác biệt chính giữa hai phản hồi này, ngoài chính URL thực tế, là bạn phải chuyển khóa API đến một yêu cầu truy cập URL từ định dạng câu trả lờ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 của mình để 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
|
Mẹo cần biết
- Hạn mức: mức tiêu thụ có thể mở rộng quy mô (thay vì theo năm sẽ biến mất)
- Hiện tại hạn mức 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 câu trả lờ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