Pustakam Library

Free Science learning guide

Master Real-Time Satellite Image Processing With Python To Track Deforestation

Master Real-Time Satellite Image Processing With Python To Track Deforestation — a free intermediate-level guide covering master real-time satellite...

66 min read7 chaptersintermediate

What you will learn

  1. Bhai Ka Setup: Python Aur Satellite Data Ka Connection
  2. Rasterio Aur Numpy Ki Entrybaazi
  3. Baadal Hatao, Asli Scene Dekho
  4. Hara Bhara Scene: NDVI Aur EVI Ka Funda
  5. Ped Kaat Diya? Change Detection Se Pakdo
  6. Automated Alert System: Bina Chai Peeye Track Karo
  7. Map Pe Chhap: Visual Proof Dikhao

1. Bhai Ka Setup: Python Aur Satellite Data Ka Connection

Abe sun, 3 baje raat ko tu code debug kar raha hai. Screen pe laal-laal error aate hue dekh. ModuleNotFoundError: No module named 'ee'. Tu rona chahta hai. Tu sochta hai, "Bhai, mera startup ka idea hi bekar hai, main wahi sarkari naukri karunga." Saale, rula mat. Ye error tere startup ki wajah se nahi aaya, teri buddhu wali setup ki wajah se aaya hai. Tu satellite data se jungle bachane ka sapna dekh raha hai, par tera Python environment ekdum garbage hai. Tu wahi banda hai jo biryani banane ki baat karta hai, par chulhe ki aag jalana nahi aata! Dekh bhai, asli gully ka don kabhi aise nahi rota. Wo system hack karta hai. Aaj se hum ek aisi machinery banayenge jo satellite se direct tere laptop pe data utha ke layegi. Aur us data se hum pakdenge ki saala kaunsa jamindar jungle kaat raha hai raat ke andhere mein. Is module mein hum Google Earth Engine (GEE) ko apne Python ke andar ghusayenge. Kyunki GEE ka matlab hai petabytes ka satellite data, aur Python ka matlab hai tera brain. Dono ko jodne ka tarika seekhna zaroori hai. Skip kiya toh aage ke chapters mein tu bilkul nanga phasega. Samjha? Nahi samjha? Padh dubara, BC. Asli Funda (Core Concepts) 1. Google Earth Engine (GEE): Teri Tapri Pe Petabytes Ka Data Bhai ye aise samajh, jaise tu Mumbai ki local train mein 6 baje shaam ko chadhhta hai. Logon ka bheed, har taraf data bhara hua hai. NASA, ESA (European Space Agency) ne past 40-50 saal ka saara satellite imagery ek jagah daal diya hai. Ye hai Google Earth Engine. Ab agar tu soch raha hai ki ye saara data apne 8GB RAM wale laptop pe download karega, toh tera laptop jal ke raakh ho jaayega aur teri maa kaate peet ke bahar nikal degi. GEE ka asli magic ye hai ki data Google ke servers pe rehta hai. Tu Python se GEE ko order bhejta hai: "Bhai, is coordinates pe 2023 ka Sentinel-2 data nikal ke de." GEE server pe hi processing karta hai, aur sirf final result (ek chhota sa array ya image) tere laptop pe bhej deta hai. Jaise Swiggy pe order karta hai, khana unke kitchen mein banta hai, sirf delivery tere ghar aati hai. Tu server pe cook karega, yahan sirf khayega. 💡 Pro Tip: GEE free hai research aur non-commercial use ke liye. Tera startup abhi seed stage mein hai? Toh freely GEE ka data uda. Jab tera valuation 10 crore ho jaye, tab commercial license khareed lena. Abhi mat kharcha karna apne baap ke paise. 2. Python Aur GEE Ka Connection: ee Module Aur Authentication GEE ka apna online code editor bhi …

2. Rasterio Aur Numpy Ki Entrybaazi

