คำถามที่พบบ่อย

คำถามทั่วไป

ฉันพบปัญหาและต้องการความช่วยเหลือ

โพสต์คำถามตามคำแนะนำนี้ โดยให้ข้อมูลมากที่สุดเท่าที่จะเป็นไปได้ (ดูคำแนะนำของ Stack Overflow เกี่ยวกับการถามคำถามที่ดี) ซึ่งมักจะหมายความว่า

  • ส่งลิงก์ไปยังสคริปต์ในตัวแก้ไขโค้ด (คลิกปุ่ม "รับลิงก์" เพื่อรับลิงก์)

  • แชร์เนื้อหาที่จำเป็นต่อการเรียกใช้สคริปต์

  • สำหรับงานแบบกลุ่มที่ดำเนินการไม่สำเร็จ ให้รายงานรหัสของงานที่ไม่สำเร็จ รหัสงานจะมีลักษณะดังนี้ 4C25GIJBMB52PXTEJTF4JLGL โดยจะอยู่ในแท็บ Task ของตัวแก้ไขโค้ด ดูข้อมูลเพิ่มเติม

ฉันจะอ่านเกี่ยวกับสถาปัตยกรรมของ Earth Engine ได้จากที่ใด

ดูเอกสารนี้: Gorelick et al. 2017

ดูหน้าEDUและแหล่งข้อมูลการฝึกอบรม

ดูหลักสูตร EE ฟรีนี้โดย Ujaval Gandhi ซึ่งมีวิดีโอพร้อมข้อมูลเบื้องต้นเกี่ยวกับการสำรวจระยะไกล

การเขียนโปรแกรม Earth Engine

ข้อผิดพลาดในการเขียนโค้ดที่พบบ่อยมีอะไรบ้าง

ดูคู่มือการแก้ไขข้อบกพร่อง

เหตุใดฉันจึงได้รับข้อผิดพลาด "... is not a function"

ข้อผิดพลาดนี้เกิดขึ้นเมื่อ Earth Engine ไม่พบเมธอดที่เรียกใช้ ตรวจสอบสาเหตุที่พบบ่อยต่อไปนี้

การสะกดหรือการคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่: เมธอดจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ตรวจสอบการสะกดเทียบกับเอกสารอ้างอิง API

Error: img.normalizedDiff(...) -> Correct: img.normalizedDifference(...)

ไม่มีการแคสต์ประเภท: ค่าที่แสดงผลจากฟังก์ชันต่างๆ เช่น .get() เป็นอินสแตนซ์ ee.ComputedObject ทั่วไปและต้องแคสต์อย่างชัดเจน ดูการแคสต์ประเภทออบเจ็กต์ที่ไม่รู้จัก

Error: dict.get('val').add(5) -> Correct: ee.Number(dict.get('val')).add(5)

การผสมผสานเมธอดฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์: ตรวจสอบว่าคุณไม่ได้ใช้เมธอด JavaScript หรือ Python มาตรฐาน (เช่น .push() หรือ .append()) กับออบเจ็กต์ Earth Engine ดูหัวข้อหลีกเลี่ยงการผสมฟังก์ชันไคลเอ็นต์และเซิร์ฟเวอร์

Error: list.push(4) or list.append(4) -> Correct: list.add(4)

เมธอดไม่พร้อมใช้งาน: หากออบเจ็กต์ได้รับการพิมพ์อย่างถูกต้องและเมธอดมีอยู่ในเอกสารประกอบหรือเคยทำงานได้ก่อนหน้านี้แต่ตอนนี้ไม่ทำงาน ให้รายงานข้อบกพร่อง

ทำไมฉันจึงใช้คณิตศาสตร์พื้นฐานอย่าง ee.Image("image") * 2 ไม่ได้

ใน EE คุณไม่ควรผสมออบเจ็กต์หรือการดำเนินการฝั่งเซิร์ฟเวอร์และฝั่งไคลเอ็นต์ การดำเนินการทั้งหมดในออบเจ็กต์ EE จะดำเนินการฝั่งเซิร์ฟเวอร์ การคำนวณฝั่งไคลเอ็นต์จะไม่ทำงานตามที่คุณต้องการ โปรดดูรายละเอียดเพิ่มเติมในหน้านี้

ฉันจะใช้ลูป for หรือคำสั่ง if/else ได้อย่างไร

การเขียนโปรแกรม Earth Engine ทำได้โดยใช้ภาษาเชิงฟังก์ชัน ดังนั้นการวนซ้ำและการดำเนินการแบบมีเงื่อนไขจึงควรแสดงโดยใช้แนวคิดที่เทียบเท่ากัน เช่น map หรือ filter ดูรายละเอียดเพิ่มเติมได้ในหน้านี้

ฉันจะแสดงป้ายกำกับข้อความในรูปภาพหรือวิดีโอได้อย่างไร

ไม่มีการรองรับป้ายกำกับข้อความในตัว แต่คุณสามารถทำสิ่งต่อไปนี้ได้

ฉันใช้จานสีมาตรฐานได้ไหม

ใช้แพ็กเกจ JS ของบุคคลที่สาม ee-palettes

ฉันจะสร้างเว็บไซต์ของตัวเองที่ใช้ Earth Engine ได้อย่างไร

ใช้แอป Earth Engine สำหรับแอปพลิเคชันพื้นฐาน ในกรณีที่ซับซ้อนมากขึ้น คุณสามารถสร้างแอป App Engine ที่ทำงานด้วย EE

รหัสแผนที่ทำงานอย่างไร

รหัสแผนที่ (เรียกว่า mapid ใน API) คือคีย์ที่ช่วยให้ไคลเอ็นต์ดึงข้อมูลชิ้นส่วนแผนที่ได้ รหัสแต่ละรายการคือแฮชที่สร้างขึ้นโดยการระบุนิพจน์รูปภาพไปยังปลายทาง getMapId รหัสที่ได้คือคีย์ที่ชี้ไปยังทั้งนิพจน์รูปภาพและข้อมูลเข้าสู่ระบบของผู้ใช้ที่จะใช้สร้างการ์ดในขั้นตอนถัดไป

การขอชิ้นส่วนแผนที่จะเกี่ยวข้องกับการระบุตำแหน่งของชิ้นส่วน (x, y, zoom) รวมถึง mapid (คีย์สำหรับรูปภาพและข้อมูลเข้าสู่ระบบ) คุณสามารถใช้รหัสเดียวกันซ้ำเพื่อโหลดชิ้นส่วนแผนที่หลายชิ้นได้ ไม่มีการจำกัดการใช้คีย์ mapid ซ้ำ แต่คีย์จะหมดอายุหลังจากผ่านไป 2-3 ชั่วโมง เราไม่ได้เผยแพร่กรอบเวลาที่เจาะจงเกี่ยวกับระยะเวลาที่รหัสจะคงอยู่ แต่โค้ดที่คุณเขียนควรมีความยืดหยุ่นต่อการหมดอายุของรหัส

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

