നിങ്ങളുടെ ഗൂഗിൾ എർത്ത് എഞ്ചിൻ ജാവാസ്ക്രിപ്റ്റ് എങ്ങനെ വേഗത്തിൽ പ്രവർത്തിപ്പിക്കാം

Temp mail SuperHeros
നിങ്ങളുടെ ഗൂഗിൾ എർത്ത് എഞ്ചിൻ ജാവാസ്ക്രിപ്റ്റ് എങ്ങനെ വേഗത്തിൽ പ്രവർത്തിപ്പിക്കാം
നിങ്ങളുടെ ഗൂഗിൾ എർത്ത് എഞ്ചിൻ ജാവാസ്ക്രിപ്റ്റ് എങ്ങനെ വേഗത്തിൽ പ്രവർത്തിപ്പിക്കാം

ഗൂഗിൾ എർത്ത് എഞ്ചിൻ സ്ക്രിപ്റ്റുകളുടെ എക്സിക്യൂഷൻ സമയം ഒപ്റ്റിമൈസ് ചെയ്യുന്നു

വലിയ തോതിലുള്ള ജിയോസ്പേഷ്യൽ ഡാറ്റ വിശകലനം ചെയ്യുന്നതിനുള്ള ശക്തമായ പ്ലാറ്റ്ഫോമാണ് ഗൂഗിൾ എർത്ത് എഞ്ചിൻ (GEE). എന്നിരുന്നാലും, ഉപയോക്താക്കൾക്ക് അവരുടെ സ്ക്രിപ്റ്റുകൾ അടിസ്ഥാനപരമായി ദൃശ്യമാകുമ്പോൾ പോലും, എക്സിക്യൂഷൻ സമയവുമായി ബന്ധപ്പെട്ട് പലപ്പോഴും പ്രശ്നങ്ങൾ നേരിടേണ്ടിവരുന്നു. പ്രവർത്തിക്കാൻ കുറച്ച് സമയമെടുക്കുന്ന സ്ക്രിപ്റ്റ് ഉൽപ്പാദനക്ഷമതയെ ബാധിക്കുകയും സ്ഥിതിവിവരക്കണക്കുകൾ വൈകിപ്പിക്കുകയും ചെയ്യും.

ഈ സാഹചര്യത്തിൽ, സെൻ്റിനൽ, ലാൻഡ്‌സാറ്റ് 8 ഡാറ്റ പ്രോസസ്സ് ചെയ്യുന്നതിന് ഒരു ഉപയോക്താവ് ഒരു ലളിതമായ സ്‌ക്രിപ്റ്റ് സൃഷ്‌ടിച്ചു. അതിൻ്റെ ലാളിത്യം ഉണ്ടായിരുന്നിട്ടും, സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യാൻ ഏകദേശം 3-5 മിനിറ്റ് എടുക്കും. എന്തുകൊണ്ടാണ് ഇത് സംഭവിക്കുന്നതെന്നും സ്ക്രിപ്റ്റ് എങ്ങനെ ഒപ്റ്റിമൈസ് ചെയ്യാമെന്നും മനസ്സിലാക്കുന്നത് കാര്യക്ഷമമായ ഡാറ്റ പ്രോസസ്സിംഗിന് അത്യന്താപേക്ഷിതമാണ്.

ഒരു GEE സ്ക്രിപ്റ്റിൻ്റെ പ്രകടനം ഡാറ്റാ വലുപ്പം, ഫിൽട്ടറിംഗ്, കമ്പ്യൂട്ടേഷണൽ സങ്കീർണ്ണത എന്നിവയുൾപ്പെടെ നിരവധി ഘടകങ്ങളെ ആശ്രയിച്ചിരിക്കുന്നു. നിർവ്വഹണ സമയം കുറയ്ക്കുന്നതിൽ, അനാവശ്യ പ്രവർത്തനങ്ങൾ അല്ലെങ്കിൽ പ്രോസസ്സിംഗ് മന്ദഗതിയിലാക്കുന്ന വലിയ ഡാറ്റാസെറ്റുകൾ പോലെയുള്ള സ്ക്രിപ്റ്റിനുള്ളിലെ തടസ്സങ്ങൾ തിരിച്ചറിയുന്നത് ഉൾപ്പെടുന്നു.

