
Comprendere le proiezioni cartografiche e perché vengono utilizzate in alcune delle mappe più popolari oggi
Molti di noi sanno che la Terra è sferica o, più precisamente, un ellissoide. Il fatto che dobbiamo rappresentare una superficie curva tridimensionale su un pezzo di carta o uno schermo piatto bidimensionale significa che sono coinvolte alcune distorsioni. Questo metodo di “proiettare” la superficie terrestre in un’immagine 2D è chiamato a proiezione cartografica.
Esistono centinaia di proiezioni cartografiche e ognuna di esse viene minimizzata distorsione nel forma, distanza, area e direzione a vari gradi. Tuttavia, nessuna proiezione cartografica può eliminarle tutte, quindi comprendere i pro e i contro di ciascuna proiezione è essenziale per determinare cosa utilizzare per il proprio progetto.
Proiezione ortogonale
Proiezione di Mercatore
Proiezione trasversale di Mercatore
Proiezione conica conforme di Lambert
Proiezione Robinson
Riepilogo
Per visualizzare le varie proiezioni possiamo utilizzare le librerie Python matplotlib
E cartopy
.
pip install matplotlib cartopy
Il codice sorgente per la maggior parte delle mappe del mondo create in questo articolo è fornito di seguito.
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as feature# fix maplotlib params
plt.rcParams(‘figure.dpi’) = 175
# projections & borders
CRSs = (ccrs.Orthographic(),
ccrs.Orthographic(central_longitude=0, central_latitude=-90),
ccrs.Mercator(),
ccrs.UTM(zone=29),
ccrs.Robinson(),
ccrs.LambertConformal())
borders = ((0, 1, 1, 0.05),
(0, 1, 1, 0.05),
(0, 1, 1, 0.05),
(0, 1, 1, 0.05),
(0.05, 1, 1, 0),
(0, 1, 1, 0))
names = ("ortho", "ortho_southpole", "merca",
"utm", "robin", "lambertc")
dir = "/Users/jake/Desktop/gis"
for crs, br, name in zip(CRSs, borders, names):
fig, ax = plt.subplots(subplot_kw={‘projection’: crs})
projection_name = str(crs).split(" ")(0)
# Draw countries and coastlines
ax.coastlines(linewidth=0.5)…
Fonte: towardsdatascience.com