ทำไม ee.Algorithms.If() จึงพิมพ์ทั้งกรณีที่เป็นจริงและเท็จ

function a() { print("true"); }
function b() { print("false"); }
// Prints 'true' and 'false'.
ee.Algorithms.If(true, a(), b());

อัลกอริทึม If() ทำงานเหมือนกับอัลกอริทึมอื่นๆ ใน Earth Engine ตรงที่ต้องประเมินอาร์กิวเมนต์ทั้งหมดก่อนที่อัลกอริทึมจะทำงานได้ อัลกอริทึมจะได้รับทั้งผลลัพธ์ trueCase และ falseCase จากนั้นจะเลือกและแสดงผลลัพธ์หนึ่งรายการตามอาร์กิวเมนต์ condition แต่ต้องดำเนินการทั้ง 2 เส้นทางเพื่อให้ระบบส่งค่าเหล่านั้นไปยังอัลกอริทึมตั้งแต่แรก

ฉันได้รับข้อผิดพลาด "ขนาดเพย์โหลดของคำขอเกินขีดจำกัด"

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

ee.Image.clip() และ ee.Filter.bounds() แตกต่างกันอย่างไร

ดูชุดข้อความ GIS Stack Exchange นี้ ฟังก์ชัน ee.Image.clip() จะมาสก์พิกเซลที่ไม่ตัดกับ ee.Geometry หรือ ee.Feature ที่ระบุ ทำให้พิกเซลเหล่านั้นโปร่งใสในการแสดงภาพและไม่รวมอยู่ในการคำนวณ คุณสามารถมองว่าเป็นการตัดพิกเซลออกจากรูปภาพก็ได้

ฟังก์ชัน ee.Filter.bounds() จะกรองออบเจ็กต์ ee.Image ออกจาก ee.ImageCollection โดยอิงตามจุดตัดของรูปภาพกับ ee.Geometry หรือ ee.Feature ซึ่งใช้เพื่อจำกัดขอบเขตของการวิเคราะห์ให้เหลือเฉพาะรูปภาพที่ตัดกับภูมิภาคที่กำหนด ซึ่งช่วยเพิ่มประสิทธิภาพนิพจน์

ฉันจะแปลงพิกเซลรูปภาพเป็นคอลเล็กชันฟีเจอร์ โดยให้มี 1 ฟีเจอร์ต่อพิกเซลได้อย่างไร

ใช้ฟังก์ชัน ee.Image.sample() ดูตัวอย่างการใช้งานในหน้าเอกสารอ้างอิง API ของฟังก์ชัน

ee.ImageCollection.merge() และ ee.ImageCollection.combine() แตกต่างกันอย่างไร

ฟังก์ชัน ee.ImageCollection.merge() จะผสานรูปภาพทั้งหมดจาก 2 คอลเล็กชันเป็นคอลเล็กชันเดียว ไม่ว่ารูปภาพที่เกี่ยวข้องจะมีแบนด์ ข้อมูลเมตา CRS หรือสเกลที่ตรงกันหรือไม่ก็ตาม ซึ่งเป็นการรวมคอลเล็กชัน 2 รายการเข้าด้วยกัน เมธอด combine() จะรวมแบนด์ของรูปภาพที่ตรงกันจาก 2 คอลเล็กชันเป็นคอลเล็กชันเดียว รูปภาพที่ตรงกันจะใช้รหัสเดียวกัน (พร็อพเพอร์ตี้ system:index) ซึ่งเป็นการรวมภายในของคอลเล็กชัน 2 รายการตามรหัสรูปภาพ โดยจะรวมแบนด์จากรูปภาพที่ตรงกันเข้าด้วยกัน สำหรับรูปภาพที่ตรงกัน ระบบจะเพิ่มแบนด์จากรูปภาพรองลงในรูปภาพหลัก (การเขียนทับเป็นตัวเลือกที่ไม่บังคับ) หากไม่มีรูปภาพที่ตรงกัน ระบบจะแสดงผลคอลเล็กชันที่ว่างเปล่า

ฉันจะกรองคอลเล็กชันรูปภาพตามช่วงวันที่หลายช่วงได้อย่างไร

ดูชุดข้อความ GIS Stack Exchange นี้ merge()คอลเล็กชันหลายรายการพร้อมกันหรือใช้ ee.Filter.or()

วิธีสร้างกรอบล้อมรอบจุดที่กำหนด

// Buffer the point by a chosen radius and then get the bounding box.
var LNG = -117.298;
var LAT = 45.162;
var point = ee.Geometry.Point([LNG, LAT]);
var buffer = point.buffer(30000); // half of box width as buffer input
var box = buffer.bounds(); // draw a bounding box around the buffered point
Map.centerObject(box);
Map.addLayer(point);
Map.addLayer(box);

// Map the buffer and bounds procedure over a point feature collection.
var pointCol = ee.FeatureCollection([
  ee.Feature(ee.Geometry.Point([LNG + 1, LAT])),
  ee.Feature(ee.Geometry.Point([LNG - 1, LAT]))
]);
var boxCol = pointCol.map(function(feature) {
  var box = feature.buffer(30000).bounds();
  return feature.setGeometry(box.geometry());
});
Map.addLayer(boxCol);

Data Catalog

คุณเพิ่มชุดข้อมูล X ได้ไหม

รายงานข้อบกพร่องเกี่ยวกับคำขอชุดข้อมูลโดยทำตามคู่มือคำขอชุดข้อมูล

นอกจากนี้ คุณยังอัปโหลดข้อมูลไปยังโฟลเดอร์หลักของ Earth Engine ได้ด้วย ดูการนำเข้าข้อมูลแรสเตอร์และการนำเข้าข้อมูลตาราง

ชุดข้อมูลที่มีอยู่มีเวอร์ชันใหม่

รายงานข้อบกพร่องของชุดข้อมูลโดยทำตามคู่มือคำขอชุดข้อมูล และระบุว่าคุณกำลังขออัปเดตชุดข้อมูล

ชุดข้อมูลที่มีอยู่ไม่ได้รับการอัปเดตหรือไม่มีชิ้นงาน

ก่อนรายงานปัญหา ให้ตรวจสอบว่าชิ้นงานที่เลือกมีอยู่จริงในเว็บไซต์ของผู้ให้บริการชุดข้อมูล (หากเป็นไปได้) ดูรายละเอียดเพิ่มเติมได้ที่คำแนะนำเกี่ยวกับรูปภาพที่หายไป

