遥感数据处理系列

一些项目及科研中遇到的小需求,一方面记录自己的学习历程,另一方面帮助大家学习。

ArcPy批量计算栅格数据平均值
GLDAS数据下载及处理(NC转TIF)
ArcGIS批量裁剪栅格数据
ArcPy批量栅格重采样
ArcPy批量裁剪栅格数据

IDL多进程批处理遥感数据
ArcPy批量拼接栅格数据


文章目录

  • 遥感数据处理系列
  • 前言
  • 一、栅格数据平均值
    • 1. 原理简介
    • 2. 代码
  • 总结
    • 后记

前言

在使用ArcGIS的开发包函数进行栅格数据平均值计算时发现,在结果影像出现了好多的异常值?经过查看发现是因为ArcGIS算法的问题,所以,用IDL写了下自己的栅格平均值计算逻辑。


一、栅格数据平均值

1. 原理简介

使用ArcGIS进行栅格数据平均值计算时,出现异常值的原因如下图所示:

那么问题来了:如果每个像元都有一个NoData出现过,那岂不是OutRas里面全部都是NoData了?
我脑海里的栅格数据平均值:对于N景影像,在(a,b)坐标处有 t 景影像存在有效像元,那么其平均值应该是多景影像在(a,b)坐标处DN值的累加 除以 t

2. 代码

文件组织架构:

