Mappa dei paesi visitati con diverse proiezioni della mappa


8

Esistono un paio di siti Web in cui è possibile creare una mappa dei paesi visitati, ad esempio http://www.amcharts.com/visited_countries . Penso che sarebbe una bella cosa aggiungere al mio blog di viaggio. Tuttavia, tutte le pagine che ho trovato, usano una proiezione di Mercatore per la mappa, che non mi piace particolarmente. Mi chiedevo se qualcuno fosse a conoscenza di un modo per creare questo tipo di mappe per diverse proiezioni (come Hobo-Dyer o Gall-Peters).


2
Ah, Gall-Peters, la proiezione di scelta se devi usare una proiezione di uguale area ma vuoi evitare una che distorca visibilmente l'Europa centrale. E Hobo-Dyer è lo stesso, ma favorisce le latitudini degli Stati Uniti continentali piuttosto che dell'Europa.
Hmakholm ha lasciato Monica il

1
Se vuoi crearne
skv

Risposte:


5

Suggerirei di usare qualcosa come python + matplotlib e la sua libreria di base.

Basemap offre una vasta gamma di proiezioni, (vedi qui ), e puoi quindi tracciare i tuoi luoghi sulla tua mappa. Questo può quindi essere salvato in una varietà di formati per la pubblicazione sul tuo blog o puoi usare qualcosa come plot.ly per produrli online. Un buon esempio in un notebook iPython , (ma usando le temperature globali), è qui con belle spiegazioni su come è stato fatto.

Un esempio del codice necessario per fare una proiezione, (con un solo punto):

from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt
width = 28000000; lon_0 = -105; lat_0 = 40  # Change the origin lat/long here
m = Basemap(width=width,height=width,projection='aeqd', # Change projection here
            lat_0=lat_0,lon_0=lon_0)
# fill background.
m.drawmapboundary(fill_color='aqua')
# draw coasts and fill continents.
m.drawcoastlines(linewidth=0.5)
m.fillcontinents(color='coral',lake_color='aqua')
# 20 degree graticule.
m.drawparallels(np.arange(-80,81,20))
m.drawmeridians(np.arange(-180,180,20))
# draw a black dot at the center.
xpt, ypt = m(lon_0, lat_0)
m.plot([xpt],[ypt],'ko')
# draw the title.
plt.title('Azimuthal Equidistant Projection')
plt.show()

I risultati: una Esempio ARP volta impostato il processo di base, è possibile modificare la proiezione o il centro di proiezione in pochi secondi.

Proiezioni disponibili:

Proiezione equidistante azimutale, proiezione gnomonica, proiezione ortografica, proiezione geostazionaria, proiezione prospettica quasi lato, proiezione mollweide, proiezione martello, proiezione Robinson, proiezione Eckert IV, proiezione Kavrayskiy VII, quartico polare piatto McBryde-Thomas, proiezione sinusoidale, equidistante Proiezione Cassini, Proiezione di Mercatore, Proiezione di Mercatore trasversale, Proiezione di Mercatore obliquo, Proiezione Policonica, Proiezione Cilindrica di Miller, Proiezione Stereografica di Gall, Proiezione Cilindriale di area uguale, Proiezione Conforme di Lambert, Proiezione di pari area di Lambert Azimuthal, Proiezione conica equidistante, Equi equi Proiezione di area, proiezione stereografica polare, proiezione azimutale polare Lambert, proiezione equidistante azimutale polare,van der Grinten Proiezione

Tutti gli strumenti di cui sopra sono completamente gratuiti sia come gratuiti che come strumenti open source senza vincoli.


Epico, e ho effettuato l'upgrade, ma un non programmatore avrà problemi con questo: /
Mark Mayo

@MarkMayo - Python è gratuito, facile da iniziare, veloce per iniziare a imparare, ha un sacco di esempi online, può creare dipendenza e ci sono un sacco di molto gente utile là fuori.
Steve Barnes,

1
certo, lo so (ho avuto contratti Python) ma per molte persone, qualsiasi programmazione è spaventosa :( Comunque per chiunque legga questo, Python è un linguaggio divertente e relativamente facile da imparare . :)
Mark Mayo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.