ย้ายข้อมูลไปยัง Solar API บน Google Maps Platform

วิธีย้ายข้อมูลจาก Google Earth Engine Solar API ไปยัง Google Maps Platform Solar API

  1. เปิดใช้ Solar API ของ Google Maps Platform ในโปรเจ็กต์ระบบคลาวด์
  2. สร้างคีย์ใหม่และจํากัดให้ใช้ได้กับ GMP Solar API เท่านั้น
  3. อัปเดตโค้ดโดยใช้วิธีการทีละขั้นตอนด้านล่าง

การเปรียบเทียบแบบเทียบเคียง

Solar API (ใหม่) บ้านที่มีดวงอาทิตย์ Earth Engine Solar API (เลิกใช้งานแล้ว) ไอคอน EE
สถานะการเปิดตัว เปิดตัวแล้ว โปรแกรมนําร่อง (เลิกใช้งานแล้ว)
การเข้าถึง
กลไก บัญชี Google Cloud ผ่านคอนโซล Cloud โดยเปิดใช้ Solar API และจัดการ API ผ่านส่วน Google Maps Platform บัญชี Google Cloud ผ่านคอนโซล Cloud โดยเปิดใช้ Earth Engine Solar API
ใคร สาธารณะ ควบคุมการเข้าถึง
ระดับ การจัดสรรด้วยตนเอง การเข้าถึงโปรเจ็กต์ที่อยู่ในระบบคลาวด์ด้วยตนเอง
การตรวจสอบสิทธิ์ คีย์ API และ OAuth คีย์ API
ราคา
กลยุทธ์ Pay-as-you-go ส่วนลด 100%
การแบ่งระดับ ต่อคำค้นหา 1, 000 รายการ โดยราคาจะลดลงตามปริมาณ
ปลายทาง ราคาต่ออุปกรณ์ปลายทางที่แตกต่างกัน
Cloud
การตรวจสอบ การตรวจสอบระบบคลาวด์ในส่วน "Google Maps Platform" การตรวจสอบระบบคลาวด์ในส่วน "API และบริการ"
โควต้า QPM (การค้นหาต่อนาที) และ QPH (การค้นหาต่อชั่วโมง) รายปี
การบันทึก Cloud Logging (ไม่บังคับ) Cloud Logging (ไม่บังคับ)
การเรียกเก็บเงิน บัญชีสำหรับการเรียกเก็บเงินใน Cloud -
การสนับสนุน การสนับสนุน Google Maps Platform แบบเต็มที่มี SLO/SLA จํากัด ทางอีเมล
API
ชื่อโฮสต์ https://solar.googleapis.com/v1/ (REST) https://earthenginesolar.googleapis.com/v1/ (REST)
เมธอด
  • buildingInsights:findClosest
  • dataLayers:get
  • buildings:findClosest
  • solar.get
คำตอบ ไม่มีการเปลี่ยนแปลงเมื่อเทียบกับเวอร์ชันนําร่อง
solarInfo รัศมี ≤100 เมตร รัศมี ≤100 เมตร
ความครอบคลุม
พื้นที่ ทั่วโลก ทั่วโลก
คุณภาพของข้อมูล HIGH/MEDIUM HIGH/MEDIUM
ประเภทอาคาร อาคารที่แมปกับที่อยู่และอยู่ภายในความครอบคลุมของภาพจาก Solar API อาคารที่แมปกับที่อยู่และอยู่ภายในความครอบคลุมของภาพจาก Solar API
ข้อกำหนดในการให้บริการ
TOS ข้อกำหนดของ Google Maps Platform ข้อกำหนดของ Google Earth Engine

คำแนะนำทีละขั้นตอน

ตั้งค่าโปรเจ็กต์ Google Cloud

ดูวิธีการได้ที่หัวข้อตั้งค่าโปรเจ็กต์ Google Cloud

เฉพาะบทบาทบางอย่างเท่านั้นที่สร้างโปรเจ็กต์ในระบบคลาวด์ได้ หากสร้างโปรเจ็กต์ไม่ได้ โปรดติดต่อผู้ดูแลระบบขององค์กร