ഈ ലേഖനം GEE-യിൽ സാവധാനത്തിലുള്ള എക്‌സിക്യൂഷൻ സമയത്തിൻ്റെ കാരണങ്ങൾ പര്യവേക്ഷണം ചെയ്യുകയും തന്നിരിക്കുന്ന സ്‌ക്രിപ്റ്റ് ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിനുള്ള പ്രായോഗിക നുറുങ്ങുകൾ നൽകുകയും ചെയ്യും. ഈ തന്ത്രങ്ങൾ നടപ്പിലാക്കുന്നതിലൂടെ, ഉപയോക്താക്കൾക്ക് അവരുടെ ജിയോസ്പേഷ്യൽ ഡാറ്റ വിശകലന ടാസ്ക്കുകളുടെ വേഗതയും പ്രകടനവും ഗണ്യമായി മെച്ചപ്പെടുത്താൻ കഴിയും.

കമാൻഡ് ഉപയോഗത്തിൻ്റെ ഉദാഹരണം
normalizedDifference() രണ്ട് ബാൻഡുകൾ തമ്മിലുള്ള വ്യത്യാസം കണക്കാക്കി, അവയുടെ ആകെത്തുക കൊണ്ട് ഹരിച്ചുകൊണ്ട് NDVI, NDWI, NDSI തുടങ്ങിയ സൂചികകൾ കണക്കാക്കാൻ ഈ ഫംഗ്ഷൻ ഉപയോഗിക്കുന്നു. സസ്യങ്ങൾ, ജലം, മഞ്ഞ് സൂചികകൾ എന്നിവ ആവശ്യമുള്ള റിമോട്ട് സെൻസിംഗ് വിശകലനത്തിന് ഇത് പ്രത്യേകമാണ്.
filterBounds() തന്നിരിക്കുന്ന ജ്യാമിതിയെ വിഭജിക്കുന്ന ചിത്രങ്ങൾ മാത്രം ഉൾപ്പെടുത്താൻ ഒരു ചിത്ര ശേഖരം ഫിൽട്ടർ ചെയ്യുന്നു. ഈ സാഹചര്യത്തിൽ, നിർവചിക്കപ്പെട്ട താൽപ്പര്യമുള്ള സ്ഥലത്തിന് ചുറ്റുമുള്ള പ്രദേശത്തേക്ക് ഉപഗ്രഹ ഡാറ്റയെ ഇത് പരിമിതപ്പെടുത്തുന്നു, അപ്രസക്തമായ ഡാറ്റ ഒഴിവാക്കി പ്രോസസ്സിംഗ് കൂടുതൽ കാര്യക്ഷമമാക്കുന്നു.
filterDate() ഈ കമാൻഡ് ചിത്ര ശേഖരണത്തെ ഒരു നിർദ്ദിഷ്ട തീയതി പരിധിയിലേക്ക് പരിമിതപ്പെടുത്തുന്നു. ഞങ്ങളുടെ പ്രശ്‌നത്തിന്, സെൻ്റിനൽ, ലാൻഡ്‌സാറ്റ് ഡാറ്റാസെറ്റുകൾക്ക് ഒരേ സമയം തമ്മിലുള്ള വ്യത്യാസങ്ങൾ വിശകലനം ചെയ്യേണ്ടത് നിർണായകമാണ്.
addBands() ശേഖരത്തിലെ ഓരോ ചിത്രത്തിലേക്കും പുതിയ കണക്കാക്കിയ ബാൻഡുകൾ (NDVI, NDWI, NDSI എന്നിവ പോലെ) ചേർക്കുന്നു. വ്യത്യസ്ത ഡാറ്റാസെറ്റുകൾ സൃഷ്ടിക്കാതെ ഒരേ ഇമേജ് ശേഖരത്തിൽ ഒന്നിലധികം സൂചികകൾ പ്രയോഗിക്കുന്നതിന് ഇത് അത്യന്താപേക്ഷിതമാണ്.
unmask() ഒരു നിർദ്ദിഷ്‌ട മൂല്യമുള്ള മാസ്‌ക് ചെയ്‌ത പിക്‌സലുകൾ പൂരിപ്പിക്കുന്നു. ഞങ്ങളുടെ സ്‌ക്രിപ്റ്റിൽ, സ്ഥിരമായ ജലപ്രദേശങ്ങൾ അൺമാസ്ക് ചെയ്യാൻ ഇത് ഉപയോഗിക്കുന്നു, മുഴുവൻ പ്രദേശത്തുടനീളവും ഡാറ്റ സ്ഥിരമായി പ്രോസസ്സ് ചെയ്യപ്പെടുന്നുവെന്ന് ഉറപ്പാക്കുന്നു.
reduce() ee.Reducer.percentile() പോലെയുള്ള ഒരു നിർദ്ദിഷ്‌ട റിഡ്യൂസർ ഫംഗ്‌ഷൻ ഉപയോഗിച്ച് ഒരു ഇമേജ് ശേഖരം കുറയ്ക്കുന്നു. ഇവിടെ, കോമ്പോസിറ്റ് ഇമേജ് ജനറേഷൻ ഒപ്റ്റിമൈസ് ചെയ്ത് പിക്സൽ മൂല്യങ്ങളുടെ 30-ാം ശതമാനം കണക്കാക്കാൻ ഇത് ഉപയോഗിക്കുന്നു.
clip() താൽപ്പര്യമുള്ള നിർദ്ദിഷ്‌ട പ്രദേശത്തിൻ്റെ അതിരുകളിലേക്ക് ഒരു ചിത്രം ക്ലിപ്പുചെയ്യുന്നു. പ്രദേശവുമായി ബന്ധപ്പെട്ട ഡാറ്റ മാത്രമേ പ്രോസസ്സ് ചെയ്യുന്നുള്ളൂവെന്ന് ഇത് ഉറപ്പാക്കുന്നു, ഇത് എക്സിക്യൂഷൻ വേഗത്തിലാക്കുന്നു.
gt() ഈ കമാൻഡ് എന്നത് 'അതിനേക്കാൾ വലുത്' എന്നാണ്, ഇത് ഒരു പരിധി അടിസ്ഥാനമാക്കി ബൈനറി ഇമേജുകൾ സൃഷ്ടിക്കാൻ ഉപയോഗിക്കുന്നു. ഈ സാഹചര്യത്തിൽ, 80% ത്തിൽ കൂടുതൽ വെള്ളം ഉണ്ടാകുന്ന പ്രദേശങ്ങൾ ഇത് തിരിച്ചറിയുന്നു.
map() ശേഖരത്തിലെ ഓരോ ചിത്രത്തിനും ഒരു ഫംഗ്ഷൻ പ്രയോഗിക്കുന്നു. ഞങ്ങളുടെ ഉദാഹരണത്തിൽ, ശേഖരത്തിലെ എല്ലാ ചിത്രങ്ങളിലും എൻഡിവിഐ, എൻഡിഡബ്ല്യുഐ, എൻഡിഎസ്ഐ എന്നിവ കണക്കാക്കാൻ ഇത് ആഡ്ഇൻഡിസസ് ഫംഗ്‌ഷൻ പ്രയോഗിക്കുന്നു, ഇത് വർക്ക്ഫ്ലോ സ്‌ട്രീംലൈനിംഗ് ചെയ്യുന്നു.

