from math import * import pandas as pd import numpy as np df = pd.read_excel("D:\\sc\\fusion数据表.xlsx") df1 = pd.DataFrame(df) df2 = df1.iloc[0:,[10,19,20]] def get_coordinate(latitude,longitude): B = latitude L = longitude q = log( tan(pi/4 + B/2)*(1-exp(1)*sin(B)) / (1+exp(1)*sin(B))**exp(1/2) ) x = K*q y = K*(L-L0) return (x, y) if __name__ == '__main__': latitude = 34 longitude = -167 a = 6378137.0000 # 单位为m b = 6356752.3142 B0 = 0; L0 = 0; e1 = sqrt(pow(a,2) - pow(b,2)) / a e2 = sqrt(pow(a,2) - pow(b,2)) / b K = a* cos(B0) / sqrt(1-pow(exp(2), 2)*pow(sin(B0), 2)) for lat, lng in df2.groupby('id'): data = get_coordinate('lat','lng') print(data)
时间: 2023-05-23 21:03:12 浏览: 79
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
这段代码是使用Python语言编写的,包括了导入了数学模块、Pandas模块和Numpy模块。然后使用Pandas模块读取了一个名为"D:\\sc\\fusion数据表.xlsx"的Excel文件,并将其转换为DataFrame格式的数据。接着从DataFrame中取出了第10、19和20列的数据并生成一个新的DataFrame。最后定义了一个get_coordinate函数,该函数接受两个参数“latitude”和“longitude”,并计算出新的x和y坐标,最后返回这些坐标。若使用此程序文件时,可测试输出此函数,输入纬度值和经度值可以得到对应的坐标值。
阅读全文