private void ReadGridDataByGeoCalcBound(GeoCalcBound geoCalcBound, IGeoRasterData geoDemData, Dictionary<double, List<short>> gridValueByPointDict) { short[] valueByCalcBound = geoDemData.GetValueByCalcBound<short>(geoCalcBound); lock (this.boundThreadTag) { List<short> list = new List<short>(); list.AddRange(valueByCalcBound); double resolution = geoDemData.Resolution; while (gridValueByPointDict.ContainsKey(resolution)) { resolution += 0.0001; } if (!gridValueByPointDict.ContainsKey(resolution)) { gridValueByPointDict.Add(resolution, list); } } }
private short[] GetDatas(GeoXYRect geoXYRect, IGeoRasterData rasterData) { if (rasterData == null) { return null; } GeoCalcBound geoCalcBound = new GeoCalcBound(geoXYRect, rasterData.Resolution); return rasterData.GetValueByCalcBound<short>(geoCalcBound); }