മെച്ചപ്പെട്ട കാര്യക്ഷമതയ്ക്കായി GEE സ്ക്രിപ്റ്റുകൾ ഒപ്റ്റിമൈസ് ചെയ്യുന്നു

നൽകിയിരിക്കുന്ന സ്‌ക്രിപ്റ്റിൽ, രണ്ട് വ്യത്യസ്ത ഉറവിടങ്ങളിൽ നിന്ന് സാറ്റലൈറ്റ് ഇമേജറി എക്‌സ്‌ട്രാക്റ്റുചെയ്‌ത് പ്രോസസ്സ് ചെയ്യുക എന്നതാണ് ലക്ഷ്യം: സെൻ്റിനൽ, ലാൻഡ്‌സാറ്റ്. ദി ഗൂഗിൾ എർത്ത് എഞ്ചിൻ (GEE) പ്ലാറ്റ്ഫോം ഉപയോക്താക്കളെ വലിയ അളവിലുള്ള സാറ്റലൈറ്റ് ഡാറ്റ ആക്സസ് ചെയ്യാനും ഫിൽട്ടറിംഗ്, ഇൻഡെക്സിംഗ്, വിഷ്വലൈസേഷൻ തുടങ്ങിയ വിവിധ പ്രവർത്തനങ്ങൾ പ്രയോഗിക്കാനും അനുവദിക്കുന്നു. ഈ സ്ക്രിപ്റ്റിൽ ഉപയോഗിച്ചിരിക്കുന്ന പ്രധാന സവിശേഷതകളിൽ ഒന്ന് സാധാരണ വ്യത്യാസം() എൻഡിവിഐ, എൻഡിഡബ്ല്യുഐ, എൻഡിഎസ്ഐ എന്നിവ പോലുള്ള പ്രധാന സൂചികകൾ കണക്കാക്കാൻ ഉപയോഗിക്കുന്ന ഫംഗ്‌ഷൻ. നിർദ്ദിഷ്ട പ്രദേശത്തെ സസ്യജാലങ്ങൾ, ജലം, മഞ്ഞ് മൂടി എന്നിവ വിശകലനം ചെയ്യുന്നതിന് ഈ സൂചികകൾ നിർണായകമാണ്. താൽപ്പര്യമുള്ള ഒരു പോയിൻ്റ് നിർവചിച്ചുകൊണ്ട് സ്ക്രിപ്റ്റ് ആരംഭിക്കുന്നു, നൽകിയിരിക്കുന്ന കോർഡിനേറ്റുകൾ ഉപയോഗിച്ച് മാപ്പ് അതിൽ കേന്ദ്രീകരിക്കുന്നു.