หากคุณกำลังมองหาชิ้นงานโดยการกรอง ImageCollection โปรดตรวจสอบว่าตัวกรองไม่จำกัดมากเกินไป

โดยเฉพาะอย่างยิ่ง โปรดทราบว่า

  • ESA ไม่ได้สร้าง Sentinel-2 SR (ข้อมูลระดับ 2) สำหรับฉากระดับ 1 ในช่วงแรก

  • Landsat ไม่ครอบคลุมทั่วโลกก่อนปี 2000

ชุดข้อมูลที่มีอยู่มีค่าที่ไม่ถูกต้อง

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

ฉันจะถามเกี่ยวกับชุดข้อมูลได้จากที่ใดอีกบ้าง

หากมีคำถามเกี่ยวกับชุดข้อมูล NASA โปรดดูฟอรัม NASA Earth Data

หากมีคำถามเกี่ยวกับกล่องเครื่องมือที่ทำงานบนชุดข้อมูล Copernicus โปรดดูฟอรัม S1, S2 และ S3

แคตตาล็อก EE มีขนาดใหญ่แค่ไหน

ณ เดือนตุลาคม 2023 แคตตาล็อกมีชุดข้อมูลมากกว่า 1, 000 ชุด ขนาดบนดิสก์มีขนาดมากกว่า 90 เพตะไบต์ (หลังจากพิจารณาการบีบอัดแบบไม่สูญเสียรายละเอียด)

ข้อมูลใน EE ได้รับการอัปเดตบ่อยเพียงใด

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

ฉันจะดูเนื้อหาของแคตตาล็อก EE แบบเป็นโปรแกรมได้อย่างไร

ระบบจะส่งออกรายการชุดข้อมูลในรูปแบบ STAC ไปยังที่เก็บข้อมูล Google Cloud Storage gs://earthengine-stac ไฟล์รายการคือ catalog.json

ฉันจะใช้ข้อมูลหรือภาพจาก Google Maps เพื่อการวิเคราะห์ได้ไหม

Google ไม่ได้อนุญาตให้ใช้สิทธิหรือขายข้อมูลแผนที่ฐานเพื่อการวิเคราะห์

ฉันจะดูวันที่นำเข้าเนื้อหาได้อย่างไร

พร็อพเพอร์ตี้ชิ้นงาน 'system:version' คือการประทับเวลาการนำเข้า ซึ่งจัดรูปแบบเป็นไมโครวินาทีนับตั้งแต่ Unix Epoch ต่อไปนี้เป็นตัวอย่างที่แปลงการประทับเวลาการนำเข้าของรูปภาพ Landsat เป็นรูปแบบที่มนุษย์อ่านได้

var image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508');
print('Ingest date', ee.Date(image.getNumber('system:version').divide(1000)));

แคตตาล็อก Earth Engine มีข้อมูลเมตา JSON-LD ไหม

ใช่ ข้อมูลเมตา JSON-LD ฝังอยู่ในหน้า HTML ของแคตตาล็อก ตัวอย่างเช่น หน้า Sentinel-2 มีบล็อกต่อไปนี้

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [{
      "@type": "ListItem",
      "position": 1,
      "name": "Earth Engine Data Catalog",
      "item": "https://developers.google.com/earth-engine/datasets"
    },{
      "@type": "ListItem",
      "position": 2,
      "name": "Harmonized Sentinel-2 MSI: MultiSpectral Instrument, Level-1C",
      "item": "https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_HARMONIZED"
    }]
  }
  </script>

Landsat

อัลกอริทึม simpleComposite มีการใช้งานอย่างไร

การติดตั้งใช้งานฝั่งเซิร์ฟเวอร์เทียบเท่ากับโค้ด JavaScript นี้

ฉันจะสร้างภาพคอมโพสิตที่ไม่มีเมฆจากข้อมูลการสะท้อนพื้นผิวของ Landsat ได้อย่างไร

ข้อมูล Landsat ระดับ 2 (การสะท้อนของพื้นผิว) มีแถบคุณภาพหลายแถบที่สามารถใช้เพื่อมาสก์เมฆและอาร์ติแฟกต์รูปภาพอื่นๆ ที่ไม่ต้องการออกได้ ตัวอย่างการใช้แบนด์เหล่านี้เพื่อประมวลผลรูปภาพ Landsat 8 SR และสร้างภาพรวมที่ไม่มีเมฆค่ามัธยฐานมีอยู่ในโพสต์ GIS Stack Exchange นี้ ระบบจะใช้ขั้นตอนเดียวกันนี้ในการสร้างภาพรวมแบบไม่มีเมฆเพื่อใช้ในตัวอย่างการแยกประเภทที่มีการควบคุมดูแลในคู่มือนักพัฒนาซอฟต์แวร์

จำเป็นต้องมีการปรับสมดุลการสะท้อนพื้นผิว Landsat แบบข้ามเซ็นเซอร์หรือไม่

Roy et al., 2016 ได้รวมการวิเคราะห์ความแตกต่างของการสะท้อนระหว่าง TOA ของ Landsat 7-8 และการสะท้อนพื้นผิว โดยได้เผยแพร่ค่าสัมประสิทธิ์ OLS และ RMA เพื่อให้ผู้อ่านสามารถแปลงค่าการสะท้อนแสงของข้อมูลเซ็นเซอร์หนึ่งไปยังอีกเซ็นเซอร์หนึ่งได้ บรรทัดสุดท้ายของรายงานระบุว่า "แม้ว่าความแตกต่างของเซ็นเซอร์จะค่อนข้างน้อย แต่ก็อาจมีผลกระทบอย่างมาก โดยขึ้นอยู่กับแอปพลิเคชันข้อมูล Landsat" อย่างไรก็ตาม การวิเคราะห์นี้อิงตามข้อมูลก่อนการเก็บรวบรวม

