Python: как проложить маршрут полета / рутину на карте - PullRequest
0 голосов
/ 06 октября 2019

Я пытаюсь нанести на карту режим полета с данными о местоположении.

Я получил данные о местоположении, которые также включают другую информацию. Часть данных прилагается ниже. Пятый столбец и шестой столбец имеют широту и долготу соответственно.

   0 C130  30-07-2018 20:07   43.53 -116.16  887.60    887.598
   1 C130  30-07-2018 20:08   43.49 -116.17  860.73    860.733
   2 C130  30-07-2018 20:09   43.45 -116.23  832.14    832.143
   3 C130  30-07-2018 20:10   43.42 -116.29  798.53    798.529
   4 C130  30-07-2018 20:11   43.39 -116.36  769.36    769.359
   5 C130  30-07-2018 20:12   43.38 -116.44  744.33    744.332
   6 C130  30-07-2018 20:13   43.37 -116.52  713.75    713.749
   7 C130  30-07-2018 20:14   43.37 -116.60  682.41    682.406
   8 C130  30-07-2018 20:15   43.38 -116.68  658.94    658.943
   9 C130  30-07-2018 20:16   43.40 -116.76  634.47    634.471
  10 C130  30-07-2018 20:17   43.39 -116.83  611.09    611.085
  11 C130  30-07-2018 20:18   43.34 -116.86  591.79    591.791
  12 C130  30-07-2018 20:19   43.28 -116.88  572.06    572.057
  13 C130  30-07-2018 20:20   43.23 -116.90  554.59    554.594
  14 C130  30-07-2018 20:21   43.16 -116.92  551.53    551.532
  15 C130  30-07-2018 20:22   43.11 -116.98  551.75    551.745
  16 C130  30-07-2018 20:23   43.07 -117.05  551.64    551.641
  17 C130  30-07-2018 20:24   43.03 -117.12  551.55    551.545
  18 C130  30-07-2018 20:25   42.98 -117.19  551.49    551.486
  19 C130  30-07-2018 20:26   42.94 -117.27  551.45    551.448

Итак, после того как я обработаю данные. Я получаю извлечь местоположение. И получите необработанные данные, как показано ниже. Первый столбец - лат, а второй - лон.

[[  43.53 -116.16]
[  43.49 -116.17]
[  43.45 -116.23]
[  43.42 -116.29]
[  43.39 -116.36]
[  43.38 -116.44]
[  43.37 -116.52]
[  43.37 -116.6 ]
[  43.38 -116.68]
[  43.4  -116.76]
...]

У меня есть такая рутина enter image description here Но я хочу нанести ее на геофизическую карту, используя картографию.

Но я не мог понять это.

Не могли бы вы дать мне несколько советов?

Lixu

1 Ответ

0 голосов
/ 22 октября 2019

Вы можете посмотреть документацию по Cartopy, есть много простых примеров, которые вы могли бы использовать для создания своей собственной карты, я бы порекомендовал вам начать с галереи . Для построения ваших данных я создал следующий пример:

import cartopy.crs as ccrs
import cartopy.feature as cfeature

#Create latitude and longitude data
lat=np.array([43.53,43.49,43.45,43.42,43.39,43.38,43.37,43.37,43.38,43.4])
lon=np.array([-116.16,-116.17,-116.23,-116.29,-116.36,-116.44,-116.52,-116.6,-116.68,-116.76])

#define map extent
extent = [-130, -90, 30, 60]

#define state borders
states_borders = cfeature.NaturalEarthFeature(
        category='cultural',
        name='admin_0_countries',
        scale='50m',
        facecolor='none')

states_provinces = cfeature.NaturalEarthFeature(
        category='cultural',
        name='admin_1_states_provinces_lines',
        scale='50m',
        facecolor='none')


#create figure
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree())
#Add features
ax.add_feature(cfeature.LAND)
ax.add_feature(states_provinces, edgecolor='gray')
ax.add_feature(states_borders, edgecolor='black')
#plot data
ax.plot(lon,lat, 'o',transform=ccrs.PlateCarree())
ax.set_extent(extent)

plt.show()

, который производит следующее изображение: enter image description here

, если хотите, вы можете начать строить этодобавлять слои и создавать более сложные карты.

...