സ്ക്രിപ്റ്റ് ഒന്നിലധികം ഫിൽട്ടറുകൾ പ്രയോഗിക്കുന്നു ഫിൽട്ടർ തീയതി() ഒപ്പം ഫിൽറ്റർബൗണ്ടുകൾ(), പ്രോസസ്സ് ചെയ്യുന്ന ഡാറ്റയുടെ അളവ് കുറയ്ക്കാൻ, അങ്ങനെ എക്സിക്യൂഷൻ സമയം മെച്ചപ്പെടുത്തുന്നു. ഉദാഹരണത്തിന്, ഫിൽറ്റർബൗണ്ടുകൾ() താൽപ്പര്യമുള്ള മേഖലയെ വിഭജിക്കുന്ന ചിത്രങ്ങൾ മാത്രമേ ഉൾപ്പെടുത്തിയിട്ടുള്ളൂ എന്ന് ഉറപ്പാക്കുന്നു ഫിൽട്ടർ തീയതി() ചിത്രങ്ങളെ ഒരു നിശ്ചിത തീയതി പരിധിയിലേക്ക് പരിമിതപ്പെടുത്തുന്നു. സെൻ്റിനൽ, ലാൻഡ്‌സാറ്റ് ഇമേജറി പോലുള്ള വലിയ ഡാറ്റാസെറ്റുകൾ പ്രോസസ്സ് ചെയ്യുന്നതിന് ഇത് അത്യന്താപേക്ഷിതമാണ്, കാരണം ഇത് കമ്പ്യൂട്ടേഷണൽ ലോഡ് കുറയ്ക്കുന്നു. കൂടാതെ, ദി ഫിൽട്ടർ കൂടുതൽ ക്ലൗഡ് ഉള്ള ഇമേജുകൾ നിരസിക്കാൻ ക്ലൗഡ് കവറേജ് സഹായിക്കുന്നു, മികച്ച നിലവാരമുള്ള വിശകലനം ഉറപ്പാക്കുന്നു.

തിരക്കഥയുടെ ഒരു പ്രധാന വശം addBands() ഫംഗ്‌ഷൻ, ഇത് ഇമേജറിയിലേക്ക് കണക്കാക്കിയ സൂചികകൾ (NDVI, NDWI, NDSI) ചേർക്കുന്നു, ഇത് കൂടുതൽ വിശകലനത്തിനായി അവ ആക്‌സസ് ചെയ്യാനാകും. ജെആർസി ഗ്ലോബൽ സർഫേസ് വാട്ടർ ഡാറ്റാസെറ്റിൽ നിന്നുള്ള ഡാറ്റ ഉപയോഗിച്ച് സ്ഥിരമായ വാട്ടർ മാസ്കും സ്ക്രിപ്റ്റിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. വെള്ളം കൂടുതലായി കാണപ്പെടുന്ന (80%-ൽ കൂടുതൽ) പ്രദേശങ്ങൾ ഒഴിവാക്കുന്നതിന് വാട്ടർ മാസ്ക് സഹായിക്കുന്നു, ഇത് സസ്യങ്ങളുടെയും മഞ്ഞ് വിശകലനത്തിൻ്റെയും ഫലങ്ങളെ വ്യതിചലിപ്പിക്കും. വഴിയാണ് ഇത് ചെയ്യുന്നത് gt() ഒപ്പം മുഖംമൂടി അഴിക്കുക() ഫംഗ്‌ഷനുകൾ, ഇത് പിക്‌സൽ മൂല്യങ്ങളെ അടിസ്ഥാനമാക്കി ഏരിയകളെ ഒറ്റപ്പെടുത്താൻ സ്‌ക്രിപ്റ്റിനെ അനുവദിക്കുന്നു.

