Участок мелкозернистой геодезии с картографией

Следующий код (скопирован из здесь) создает красивую геодезическую связь между Нью-Йорком и Нью-Дели. При внимательном рассмотрении геодезическая не выглядит гладкой. Как сделать так, чтобы он выглядел гладко?

import cartopy.crs as ccrs
import matplotlib.pyplot as plt

ny_lon, ny_lat = -75, 43
delhi_lon, delhi_lat = 77.23, 28.61

ax = plt.axes(projection=ccrs.PlateCarree())
ax.stock_img()

plt.plot([ny_lon, delhi_lon], [ny_lat, delhi_lat],
         linewidth=2, marker='o', transform=ccrs.Geodetic())
plt.tight_layout()
plt.show()

ломаная геодезическая


person Yair Daon    schedule 14.03.2020    source источник
comment
Есть комментарии к моему ответу?   -  person swatchai    schedule 26.03.2020
comment
@swatchai Фантастика, это именно то, что я хотел! Я просто как-то пропустил твой пост. Спасибо!!!!   -  person Yair Daon    schedule 26.03.2020


Ответы (1)


Вам необходимо установить более тонкий порог отрезков линии вдоль нанесенной геодезической линии. Вот соответствующие строки кода для этого.

plateCr = ccrs.PlateCarree()
# print(plateCr._threshold) # original threshold=0.5
plateCr._threshold = plateCr._threshold/10.  #set finer threshold
ax = plt.axes(projection=plateCr)

Заменить строку:

ax = plt.axes(projection=ccrs.PlateCarree())

с предложенным выше кодом. График результата должен выглядеть так:

введите описание изображения здесь

person swatchai    schedule 17.03.2020
comment
Хорошо поработали, спасибо - person Chris; 01.03.2021