Komut Satırı Aracı

earthengine aracı, Earth Engine öğelerini ve görevlerini komut satırından yönetmenize olanak tanıyan bir yardımcı programdır. Python API'yi yüklediğinizde otomatik olarak yüklenir. Aracın yüklü olup olmadığını ve düzgün çalışıp çalışmadığını kontrol etmek için komut satırına aşağıdakileri yazın:

    earthengine

Araç düzgün şekilde yüklendiyse kullanılabilir komutların kısa bir özetini yazdırır. Belirli bir komutla ilgili yardım almak için şunu kullanın:

    earthengine command -h

Python API'yi ilk kez yüklediğinizde aşağıda açıklanan authenticate komutunu kullanarak oturum açmanız gerekir. Aşağıdaki bölümlerde, kullanılabilir komutlar daha ayrıntılı olarak açıklanmaktadır.

Hizmet hesabı kimlik bilgileri

CLI'yı bir hizmet hesabının kimlik bilgileriyle kullanmak için service_account_file işaretini kullanarak hizmet hesabının anahtarını içeren bir JSON dosyasına işaret edin.

    earthengine --service_account_file=service_account_creds.json

Colab'de kullanım

Earth Engine komut satırı aracı, Google Colab'de önceden yüklenmiş ve kullanıma hazır durumdadır.

Kimlik doğrulama

Her yeni Colab oturumu için veya sanal makinenin süresi işlem yapılmadığı için dolarsa kimlik doğrulaması yapın (kimlik bilgileri oturumlar arasında kaydedilmez).

Python istemci kitaplığını içe aktarın ve kimlik doğrulama akışını tetiklemek için ee.Authenticate() yöntemini çağırın. Kimlik doğrulama işlemini tamamlamak için talimatları uygulayın. Colab'de varsayılan auth_mode, colab'dir. Diğer seçenekler için Kimlik doğrulama kılavuzuna bakın.

import ee
ee.Authenticate()

Komut yürütme

Earth Engine CLI gibi komut satırı yardımcı programlarını çalıştırmak için komut çağrılarının önüne ünlem işareti eklemeniz gerekir.

!earthengine -h

Cloud projesi ayarlama

Her bir earthengine komutu için bir Cloud projesi ayarlamak üzere --project seçeneğini kullanın.

!earthengine --project my-project <command>

Alternatif olarak, set_project komutunu kullanarak tüm earthengine çağrıları tarafından kullanılacak varsayılan bir proje ayarlayın. Proje, bir kimlik bilgileri dosyasına (~/.config/earthengine/credentials) eklenir ve --project seçeneğiyle geçersiz kılınmadığı sürece sonraki komutlar için kullanılır. Her yeni Colab oturumu için veya sanal makinenin etkin olmaması nedeniyle süresi dolarsa varsayılan bir proje ayarlayın (kimlik bilgileri oturumlar arasında kaydedilmez).

!earthengine set_project my-project

Komut Referansı

kimlik doğrulamak

Komut satırı aracının ve Python istemci kitaplığının Earth Engine'de kimliğini doğrular. Örnek:

    earthengine authenticate

Earth Engine, istemcilerin kimliğini doğrulamak için OAuth 2.0 protokolünü kullanır. earthengine authenticate komutu, web tarayıcınızı kullanarak kimlik doğrulama sürecinde size yol gösterir.

Varsayılan gcloud kimlik doğrulama modunu kullanıyorsanız gcloud'u yüklemeniz gerekir. Kimlik doğrulama kılavuzunda auth_mode parametresiyle kullanılabilen diğer kimlik doğrulama modlarına bakın.

acl

Bir Earth Engine öğesinin erişim kontrol listesini (ACL) yazdırır veya günceller. ACL, bir öğeyi kimlerin okuyabileceğini veya yazabileceğini kontrol eder. Örnekler:

    earthengine acl get projects/my-project/assets/asset_id
    earthengine acl set public projects/my-project/assets/asset_id
    earthengine acl ch -u username@gmail.com:R projects/my-project/assets/asset_id

get alt komutu, ACL'nin JSON açıklamasını yazdırır. set alt komutu, aynı JSON biçimindeki bir dosyada sağlanan EKL'yi ayarlar. get komutunun çıkışını kaydedip set komutuna sağlayarak bir öğenin erişim denetim listesini diğer öğelere kopyalayabilirsiniz.

