2009-07-07 5 views
12

Je prévois une application qui aura besoin de la capacité de rechercher l'altitude des points géographiques par lat/lng. Idéalement, j'aimerais que quelque chose fonctionne dans le monde entier, mais seulement aux États-Unis suffirait. J'ai regardé en utilisant le USGS Elevation Query Web Service, mais il ne vous permet que d'interroger pour un point à la fois, et je vais devoir chercher plusieurs centaines, et peut-être jusqu'à plusieurs milliers. J'ai également envisagé de télécharger moi-même le & Dataset national d'altitude, mais il est presque 100 concerts, et apparemment l'USGS vous permet seulement de télécharger 1,5 concerts à la fois. Est-ce que quelqu'un qui connaît SIG peut me recommander une bonne solution? Je cherche quelque chose d'aussi léger que possible. Je suis complètement novice en matière de SIG, j'apprécierais donc beaucoup les suggestions sur l'endroit où obtenir les données, comment les stocker, et comment/quoi utiliser quand on travaille avec.Comment rechercher des données d'altitude par lat/lng

Merci d'avance.

EDIT: Juste pour clarifier, les points de données dont j'ai besoin ne sont pas prédéterminés. Ce sont des points arbitraires choisis par l'utilisateur (en interagissant avec un mashup google maps), donc j'ai besoin de pouvoir interroger n'importe quel point, pas seulement un petit sous-ensemble.

EDIT 2: S'il n'y a pas de solution légère ou simple, je vais prendre tout ce que je peux obtenir =)

+0

liée: http://gis.stackexchange.com/questions/5932/is-there-an-online-tile-based-elevation-service –

Répondre

9

Je vais vous donner l'un des meilleurs «secrets» que j'ai appris au cours des années après avoir traversé beaucoup de différentes douleurs (scripts de sangsues, clics manuels, etc.). C'est un truc de la vieille école ... contactez une vraie personne là-bas!

La meilleure façon attrapez la NED elevation dataset est de contacter le groupe USGS Eros directement à bulkdatainfo_at_usgs.gov

Vous les envoyez un lecteur externe et après 4 à 8 semaines (en général beaucoup moins que cela), ils vous enverront la ensemble de données complet que vous avez demandé.

Ensuite, utilisez GDAL pour interroger vos points d'une manière similaire to this example. Vous pouvez lire le Affine Geotransform section of the GDAL Data Model

+0

Merci beaucoup. J'ai téléchargé un petit morceau du NED pour le tester et j'ai du mal à charger les données dans postgis. Les données viennent dans ce que je pense être un espace de travail ArcGrid, et la seule information que je peux trouver sur le chargement des données dans postgis utilise l'outil shp2sql pour convertir les fichiers de formes en instructions d'insertion sql. Pouvez-vous me donner plus d'informations sur cette étape? – Bryan

+0

PostGIS prend en charge les vecteurs, et ce que vous recherchez est l'interrogation de Rasters. Il y a du travail en cours dans PostGIS pour supporter un type WKTRaster, mais en attendant, GDAL serait la voie à suivre. Voir http://lists.osgeo.org/pipermail/gdal-dev/2008-September/018442.html – rburhum

+0

Ah, j'ai mal compris l'application de GDAL ... peut-être parce que l'exemple a été posté sur la liste de diffusion PostGIS;) Merci beaucoup! – Bryan

1

Le USGS Elevation Query Web Service ne permet qu'une seule requête à la fois, mais il vous permet de formuler des demandes SOAP, HTTP GET ou HTTP POST. Choisissez votre langue préférée et écrivez un script pour générer des requêtes pour chacun de vos points de données.

+0

J'ai déjà essayé. Cela fonctionne, mais cela prend trop de temps pour marteler le service de l'USGS pour des centaines de points. C'est pour une application Web et les données seront chargées de manière asynchrone, mais j'ai besoin de quelque chose qui peut me donner des résultats en quelques secondes ou moins - quelque chose de suffisamment rapide pour que l'utilisateur s'assoie et regarde un chargeur ajax. – Bryan

+0

@Brian, pouvez-vous rechercher tous les points une seule fois et les enregistrer dans une base de données? –

+0

@Chris B, No. S'il vous plaît voir mon edit à la question. Désolé, j'aurais dû clarifier cela quand j'ai demandé. – Bryan

-2

J'ai acheté une base de données GEOIP et stocke toutes les données post lat longues dans mysql. Après cela, je viens de mettre en œuvre l'API Google Map en transmettant des données dynamiques longlat à Google MAP. Ce que je reçois est tout mon message affiché dans la carte Google et affiche également le message le plus proche d'un certain endroit

Ce dont vous avez besoin est une base de données GEOIP, Une requête qui calcule la distance en miles de base sur longlat donné, Google API, PHP Dynamic transmettre des variables API.

exemple de mon site: Matchimedia.com.

+0

-1, ce n'est pas ce que l'OP a demandé – fmark

6

Je suis récemment tombé sur cette question en faisant des recherches.Je n'ai pas de réponse simple complète non plus, mais il y a d'autres options qui ne figurent pas dans les réponses à ce jour:

+0

+! pour SRTM: son global, gratuit à télécharger, de bonne qualité! – fmark

+0

GMTED2010 est un autre jeu de données mondial. C'est une mise à jour de l'ensemble de données GTOPO30 et incorpore plusieurs jeux de données, y compris SRTM. – Dominik

Questions connexes