หรือจะใช้โปรเจ็กต์ Cloud ที่มีอยู่ก็ได้ ดูข้อมูลเพิ่มเติมได้ที่การเริ่มต้นใช้งาน Google Maps Platform

ตั้งค่าบัญชีการเรียกเก็บเงิน

ดูวิธีการได้ที่วิธีจัดการบัญชีการเรียกเก็บเงิน

คุณใช้โปรเจ็กต์ที่อยู่ในระบบของ Cloud กับบัญชีสำหรับการเรียกเก็บเงินที่มีอยู่ได้

รับคีย์ API หรือใช้โทเค็น OAuth

หลังจากตั้งค่าโปรเจ็กต์ Google Cloud แล้ว คุณต้องสร้างและรักษาความปลอดภัยให้กับคีย์ API เพื่อใช้ Solar API ตามที่อธิบายไว้ในใช้คีย์ API หรือจะสร้างโทเค็น OAuth ก็ได้ตามที่อธิบายไว้ในใช้ OAuth

ใช้ Solar API

  • ส่งคําขอ GET ไปยังปลายทางใหม่ : https://solar.googleapis.com
  • โปรดทราบว่าชื่อเมธอด API บางรายการมีการเปลี่ยนแปลง ดังนี้
    • buildings:findClosestbuildingInsights:findClosest
    • solarinfo:getdataLayers:get

การทดลองใช้อย่างรวดเร็ว: ใช้คีย์ API ที่บันทึกไว้จากขั้นตอนก่อนหน้า แล้วแทนที่ YOUR_API_KEY ในตัวอย่างการค้นหาด้านล่างก่อนโหลด URL ในเบราว์เซอร์

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

การตอบกลับสำหรับเวอร์ชันตัวอย่างเวอร์ชันแรก

สำหรับรุ่นตัวอย่างฉบับแรกในวันที่ 9 พฤษภาคม 2023 URL ในการตอบกลับจะอยู่ในรูปแบบต่อไปนี้

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

ข้อมูลโค้ดต่อไปนี้เป็นตัวอย่างคำตอบ

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

หากต้องการส่งคำขอไปยัง URL ในการตอบกลับ ให้ใส่ URL ทั้งหมดในคำขอ

ข้อกำหนดทั้งหมดของคำขอและการตอบกลับนี้อยู่ในเอกสารอ้างอิง

เขียนแอปให้รองรับทั้ง 2 รูปแบบของคำตอบ

ตอนนี้คุณเขียนแอปที่จัดการทั้งรูปแบบคำตอบเวอร์ชันตัวอย่างต้นฉบับและเวอร์ชันปัจจุบันได้แล้ว

ความแตกต่างหลักระหว่างการตอบกลับ 2 รูปแบบนี้ (นอกเหนือจาก URL จริง) คือคุณต้องส่งคีย์ API ไปยังคําขอที่เข้าถึง URL จากรูปแบบการตอบกลับใหม่ หากไม่ใส่คีย์ API คำขอจะดำเนินการไม่สำเร็จ

เช่น คุณสามารถเพิ่มโค้ดต่อไปนี้ลงในแอปเพื่อตรวจสอบ URL และจัดการแต่ละเวอร์ชันได้อย่างถูกต้อง

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

ติดตามดู

ระดับโปรเจ็กต์ ระดับบัญชีสำหรับการเรียกเก็บเงิน

Cloud Monitoring การเรียกเก็บเงินใน Cloud

เคล็ดลับที่ควรทราบ

  • โควต้า: ปริมาณการใช้ที่ปรับขนาดได้ (แทนที่จะเป็นรายปีซึ่งจะหายไป)
    • โควต้าปัจจุบันซึ่งจะเปลี่ยนเป็น QPM
    • แนวทางปฏิบัติแนะนำ: กำหนดโควต้าฝั่งไคลเอ็นต์และส่งการแจ้งเตือน
  • ราคา:
    • Pay-as-you-go
    • การตอบกลับ 404 NOT_FOUND เมื่อตำแหน่งไม่ได้อยู่ในช่วงสัญญาณ จะมีการไม่เรียกเก็บเงิน แต่ระบบจะนับรวมในโควต้า
  • ข้อกำหนดในการใช้งานทั่วไป: ข้อกำหนดในการให้บริการของ Google Maps Platform