Abe saale, Chapter 1 mein tune Earth Engine ka account banaya, authentication kiya, Python setup kiya. Bhai tera tool box toh ready hai, par abhi tak tune ek bhi satellite image ko khola nahi, chhua nahi. Ye aise hai ki tune Lamborghini kharidi, key utha ke pocket mein rakh li, par gaadi chalayi nahi. BC kya kar raha hai? Utha phone, dhire se aawaz nikal: "Bhai, gadi chalani hai?" Aaj hum andar ghusenge. Satellite image ke actual pixels ko todenge. Hum Earth Engine ke cloud se bahar aakar local street pe aayenge. Yahan Rasterio aur Numpy raja hai. Ye dono bhai saale aasman se gir ke direct tere Python environment mein ghusenge. Dekh bhai, satellite image ek normal JPG ya PNG nahi hoti. Teri WhatsApp wali profile pic mein sirf 3 cheezein hoti hain — Red, Green, Blue (RGB). Par satellite image mein ye RGB ke saath saath Infrared, Thermal, aur kya kya nahi hota. Iske neeche geography chhupi hoti hai — kaunsa pixel Earth pe kahan hai? Ye sab handle karta hai GeoTIFF format. Aur is GeoTIFF ko todna, phaadna, aur pixel ka post-mortem karna seekhna hai aaj ka agenda. Agar ye chapter skip kiya, toh baad mein cloud masking aur change detection mein aisa phasoge ki Sharma ji ka beta bhi pity feel karega. Dhyan se padh, warna dimaag ka server hang ho jaayega. Asli Funda (Core Concepts) ⚠️ Common Mistake: Awaam sochti hai satellite image ko PIL (Pillow) ya standard image viewer se khol lenge. BC usne image toh khul jaayegi, par uska spatial data (coordinates, projection) gaayab ho jaayega. Wo ek normal photo ban jaayegi. GeoTIFF sirf image nahi, wo data hai. Uski izzat kar. Rasterio: Tere Raster Ka Bouncer Bhai, GeoTIFF file ek bhaari banduk hai. Usko directly Python mein ghusane ki koshish mat kar. Tujhe ek bouncer chahiye jo file ko safely read kare, metadata nikale, aur tere Python ke table pe serve kare. Wo bouncer hai Rasterio. Rasterio ek Python library hai jo GDAL (Geospatial Data Abstraction Library) ko use karti hai. Par GDAL direct use karna is like trying to make khichdi in a pressure cooker without a whistle — explosion guaranteed. Rasterio usko simple banata hai. Jab tu Rasterio se koi file kholt hai, toh wo tujhe do main cheezein deta hai: 1. Metadata: Image ka background check — resolution kya hai, CRS (Coordinate Reference System) kya hai, kitne bands hain. 2. Numpy Array: Actual pixel values. Ye wo numbers hain jiske saath hum tamasha karenge. Numpy: Asli Khiladi Agar Rasterio bouncer hai, toh Numpy andar baith ke maalik hai. Satellite image ka har ek pixel ek number hota hai. Jaise infrared band mein ek pixel ki value 0 se 10000 …

3. Baadal Hatao, Asli Scene Dekho

