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 found too many hits on the web to even see the right direction to go.

I have to provide a small proxy server serving requests for a line of terrain elevation data between two coordinates.

It is a Linux system where GDAL is installed already. There are standard raster elevation maps as inputs. The proxy needs to calculate about 1000 points/sec at runtime.

I'm not that much familiar with python but what I've read so far is that GDAL/python seems the way to go. Is my feeling right to go this way?

thanks for feedback

Wolfgang R.

share|improve this question

1 Answer 1

up vote 1 down vote accepted

Speed could be an issue for you.

  1. Make sure that you load the DTM(s) into memory - this makes it so that GDAL does not need to read the same data over and over. If you can not do this, performance will take a hit.
  2. Make use of the multithreading module and Queue's. Basically, you can queue up the requests and let cores sequentially access the requests as they finish previous requests.
  3. If you are taking input as lat/lon and have to transform to pixel space this will increase overhead even more.
  4. I do not see this solution attaining 1000pts/sec, but would love to know if it can!

I have implemented something similar - using GDAL and python. The essence of the solution is to get the start and end point of you line and extract a vector (NumPy) from a DTM. This vector is your topographic profile.

share|improve this answer
    
Thanks for your feedback. The issue got a bit out-of-scope for me as there are other priorities for the moment. But this info will become helpful when I start on it again. –  Wolfgang R. Feb 27 '13 at 20:50

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.