അവസാനമായി, സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്നു കുറയ്ക്കുക() തിരഞ്ഞെടുത്ത പിക്സൽ മൂല്യങ്ങളുടെ 30-ആം ശതമാനത്തെ പ്രതിനിധീകരിക്കുന്ന ഒരു സംയോജിത ഇമേജ് സൃഷ്ടിക്കാൻ പെർസെൻറ്റൈൽ റിഡ്യൂസർ ഉപയോഗിച്ച് പ്രവർത്തിക്കുക. ഈ സംയോജിത ചിത്രം പിന്നീട് താൽപ്പര്യമുള്ള മേഖലയിലേക്ക് ക്ലിപ്പ് ചെയ്യുകയും മാപ്പിൽ ദൃശ്യവൽക്കരിക്കുകയും ചെയ്യുന്നു ക്ലിപ്പ്() പ്രവർത്തനം. സെൻ്റിനൽ, ലാൻഡ്‌സാറ്റ് കോമ്പോസിറ്റുകൾക്ക് വിഷ്വൽ പാരാമീറ്ററുകൾ നിർവചിച്ചിരിക്കുന്നു, ഉചിതമായ വർണ്ണ ക്രമീകരണങ്ങൾ ഉപയോഗിച്ച് അവ കാണാൻ ഉപയോക്താവിനെ അനുവദിക്കുന്നു. ഫിൽട്ടറിംഗ്, മാസ്കിംഗ്, കോമ്പോസിറ്റ് ജനറേഷൻ തുടങ്ങിയ വിവിധ ഇമേജ് പ്രോസസ്സിംഗ് ഘട്ടങ്ങൾ സംയോജിപ്പിച്ച്, ഈ സ്ക്രിപ്റ്റ് സാറ്റലൈറ്റ് ഇമേജറി വിശകലനം ചെയ്യുന്നതിനുള്ള കാര്യക്ഷമമായ മാർഗം നൽകുന്നു, എന്നിരുന്നാലും എക്സിക്യൂഷൻ സമയം കുറയ്ക്കുന്നതിന് കൂടുതൽ ഒപ്റ്റിമൈസേഷൻ പ്രയോഗിക്കാവുന്നതാണ്.

വേഗത്തിലുള്ള പ്രോസസ്സിംഗിനായി ഗൂഗിൾ എർത്ത് എഞ്ചിൻ സ്ക്രിപ്റ്റ് എക്സിക്യൂഷൻ ഒപ്റ്റിമൈസ് ചെയ്യുന്നു

ഡാറ്റ വീണ്ടെടുക്കൽ സമയം കുറയ്ക്കുന്നതിലൂടെയും പ്രവർത്തനങ്ങൾ ലളിതമാക്കുന്നതിലൂടെയും പ്രകടനം ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിന് ഊന്നൽ നൽകുന്ന ഈ പരിഹാരം Google Earth എഞ്ചിൻ (GEE) ഉപയോഗിക്കുന്നു. സ്ക്രിപ്റ്റിംഗ് ഭാഷയായി ജാവാസ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്നു.

var pointJSP = ee.Geometry.Point([86.465263, 20.168076]);
Map.centerObject(pointJSP, 14);
// Combine date variables for flexibility
var startDate = '2024-02-01';
var endDate = '2024-03-01';
// Function to add NDVI, NDWI, NDSI
var addIndices = function(image) {
  var ndvi = image.normalizedDifference(['NIR', 'RED']).rename('NDVI');
  var ndwi = image.normalizedDifference(['NIR', 'SWIR1']).rename('NDWI');
  var ndsi = image.normalizedDifference(['SWIR1', 'SWIR2']).rename('NDSI');
  return image.addBands(ndvi).addBands(ndwi).addBands(ndsi);
};
// Use fewer data points by filtering for cloud-free pixels only once
var sentinel = ee.ImageCollection('COPERNICUS/S2_SR')
  .filterBounds(pointJSP)
  .filterDate(startDate, endDate)
  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 30));

സ്‌ക്രിപ്റ്റ് കാലതാമസം കുറയ്ക്കുന്നതിന് GEE-യ്‌ക്കായി കാര്യക്ഷമമായ ഡാറ്റ പ്രോസസ്സിംഗ് ഉപയോഗിക്കുന്നു

സൂചികകളുടെ കണക്കുകൂട്ടലുകളും പരിധികളും സംയോജിപ്പിച്ച് ഈ പരിഹാരം ഒപ്റ്റിമൈസ് ചെയ്ത ഡാറ്റ കൈകാര്യം ചെയ്യൽ സമന്വയിപ്പിക്കുന്നു. Google Earth എഞ്ചിൻ പ്രോസസ്സിംഗിനായി JavaScript പ്രയോഗിക്കുന്നു.

