Cách 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 của Nền tảng Google Maps:
- Bật API Năng lượng mặt trời của Nền tảng Google Maps trong dự án trên đám mây.
- Tạo một khoá mới và hạn chế khoá đó cho API GMP Solar.
- Cập nhật mã của bạn bằng cách làm theo hướng dẫn theo từng bước bên dưới.
So sánh song song
Solar API (mới) | Earth Engine Solar API (không dùng nữa) | |
---|---|---|
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 Google Cloud Console, bằng cách bật Solar API 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 quyền truy cập |
Cấp độ | Tự cấp phép | Quyền truy cập thủ công vào dự án trên Google Cloud |
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 | Tính theo 1.000 cụm từ tìm kiếm, với mức giá giảm dần dựa trên số lượng | – |
Điểm cuối | Giá khác nhau theo từng điểm cuối | – |
Cloud | ||
Giám sát | Cloud Monitoring (Dịch vụ giám sát trên đám mây) trong phần "Google Maps Platform" | Cloud Monitoring (Dịch vụ giám sát trên đám mây) trong phần "API và dịch vụ" |
Hạn mức | QPM (số truy vấn mỗi phút) và QPH (số 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 Cloud Billing | - |
Hỗ trợ | Hỗ trợ toàn diện cho Nền tảng Google Maps theo 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 ≤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à | Mọi toà nhà được liên kết với một địa chỉ VÀ nằm trong phạm vi hình ảnh của API năng lượng mặt trời | Mọi toà nhà được liên kết với một địa chỉ VÀ nằm 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ụ | ||
Điều khoản dịch vụ | Đ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 Google Cloud
Hãy xem hướng dẫn tại đây: Thiết lập dự án trê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ể sử dụng một dự án trên Google Cloud hiện có. Để tìm hiểu thêm, hãy xem bài viết Bắt đầu sử dụng Google Maps Platform.
Thiết lập Tài khoản thanh toán
Hãy xem hướng dẫn tại đây: Cách quản lý Tài khoản thanh toán của bạn.
Bạn có thể sử dụng một dự án Cloud 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 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 phần Sử dụng Khoá API. Ngoài ra, 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 Solar API
- Tạo 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:findClosest
→buildingInsights:findClosest
solarinfo:get
→dataLayers: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 Bản xem trước ban đầu
Đối với bản phát hành Bản xem trước ban đầu vào ngày 9 tháng 5 năm 2023, các 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", ... ] }
Để đưa ra 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 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ả định dạng phản hồi hiện tại và Bản xem trước ban đầu.
Điểm khác biệt chính giữa hai phản hồi, ngoài URL thực tế, 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
|
Mẹo hay cần biết
- Hạn mức: mức sử dụng có thể mở rộng (thay vì mức sử dụng 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 phủ sóng, sẽ không được tính phí nhưng sẽ 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