本文整理汇总了C#中ESRI.GetVal方法的典型用法代码示例。如果您正苦于以下问题:C# ESRI.GetVal方法的具体用法?C# ESRI.GetVal怎么用?C# ESRI.GetVal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ESRI
的用法示例。
在下文中一共展示了ESRI.GetVal方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: getTransformedValue
public override object getTransformedValue(ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 bigArr, int startClm, int startRw, int nBand)
{
//Console.WriteLine("Start CR = " + startClm.ToString()+":"+ startRw.ToString());
float s = 0;
float s2 = 0;
foreach (int[] xy in offsetLst)
{
int bWc = xy[0] + startClm;
int bRc = xy[1] + startRw;
object vlObj = bigArr.GetVal(nBand, bWc, bRc);
if (vlObj == null)
{
continue;
}
else
{
float vl = (float)vlObj;
s += vl;
s2 += vl * vl;
}
}
return (s2 - ((s * s) / offsetLst.Count)) / offsetLst.Count;
}
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:25,代码来源:focalSampleHelperVariance.cs
示例2: setPixelData
private void setPixelData(int p, ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 pbIn, ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 pbInBig)
{
System.Array pbArr = (System.Array)pbIn.get_PixelData(p);
for (int r = 0; r < pbIn.Height; r++)
{
for (int c = 0; c < pbIn.Width; c++)
{
HashSet<float> hash = new HashSet<float>();
for (int rb = 0; rb < rws; rb++)
{
int nrb = r + rb;
for (int cb = 0; cb < clms; cb++)
{
int ncb = c + cb;
object objVl = pbInBig.GetVal(p, ncb, nrb);
if (objVl != null)
{
float vl = System.Convert.ToSingle(objVl);
hash.Add(vl);
}
}
}
pbArr.SetValue(hash.Count, c, r);
}
}
pbIn.set_PixelData(p, pbArr);
}
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:29,代码来源:focalHelperUnique.cs
示例3: setPixelData
private void setPixelData(int p, ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 pbIn, ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 pbInBig)
{
System.Array pbArr = (System.Array)pbIn.get_PixelData(p);
for (int r = 0; r < pbIn.Height; r++)
{
for (int c = 0; c < pbIn.Width; c++)
{
int tCnt = 0;
Dictionary<float, int> vlDic = new Dictionary<float, int>();
for (int rb = 0; rb < rws; rb++)
{
int nrb = r + rb;
for (int cb = 0; cb < clms; cb++)
{
int ncb = c + cb;
object objVl = pbInBig.GetVal(p, ncb, nrb);
if (objVl != null)
{
float vl = System.Convert.ToSingle(objVl);
int vlCnt = 1;
//Console.WriteLine("From Thread " + p.ToString() + "; " + vl.ToString());
if (vlDic.TryGetValue(vl, out vlCnt))
{
vlDic[vl] = vlCnt + 1;
}
else
{
vlDic.Add(vl, 1);
}
tCnt += 1;
}
}
}
int rSum = 0;
int halfCnt = tCnt/2;
List<float> keyLst = vlDic.Keys.ToList();
keyLst.Sort();
foreach (float f in keyLst)
{
int vlCnt = vlDic[f];
rSum = rSum+vlCnt;
if (rSum > halfCnt)
{
pbArr.SetValue(f, c, r);
break;
}
}
//pbArr.SetValue(ent, c, r);
}
}
pbIn.set_PixelData(p, pbArr);
}
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:54,代码来源:focalHelperMedian.cs
示例4: setPixelData
private void setPixelData(int p, ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 pbIn, ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 pbInBig)
{
System.Array pbArr = (System.Array)pbIn.get_PixelData(p);
for (int r = 0; r < pbIn.Height; r++)
{
for (int c = 0; c < pbIn.Width; c++)
{
Dictionary<float, int> vlDic = new Dictionary<float, int>();
for (int rb = 0; rb < rws; rb++)
{
int nrb = r + rb;
for (int cb = 0; cb < clms; cb++)
{
int ncb = c + cb;
object objVl = pbInBig.GetVal(p, ncb, nrb);
if (objVl != null)
{
float vl = System.Convert.ToSingle(objVl);
int vlCnt = 1;
//Console.WriteLine("From Thread " + p.ToString() + "; " + vl.ToString());
if (vlDic.TryGetValue(vl, out vlCnt))
{
vlDic[vl] = vlCnt + 1;
}
else
{
vlDic.Add(vl, 1);
}
}
}
}
int maxCnt = 0;
float maxVl = 0;
foreach (KeyValuePair<float, int> kvp in vlDic)
{
int kVl = kvp.Value;
//Console.WriteLine("kVl = " + kVl.ToString());
if (kVl > maxCnt)
{
maxVl = kvp.Key;
maxCnt = kVl;
}
}
pbArr.SetValue(maxVl, c, r);
}
}
pbIn.set_PixelData(p, pbArr);
}
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:50,代码来源:focalHelperMode.cs
示例5: setPixelData
private void setPixelData(int p, ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 pbIn, ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 pbInBig)
{
System.Array pbArr = (System.Array)pbIn.get_PixelData(p);
for (int r = 0; r < pbIn.Height; r++)
{
for (int c = 0; c < pbIn.Width; c++)
{
float tCnt = 0;
Dictionary<float, int> vlDic = new Dictionary<float, int>();
for (int rb = 0; rb < rws; rb++)
{
int nrb = r + rb;
for (int cb = 0; cb < clms; cb++)
{
int ncb = c + cb;
object objVl = pbInBig.GetVal(p, ncb, nrb);
if (objVl != null)
{
float vl = System.Convert.ToSingle(objVl);
int vlCnt = 1;
//Console.WriteLine("From Thread " + p.ToString() + "; " + vl.ToString());
if (vlDic.TryGetValue(vl, out vlCnt))
{
vlDic[vl] = vlCnt + 1;
}
else
{
vlDic.Add(vl, 1);
}
tCnt += 1;
}
}
}
float prob = 0;
float ent = 0;
foreach (int vlCnt in vlDic.Values)
{
prob = vlCnt / tCnt;
ent = ent+(prob * prob);
}
pbArr.SetValue(ent, c, r);
}
}
pbIn.set_PixelData(p, pbArr);
}
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:47,代码来源:focalHelperProbability.cs
示例6: getTransformedValue
public override object getTransformedValue(ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 bigArr, int startClm, int startRw, int nBand)
{
Dictionary<float, int> countDic = new Dictionary<float, int>();
foreach (int[] xy in offsetLst)
{
int bWc = xy[0] + startClm;
int bRc = xy[1] + startRw;
object vlObj = bigArr.GetVal(nBand, bWc, bRc);
if (vlObj == null)
{
continue;
}
else
{
//int vl2 = System.Convert.ToInt32(vl);
//Console.WriteLine(vl)
float vl = (float)vlObj;
int cnt = 0;
if (countDic.TryGetValue(vl, out cnt))
{
countDic[vl] = cnt + 1;
}
else
{
countDic.Add(vl, 1);
}
}
}
int vlMax = countDic.Values.Max();
float key = noDataValue;
foreach (KeyValuePair<float, int> kVp in countDic)
{
float k = kVp.Key;
int v = kVp.Value;
if (v == vlMax)
{
key = k;
break;
}
}
//Console.WriteLine(vlMax);
return key;
}
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:44,代码来源:focalSampleHelperMode.cs
示例7: getTransformedValue
public override object getTransformedValue(ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 bigArr, int startClm, int startRw, int nBand)
{
HashSet<float> unq = new HashSet<float>();
foreach (int[] xy in offsetLst)
{
int bWc = xy[0] + startClm;
int bRc = xy[1] + startRw;
object vlObj = bigArr.GetVal(nBand, bWc, bRc);
if (vlObj == null)
{
continue;
}
else
{
float vl = (float)vlObj;
unq.Add(vl);
}
}
return unq.Count;
}
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:21,代码来源:focalSampleHelperUnique.cs
示例8: getTransformedValue
public override object getTransformedValue(ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 bigArr, int startClm, int startRw, int nBand)
{
Dictionary<float, int> countDic = new Dictionary<float, int>();
int cntSub = 0;
foreach (int[] xy in offsetLst)
{
int bWc = xy[0] + startClm;
int bRc = xy[1] + startRw;
object vlObj = bigArr.GetVal(nBand, bWc, bRc);
if (vlObj == null)
{
cntSub+=1;
}
else
{
float vl = (float)vlObj;
int cnt = 0;
if (countDic.TryGetValue(vl, out cnt))
{
countDic[vl] = cnt+1;
}
else
{
countDic.Add(vl, 1);
}
}
}
int n = offsetLst.Count - cntSub;
float prob = 0;
float ent = 0;
foreach (int v in countDic.Values)
{
prob = (System.Convert.ToSingle(v) / n);
ent += (prob * System.Convert.ToSingle(Math.Log(prob)));
}
//Console.WriteLine(vlMax);
return (ent * -1);
}
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:39,代码来源:focalSampleHelperEntropy.cs
示例9: getTransformedValue
public override object getTransformedValue( ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 bigArr, int startClm, int startRw, int nBand)
{
//Console.WriteLine("Start CR = " + startClm.ToString()+":"+ startRw.ToString());
float db = 0;
foreach (int[] xy in offsetLst)
{
int bWc = xy[0] + startClm;
int bRc = xy[1] + startRw;
object objVl = bigArr.GetVal(nBand,bWc, bRc);
//Console.WriteLine("\t"+vl.ToString());
if (objVl==null)
{
continue;
}
else
{
db += (float)objVl;
}
}
return db/offsetLst.Count;
}
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:22,代码来源:focalSampleHelperMean.cs
示例10: getTransformedValue
public override object getTransformedValue(ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 bigArr, int startClm, int startRw, int nBand)
{
List<float> dbLst = new List<float>();
foreach (int[] xy in offsetLst)
{
int bWc = xy[0] + startClm;
int bRc = xy[1] + startRw;
object vlObj = bigArr.GetVal(nBand, bWc, bRc);
if (vlObj == null)
{
continue;
}
else
{
float vl = (float)vlObj;
dbLst.Add(vl);
}
}
int middleVlIndex = dbLst.Count / 2;
dbLst.Sort();
return dbLst[middleVlIndex];
}
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:23,代码来源:focalSampleHelperMedian.cs
示例11: getTransformedValue
public override object getTransformedValue(ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 bigArr, int startClm, int startRw, int nBand)
{
float db = Single.MinValue;
foreach (int[] xy in offsetLst)
{
int bWc = xy[0] + startClm;
int bRc = xy[1] + startRw;
object objVl = bigArr.GetVal(nBand, bWc, bRc);
if (objVl==null)
{
continue;
}
else
{
float vl = (float)objVl;
if (vl > db)
{
db = vl;
}
}
}
return db;
}
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:23,代码来源:focalSampleHelperMax.cs
示例12: setPixelDataFolding
private void setPixelDataFolding(int p, ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 pbIn, ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 pbInBig)
{
System.Array pbArr = (System.Array)pbIn.get_PixelData(p);
Dictionary<float, int>[][] wrDic1 = new Dictionary<float, int>[pbIn.Width][];
//create first dictionary and set first values
for (int w = 0; w < pbIn.Width; w++)
{
wrDic1[w] = new Dictionary<float, int>[rws];
for (int r = 0; r < rws; r++)
{
wrDic1[w][r] = new Dictionary<float, int>();
Dictionary<float, int> fDic = wrDic1[w][r];
for (int c = 0; c < clms; c++)
{
object objVl = pbInBig.GetVal(p, c, r);
if (objVl != null)
{
float vl = System.Convert.ToSingle(objVl);
int vlCnt;
if (fDic.TryGetValue(vl, out vlCnt))
{
fDic[vl] = vlCnt + 1;
}
else
{
fDic.Add(vl, 1);
}
}
}
}
setValues(pbArr, wrDic1[w], w, 0);
}
//create next dictionary and set the rest of the values
int clmsM = clms - 1;
int rwsM = rws - 1;
Dictionary<float, int>[][] wrDic2 = new Dictionary<float, int>[pbIn.Width][];
//wrDic2[0][0] = wrDic1[0][rwsM];
for (int r = 1; r < pbIn.Height; r++)
{
for (int c = 0; c < pbIn.Width; c++)
{
Dictionary<float, int> clmsDic;
wrDic2[c] = new Dictionary<float, int>[rws];
for (int rb = 1; rb < rws; rb++)
{
wrDic2[c][rb - 1] = new Dictionary<float, int>(wrDic1[c][rb]);
}
int nrb = r + rwsM;
if (c > 0)// copy previous dictionary on same row and remove/add values
{
wrDic2[c][rwsM] = new Dictionary<float, int>(wrDic2[c - 1][rwsM]);
clmsDic = wrDic2[c][rwsM];
int ncb = c + clmsM;
object objVln = pbInBig.GetVal(p, ncb, nrb);
object objVlo = pbInBig.GetVal(p, c - 1, nrb);
if (objVlo != null)//remove old value
{
float vlo = System.Convert.ToSingle(objVlo);
int vloCnt = clmsDic[vlo];
if (vloCnt > 1)
{
clmsDic[vlo] = vloCnt - 1;
}
else
{
clmsDic.Remove(vlo);
}
}
if (objVln != null)//add new value
{
float vln = System.Convert.ToSingle(objVln);
int vlnCnt;
if (clmsDic.TryGetValue(vln, out vlnCnt))
{
clmsDic[vln] = vlnCnt + 1;
}
else
{
clmsDic.Add(vln, 1);
}
}
}
else //first column, need to get all numbers of new row
{
wrDic2[c][rwsM] = new Dictionary<float, int>();
Dictionary<float, int> fDic = wrDic2[c][rwsM];
for (int c2 = 0; c2 < clms; c2++)
{
object objVl = pbInBig.GetVal(p, c2, nrb);
if (objVl != null)
{
float vl = System.Convert.ToSingle(objVl);
int vlCnt;
if (fDic.TryGetValue(vl, out vlCnt))
{
fDic[vl] = vlCnt + 1;
}
else
{
//.........这里部分代码省略.........
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:101,代码来源:focalHelperMedian.cs
示例13: updatePixelRectangle
public override void updatePixelRectangle(ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 pbIn, ESRI.ArcGIS.DataSourcesRaster.IPixelBlock3 pbInBig)
{
int rs = pbInBig.Height;
int cs = pbInBig.Width;
int hc = clms - 1;
int hr = rws - 1;
int scs = pbIn.Width;
int srs = pbIn.Height;
Queue<float[]>[] windowQueue = new Queue<float[]>[pbIn.Planes];
for (int b = 0; b < pbIn.Planes; b++)
{
System.Array upArr = (System.Array)pbIn.get_PixelData(b); ;
Queue<float[]> queB = new Queue<float[]>();
windowQueue[b] = queB;
for (int r = 0; r < rws; r++)
{
int nr = r - hr;
float[] sumNewBigArr = new float[scs];
float sumVl = 0;
for (int c = 0; c < clms; c++)
{
object objBvl = pbInBig.GetVal(b, c, r);
float bVl = 0;
if (objBvl != null)
{
bVl = (float)objBvl;
}
sumVl += bVl;
}
sumNewBigArr[0] = sumVl;
for (int c = clms; c < cs; c++)
{
int nc = c - hc;
int pc = c - clms;
object bVlobj = pbInBig.GetVal(b, c, r);
object pVlobj = pbInBig.GetVal(b, pc, r);
float bVl = 0;
float pVl = 0;
if (bVlobj!=null)
{
bVl = (float)bVlobj;
}
if (pVlobj!=null)
{
pVl = (float)pVlobj;
}
sumVl += bVl - pVl;
try
{
sumNewBigArr[nc] = sumVl;
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
System.Windows.Forms.MessageBox.Show(e.ToString());
}
}
queB.Enqueue(sumNewBigArr);
}
updateFirstRow(queB, ref upArr, ref pbIn);
for (int r = rws; r < rs; r++)
{
int pr = r-rws;
int nr = r - hr;
float[] sumNewBigArr = new float[scs];
float sumVl = 0;
//first 3 values
for (int c = 0; c < clms; c++)
{
object bVlobj = pbInBig.GetVal(b, c, r);
float bVl = 0;
if (bVlobj!=null)
{
bVl = (float)bVlobj;
}
sumVl += bVl;
}
sumNewBigArr[0] = sumVl;
float oldSumVl = queB.Peek()[0];
float pSmallArrValue = (float)upArr.GetValue(0,pr);//pSmallArrValues[0];
float nSmallArrValue = pSmallArrValue + sumVl - oldSumVl;
upArr.SetValue(nSmallArrValue, 0, nr);
//pSmallArrValues[0] = nSmallArrValue;
for (int c = clms; c < cs; c++)
{
int nc = c - hc;
int pc = c - clms;
object bVlobj = pbInBig.GetVal(b, c, r);
object pVlobj = pbInBig.GetVal(b, pc, r);
float bVl = 0;
float pVl = 0;
if (bVlobj!=null)
{
bVl = (float)bVlobj;
}
if (pVlobj!=null)
{
//.........这里部分代码省略.........
开发者ID:GeospatialDaryl,项目名称:USFS_RMRS_FunctionalModeling_RasterModeling,代码行数:101,代码来源:focalHelperMean.cs