การปรับปรุงที่ทำขึ้นระหว่างการประมวลผลซ้ำของคอลเล็กชัน 1 และคอลเล็กชัน 2 อาจส่งผลต่อความสัมพันธ์ระหว่างเซ็นเซอร์ แต่เท่าที่เราทราบ ยังไม่มีการวิเคราะห์ที่คล้ายกับ Roy et al. (2016) สำหรับข้อมูลคอลเล็กชัน 1 หรือคอลเล็กชัน 2 แม้ว่าจะไม่มีการวิเคราะห์อย่างเป็นทางการ แต่ดูเหมือนว่าผู้ใช้ Landsat ที่มีอิทธิพลจะมีความเห็นพ้องต้องกันโดยทั่วไปว่าไม่จำเป็นต้องมีการแก้ไขสำหรับข้อมูลคอลเล็กชัน 2 ระดับ 2 (การสะท้อนพื้นผิว) ตัวอย่างเช่น ในการตอบคำถามเกี่ยวกับความจำเป็นในการปรับ Collection 2, Level 2 ให้สอดคล้องกัน Mike Wulder จากทีมวิทยาศาสตร์ Landsat ตั้งข้อสังเกตว่าผลิตภัณฑ์การสะท้อนพื้นผิว Collection 2 มีความเหมาะสมและเชื่อถือได้อย่างมากโดยไม่จำเป็นต้องปรับข้ามเซ็นเซอร์ ทั้งนี้ขึ้นอยู่กับลักษณะของการใช้งานที่สนใจ (รวมถึงการทำแผนที่สิ่งปกคลุมดินและการตรวจจับการเปลี่ยนแปลง)

ฉันจะมาสก์เมฆและเงาเมฆในภาพ MSS ได้อย่างไร

โมดูล msslib ของบุคคลที่สามสำหรับตัวแก้ไขโค้ด JavaScript มีการติดตั้งใช้งานอัลกอริทึม MSScvm รวมถึงฟังก์ชันอื่นๆ ที่เป็นประโยชน์สำหรับการสำรวจและเตรียมข้อมูล MSS

การจัดการข้อมูล

ใครเป็นเจ้าของข้อมูลที่ฉันอัปโหลด

ตามข้อกำหนดในการให้บริการของ Earth Engine ลูกค้าเป็นเจ้าของข้อมูลที่อัปโหลดไปยัง Earth Engine

ฉันอัปโหลดข้อมูลไม่ได้

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

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

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

ตัวอย่างการเรียกใช้ gdalinfo

gdalinfo -mm -stats -checksum file.tif

ตัวอย่างการเรียกใช้ ogr2ogr ที่จะแปลง in.shp เป็น out.csv:

ogr2ogr -lco GEOMETRY=AS_WKT -f CSV out.csv in.shp

หากไฟล์ดูถูกต้อง ให้โพสต์รหัสงานที่ล้มเหลวเป็นข้อความ (ไม่ใช่ภาพหน้าจอ) ในรายชื่ออีเมลของนักพัฒนาซอฟต์แวร์ รหัสงานมีรูปแบบดังนี้ 4C25GIJBMB52PXTEJTF4JLGL ทำให้ไฟล์ต้นฉบับอ่านได้แบบสาธารณะหากเป็นไปได้ หากเป็นไฟล์ส่วนตัว ให้แชร์กับ earthengine@google.com เท่านั้นหากต้องการให้ทีม Earth Engine ตรวจสอบ หากไม่สามารถแชร์ไฟล์ต้นฉบับได้ อย่างน้อยก็ให้ระบุเอาต์พุตของ gdalinfo -mm -stats -checksum

หาก Earth Engine ไม่รองรับการฉายภาพบางอย่าง คุณจะต้องฉายภาพข้อมูลอีกครั้งก่อนอัปโหลดโดยใช้ gdalwarp เป็นต้น

ฉันจะอัปโหลดไฟล์ใน NetCDF หรือรูปแบบแรสเตอร์อื่นๆ ที่ไม่รองรับได้อย่างไร

อัปโหลดได้เฉพาะ GeoTIFF ไปยัง Earth Engine รูปแบบอื่นๆ ที่เข้ากันได้กับ GDAL สามารถแปลงเป็น GeoTIFF ได้โดยใช้ gdal_translate ตัวอย่าง

gdal_translate -co COMPRESS=DEFLATE file.nc file.tif

โปรดทราบว่าไฟล์ NetCDF หรือ HDF บางไฟล์ประกอบด้วยชุดข้อมูลย่อยหลายชุดที่ค้นพบได้ด้วย gdalinfo คำสั่ง gdal_translate ในกรณีนี้จะมีลักษณะดังนี้ (โปรดสังเกตเส้นทางระหว่างเครื่องหมายคำพูดคู่)

gdal_translate HDF4_EOS:EOS_GRID:"/tmp/MCD12Q1.A2001001.h00v08.005.2011055224312.hdf":MOD12Q1:Land_Cover_Type_1 file.tif

บางครั้งไฟล์ NetCDF ไม่มีการฉายภาพที่ GDAL รู้จัก ในกรณีนี้ คุณจะต้องตั้งค่าการฉายภาพและขอบเขตเชิงพื้นที่ในบรรทัดคำสั่ง gdal_translate ตัวอย่าง

gdal_translate -a_srs EPSG:4326 -a_ullr -180 90 180 -90 file.nc file.tid

ฉันจะใช้อัลกอริทึมการบีบอัดใดได้บ้างสำหรับ GeoTIFF ที่อัปโหลด

สำหรับการอัปโหลด คุณสามารถบีบอัด GeoTIFF ด้วย DEFLATE, JPEG, JPEG-XL/JXL, LERC, LERC_DEFLATE, LERC_ZSTD, LZMA, LZW, WEBP หรือ ZSTD สำหรับการอ่าน COG แบบเรียลไทม์ คุณสามารถใช้ DEFLATE, JPEG, LZW, PACKBITS, ZSTD หรือไม่ใช้การบีบอัด (ดูแนวทางปฏิบัติแนะนำสำหรับ COG) ZSTD เป็นตัวเลือกที่ดีโดยรวมเนื่องจากคลายการบีบอัดได้อย่างรวดเร็วและยังคงบีบอัดรูปภาพส่วนใหญ่ได้ดี

หากต้องการใช้การบีบอัด ZSTD เมื่อใช้ gdal_translate ให้เพิ่มตัวเลือกเหล่านี้ หากข้อมูลมีค่าจุดลอยตัว ให้เปลี่ยน PREDICTOR เป็น 3 (สำหรับไฟล์ที่คุณวางแผนจะลงทะเบียนเป็น COG แทนการอัปโหลด โปรดดูคู่มือการลงทะเบียน COG)

gdal_translate in.tif out.tif \
  -co BIGTIFF=YES \
  -co TILED=YES \
  -co BLOCKXSIZE=512 \
  -co BLOCKYSIZE=512 \
  -co COMPRESS=ZSTD \
  -co PREDICTOR=2 \
  -co ZSTD_LEVEL=16 \
  -co INTERLEAVE=BAND \
  -co NUM_THREADS=ALL_CPUS

การนำเข้าราสเตอร์ของฉันทำงานมาหลายวันแล้วและยังไม่เสร็จสิ้น