#mermaid-svg-c2MIXedJsKkk7D5t .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-c2MIXedJsKkk7D5t .label text{fill:#333}#mermaid-svg-c2MIXedJsKkk7D5t .node rect,#mermaid-svg-c2MIXedJsKkk7D5t .node circle,#mermaid-svg-c2MIXedJsKkk7D5t .node ellipse,#mermaid-svg-c2MIXedJsKkk7D5t .node polygon,#mermaid-svg-c2MIXedJsKkk7D5t .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-c2MIXedJsKkk7D5t .node .label{text-align:center;fill:#333}#mermaid-svg-c2MIXedJsKkk7D5t .node.clickable{cursor:pointer}#mermaid-svg-c2MIXedJsKkk7D5t .arrowheadPath{fill:#333}#mermaid-svg-c2MIXedJsKkk7D5t .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-c2MIXedJsKkk7D5t .flowchart-link{stroke:#333;fill:none}#mermaid-svg-c2MIXedJsKkk7D5t .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-c2MIXedJsKkk7D5t .edgeLabel rect{opacity:0.9}#mermaid-svg-c2MIXedJsKkk7D5t .edgeLabel span{color:#333}#mermaid-svg-c2MIXedJsKkk7D5t .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-c2MIXedJsKkk7D5t .cluster text{fill:#333}#mermaid-svg-c2MIXedJsKkk7D5t div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-c2MIXedJsKkk7D5t .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-c2MIXedJsKkk7D5t text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-c2MIXedJsKkk7D5t .actor-line{stroke:grey}#mermaid-svg-c2MIXedJsKkk7D5t .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-c2MIXedJsKkk7D5t .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-c2MIXedJsKkk7D5t #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-c2MIXedJsKkk7D5t .sequenceNumber{fill:#fff}#mermaid-svg-c2MIXedJsKkk7D5t #sequencenumber{fill:#333}#mermaid-svg-c2MIXedJsKkk7D5t #crosshead path{fill:#333;stroke:#333}#mermaid-svg-c2MIXedJsKkk7D5t .messageText{fill:#333;stroke:#333}#mermaid-svg-c2MIXedJsKkk7D5t .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-c2MIXedJsKkk7D5t .labelText,#mermaid-svg-c2MIXedJsKkk7D5t .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-c2MIXedJsKkk7D5t .loopText,#mermaid-svg-c2MIXedJsKkk7D5t .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-c2MIXedJsKkk7D5t .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-c2MIXedJsKkk7D5t .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-c2MIXedJsKkk7D5t .noteText,#mermaid-svg-c2MIXedJsKkk7D5t .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-c2MIXedJsKkk7D5t .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-c2MIXedJsKkk7D5t .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-c2MIXedJsKkk7D5t .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-c2MIXedJsKkk7D5t .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c2MIXedJsKkk7D5t .section{stroke:none;opacity:0.2}#mermaid-svg-c2MIXedJsKkk7D5t .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-c2MIXedJsKkk7D5t .section2{fill:#fff400}#mermaid-svg-c2MIXedJsKkk7D5t .section1,#mermaid-svg-c2MIXedJsKkk7D5t .section3{fill:#fff;opacity:0.2}#mermaid-svg-c2MIXedJsKkk7D5t .sectionTitle0{fill:#333}#mermaid-svg-c2MIXedJsKkk7D5t .sectionTitle1{fill:#333}#mermaid-svg-c2MIXedJsKkk7D5t .sectionTitle2{fill:#333}#mermaid-svg-c2MIXedJsKkk7D5t .sectionTitle3{fill:#333}#mermaid-svg-c2MIXedJsKkk7D5t .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c2MIXedJsKkk7D5t .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-c2MIXedJsKkk7D5t .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c2MIXedJsKkk7D5t .grid path{stroke-width:0}#mermaid-svg-c2MIXedJsKkk7D5t .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-c2MIXedJsKkk7D5t .task{stroke-width:2}#mermaid-svg-c2MIXedJsKkk7D5t .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c2MIXedJsKkk7D5t .taskText:not([font-size]){font-size:11px}#mermaid-svg-c2MIXedJsKkk7D5t .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c2MIXedJsKkk7D5t .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-c2MIXedJsKkk7D5t .task.clickable{cursor:pointer}#mermaid-svg-c2MIXedJsKkk7D5t .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-c2MIXedJsKkk7D5t .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-c2MIXedJsKkk7D5t .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-c2MIXedJsKkk7D5t .taskText0,#mermaid-svg-c2MIXedJsKkk7D5t .taskText1,#mermaid-svg-c2MIXedJsKkk7D5t .taskText2,#mermaid-svg-c2MIXedJsKkk7D5t .taskText3{fill:#fff}#mermaid-svg-c2MIXedJsKkk7D5t .task0,#mermaid-svg-c2MIXedJsKkk7D5t .task1,#mermaid-svg-c2MIXedJsKkk7D5t .task2,#mermaid-svg-c2MIXedJsKkk7D5t .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-c2MIXedJsKkk7D5t .taskTextOutside0,#mermaid-svg-c2MIXedJsKkk7D5t .taskTextOutside2{fill:#000}#mermaid-svg-c2MIXedJsKkk7D5t .taskTextOutside1,#mermaid-svg-c2MIXedJsKkk7D5t .taskTextOutside3{fill:#000}#mermaid-svg-c2MIXedJsKkk7D5t .active0,#mermaid-svg-c2MIXedJsKkk7D5t .active1,#mermaid-svg-c2MIXedJsKkk7D5t .active2,#mermaid-svg-c2MIXedJsKkk7D5t .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-c2MIXedJsKkk7D5t .activeText0,#mermaid-svg-c2MIXedJsKkk7D5t .activeText1,#mermaid-svg-c2MIXedJsKkk7D5t .activeText2,#mermaid-svg-c2MIXedJsKkk7D5t .activeText3{fill:#000 !important}#mermaid-svg-c2MIXedJsKkk7D5t .done0,#mermaid-svg-c2MIXedJsKkk7D5t .done1,#mermaid-svg-c2MIXedJsKkk7D5t .done2,#mermaid-svg-c2MIXedJsKkk7D5t .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-c2MIXedJsKkk7D5t .doneText0,#mermaid-svg-c2MIXedJsKkk7D5t .doneText1,#mermaid-svg-c2MIXedJsKkk7D5t .doneText2,#mermaid-svg-c2MIXedJsKkk7D5t .doneText3{fill:#000 !important}#mermaid-svg-c2MIXedJsKkk7D5t .crit0,#mermaid-svg-c2MIXedJsKkk7D5t .crit1,#mermaid-svg-c2MIXedJsKkk7D5t .crit2,#mermaid-svg-c2MIXedJsKkk7D5t .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-c2MIXedJsKkk7D5t .activeCrit0,#mermaid-svg-c2MIXedJsKkk7D5t .activeCrit1,#mermaid-svg-c2MIXedJsKkk7D5t .activeCrit2,#mermaid-svg-c2MIXedJsKkk7D5t .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-c2MIXedJsKkk7D5t .doneCrit0,#mermaid-svg-c2MIXedJsKkk7D5t .doneCrit1,#mermaid-svg-c2MIXedJsKkk7D5t .doneCrit2,#mermaid-svg-c2MIXedJsKkk7D5t .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-c2MIXedJsKkk7D5t .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-c2MIXedJsKkk7D5t .milestoneText{font-style:italic}#mermaid-svg-c2MIXedJsKkk7D5t .doneCritText0,#mermaid-svg-c2MIXedJsKkk7D5t .doneCritText1,#mermaid-svg-c2MIXedJsKkk7D5t .doneCritText2,#mermaid-svg-c2MIXedJsKkk7D5t .doneCritText3{fill:#000 !important}#mermaid-svg-c2MIXedJsKkk7D5t .activeCritText0,#mermaid-svg-c2MIXedJsKkk7D5t .activeCritText1,#mermaid-svg-c2MIXedJsKkk7D5t .activeCritText2,#mermaid-svg-c2MIXedJsKkk7D5t .activeCritText3{fill:#000 !important}#mermaid-svg-c2MIXedJsKkk7D5t .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c2MIXedJsKkk7D5t g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-c2MIXedJsKkk7D5t g.classGroup text .title{font-weight:bolder}#mermaid-svg-c2MIXedJsKkk7D5t g.clickable{cursor:pointer}#mermaid-svg-c2MIXedJsKkk7D5t g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-c2MIXedJsKkk7D5t g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-c2MIXedJsKkk7D5t .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-c2MIXedJsKkk7D5t .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-c2MIXedJsKkk7D5t .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-c2MIXedJsKkk7D5t .dashed-line{stroke-dasharray:3}#mermaid-svg-c2MIXedJsKkk7D5t #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-c2MIXedJsKkk7D5t #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-c2MIXedJsKkk7D5t #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-c2MIXedJsKkk7D5t #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-c2MIXedJsKkk7D5t #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-c2MIXedJsKkk7D5t #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-c2MIXedJsKkk7D5t #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-c2MIXedJsKkk7D5t #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-c2MIXedJsKkk7D5t .commit-id,#mermaid-svg-c2MIXedJsKkk7D5t .commit-msg,#mermaid-svg-c2MIXedJsKkk7D5t .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c2MIXedJsKkk7D5t .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c2MIXedJsKkk7D5t .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c2MIXedJsKkk7D5t g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c2MIXedJsKkk7D5t g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-c2MIXedJsKkk7D5t g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-c2MIXedJsKkk7D5t g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-c2MIXedJsKkk7D5t g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-c2MIXedJsKkk7D5t g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-c2MIXedJsKkk7D5t .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-c2MIXedJsKkk7D5t .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-c2MIXedJsKkk7D5t .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-c2MIXedJsKkk7D5t .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-c2MIXedJsKkk7D5t .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-c2MIXedJsKkk7D5t .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-c2MIXedJsKkk7D5t .edgeLabel text{fill:#333}#mermaid-svg-c2MIXedJsKkk7D5t .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c2MIXedJsKkk7D5t .node circle.state-start{fill:black;stroke:black}#mermaid-svg-c2MIXedJsKkk7D5t .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-c2MIXedJsKkk7D5t #statediagram-barbEnd{fill:#9370db}#mermaid-svg-c2MIXedJsKkk7D5t .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-c2MIXedJsKkk7D5t .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-c2MIXedJsKkk7D5t .statediagram-state .divider{stroke:#9370db}#mermaid-svg-c2MIXedJsKkk7D5t .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-c2MIXedJsKkk7D5t .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-c2MIXedJsKkk7D5t .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-c2MIXedJsKkk7D5t .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-c2MIXedJsKkk7D5t .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-c2MIXedJsKkk7D5t .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-c2MIXedJsKkk7D5t .note-edge{stroke-dasharray:5}#mermaid-svg-c2MIXedJsKkk7D5t .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-c2MIXedJsKkk7D5t .error-icon{fill:#522}#mermaid-svg-c2MIXedJsKkk7D5t .error-text{fill:#522;stroke:#522}#mermaid-svg-c2MIXedJsKkk7D5t .edge-thickness-normal{stroke-width:2px}#mermaid-svg-c2MIXedJsKkk7D5t .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-c2MIXedJsKkk7D5t .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-c2MIXedJsKkk7D5t .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-c2MIXedJsKkk7D5t .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-c2MIXedJsKkk7D5t .marker{fill:#333}#mermaid-svg-c2MIXedJsKkk7D5t .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-c2MIXedJsKkk7D5t {color: rgba(0, 0, 0, 0.75);font: ;}inwsMYD09.2011.001.tifMYD09.2011.002.tif...outs输出到

