Teniendo en cuenta la longitud y la latitud, ¿cómo puedo obtener el código y el nombre de un país?
De esta fuente he obtenido los siguientes datos que corresponden a la latitud y longitud de los países. ¿Cómo puedo obtener el nombre y código del país en el que se encuentran unas coordenadas?
[ { "countryCode": "AD", "latitude": "42.546245", "longitude": "1.601554", "countryName": "Andorra" }, { "countryCode": "AE", "latitude": "23.424076", "longitude": "53.847818", "countryName": "United Arab Emirates" }, { "countryCode": "AF", "latitude": "33.93911", "longitude": "67.709953", "countryName": "Afghanistan" }, { "countryCode": "AG", "latitude": "17.060816", "longitude": "-61.796428", "countryName": "Antigua and Barbuda" }, { "countryCode": "AI", "latitude": "18.220554", "longitude": "-63.068615", "countryName": "Anguilla" }, { "countryCode": "AL", "latitude": "41.153332", "longitude": "20.168331", "countryName": "Albania" }, { "countryCode": "AM", "latitude": "40.069099", "longitude": "45.038189", "countryName": "Armenia" }, { "countryCode": "AN", "latitude": "12.226079", "longitude": "-69.060087", "countryName": "Netherlands Antilles" }, { "countryCode": "AO", "latitude": "-11.202692", "longitude": "17.873887", "countryName": "Angola" }, ... ]Conjunto de datos completo https://jsfiddle.net/kmznxrhe/
Por ejemplo, dadas las siguientes coordenadas Latitud: 12.4157952, Longitud: -86.8777984, ¿cómo puedo obtener el nombre y código del país en el que se encuentran esas coordenadas?
No comparto un ejemplo porque realmente no se como hacer esta tarea
Gracias por adelantado
Con este conjunto de datos, lo único que puede hacer es obtener el país por una latitud y longitud específicas.
const data = [ { "countryCode": "country", "latitude": "latitude", "longitude": "longitude", "countryName": "name" }, { "countryCode": "NR", "latitude": "-0.522778", "longitude": "166.931503", "countryName": "Nauru" }, { "countryCode": "ZW", "latitude": "-19.015438", "longitude": "29.154857", "countryName": "Zimbabwe" } ] let myCountry = data.find(country => country.latitude === "-19.015438" && country.longitude === "29.154857") console.log(myCountry) //output //{ // "countryCode": "ZW", // "latitude": "-19.015438", // "longitude": "29.154857", // "countryName": "Zimbabwe" //}Pero no se puede comprobar la cobertura (por ejemplo: 12.4157952, -86.8777984), para ello te recomiendo este post
He obtenido los siguientes datos que corresponden a la latitud y longitud de los países.
Por lo tanto, su conjunto de datos contiene solo una sola coordenada que se encuentra dentro del país, sin brindar ninguna información sobre el límite de dicho país.
¿Cómo puedo obtener el nombre y código del país en el que se encuentran esas coordenadas?
Este proceso se denomina geocodificación inversa. Hay algunas API disponibles para esta tarea, por ejemplo, la API Nominatim de OSM.
Una URL de ejemplo que consulta las coordenadas que proporcionó como ejemplo: https://nominatim.openstreetmap.org/reverse?lat=12.4157952&lon=-86.8777984&zoom=3&format=json