5 pachete Python pentru analiza datelor geospațiale - KDnuggets

5 pachete Python pentru analiza datelor geospațiale – KDnuggets

Nodul sursă: 2202408

Analiza datelor geospațiale este critică în planificarea urbană, cercetarea mediului, agricultură și industriile de transport. Nevoia tot mai mare a dus la o creștere a utilizării pachetelor Python pentru diferite cerințe de analiză a datelor geografice, cum ar fi analiza modelelor climatice, investigarea dezvoltării urbane sau urmărirea răspândirii bolilor, printre altele. Evaluarea și selectarea instrumentelor potrivite cu capabilități rapide de procesare, modificare și vizualizare este esențială pentru a analiza și vizualiza în mod eficient datele geospațiale.

Este esențial mai întâi să înțelegem ce sunt datele geospațiale. Datele geospațiale sunt date cu o componentă geografică sau geografică care reprezintă poziția și calitățile obiectelor, caracteristicilor sau aparițiilor de pe suprafața Pământului. Descrie conexiunile spațiale, distribuțiile și proprietățile diverselor elemente din universul fizic. Datele geospațiale sunt în principal de două tipuri:

  • Date raster: Este potrivit pentru informații continue fără margini fixe, reprezentate ca o grilă de celule cu valori care indică caracteristicile observate. Este adesea monitorizat la intervale regulate și interpolat pentru a crea o suprafață continuă.
  • Date vectoriale: folosește puncte, linii și poligoane pentru a reprezenta proprietăți spațiale, inclusiv puncte de interes, rețele de transport, limite administrative și parcele de teren, adesea folosite pentru date discrete cu poziții precise sau constrângeri dure.

Datele geospațiale pot fi stocate într-o varietate de formate, cum ar fi:

  • ESRI Shapefile
  • GeoJSON
  • Erdas Imagine Format de fișier imagine (EIF)
  • GeoTIFF, Geopachet (GPKG)
  • GeoJSON, Detectarea luminii
  • Gaming (LiDAR) și multe altele.

Datele geospațiale cuprind diferite tipuri, cum ar fi imagini din satelit, modele de elevație, nori de puncte, clasificări de utilizare a terenurilor și informații bazate pe text, oferind informații valoroase pentru analiza spațială și luarea deciziilor în toate industriile. Corporații majore precum Microsoft, Google, Esri și Amazon Web Services folosesc datele geospațiale pentru informații valoroase. Să explorăm primele cinci pachete Python pentru analiza datelor geospațiale. Aceste pachete permit citirea/scrierea datelor, manipularea, vizualizarea, geocodarea și indexarea geografică, adresându-se utilizatorilor începători și experimentați. Descoperiți cum aceste pachete permit explorarea, vizualizarea și extragerea de informații eficiente din datele geospațiale. Sa incepem!

Potrivit pentru: Date vectoriale

Geopandas este o bibliotecă Python utilizată pe scară largă pentru lucrul cu date geospațiale vectoriale, oferind o gestionare intuitivă a datelor geografice în Pandas DataFrames. Acceptă formate precum Shapefiles și GeoJSON și oferă operațiuni spațiale, cum ar fi îmbinarea, gruparea și îmbinările spațiale. Geopandas se integrează perfect cu biblioteci populare precum Pandas, NumPy și Matplotlib. Poate gestiona seturi mari de date, dar acest lucru poate pune provocări. Pachetul Geopandas este utilizat în mod obișnuit pentru sarcinile de analiză a datelor spațiale, inclusiv îmbinări spațiale, interogări și operațiuni geospațiale, cum ar fi analizarea tamponului și intersecțiile. Geopandas necesită pachete diferite precum Shapely pentru a gestiona operațiunile geometrice, Fiona pentru a accesa fișierele și matplotlib pentru trasare.

De exemplu, Geopandas poate fi folosit pentru a explora datele imobiliare pentru a identifica cele mai scumpe cartiere dintr-un oraș sau pentru a analiza datele populației pentru a vizualiza modelele de creștere și migrație ale diferitelor comunități.

Putem folosi pip pentru a instala pachetul:

pip install geopandas

Complot cu GeoPandas

Să vedem hărțile încorporate așa cum se arată mai jos:

import geopandas # Check available maps
geopandas.datasets.available

 

Vom folosi Geopandas pentru a încărca un set de date al hărții lumii, a extrage fișierul de formă pentru Statele Unite și a-l reprezenta pe un grafic cu următorul cod:

