ภาพรวมของ App Engine และ Earth Engine

Google App Engine ช่วยให้คุณสร้าง และเรียกใช้แอปพลิเคชันที่กำหนดเองบนเซิร์ฟเวอร์ของ Google ได้ แอปพลิเคชัน App Engine สร้าง ดูแลรักษา และปรับขนาดได้ง่ายเมื่อความต้องการด้านการเข้าชมและการจัดเก็บข้อมูลเปลี่ยนแปลงไป เพียงแค่อัปโหลดซอร์สโค้ดของแอปพลิเคชันก็พร้อมใช้งาน หากคุณเพิ่งเริ่มพัฒนาแอปสำหรับ App Engine โปรดดูการเริ่มต้นใช้งานอย่างรวดเร็วของ App Engine Python หรือ Node.js ก่อนดำเนินการต่อ

คุณใช้ Earth Engine และ App Engine ร่วมกันเพื่อสร้างแอปพลิเคชันเชิงพื้นที่ที่ปรับขนาดได้ โดยปกติแล้ว โค้ด App Engine จะมีไลบรารีของไคลเอ็นต์ Python สำหรับ Earth Engine และส่งคำขอไปยังแบ็กเอนด์ของ Earth Engine โดยใช้บัญชีบริการ ซึ่งเป็นข้อดีเพราะช่วยให้ ทุกคนใช้แอปของคุณได้โดยไม่ต้องเข้าสู่ระบบหรือเป็นผู้ใช้ Earth Engine ที่ลงทะเบียน โปรดทราบว่าโควต้าการใช้งาน Earth Engine มาตรฐานจะมีผลกับบัญชีบริการแต่ละบัญชี

แนวทางการพัฒนาอีกอย่างคือการใช้ การตรวจสอบสิทธิ์ฝั่งไคลเอ็นต์แทนบัญชีบริการ ด้วยแนวทางนี้ ผู้เข้าชมแอปพลิเคชันของคุณต้องลงทะเบียน Earth Engine และเข้าสู่ระบบ ข้อดีของแนวทางนี้คือคำขอไปยัง Earth Engine จะดำเนินการโดยใช้ข้อมูลเข้าสู่ระบบของผู้ใช้ปลายทาง ดังนั้นคุณจึงมีโอกาสน้อยที่จะเกินขีดจำกัดการใช้งาน ความท้าทายคือผู้ใช้ของคุณต้องลงชื่อสมัครใช้ Earth Engine และเข้าสู่ระบบก่อนจึงจะใช้แอปพลิเคชันได้

ไดเรกทอรีการสาธิต Earth Engine App Engine ใน GitHub มีชุดตัวอย่าง App Engine ที่มีประโยชน์ ดูคำอธิบายโดยย่อของแต่ละตัวอย่างได้ที่หน้าแอปตัวอย่าง เอกสารนี้มีวิธีการตั้งค่าและติดตั้งใช้งาน ตัวอย่างหรือแอปที่กำหนดเองที่คุณสร้างขึ้น

การทําให้แอป App Engine ใช้งานได้กับ Earth Engine

วิธีการต่อไปนี้จะอธิบายวิธีทําให้แอปเดโมใช้งานได้ วิธีการ Python มีไว้สําหรับ Mac OS และ Linux หากคุณใช้ Python ใน Windows ให้ลองใช้คำสั่งนี้

เปิดใช้ Earth Engine API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google

สร้างหรือเลือกโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google Cloud แล้วเปิดใช้ Earth Engine API ตาม วิธีการเหล่านี้

ตั้งค่าข้อมูลเข้าสู่ระบบ

บัญชีบริการ

คุณอาจใช้บัญชีบริการเพื่อ ให้สิทธิ์คำขอไปยัง Earth Engine ในนามของผู้ที่ใช้แอปของคุณ ไฟล์ config.py มีโค้ดการตรวจสอบสิทธิ์โดยใช้อีเมลของบัญชีบริการ และไฟล์คีย์ส่วนตัว หากต้องการตั้งค่าการตรวจสอบสิทธิ์ด้วยบัญชีบริการ ให้ทำตามวิธีการเหล่านี้เพื่อสร้างบัญชีบริการ และไฟล์คีย์ส่วนตัว ตั้งชื่อไฟล์คีย์เป็น .private-key.json แล้วย้ายไป ไว้ในไดเรกทอรีโปรเจ็กต์

Python

หากยังไม่ได้ตั้งค่า ให้ตั้งค่า Earth Engine Python API ก่อน จากนั้นทดสอบบัญชีบริการตามวิธีการเหล่านี้

