Mapa de países visitados con diferentes proyecciones de mapas

8

Hay un par de sitios web, donde puede crear un mapa de los países que visitó, por ejemplo, http://www.amcharts.com/visited_countries . Creo que esto sería algo genial para agregar a mi blog de viajes. Sin embargo, en todas las páginas que pude encontrar, use una proyección de Mercator para el mapa, que no me gusta particularmente. Me preguntaba si alguien conoce una forma de crear este tipo de mapas para diferentes proyecciones de mapas (como Hobo-Dyer o Gall-Peters).

martín
fuente
2
Ah, Gall-Peters, la proyección de elección si tiene que usar una proyección de área igual pero quiere evitar una que distorsione visiblemente el centro de Europa. Y Hobo-Dyer es igual, pero favorece las latitudes de los Estados Unidos continentales en lugar de Europa.
hmakholm dejó a Mónica el
1
Si desea hacer uno para usted, puede descargar la imagen de esquema gratuita de hobo dyer
skv

Respuestas:

5

Sugeriría usar algo como python + matplotlib y su biblioteca de mapas base.

El mapa base ofrece una amplia gama de proyecciones (ver aquí ), y luego puede trazar en el mapa los lugares que ha visitado. Esto se puede guardar en una variedad de formatos para publicar en su blog o puede usar algo como plot.ly para producirlos en línea. Un buen ejemplo en un portátil iPython , (pero usando las temperaturas globales), está aquí con buenas explicaciones de cómo se hizo.

Un ejemplo del código necesario para hacer una proyección, (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()

Los resultados: una ARP de ejemplo vez que haya configurado el proceso básico, puede cambiar la proyección o el centro de proyección en segundos.

Proyecciones disponibles:

Proyección equidistante azimutal, Proyección gnomónica, Proyección ortográfica, Proyección geoestacionaria, Proyección en perspectiva de lado cercano, Proyección Mollweide, Proyección de martillo, Proyección Robinson, Proyección Eckert IV, Proyección Kavrayskiy VII, Proyección plana plana McBryde-Thomas, Proyección sinusoidal, Proyección cilíndrica equidistante Proyección de Cassini, Proyección de Mercator, Proyección de Mercator transversal, Proyección de Mercator oblicua, Proyección policónica, Proyección cilíndrica de Miller, Proyección estereográfica de agallas, Proyección cilíndrica de igual área, Proyección conforme de Lambert, Proyección de área igual azimutal de Lambert, Proyección estereográfica, Proyección cónica equidistante, Igualdad de Albers Proyección de área, proyección estereográfica polar, proyección azimutal polar lambert, proyección equidistante azimutal polar,Proyección van der Grinten

Todas las herramientas anteriores son completamente gratuitas tanto sin cargo como con herramientas de código abierto sin restricciones.

Steve Barnes
fuente
Epic y yo voté, pero un no programador tendrá problemas con esto: /
Mark Mayo
@MarkMayo - Python es gratis, fácil de empezar, rápido para empezar a aprender, tiene un montón de ejemplos en línea, puede ser adictivo y hay un montón de muy atento la gente por ahí.
Steve Barnes
1
claro, lo sé (he tenido contratos con python) pero para muchas personas, cualquier programación da miedo :( Sin embargo, para cualquiera que lea esto, Python es un lenguaje divertido y relativamente fácil de aprender . :)
Mark Mayo