问题
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 =)
回答1:
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
回答2:
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:
- Google Elevation API: 25,000 requests/day, limited to Google Maps applications
- Lat/Lon to Elevation: 2 points / second
- GPSVisualizer: no published speed, but not intended for general DEM use
- Shuttle Radar Topography: alternative to the NED, 7 gigabytes for the US.
回答3:
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.
回答4:
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.
来源:https://stackoverflow.com/questions/1090534/how-to-look-up-elevation-data-by-lat-lng