Bản đồ các quốc gia đã đến với các phép chiếu bản đồ khác nhau


8

Có một vài trang web, nơi bạn có thể tạo bản đồ của các quốc gia bạn đã truy cập, ví dụ: http://www.amcharts.com/visited_countries . Tôi nghĩ rằng, đây sẽ là một điều tuyệt vời để thêm vào blog du lịch của tôi. Tuy nhiên, tất cả các trang tôi có thể tìm thấy, sử dụng phép chiếu Mercator cho bản đồ mà tôi không đặc biệt thích. Tôi đã tự hỏi, nếu có ai biết cách tạo ra các loại bản đồ này cho các phép chiếu bản đồ khác nhau (như Hobo-Dyer hoặc Gall-Peters).


2
Ah, Gall-Peters, dự đoán của sự lựa chọn nếu bạn phải sử dụng phép chiếu có diện tích bằng nhau nhưng muốn tránh một thứ làm biến dạng trung tâm châu Âu rõ ràng. Và Hobo-Dyer cũng vậy, nhưng thiên về vĩ độ của Hoa Kỳ lục địa hơn là châu Âu.
hmakholm còn lại trên Monica

1
Nếu bạn muốn tự làm một cái, bạn có thể tải xuống hình ảnh phác thảo miễn phí của hobo dyer tại odt.org/Pictures/hdpoutlinelarge.jpg
skv

Câu trả lời:


5

Tôi sẽ đề nghị sử dụng một cái gì đó như python + matplotlib và đó là thư viện sơ đồ cơ sở.

Bản đồ cơ sở cung cấp một loạt các phép chiếu, (xem tại đây ) và sau đó bạn có thể vẽ các địa điểm mà bạn đã từng đến trên bản đồ. Điều này sau đó có thể được lưu trong nhiều định dạng để đăng trên blog của bạn hoặc bạn có thể sử dụng một cái gì đó như plot.ly để sản xuất chúng trực tuyến. Một ví dụ điển hình trong máy tính xách tay iPython , (nhưng sử dụng nhiệt độ toàn cầu), ở đây với những lời giải thích hay về cách nó được thực hiện.

Một ví dụ về mã cần thiết để thực hiện phép chiếu, (với một điểm duy nhất):

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

Kết quả: Ví dụ ARP Khi bạn đã thiết lập quy trình cơ bản, bạn có thể thay đổi hình chiếu hoặc tâm chiếu trong vài giây.

Dự kiến ​​có sẵn:

Phép chiếu tương đương Azimuthal, Phép chiếu Gnomonic, Phép chiếu hình học, Phép chiếu địa lý, Phép chiếu phối cảnh gần, Mặt chiếu của Mollweide, Phép chiếu búa, Phép chiếu hình cầu, Phép chiếu hình cầu Phép chiếu Cassini, Phép chiếu Mercator, Phép chiếu Mercator ngang, Phép chiếu Mercator xiên, Phép chiếu đa giác, Phép chiếu hình trụ Miller, Phép chiếu hình lập phương Gall, Phép chiếu khu vực hình trụ, Phép chiếu tương đương Lambert Azimuthal Phép chiếu khu vực, Phép chiếu lập thể cực, Phép chiếu phương vị cực trị Lambert, Phép chiếu tương đương cực quang cực trị,dự đoán van der Grinten

Tất cả các công cụ trên đều hoàn toàn miễn phí cả miễn phí và như trong các công cụ nguồn mở không bị ràng buộc.


Sử thi, và tôi đã ủng hộ, nhưng một người không lập trình sẽ gặp rắc rối với điều này: /
Mark Mayo

@MarkMayo - Python miễn phí, dễ dàng bắt đầu, bắt đầu học nhanh, có rất nhiều ví dụ trực tuyến, có thể gây nghiện và có rất nhiều người rất hữu ích ngoài kia.
Steve Barnes

1
chắc chắn, tôi biết điều này (tôi đã có hợp đồng trăn) nhưng với nhiều người, bất kỳ chương trình nào cũng đáng sợ :( Tuy nhiên với bất kỳ ai đọc nó, Python là một ngôn ngữ thú vị, tương đối dễ học . :)
Mark Mayo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.