ใช้ gdalinfo เพื่อตรวจสอบว่าไฟล์มีตัวเลือก GDAL ต่อไปนี้หรือไม่ INTERLEAVE=PIXEL สำหรับไฟล์ที่มีตัวเลือกนี้และมีหลายแบนด์ การนำเข้าอาจไม่เสร็จสมบูรณ์เนื่องจากเลย์เอาต์ของไฟล์ดังกล่าวทำให้การอ่านช้ามาก

ลองแปลงไฟล์ดังกล่าวเป็นเลย์เอาต์แบบ Band-Interleaved ก่อนอัปโหลด โดยทำดังนี้

gdal_translate -co "INTERLEAVE=BAND" src.tif dst.tif

แรสเตอร์ที่อัปโหลดไม่ตรงกับแผนที่ฐาน

หากข้อมูลเยื้องจากแผนที่ฐานเล็กน้อย การฉายภาพอาจมีข้อมูลที่ไม่ถูกต้อง (สมมติฐานเกี่ยวกับรูปร่างของโลก) ซึ่งมักเกิดขึ้นกับการฉายภาพแบบไซนัสซอยด์ที่เข้ารหัสในข้อมูลเมตา GDAL ได้ไม่สมบูรณ์ เมื่อคุณทราบว่าการฉายภาพเป้าหมายควรเป็นอย่างไร (เช่น SR-ORG:6974 สำหรับไฟล์ที่ใช้การฉายภาพแบบไซนัส MODIS) ให้ตั้งค่าแฟล็ก --crs ระหว่างการอัปโหลดบรรทัดคำสั่งหรือช่อง crs ของไฟล์ Manifest การอัปโหลด

หากข้อมูลดูบิดเบี้ยวอย่างมากหรืออยู่ในตำแหน่งที่ไม่ถูกต้องเลย แสดงว่าการฉายภาพหรือการเปลี่ยนรูปแบบแอฟฟีนน่าจะไม่ถูกต้อง

แรสเตอร์ของฉันแสดงเฉพาะในซีกโลกตะวันออก

คุณอาจอัปโหลดแรสเตอร์ทั่วโลกที่ครอบคลุมช่วงลองจิจูด [0, 360] อย่างไรก็ตาม Earth Engine กำหนดให้ราสเตอร์ต้องอยู่ในช่วง [-180, 180] สลับครึ่งซ้ายและขวาของแรสเตอร์ก่อนส่งผ่านข้อมูล ดูคำแนะนำ GIS Stack Exchange เหล่านี้

เหตุใดรูปภาพการจัดประเภทที่นำเข้าจึงดูเป็นจุดๆ

คุณอาจใช้นโยบายการจัดลำดับความสำคัญของ MEAN เริ่มต้น สำหรับรูปภาพการจัดประเภท ควรใช้นโยบายการสร้างปิรามิด MODE สำหรับรูปภาพ QA/บิตมาสก์ ควรใช้นโยบายการสร้างปิรามิด SAMPLE

ฉันได้รับข้อผิดพลาดต่อไปนี้: ไม่สามารถใช้ค่าข้อมูล -128.0 กับแบนด์ #0 ของประเภท Short<0, 255>

GDAL ไม่สามารถจัดการแบนด์แบบไบต์เดียวเป็นแบนด์ที่มีจำนวนเต็มแบบมีเครื่องหมายได้ จึงอ่านแบนด์ดังกล่าวเป็นจำนวนเต็มแบบไม่มีเครื่องหมาย ซึ่งจะขัดแย้งกับค่าที่ไม่มีข้อมูลซึ่งเป็นค่าลบ

หากค่าของคุณเป็นจำนวนเต็มที่มีเครื่องหมายจริงๆ ให้ใช้การอัปโหลดไฟล์ Manifest และเพิ่มค่านี้ลงในส่วนชุดชิ้นส่วนที่มีไฟล์ของคุณ: data_type: "INT8"

หากค่าเป็นจำนวนเต็มที่ไม่มีเครื่องหมาย แสดงว่าไฟล์มีค่า nodata ที่ไม่ถูกต้อง คุณสามารถลบล้างค่าดังกล่าวได้เมื่ออัปโหลดด้วยค่าข้อมูลที่ถูกต้อง (หรือค่าที่ไม่เคยเกิดขึ้น หากมี) นอกจากนี้ คุณยังใช้ gdal_translate -a_nodata เพื่อเปลี่ยนค่า nodata หรือใช้ gdal_edit.py -unsetnodata เพื่อนำค่าดังกล่าวออกได้ด้วย

ฉันจะอัปโหลดไฟล์ในรูปแบบ GeoJSON หรือเวกเตอร์อื่นๆ ที่ไม่รองรับได้อย่างไร

ใช้ ogr2ogr เพื่อแปลรูปแบบที่เข้ากันได้กับ OGR เป็น CSV หรือ SHP ตัวอย่าง

or2ogr -f "ESRI Shapefile" file.shp file.kml

โปรดทราบว่าในการอัปโหลด CSV คอลัมน์เรขาคณิตจะมี GeoJSON ได้

ฉันต้องการอัปโหลดข้อมูลโดยใช้ Python หรืออัปโหลดหลายไฟล์พร้อมกัน

ใช้การอัปโหลดบรรทัดคำสั่ง การอัปโหลดดังกล่าวต้องวางไฟล์ต้นฉบับไว้ในที่เก็บข้อมูล GCS (Google Cloud Storage) ก่อน การใช้งาน GCS จะไม่มีค่าใช้จ่ายหากคุณใช้งานไม่เกินขีดจำกัดของรุ่นฟรี โปรดดูหน้าการกำหนดราคา

ฉันต้องการอัปโหลดโมเสกราสเตอร์ขนาดใหญ่ที่แบ่งออกเป็นหลายๆ ไทล์

หากไฟล์ทั้งหมดมีการฉายภาพและขนาดพิกเซลเหมือนกัน ให้อัปโหลดไฟล์เหล่านั้นรวมกันเป็นชิ้นงานเดียวกัน ซึ่งระบบจะต่อภาพให้โดยอัตโนมัติ

หากไฟล์มีการฉายภาพหรือขนาดพิกเซลที่แตกต่างกัน จะไม่สามารถโมเสกเป็นชิ้นงานแรสเตอร์เดียวได้ แต่ให้อัปโหลดแต่ละชิ้นเป็นชิ้นงานแยกกันใน ImageCollection เดียวกันที่สามารถทำเป็นโมเสกได้โดยใช้ ImageCollection.mosaic()

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

ไทล์สำหรับโมเสกราสเตอร์ของ Earth Engine ต้องมีการฉายภาพและขนาดพิกเซลเดียวกัน นอกจากนี้ ชิ้นส่วนแผนที่ต้องจัดแนวให้ตรงกับขอบเขตพิกเซลพอดี

