【问题标题】:Plot latitude longitude from CSV in Python 3.6在 Python 3.6 中从 CSV 绘制纬度经度
【发布时间】:2023-04-03 08:31:01
【问题描述】:

我正在尝试从地图上的CSV 文件中绘制大量经纬度值,格式如下(第一列和第二列):

我正在使用 python 3.6(显然某些库,如 Basemap 不能在此版本上运行)。

我该怎么做?

【问题讨论】:

  • 您是在询问使用 google maps api 的基于网络的地图吗?还是只是背景中有地图的散点图?
  • 对不起...我的意思是在真实地图上!
  • 这个问题获得了“热门问题”徽章,但我看到了 -2 票!!奇怪的世界。

标签: python google-maps google-maps-api-3 geolocation folium


【解决方案1】:

您还可以使用 plotly express 绘制交互式世界地图的经纬度

DataFrame Head

import plotly.express as px
import pandas as pd

df = pd.read_csv("location_coordinate.csv")

fig = px.scatter_geo(df,lat='lat',lon='long', hover_name="id")
fig.update_layout(title = 'World map', title_x=0.5)
fig.show()

【讨论】:

  • 无需将数据帧头作为链接/图像。您可以简单地将其格式化为代码并将其与您的答案内联。
  • 请注意谢谢。
【解决方案2】:

如果您只是将点数据绘制为散点图,那么简单

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

如果你想在地图上绘制点,它会变得很有趣,因为它更多地取决于你如何绘制地图。

一个简单的方法是使用shapelygeopandas。鉴于我在当前使用的笔记本电脑上的访问受限,以下代码未经测试,但它应该为您提供概念性路线图。

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

df = pd.read_csv("Long_Lats.csv", delimiter=',', skiprows=0, low_memory=False)

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

在下面找到渲染图像的示例:

【讨论】:

  • 对不起...我的意思是一张真实的地图!
  • @TinaJ 对于误解我深表歉意。已更新答案。无法测试代码是否适用于当前笔记本电脑,但如果不能,稍后会进行修改。
  • @Xiaoyu Lu,我有 3 种类型的课。因此,对于每个纬度和经度,都会分配一个类。我怎样才能为 3 个不同的班级放置 3 种不同的颜色。即第 1 类有 60% 的地理位置,第 2 类有 20%,第 3 类有 20% 的地理位置。这是我的数据结构, df['lattitiude','longitude','class'] = [53.679886 , 9.372680, 1];类由 1,0,2 标记
  • +1。此外,geopandas 有一个包装函数:points_from_xy(),相当于:[Point(x, y) for x, y in zip(df.Longitude, df.Latitude)]geopandas.org/gallery/…
  • 对于以后阅读答案的人,请注意顺序:它是Longitude,然后是Latitude。反之亦然。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-09
  • 1970-01-01
  • 2019-05-31
  • 1970-01-01
相关资源
最近更新 更多