var landsat8 = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
  .filterBounds(pointJSP)
  .filterDate(startDate, endDate)
  .filter(ee.Filter.lt('CLOUD_COVER', 30));
// Apply water mask for permanent water areas
var waterMask = ee.Image('JRC/GSW1_4/GlobalSurfaceWater').select('occurrence').gt(80).unmask();
// Add indices to Landsat 8 imagery
var landsatIndices = landsat8.map(addIndices);
var composite = landsatIndices.reduce(ee.Reducer.percentile([30])).clip(pointJSP).mask(waterMask.eq(0));
Map.addLayer(composite, {bands: ['RED', 'GREEN', 'BLUE'], min: 0, max: 3000}, 'Landsat Composite');
Map.addLayer(waterMask, {min: 0, max: 1, palette: ['white', 'blue']}, 'Water Mask', false);

റിമോട്ട് സെൻസിംഗ് സ്ക്രിപ്റ്റുകളുടെ കാര്യക്ഷമത മെച്ചപ്പെടുത്തുന്നു

ഗൂഗിൾ എർത്ത് എഞ്ചിൻ (GEE) സ്ക്രിപ്റ്റുകളിൽ പ്രവർത്തിക്കുമ്പോൾ ശ്രദ്ധിക്കേണ്ട ഒരു പ്രധാന കാര്യം പ്രവർത്തനങ്ങൾ കാര്യക്ഷമമായി കൈകാര്യം ചെയ്യപ്പെടുന്നുവെന്ന് ഉറപ്പാക്കുക എന്നതാണ്. സെൻ്റിനൽ, ലാൻഡ്സാറ്റ് തുടങ്ങിയ വലിയ ഡാറ്റാസെറ്റുകളുടെ ഉപയോഗം പരിസ്ഥിതി വിശകലനത്തിൽ സാധാരണമാണെങ്കിലും, ഡാറ്റയുടെ വ്യാപ്തി സ്ക്രിപ്റ്റ് എക്സിക്യൂഷൻ മന്ദഗതിയിലാക്കാം. പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിനുള്ള ഒരു രീതി, ആവശ്യമായ ഡാറ്റ മാത്രം പ്രോസസ്സ് ചെയ്യുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക എന്നതാണ്. തുടങ്ങിയ കമാൻഡുകൾ ഉപയോഗിക്കുന്നു ഫിൽറ്റർബൗണ്ടുകൾ() ഒപ്പം ഫിൽട്ടർ തീയതി() ഡാറ്റാസെറ്റ് വലുപ്പം കുറയ്ക്കുന്നു, ഇത് കണക്കുകൂട്ടലുകൾ കാര്യക്ഷമമാക്കാൻ സഹായിക്കുന്നു. നിർദ്ദിഷ്ട തീയതി ശ്രേണികളും ഭൂമിശാസ്ത്രപരമായ പ്രദേശങ്ങളും തിരഞ്ഞെടുക്കുന്നത് നിർവ്വഹണ സമയം ഗണ്യമായി കുറയ്ക്കും.

GEE സ്ക്രിപ്റ്റ് പ്രകടനത്തെ ബാധിക്കുന്ന മറ്റൊരു വശം ഡാറ്റ എങ്ങനെയാണ് പ്രോസസ്സ് ചെയ്യുന്നത് എന്നതാണ്. NDVI, NDWI, NDSI എന്നിവ പോലുള്ള പ്രധാനപ്പെട്ട സൂചികകൾ കണക്കാക്കാൻ സ്ക്രിപ്റ്റ് ഉദാഹരണം ഒരു ഫംഗ്ഷൻ ഉപയോഗിക്കുന്നു. ഈ സൂചികകൾ ചിത്ര ശേഖരങ്ങളിലേക്ക് ബാൻഡുകളായി ചേർക്കുന്നു, ഇത് കൂടുതൽ സമഗ്രമായ വിശകലനം അനുവദിക്കുന്നു. എന്നിരുന്നാലും, ആദ്യം ഫിൽട്ടർ ചെയ്യാതെ ഒരു മുഴുവൻ ഡാറ്റാസെറ്റിലേക്കും അത്തരം ഫംഗ്ഷനുകൾ പ്രയോഗിക്കുന്നതാണ് ഒരു സാധാരണ തെറ്റ്. അപ്രസക്തമായ ഡാറ്റയിൽ അനാവശ്യമായ കണക്കുകൂട്ടലുകൾ ഒഴിവാക്കാൻ ഫിൽട്ടർ ചെയ്തതിന് ശേഷം അത്തരം പ്രവർത്തനങ്ങൾ പ്രയോഗിക്കുന്നത് നിർണായകമാണ്.

