IWorkspaceFactory wsf = new RasterWorkspaceFactoryClass(); IRasterWorkspace rasterWS = (IRasterWorkspace)wsf.OpenFromFile(@"C:\Users\ABC\Desktop\DTED_E30N40\dted\e034", 0); rasterDS = rasterWS.OpenRasterDataset("n40.dt0"); IRasterBandCollection pRasterBandCollection = (IRasterBandCollection)rasterDS; IEnumRasterBand pEnumRasterBand = pRasterBandCollection.Bands; IRasterBand pRasterBand = pEnumRasterBand.Next(); pRasterBand.ComputeStatsAndHist(); IRasterStatistics pRasterStatistics = pRasterBand.Statistics; IRgbColor pFromColor = new RgbColorClass(); pFromColor.Red = 20; pFromColor.Green = 20; pFromColor.Blue = 220; IRgbColor pToColor = new RgbColorClass(); pToColor.Red = 220; pToColor.Green = 20; pToColor.Blue = 20; IAlgorithmicColorRamp pAlgorithmicColorRamp = new AlgorithmicColorRampClass(); pAlgorithmicColorRamp.FromColor = pFromColor; pAlgorithmicColorRamp.ToColor = pToColor; pAlgorithmicColorRamp.Algorithm = esriColorRampAlgorithm.esriHSVAlgorithm; pAlgorithmicColorRamp.Size = 255; bool bOK; pAlgorithmicColorRamp.CreateRamp(out bOK); IRasterStretchColorRampRenderer pRasterStretchColorRampRenderer = new RasterStretchColorRampRendererClass(); pRasterStretchColorRampRenderer.BandIndex = 0; pRasterStretchColorRampRenderer.LabelHigh = pRasterStatistics.Maximum.ToString(); pRasterStretchColorRampRenderer.LabelLow = pRasterStatistics.Minimum.ToString(); pRasterStretchColorRampRenderer.ColorRamp = pAlgorithmicColorRamp; IRasterLayer rasterLayer = new RasterLayer(); rasterLayer.CreateFromDataset(rasterDS); rasterLayer.Name = "DTED Level 0 [E34-N40]"; rasterLayer.Renderer = (IRasterRenderer)pRasterStretchColorRampRenderer; axMapControl1.AddLayer(rasterLayer);
Solved! Go to Solution.
Thank you very much Neil; for mentioning ISurface and thank you ScJpike; for your helpful link 🙂
Now, I'm able to get linear line of sight of two points, as you see: [ATTACH=CONFIG]23004[/ATTACH]
Well, is there any way to give observer's Z (elevation) and get line of sight of that point with given Z (not the elevation in DTED)? Imagine that I want to get LLOS of a helicopter that abviously it's elevation is greater that DTED's elevation of that point.
Or it's only possible with DTED elevations? Any idea?
Thank you very much guys
Sincerely