App Engine ve Earth Engine'a Genel Bakış

Google App Engine, Google'ın sunucularında kendi özel uygulamalarınızı geliştirip çalıştırmanıza olanak tanır. App Engine uygulamalarını oluşturmak, yönetmek ve ölçeklendirmek kolaydır. Bu uygulamalar, trafik ve veri depolama ihtiyaçlarınız değiştikçe kolayca uyarlanabilir. Uygulamanızın kaynak kodunu yüklemeniz yeterlidir. App Engine için uygulama geliştirmeye yeni başladıysanız devam etmeden önce App Engine Python veya Node.js hızlı başlangıç kılavuzlarına göz atın.

Earth Engine ve App Engine, ölçeklenebilir coğrafi uygulamalar oluşturmak için birlikte kullanılabilir. App Engine kodunuz genellikle Earth Engine Python istemci kitaplığını içerir ve hizmet hesabı kullanarak Earth Engine arka ucuna istek gönderir. Bu, herkesin oturum açmadan veya kayıtlı bir Earth Engine kullanıcısı olmadan uygulamanızı kullanmasına olanak tanıdığı için avantajlıdır. Standart Earth Engine kullanım sınırlarının her hizmet hesabı için geçerli olduğunu unutmayın.

Başka bir geliştirme yaklaşımı, hizmet hesabı yerine istemci tarafı kimlik doğrulama kullanmaktır. Bu yaklaşımda, uygulamanızın ziyaretçilerinin Earth Engine'a kayıtlı olması ve oturum açması gerekir. Bu yaklaşımın avantajı, Earth Engine'a yapılan isteklerin son kullanıcının kimlik bilgileri kullanılarak yapılmasıdır. Bu sayede, kullanım sınırlarını aşma olasılığınız azalır. Bununla birlikte, kullanıcılarınızın uygulamayı kullanmadan önce Earth Engine'a kaydolup oturum açması gerekir.

GitHub'daki Earth Engine App Engine demoları dizini, faydalı App Engine örnekleri içerir. Her bir örneğin kısa açıklamasını Örnek Uygulamalar sayfasında bulabilirsiniz. Bu dokümanda, oluşturduğunuz örneklerin veya özel uygulamaların nasıl ayarlanacağı ve dağıtılacağıyla ilgili talimatlar verilmektedir.

App Engine uygulamalarını Earth Engine ile dağıtma

Aşağıdaki talimatlarda, demo uygulamalarının nasıl dağıtılacağı açıklanmaktadır. Python talimatları Mac OS ve Linux içindir. Windows'ta Python kullanıyorsanız bunu deneyin.

Google Cloud projenizde Earth Engine API'yi etkinleştirme

Bir Google Cloud projesi oluşturun veya seçin ve Earth Engine API'yi bu talimatlara göre etkinleştirin.

Kimlik bilgilerini ayarlama

Hizmet Hesabı

Hizmet hesabı, uygulamanızı kullanan kullanıcı adına Earth Engine'a gönderilen isteklerin yetkilendirilmesi için kullanılabilir. config.py dosyası, hizmet hesabı e-posta adresini ve özel anahtar dosyasını kullanan kimlik doğrulama kodunu içerir. Hizmet hesabıyla kimlik doğrulama ayarlamak için hizmet hesabını ve özel anahtar dosyasını oluşturmak üzere bu talimatları uygulayın. Anahtar dosyasını .private-key.json olarak adlandırın ve proje dizininize taşıyın.

Python

Henüz yapmadıysanız önce Earth Engine Python API'yi ayarlayın. Hizmet hesabını bu talimatlara göre test edin.

Test başarılı olursa config.py dosyasını (veya kaynak kodunuzdaki eşdeğer dosyayı) hizmet hesabınızı e-posta adresinizle güncelleyin. (Anahtar dosyası proje dizininizde bulunduğu için anahtar dosyasının yolu değişmemelidir.)

Node.js

npm install'ü çalıştırarak projenin bağımlılıklarını yükleyin. Earth Engine Node.js API ve diğer tüm bağımlılar, proje dizininizdeki bir ./node_modules klasörüne kopyalanır. Yükleme başarısız olursa Node.js'in en son sürümünün yüklü olup olmadığını kontrol edin.

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

OAuth 2.0 İstemci Kimliği

Kullanıcıların kimlik doğrulamasını hizmet hesabı kullanmak yerine kendi adlarıyla yapmasını istiyorsanız Cloud projenizden bir OAuth istemci kimliği oluşturmanız gerekir. Bunu yapmak için:

  1. Bu talimatlara göre bir istemci kimliği oluşturun.
  2. Müşteri kimliğinizi kullanacak şekilde static/script.js dosyasını (veya kaynak kodunuzdaki eşdeğer bir dosyayı) güncelleyin.
  3. ee_api_js.js öğesinin /static/ dizininde (veya eşdeğerinde) bulunduğundan emin olun. doğrudan GitHub'dan indirebilir, npm'den yükleyebilir veya EE API deposunun tamamını klonladıysanız yerel dosya sisteminizdeki earthengine-api/javascript/build klasöründen kopyalayabilirsiniz.

Yerel geliştirme ortamını ayarlama

Python

Projeyi indirip derlemek için GitHub'daki her örnek dizinindeki talimatları uygulayın. build.sh dosyası varsa uygulamanızın kök klasöründen şu komutu kullanarak çalıştırın:

./build.sh

Kurulum komut dosyası, sisteminizde mevcut değilse bağımlılıklarını indirip Google komut satırı araçlarını yükler. Earth Engine Python API ve bağımlılıklarını proje dizininizdeki bir ./lib klasörüne kopyalanır.

Aşağıdaki komutu çalıştırarak App Engine komut satırı araçlarının kullanılabilir olduğunu doğrulayın:

dev_appserver.py

Komut bulunamazsa Python için Google App Engine SDK'sını manuel olarak indirip yüklemeyi deneyin. Komut mevcutsa "error: too few arguments" (hata: çok az bağımsız değişken) ile başarısız olur.

Node.js

Kurulum gerekmez.

Yerel olarak çalıştırma

Hizmet hesabınız Earth Engine erişimi için kaydettirildikten sonra, örnekleri test ederken kimlik doğrulama için bu hesabı kullanabilirsiniz (config.py bölümüne bakın). Proje dizininize gidip aşağıdakileri çalıştırarak önce örnekleri yerel olarak test etmeyi deneyin:

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

Uygulamanın yerel bir sunucuda çalıştığını görmek için tarayıcınızı http://localhost:8080 adresine yönlendirin. Yaptığınız (ve kaydettiğiniz) tüm değişiklikler, sayfayı yenilediğinizde otomatik olarak alınır.