将csv数据绘制为地图Python

2024-10-03 00:30:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我要读一个代表地图的csv文件。 我的csv是这样的(一段数据):

"","x","y","sim1","sim2","sim3","sim4","sim5","sim6","sim7","sim8","sim9","sim10","sim11","sim12"
"1",181180,333740,5.56588745117188,6.29487752914429,7.4835410118103,5.75873327255249,6.62183284759521,5.81478500366211,4.85671949386597,5.90418815612793,6.32611751556396,6.99649047851562,6.52076387405396,5.68944215774536
"2",181140,333700,6.36264753341675,6.5217604637146,6.16843748092651,5.55328798294067,7.00429201126099,6.43625402450562,6.17744159698486,6.72836923599243,6.38574266433716,6.81451606750488,6.68060827255249,6.14339065551758
"3",181180,333700,6.16541910171509,6.44704437255859,7.51744651794434,5.46270132064819,6.8890323638916,6.46842670440674,6.07698059082031,6.2140531539917,6.43774271011353,6.21923875808716,6.43355655670166,5.90692138671875

第一列显示了我有多少对x/y坐标,x和y是经度/纬度,simN是模拟的属性值

使用d3,我可以快速读取这个csv,并将其显示为它所代表的地图:

^{pr2}$

enter image description here

我已经在numpy数组中保存了这个:

np.loadtxt("Data/sim.csv", delimiter=',', usecols=range(1,4), skiprows=1)

在Python中,我不知道如何实现这一点。此外,除了为模拟绘制地图,我还必须保存这是一个矩阵,以备将来我要做的工作。但是,由于x和y是经度/纬度,我没有像(0,0)(0,1)(0,2)这样的点,也就是说,像一个简单的矩阵。但是我不知道是否有类似我上面提到的东西来扩展这个领域。在

我想找出最大/最小纬度和经度来定义我的矩阵大小,然后他们做一些微积分,把每一对经度/纬度拟合到这个结构中。但这对我来说似乎不是一个好的方法,而且,我已经看到Python所能做的一切,我想这是一个更好的解决方案。在

我最想知道的是,是否有一个“神奇”的函数将这些数据保存在一个有意义的矩阵中(对所有经纬度索引进行转换,并将该索引处的值保存在该矩阵中),或者如果我必须按我的想法,找到最小值/最大值并进行翻译。在

提前谢谢。在


Tags: 文件csv数据地图代表矩阵纬度经度
1条回答
网友
1楼 · 发布于 2024-10-03 00:30:06

您应该能够相当容易地编写一些东西来解析CSV并将数据输入到numpy数组中。Numpy是科学数据计算中最常用的模块之一。从那里,您可以使用matplotlib或mayavi来提供数据的图形表示。在

相关问题 更多 >