Sık Sorulan Sorular

Genel sorular

Bir sorunum var, yardıma ihtiyacım var.

Mümkün olduğunca fazla bilgi vererek bu kılavuzu takip eden bir soru yayınlayın (Stack Overflow'un iyi soru sorma kılavuzuna bakın). Bu genellikle şu anlama gelir:

  • Kod Düzenleyici'de bir komut dosyasının bağlantısını gönderme (bağlantıyı almak için "Bağlantıyı Al" düğmesini tıklayın)

  • Komut dosyasını çalıştırmak için gereken öğeleri paylaşma

  • Başarısız toplu görevler için başarısız görevin kimliğini bildirin. Görev kimlikleri şu şekilde görünür: 4C25GIJBMB52PXTEJTF4JLGL. Bu görevleri Kod Düzenleyici'nin Görev sekmesinde bulabilirsiniz. Daha fazla bilgi edinin.

Earth Engine mimarisi hakkında nereden bilgi edinebilirim?

Şu makaleye bakın: Gorelick ve ark. 2017.

EDU ve Eğitim Kaynakları sayfalarına bakın.

Ujaval Gandhi'nin uzaktan algılamaya giriş videosunu içeren bu ücretsiz EE kursuna göz atın.

Earth Engine programlama

Yaygın kodlama hataları nelerdir?

Hata ayıklama kılavuzuna bakın.

Neden "... bir işlev değil" hatası alıyorum?

Bu hata, Earth Engine çağrılan yöntemi bulamadığında ortaya çıkar. Aşağıdaki yaygın nedenleri kontrol edin:

Yazım veya büyük/küçük harfe duyarlılık: Yöntemler büyük/küçük harfe duyarlıdır. Yazımı API referansına göre doğrulayın.

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

Eksik tür dönüştürmeleri: .get() gibi işlevlerden döndürülen değerler genel ee.ComputedObject örnekleridir ve açıkça dönüştürülmelidir. Bilinmeyen nesne türü dönüştürme bölümüne bakın.

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

İstemci ve sunucu yöntemlerini karıştırma: Earth Engine nesnelerinde standart JavaScript veya Python yöntemlerini (.push() ya da .append() gibi) kullanmadığınızdan emin olun. İstemci ve sunucu işlevlerini karıştırmaktan kaçınma bölümüne bakın.

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

Kullanılamayan yöntemler: Nesne doğru şekilde yazılmışsa ve yöntem belgelerde mevcutsa veya daha önce çalışmış ancak artık çalışmıyorsa hata bildirin.

Neden ee.Image("image") * 2 gibi temel matematik işlemlerini kullanamıyorum?

EE'de sunucu tarafı ve istemci tarafı nesneleri veya işlemleri karıştırmamalısınız. EE nesneleriyle ilgili tüm işlemler sunucu tarafında gerçekleştirilir. İstemci tarafı hesaplamalar, istediğiniz şekilde çalışmaz. Daha fazla bilgi için bu sayfaya bakın.

for döngülerini veya if/else ifadelerini nasıl kullanabilirim?

Earth Engine programlama, işlevsel bir dil kullanılarak yapılır. Bu nedenle, döngüler ve koşullu işlemler map veya filter gibi eşdeğer kavramlar kullanılarak ifade edilmelidir. Daha fazla bilgi için bu sayfaya göz atın.

Resmimde veya videomda metin etiketlerini nasıl gösterebilirim?

Metin etiketleri için yerleşik destek yoktur ancak şunları yapabilirsiniz:

Standart renk paletlerini kullanabilir miyim?

Üçüncü taraf JS paketi ee-palettes'i kullanma

Earth Engine kullanan kendi web sitemi nasıl oluşturabilirim?

Temel uygulamalar için Earth Engine Uygulamaları'nı kullanın. Daha karmaşık durumlarda EE destekli App Engine uygulamaları oluşturabilirsiniz.

Harita kimliklerinin işleyiş şekli

Harita kimlikleri (API genelinde mapid olarak adlandırılır), istemcilerin harita parçalarını getirmesine olanak tanıyan anahtarlardır. Her kimlik, getMapId uç noktasına bir resim ifadesi sağlanarak oluşturulan bir karma değerdir. Elde edilen kimlikler, daha sonraki bir aşamada parçaları oluşturmak için kullanılacak görüntü ifadesini ve kullanıcı kimlik bilgilerini gösteren anahtarlardır.

Harita karoları istenirken karonun konumu (x, y, zoom) ve mapid (görüntünün anahtarı ve kimlik bilgileri) belirtilir. Aynı kimlik, birçok harita karosunu yüklemek için yeniden kullanılabilir. mapid anahtarlarının yeniden kullanımında bir sınırlama yoktur ancak birkaç saat sonra geçerlilikleri sona erer. Bu kimliklerin ne kadar süreyle geçerli kaldığına dair belirli bir zaman aralığı yayınlamıyoruz ancak yazdığınız tüm kodlar, kimliğin süresinin dolmasına karşı dayanıklı olmalıdır.

Bu kimlikleri oluşturmak için az miktarda veri depolanması ve kimlik bilgilerinin doğrulanması gerekir. Bu nedenle, kimlikleri mümkün olduğunca uzun süre yeniden kullanmak en iyisidir. getMapId uç noktasıyla özel olarak ilişkili bir API kotası yoktur ancak mapid nesnelerini karo getirme hızına yakın bir hızda oluşturmayı içeren tüm iş akışları muhtemelen yanlış bir şey yapıyordur. Bu kimlikler geçici kaynaklar olduğundan Earth Engine'da bunları kaldırmak, listelemek veya yönetmek için API uç noktası yoktur.

ee.Algorithms.If() neden hem doğru hem de yanlış durumunu yazdırıyor?

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

If() algoritması, Earth Engine'deki diğer tüm algoritmalar gibi çalışır. Algoritmanın çalışabilmesi için tüm bağımsız değişkenlerinin değerlendirilmesi gerekir. Algoritma hem trueCase hem de falseCase sonuçlarını alır ve ardından condition bağımsız değişkenine göre birini seçip döndürür. Ancak bu değerlerin algoritmaya iletilmesi için her iki yolun da yürütülmesi gerekir.

"İstek yükü boyutu sınırı aşıyor" hatasını alıyorum

Earth Engine'e çok büyük bir istek göndermeye çalışıyorsunuz. Bu durum genellikle kodun çok sayıda istemci tarafı "for" döngüsü kullanması veya birçok geometri nesnesinden bir FeatureCollection oluşturması durumunda ortaya çıkar. İkinci durumda, komut dosyanızda bu tür geometriler oluşturmak yerine bunları içeren bir CSV dosyası oluşturun ve bir tablo öğesine yükleyin.

ee.Image.clip() ile ee.Filter.bounds() arasındaki fark nedir?

Bu GIS Stack Exchange ileti dizisine bakın. ee.Image.clip() işlevi, belirli bir ee.Geometry veya ee.Feature ile kesişmeyen pikselleri maskeler. Böylece bu pikseller görselleştirmelerde şeffaf hale gelir ve hesaplamalara dahil edilmez. Bunu, bir resimden pikselleri kırpmak olarak düşünebilirsiniz.

ee.Filter.bounds() işlevi, bir ee.Geometry veya ee.Feature ile görüntü kesişimine göre ee.Image nesneleri bir ee.ImageCollection dışında olacak şekilde filtreler. Analizin kapsamını yalnızca belirli bir bölgeyle kesişen resimlerle sınırlamak için kullanılır. Bu da ifadelerin optimize edilmesine yardımcı olur.

Görüntü piksellerini, piksel başına bir özellik olacak şekilde özellik koleksiyonlarına nasıl dönüştürebilirim?

ee.Image.sample() işlevini kullanın. İşlevin API referans sayfasında kullanım örneklerini inceleyin.

ee.ImageCollection.merge() ile ee.ImageCollection.combine() arasındaki fark nedir?

ee.ImageCollection.merge() işlevi, ilgili görüntülerin çakışan bantları, meta verileri, CRS'si veya ölçeği olup olmadığına bakılmaksızın iki koleksiyondaki tüm görüntüleri tek bir koleksiyonda birleştirir. İki koleksiyonun birleşimidir. combine() yöntemi, iki koleksiyondaki eşleşen görüntülerin bantlarını tek bir koleksiyonda birleştirir. Eşleşen resimler aynı kimliği (system:index özelliği) paylaşır. Bu, eşleşen görüntülerdeki bantların birleştirildiği, görüntü kimliğine dayalı iki koleksiyonun iç birleşimidir. Eşleşen görüntüler için ikincil görüntüdeki bantlar birincil görüntüye eklenir (üzerine yazma isteğe bağlıdır). Eşleşen resim yoksa boş bir koleksiyon döndürülür.

Görüntü koleksiyonları birden fazla tarih aralığına göre nasıl filtrelenir?

Bu GIS Stack Exchange ileti dizisine bakın. Birden fazla koleksiyonu merge() veya ee.Filter.or() kullanın.

Belirli bir noktanın etrafında sınırlayıcı kutu nasıl oluşturulur?

// 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 veri kümesini ekleyebilir misiniz?

Veri kümesi isteği kılavuzunu uygulayarak veri kümesi isteği hatası bildirin.

Earth Engine ana klasörünüze de veri yükleyebilirsiniz. Raster Verileri İçe Aktarma ve Tablo Verilerini İçe Aktarma bölümlerine bakın.

Mevcut bir veri kümesinin yeni bir sürümü var.

Veri kümesi istek kılavuzunu uygulayarak bir veri kümesi hatası bildirin ve veri kümesi güncellemesi istediğinizi belirtin.

Mevcut bir veri kümesi güncellenmemiş veya öğeleri eksik

Bir sorunu bildirmeden önce, mümkünse seçilen öğelerin veri kümesi sağlayıcısının sitesinde gerçekten mevcut olduğunu doğrulayın. Daha fazla bilgi için eksik resimlerle ilgili kılavuzu inceleyin.

Bir öğeyi ImageCollection filtreleyerek arıyorsanız filtrelerinizin çok kısıtlayıcı olmadığından emin olun.

Özellikle şunlara dikkat edin:

  • Sentinel-2 SR (Seviye 2 verileri), erken Seviye 1 sahneleri için ESA tarafından üretilmemiştir.

  • Landsat'ın 2000 yılından önce dünya çapında kapsamı yoktur.

Mevcut bir veri kümesinde yanlış değerler var.

Geliştiriciler forumunda yayınlayın. Öğenin orijinal çözünürlüğüne yakınlaştıran ve hangi değerlerin yanlış olduğunu net bir şekilde gösteren bir komut dosyası ekleyin. Alternatif değeri tam olarak nerede gördüğünüzü açıklayın.

Veri kümeleri hakkında başka nereden bilgi alabilirim?

NASA veri kümeleriyle ilgili sorularınız için NASA Earth Data forumuna bakın.

Copernicus veri kümelerinde çalışan araç kutuları hakkındaki sorularınız için S1, S2 ve S3 forumlarına göz atın.

EE kataloğunun boyutu nedir?

Ekim 2023 itibarıyla katalogda 1.000'den fazla veri kümesi bulunmaktadır. Diskteki boyutu 90 petabayttan fazladır (kayıpsız sıkıştırma dikkate alındıktan sonra).

EE'deki veriler ne sıklıkta güncellenir?

Normalde, devam eden tüm veri kümeleri en azından günlük olarak güncellenir (ancak bu tür veri kümelerinin hepsinde her gün yeni veri olmaz). Bazı veri kümeleri günde birkaç kez güncellenir. Ancak katalogda en yeni öğelerin bulunmasını sağlayan bir politika yoktur.

EE kataloğunun içeriğini programatik olarak nasıl görüntüleyebilirim?

Veri kümesi listesi, STAC biçiminde bir Google Cloud Storage paketine gs://earthengine-stac aktarılır. Giriş dosyası catalog.json'dur.

Google Haritalar verilerini veya görüntülerini analiz için kullanabilir miyim?

Google, analiz için temel harita verilerini lisanslamaz veya satmaz.

Bir öğenin beslendiği tarihi nasıl bulabilirim?

'system:version' öğe özelliği, Unix epoch'tan bu yana mikrosaniye olarak biçimlendirilmiş besleme zaman damgasıdır. Burada, bir Landsat görüntüsünün besleme zaman damgasını okunabilir bir biçime dönüştüren bir örnek verilmiştir.

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 Kataloğu'nda JSON-LD meta verileri var mı?

Evet, JSON-LD meta verileri katalog HTML sayfalarına yerleştirilir. Örneğin, Sentinel-2 sayfasında aşağıdaki blok bulunur:

<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 algoritması nasıl uygulanır?

Sunucu tarafı uygulama, bu JavaScript koduna eşdeğerdir.

Landsat yüzey yansıtma verilerinden bulutsuz kompozitleri nasıl oluşturabilirim?

Landsat Seviye 2 (yüzey yansıtma) verilerinde, bulutları ve diğer istenmeyen görüntü kusurlarını maskelemek için kullanılabilecek çeşitli kalite bantları bulunur. Landsat 8 SR görüntülerini işlemek ve bulutsuz bir medyan bileşik oluşturmak için bu bantların kullanıldığı bir örnek, bu GIS Stack Exchange yayınında verilmiştir. Geliştirici Kılavuzu'ndaki gözetimli sınıflandırma örneklerinde kullanılmak üzere bulutsuz bir bileşik oluşturmak için de aynı prosedür kullanılır.

Sensörler arası Landsat yüzey yansıtma uyumlaştırması gerekli mi?

Roy et al., 2016, Landsat 7-8 TOA ile yüzey yansıtma arasındaki yansıtma farklılıklarının analizini içeriyordu. Okuyucuların bir sensörün verilerinin yansıma değerlerini diğerine dönüştürebilmesi için OLS ve RMA katsayılarını yayınladılar. Makalenin son satırında şöyle deniyor: "Sensör farklılıkları oldukça küçük olsa da Landsat veri uygulamasına bağlı olarak önemli bir etkiye sahip olabilir." Ancak bu analiz, tahsilat öncesi verilere dayanıyordu.

Collection 1 ve Collection 2 yeniden işleme sırasında yapılan iyileştirmeler, sensörler arasındaki ilişkiyi etkileyebilir ancak bildiğimiz kadarıyla Collection 1 veya Collection 2 verileri için Roy ve ark. (2016) tarafından yapılan analizlere benzer analizler yapılmamıştır. Resmi bir analiz olmamasına rağmen, etkili Landsat kullanıcıları arasında Collection 2, Level 2 (yüzey yansıtma) verileri için düzeltme gerekmediği konusunda genel bir fikir birliği vardır. Örneğin, Landsat Bilim Ekibi'nden Mike Wulder, Koleksiyon 2, Seviye 2 uyumlaştırma ihtiyacıyla ilgili bir soruya verdiği yanıtta, ilgili uygulamanın niteliğine (arazi örtüsü haritalama ve değişim tespiti dahil) bağlı olarak Koleksiyon 2 yüzey yansıtma ürünlerinin sensörler arası ayarlamaya gerek kalmadan son derece uygun ve güvenilir olduğunu belirtti.

MSS görüntülerinde bulutları ve bulut gölgelerini nasıl maskeleyebilirim?

JavaScript Kod Düzenleyici için üçüncü taraf msslib modülü, MSScvm algoritmasının bir uygulamasını ve MSS verilerini keşfetmek ve hazırlamak için diğer faydalı işlevleri içerir.

Veri Yönetimi

Yüklediğim verilerin sahibi kimdir?

Earth Engine Hizmet Şartları uyarınca, Earth Engine'e yükledikleri veriler müşterilere aittir.

Veri yükleyemiyorum.

Kod Düzenleyici'nin sağ üst köşesindeki Görevler bölmesinde yükleme görevinin durumunu kontrol edin. Özel görev sayfasını da görüntüleyebilirsiniz.

Görev yoksa muhtemelen dosyanızı Kod Düzenleyici üzerinden yüklemeye çalıştınız ancak ağ sorunu nedeniyle dosya yükleme işlemi tamamlanamadı ve görev oluşturulamadı. Farklı bir tarayıcı veya farklı bir bilgisayar kullanmayı deneyin.

Başarısız bir görev varsa gösterdiği hatayı inceleyin. Belirli bir hata mesajı yoksa öncelikle raster dosyaları için gdalinfo, vektör dosyaları için ogr2ogr komutunu çalıştırarak dosyanızın bozuk olmadığını doğrulayın. Bu komutlar, kaynak dosyalardaki tüm verileri okumaya çalışır ve dosyalar bozuksa hata gösterir.

Örnek gdalinfo çağrısı:

gdalinfo -mm -stats -checksum file.tif

in.shp dosyasını out.csv dosyasına dönüştürecek örnek ogr2ogr çağrısı:

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

Dosya geçerli görünüyorsa başarısız olan görev kimliğini geliştiriciler posta listesinde metin olarak (ekran görüntüsü olarak değil) yayınlayın. Görev kimlikleri şu biçimdedir: 4C25GIJBMB52PXTEJTF4JLGL. Mümkünse kaynak dosyanızı herkese açık olarak okunabilir hale getirin. Gizli bir dosyaysa Earth Engine ekibinin incelemesini istiyorsanız yalnızca earthengine@google.com ile paylaşın. Kaynak dosyayı paylaşmak mümkün değilse en azından gdalinfo -mm -stats -checksum çıkışını sağlayın.

Earth Engine belirli bir projeksiyonu desteklemiyorsa yüklemeden önce verileri yeniden projeksiyonlamanız gerekir. Bunun için örneğin gdalwarp aracını kullanabilirsiniz.

NetCDF veya desteklenmeyen başka bir raster biçiminde dosya yükleme

Earth Engine'e yalnızca GeoTIFF dosyaları yüklenebilir. GDAL ile uyumlu diğer biçimler, gdal_translate kullanılarak GeoTIFF'lere dönüştürülebilir. Örnek:

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

Bazı NetCDF veya HDF dosyalarının, gdalinfo ile bulunabilen birden fazla alt veri kümesinden oluştuğunu unutmayın. Bu durumda gdal_translate komutu aşağıdaki gibi görünür (çift tırnak içindeki yola dikkat edin):

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

NetCDF dosyaları bazen GDAL'nin tanıdığı bir projeksiyon içermez. Bu durumda, gdal_translate komut satırında projeksiyonu ve mekansal kapsamı ayarlamanız gerekir. Örnek:

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

Yüklenen GeoTIFF'ler için hangi sıkıştırma algoritmalarını kullanabilirim?

Yükleme için GeoTIFF'ler DEFLATE, JPEG, JPEG-XL/JXL, LERC, LERC_DEFLATE, LERC_ZSTD, LZMA, LZW, WEBP veya ZSTD ile sıkıştırılabilir. Earth Engine'in yerinde okuduğu COG'lar (ee.Image.loadGeoTIFF() ile veya COG destekli öğeler olarak) DEFLATE, JPEG, LZW, PACKBITS, ZSTD kullanabilir veya sıkıştırma kullanmayabilir (COG ile ilgili en iyi uygulamalar bölümüne bakın). ZSTD, çoğu görüntüyü iyi bir şekilde sıkıştırırken hızlı bir şekilde açtığı için genel olarak iyi bir seçimdir.

gdal_translate kullanırken ZSTD sıkıştırması uygulamak için bu seçenekleri ekleyin. Verilerde kayan nokta değerleri varsa PREDICTOR değerini 3 olarak değiştirin. (Yüklemek yerine COG olarak kaydetmeyi planladığınız dosyalar için COG kayıt kılavuzuna bakın.)

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

Raster beslemem günlerdir çalışıyor ve tamamlanmadı.

gdalinfo kullanarak dosyanızda aşağıdaki GDAL seçeneğinin ayarlanıp ayarlanmadığını kontrol edin: INTERLEAVE=PIXEL. Bu seçeneğe ve çok sayıda banda sahip dosyalar için, bu tür dosyaların düzeni okuma işlemlerini çok yavaşlattığından besleme işlemi hiçbir zaman tamamlanmayabilir.

Yüklemeden önce bu tür dosyaları bant geçişmeli düzene dönüştürmeyi deneyin:

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

Bu, besleme için geçerlidir. COG destekli öğeler her iki aralıklı yerleşimi de destekler (tek bantlı ve çok bantlı dosyalar bölümüne bakın).

Yüklediğim raster'lar temel haritayla eşleşmiyor.

Veriler temel haritadan biraz kaymışsa projeksiyonda muhtemelen yanlış bir datum (Dünya'nın şekliyle ilgili varsayım) vardır. Bu durum genellikle GDAL meta verilerinde tam olarak kodlanamayan sinüzoidal projeksiyonda görülür. Hedef projeksiyonun ne olması gerektiğini bildiğinizde (ör. MODIS sinüzoidal projeksiyon kullanan dosyalar için SR-ORG:6974), komut satırı yüklemesi sırasında --crs işaretini veya yükleme manifestinin crs alanını ayarlayın.

Veriler çok bozuk görünüyorsa veya tamamen yanlış yerdeyse projeksiyon ya da afin dönüşüm muhtemelen yanlıştır.

Raster'ım yalnızca Doğu Yarımküre'de gösteriliyor.

Muhtemelen [0, 360] boylam aralığını kapsayan global bir raster yüklediniz. Ancak Earth Engine, raster'ların [-180, 180] aralığında olmasını gerektirir. Beslemeden önce rasterın sol ve sağ yarılarını değiştirin. Bu GIS Stack Exchange önerilerine göz atın.

Yüklenen sınıflandırma görüntüm neden benekli görünüyor?

Büyük olasılıkla varsayılan MEAN piramit politikasını kullandınız. Sınıflandırma görüntüleri için MODE piramit oluşturma politikası, kalite güvencesi/bit maskesi görüntüleri için ise SAMPLE piramit oluşturma politikası kullanılmalıdır.

Şu hatayı alıyorum: Veri değeri yok -128.0, Short<0, 255> türündeki 0 numaralı banda uygulanamaz.

GDAL, tek baytlık bantları işaretli tam sayılar içeriyor olarak değerlendiremediğinden bu tür bantları işaretsiz tam sayılar olarak okur. Bu, negatif veri yok değerleriyle çakışır.

Değerleriniz aslında işaretli tam sayılarsa manifest yükleme'yi kullanın ve dosyanızı içeren tileset bölümüne şunu ekleyin: data_type: "INT8"

Değerleriniz işaretsiz tam sayılarsa dosyanızda hatalı bir nodata değeri vardır. Yükleme sırasında doğru veri değeriyle (veya varsa hiçbir zaman gerçekleşmeyen bir değerle) geçersiz kılabilirsiniz. Veri yok değerini değiştirmek için gdal_translate -a_nodata, kaldırmak için gdal_edit.py -unsetnodata kullanabilirsiniz.

GeoJSON veya desteklenmeyen başka bir vektör biçimindeki dosyaları nasıl yükleyebilirim?

OGR uyumlu biçimleri CSV veya SHP'ye dönüştürmek için ogr2ogr aracını kullanın. Örnek:

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

CSV yüklemelerinde geometri sütununun GeoJSON içerebileceğini unutmayın.

Python kullanarak veri yüklemek veya aynı anda birden fazla dosya yüklemek istiyorum.

Komut satırı yükleme özelliğini kullanın. Bu tür yüklemelerde, kaynak dosyaların önce bir GCS (Google Cloud Storage) paketine yerleştirilmesi gerekir. Ücretsiz katman sınırları içinde kaldığınız sürece GCS kullanımı için ücret ödemezsiniz. Fiyatlandırma sayfasını inceleyin.

Birçok parçaya bölünmüş büyük bir raster mozaik yüklemek istiyorum.

Dosyaların tümü aynı projeksiyona ve piksel boyutuna sahipse bunları aynı öğeye birlikte yüklemeniz yeterlidir. Otomatik olarak mozaik oluşturulur.

Dosyaların farklı projeksiyonları veya piksel boyutları varsa tek bir raster öğe halinde mozaiklenemezler. Bunun yerine, her bir parçayı aynı ImageCollection içine ayrı bir öğe olarak yükleyin. Bu öğeler, ImageCollection.mosaic() kullanılarak mozaik haline getirilebilir.

Mozaik yüklemeye çalışıyorum ve eşleşmeyen karolarla ilgili hatalar alıyorum.

Earth Engine raster mozaiklerinin karoları aynı projeksiyona ve piksel boyutuna sahip olmalıdır. Ayrıca karolar, piksel sınırlarıyla tam olarak hizalanmalıdır.

GCS paketinden dosya yüklemeye çalışıyorum ancak Earth Engine dosyayı bulamıyor.

GCS yüklemesi ve Earth Engine'e bağlanmak için farklı Google Hesapları kullanmış olabilirsiniz. GCS dosyasının, Earth Engine'e bağlanmak için kullandığınız hesap tarafından okunabildiğinden emin olun. Tarayıcıda birden fazla hesapla oturum açmak kafa karıştırıcı oluyorsa Earth Engine'e gizli tarayıcı penceresinden bağlanın.

Aynı anda birden fazla öğeyi dışa aktarmak istiyorum.

Her resmi ayrı ayrı dışa aktarmanız gerekir.

Tek bir komutla bir Folder veya ImageCollection taşımak ya da silmek istiyorum.

earthengine rm -r, bir klasörü veya koleksiyonu ve içindeki her şeyi siler ancak öğeleri tek tek sildiği için büyük bir koleksiyonun silinmesi saatler sürebilir. Daha hızlı ilerlemek için alt öğeleri bir komut dosyasından paralel olarak silin ve ardından üst öğeyi silin (büyük koleksiyonlarla çalışma bölümüne bakın). Aynı yaklaşım, tüm düz koleksiyonlar veya klasörler için de geçerlidir. Başka klasörler veya koleksiyonlar içeren bir klasör, boşaltılmadan silinemeyeceği için aşağıdan yukarıya doğru boşaltılmalıdır. Taşımak için mv simgesini aynı şekilde kullanın.

Earth Engine verilerine EE dışından doğrudan erişmek istiyorum.

QGIS'te bir Earth Engine eklentisi bulunur.

GDAL'de Earth Engine sürücüsü bulunur.

Diğer sistemler EE REST API'yi kullanabilir.

Earth Engine öğemin bir kısmını tamamen yeniden beslemeden güncellemek istiyorum.

EE'ye yüklenen raster veya vektör verileri güncellenemez. Yalnızca öğe meta veri özellikleri güncellenebilir. COG destekli öğeler bu kuralın dışındadır. Üzerine yazma etkinleştirilmiş şekilde yeniden kaydederek bu öğeleri güncellenmiş bir Cloud Storage dosyasına yönlendirebilirsiniz.

Hesabıma erişimi kaybediyorum. Öğelerimle ne yapmalıyım?

Orijinal hesabın politikaları veri aktarımına izin veriyorsa lütfen öğelerinizi başka bir hesapla paylaşın, ardından öğeleri yeni hesabın sahip olacağı şekilde kopyalayın. Taşınacak çok sayıda öğe varsa komut satırı kopyalama yardımcı programını kullanın.

Bir hesap silinirse bu hesaba ait öğelere artık erişilemez.

Dışa aktarılan resmim yanlış yerde.

Sinüzoidal veya konik gibi bazı projeksiyonlarda GeoTIFF dosyaları bazen gerekli tüm projeksiyon parametrelerini depolayamaz. Bu durum, masaüstü Coğrafi Bilgi Sistemi araçlarında görüntülendiğinde veya EE'ye yeniden beslendiğinde yanlış yerde görünen bir dışa aktarılan dosyaya neden olur.

Bu sorunu düzeltmek için GeoTIFF dosyalarıyla iyi çalıştığı bilinen bir dışa aktarma crs parametresi belirtin. Örneğin, ilgilendiğiniz alanı içeren UTM bölgesi için EPSG kodunu kullanın.

Dışa aktarılan özellik koleksiyonu öğeleri, ayarladığım özellikleri korumuyor.

Hiçbir Export.table.* işlevi, çıkışta tablo düzeyindeki özellikleri korumaz. Birçok çıktı biçiminde (ör. CSV, GeoJSON) bu tür meta veriler desteklenmez. Export.table.toAsset işlevi, tablo düzeyindeki özellikleri destekleyebilir ancak şu anda desteklemiyor.

Drive'a CSV biçiminde aktarılan tablolar XLSX biçimine dönüştürülür.

Google Drive ayarlarınıza bağlı olarak, Earth Engine'den dışa aktardığınız CSV tabloları, veri türü dönüşümleri gibi istenmeyen etkilerle XLSX dosyalarına dönüştürülebilir. Sonraki dışa aktarma işlemlerinin davranışını değiştirmek için aşağıdaki adımları uygulayın.

  1. Google Drive web'de sağ üstteki Ayarlar dişli simgesini tıklayın.
  2. Ayarlar’ı tıklayın.
  3. "Yüklenen dosyaları Google Dokümanlar düzenleyicisi biçimine dönüştür" seçeneğine gidin ve bu seçeneğin işaretini kaldırın.

Bulut için optimize edilmiş GeoTIFF'ler (COG'ler)

Daha fazla bilgi için COG'ye genel bakış ve COG kayıt kılavuzuna bakın.

COG destekli bir öğe paylaştım ancak ortak çalışanlarım izin hatası alıyor.

COG destekli öğeler, Cloud Storage paketinizdeki dosyalara işaret eder. Bu nedenle, ortak çalışanların hem Earth Engine öğesine hem de pakete okuma erişimi olması gerekir. Pakette, bu kullanıcılara Storage Object Viewer ve Storage Bucket Viewer rollerini verin. Aksi takdirde, görebilecekleri bir öğede izin hatası oluşması genellikle bu iki rolden birinin eksik olduğu anlamına gelir. İzinleri yapılandırma başlıklı makaleyi inceleyin.

COG öğelerini depolamak için hangi Cloud Storage paketi konumunu kullanmalıyım?

Yalnızca birkaç ABD konumu desteklenir ve Earth Engine, başka yerlerdeki paketler için kayıt ve okuma isteklerini reddeder. Desteklenen paket konumlarına bakın.

Cloud Storage'da bir COG dosyasını değiştirdim. Öğe neden yüklenemiyor veya hâlâ eski verileri gösteriyor?

Bir COG kaydettiğinizde Earth Engine, dosyanın nesne oluşturma (sürüm) işlemini sabitler. Bu nedenle, dosyanın üzerine yazmak öğeyi güncellemez. Öğeyi aynı adla ve üzerine yazma etkinleştirilmiş olarak yeniden kaydedin. Önce silmeniz gerekmez. COG destekli öğeleri güncelleme, değiştirme ve silme başlıklı makaleyi inceleyin.

COG destekli öğemin bir dosyanın hangi sürümüne işaret ettiğini nasıl anlayabilirim?

Öğenin meta verileri (ee.data.getAsset()), sabitlenmiş nesli dosyanın URI'sinde bir son ek olarak gösterir. Nesne nesilleri bölümüne bakın.

Cloud Storage'daki bir COG dosyasını siler ancak Earth Engine öğesini silmezsem veya tam tersini yaparsam ne olur?

Bunlar bağımsızdır. Earth Engine öğesini sildiğinizde Cloud Storage'daki dosyalarınıza dokunulmaz. Dosyayı sildiğinizde ise öğe yerinde kalır ancak pikselleri normalde okunamaz hale gelir. Bağımsız yaşam döngüleri bölümüne bakın.

COG destekli büyük bir ImageCollection öğesini silmenin veya değiştirmenin en hızlı yolu nedir?

Earth Engine API'de toplu veya yinelemeli silme işlemi yoktur ve earthengine rm -r her seferinde bir öğeyi siler. Resimleri değiştiriyorsanız silmek yerine üzerine yazma etkinleştirilmiş şekilde yeniden kaydedin. Siliyorsanız bir komut dosyasından paralel hale getirin. Yaklaşım ve komut dosyası için Büyük koleksiyonlarla çalışma başlıklı makaleyi inceleyin.

COG kaydım neden Görevler sekmesinde görünmüyor?

COG kaydetme işlemi, yalnızca dosyanın meta verilerini dizine ekleyen eşzamanlı bir API çağrısıdır. Toplu besleme işi olmadığından görev oluşturmaz. Öğe, çağrı döndürüldüğünde Öğeler sekmesinde kullanılabilir. Kayıt isteğini gönderme bölümünü inceleyin.

Birden fazla COG dosyasını tek bir Earth Engine öğesinde birleştirebilir miyim?

Yalnızca her dosya aynı sahnenin farklı bantlarını içerdiğinde: Her dosyayı manifest dosyasında kendi karo grubu olarak listeleyin ve bantları karo gruplarıyla eşleyin. Mekansal olarak bitişik dosyaları tek bir COG destekli öğe olarak mozaikleyemezsiniz. Her dosyayı ee.ImageCollection içinde kendi resmi olarak kaydedin ve mosaic() yöntemini çağırın. Manifest kısıtlamaları bölümüne bakın.

COG destekli öğeler hangi sıkıştırma şemalarını, karo boyutlarını ve piksel türlerini kullanabilir?

Desteklenen sıkıştırma şemaları, karo boyutları ve piksel veri türleri için harici COG'leri hazırlamayla ilgili en iyi uygulamalara göz atın. Earth Engine'in doğrudan COG olarak okuyamadığı sıkıştırma biçimlerindeki dosyalar standart öğe olarak yüklenebilir.

"TIFF meta verileri ilk 10.000.000 baytta okunamadı" hatası alıyorum.

Earth Engine, bir dosyayı yüklerken veya kaydederken yalnızca dosyanın başlangıcını okur. Çok sayıda parçası olan büyük resimler ve kesilmiş dosyalar bu sınırı aşar. Sınır ve bu sınırın altında kalma hakkında bilgi edinmek için dosya boyutlarını seçme bölümüne bakın.

Dosya değiştiğinde ee.Image.loadGeoTIFF(), kayıtlı bir öğeden nasıl farklılaşır?

ee.Image.loadGeoTIFF(), her hesaplama veya harita parçası isteğinde dosyanın güncel sürümünü okur. Bu nedenle, değişiklikleri alır (oluşturulan harita parçaları önbelleğe alındığı için haritada düzensiz bir şekilde). Kayıtlı bir öğe her zaman kaydedildiği nesli sabitler ve yeni bir dosya görmek için yeniden kaydedilmesi gerekir. Ancak bunun karşılığında, öğenin ayak izi ve meta verileri dizine eklenir. Bu sayede öğe, büyük koleksiyonlarda kullanılabilir hale gelir. Cloud Storage'dan COG'leri okuma başlıklı makaleyi inceleyin.

Kod Düzenleyici

Kod Düzenleyici'de oturum açamıyorum çünkü yanlış hesabı kullanmamı istiyor.

Çıkış yapın, "Hesap seçin" sayfasında Earth Engine'i kullanmak için kayıtlı hesabı seçin ve ardından ikinci "Earth Engine Kod Düzenleyici'ye devam etmek için bir hesap seçin" sayfasında aynı hesabı tekrar seçin (tam ifade farklı olabilir).

Dünya haritasının ekran görüntüsünü almak istiyorum ancak Web Mercator projeksiyonunu beğenmiyorum.

Kod Düzenleyici'de kullanılan harita projeksiyonu Web Mercator'dır ('EPSG:3857'). Ekvatordan uzaklaştıkça nesnelerin boyutunu büyütür. Bu nedenle, yüksek enlem bölgeleri ekvatora yakın bölgelere kıyasla gerçekte olduğundan çok daha büyük görünür. Kod Düzenleyici'nin harita tuvalinin projeksiyonunu değiştiremezsiniz ancak ee.Image.changeProj yöntemini kullanarak seçtiğiniz projeksiyondaki bir görüntüyü Web Mercator tuvaline "boyayabilirsiniz". Robinson projeksiyonunda Kod Düzenleyici haritasında global bir DEM görüntüleme örneği için yöntemin API referans sayfasını inceleyin. Kod Düzenleyici'nin denetleyici ve çizim araçları hâlâ Web Mercator'da çalıştığından bu tekniğin yalnızca görselleştirme amacıyla kullanılması gerektiğini unutmayın.

Senaryom kaydedilmiyor (Script error: Unknown commit).

Bir komut dosyasını kaydederken Script error: Unknown commit mesajı alırsanız bu, kaydettiğiniz deponun senkronize edilmediği anlamına gelebilir. Bu durumun nedeni değişkendir ve belirlenmesi zordur. Sorunu çözmek için Senaryo sekmesinin sağ üst köşesindeki düğmeyi kullanarak senaryo listesini yenilemeyi deneyin. Bu işe yaramazsa Komut Dosyası sekmesindeki Yeni düğmesinden yeni bir depo oluşturup komut dosyanızı buraya kaydetmeyi deneyin (komut dosyalarını senkronize edilmeyen depodan yeni depoya taşımanız gerekebilir).

Kod Düzenleyici'de neden tekrar eden 400 hataları görüyorum?

Kod Düzenleyici'de tekrar eden 400 hataları görüyorsanız https://myaccount.google.com/connections adresine gidin, uygulama ve hizmetler listesinde"Earth Engine Code Editor "ü bulup seçin, ardından "Earth Engine Code Editor ile olan tüm bağlantılarınızı silin"i seçip onaylayın. Ardından Kod Düzenleyici'yi açıp yeniden kimlik doğrulaması yapın.

Silinen komut dosyalarını ve klasörleri nasıl kurtarabilirim?

Mevcut bir depodaki bir komut dosyasını veya klasörü yanlışlıkla silerseniz tam kayıt geçmişi, sunucularımızdaki Git günlüklerinde korunur. Standart Git komut satırı araçlarını kullanarak depoyu yerel olarak klonlayıp silinen komut dosyalarını veya klasörleri geri yükleyebilirsiniz.

Ancak bir deponun (users/username/repository) tamamını silmek, depoyu ve kayıt geçmişini earthengine.googlesource.com üzerinden kalıcı olarak kaldırır. Bu işlem geri alınamaz veya kurtarılamaz.

Git kimlik bilgilerini oluşturma, deponuzu klonlama ve silinen dosya veya klasörleri geri yükleme ile ilgili adım adım talimatlar için Komut dosyası kurtarma ve depo geçişi geçiş rehberine bakın.

Komut dosyası deposu kök dizinimi nasıl yeniden adlandırabilirim?

Komut dosyası kök dizininiz (users/username), orijinal Earth Engine hesabı kaydınıza bağlıdır. Arka uçta doğrudan yeniden adlandırılamaz. Aksi takdirde, modüler kodunuzu require('users/username/repository:...') yolunu kullanarak içe aktaran harici komut dosyaları veya ortak çalışan projeleri bozulur.

Yeni bir ad alanına ihtiyacınız varsa desteklenen geçici çözüm, çalışmanızı yeni bir hesaba taşımaktır:

  1. Yeni Google kimliğinizi kullanarak yeni bir Earth Engine hesabı oluşturun (bu işlem, temiz bir users/new_username kökü oluşturur).
  2. Eski deponuzu klonlamak ve tüm geçmişini yeni boş depoya aktarmak için depo taşıma talimatlarını uygulayın.

Dikkat Edilecek Önemli Noktalar:

  • Herkese açık modüller: Diğer kullanıcıların kullandığı herkese açık modülleriniz varsa iş akışlarını kesintiye uğratmamak için eski hesabınızı ve deponuzu etkin tutmanızı önemle tavsiye ederiz.
  • Özel komut dosyaları: Komut dosyalarınız tamamen özelse require() içe aktarma ifadelerinizi yeni depo yoluna referans verecek şekilde güncelleyebilir ve ardından eski depoları güvenle silebilirsiniz.