输入:
一个含有若干栅格数据的文件夹 inws(本例为“.tif”格式)

代码实例:

pro Average_Batch;计算输入文件夹内的 所有栅格数据的 平均值;算整个文件夹的compile_opt strictarrCOMPILE_OPT idl2envi, /restore_base_save_filesenvi_batch_init, log_file='batch.txt',/NO_STATUS_WINDOWdir0='F:\LE-daily-LMB\2017'   ; 输入路径out_dir='F:\LMB\LE-year'  ; 输出路径files=file_search(dir0,'*.tif'); 读取文件信息。先获取个行列数ENVI_OPEN_FILE, files[0], r_fid=fid,  /no_realizeENVI_FILE_QUERY, fid,  nl=nl, ns=ns,dims=dims,nb=nbmapinfo=envi_get_map_info(fid=fid)file=ENVI_GET_DATA(fid=fid,dims=dims,pos=0)low_row=N_elements(file[0,*]);获取行数low_col=N_elements(file[*,0]);获取列数Sum = make_array(low_col,low_row,value=0.0);存有效像元的累加值count = make_array(low_col,low_row,value=0.0);存有效像元的出现次数Average = make_array(low_col,low_row,value=0.0);存平均值; 遍历文件夹内的所有栅格数据for i=0,n_elements(files)-1 do beginENVI_OPEN_FILE, files[i], r_fid=fid,  /no_realizeENVI_FILE_QUERY, fid,  nl=nl, ns=ns,dims=dims,nb=nbfile=ENVI_GET_DATA(fid=fid,dims=dims,pos=0); 单景影像的逻辑for a=0,low_col-1 do begin;获取列数for b=0,low_row-1 do begin;获取行数,应该是先列后行if  file[a,b] GT  0 then begin    ;GE 大于等于运算符,左边大于右边则为真;GT 大于运算符;LE:小于等于运算符;LT:小于运算符Sum[a,b] = Sum[a,b] + file[a,b]   ; 有效值累加,每个像元的count[a,b] = count[a,b] + 1 ;累加次数计数器endifendforendforendforAverage = Sum / countoutfile8 = out_dir + '\' + strmid(file_basename(files[0]),0,25) + '.Average.tif'    ;16  25ENVI_WRITE_ENVI_FILE , Average , r_fid=fid , map_info=mapinfo , out_name=outfile8end