ഒപ്റ്റിമൈസ് ചെയ്യാവുന്ന സ്ക്രിപ്റ്റിൻ്റെ മറ്റൊരു ഘടകമാണ് ദൃശ്യവൽക്കരണം. വളരെയധികം ലെയറുകളോ സങ്കീർണ്ണമായ വിഷ്വലൈസേഷനുകളോ ചേർക്കുന്നത് പ്രോസസ്സിംഗ് സമയം കുറയ്ക്കും. കോമ്പോസിറ്റുകൾ റെൻഡർ ചെയ്യുന്നതിന് സ്‌ക്രിപ്റ്റ് മുൻകൂട്ടി നിശ്ചയിച്ച വിഷ്വൽ പാരാമീറ്ററുകൾ ഉപയോഗിക്കുന്നു, എന്നാൽ അവ വ്യക്തമായി ആവശ്യമില്ലെങ്കിൽ ചില ലെയറുകൾ പ്രവർത്തനരഹിതമാക്കുന്നതിലൂടെ പ്രകടനം മെച്ചപ്പെടുത്താനാകും. സ്ക്രിപ്റ്റ് അതിൻ്റെ പ്രവർത്തനക്ഷമത നിലനിർത്തിക്കൊണ്ട് ഭാരം കുറഞ്ഞതാക്കി നിലനിർത്താൻ ഇത് സഹായിക്കുന്നു. ഉപയോഗിക്കുന്നത് ക്ലിപ്പ്() മൊത്തത്തിലുള്ള പ്രോസസ്സിംഗ് ഭാരം കുറയ്ക്കുന്നതിന് ആവശ്യമായ ഏരിയ മാത്രം റെൻഡർ ചെയ്യപ്പെടുന്നുവെന്ന് കമാൻഡുകൾ ഉറപ്പാക്കുന്നു.

ഗൂഗിൾ എർത്ത് എഞ്ചിൻ സ്ക്രിപ്റ്റുകൾ ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിനെ കുറിച്ച് പതിവായി ചോദിക്കുന്ന ചോദ്യങ്ങൾ

  1. എൻ്റെ GEE സ്ക്രിപ്റ്റുകളുടെ പ്രകടനം എങ്ങനെ മെച്ചപ്പെടുത്താം?
  2. ഉപയോഗം ഒപ്റ്റിമൈസ് ചെയ്യുക filterDate(), filterBounds(), പ്രോസസ്സ് ചെയ്യുന്നതിന് മുമ്പ് നിങ്ങളുടെ ഡാറ്റാസെറ്റിൻ്റെ വലുപ്പം കുറയ്ക്കുക.
  3. എന്തുകൊണ്ടാണ് എൻ്റെ GEE സ്‌ക്രിപ്റ്റ് പ്രവർത്തിക്കാൻ ഇത്രയും സമയം എടുക്കുന്നത്?
  4. വലിയ ഡാറ്റാസെറ്റുകൾക്കും സങ്കീർണ്ണമായ കണക്കുകൂട്ടലുകൾക്കും നിർവ്വഹണം മന്ദഗതിയിലാക്കാം. ഉപയോഗിക്കുക reduce() ഒപ്പം clip() പ്രസക്തമായ മേഖലകളിലേക്ക് പ്രോസസ്സിംഗ് പരിമിതപ്പെടുത്തുന്നതിന്.
  5. GEE-യിൽ പ്രോസസ്സ് ചെയ്ത ചിത്രങ്ങളുടെ എണ്ണം എനിക്ക് കുറയ്ക്കാനാകുമോ?
  6. അതെ, അപേക്ഷിച്ചുകൊണ്ട് filter() ക്ലൗഡ് കവറേജിനും filterDate() നിർദ്ദിഷ്ട കാലഘട്ടങ്ങളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ.
  7. എൻ്റെ സ്ക്രിപ്റ്റിലെ സൂചിക കണക്കുകൂട്ടലുകൾ എങ്ങനെ ലളിതമാക്കാം?
  8. പോലുള്ള ഒരു ഫംഗ്ഷൻ ഉപയോഗിക്കുക addBands() ഒരു ഘട്ടത്തിൽ ഒന്നിലധികം സൂചികകൾ (ഉദാ. NDVI, NDWI) ചേർക്കുന്നത് കാര്യക്ഷമമാക്കാൻ.
  9. അത്യാവശ്യമായ പാളികൾ മാത്രം ദൃശ്യവൽക്കരിക്കാൻ കഴിയുമോ?
  10. അതെ, അനാവശ്യമായ ലെയറുകൾ പ്രവർത്തനരഹിതമാക്കുക കൂടാതെ ലളിതമാക്കിയ ദൃശ്യവൽക്കരണ പാരാമീറ്ററുകൾ ഉപയോഗിക്കുക Map.addLayer() മികച്ച പ്രകടനത്തിന്.