ฉันพยายามอัปโหลดไฟล์จากที่เก็บข้อมูล GCS แต่ Earth Engine หาไม่พบ

คุณอาจใช้บัญชี Google อื่นในการอัปโหลด GCS และเชื่อมต่อกับ Earth Engine ตรวจสอบว่าบัญชีที่คุณใช้เชื่อมต่อกับ Earth Engine สามารถอ่านไฟล์ GCS ได้ หากการเข้าสู่ระบบหลายบัญชีในเบราว์เซอร์ทำให้เกิดความสับสน ให้เชื่อมต่อกับ Earth Engine ในหน้าต่างเบราว์เซอร์ที่ไม่ระบุตัวตน

ฉันต้องการส่งออกชิ้นงานหลายรายการพร้อมกัน

คุณต้องส่งออกรูปภาพแต่ละรูปแยกกัน

ฉันต้องการย้ายหรือลบ Folder หรือ ImageCollection ด้วยคำสั่งเดียว

earthengine rm -r จะลบโฟลเดอร์หรือคอลเล็กชันและทุกอย่างที่อยู่ภายใน แต่จะลบเนื้อหาทีละรายการ ดังนั้นคอลเล็กชันขนาดใหญ่อาจใช้เวลาหลายชั่วโมง หากต้องการดำเนินการให้เร็วขึ้น ให้ลบรายการย่อยพร้อมกันจากสคริปต์ แล้วลบรายการหลัก (ดูการทำงานกับคอลเล็กชันขนาดใหญ่) วิธีการเดียวกันนี้ใช้ได้กับคอลเล็กชันหรือโฟลเดอร์แบบแบนราบ โฟลเดอร์ที่มีโฟลเดอร์หรือคอลเล็กชันอื่นๆ ต้องลบจากล่างขึ้นบน เนื่องจากจะลบคอนเทนเนอร์ไม่ได้จนกว่าจะว่างเปล่า หากต้องการย้าย ให้ใช้ mv ในลักษณะเดียวกัน

ฉันต้องการเข้าถึงข้อมูล Earth Engine โดยตรงจากภายนอก EE

QGIS มีปลั๊กอิน Earth Engine

GDAL มีไดรเวอร์ Earth Engine

ระบบอื่นๆ สามารถใช้ REST API ของ EE ได้

ฉันต้องการอัปเดตส่วนหนึ่งของชิ้นงาน Earth Engine โดยไม่ต้องนำเข้าใหม่ทั้งหมด

คุณไม่สามารถอัปเดตข้อมูลแรสเตอร์หรือเวกเตอร์ที่อัปโหลดไปยัง EE ได้ อัปเดตได้เฉพาะพร็อพเพอร์ตี้ข้อมูลเมตาของเนื้อหาเท่านั้น ยกเว้นชิ้นงานที่ COG สนับสนุน ซึ่งคุณสามารถชี้ไปยังไฟล์ Cloud Storage ที่อัปเดตแล้วได้โดยลงทะเบียนใหม่โดยเปิดใช้การเขียนทับ

ฉันกำลังจะเสียสิทธิ์เข้าถึงบัญชี ฉันควรทำอย่างไรกับชิ้นงาน

หากนโยบายของบัญชีเดิมอนุญาตให้โอนข้อมูล โปรดแชร์เนื้อหากับบัญชีอื่น แล้วคัดลอกเนื้อหาเพื่อให้บัญชีใหม่เป็นเจ้าของ ใช้ยูทิลิตีการคัดลอกบรรทัดคำสั่งหากมีเนื้อหาจำนวนมากที่ต้องย้าย

หากลบบัญชีแล้ว คุณจะเข้าถึงเนื้อหาที่บัญชีนั้นเป็นเจ้าของไม่ได้อีกต่อไป

รูปภาพที่ส่งออกอยู่ในตำแหน่งที่ไม่ถูกต้อง

สำหรับการฉายภาพบางประเภท เช่น ไซนัสซอยด์หรือทรงกรวย บางครั้งไฟล์ GeoTIFF จะจัดเก็บพารามิเตอร์การฉายภาพที่จำเป็นทั้งหมดไม่ได้ ซึ่งส่งผลให้ไฟล์ที่ส่งออกปรากฏในตำแหน่งที่ไม่ถูกต้องเมื่อดูในเครื่องมือ GIS บนเดสก์ท็อปหรือนำเข้าสู่ EE อีกครั้ง

วิธีแก้ไขคือระบุพารามิเตอร์ crs การส่งออกที่ทราบว่าทำงานได้ดีกับไฟล์ GeoTIFF เช่น ใช้รหัส EPSG สำหรับโซน UTM ที่มีพื้นที่ที่คุณสนใจ

ชิ้นงานคอลเล็กชันฟีเจอร์ที่ส่งออกไม่เก็บรักษาพร็อพเพอร์ตี้ที่ฉันตั้งค่าไว้

ไม่มีฟังก์ชัน Export.table.* ที่คงพร็อพเพอร์ตี้ระดับตารางไว้ในเอาต์พุต รูปแบบเอาต์พุตจำนวนมาก (เช่น CSV, GeoJSON) ไม่รองรับข้อมูลเมตาดังกล่าว ฟังก์ชัน Export.table.toAsset รองรับพร็อพเพอร์ตี้ระดับตารางได้ แต่ยังไม่รองรับในขณะนี้

ตารางที่ส่งออกไปยังไดรฟ์ในรูปแบบ CSV จะแปลงเป็นรูปแบบ XLSX

ตาราง CSV ที่คุณส่งออกจาก Earth Engine อาจแปลงเป็นไฟล์ XLSX โดยมีผลลัพธ์ที่ไม่คาดคิด เช่น การแปลงประเภทข้อมูล ทั้งนี้ขึ้นอยู่กับการตั้งค่า Google ไดรฟ์ ทำตามขั้นตอนต่อไปนี้เพื่อแก้ไขลักษณะการทำงานสำหรับการส่งออกครั้งต่อๆ ไป

  1. ใน Google ไดรฟ์บนเว็บ ให้คลิกฟันเฟืองการตั้งค่าที่ด้านขวาบน
  2. คลิกการตั้งค่า
  3. เลื่อนไปที่ "แปลงไฟล์ที่อัปโหลดเป็นรูปแบบเครื่องมือแก้ไข Google เอกสาร" แล้วล้างออก

Cloud Optimized GeoTIFF (COG)

ดูข้อมูลเบื้องต้นได้ที่ภาพรวม COG และคู่มือการลงทะเบียน COG

