పర్యావరణ పర్యవేక్షణ, వ్యవసాయం, పట్టణ ప్రణాళిక, విపత్తు నిర్వహణ మరియు వాతావరణ మార్పుల అధ్యయనాలు ఉపగ్రహ చిత్రాల విశ్లేషణ నుండి ప్రయోజనం పొందాయి.
భూమిని పరిశీలించే ఉపగ్రహాల ద్వారా నమోదు చేయబడిన భారీ మొత్తంలో డేటాను ఉపయోగించడం ద్వారా మన గ్రహం యొక్క లక్షణాలు, మార్పులు మరియు డైనమిక్స్పై ముఖ్యమైన అంతర్దృష్టులను మనం పొందవచ్చు.
పైథాన్, బహుముఖ మరియు బలమైన ప్రోగ్రామింగ్ భాష, వేగవంతమైన మరియు సమర్థవంతమైన ఉపగ్రహ చిత్రాల ప్రాసెసింగ్ కోసం లైబ్రరీలు మరియు సాధనాల యొక్క గొప్ప పర్యావరణ వ్యవస్థను అందిస్తుంది.
దాని యొక్క ఉపయోగం ఉపగ్రహ చిత్రాల విశ్లేషణ అవకాశాల ప్రపంచాన్ని తెరుస్తుంది. భూ కవర్ వర్గీకరణ, వృక్షసంపద ఆరోగ్య మూల్యాంకనం, పట్టణ విస్తరణను ట్రాక్ చేయడం మరియు తీరప్రాంత మ్యాపింగ్ వంటి ఉపగ్రహ ఫోటోల నుండి ఉపయోగకరమైన సమాచారాన్ని సేకరించేందుకు ఇది మాకు వీలు కల్పిస్తుంది.
పైథాన్ యొక్క బహుముఖ ప్రజ్ఞ మరియు rasterio, numpy మరియు matplotlib వంటి మాడ్యూల్లను ఉపయోగించడం ద్వారా మేము ఉపగ్రహ చిత్రాలను సులభంగా ప్రాసెస్ చేయవచ్చు, ప్రదర్శించవచ్చు మరియు విశ్లేషించవచ్చు.
ఉపగ్రహ చిత్రాల విశ్లేషణ కోసం పైథాన్ను ఉపయోగించడం యొక్క ప్రాథమిక ప్రయోజనాల్లో ఒకటి దాని విస్తృత శ్రేణి జియోస్పేషియల్ డేటా ప్రాసెసింగ్ మాడ్యూల్స్.
ఉదాహరణకు, Rasterio, రాస్టర్ సమాచారాన్ని చదవడానికి మరియు సవరించడానికి ఒక సాధారణ ఇంటర్ఫేస్ను కలిగి ఉంది, ఇది ఉపగ్రహ చిత్రాల ఫైల్లతో పని చేయడానికి అనుకూలంగా ఉంటుంది.
చిత్రం డేటాపై వేగవంతమైన గణనలు మరియు గణాంకాలను నిర్వహించడానికి నంపీ మాడ్యూల్ అధునాతన శ్రేణి కార్యకలాపాలను అందిస్తుంది. మ్యాట్ప్లోట్లిబ్ విశ్లేషణాత్మక ఫలితాల యొక్క వివరణ మరియు కమ్యూనికేషన్లో సహాయం చేయడానికి సంబంధిత విజువల్స్ను రూపొందించడానికి కూడా మాకు వీలు కల్పిస్తుంది.
కింది విభాగాలలో, ఉపగ్రహ ఫోటోలను విశ్లేషించడానికి పైథాన్ను ఎలా ఉపయోగించవచ్చో చూపించడానికి మేము వాస్తవ ఉదాహరణలు మరియు కోడ్ స్నిప్పెట్లను పరిశీలిస్తాము.
మేము శాటిలైట్ ఫోటోలను ఎలా తెరవాలి, ఇమేజింగ్ డేటాను విజువలైజ్ చేయడం, మెటాడేటాను సంగ్రహించడం, బ్యాండ్ గణాంకాలను లెక్కించడం మరియు సాధారణీకరించిన వ్యత్యాస వృక్ష సూచిక (NDVI) వంటి నిర్దిష్ట విశ్లేషణను ఎలా అమలు చేయాలి.
పైథాన్తో ఉపగ్రహ చిత్రాల విశ్లేషణ యొక్క చమత్కారమైన అంశంలో ప్రారంభించడానికి ఈ ఉదాహరణలు మీకు సహాయపడతాయి.
ముందుగా, మన పనిలో మాకు సహాయం చేయడానికి కొన్ని లైబ్రరీలను దిగుమతి చేసుకోవాలి.
import rasterio
import matplotlib.pyplot as plt
import numpy as np
1. ఉపగ్రహ చిత్రాన్ని దృశ్యమానం చేయడం మరియు తెరవడం
satellite_image_path ద్వారా సరఫరా చేయబడిన ఉపగ్రహ చిత్రాన్ని యాక్సెస్ చేయడానికి మేము ఈ విభాగంలో Rasterio లైబ్రరీని చేస్తాము.
ఇమేజ్ ఫైల్ rasterio.open() పద్ధతిని ఉపయోగించి తెరవబడుతుంది మరియు ఫలిత వస్తువు, satellite_image, తెరిచిన చిత్రాన్ని సూచిస్తుంది.
ఈ టాస్క్ కోసం, నేను ఈ లింక్ నుండి చిత్రాన్ని ఉపయోగించాను: https://unsplash.com/photos/JiuVoQd-ZLk మరియు దానిని నా కంప్యూటర్లో “satellite.jpg”గా సేవ్ చేసాను.
# Open the satellite image using rasterio
satellite_image_path = 'satellite.jpg'
satellite_image = rasterio.open(satellite_image_path)
చిత్రాన్ని తెరిచిన తర్వాత, మేము దానిని satellite_image ఆబ్జెక్ట్ యొక్క రీడ్() ఫంక్షన్ని ఉపయోగించి శ్రేణిగా చదువుతాము. ఉపగ్రహ చిత్రాల యొక్క ప్రతి బ్యాండ్ యొక్క పిక్సెల్ విలువలు చిత్ర శ్రేణిలో నిల్వ చేయబడతాయి.
# Read the image as an array
image_array = satellite_image.read()
ఉపగ్రహ చిత్రాన్ని దృశ్యమానంగా అంచనా వేయడానికి, మేము 10×10-అంగుళాల బొమ్మను రూపొందించడానికి matplotlib.pyplot సాధనాన్ని ఉపయోగిస్తాము.
చిత్ర శ్రేణి imshow() పద్ధతిని ఉపయోగించి చూపబడుతుంది. imshow() ద్వారా ఊహించిన క్రమానికి సరిపోయేలా చిత్ర శ్రేణి యొక్క కొలతలు పునర్వ్యవస్థీకరించడానికి ట్రాన్స్పోజ్(1, 2, 0) ఆపరేషన్ ఉపయోగించబడుతుంది.
చివరగా, అక్షం('ఆఫ్') అక్షం లేబుల్లను దాచి, ఉపగ్రహ చిత్రం యొక్క స్పష్టమైన వీక్షణను అందిస్తుంది.
# Visualize the image
plt.figure(figsize=(10, 10))
plt.imshow(image_array.transpose(1, 2, 0))
plt.axis('off')
plt.show()
2. మెటాడేటా సంగ్రహణ
మేము ఉపగ్రహ చిత్రాన్ని తెరిచి ప్రదర్శించిన తర్వాత దాని గురించి ముఖ్యమైన మెటాడేటా సమాచారాన్ని సంగ్రహిస్తాము. ఈ సమాచారం చిత్రం యొక్క లక్షణాలను అర్థం చేసుకోవడంలో మాకు సహాయపడుతుంది మరియు భవిష్యత్తు పరిశోధన కోసం సందర్భాన్ని అందిస్తుంది.
image_width = satellite_image.width
image_height = satellite_image.height
image_crs = satellite_image.crs
image_count = satellite_image.count
print("Image Width:", image_width)
print("Image Height:", image_height)
print("Coordinate Reference System:", image_crs)
print("Number of Bands:", image_count)
satellite_image వస్తువు యొక్క వెడల్పు మరియు ఎత్తు లక్షణాలను ఉపయోగించి, మేము చిత్రం వెడల్పు మరియు ఎత్తును సంగ్రహిస్తాము. చిత్రం యొక్క కోఆర్డినేట్ రిఫరెన్స్ సిస్టమ్ (CRS)ని తిరిగి పొందడానికి crs ఆస్తి ఉపయోగించబడుతుంది.
CRS చిత్రం యొక్క స్పేషియల్ రిఫరెన్స్ సిస్టమ్పై సమాచారాన్ని అందిస్తుంది, ఇది చిత్ర కోఆర్డినేట్లను వాస్తవ-ప్రపంచ ప్రదేశాలకు సరిపోల్చడానికి అనుమతిస్తుంది.
చివరగా, చిత్రంలో ఉన్న బ్యాండ్ల సంఖ్యను లెక్కించడానికి మేము satellite_image ఆబ్జెక్ట్ యొక్క కౌంట్ అట్రిబ్యూట్ని ఉపయోగిస్తాము. ఈ డేటా తదుపరి విశ్లేషణకు కీలకం ఎందుకంటే ఇది చిత్ర శ్రేణిలోని ప్రతి బ్యాండ్కు పిక్సెల్ విలువలను పొందేందుకు అనుమతిస్తుంది.
3. బ్యాండ్ గణాంకాల గణన
మేము ఈ భాగంలో చిత్ర శ్రేణిలోని ప్రతి బ్యాండ్కు సంబంధించిన గణాంకాలను గణిస్తాము. ప్రతి బ్యాండ్లో ఒక లూప్ పునరావృతమవుతుంది మరియు ఈ గణాంకాలను గణించడానికి నంపీ లైబ్రరీ యొక్క నిమి, గరిష్టం, సగటు మరియు std ఫంక్షన్లు ఉపయోగించబడతాయి.
నిఘంటువుల జాబితా ప్రతి బ్యాండ్కు సంబంధించిన గణాంకాలను నిల్వ చేస్తుంది.
band_stats = []
for band in range(image_count):
band_data = image_array[band]
band_min = np.min(band_data)
band_max = np.max(band_data)
band_mean = np.mean(band_data)
band_std = np.std(band_data)
band_stats.append({'Band': band+1, 'Min': band_min, 'Max': band_max, 'Mean': band_mean, 'Std': band_std})
print("Band Statistics:")
for stats in band_stats:
print(stats)
బ్యాండ్ ఇండెక్స్ను సూచించే వేరియబుల్ బ్యాండ్తో ప్రతి బ్యాండ్లో లూప్ సైకిల్స్. image_array[band]ని ఉపయోగించి, మేము ప్రతి బ్యాండ్ కోసం చిత్ర శ్రేణి నుండి పిక్సెల్ విలువలను సంగ్రహిస్తాము.
అప్పుడు, ప్రస్తుత బ్యాండ్ కోసం, పిక్సెల్ యొక్క కనిష్ట, గరిష్ట, సగటు మరియు ప్రామాణిక విచలనాన్ని నిర్ణయించడానికి np.min(), np.max(), np.mean(), మరియు np.std() ఫంక్షన్లు ఉపయోగించబడతాయి. విలువలు.
ప్రతి బ్యాండ్ కోసం లెక్కించబడిన డేటా 'బ్యాండ్,' 'మిన్,' 'మాక్స్,' 'మీన్,' మరియు 'స్టేడ్ వంటి కీలతో డిక్షనరీలో సేవ్ చేయబడుతుంది. ప్రతి నిఘంటువు బ్యాండ్ గణాంకాల జాబితాకు జోడించబడుతుంది. చివరగా, ప్రతి బ్యాండ్ యొక్క డేటా కన్సోల్కు ముద్రించబడుతుంది.
4. NDVI (నార్మలైజ్డ్ డిఫరెన్స్ వెజిటేషన్ ఇండెక్స్) గణన
NDVI అనేది మొక్కల ఆరోగ్యాన్ని కొలవడానికి ఒక ప్రసిద్ధ కొలత. ఈ విభాగంలో, NDVI గణనకు అవసరమైన కనీసం నాలుగు బ్యాండ్లు చిత్రంలో ఉన్నాయో లేదో తనిఖీ చేస్తాము.
red_band = None
nir_band = None
if image_count >= 4:
red_band = image_array[2] # assuming red band is at index 2
nir_band = image_array[3] # assuming near-infrared band is at index 3
if red_band is not None and nir_band is not None:
ndvi = (nir_band - red_band) / (nir_band + red_band)
# Visualize the NDVI
plt.figure(figsize=(10, 10))
plt.imshow(ndvi, cmap='RdYlGn')
plt.colorbar(label='NDVI')
plt.title('Normalized Difference Vegetation Index (NDVI)')
plt.axis('off')
plt.show()
else:
print("Error: The satellite image does not have the required bands for NDVI calculation.")
ప్రారంభించడానికి, మేము red_band మరియు nir_band వేరియబుల్స్ను Noneకి సెట్ చేసాము. చిత్రం కనీసం నాలుగు బ్యాండ్లను కలిగి ఉందో లేదో తెలుసుకోవడానికి image_count వేరియబుల్ ఉపయోగించబడుతుంది.
అలా అయితే, మేము రెడ్ బ్యాండ్ ఇండెక్స్ 2 అని మరియు సమీప-ఇన్ఫ్రారెడ్ (NIR) బ్యాండ్ ఇండెక్స్ 3 అని ఊహించాము. చిత్ర శ్రేణి నుండి సరిపోలే బ్యాండ్లు వేరియబుల్స్ red_band మరియు nir_bandకి కేటాయించబడతాయి.
ఎరుపు మరియు NIR బ్యాండ్లు రెండూ యాక్సెస్ చేయగలిగితే, NDVI ఫార్ములా (NIR – Red) / (NIR + Red) ఉపయోగించి లెక్కించబడుతుంది. ఫలితంగా వచ్చే NDVI సంఖ్యలు చిత్రంలో ప్రతి పిక్సెల్కు వృక్షసంపద సూచికను సూచిస్తాయి.
మేము కొత్త బొమ్మను సృష్టించడం ద్వారా మరియు imshow() ఉపయోగించి NDVI శ్రేణిని ప్రదర్శించడం ద్వారా NDVIని చూస్తాము. కలర్బార్() పద్ధతి ప్లాట్కు కలర్బార్ని జోడిస్తుంది, NDVI విలువలకు దృశ్య సూచనను ఇస్తుంది.
NDVI డిస్ప్లేపై పూర్తిగా దృష్టి కేంద్రీకరించడానికి, మేము ప్లాట్కు అదనంగా ఒక శీర్షికను నిర్దేశిస్తాము మరియు యాక్సిస్ ('ఆఫ్')తో అక్షం లేబుల్లను తీసివేస్తాము. చివరగా, ప్లాట్ plt.show()తో చూపబడింది.
చిత్రంలో NDVI గణనకు అవసరమైన బ్యాండ్లు లేనట్లయితే (అంటే, నాలుగు బ్యాండ్ల కంటే తక్కువ) లోపం సందేశం కన్సోల్కు వ్రాయబడుతుంది.
5. ఉపగ్రహ చిత్రాన్ని దగ్గరగా తీసుకురావడం
విశ్లేషణ మరియు వీక్షించిన తర్వాత ఉపగ్రహ చిత్ర ఫైల్ను మూసివేయడానికి క్లోజ్() ఫంక్షన్ను ఉపయోగించడం ఉత్తమ పద్ధతి. ఇది పిక్చర్ ఫైల్కి లింక్ చేయబడిన ఏదైనా సిస్టమ్ వనరులను ఖాళీ చేస్తుంది.
satellite_image.close()
ఇక్కడ నా పరిష్కారం ఉంది:
అంతే!
ఫైనల్ నోట్స్
ఉపగ్రహ చిత్రాల లభ్యత మరియు స్పష్టత పెరిగే కొద్దీ ఈ భారీ డేటాసెట్ల అధ్యయనానికి సహాయం చేయడంలో పైథాన్ పాత్ర చాలా ముఖ్యమైనది.
ఉపగ్రహ చిత్రాలను యాక్సెస్ చేయడానికి, ప్రాసెస్ చేయడానికి, విశ్లేషించడానికి మరియు చూపించడానికి పైథాన్ని ఉపయోగించగల సామర్థ్యం సృజనాత్మక అనువర్తనాలు మరియు మన ప్రపంచం గురించి మంచి మార్పును మరియు గొప్ప జ్ఞానాన్ని కలిగించే అంతర్దృష్టులకు మార్గాన్ని అందిస్తుంది.
మీరు పైథాన్ని ఉపయోగించి ఉపగ్రహ చిత్రాల విశ్లేషణలో మీ సాహసయాత్రను కొనసాగిస్తున్నప్పుడు మీ జ్ఞానం మరియు సామర్థ్యాలను పెంచుకోవడానికి అందుబాటులో ఉన్న వనరులు, ట్యుటోరియల్లు మరియు లైబ్రరీల యొక్క పెద్ద ఎంపికను అన్వేషించాలని గుర్తుంచుకోండి.
ఆసక్తిని కొనసాగించండి, అన్వేషించండి మరియు ఉపగ్రహ చిత్రాలలో దాగి ఉన్న రహస్యాలను వెలికితీసేందుకు పైథాన్ సామర్థ్యాలను ఉపయోగించండి.
సమాధానం ఇవ్వూ