set alt komutu iki özel ACL adını da kabul eder:

  • private: Sahip dışındaki herkesin izinlerini kaldırır.
  • public: Tüm kullanıcılara okuma izni verir.

ch alt komutu, bir ACL'de tek tek değişiklik yapmanıza olanak tanır. Okuma izni vermek için -u username@gmail.com:R, yazma izni vermek için -u username@gmail.com:W ve bir kullanıcının izinlerini kaldırmak için -d username@gmail.com değerini belirtin. Özel kullanıcı kimliği AllUsers, tüm kullanıcılara okuma izni vermek veya tüm kullanıcıların okuma iznini iptal etmek için kullanılabilir. (AllUsers izinlerinin iptal edilmesi, tek tek kullanıcılara vermiş olabileceğiniz ek izinleri iptal etmez.)

öğe

Earth Engine öğesiyle ilişkili meta verileri yazdırır veya günceller. Örnekler:

    earthengine asset info projects/my-project/assets/asset_id
    earthengine asset set -p name=value projects/my-project/assets/asset_id
    earthengine asset setbands projects/my-project/assets/asset_id band1 band2

info alt komutu, öğe hakkında meta verileri de dahil olmak üzere ayrıntılı bilgileri JSON biçiminde yazdırır. set alt komutu, bir öğe üzerinde ayrı meta veri özellikleri ayarlar. setbands alt komutu, bir öğenin bant adlarını günceller.

Ayarladığınız meta veri özelliklerinin değerleri sayı veya dize olabilir. --property veya -p işaretini kullanarak özellik adlarını ayarlarken özellik adını ve değerini eşittir işaretiyle ayırın. Veri türü otomatik olarak algılanır veya özellik adının önüne (string), (number) ya da (date) ekleyerek veri türünü açıkça belirtebilirsiniz. Örneğin, bu kod dize değerli bir özelliği "42" değerine ayarlar:

    earthengine asset set -p '(string)name=42' projects/my-project/assets/asset_id

(Bu örnekteki tırnak işaretleri, kabuğun parantezleri yorumlamasını engeller. Kabuğunuza ve platformunuza bağlı olarak gerekli olabilir veya olmayabilir.)

Sınıflandırma bandı görselleştirmeleri için özel özellikler oluşturmak istiyorsanız değer ve renk listelerini virgülle ayrılmış dizeler olarak depolayabilirsiniz. Örneğin, landcover adlı bir bandın palet ve sınıf değerlerini ayarlamak için:

    earthengine asset set -p 'landcover_class_palette=ff0000,00ff00,0000ff' projects/my-project/assets/asset_id
    earthengine asset set -p 'landcover_class_values=1,2,3' projects/my-project/assets/asset_id

Bir özelliği silmek için tür belirtmeden null olarak ayarlayın:

    earthengine asset set -p name=null projects/my-project/assets/asset_id

Tarih özellikleri, Unix epoch'tan (yani 1 Ocak 1970 gece yarısından) bu yana geçen milisaniye sayısını temsil eden sayılardır ve doğrudan sayı olarak veya aşağıdaki biçimlerden birinde belirtilebilir:

    YYYY-MM-DD
    YYYY-MM-DDThh:mm:ss
    YYYY-MM-DDThh:mm:ss.f

Saat diliminin UTC olduğu varsayılır. --time_start ve --time_end işaretlerini kullanarak özel başlangıç ve bitiş zamanı özelliklerini ayarlayabilirsiniz:

    earthengine asset set --time_start 1978-10-15T12:34:56 projects/my-project/assets/asset_id

cp

Bir öğeyi kopyalar. Örnek:

    earthengine cp projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id

create

Yeni klasörler ve resim koleksiyonları oluşturur. Örnek:

    earthengine create folder projects/my-project/assets/folder_id
    earthengine create collection projects/my-project/assets/collection_id

Klasör oluşturmak için folder alt komutunu, görüntü koleksiyonları oluşturmak için ise collection alt komutunu kullanın. Üst klasörleri gerektiği gibi yinelemeli olarak oluşturmak için -p seçeneğini belirtebilirsiniz. Yeni oluşturulan klasörler ve resimler varsayılan olarak gizli ACL'lere sahiptir.

