График широты долготы от CSV в Python 3.6 - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь нанести большое количество значений широты и долготы из файла CSV на карту, имеющую этот формат (первый столбец и второй столбец):

enter image description here

Я использую Python 3.6 (очевидно, некоторые библиотеки, такие как Basemap, не работают в этой версии).

Как я могу это сделать?

1 Ответ

0 голосов
/ 10 ноября 2018

Если вы просто смотрите на построение точечных данных в виде диаграммы рассеяния, это просто:

import matplotlib.pyplot as plt
plt.scatter(x=df['Longitude'], y=df['Latitude'])
plt.show()

Если вы хотите построить точки на карте, это становится интересным, потому что это зависит больше от того, какВы строите свою карту.

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

from shapely.geometry import Point
import geopandas as gpd
from geopandas import GeoDataFrame

geometry = [Point(xy) for xy in zip(df['Longitude'], df['Latitude'])]
gdf = GeoDataFrame(df, geometry=geometry)   

#this is a simple map that goes with geopandas
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
gdf.plot(ax=world.plot(figsize=(10, 6)), marker='o', color='red', markersize=15);
...