Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I'm using ISurface.GetElevation on a Raster to get the elevation for a specific lat/lon.

I have to do this for a huge set of datapoints.

Currently i'm testing with a dataset of 10.000 items which takes Esri over 30 seconds but is executed by GlobalMapper within half a second.

Is there any other way to quickly retrieve the elevation (bi. interpolated if needed) using Esri ArcObjects function ?

I'm working in C#

Thank you for your help!

share|improve this question
    
I also tried using IFunctionalRaster2.get_Z(x,y) which is quicker (4x) but still much slower then the GlobalMapper implementation. –  invalidusername Mar 16 '12 at 14:04
add comment

1 Answer

If it is one raster, I usually use IIdentify2:Identify method, to get the cell value, and get the height. ISurface.GetElevation gives you the interpolated value, and if your cell size is large, then there might be a large difference between the two. Otherwise, It usually is good enough.

share|improve this answer
    
Identify works but is really slow and i need the interpolated value, so i'm using IFunctionalRaster2.get_Z() and ISurface.GetElevation() now. They are quicker, but nothing compared to the speed i get with my .Net wrapped GlobalMapper COM library. 10.000 items using Identify takes 30secs were GlobalMapper does this in half a second! I'm looking for a speedy way to get interpolated Elevation that matches the speed of GlobalMapper. –  invalidusername Mar 16 '12 at 17:08
    
Forget to mention that i'm also looking at multiple rasters. Not just one. –  invalidusername Mar 16 '12 at 17:08
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.