Carte des pays visités avec différentes projections cartographiques

8

Il existe quelques sites Web où vous pouvez créer une carte des pays que vous avez visités, par exemple http://www.amcharts.com/visited_countries . Je pense que ce serait une bonne chose à ajouter à mon blog de voyage. Cependant, toutes les pages que j'ai pu trouver utilisent une projection Mercator pour la carte, ce que je n'aime pas particulièrement. Je me demandais si quelqu'un connaissait un moyen de créer ce type de cartes pour différentes projections de cartes (comme Hobo-Dyer ou Gall-Peters).

Martin
la source
2
Ah, Gall-Peters, la projection de choix si vous devez utiliser une projection à surface égale mais que vous voulez éviter celle qui fausse visiblement l'Europe centrale. Et Hobo-Dyer est le même, mais favorisant les latitudes des États-Unis continentaux plutôt que l'Europe.
hmakholm a quitté Monica
1
Si vous voulez en faire un vous-même, vous pouvez télécharger l'image de contour gratuit de hobo dyer
skv

Réponses:

5

Je suggérerais d'utiliser quelque chose comme python + matplotlib et sa bibliothèque de fond de carte.

Le fond de carte offre un large éventail de projections (voir ici ), et vous pouvez ensuite tracer les endroits que vous avez visités sur la carte. Cela peut ensuite être enregistré dans une variété de formats pour publication sur votre blog ou vous pouvez utiliser quelque chose comme plot.ly pour les produire en ligne. Un bon exemple dans un bloc-notes iPython , (mais en utilisant les températures globales), est ici avec de belles explications sur la façon dont cela a été fait.

Un exemple du code nécessaire pour faire une projection, (avec un seul point):

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()

Les résultats: Exemple ARP Une fois que vous avez configuré le processus de base, vous pouvez changer la projection ou le centre de projection en quelques secondes.

Projections disponibles:

Projection équidistante azimutale, Projection gnomonique, Projection orthographique, Projection géostationnaire, Projection en perspective proche, Projection Mollweide, Projection Hammer, Projection Robinson, Projection Eckert IV, Projection Kavrayskiy VII, McBryde-Thomas Flat Polar Quartic, Projection sinusoïdale, Projection cylindrique équidistante Projection Cassini, Projection Mercator, Projection Mercator transverse, Projection Mercator oblique, Projection polyconique, Projection cylindrique Miller, Projection stéréographique Gall, Projection cylindrique à surface égale, Projection conforme Lambert, Projection Lambert Azimuthal à surface égale, Projection stéréographique, Projection conique équidistante, Albers Equal Projection de zone, Projection stéréographique polaire, Projection azimutale polaire Lambert, Projection équidistante azimutale polaire,van der Grinten Projection

Tous les outils ci-dessus sont tous entièrement gratuits, à la fois gratuitement et comme dans les outils open source sans contrainte.

Steve Barnes
la source
Epic, et j'ai voté positivement, mais un non-programmeur va avoir des problèmes avec ça: /
Mark Mayo
@MarkMayo - Python est gratuit, facile à démarrer, rapide à apprendre, contient de nombreux exemples en ligne, peut créer une dépendance et il y a beaucoup de gens très utiles.
Steve Barnes
1
bien sûr, je le sais (j'ai eu des contrats python) mais pour beaucoup de gens, toute programmation fait peur :( Cependant pour quiconque lit ceci, Python est un langage amusant et relativement facile à apprendre . :)
Mark Mayo