หากการทดสอบสำเร็จ ให้อัปเดต config.py (หรือไฟล์ที่เทียบเท่าในซอร์สโค้ด) ด้วยอีเมลบัญชีบริการ (ไม่ควรเปลี่ยนเส้นทางไปยังไฟล์คีย์ เนื่องจากอยู่ในไดเรกทอรีโปรเจ็กต์)

Node.js

ติดตั้งการอ้างอิงของโปรเจ็กต์โดยเรียกใช้ npm install ระบบจะคัดลอก Earth Engine Node.js API และการขึ้นต่อกันอื่นๆ ไปยังโฟลเดอร์ ./node_modules ในไดเรกทอรีโปรเจ็กต์ หากติดตั้งไม่สำเร็จ ให้ตรวจสอบว่าได้ติดตั้ง Node.js เวอร์ชันล่าสุดแล้ว ตรวจสอบสิทธิ์และเริ่มต้นไลบรารี โดยแทนที่ my-project ด้วยรหัสโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google Cloud

const ee = require('@google/earthengine');
ee.data.authenticateViaPrivateKey('.private-key.json');
ee.initialize(null, null, null, null, null, 'my-project');

รหัสไคลเอ็นต์ OAuth 2.0

หากต้องการให้ผู้ใช้ตรวจสอบสิทธิ์ในฐานะตนเอง (แทนการใช้บัญชีบริการ) คุณต้องตั้งค่ารหัสไคลเอ็นต์ OAuth จากโปรเจ็กต์ Cloud โดยสิ่งที่คุณต้องทำมีดังนี้

  1. ตั้งค่า Client ID ตาม วิธีการเหล่านี้
  2. อัปเดต static/script.js (หรือไฟล์ที่เทียบเท่าในซอร์สโค้ด) เพื่อใช้รหัสลูกค้า
  3. ตรวจสอบว่า ee_api_js.js อยู่ในไดเรกทอรี /static/ (หรือเทียบเท่า) คุณดาวน์โหลดได้ โดยตรงจาก GitHub, ติดตั้งจาก npm หรือหากคุณโคลนที่เก็บ EE API ทั้งหมดแล้ว ให้คัดลอก จาก earthengine-api/javascript/build ในระบบไฟล์ในเครื่อง

ตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ในเครื่อง

Python

ทำตามวิธีการในไดเรกทอรีตัวอย่างแต่ละรายการใน GitHub เพื่อดาวน์โหลดและสร้างโปรเจ็กต์ หากมีไฟล์ build.sh ให้เรียกใช้จากโฟลเดอร์รูทของแอปพลิเคชันด้วยคำสั่งต่อไปนี้

./build.sh

สคริปต์การตั้งค่าจะดาวน์โหลดการอ้างอิงและติดตั้งเครื่องมือบรรทัดคำสั่งของ Google หากยังไม่มีอยู่ในระบบของคุณ ระบบจะคัดลอก Earth Engine Python API และการอ้างอิงของ API ไปยังโฟลเดอร์ ./lib ในไดเรกทอรีโปรเจ็กต์

ตรวจสอบว่าเครื่องมือบรรทัดคำสั่งของ App Engine พร้อมใช้งานโดยเรียกใช้คำสั่งต่อไปนี้

dev_appserver.py

หากไม่พบคำสั่ง ให้ลองดาวน์โหลดและติดตั้ง Google App Engine SDK สำหรับ Python ด้วยตนเอง หากคำสั่งพร้อมใช้งาน คำสั่งควรล้มเหลวโดยมีข้อความ "ข้อผิดพลาด: อาร์กิวเมนต์น้อยเกินไป"

Node.js

ไม่ต้องตั้งค่า

เรียกใช้ในเครื่อง

เมื่อลงทะเบียน บัญชีบริการเพื่อเข้าถึง Earth Engine แล้ว คุณจะใช้บัญชีดังกล่าวเพื่อตรวจสอบสิทธิ์ได้ (ดู config.py) เมื่อทดสอบตัวอย่าง ลองทดสอบตัวอย่างในเครื่องก่อนโดยไปที่ ไดเรกทอรีโปรเจ็กต์แล้วเรียกใช้คำสั่งต่อไปนี้

Python
dev_appserver.py .
Node.js
npm install
npm start

ป้อน http://localhost:8080 ในเบราว์เซอร์เพื่อดู แอปที่ทำงานในเซิร์ฟเวอร์ในเครื่อง ระบบจะนำการเปลี่ยนแปลงที่คุณทำ (และบันทึก) ไปใช้ โดยอัตโนมัติเมื่อคุณรีเฟรชหน้าเว็บ