web-dev-qa-db-fra.com

Comment inverser le géocodage sans Google?

Existe-t-il des services Web (payants ou gratuits) en plus de l'API Google Maps qui vous permettent d'inverser le géocodage?

Mon application particulière aura accès à une latitude et une longitude et je dois pouvoir obtenir le code postal ou l'État américain.

La raison pour laquelle je ne peux pas utiliser Google est que les conditions d'utilisation semblent indiquer que si vous utilisez l'API Google Maps, vous devez utiliser les données pour afficher une carte Google.

J'utilise le framework C # .Net au cas où cela serait pertinent.

49
jessegavin
33
WoodyDRN

Les noms géographiques peuvent vous donner soit un nom de lieu:

http://ws.geonames.org/findNearbyPlaceName?lat=40.65&lng=-73.78

ou un code postal:

http://ws.geonames.org/findNearbyPostalCodes?lat=40.65&lng=-73.78

C'est gratuit tant que vous les créditez et que vous avez besoin de moins de 15 000 recherches par jour. Vous pouvez payer si vous en avez besoin de plus.

9
stevemegson

Je ne suis pas fan de MS. Mais vérifiez ceci: http://msdn.Microsoft.com/en-us/library/ff859477.aspx

L'API RESTful Location Service ne semble pas publier de restriction.

Vous pouvez utiliser l'API Find Location By Point: http://msdn.Microsoft.com/en-us/library/ff701710.aspx

J'ai essayé l'échantillon pour geoNames, le résultat n'est pas assez bon pour moi car j'ai besoin d'informations sur le comté et le temps de réponse est lent.

8
xueru

openstreetmap:

$.getJSON('https://nominatim.openstreetmap.org/reverse', {
    lat: position.coords.latitude,
    lon: position.coords.longitude,
    format: 'json',
}, function (result) {
    console.log(result);
}); 

noms géographiques:

$.getJSON('https://secure.geonames.org/countryCode', {
    lat: position.coords.latitude,
    lng: position.coords.longitude,
    type: 'JSON',
    username: 'demo'
}, function (result) {
    console.log(result);
});
6
rahulroy9202

ArcGIS fournit une API gratuite (et payante):

https://developers.arcgis.com/rest/geocode/api-reference/geocoding-reverse-geocode.htm

Il fournit une adresse pour un emplacement donné (lat/lon). Il ne nécessite même pas de clé API, mais ils vous suggèrent d'en obtenir une gratuitement pour éviter les limites de taux.

Voici un exemple d'appel d'API, avec une réponse JSON:

http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/reverseGeocode?location=4.366281%2C50.851994&langCode=fr&outSR=&forStorage=false&f=pjson

5
moollaza

Nominatim Search Service de MapQuest Open API est gratuit et n'a pas de limite de demande (limite logicielle de 1/sec).

http://open.mapquestapi.com/nominatim/v1/reverse.php?format=json&lat=44.0776182&lon=-92.5296981

TOS peut être trouvé ici

3
rynop

Jetez un œil à Geocoda - gratuit pour jusqu'à 1 000 appels de géocodage avant ou arrière par mois, à un prix raisonnable pour plus.

Mise à jour février 2019 - Geocoda est maintenant fermé.

1
brokenbeatnik