ls

Bir veya daha fazla klasör ya da koleksiyonun içeriğini listeler. Örnek:

    earthengine ls users/username

-l seçeneği, her öğe hakkında daha fazla bilgi (şu anda yalnızca türü) içeren uzun bir biçim ister. Listelediğiniz her klasör veya koleksiyondaki öğe sayısını sınırlamak için --max_items number (veya kısaca -m) belirtebilirsiniz:

    earthengine ls -m 10 projects/my-project/assets/my_large_collection

ls komutunu bağımsız değişken olmadan çalıştırdığınızda, sahip olduğunuz üst düzey klasörler listelenir.

model

TensorFlow'da kaydedilen modelleri değiştirmek için kullanılan araç.

model prepare

Kaydedilmiş bir modeli Earth Engine'da sunulmak üzere hazırlama Bu işlem, SavedModel verilerinizi Earth Engine'den gelen istekleri işlemek için uygun bir biçime dönüştürür. (SavedModel hakkında daha fazla bilgi edinin.)

    earthengine model prepare my_source_dir my_dest_dir '{"Conv2D:0":"my_input_band"}' '{"Sigmoid:0":"my_output_band"}'

AI Platform modelleri hakkında daha fazla bilgiyi burada bulabilirsiniz. Eksiksiz bir örneği burada görebilirsiniz.

mv

Bir öğeyi taşır veya yeniden adlandırır. Örnek:

    earthengine mv projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id

project_config

Proje yapılandırma değerlerini ayarlar. Bu komutu kullanmadan önce set_project komutunu kullanarak bir proje ayarladığınızdan emin olun.

get

Proje yapılandırmasını görüntülemek için get alt komutunu kullanın:

    earthengine alpha project_config get

Projenin toplu görev ayarlarını görüntüleme izniniz varsa çıkışta şunlar yer alır:

  • maxConcurrentExports: Belirli bir proje için tüm kullanıcılar genelinde paralel olarak çalıştırılabilecek maksimum toplu görev sayısını gösteren bir sayı. Varsayılan olarak bu, ilişkili faturalandırma hesabının abonelik planı tarafından izin verilen maksimum değere ayarlanır.

Ayrıca, plan yapılandırmasını görüntüleme izniniz varsa çıkışta şunlar yer alır:

  • planMaxConcurrentExports: Faturalandırma hesabını kullanan tüm kullanıcılar ve projeler genelinde paralel olarak çalıştırılabilecek maksimum toplu görev sayısını gösteren bir sayı.

grup

Projenin yapılandırmasını güncellemek için set alt komutunu kullanın. Aşağıdaki ayarlar yapılandırılabilir:

Örneğin, bir projeyi belirli bir proje için aynı anda yalnızca 10 görevin çalışmasına izin verecek şekilde yapılandırmak için:

    earthengine alpha project_config set --max_concurrent_exports=10

Çıkışta, get tarafından döndürülenle aynı olan güncellenmiş proje yapılandırması gösterilir.

Toplu görev paralelliği hakkında daha fazla bilgi için Earth Engine kotaları sayfasını inceleyin.

rm

Bir veya daha fazla öğeyi siler. Örnek:

    earthengine rm projects/my-project/assets/asset_id
    earthengine rm -r projects/my-project/assets/folder_id

Bir klasörün veya koleksiyonun içeriğini yinelemeli olarak silmek için -r işaretini kullanabilirsiniz. Birden fazla öğeyi silerken güvenlik için --dry_run işaretini kullanarak hiçbir şeyi silmeden tam olarak nelerin silineceğini doğrulayabilirsiniz.

set_project

Hesaplama isteklerinin yönlendirildiği Google Cloud projesini ayarlar.

    earthengine set_project foo-project

Bu komut, bulut işlevleri gerektiren komutlar (ör. model) çalıştırılmadan önce gereklidir.

görev

Uzun süren görevler hakkında bilgi yazdırır veya bu görevleri yönetir. Örnekler:

    earthengine task list
    earthengine task list -l
    earthengine task info TASK_ID
    earthengine task cancel TASK_ID