ฉันแชร์เนื้อหาที่ COG สนับสนุน แต่ผู้ทำงานร่วมกันได้รับข้อผิดพลาดเกี่ยวกับสิทธิ์

ชิ้นงานที่ COG สนับสนุนเป็นตัวชี้ไปยังไฟล์ในที่เก็บข้อมูล Cloud Storage ดังนั้นผู้ทำงานร่วมกันจึงต้องมีสิทธิ์อ่านทั้งชิ้นงาน Earth Engine และที่เก็บข้อมูล ใน Bucket ให้มอบบทบาทผู้มีสิทธิ์ดูออบเจ็กต์พื้นที่เก็บข้อมูลและผู้มีสิทธิ์ดู Bucket ของพื้นที่เก็บข้อมูลแก่ผู้ใช้ ข้อผิดพลาดเกี่ยวกับสิทธิ์ในชิ้นงานที่ผู้ใช้เห็นได้มักหมายความว่าไม่มีบทบาทใดบทบาทหนึ่งจาก 2 บทบาทนี้ ดูกำหนดค่าสิทธิ์

ฉันควรใช้ตำแหน่งที่ตั้งของที่เก็บข้อมูล Cloud Storage ใดเพื่อจัดเก็บชิ้นงาน COG

ระบบรองรับเฉพาะบางตำแหน่งในสหรัฐอเมริกาเท่านั้น และ Earth Engine จะปฏิเสธคำขอลงทะเบียนและคำขออ่านสำหรับที่เก็บข้อมูลในตำแหน่งอื่นๆ ดูตำแหน่งของที่เก็บข้อมูลที่รองรับ

ฉันแทนที่ไฟล์ COG ใน Cloud Storage เหตุใดชิ้นงานจึงโหลดไม่สำเร็จหรือยังคงแสดงข้อมูลเก่าอยู่

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

ฉันจะทราบได้อย่างไรว่าชิ้นงานที่ COG สนับสนุนชี้ไปยังไฟล์เวอร์ชันใด

ข้อมูลเมตาของเนื้อหา (ee.data.getAsset()) จะแสดงการสร้างที่ปักหมุดไว้เป็นคำต่อท้ายใน URI ของไฟล์ ดูการสร้างออบเจ็กต์

จะเกิดอะไรขึ้นหากฉันลบไฟล์ COG ใน Cloud Storage แต่ไม่ลบชิ้นงาน Earth Engine หรือในทางกลับกัน

โดยทั้ง 2 อย่างนี้เป็นอิสระจากกัน การลบชิ้นงาน Earth Engine จะไม่ส่งผลต่อไฟล์ใน Cloud Storage และการลบไฟล์จะทำให้ชิ้นงานยังคงอยู่ แต่โดยปกติแล้วจะทำให้พิกเซลอ่านไม่ได้ ดูวงจรอิสระ

วิธีที่เร็วที่สุดในการลบหรือแทนที่ ImageCollection ที่มี COG เป็นหลักจำนวนมากคืออะไร

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

เหตุใดการลงทะเบียน COG ของฉันจึงไม่แสดงในแท็บงาน

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

ฉันจะรวมไฟล์ COG หลายไฟล์เป็นชิ้นงาน Earth Engine รายการเดียวได้ไหม

เฉพาะเมื่อแต่ละไฟล์มีแบนด์ที่แตกต่างกันของฉากเดียวกัน ให้ระบุแต่ละไฟล์เป็นชุดภาพของตัวเองในไฟล์ Manifest และแมปแบนด์กับชุดภาพ คุณไม่สามารถโมเสกไฟล์ที่อยู่ติดกันในเชิงพื้นที่ให้เป็นชิ้นงานที่ COG สนับสนุนเพียงชิ้นเดียวได้ ให้ลงทะเบียนแต่ละไฟล์เป็นรูปภาพของตัวเองใน ee.ImageCollection และเรียกใช้ mosaic() ดูข้อจำกัดของไฟล์ Manifest

ชิ้นงานที่ COG สนับสนุนสามารถใช้รูปแบบการบีบอัด ขนาดไทล์ และประเภทพิกเซลใดได้บ้าง

ดูแนวทางปฏิบัติแนะนำสำหรับการเตรียม COG ภายนอกสำหรับรูปแบบการบีบอัด ขนาดไทล์ และประเภทข้อมูลพิกเซลที่รองรับ ไฟล์ในรูปแบบการบีบอัดที่ Earth Engine ไม่สามารถอ่านเป็น COG ได้โดยตรงจะยังคงอัปโหลดเป็นชิ้นงานมาตรฐานได้

ฉันได้รับข้อผิดพลาด "ไม่สามารถอ่านข้อมูลเมตาของ TIFF ใน 10000000 ไบต์แรก"

Earth Engine จะอ่านเฉพาะส่วนเริ่มต้นของไฟล์เมื่อโหลดหรือลงทะเบียนไฟล์ รูปภาพขนาดใหญ่ที่มีหลายไทล์และไฟล์ที่ถูกตัดจะเกินขีดจำกัด ดูการเลือกขนาดไฟล์เพื่อดูขีดจำกัดและวิธีทำให้ไม่เกินขีดจำกัด

ee.Image.loadGeoTIFF() แตกต่างจากเนื้อหาที่ลงทะเบียนอย่างไรเมื่อไฟล์มีการเปลี่ยนแปลง

ee.Image.loadGeoTIFF() จะอ่านไฟล์เวอร์ชันปัจจุบันในคำขอการคำนวณหรือไทล์แผนที่แต่ละรายการ ดังนั้นจึงเลือกไฟล์ที่แทนที่ (ไม่สม่ำเสมอบนแผนที่ เนื่องจากไทล์แผนที่ที่แสดงผลจะยังคงแคชไว้) ชิ้นงานที่ลงทะเบียนจะปักหมุดเจเนอเรชันที่ลงทะเบียนไว้เสมอ และต้องลงทะเบียนอีกครั้งเพื่อดูไฟล์ใหม่ แต่จะมีการจัดทำดัชนีฟุตพริ้นท์และข้อมูลเมตาของชิ้นงาน ซึ่งทำให้ใช้ในคอลเล็กชันขนาดใหญ่ได้ ดูการอ่าน COG จาก Cloud Storage

ตัวแก้ไขโค้ด

ฉันลงชื่อเข้าใช้ตัวแก้ไขโค้ดไม่ได้เนื่องจากระบบแจ้งให้ใช้บัญชีที่ไม่ถูกต้อง

ออกจากระบบ เลือกบัญชีที่ลงทะเบียนเพื่อใช้ Earth Engine ในหน้า "เลือกบัญชี" แล้วเลือกบัญชีเดิมอีกครั้งในหน้า "เลือกบัญชีเพื่อไปยังตัวแก้ไขโค้ด Earth Engine" หน้าที่ 2 (ถ้อยคำที่ใช้จริงอาจแตกต่างออกไป)

