Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

124
Views
¿Cómo obtener la latitud y la longitud después de recorrer una distancia en cierto rumbo desde otro punto?

Digamos que tengo la coordenada de latitud y longitud [30, -87]. Desde ese punto, me gustaría poder encontrar dónde estaría mi ubicación después de viajar, digamos, 10 km a 45 grados de rumbo.

Mi primer intento de tratar de resolver esto no salió tan bien como se puede ver a continuación. Obviamente, esto no tiene en cuenta las unidades, que es realmente la parte más difícil de comprender al menos para mí.

 var bearing = 45; var distance = 10; var position = { "latitude": 30, "longitude": -87 }; var newLat = Math.cos(bearing) * distance + position.latitude; var newLon = Math.sin(bearing) * distance + position.longitude;

Supongo que el radio de la tierra entrará en juego en algún momento, pero realmente no sabía por dónde empezar, por lo que cualquier ayuda sería muy apreciada.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

He usado código python aquí: obtener lat/long dado el punto actual, la distancia y el rumbo , y convertirlo en código JS para obtener la respuesta.

Aquí está el código:

 const bearing = 45; const bearing_rad = (bearing*Math.PI)/180; const distance = 10; const EARTH_RADIUS = 6378.1; const initial_position = { "latitude": 30, "longitude": -87 }; const init_lat = (initial_position.latitude*Math.PI)/180; const init_lon = (initial_position.longitude*Math.PI)/180; const final_lat = (180/Math.PI)*(Math.asin( Math.sin(init_lat)*Math.cos(distance/EARTH_RADIUS) + Math.cos(init_lat)*Math.sin(distance/EARTH_RADIUS)*Math.cos(bearing_rad))); const final_lon = (180/Math.PI)*(init_lon + Math.atan2(Math.sin(bearing_rad)*Math.sin(distance/EARTH_RADIUS)*Math.cos(init_lat), Math.cos(distance/EARTH_RADIUS)-Math.sin(init_lat)*Math.sin(final_lat))); console.log(final_lat, final_lon); // 30.06350049619102 -86.96303358059173
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!