list alt komutu, yakın zamanda gönderdiğiniz görevlerle ilgili temel bilgileri listeler. -l seçeneği, her görev hakkında daha fazla bilgi içeren uzun bir biçim ister. info alt komutu, her bir görevle ilgili ayrıntılı bilgileri yazdırır. cancel alt komutu, çalışan bir veya daha fazla görevi iptal eder.

yükle

Google Cloud Storage'dan Earth Engine'e resim veya tablo yükler ya da Cloud Storage'daki Cloud Optimized GeoTIFF'leri (COG) COG destekli öğeler (harici resimler) olarak kaydeder.

resim

Varsayılan ayarları kullanarak resim öğesi yüklemek için:

    earthengine upload image --asset_id=projects/my-project/assets/asset_id gs://bucket/image.tif

Birden fazla giriş resmi dosyası belirtirseniz bunlar tek bir resim öğesinin parçaları olarak yorumlanır. Earth Engine'e resim yükleme seçenekleri hakkında daha fazla bilgiyi Resim öğeleri yükleme: Gelişmiş seçenekler bölümünde bulabilirsiniz.

Piramit küçültme politikasını --pyramiding_policy işaretini kullanarak belirtebilirsiniz. Bu işaret mean (varsayılan), sample, mode, min veya max değerlerinden birine ayarlanabilir. Bu, Earth Engine'ın resminizin daha düşük çözünürlüklü sürümlerinin piramidini nasıl oluşturacağını kontrol eder:

    earthengine upload image --asset_id=projects/my-project/assets/asset_id --pyramiding_policy=sample gs://bucket/image.tif

Görüntü maskesinin son banttaki alfa kanalından alınması gerektiğini belirtmek için --last_band_alpha kullanabilirsiniz:

    earthengine upload image --asset_id=projects/my-project/assets/asset_id --last_band_alpha gs://bucket/image.tif

--nodata_value işaretini kullanarak veri içermeyen bir değer belirtebilirsiniz. Bu işlem, resimdeki bu değere sahip tüm pikselleri maskeler:

    earthengine upload image --asset_id=users/myuser/asset --nodata_value=255 gs://bucket/image.tif

Yukarıda açıklanan asset set komutu tarafından kabul edilen işaretleri kullanarak öğede ayarlanacak meta veri özelliklerini de belirtebilirsiniz. Seçenekler, Image Manifest kılavuzunda da açıklanmıştır.

masa

Google Cloud Storage'dan bir Earth Engine tablo öğesine Shapefile, CSV veya TFRecord yüklemek için aşağıdakilerden birini kullanabilirsiniz:

    earthengine upload table --asset_id=projects/my-project/assets/myUploadedShapefile gs://bucket/foo.shp
    earthengine upload table --asset_id=projects/my-project/assets/myUploadedCSV gs://bucket/foo.csv
    earthengine upload table --asset_id=projects/my-project/assets/myUploadedTFRecord gs://bucket/foo.tfrecord

CSV ve TFRecord dosyalarının yorumlanma şekliyle ilgili birçok seçenek vardır. Tablo yükleme seçeneklerinin tam listesini Tablo Manifesti kılavuzunu ziyaret ederek veya şu komutu kullanarak görebilirsiniz:

    earthengine upload table -h

external_image

Cloud Storage'daki bir Cloud Optimized GeoTIFF'i (COG) COG destekli bir öğe (API'de harici resim olarak adlandırılır) olarak kaydetmek için manifest içeren upload external_image komutunu çalıştırın:

earthengine upload external_image --manifest /tmp/foo.json

Mevcut bir öğenin üzerine yazmak için --force ekleyin. Örneğin, öğeyi dosyasının yeni bir sürümüne yönlendirmek için bunu yapabilirsiniz (COG destekli öğeleri güncelleme bölümüne bakın).

Örnek bir manifest:

{
  "name": "projects/{project}/assets/cogdemo1",
  "tilesets": [
    { "id": "0", "sources": [{ "uris": ["gs://ee-docs-demos/COG_demo.tif"] }] }
  ],
  "properties": {
    "source": "https://code.earthengine.google.com/d541cf8b268b2f9d8f834c255698201d"
  },
  "startTime": "2016-01-01T00:00:00.000000000Z",
  "endTime": "2016-12-31T15:01:23.000000000Z"
}

Manifest oluşturma hakkında daha fazla bilgi için COG kayıt kılavuzu ve görüntü manifesti kılavuzuna bakın.