GEE സ്ക്രിപ്റ്റുകൾ ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിനെക്കുറിച്ചുള്ള അന്തിമ ചിന്തകൾ

ഗൂഗിൾ എർത്ത് എഞ്ചിൻ സ്ക്രിപ്റ്റുകൾ ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിൽ വലിയ ഡാറ്റാസെറ്റുകൾ കാര്യക്ഷമമായി കൈകാര്യം ചെയ്യൽ, ഫിൽട്ടറുകൾ നേരത്തെ പ്രയോഗിക്കൽ, അനാവശ്യ ഡാറ്റാ ഓപ്പറേഷനുകൾ കുറയ്ക്കൽ എന്നിവ ഉൾപ്പെടുന്നു. ഫിൽട്ടറിംഗ് പോലുള്ള അവശ്യ മേഖലകളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു തീയതി കൂടാതെ ലൊക്കേഷൻ പ്രോസസ്സിംഗ് സമയം ഗണ്യമായി കുറയ്ക്കും.

പോലുള്ള ഫംഗ്ഷനുകൾ ഉൾപ്പെടുത്തിക്കൊണ്ട് addBands കൂടാതെ അപ്രസക്തമായ ഡാറ്റ ഇല്ലാതാക്കാൻ ത്രെഷോൾഡ് മാസ്കുകൾ ഉപയോഗിച്ച്, സ്ക്രിപ്റ്റ് പ്രകടനം കൂടുതൽ മെച്ചപ്പെടുത്താൻ കഴിയും. ഈ സാങ്കേതിക വിദ്യകൾക്ക് നിർവ്വഹണം കാര്യക്ഷമമാക്കാനും വേഗത്തിലുള്ള ഫലങ്ങളും ഗൂഗിൾ എർത്ത് എഞ്ചിൻ പ്ലാറ്റ്‌ഫോമിൻ്റെ മികച്ച ഉപയോഗവും നൽകാനും കഴിയും.

ഗൂഗിൾ എർത്ത് എഞ്ചിൻ സ്ക്രിപ്റ്റുകൾ ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിനുള്ള ഉറവിടങ്ങളും റഫറൻസുകളും
  1. സ്ക്രിപ്റ്റ് ഒപ്റ്റിമൈസേഷൻ ടെക്നിക്കുകളെക്കുറിച്ചുള്ള ഉൾക്കാഴ്ചകൾ നൽകുന്ന ഔദ്യോഗിക Google Earth എഞ്ചിൻ ഡോക്യുമെൻ്റേഷനെ അടിസ്ഥാനമാക്കിയുള്ള ഉള്ളടക്കം ഉപയോഗിച്ചാണ് ഈ ലേഖനം സൃഷ്ടിച്ചത്. ഗൂഗിൾ എർത്ത് എഞ്ചിൻ ഗൈഡുകൾ
  2. സങ്കീർണ്ണമായ സ്ക്രിപ്റ്റുകളിലെ പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിനുള്ള ചർച്ചകളും പരിഹാരങ്ങളും വാഗ്ദാനം ചെയ്യുന്ന GEE കമ്മ്യൂണിറ്റി ഫോറത്തിൽ നിന്ന് കൂടുതൽ വിവരങ്ങൾ ശേഖരിച്ചു. ഗൂഗിൾ എർത്ത് എഞ്ചിൻ കമ്മ്യൂണിറ്റി
  3. വലിയ ഡാറ്റാസെറ്റുകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള മികച്ച രീതികൾ ഇനിപ്പറയുന്ന ലിങ്കിൽ ലഭ്യമായ റിമോട്ട് സെൻസിംഗ് സാഹിത്യത്തിൽ നിന്നും ട്യൂട്ടോറിയലുകളിൽ നിന്നും പരാമർശിച്ചു. നാസ എർത്ത് ഒബ്സർവേറ്ററി