上例可实现对输入路径文件夹下的所有栅格数据的平均栅格计算。

总结

ArcPy牛皮!毕业万岁!中期快乐!
批量计算平均栅格数据,接下来要继续探索下IDL语言,虽然它的语法有些…,同时,学习下python + GDAL,这一大杀器

后记

写博客的初衷是分享我的一些经验,同时也方便自己在其他电脑上进行数据处理。帮了很多人,但评论区小伙伴也有遇到问题的,那么:知识付费,我的时间和经验正好可以解决你的问题。

IDL批量计算栅格数据平均值相关推荐

  1. Excel怎么批量计算同一单元格多数据平均值

    今天跟大家分享一下Excel怎么批量计算同一单元格多数据平均值 1.如下图我们想要快速计算每个单元格内数据的平均值 2.将数据复制一份到平均值列中并选中数据 3.然后点击下图选项(Excel工具箱,百 ...

  2. linux 时间怎么求差值_linux批量计算时间差脚本——awk

    今天碰到一个时间差批量计算的问题,弄好后就写下来,方便积累和分享. 部分数据(一共有40多W条,gmail.csv)如上图所示,已经做过二次处理和排版. 第i行前两列时间记作A[i],后两列记作B[i ...

  3. 使用shp数据批量裁剪栅格数据并统计均值

    批量实现利用shp文件,裁剪相应的多个栅格数据,并统计裁剪后栅格的均值至TXT文件,亲测可用. #使用shp数据批量裁剪栅格数据并统计均值 # -*- coding: cp936 -*- #使用shp ...

  4. 1-Volcano火山:容器与批量计算的碰撞

    1-Volcano火山:容器与批量计算的碰撞 Volcano是基于Kubernetes的一个批处理调度系统,它为大数据.机器学习以及HPC等多种工作负载提供了作业生命周期的管理.调度以及资源管理一系列 ...

  5. 使用Pandas的rolling函数计算滚动平均值(rolling average with Pandas rolling)、seaborn使用lineplot函数可视化时间序列数据、并添加滚动平均值

    使用Pandas的rolling函数计算滚动平均值(rolling average with Pandas rolling).seaborn使用lineplot函数可视化时间序列数据(time ser ...

  6. 根据经纬度批量计算多个点到多个点之间的距离

    def ad_dis(LatA,LonA,LatB,LonB):# 批量计算多个点和多个点之间的球面距离# LatA = np.array([23, 24])# LatB = np.array([23 ...

  7. python输入任意多个成绩-Python 实现输入任意多个数,并计算其平均值的例子

    学习了Python相关数据类型,函数的知识后,利用字符串的分割实现了输入任意多个数据,并计算其平均值的小程序.思路是接收输入的字符串,以空格为分隔符,将分割的数据存入列表(lst1)中,将lst1中的 ...

  8. Volcano:带你体验容器与批量计算的碰撞的火花

    历史 在分析趋势之前,我们先看一下分布式调度系统的历史.早期分布式调度系统以批处理系统为主,例如九几年的LSF/SGE/PBS等,这些批处理系统大规划的使用在HPC领域,而且对作业级的调度进行大量的研 ...

  9. 未来云原生世界的“领头羊”:容器批量计算项目Volcano 1.0版本发布

    在刚刚结束的CLOUD NATIVE+ OPEN SOURCE Virtual Summit China 2020上,由华为云云原生团队主导的容器批量计算项目Volcano正式发布1.0版本,标志着V ...

最新文章

  1. android ndk怎样加载o文件_JNI初探之NDK 开发环境配置
  2. 小甲鱼python数字游戏给三次机会_【python 入门案例】小甲鱼python入门 猜数字游戏...
  3. 自定义控件只允许输入Decimal和int类型字符串
  4. 信息学奥赛一本通(1153:绝对素数)
  5. linux shell 版本信息,查看各种Linux系统版本信息的Shell命令
  6. VS2017编写C++多文件时,出现LNK2005、LNK1169报错的解决方法
  7. pytorch Sampler
  8. html静态网页设计实训总结,网页设计实训心得体会范文
  9. sp导出法线_sp导出贴图步骤_sp导出贴图
  10. 技术研究:DOOM3网络模型的演化与网络架构
  11. Google 开发者账号(验证ID)
  12. Android车载开发基础学习——蓝牙通信是如何实现的?
  13. 【53期分享】4款毕业答辩PPT模板免费下载
  14. 《大象--Thinking in UML 第二版》已于近日在当当首发,同时邀请各位加入新浪微博[大象-thinkinginUml群]:http://q.weibo.com/1483929
  15. Django 邮箱设置
  16. 奇虎360 -- 2013年校园招聘技术类笔试题
  17. 半小时速通【页面数据分页】
  18. SQL map自动注入,利用工具注入
  19. __weak 和 __attribute__((weak)) 关键字的使用
  20. 汽车ABS控制器设计及车身稳定算法研究笔记(一)——总体思路

热门文章

  1. extern C和__declspec(dllexport)以及__declspec(dllimport) 和def的简单解析
  2. jQuery播放音乐
  3. 用latex写毕业论文--设置附录、参考文献、致谢环境
  4. 换元积分法和分部积分法
  5. Shell脚本之免交互
  6. [洛谷]CON1466 洛谷2017春节联欢赛 Hello Dingyou题解 Bzoj4763雪辉
  7. 解决 org.gjt.mm.mysql.Driver 报错问题(目前有效,看后续会不会出什么问题)
  8. html玫瑰花效果代码,HTML5 canvas绘制的玫瑰花效果
  9. pygame-KidsCanCode系列jumpy-part1-如何组织复杂游戏的代码
  10. 用Python 画小猪佩奇