利用ICESat角点数据通过最小二乘精化DEM
来源:互联网 发布:数据库系统实现 ppt 编辑:程序博客网 时间:2024/05/17 12:00
# -*- coding:utf-8 -*-import numpy as npfrom scipy.optimize import leastsqimport xlrddata = xlrd.open_workbook('icesat.xls')table = data.sheets()[0]nrows = table.nrowsncols = table.ncolsusedata = []for i in range(nrows): #删除0值点 if table.cell(i, 4).value != 0: usedata.append(table.row_values(i))#删除名字usedata.pop(0)#每n个点采样(n=3)usedata = usedata[ ::3 ]usedata = np.array(usedata)usedata_T = np.transpose(usedata)h_icesat = usedata_T[3]def_topo = usedata_T[4]h_2000 = 1000g_X = usedata_T[5]g_Y = usedata_T[6]funY = h_icesat-h_2000-(h_2000*def_topo)def func(p,x,y): a,b,c,d,e,f = p return a+b*x+c*y+d*x*y+e*x**2+f*y**2def error(p,x,y,Z,s): print( s ) return func(p, x, y)-ZZ0 = np.zeros(6)s = "Test the number of iteration"Para = leastsq(error, Z0, args=(g_X, g_Y, funY, s))a, b, c, d, e, f = Para[0]print(a, b, c, d, e, f)err = []for j in range(len(usedata)): err.append((func(Para[0], g_X[j], g_Y[j])-funY[j]))print (err)f = open('result.txt', 'w+')for m in Para[0]: f.write(str(m)) f.write('\n')f1 = open('error.txt', 'w+')for n in err: f1.write(str(n)) f1.write('\n')
0 0
- 利用ICESat角点数据通过最小二乘精化DEM
- ICESat-2以及MABEL数据相关
- 利用ArcGIS从DEM提取高程点至CAD
- iDesktop点数据集构建DEM时三种插值方式的选择
- 【技术类】利用dem数据生成带有等高线的地形图
- 利用DEM绘制等高线
- 利用地形图创建DEM
- 免费下载DEM数据
- DEM数据形式
- 免费DEM数据
- DEM数据形式
- VTK渲染DEM数据
- 免费下载DEM数据
- DEM高程数据
- 用matlab处理数字高程模型(DEM)之点云数据(point cloud data)
- C#+arcengine实现输出水深图的功能(通过淹没区域和dem高程数据)(包含栅格计算器(减)、feature to line、产生随机点、获得高程、extract values to poin)
- 利用GDAL在DEM数据上生成坡度图与坡向图的实验准备
- 超图对接NSDTF-DEM数据
- Java俄罗斯轮盘死亡游戏
- gdb调试器用法
- Python scikit-learn包 决策树和随机森林实例代码
- hibernate教程--持久化类状态详解
- 数列求和(void 函数)
- 利用ICESat角点数据通过最小二乘精化DEM
- 数据库设计的三大范式
- Spring示例工程
- zzuli 2131: Can Win(最大流 公平分配)@
- unity wav 格式音频转 写入本地
- StringBuilder、StringBuffer和String三者的联系和区别
- 你真的了解JAVA中的main方法吗?
- Appium+python实现App自动化登录
- uva 325 Identifying Legal Pascal Real Constants