Abe sun, tera bhai local train mein travel kar raha tha subah 9 baje. Peak hour. Ek boond jagah nahi. Upar se window side khada tha, toh aadha body bahar latki hui. Achanak ek aadmi ne dhakka maara aur meri chay ka cup gir gaya. Chay wasted. Maine usko gaali di, usne mujhe di. Hum dono pareshan. Ab satellite imagery ka scene bhi bilkul yahi hai bhai. Tu Rasterio aur Numpy ka bada master ban gaya, array ka size dekh ke chhati chaudi kar raha hai. Par jab tu satellite se image download karta hai na, toh usme 60% area aake cloud se dhakka hua hota hai. Tu chay peene ko tha, cloud wale pixels ne teri chay gira di. Saale, agar tujhe deforestation track karni hai aur image mein aadhe se zyada jungle baadal ke peeche chhupa hua hai, toh tu kya track karega? Baadal ka deforestation? BC koi jungle kaat raha hai ya baadal kaat raha hai? Tera pura model fail ho jayega. Isliye, is chapter mein hum baadal ko hatayenge. "Cloud Masking" — ye term hai tera aaj ka gyaan. Isko skip kiya toh tera career ka barbaad ho jaayega, pakka. Asli Funda (Core Concepts) Dekh bhai, ye aise samajh. Jaise monsoon mein Mumbai ki gully mein paani bharta hai, waise hi satellite image mein clouds aate hain. Ab satellite se data aata hai, usme kuch pixels aise hote hain jo actual zameen ka scene nahi dikha rahe, sirf baadal dikha rahe hain. Aur jahan baadal hota hai, wahan shadow bhi padti hai na? Toh zameen ka ek hissa andhere mein chala jata hai. Tujhe actual scene chahiye — asli zameen, asli jungle. 1. QA Bands: Satellite ki Quality Checking Saale, satellite sirf photo nahi leta. Ye thoda bawal cheez hai. Sentinel-2 (ESA ka satellite) aur Landsat (NASA ka satellite) ke sensors hote hain. Ye log image ke sath-sath ek extra file ya extra layer bhi dete hain jisko hum bolte hain QA Band (Quality Assurance Band). 💡 Pro Tip: QA band ek tarah ka satellite ka "review" hai. Jaise restaurant mein khane ke baad manager poochta hai "How was the food?", waise hi satellite bolta hai "Bhai, is pixel ka scene clear hai, ya cloud hai, ya shadow hai?" QA band mein ek number hota hai, aur us number ko binary (0 aur 1) mein tod ke hum exactly pata laga lete hain ki is pixel mein kya bakwaas hai. Jaise, Sentinel-2 ka SCL (Scene Classification Layer) aata hai. Isme numbers hote hain: - 0: No Data (Khaali) - 1: Saturated/Defective (Kharab pixel) - 2: Dark Area Pixels (Andhera) - 3: Cloud Shadows (Baadal ka saaya) - 4: Vegetation (Jungle/Khet) - 5: Not Vegetated (Bina ped …

4. Hara Bhara Scene: NDVI Aur EVI Ka Funda

Abe sun, tera bhai Kalu panwala jab apna thela lagata hai na, toh door se hi pata chal jaata hai ki kela kitna taaza hai. Hara hai, ekdum fresh. Aur jo sookha aur peela pad gaya hai, usko alag rakh deta hai "bikri ke layak nahi" bolke. Tu abhi tak Baadal Hatao, Asli Scene Dekho wala module karke aaya hai. Matlab tera satellite image ab saaf hai. BC, image toh saaf ho gaya, par ab isme kaunsa hissa sach mein hara-bhara jungle hai, aur kahan se Ramesh Sippy ne apna set lagane ke liye ped kaat diye, ye kaise pata chalega? Naked eye se dekh ke hara color dhoondega? Saale, tu satellite data analyst hai ya rang-birangi chudiyan bechne wala? Remote sensing mein hum log "color" se nahi, "numbers" se khelte hain. Satellite ke sensors (jaise Sentinel-2 (ESA ka satellite) ya Landsat (NASA ka satellite)) jo light reflect karte hain, usko hum Numpy Array mein badal chuke hain (yaad hai Rasterio Aur Numpy Ki Entrybaazi?). Ab is array ke andar ekdum zero se calculation karke jungle ki "health report" nikalni hai. Aaj ka scene hai Vegetation Indices ka. Isme do bade don hain—NDVI aur EVI. Agar ye do na samajh aaye, toh tera deforestation tracking ka sapna wahi khatam, goodnight. Isliye chai tight pakda, aur dhyan se padh. Agar dimag bhatak gaya, toh sar pe chappal marega koi. --- Asli Funda (Core Concepts) 1. NDVI (Normalized Difference Vegetation Index) - Jung ki Aadharshila Dekh bhai, asli scene ye hai ki har ped, ghaas, ya patta ekdum specific tarike se sunlight ko absorb (peeka) aur reflect (wapas throw) karta hai. Jab dhoop ped pe padti hai, toh ped ke andar ke chlorophyll (wo hi jo patta ko hara banata hai) Visible Light ka 'Red' band ekdum faad ke peek leta hai. Kyunki usko wo light photosynthesis ke liye chahiye. Lekin ekdum uske opposite, 'Near-Infrared' (NIR) light ko wo absorb nahi karta, balki usko ekdum zordar reflect kar deta hai. Jaise autorickshaw wala minimum fare wale passenger ko baithne se rok deta hai. 💡 Pro Tip: Healthy plant = Red light ki absorption high, NIR light ka reflection high. Dead plant ya barren zameen = Dono ko almost barabar reflect karega. Ye distinction hi humara asli jadoo hai. Ab isko math mein convert karte hain. Kyunki hum tapori log bhi formula ka respect karte hain. Formula hai: NDVI = (NIR - Red) / (NIR + Red) Samjha? Nahi? Chal, biryani ke example se samajh. Maan le tu biryani kha raha hai. NIR tere khaaye hue biryani ke massale hain, aur Red tere plate mein bache hue pyaz hain. Agar biryani ekdum mast hai (healthy vegetation), toh massala zyada hoga aur pyaz kam …

5. Ped Kaat Diya? Change Detection Se Pakdo

Abe sun, tera sharma ji ka beta job se nikal gaya na kal? Usne socha tha MBA karke CEO ban jaayega, ab ghar pe baithke UPSC ki taiyaari kar raha hai. Life ne aag lagaa di uski, aur tera deforestation project bhi aag lagani hai—bilkul literal wali aag. Kyunki bhai, jungle jal rahe hain, ped kat rahe hain, aur tu kya kar raha hai? Pichle 4 chapters mein baithke baadal (Baadal Hatao, Asli Scene Dekho) hatane mein laga tha! Upar se ekdum upar wale (GEE Account, Earth Engine Account:) ne data diya, tune Rasterio Aur Numpy Ki Entrybaazi mein usko array mein daal liya, aur NDVI se jungle ki health check kar li. Ab time aagaya hai asli gully ka kaam karne ka. Change Detection. Dekh, agar tu sirf ek time ka image dekh raha hai, toh tu wohi kar raha hai jo Sharma ji ka beta kar raha hai—past mein zinda, future se anjaan. Asli don wo hai jo kal aur aaj ko side-by-side rakhke bole, "Bhai, yahan kal 500 ped the, aaj ek bhi nahi. Kaun kaata? Pakdo usko!" Is chapter mein hum bilkul yahi karenge. Do timestamps ke images compare karenge, change find karenge, aur false positives ko filter out karke ekdum clean deforestation hotspots nikalenge. Chai le aa, ekdum kadak, kyunki dimag ghoomne wala hai. Asli Funda (Core Concepts) 1. Image Differencing: Bhai, Minus Wala Khel Sabse pehla basic sawaal: Do images mein difference kaise pata karein? Bhai, primary school mein maths mein kya padha tha? Minus! Jaise tu biryani order karta hai, aur agar delivery aane pe tumhe pehle se pata hai ki 3 tukde khaane ke baad 1 bacha hai, toh matlab 2 tukde khatam ho gaye. Waise hi, hum NDVI (ya koi bhi index) ki do images lenge—ek purani (Time 1) aur ek nayi (Time 2). Numpy Array mein dono ko ghusa, aur bas ek minus kar de: Change = NDVITime2 - NDVITime1 Agar kisi jagah pehle NDVI 0.8 tha (dense jungle) aur ab 0.2 hai (barren zameen), toh difference -0.6 hoga. Negative value ka matlab? Ped gayab! Yeh negative value hi tera pehla clue hai ki yahan gaddari hui hai. ⚠️ Common Mistake: Saale, date aur time mat bhool. Agar tu January (winter) aur June (summer) ki image compare karega, toh jungle naturally patla lagega. Tu chup-chap khud ko dhokha de dega aur bolega "Deforestation ho gaya!" Nahi hua BC, seasonal change hua. Same season, same month, alag saal ki image use kar. Samjha? Nahi samjha? Padh dubara, dimag lagaa. 2. Thresholding: Kahan Se Lakir Khinchu? Theek hai, tune minus kar diya. Ab array mein hazaron pixels hain. Kuch mein -0.6 hai, kuch mein +0.4 hai (naya ped ugg gaya), aur kuch …

6. Automated Alert System: Bina Chai Peeye Track Karo

Abe sun, raat ke 3 baj rahe hain. Tu screen ke aage baith kar haath mein chaay ka cup pakde soch raha hai, "Bhai, kal subah 6 baje Sentinel-2 ka naya data aayega, main uth kar script run karunga, cloud mask karunga, NDVI nikalunga, aur change detection kar lunga." BC, tera toh alarm lagna band ho gaya pehle hafte mein hi! Tu autorickshaw wale pe bharosa karta hai ki wo meter se sahi paisa lega, kya tu apne neend pe bharosa karega? Tu so gaya, aur tab tak Amazonya ke kisi anjaan shaiton ne 100 hectare jungle kaat diya. Tu neend mein khurrate le raha hai aur duniya ka jungle khatam ho raha hai. Saale, manual monitoring chhod de. Tu scientist nahi, hacker hai. Tujhe aisa system banana hai jo bina chai peeye, bina tera muh dekhe, 24/7 kaam kare. Jab koi saala ek bhi ped katega, tera system turant chokhha ho jaye aur tera Telegram pe message aaye: "Boss, yahan jungle kaat rahe hain, le le inki class!" Isko kehte hain Automated Alert System. Aaj tujhe asli street-level automation sikhani hai. GEE ke batch jobs, AWS Lambda, Cron jobs, aur Telegram alerts. Pehle 5 chapters mein tu nanga hathodiya banke data nikalta tha, aaj tu wo system banayega jo apne aap saans lega. Ready? Collar pakad, chalo. Asli Funda (Core Concepts) Dekh bhai, automation ka funda bilkul simple hai. Tujhe teen cheezon ki zaroorat hai: 1. Timer (Cron Job): Ek ghari (alarm clock) jo subah 6 baje uthaye. 2. Karkhana (Compute Engine): Ek jagah jo tera Python script run kare (GEE ya AWS Lambda). 3. Dakia (Notification API): Jo result leke tera phone tak pahunch jaye (Telegram ya Email). Samjha? Nahi? Padh dubara, dimag lagaa. 1. Timer Ka Kaam: Cron Jobs Ka Jugaad Saale, tu Windows mein task scheduler use karta tha apne PC mein, but ab hum cloud pe khel rahe hain. Yahan Cron Jobs chalta hai. Cron ek time-based job scheduler hai Linux/Unix systems mein. Cron expression dikhta hai aise: 0 6 Ye kya bolta hai? - Pehla 0: Minute (0th minute) - Doosra 6: Hour (6 baje) - Teesra : Din (har din) - Choutha : Month (har mahine) - Paanchwa : Weekday (har hafta) Toh 0 6 matlab "Bhai, har din subah 6 baje uth jaa aur kaam kar." 💡 Pro Tip: Satellite data UTC time mein aata hai. India UTC+5:30 hai. Agar tujhe subah 10 baje Indian time pe data chahiye, toh UTC mein 4:30 AM set karna padega. Time zone ka chakkar na samajh ke mat chdiya kar. 2. Karkhana: GEE Batch Jobs vs AWS Lambda Ab data aaya, script run kahan hoga? Tere PC pe? Saale, agar bijli chali gayi toh? Agar …

7. Map Pe Chhap: Visual Proof Dikhao

Bhai, raat ke 3 baj rahe hain. Room mein sirf cooler ki awaaz aur keyboard ke click-clack ki sound. Tu 6 chapter survive kar liya. Tune satellite data uthaya, array mein dala, baadal hatauye, NDVI nikala, deforestation detect kiya, alert system tak ka setup kar liya. Lekkin... kya faada? Agar tu ye sab data apne Jupyter Notebook ke andar plt.imshow() chala ke kisi bore-saare graph mein chhod dega, toh koi bhi nahi samjhega. Teri mehnat ka koi value nahi hai. Tu local train mein chadhke window seat pe baith gaya, lekin destination ka station aane wala hai aur tu so raha hai. Uth saale! Asli game ab shuru hota hai. Data nikal, story bana, aur duniya ke saamne map pe chhap laga ke dikha. "Dekh, ye raha proof — yahaan ped kaat diye gaye." Boss-level presentation ka time hai. Folium ko ghusa, interactive map bana, aur sabse bada — apne boss, investor, ya government official ko ek aisa map dikha jo unhe chup karwa de. Asli Funda (Core Concepts) Folium: Python Ka Magic Wand Bhai, dekh. Folium aise samajh, jaise tu Swiggy pe biryani order karta hai. Tu Swiggy app pe button dabaata hai "Order Karo", aur background mein kya hota hai — restaurant ko notification jaata, delivery boy assign hota hai, payment gateway trigger hoti hai — tu woh sab nahi dekhta. Tu sirf "Order Placed" aur hot biryani dekhta hai. Folium bhi exactly aisa hai. Pehle se bana hua Leaflet.js (JavaScript ka ek badass mapping library) hai. JavaScript likhna saala dimag kharab kar deta hai. Brackets, semicolons, kya maa chd raha hai sacchi mein. Folium tujhe Python likhne deta hai, aur background mein wo JavaScript ka code generate karke browser ko serve karta hai. Tu Python likhega, browser interactive map dega. Jugaad level: Sachin Tendulkar ka straight drive. Coordinate System Ka Khel Folium ko sirf ek cheez chahiye — Latitude aur Longitude. WGS84 coordinate system, jise humne pehle EPSG:4326: ke naam pe pehchaana tha. ⚠️ Common Mistake: Saale, tu apna data UTM Zones (jaise EPSG:32644) mein chhod dega aur Folium mein daal dega, toh map pe tera deforestation hotspot Antarctica mein chala jaayega. "Bhai main Amazon jungle track kar raha tha, ye penguin kahan se aa gaya?" wali situation ho jaayegi. Rasterio aur Numpy se data nikalte hi, coordinates ko WGS84 (Lat/Lon) mein convert kar, tab hi Folium ko feed karna. Heatmaps: Data Ka Hulla Bol Agar tere paas 500 deforestation points hain, toh un sab pe marker lagayega toh map ekdum bina kele ke jungle jaisa lagega. Pura mess. Isliye Heatmap use karta hai. Bhai ye aise samajh, jaise Mumbai ki garmi mein tapri pe chai ka bada khada ho. Jitne zyada log ek jagah khade hain, …

Continue learning