Bhain monatóireacht comhshaoil, talmhaíocht, pleanáil uirbeach, bainistíocht tubaiste, agus staidéir ar athrú aeráide tairbhe as anailís íomháineachais satailíte.
Is féidir linn léargais shuntasacha a fháil ar shaintréithe, athruithe agus dinimic ár bplainéad trí leas a bhaint as an méid ollmhór sonraí a thaifeadann satailítí a bhreathnaíonn ar an Domhan.
Tairgeann Python, teanga ríomhchlárúcháin ilúsáideach agus láidir, éiceachóras saibhir de leabharlanna agus d’uirlisí chun íomhánna satailíte a phróiseáil go tapa agus go héifeachtach.
An úsáid a bhaint anailís íomháineachas satailíte osclaíonn sé saol na bhféidearthachtaí. Cuireann sé ar ár gcumas faisnéis úsáideach a bhaint as grianghraif satailíte, mar chatagóiriú clúdaigh talún, meastóireacht ar shláinte fásra, rianú leathnú uirbeach, agus léarscáiliú cladaigh.
Is féidir linn íomhánna satailíte a phróiseáil, a thaispeáint agus a anailísiú go héasca trí leas a bhaint as solúbthacht agus modúil Python mar rasterio, numpy, agus matplotlib.
Ceann de na príomhbhuntáistí a bhaineann le Python a úsáid le haghaidh anailíse íomhánna satailíte ná a raon leathan de mhodúil próiseála sonraí geospásúla.
Tá comhéadan simplí ag Rasterio, mar shampla, chun faisnéis raster a léamh agus a mhodhnú, rud a fhágann go bhfuil sé oiriúnach chun oibriú le comhaid íomháineachais satailíte.
Soláthraíonn an modúl numpy oibríochtaí eagair sofaisticiúla chun ríomhaireachtaí tapa agus staitisticí ar shonraí pictiúr a dhéanamh. Cuireann Matplotlib ar ár gcumas freisin amhairc ábhartha a ghiniúint chun cabhrú le torthaí anailíse a léirmhíniú agus a chur in iúl.
Sna hailt seo a leanas, féachfaimid ar fhíorshamplaí agus sníomhanna cód chun a thaispeáint conas is féidir Python a úsáid chun anailís a dhéanamh ar ghrianghraif satailíte.
Rachaimid ar an gcaoi le grianghraif satailíte a oscailt, sonraí íomháithe a shamhlú, meiteashonraí a bhaint as, staitisticí bannaí a ríomh, agus anailís ar leith a dhéanamh ar nós an Innéacs Fásra Difríochta Normalaithe (NDVI).
Cabhróidh na samplaí seo leat chun tús a chur leis an topaic shuimiúil anailís ar íomhánna satailíte le Python.
Ar dtús, ní mór dúinn roinnt leabharlann a allmhairiú chun cabhrú linn lenár dtasc.
import rasterio
import matplotlib.pyplot as plt
import numpy as np
1. Amharcléiriú agus Oscailt an Íomhá Satailíte
Déanfaimid leabharlann Rasterio sa roinn seo rochtain a fháil ar an íomhá satailíte a sholáthraíonn an satellite_image_path.
Osclaítear an comhad íomhá ag baint úsáide as an modh rasterio.open(), agus seasann an réad dá bharr, satellite_image, don íomhá a osclaíodh.
Don tasc seo, bhain mé úsáid as an íomhá ón nasc seo: https://unsplash.com/photos/JiuVoQd-ZLk agus shábháil mé é ar mo ríomhaire mar “satellite.jpg”.
# Open the satellite image using rasterio
satellite_image_path = 'satellite.jpg'
satellite_image = rasterio.open(satellite_image_path)
Tar éis dúinn an pictiúr a oscailt, léigh muid é mar eagar ag baint úsáide as feidhm léite() an réad satailíte_image. Stóráiltear na luachanna picteilín do gach banda de na pictiúir satailíte san eagar íomhánna.
# Read the image as an array
image_array = satellite_image.read()
Chun an pictiúr satailíte a mheas go radhairc, úsáidimid an uirlis matplotlib.pyplot chun figiúr 10×10-orlach a ghiniúint.
Taispeántar an t-eagar pictiúr ag baint úsáide as an modh imshow(). Baintear úsáid as an oibríocht trasuímh (1, 2, 0) chun toisí an eagar pictiúr a athshocrú chun an t-ord a bhfuil imshow() ag súil leis a chur in oiriúint.
Ar deireadh, folaíonn an ais ('as') lipéid na n-aiseanna, ag tabhairt radharc soiléir ar an bpictiúr satailíte.
# Visualize the image
plt.figure(figsize=(10, 10))
plt.imshow(image_array.transpose(1, 2, 0))
plt.axis('off')
plt.show()
2. Eastóscadh Meiteashonraí
Bainimid amach faisnéis ríthábhachtach meiteashonraí faoin bpictiúr satailíte tar éis é a oscailt agus a thaispeáint. Cabhraíonn an t-eolas seo linn cáilíochtaí na híomhá a thuiscint agus cuireann sé comhthéacs ar fáil le haghaidh fiosrúcháin sa todhchaí.
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)
Trí úsáid a bhaint as tréithe leithead agus airde an oibiachta satailíte_image, bainimid leithead agus airde na híomhá. Úsáidtear an t-airí crs chun córas tagartha comhordanáidí (CRS) na híomhá a aisghabháil.
Tugann an CRS faisnéis ar chóras tagartha spásúil an phictiúir, rud a ligeann dúinn comhordanáidí íomhá a mheaitseáil le háiteanna sa saol fíor.
Ar deireadh, úsáidimid aitreabúid comhairimh an oibiachta satailíte_image chun líon na mbandaí san íomhá a ríomh. Tá na sonraí seo ríthábhachtach le haghaidh anailíse níos déanaí mar ligeann sé dúinn na luachanna picteilín a fháil do gach banda san eagar pictiúr.
3. Ríomh Staitisticí Banna
Ríomhaimid staitisticí do gach banda san eagar pictiúr sa chuid seo. Athraítear lúb trasna gach banda, agus úsáidtear feidhmeanna numpy min, max, mean, agus std chun na staitisticí seo a ríomh.
Stórálann liosta foclóirí na staitisticí do gach banna.
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)
Timthriallta na lúb trasna gach banda, agus an banda inathraithe ag léiriú an t-innéacs banda. Ag baint úsáide as image_array[band], bainimid na luachanna picteilín as an eagar íomhánna do gach banda.
Ansin, don bhanda reatha, úsáidtear na feidhmeanna np.min(), np.max(), np.mean(), agus np.std() chun diallas íosta, uasta, meán agus caighdeánach na bpicteilín a chinneadh luachanna.
Déantar na sonraí ríofa do gach banda a shábháil i bhfoclóir le heochracha mar 'Banna,' 'Min,' 'Max,' 'Mean,' agus 'Std. Tá gach foclóir i gceangal leis an liosta stats banda. Ar deireadh, déantar sonraí gach banna a phriontáil chuig an consól.
4. NDVI (Innéacs Fásra Difríochta Normalaithe) a Ríomh
Is beart coitianta é an NDVI chun sláinte plandaí a thomhas. San alt seo, déanaimid seiceáil le feiceáil an bhfuil ceithre bhanna ar a laghad sa phictiúr, atá ag teastáil le haghaidh ríomh 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.")
Chun tús a chur leis, leagamar na hathróga red_band agus nir_band chuig Dada. Úsáidtear an athróg image_count ansin le fáil amach an bhfuil ceithre bhanda ar a laghad san íomhá.
Más amhlaidh atá, tátal againn gurb é an banna dearg innéacs 2 agus is é an banda gar-infridhearg (NIR) ná innéacs 3. Sanntar na bannaí meaitseála ón eagar pictiúr do na hathróga red_band agus nir_band.
Má tá an banna dearg agus an banda NIR araon inrochtana, ríomhtar an NDVI ag baint úsáide as an bhfoirmle (NIR – Dearg) / (NIR + Dearg). Léiríonn na huimhreacha NDVI a leanann an t-innéacs fásra do gach picteilín sa phictiúr.
Feicimid an NDVI ansin trí fhíor nua a chruthú agus an t-eagar NDVI a thaispeáint ag baint úsáide as imshow(). Cuireann modh an bharra datha() barra datha leis an plota, ag tabhairt tagairt amhairc do na luachanna NDVI.
Chun díriú go hiomlán ar thaispeántas NDVI, sonraímid freisin fotheideal don phlota agus bainimid na lipéid ais leis an ais ('as'). Ar deireadh, taispeántar an plota le plt.show().
Scríobhtar teachtaireacht earráide chuig an gconsól mura bhfuil na bandaí riachtanacha sa phictiúr le haghaidh ríomh NDVI (.i. níos lú ná ceithre bhanda).
5. An Íomhá Satailíte a Chríochnú
Is é an cleachtas is fearr an fheidhm close() a úsáid chun an pictiúrchomhad satailíte a dhúnadh tar éis an anailís agus an amharc a dhéanamh. Saorann sé seo aon acmhainní córais atá nasctha leis an gcomhad pictiúir.
satellite_image.close()
Seo é mo réiteach:
Sin é!
Nótaí Deiridh
Tá ról Python maidir le cuidiú le staidéar a dhéanamh ar na tacair shonraí ollmhóra seo ag éirí níos tábhachtaí de réir mar a mhéadaítear infhaighteacht agus réiteach íomhánna satailíte.
Cuireann an cumas Python a úsáid chun íomhánna satailíte a rochtain, a phróiseáil, a anailísiú agus a thaispeáint, an cosán d'fheidhmchláir chruthaitheacha agus léargais a d'fhéadfadh athrú maith agus eolas níos fearr ar ár ndomhan a thiomáint.
Cuimhnigh iniúchadh a dhéanamh ar an rogha mór acmhainní, ranganna teagaisc, agus leabharlanna atá ar fáil chun do chuid eolais agus cumais a mhéadú agus tú ag leanúint ar aghaidh le d'eachtra in anailís íomháineachais satailíte ag baint úsáide as Python.
Lean ort le suim a bheith agat, déan iniúchadh agus bain úsáid as cumais Python chun na rúndiamhra atá curtha taobh istigh de phictiúir satailíte a nochtadh.
Leave a Reply