ฉันต้องการจับภาพหน้าจอแผนที่โลก แต่ไม่ชอบการฉายแผนที่แบบ Web Mercator

การฉายแผนที่ที่ใช้ในตัวแก้ไขโค้ดคือ Web Mercator ("EPSG:3857") ซึ่งจะขยายขนาดของวัตถุที่อยู่ห่างจากเส้นศูนย์สูตร ทำให้ภูมิภาคที่อยู่ละติจูดสูงมีขนาดใหญ่กว่าความเป็นจริงมากเมื่อเทียบกับภูมิภาคที่อยู่ใกล้เส้นศูนย์สูตร คุณไม่สามารถเปลี่ยนการฉายภาพของผืนผ้าใบแผนที่ของตัวแก้ไขโค้ดได้ แต่สามารถ "วาด" รูปภาพในการฉายภาพที่คุณเลือกไปยังผืนผ้าใบ Web Mercator โดยใช้เมธอด ee.Image.changeProj ดูเอกสารอ้างอิง API ของเมธอดเพื่อดูตัวอย่างการแสดง DEM ทั่วโลกในแผนที่ตัวแก้ไขโค้ดในการฉายภาพแบบโรบินสัน โปรดทราบว่าควรใช้เทคนิคนี้เพื่อวัตถุประสงค์ในการแสดงภาพเท่านั้น เนื่องจากเครื่องมือตรวจสอบและเครื่องมือวาดภาพของตัวแก้ไขโค้ดยังคงทำงานใน Web Mercator

สคริปต์ของฉันไม่บันทึก (Script error: Unknown commit)

หากคุณได้รับข้อความ Script error: Unknown commit เมื่อบันทึกสคริปต์ แสดงว่าที่เก็บที่คุณบันทึกอาจไม่ซิงค์กัน สาเหตุของสถานะนี้อาจแตกต่างกันไปและระบุได้ยาก หากต้องการแก้ไขปัญหานี้ ให้ลองรีเฟรชรายการสคริปต์โดยใช้ปุ่มที่มุมขวาบนของแท็บสคริปต์ หากไม่ได้ผล ให้ลองสร้างที่เก็บใหม่จากปุ่ม "ใหม่" ในแท็บสคริปต์ แล้วบันทึกสคริปต์ไว้ที่นั่น (คุณอาจต้องย้ายสคริปต์ไปยังที่เก็บใหม่จากที่เก็บที่ไม่ซิงค์)

ทำไมฉันจึงเห็นข้อผิดพลาด 400 ซ้ำๆ ในตัวแก้ไขโค้ด

หากคุณเห็นข้อผิดพลาด 400 ซ้ำๆ ในตัวแก้ไขโค้ด ให้ไปที่ https://myaccount.google.com/connections ค้นหา "ตัวแก้ไขโค้ด Earth Engine" ในรายการแอปและบริการ เลือกรายการดังกล่าว จากนั้นเลือก "ลบการเชื่อมต่อทั้งหมดที่คุณมีกับตัวแก้ไขโค้ด Earth Engine" แล้วยืนยัน จากนั้นเปิดตัวแก้ไขโค้ดและตรวจสอบสิทธิ์อีกครั้ง

ฉันจะกู้คืนสคริปต์และโฟลเดอร์ที่ลบไปแล้วได้อย่างไร

หากคุณลบสคริปต์หรือโฟลเดอร์ภายในที่เก็บที่มีอยู่โดยไม่ตั้งใจ ประวัติการคอมมิตทั้งหมดจะยังคงอยู่ในบันทึก Git บนเซิร์ฟเวอร์ของเรา คุณสามารถกู้คืนสคริปต์หรือโฟลเดอร์ที่ลบไปแล้วได้โดยการโคลนที่เก็บในเครื่องโดยใช้เครื่องมือบรรทัดคำสั่ง Git มาตรฐาน

อย่างไรก็ตาม การลบที่เก็บ (users/username/repository) ทั้งหมดจะเป็นการนำที่เก็บและประวัติการคอมมิตออกจาก earthengine.googlesource.com อย่างถาวร และไม่สามารถยกเลิกหรือกู้คืนได้

ดูวิธีการทีละขั้นตอนในการสร้างข้อมูลเข้าสู่ระบบ Git, โคลนที่เก็บ และกู้คืนไฟล์หรือโฟลเดอร์ที่ลบไปแล้วได้ที่คู่มือการกู้คืนสคริปต์และคำแนะนำในการย้ายข้อมูลที่เก็บ

ฉันจะเปลี่ยนชื่อรูทของที่เก็บสคริปต์ได้อย่างไร

ไดเรกทอรีรากของสคริปต์ (users/username) จะเชื่อมโยงกับการลงทะเบียนบัญชี Earth Engine เดิมของคุณ คุณไม่สามารถเปลี่ยนชื่อโดยตรงในแบ็กเอนด์ได้ เนื่องจากการทำเช่นนั้นจะทำให้สคริปต์ภายนอกหรือโปรเจ็กต์ของผู้ทำงานร่วมกันที่นำเข้าโค้ดแบบโมดูลาร์ของคุณโดยใช้เส้นทาง require('users/username/repository:...') เสียหาย

หากต้องการเนมสเปซใหม่ วิธีแก้ปัญหาชั่วคราวที่รองรับคือการย้ายข้อมูลงานไปยังบัญชีใหม่ โดยทำดังนี้

  1. ลงทะเบียนบัญชี Earth Engine ใหม่โดยใช้ตัวตน Google ใหม่ (ซึ่งจะสร้างรูท users/new_username ใหม่)
  2. ทำตามวิธีการย้ายข้อมูลที่เก็บเพื่อโคลนที่เก็บเก่าและพุชประวัติทั้งหมดไปยังที่เก็บใหม่ที่ว่างเปล่า

สิ่งสำคัญที่ควรพิจารณา

  • โมดูลสาธารณะ: หากคุณมีโมดูลสาธารณะที่ผู้อื่นใช้ เราขอแนะนำอย่างยิ่งให้เก็บบัญชีและที่เก็บเดิมไว้เพื่อไม่ให้เวิร์กโฟลว์ของผู้อื่นเสียหาย
  • สคริปต์ส่วนตัว: หากสคริปต์เป็นแบบส่วนตัวทั้งหมด คุณสามารถอัปเดตคำสั่งนำเข้า require() เพื่ออ้างอิงเส้นทางที่เก็บใหม่ แล้วลบที่เก็บเก่าได้อย่างปลอดภัย