Mapa krajów odwiedzanych z różnymi odwzorowaniami mapy

8

Istnieje kilka stron internetowych, na których możesz utworzyć mapę odwiedzonych krajów, np . Http://www.amcharts.com/visited_countries . Myślę, że byłoby fajnie dodać do mojego bloga o podróżach. Jednak wszystkie strony, które mogłem znaleźć, używają projekcji Mercator dla mapy, co mi się szczególnie nie podoba. Zastanawiałem się, czy ktoś zna sposób na tworzenie tego rodzaju map dla różnych projekcji map (takich jak Hobo-Dyer lub Gall-Peters).

jaskółka oknówka
źródło
2
Ach, Gall-Peters, projekcja z wyboru, jeśli musisz użyć projekcji o równej powierzchni, ale chcesz uniknąć takiej, która wyraźnie zniekształca środkową Europę. Hobo-Dyer jest taki sam, ale preferuje szerokości geograficzne kontynentalnych Stanów Zjednoczonych, a nie Europy.
hmakholm pozostawił Monice
1
Jeśli chcesz, aby jeden dla siebie można pobrać hobo Dyer wolnego zarys obrazu na odt.org/Pictures/hdpoutlinelarge.jpg
SKV

Odpowiedzi:

5

Sugerowałbym użycie czegoś takiego jak python + matplotlib i jego biblioteka basemap .

Mapa bazowa oferuje szeroki zakres rzutów (patrz tutaj ), a następnie możesz wykreślić na mapie swoje miejsca, w których byłeś. Można to następnie zapisać w różnych formatach do opublikowania na blogu lub użyć czegoś takiego jak plot.ly, aby stworzyć je online. Dobry przykład w notatniku iPython (ale z wykorzystaniem globalnych temperatur), tutaj jest z dobrym wyjaśnieniem, jak to zrobiono.

Przykład kodu potrzebnego do wykonania projekcji (z jednym punktem):

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

Rezultaty: Przykład ARP Po skonfigurowaniu podstawowego procesu możesz zmienić projekcję lub centrum projekcji w kilka sekund.

Dostępne prognozy:

Projekcja azymutalna w równoodległości, projekcja gnomoniczna, projekcja ortograficzna, projekcja geostacjonarna, projekcja prawie boczna, projekcja Mollweide, projekcja Hammer, projekcja Robinsona, projekcja Eckert IV, projekcja Kavrayskiy VII, projekcja McBryde-Thomas Flat Polar Quartic, projekcja sinusoidalna, projekcja cylindryczna Projekcja Cassini, Projekcja Mercator, Projekcja Mercator poprzeczna, Projekcja ukośna Mercator, Projekcja polikoniczna, Projekcja cylindryczna Millera, Projekcja stereograficzna żółciowa, Projekcja cylindryczna równej powierzchni, Projekcja konformalna Lamberta, Projekcja równomierna Lambert Azimuthal, Projekcja stereograficzna, Projekcja równoodległościowa Albers Projekcja obszaru, Polarna projekcja stereograficzna, Polar Lambert Azimuthal Projection, Polar Azimuthal Equidistant Projekcja,van der Grinten Projection

Wszystkie powyższe narzędzia są całkowicie bezpłatne, zarówno jako bezpłatne, jak i nieograniczone narzędzia open source.

Steve Barnes
źródło
Epickie, a ja głosowałem, ale nie-programista będzie miał z tym problem: /
Mark Mayo
@MarkMayo - Python jest wolny, łatwo zacząć, szybko zaczynają się uczyć, ma wiele przykładów internetowych, może być wciągająca i istnieje wiele z bardzo pomocni ludzie tam.
Steve Barnes,
1
Jasne, ja wiem, to (miałem kontrakty Pythona), ale dla wielu ludzi, każdy programowanie jest przerażające :( Jednak aby ktoś czytając to, Python jest zabawa, stosunkowo łatwy język, aby dowiedzieć się :).
Mark Mayo