- 积分
- 3632
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 15195775117 于 2022-9-15 11:15 编辑
多个经纬度的表示方法,目前有2种:
1、经纬度分别作为一个序列,例如:
lng=[120,121,122,...]
lat=[20,21,22,...]
很多语言或工具,如Python,matlab,IDL...的画图模块都是支持这种表示方式。
2、成对的经纬度的列表,例如:
[(120,30),(121,21),(122,22),...]
线性模型sklearn.linear_model和shp文件支持这种。
我们平时做科学计算和制图,常将数据整理成第1种的形式,但有时也需要转为第2种,以下为转换方法。
源代码:
import numpy as np
n=5
x=np.linspace(120,124,n)
y=np.linspace(20,24,n)
z=np.linspace(10,14,n)
print(list(zip(x,y)))
print(list(zip(x,y,z)))
# 结果:
# [(120.0, 20.0), (121.0, 21.0), (122.0, 22.0), (123.0, 23.0), (124.0, 24.0)]
# [(120.0, 20.0, 10.0), (121.0, 21.0, 11.0), (122.0, 22.0, 12.0), (123.0, 23.0, 13.0), (124.0, 24.0, 14.0)]
逆运算:
a = [1,2,3]
b = [4,5,6]
c= zip(a,b)
c=list(c)
# 逆运算zip(*):
a2, b2 = zip(*c)
print(list(a2))
print(list(b2))
# 注意:
# zip()和zip(*)的参数都是list,返回值都要转list
|
|