# Selecting a particular map
geopandas.datasets.get_path('naturalearth_lowres')
# Open the selected map - GeoDataFrame
world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))
# Create a subset of the GeoDataFrame
usa = world[world.name == "United States of America"]
# Plot the subset
usa.plot();

 

Codul de mai sus tipărește o hartă a cadrului de date subsetului:

 

5 pachete Python pentru analiza datelor geospațiale

Potrivit pentru: Nori de puncte

Folium este o bibliotecă Python pentru crearea de hărți interactive cu markeri, ferestre pop-up, coroplete și alte vizualizări geospațiale. Se integrează cu biblioteca Leaflet JavaScript și permite exportul hărților în HTML. Poate fi combinat cu Geopandas și Cartopy și gestionează seturi mari de date folosind Map Tiles. Folium excelează prin simplitate, estetică și integrare cu alte biblioteci geospațiale. Cu toate acestea, pentru analiza și manipularea geospațială avansată, Folium poate avea limitări.

De exemplu, Folium ar putea fi utilizat în lanțul de aprovizionare și logistică pentru vizualizarea rețelelor de distribuție, optimizarea rutelor și monitorizarea locațiilor de expediere.

Putem instala Folium cu următoarea comandă:

pip install folium

 

Complot cu Folium

Să imprimăm un exemplu de hartă interactivă centrat pe [0, 0] cu un marcator plasat în aceeași locație cu următoarele linii de cod:

import folium
# Generate a Folium map with center coordinates (0, 0)
map = folium.Map(location=[0, 0], zoom_start=2)
# Locate the coordinates 0, 0
folium.Marker([0, 0]).add_to(map)
# Display the map
map

 

5 pachete Python pentru analiza datelor geospațiale
 

Această hartă poate fi personalizată în continuare prin adăugarea de marcatori, straturi sau opțiuni de stil bazate pe date geospațiale specifice.

Potrivit pentru: Nori de puncte, interactiv 

Pachetul ipyleaflet permite crearea ușoară de hărți interactive în Python, în special în notebook-urile Jupyter, permițând utilizatorilor să genereze și să partajeze hărți interactive cu diferite hărți de bază, markeri și alte operațiuni geospațiale. Construit pe biblioteca JavaScript de pliante, ipyleaflet acceptă straturi GeoJSON și WMS, stilul CSS și JavaScript și calcule geospațiale. În timp ce ipyleaflet excelează în widget-uri interactive, este posibil să nu fie ideal pentru proiecte pur bazate pe Python, datorită dependenței sale de JavaScript.

De exemplu, ipyleaflet poate fi aplicat în monitorizarea mediului pentru a vizualiza datele senzorilor, pentru a monitoriza calitatea aerului și pentru a evalua schimbările de mediu în timp real. 

Pentru a instala ipyleaflet, folosim comanda pip:

pip install ipyleaflet

Complot cu ipyleaflet

Să creăm o hartă interactivă cu un marker plasat la coordonatele (40.7128, -74.0060) pentru a reprezenta un punct de interes din New York City folosind codul de mai jos:

from ipyleaflet import Map, Marker
# Create the map
m = Map(center=(40.7128, -74.0060), zoom=12)
# Add the market
marker = Marker(location=(40.7128, -74.0060))
m.add_layer(marker)

 

Iată o ieșire pentru cod: 

 

5 pachete Python pentru analiza datelor geospațiale

Potrivit pentru: Date raster

Rasterio este o bibliotecă Python puternică pentru lucrul cu date raster geospațiale, oferind performanțe eficiente și o gamă largă de operațiuni, cum ar fi decuparea, reproiectarea și reeșantionarea. Acceptă diverse formate raster și se integrează bine cu alte biblioteci geospațiale, deși are limitări în gestionarea datelor vectoriale și a sarcinilor complexe de analiză. Cu toate acestea, Rasterio este un instrument esențial pentru manipularea și procesarea eficientă a datelor raster în Python.

De exemplu, rasterio poate fi folosit în sarcini precum citirea și scrierea imaginilor satelitare, efectuarea analizei terenului, extragerea datelor din modele digitale de altitudine și efectuarea analizei de teledetecție.

!pip install rasterio

 

Funcția rasterio.open() deschide fișierul, iar metoda read() citește imaginea ca o matrice numpy. În cele din urmă, funcția plt.imshow() de la Matplotlib este folosită pentru a afișa imaginea, iar plt.show() arată graficul în ieșire.

Complot cu rasterio

import rasterio
from rasterio.plot import show

 

