Pertanyaan umum
Saya mengalami masalah, saya butuh bantuan.
Posting pertanyaan dengan mengikuti panduan ini, berikan informasi sebanyak mungkin (lihat panduan Stack Overflow untuk mengajukan pertanyaan yang baik). Hal ini biasanya berarti:
mengirim link ke skrip di Editor Kode (klik tombol "Get Link" untuk mendapatkannya)
membagikan aset apa pun yang diperlukan untuk menjalankan skrip
untuk tugas batch yang gagal, laporkan ID tugas yang gagal. ID tugas terlihat seperti ini:
4C25GIJBMB52PXTEJTF4JLGL. Tugas ini dapat ditemukan di tab Task di Editor Kode. Pelajari lebih lanjut.
Di mana saya dapat membaca tentang arsitektur Earth Engine?
Lihat makalah ini: Gorelick et al. 2017.
Apakah ada tutorial Earth Engine yang direkomendasikan yang tidak dibuat oleh Google?
Lihat halaman EDU dan Referensi Pelatihan.
Apakah ada tutorial penginderaan jauh yang direkomendasikan?
Lihat kursus EE gratis ini oleh Ujaval Gandhi, yang menyertakan video dengan pengantar penginderaan jauh.
Pemrograman Earth Engine
Apa saja error coding yang umum?
Lihat panduan proses debug.
Mengapa saya mendapatkan pesan error "... is not a function"?
Error ini terjadi saat Earth Engine tidak dapat menemukan metode yang dipanggil. Periksa penyebab umum berikut:
Ejaan atau kepekaan huruf besar/kecil: Metode peka huruf besar/kecil. Verifikasi ejaan berdasarkan Referensi API.
Error: img.normalizedDiff(...) -> Correct: img.normalizedDifference(...)
Transmisi jenis tidak ada: Nilai yang ditampilkan dari fungsi seperti .get() adalah
instance ee.ComputedObject generik dan harus ditransmisikan secara eksplisit. Lihat
Transmisi jenis objek yang tidak diketahui.
Error: dict.get('val').add(5) -> Correct: ee.Number(dict.get('val')).add(5)
Mencampur metode klien dan server: Pastikan Anda tidak menggunakan metode JavaScript atau Python standar (seperti .push() atau .append()) pada objek Earth Engine. Lihat Menghindari pencampuran fungsi klien dan server.
Error: list.push(4) or list.append(4) -> Correct: list.add(4)
Metode tidak tersedia: Jika objek diketik dengan benar dan metode ada dalam dokumentasi atau telah berfungsi sebelumnya, tetapi sekarang gagal, laporkan bug.
Mengapa saya tidak dapat menggunakan matematika dasar seperti ee.Image("image") * 2?
Di EE, Anda tidak boleh mencampur objek atau operasi sisi server dan sisi klien. Semua operasi pada objek EE dilakukan di sisi server. Komputasi sisi klien apa pun tidak akan melakukan apa yang Anda inginkan. Lihat halaman ini untuk mengetahui detail selengkapnya.
Bagaimana cara menggunakan loop for atau pernyataan if/else?
Pemrograman Earth Engine dilakukan menggunakan bahasa fungsional, sehingga loop dan operasi bersyarat harus dinyatakan menggunakan konsep yang setara seperti map atau filter. Lihat
halaman ini untuk mengetahui detail selengkapnya.
Bagaimana cara menampilkan label teks di gambar atau video saya?
Tidak ada dukungan bawaan untuk label teks, tetapi Anda dapat:
- Menggunakan paket JS pihak ketiga. Lihat contoh
- Menggunakan paket Python pihak ketiga geemap.
- Gunakan QGIS untuk memasukkan gambar EE menggunakan plugin QGIS EE
Dapatkah saya menggunakan beberapa palet warna standar?
Menggunakan paket JS pihak ketiga ee-palettes.
Bagaimana cara membuat situs saya sendiri yang menggunakan Earth Engine?
Gunakan Earth Engine Apps untuk aplikasi dasar. Dalam kasus yang lebih kompleks, Anda dapat membangun aplikasi App Engine yang didukung EE.
Bagaimana cara kerja ID Peta?
ID peta (disebut mapid di seluruh API) adalah kunci yang memungkinkan klien mengambil ubin peta. Setiap ID adalah hash yang dibuat dengan memberikan ekspresi gambar ke endpoint getMapId. ID yang dihasilkan adalah kunci yang mengarah ke ekspresi gambar dan kredensial pengguna yang akan digunakan untuk membuat ubin pada tahap selanjutnya.
Meminta ubin peta melibatkan penentuan lokasi ubin (x, y, zoom) serta mapid (kunci untuk gambar dan kredensial). ID yang sama dapat digunakan kembali untuk memuat banyak ubin peta. Tidak ada batasan penggunaan kembali kunci mapid, tetapi kunci tersebut akan habis masa berlakunya setelah beberapa jam. Kami tidak memublikasikan jangka waktu spesifik terkait durasi persistensinya, tetapi kode apa pun yang Anda tulis harus tahan terhadap masa berlaku ID yang habis.
Pembuatan ID ini melibatkan penyimpanan sejumlah kecil data dan validasi kredensial, jadi sebaiknya gunakan kembali ID tersebut selama mungkin. Tidak ada kuota API yang secara khusus terkait dengan endpoint getMapId, tetapi alur kerja apa pun yang melibatkan pembuatan objek mapid dengan kecepatan yang mendekati kecepatan pengambilan ubin mungkin melakukan kesalahan. Earth Engine tidak memiliki endpoint API untuk menghapus, mencantumkan, atau mengelola ID ini, karena ID ini adalah resource sementara.
Mengapa ee.Algorithms.If() mencetak kasus benar dan salah?
function a() { print("true"); }
function b() { print("false"); }
// Prints 'true' and 'false'.
ee.Algorithms.If(true, a(), b());
Algoritma If() berfungsi seperti algoritma lainnya di Earth Engine, yaitu semua argumennya harus dievaluasi sebelum algoritma itu sendiri dapat dijalankan.
Algoritma mendapatkan hasil trueCase dan falseCase, lalu memilih
dan menampilkan salah satunya berdasarkan argumen condition, tetapi kedua jalur harus
dijalankan agar nilai tersebut dapat diteruskan ke algoritma sejak awal.
Saya menerima pesan error "Request payload size exceeds the limit"
Anda mencoba mengirim permintaan yang sangat besar ke Earth Engine. Hal ini biasanya terjadi saat kode menggunakan banyak loop 'for' sisi klien atau membuat FeatureCollection dari banyak objek geometri. Dalam kasus yang terakhir, daripada membuat geometri tersebut dalam skrip, buat file CSV yang berisi geometri tersebut dan upload ke aset tabel.
Apa perbedaan antara ee.Image.clip() dan ee.Filter.bounds()?
Lihat thread GIS Stack Exchange ini.
Fungsi ee.Image.clip() menyamarkan piksel yang tidak berpotongan dengan ee.Geometry atau ee.Feature tertentu, sehingga membuatnya transparan dalam visualisasi dan dikecualikan dalam komputasi. Anda dapat
mengonseptualisasikannya sebagai pemotongan piksel dari gambar.
Fungsi ee.Filter.bounds()
memfilter objek ee.Image dari ee.ImageCollection berdasarkan
perpotongan gambar dengan ee.Geometry atau ee.Feature. Fungsi ini digunakan untuk membatasi
cakupan analisis hanya pada gambar yang berpotongan dengan wilayah tertentu,
yang membantu mengoptimalkan ekspresi.
Bagaimana cara mengonversi piksel gambar menjadi koleksi fitur, dengan satu fitur per piksel?
Gunakan fungsi ee.Image.sample(). Lihat contoh penggunaan di halaman referensi API fungsi.
Apa perbedaan antara ee.ImageCollection.merge() dan ee.ImageCollection.combine()?
Fungsi ee.ImageCollection.merge()
menggabungkan semua gambar dari dua koleksi menjadi satu koleksi,
terlepas dari apakah gambar masing-masing memiliki band, metadata,
CRS, atau skala yang sama. Ini adalah gabungan dari dua koleksi. Metode combine()
menggabungkan band gambar yang cocok dari dua koleksi menjadi satu
koleksi. Gambar yang cocok memiliki ID yang sama (properti system:index). Ini adalah
inner join dari dua koleksi berdasarkan ID gambar, tempat band dari gambar yang cocok
digabungkan. Untuk gambar yang cocok, band dari gambar sekunder
ditambahkan ke gambar utama (penimpaan bersifat opsional). Jika tidak ada gambar yang cocok, koleksi kosong akan ditampilkan.
Bagaimana cara memfilter koleksi gambar pada beberapa interval tanggal?
Lihat thread GIS Stack Exchange ini.
merge() beberapa koleksi bersama-sama atau gunakan ee.Filter.or().
Bagaimana cara membuat kotak pembatas di sekitar titik tertentu?
// 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
Dapatkah Anda menambahkan set data X?
Laporkan bug permintaan set data dengan mengikuti panduan permintaan set data.
Anda juga dapat mengupload data ke folder beranda Earth Engine. Lihat Mengimpor Data Raster dan Mengimpor Data Tabel.
Set data yang ada memiliki versi baru
Laporkan bug set data dengan mengikuti panduan permintaan set data, dan tunjukkan bahwa Anda meminta pembaruan set data.
Set data yang ada tidak diperbarui atau tidak memiliki aset
Sebelum melaporkan masalah, pastikan, jika memungkinkan, bahwa aset yang dipilih benar-benar ada di situs penyedia set data. Lihat panduan tentang gambar yang tidak ada untuk mengetahui detail selengkapnya.
Jika Anda mencari aset dengan memfilter ImageCollection, pastikan
filter Anda tidak terlalu ketat.
Secara khusus, perhatikan bahwa:
SR Sentinel-2 (data Level 2) tidak diproduksi oleh ESA untuk scene Level 1 awal.
Landsat tidak memiliki cakupan di seluruh dunia sebelum tahun 2000.
Set data yang ada memiliki nilai yang salah
Posting di forum developer. Sertakan skrip yang memperbesar resolusi asli aset dan memperjelas nilai yang salah. Jelaskan di mana tepatnya Anda mengamati nilai alternatif.
Di mana lagi saya dapat bertanya tentang set data?
Untuk pertanyaan tentang set data NASA, lihat forum NASA Earth Data.
Untuk pertanyaan tentang toolbox yang beroperasi pada set data Copernicus, lihat forum S1, S2, dan S3.
Seberapa besar katalog EE?
Per Oktober 2023, katalog ini berisi lebih dari 1.000 set data. Ukuran file-nya lebih dari 90 petabyte (setelah memperhitungkan kompresi lossless).
Seberapa sering data di EE diperbarui?
Biasanya, semua set data yang sedang berlangsung diperbarui setidaknya setiap hari (meskipun tidak semua set data tersebut memiliki data baru setiap hari). Beberapa set data diperbarui beberapa kali sehari. Namun, tidak ada kebijakan yang memastikan keberadaan aset terbaru dalam katalog.
Bagaimana cara melihat konten katalog EE secara terprogram?
Daftar set data diekspor dalam format STAC ke
bucket Google Cloud Storage gs://earthengine-stac.
File entri adalah
catalog.json.
Dapatkah saya menggunakan data atau gambar Google Maps untuk analisis?
Google tidak melisensikan atau menjual data peta dasar untuk analisis.
Bagaimana cara menemukan tanggal penyerapan aset?
Properti aset 'system:version' adalah stempel waktu penyerapan, yang diformat sebagai mikrodetik sejak epoch Unix. Berikut adalah contoh yang mengonversi stempel waktu penyerapan
citra Landsat ke format yang dapat dibaca manusia.
var image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508');
print('Ingest date', ee.Date(image.getNumber('system:version').divide(1000)));
Apakah Katalog Earth Engine memiliki metadata JSON-LD?
Ya, metadata JSON-LD disematkan di halaman HTML katalog. Misalnya, halaman Sentinel-2 berisi blok berikut:
<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
Bagaimana algoritma simpleComposite diimplementasikan?
Implementasi sisi server setara dengan kode JavaScript ini.
Bagaimana cara membuat komposit bebas awan dari data reflektansi permukaan Landsat?
Data Landsat Level 2 (reflektansi permukaan) memiliki beberapa band kualitas yang dapat digunakan untuk menyamarkan awan dan artefak gambar lain yang tidak diinginkan. Contoh penggunaan band ini untuk memproses gambar SR Landsat 8 dan membuat komposit bebas awan median disediakan di postingan GIS Stack Exchange ini. Prosedur yang sama digunakan untuk membuat komposit bebas cloud untuk digunakan dalam contoh klasifikasi yang diawasi di Panduan Developer.
Apakah harmonisasi reflektansi permukaan Landsat lintas sensor diperlukan?
Roy et al., 2016 menyertakan analisis perbedaan reflektansi antara TOA Landsat 7-8 dan reflektansi permukaan. Mereka memublikasikan koefisien OLS dan RMA sehingga pembaca dapat mengubah nilai reflektansi data dari satu sensor ke sensor lainnya. Baris terakhir makalah tersebut menyatakan: "Meskipun perbedaan sensor cukup kecil, perbedaan tersebut mungkin memiliki dampak yang signifikan bergantung pada aplikasi data Landsat." Namun, analisis ini didasarkan pada data prapengumpulan.
Peningkatan yang dilakukan selama pemrosesan ulang Koleksi 1 dan Koleksi 2 dapat memengaruhi hubungan antar-sensor, tetapi sejauh yang kami ketahui, belum ada analisis yang serupa dengan Roy dkk. (2016) untuk data Koleksi 1 atau Koleksi 2. Meskipun tidak ada analisis formal, tampaknya ada konsensus umum di antara pengguna Landsat yang berpengaruh bahwa tidak diperlukan koreksi untuk data Koleksi 2, Level 2 (pantulan permukaan). Misalnya, dalam jawaban atas pertanyaan mengenai perlunya harmonisasi Koleksi 2, Level 2, Mike Wulder dari Tim Sains Landsat mencatat bahwa bergantung pada sifat aplikasi yang diminati (termasuk pemetaan tutupan lahan dan deteksi perubahan), produk reflektansi permukaan Koleksi 2 sangat cocok dan andal, tanpa memerlukan penyesuaian lintas sensor.
Bagaimana cara menyamarkan awan dan bayangan awan dalam citra MSS?
Modul msslib pihak ketiga untuk Editor Kode JavaScript menyertakan implementasi algoritma MSScvm, serta fungsi bermanfaat lainnya untuk menjelajahi dan menyiapkan data MSS.
Pengelolaan Data
Siapa yang memiliki data yang saya upload?
Menurut Persyaratan Layanan Earth Engine, pelanggan adalah pemilik data yang mereka upload ke Earth Engine.
Saya tidak dapat mengupload data.
Periksa status tugas upload di panel Tasks di pojok kanan atas Editor Kode. Anda juga dapat melihat halaman tugas khusus.
Jika tidak ada tugas, Anda mungkin telah mencoba mengupload file melalui Editor Kode, tetapi karena masalah jaringan, file tidak pernah selesai diupload, sehingga tugas tidak pernah dibuat. Coba gunakan browser lain atau komputer lain.
Jika ada tugas yang gagal, periksa error yang ditampilkan. Jika tidak ada pesan error tertentu, pastikan terlebih dahulu bahwa file Anda tidak rusak dengan menjalankan gdalinfo untuk file raster atau ogr2ogr untuk file vektor.
Perintah ini akan mencoba membaca semua data dari file sumber dan menampilkan error jika file rusak.
Contoh panggilan gdalinfo:
gdalinfo -mm -stats -checksum file.tif
Contoh panggilan ogr2ogr yang akan mengonversi in.shp menjadi out.csv:
ogr2ogr -lco GEOMETRY=AS_WKT -f CSV out.csv in.shp
Jika file terlihat valid, posting ID tugas yang gagal sebagai teks (bukan sebagai screenshot) di milis developer.
ID tugas memiliki format ini: 4C25GIJBMB52PXTEJTF4JLGL. Buat file sumber Anda dapat dibaca oleh publik jika memungkinkan. Jika file tersebut bersifat pribadi, bagikan
hanya kepada earthengine@google.com jika Anda ingin tim Earth Engine
memeriksanya. Jika file sumber tidak dapat dibagikan, setidaknya
berikan output gdalinfo -mm -stats -checksum.
Jika Earth Engine tidak mendukung proyeksi tertentu, Anda harus memproyeksikan ulang data sebelum mengupload menggunakan, misalnya, gdalwarp.
Bagaimana cara mengupload file dalam format NetCDF atau format raster lain yang tidak didukung?
Hanya GeoTIFF yang dapat diupload ke Earth Engine. Format lain yang kompatibel dengan GDAL dapat dikonversi ke GeoTIFF menggunakan gdal_translate. Contoh:
gdal_translate -co COMPRESS=DEFLATE file.nc file.tif
Perhatikan bahwa beberapa file NetCDF atau HDF terdiri dari beberapa sub set data yang dapat ditemukan dengan gdalinfo. Perintah
gdal_translate dalam hal ini akan terlihat seperti ini (perhatikan jalur
di antara tanda kutip ganda):
gdal_translate HDF4_EOS:EOS_GRID:"/tmp/MCD12Q1.A2001001.h00v08.005.2011055224312.hdf":MOD12Q1:Land_Cover_Type_1 file.tif
File NetCDF terkadang tidak memiliki proyeksi yang dikenali GDAL. Dalam hal ini, Anda perlu menetapkan proyeksi dan cakupan spasial di command line gdal_translate. Contoh:
gdal_translate -a_srs EPSG:4326 -a_ullr -180 90 180 -90 file.nc file.tid
Algoritma kompresi apa yang dapat saya gunakan untuk GeoTIFF yang diupload?
Untuk upload, GeoTIFF dapat dikompresi dengan DEFLATE, JPEG, JPEG-XL/JXL, LERC,
LERC_DEFLATE, LERC_ZSTD, LZMA, LZW, WEBP, atau ZSTD. COG yang dibaca Earth Engine
di tempat (dengan ee.Image.loadGeoTIFF() atau sebagai aset yang didukung COG) dapat menggunakan
DEFLATE, JPEG, LZW, PACKBITS, ZSTD, atau tanpa kompresi (lihat
praktik terbaik COG).
ZSTD adalah pilihan yang baik secara keseluruhan karena cepat didekompresi, sekaligus tetap menawarkan kompresi yang baik untuk sebagian besar image.
Untuk menerapkan kompresi ZSTD saat menggunakan gdal_translate, tambahkan opsi ini. Jika
data memiliki nilai floating point, ubah PREDICTOR menjadi 3. (Untuk file yang
ingin Anda daftarkan sebagai COG, bukan diupload, lihat
panduan pendaftaran 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
Penyerapan raster saya telah berjalan selama berhari-hari dan belum selesai.
Dengan menggunakan gdalinfo, periksa apakah file Anda memiliki opsi GDAL berikut:
INTERLEAVE=PIXEL. Untuk file dengan opsi ini dan banyak band, penyerapan mungkin tidak akan pernah selesai karena tata letak file tersebut membuat pembacaan menjadi sangat lambat.
Coba konversi file tersebut ke tata letak band-interleaved sebelum mengupload:
gdal_translate -co "INTERLEAVE=BAND" src.tif dst.tif
Hal ini berlaku untuk penyerapan; aset yang didukung COG mendukung kedua interleave (lihat file band tunggal versus multi-band).
Raster yang saya upload tidak cocok dengan peta dasar.
Jika data sedikit bergeser dari peta dasar, proyeksi mungkin memiliki
datum yang salah (asumsi tentang bentuk Bumi).
Hal ini paling sering terjadi dengan
proyeksi sinusoidal yang tidak dapat dienkode sepenuhnya dalam metadata GDAL. Jika
Anda mengetahui proyeksi target yang seharusnya (misalnya, SR-ORG:6974 untuk file yang menggunakan
proyeksi sinusoidal MODIS), tetapkan flag --crs selama
upload command line
atau kolom crs dari
manifes upload.
Jika data tampak sangat terdistorsi atau berada di tempat yang salah, proyeksi atau transformasi affine kemungkinan salah.
Raster saya hanya muncul di belahan bumi Timur.
Anda mungkin mengupload raster global yang mencakup rentang bujur [0, 360]. Namun, Earth Engine mengharuskan raster berada dalam rentang [-180, 180]. Tukar bagian kiri dan kanan raster sebelum penyerapan. Lihat saran GIS Stack Exchange ini.
Mengapa gambar klasifikasi yang diserap terlihat berbintik-bintik?
Anda mungkin menggunakan kebijakan piramida MEAN default.
Untuk gambar klasifikasi, kebijakan piramida MODE harus digunakan. Untuk gambar QA/bitmask, kebijakan piramida SAMPLE harus digunakan.
Saya mendapatkan error berikut: No data value -128.0 cannot be applied to band #0 of type Short<0, 255>.
GDAL tidak dapat memperlakukan band byte tunggal sebagai berisi bilangan bulat bertanda, sehingga GDAL membaca band tersebut sebagai bilangan bulat tidak bertanda. Hal ini akan bertentangan dengan nilai negatif tanpa data.
Jika nilai Anda sebenarnya adalah bilangan bulat bertanda, gunakan
upload manifes
dan tambahkan ini ke bagian tileset yang berisi file Anda: data_type: "INT8"
Jika nilai Anda adalah bilangan bulat tanpa tanda, file Anda memiliki nilai nodata yang buruk. Anda dapat
menggantinya saat mengupload dengan nilai data yang benar (atau nilai yang tidak pernah terjadi,
jika ada). Anda juga dapat menggunakan gdal_translate -a_nodata untuk mengubah nilai nodata atau gdal_edit.py -unsetnodata untuk menghapusnya.
Bagaimana cara mengupload file dalam format GeoJSON atau format vektor lain yang tidak didukung?
Gunakan ogr2ogr untuk menerjemahkan format yang kompatibel dengan OGR ke CSV atau SHP. Contoh:
or2ogr -f "ESRI Shapefile" file.shp file.kml
Perhatikan bahwa dalam upload CSV, kolom geometri dapat berisi GeoJSON.
Saya ingin mengupload data menggunakan Python, atau mengupload banyak file sekaligus.
Gunakan upload command line. Upload tersebut mengharuskan file sumber ditempatkan terlebih dahulu ke dalam bucket GCS (Google Cloud Storage). Penggunaan GCS tidak dikenai biaya apa pun jika Anda tetap berada dalam batas paket gratis - lihat halaman harga.
Saya ingin mengupload mosaik raster besar yang dibagi menjadi banyak ubin.
Jika semua file memiliki proyeksi dan ukuran piksel yang sama, cukup upload bersama-sama ke aset yang sama — file tersebut akan otomatis dimosaikkan.
Jika file memiliki proyeksi atau ukuran piksel yang berbeda, file tersebut tidak dapat digabungkan menjadi satu aset raster. Sebagai gantinya, upload setiap ubin sebagai aset terpisah ke
ImageCollection yang sama yang dapat di-mosaic menggunakan
ImageCollection.mosaic()
Saya mencoba mengupload mosaik dan mendapatkan error tentang ubin yang tidak cocok.
Ubin untuk mosaik raster Earth Engine harus memiliki proyeksi dan ukuran piksel yang sama. Selain itu, ubin harus sejajar persis dengan batas piksel.
Saya mencoba mengupload file dari bucket GCS, tetapi Earth Engine tidak dapat menemukannya.
Anda mungkin telah menggunakan Akun Google yang berbeda untuk upload GCS dan untuk terhubung ke Earth Engine. Pastikan file GCS dapat dibaca oleh akun yang Anda gunakan untuk terhubung ke Earth Engine. Jika login multi-browser membuat hal ini membingungkan, hubungkan ke Earth Engine di jendela browser samaran.
Saya ingin mengekspor banyak aset sekaligus.
Anda harus mengekspor setiap gambar secara terpisah.
Saya ingin memindahkan atau menghapus Folder atau ImageCollection dengan satu perintah.
earthengine rm -r menghapus folder atau koleksi dan semua isinya, tetapi satu
aset dalam satu waktu, sehingga koleksi yang besar dapat memerlukan waktu berjam-jam. Untuk mempercepat, hapus turunan secara paralel dari skrip, lalu hapus induknya (lihat bekerja dengan koleksi besar); pendekatan yang sama berlaku untuk koleksi atau folder datar apa pun. Folder yang berisi folder atau koleksi lain harus dikosongkan dari bawah ke atas, karena penampung tidak dapat dihapus sebelum kosong. Untuk memindahkan, gunakan
mv dengan cara yang sama.
Saya ingin mengakses data Earth Engine secara langsung dari luar EE.
QGIS memiliki plugin Earth Engine.
GDAL memiliki driver Earth Engine.
Sistem lain dapat menggunakan REST API EE.
Saya ingin memperbarui bagian dari aset Earth Engine saya tanpa menyerapnya kembali sepenuhnya.
Data raster atau vektor yang diupload ke EE tidak dapat diperbarui. Hanya properti metadata aset yang dapat diperbarui. Pengecualiannya adalah aset yang didukung COG, yang dapat Anda arahkan ke file Cloud Storage yang diperbarui dengan mendaftarkannya kembali dengan mengaktifkan penimpaan.
Saya kehilangan akses ke akun saya. Apa yang harus saya lakukan dengan aset saya?
Jika kebijakan akun asli mengizinkan transfer data, bagikan aset Anda ke akun lain, lalu salin aset tersebut agar dimiliki oleh akun baru. Gunakan utilitas penyalinan command line jika ada banyak aset yang akan dipindahkan.
Jika akun dihapus, aset yang dimiliki akun tersebut tidak dapat diakses lagi.
Gambar yang saya ekspor berada di tempat yang salah.
Untuk beberapa proyeksi, seperti sinusoidal atau kerucut, file GeoTIFF terkadang tidak dapat menyimpan semua parameter proyeksi yang diperlukan. Hal ini menghasilkan file yang diekspor yang muncul di tempat yang salah saat dilihat di alat GIS desktop atau diserap kembali ke EE.
Untuk memperbaikinya, tentukan parameter crs ekspor yang diketahui berfungsi dengan baik
dengan file GeoTIFF—misalnya, gunakan kode EPSG untuk zona UTM
yang berisi area minat Anda.
Aset koleksi fitur yang diekspor tidak mempertahankan properti yang saya tetapkan.
Tidak ada fungsi Export.table.* yang mempertahankan properti tingkat tabel dalam output.
Untuk banyak format output (misalnya, CSV, GeoJSON), tidak ada dukungan untuk metadata tersebut. Fungsi Export.table.toAsset dapat mendukung properti tingkat tabel, tetapi saat ini tidak.
Tabel yang diekspor ke Drive dalam format CSV akan dikonversi ke format XLSX.
Bergantung pada setelan Google Drive Anda, tabel CSV yang Anda ekspor dari Earth Engine dapat dikonversi ke file XLSX dengan efek yang tidak diinginkan, seperti konversi jenis data. Ikuti langkah-langkah berikut untuk mengubah perilaku ekspor berikutnya.
- Di Google Drive di web, klik ikon Setelan di kanan atas.
- Klik Setelan.
- Scroll ke dan hapus centang "Konversi file yang diupload ke format editor Google Dokumen".
Cloud Optimized GeoTIFF (COG)
Untuk mengetahui latar belakangnya, lihat ringkasan COG dan panduan pendaftaran COG.
Saya membagikan aset yang didukung COG, tetapi kolaborator saya mendapatkan error izin.
Aset yang didukung COG adalah pointer ke file di bucket Cloud Storage Anda, sehingga kolaborator memerlukan akses baca ke aset Earth Engine dan bucket. Di bucket, beri mereka peran Storage Object Viewer dan Storage Bucket Viewer; error izin pada aset yang seharusnya dapat mereka lihat biasanya berarti salah satu dari kedua peran tersebut tidak ada. Lihat mengonfigurasi izin.
Lokasi bucket Cloud Storage mana yang harus saya gunakan untuk menyimpan aset COG?
Hanya beberapa lokasi di AS yang didukung, dan Earth Engine menolak pendaftaran dan permintaan baca untuk bucket di tempat lain. Lihat lokasi bucket yang didukung.
Saya mengganti file COG di Cloud Storage. Mengapa aset gagal dimuat, atau masih menampilkan data lama?
Saat Anda mendaftarkan COG, Earth Engine menyematkan pembuatan objek (versi) file, sehingga menimpa file di tempat tidak akan memperbarui aset. Daftarkan ulang aset dengan nama yang sama dan aktifkan penimpaan; Anda tidak perlu menghapusnya terlebih dahulu. Lihat memperbarui, mengganti, dan menghapus aset yang didukung COG.
Bagaimana cara mengetahui versi file yang ditunjuk oleh aset yang didukung COG?
Metadata aset (ee.data.getAsset()) menampilkan pembuatan yang disematkan sebagai
akhiran pada URI file. Lihat
generasi objek.
Apa yang terjadi jika saya menghapus file COG di Cloud Storage, tetapi tidak menghapus aset Earth Engine, atau sebaliknya?
Mereka independen. Menghapus aset Earth Engine akan membuat file Anda di Cloud Storage tidak tersentuh, dan menghapus file akan membuat aset tetap di tempatnya, tetapi biasanya membuat pikselnya tidak dapat dibaca. Lihat siklus proses independen.
Apa cara tercepat untuk menghapus atau mengganti ImageCollection besar yang didukung COG?
Tidak ada penghapusan batch atau rekursif di Earth Engine API, dan
earthengine rm -r menghapus aset satu per satu. Jika Anda mengganti gambar,
daftarkan ulang gambar tersebut dengan mengaktifkan penimpaan, bukan menghapusnya; jika Anda
menghapus, lakukan paralelisasi dari skrip. Lihat
bekerja dengan koleksi besar
untuk mengetahui pendekatan dan skripnya.
Mengapa pendaftaran COG saya tidak muncul di tab Tasks?
Mendaftarkan COG adalah panggilan API sinkron yang hanya mengindeks metadata file, bukan tugas penyerapan batch, sehingga tidak membuat tugas. Aset akan tersedia di tab Aset segera setelah panggilan ditampilkan. Lihat mengirim permintaan pendaftaran.
Dapatkah saya menggabungkan beberapa file COG menjadi satu aset Earth Engine?
Hanya jika setiap file menyimpan band yang berbeda dari scene yang sama: cantumkan setiap file sebagai tileset-nya sendiri dalam manifes dan petakan band ke tileset. Anda tidak dapat membuat mosaik
file yang berdekatan secara spasial menjadi satu aset yang didukung COG; daftarkan setiap file sebagai
citranya sendiri dalam ee.ImageCollection dan panggil mosaic(). Lihat
batasan manifes.
Skema kompresi, ukuran ubin, dan jenis piksel mana yang dapat digunakan aset yang didukung COG?
Lihat praktik terbaik untuk menyiapkan COG eksternal untuk skema kompresi, ukuran ubin, dan jenis data piksel yang didukung. File dalam format kompresi yang tidak dapat dibaca langsung oleh Earth Engine sebagai COG masih dapat diupload sebagai aset standar.
Saya mendapatkan pesan error "Metadata TIFF tidak dapat dibaca dalam 10.000.000 byte pertama".
Earth Engine hanya membaca bagian awal file saat memuat atau mendaftarkannya; gambar besar dengan banyak ubin, dan file yang terpotong, melebihi batas tersebut. Lihat memilih dimensi file untuk mengetahui batas dan cara agar tidak melebihi batas tersebut.
Apa perbedaan ee.Image.loadGeoTIFF() dengan aset terdaftar saat file berubah?
ee.Image.loadGeoTIFF() membaca versi file apa pun yang saat ini ada di setiap komputasi atau permintaan ubin peta, sehingga mengambil penggantian (tidak merata di peta, karena ubin peta yang dirender tetap di-cache). Aset terdaftar selalu menyematkan
generasi tempat aset tersebut didaftarkan dan harus didaftarkan ulang untuk melihat file baru,
tetapi sebagai gantinya, jejak dan metadatanya diindeks, sehingga dapat
digunakan dalam koleksi besar. Lihat
membaca COG dari Cloud Storage.
Editor Kode
Saya tidak dapat login ke Editor Kode karena saya diminta untuk menggunakan akun yang salah.
Logout, pilih akun yang terdaftar untuk menggunakan Earth Engine di halaman "Pilih akun", lalu pilih kembali akun yang sama di halaman kedua "Pilih akun untuk melanjutkan ke Editor Kode Earth Engine" (kata-kata persisnya mungkin berbeda).
Saya ingin mengambil screenshot peta global, tetapi tidak menyukai proyeksi Web Mercator.
Proyeksi peta yang digunakan di Editor Kode adalah
Web Mercator
('EPSG:3857'). Proyeksi ini memperbesar ukuran objek yang jauh dari khatulistiwa, sehingga
wilayah lintang tinggi tampak jauh lebih besar daripada ukuran sebenarnya,
dibandingkan dengan wilayah di dekat khatulistiwa. Anda tidak dapat mengubah proyeksi kanvas peta Editor Kode, tetapi Anda dapat "melukis" gambar dalam proyeksi pilihan Anda ke kanvas Web Mercator menggunakan metode ee.Image.changeProj.
Lihat halaman referensi API metode untuk mengetahui contoh cara menampilkan DEM global ke peta Editor Kode dalam proyeksi Robinson.
Perhatikan bahwa teknik ini hanya boleh digunakan untuk tujuan visualisasi, karena
alat gambar dan inspektur Editor Kode masih beroperasi di Web Mercator.
Skrip saya tidak tersimpan (Script error: Unknown commit).
Jika Anda menerima pesan Script error: Unknown commit saat menyimpan skrip,
kemungkinan repositori tempat Anda menyimpan tidak sinkron.
Penyebab status ini bervariasi dan sulit diidentifikasi. Untuk menyelesaikan
masalah ini, coba muat ulang daftar skrip menggunakan tombol di sudut kanan atas
tab Skrip. Jika tidak berhasil, coba buat repositori baru dari
tombol New di tab Script dan simpan skrip Anda di sana
(Anda mungkin perlu memindahkan skrip ke repositori baru dari repositori yang tidak sinkron).
Mengapa saya melihat error 400 berulang di Editor Kode?
Jika Anda melihat error 400 berulang di Editor Kode, buka https://myaccount.google.com/connections, temukan "Editor Kode Earth Engine" dalam daftar aplikasi & layanan, pilih, lalu pilih "Hapus semua koneksi yang Anda miliki dengan Editor Kode Earth Engine" dan konfirmasi. Kemudian, buka Editor Kode dan autentikasi ulang.
Bagaimana cara memulihkan skrip dan folder yang dihapus?
Jika Anda tidak sengaja menghapus skrip atau folder di dalam repositori yang ada, histori commit lengkap akan dipertahankan di log Git di server kami. Anda dapat memulihkan skrip atau folder yang dihapus dengan meng-clone repositori secara lokal menggunakan alat command line Git standar.
Namun, menghapus seluruh repositori (users/username/repository) akan menghapus repositori dan histori commit-nya secara permanen dari earthengine.googlesource.com dan tidak dapat diurungkan atau dipulihkan.
Untuk petunjuk langkah demi langkah tentang cara membuat kredensial Git, meng-clone repositori, dan memulihkan file atau folder yang dihapus, lihat panduan Pemulihan skrip dan migrasi repositori.
Bagaimana cara mengganti nama root repositori skrip saya?
Direktori root skrip Anda (users/username) terikat dengan pendaftaran akun Earth Engine asli Anda. Skrip ini tidak dapat diganti namanya secara langsung di backend
karena tindakan tersebut akan merusak skrip eksternal atau project kolaborator yang
mengimpor kode modular Anda menggunakan
jalur require('users/username/repository:...').
Jika Anda memerlukan namespace baru, solusi yang didukung adalah memigrasikan pekerjaan Anda ke akun baru:
- Daftarkan akun Earth Engine baru menggunakan Google Identity baru Anda (yang menghasilkan root
users/new_usernameyang bersih). - Ikuti petunjuk migrasi repositori untuk meng-clone repositori lama dan mengirim histori lengkapnya ke repositori kosong yang baru.
Pertimbangan Penting:
- Modul Publik: Jika Anda memiliki modul publik yang diandalkan orang lain, sebaiknya tetap aktifkan akun dan repositori lama Anda agar tidak mengganggu alur kerja mereka.
- Skrip Pribadi: Jika skrip Anda sepenuhnya bersifat pribadi, Anda dapat memperbarui
pernyataan impor
require()untuk merujuk ke jalur repositori baru, lalu menghapus repositori lama dengan aman.