views:

1283

answers:

4

I am planning an app that will need the ability to look up the elevation of geographic points by lat/lng. Ideally I would like something that would work worldwide, but US-only would also suffice. I have looked at using the USGS Elevation Query Web Service, however it only allows you to query for one point at a time, and I will need to look up several hundred, and possibly up to several thousand. I also considered downloading & hosting the National Elevation Dataset myself, but it's almost 100 gigs, and apparently the USGS only allows you to download 1.5 gigs at a time.

Can anyone familiar with GIS recommend a good solution for me? I'm looking for something as lightweight & simple as possible. I am completely new to GIS, so I would really appreciate suggestions on where to get the data, how to store it, and how/what to use when working with it.

Thanks in advance.

EDIT: Just to clarify, the data points I need are not predetermined. They are arbitrary points chosen by the user (by interacting with a google maps mashup), so I do need to be able to query for any point, not just a small subset.

EDIT 2: If there is no lightweight or simple solution, I'll take whatever I can get =)

A: 

The USGS Elevation Query Web Service only allows one query at a time, but it allows you to make requests with SOAP, HTTP GET, or HTTP POST. Choose your favorite language and write a script to generate requests for each of your data points.

Chris B
Bryan
@Bryan, can you look up all of the points just once and save them in a database?
Chris B
@Chris B, No. Please see my edit to the question. Sorry, I should have clarified that when I asked.
Bryan
+3  A: 

I'll give you one of the best "secrets" that I learned throughout the years after going through many different pains (leeching scripts, manual clicking, etc). It is an old-school trick... contact a real person there!

The best way do get the NED elevation dataset is to contact USGS's Eros group directly at bulkdatainfo_at_usgs.gov

You send them an external drive and after 4 to 8 weeks (usually much less than that) they will send you the entire dataset that you requested.

Then use GDAL to query your points in a way similar to this example. You may want to read the Affine Geotransform section of the GDAL Data Model

rburhum
Bryan
PostGIS supports vectors, and what you are looking for is querying Rasters. There is some current work being done in PostGIS to support a WKTRaster type, but in the meantime, GDAL would be the way to go. See http://lists.osgeo.org/pipermail/gdal-dev/2008-September/018442.html
rburhum
Ah, I misunderstood the application of GDAL... maybe because the example was posted to the PostGIS mailing list ;)Thanks a lot!
Bryan
A: 

I bought a GEOIP database and store every single post long lat data in mysql. After that i just implement the Google Map API by passing dynamic longlat data to the Google MAP. What I get is all my post shown in the Google Map and also display nearest post from a certain location

What you need is a GEOIP database, A query that calculate distance in miles base on given longlat, Google API, PHP Dynamic passing API variables.

example of my site : Matchimedia.com.

-1, this is not what the OP asked for
fmark
+2  A: 

I recently stumbled in to this question while doing research. I don't have a complete simple answer either, but there are some other options not listed in the answers so far:

Nelson
+! for SRTM: its global, free to download, good quality!
fmark