Folosim biblioteca rasterio pentru a deschide și vizualiza o imagine raster din fișierul „sample.tif” din setul de date „Imagini GeoTIFF de înaltă rezoluție ale datelor climatice” pe kaggle, afișând canalul roșu (unul dintre canalele de culoare din imagine) ca un subplot cu o hartă de culori Roșii și imaginea originală (cuprinzând mai multe canale de culoare) ca un alt subplot cu o hartă de culori viridis. Alte canale de culoare, cum ar fi verde și albastru, pot fi, de asemenea, vizualizate folosind această abordare.

src = rasterio.open('/content/sample.tif')
plt.figure(figsize=(15,10))
fig, (axr, axg) = plt.subplots(1,2, figsize=(15,7))
show((src, 1), ax=axr, cmap='Reds', title='red channel')
show((src), ax=axg, cmap='viridis', title='original image')
plt.show()

 

5 pachete Python pentru analiza datelor geospațiale
Imagine originală GeoTIFF (dreapta) sursă: kaggle.com
 

Analiza canalelor de culoare specifice, cum ar fi roșu, albastru și verde în analiza geospațială se face pentru a se concentra sau a extrage informații valoroase legate de atribute, caracteristici sau caracteristici specifice reprezentate de acele componente de culoare ale imaginii. Exemplele ar putea include sănătatea vegetației în teledetecție, indici de vegetație sau corpuri de apă etc.

Potrivit pentru: date vectoriale, interactive

Geoplot este o bibliotecă Python ușor de utilizat pentru a crea rapid vizualizări geospațiale atractive, inclusiv hărți coropletice și diagrame de dispersie. Se integrează perfect cu bibliotecile populare de manipulare a datelor, cum ar fi Pandas, și acceptă mai multe proiecții de hărți. Cu toate acestea, Geoplot are limitări în ceea ce privește suportul pentru hărți interactive și o gamă mai mică de tipuri de parcele decât bibliotecile geospațiale specializate. Cu toate acestea, rămâne valoroasă pentru vizualizarea rapidă a datelor geospațiale și pentru obținerea de informații despre modelele spațiale.

!pip install geoplot

Complot cu geoplot

Vom trasa o vizualizare a hărții coropletice folosind Geoplot, unde vom selecta țările asiatice dintr-un fișier de formă mondial pe baza atributului „continent”, atribuim intensitatea culorii pe baza atributului „pop_est” și vom reprezenta harta folosind culoarea „icefire”. hartă cu o legendă cu dimensiunea figurii de 10 pe 5.

import geoplot
#Plotting population for Asia
asia = world.query("continent == 'Asia'")
geoplot.choropleth(asia, hue = "pop_est", cmap = "icefire",legend=True, figsize = (10, 5));

 

5 pachete Python pentru analiza datelor geospațiale
 

De exemplu, pachetul geoplot poate crea hărți coropletice pentru a vizualiza densitatea populației, a reprezenta modele spațiale ale incidentelor criminale, a afișa distribuția factorilor de mediu și a analiza răspândirea bolilor pe baza datelor geografice.

În concluzie, pachetele geospațiale Python ajută la analiza eficientă a informațiilor bazate pe locație. Fiecare dintre pachetele discutate are punctele sale forte și punctele slabe, dar împreună pot forma o suită puternică de instrumente Python atunci când lucrează cu date geospațiale. Deci, pentru începători sau profesioniști GIS experimentați, aceste pachete sunt valoroase pentru analiza, vizualizarea și manipularea datelor geospațiale în moduri noi și inovatoare.

Puteți găsi codul pentru acest articol în depozitul meu GitHub aici

Dacă ați găsit acest articol perspicace, contactați-mă LinkedIn și Twitter. Amintește-ți să mă urmărești Kaggle, unde puteți accesa proiectele mele de învățare automată și de deep learning, notebook-uri și vizualizări de date captivante.
 
 
Devashree Madhugiri deține o diplomă de M.Ing în Tehnologia Informației din Germania și are un fundal în știința datelor. Îi place să lucreze la diferite proiecte de învățare automată și de învățare profundă. Îi face plăcere să-și împărtășească cunoștințele în AI scriind articole tehnice legate de vizualizarea datelor, învățarea automată, viziunea computerizată pe diverse platforme tehnologice. În prezent, este maestru Kaggle Notebooks și îi place să rezolve puzzle-uri Sudoku în timpul liber.
 

Timestamp-ul:

Mai mult de la KDnuggets