Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

3 Commits

Repository files navigation

Cálculo de Distâncias com C++ e JavaScript

Este projeto demonstra como calcular distâncias geográficas usando a fórmula de Haversine, com implementações em C++ e JavaScript. Embora o exemplo fornecido utilize as cidades de Nova York e Los Angeles, o código pode ser facilmente adaptado para calcular a distância entre quaisquer outros pontos geográficos, bastando alterar as coordenadas.

Tecnologias Utilizadas

  • Node.js: Ambiente de execução para JavaScript.
  • C++: Para a implementação otimizada do cálculo de distância.
  • JavaScript: Para a implementação do cálculo de distância usando métodos nativos.
  • GYP: Ferramenta para gerar arquivos de build.

Instalação

  1. Clone o repositório:

    git clone https://github.com/E-RAPHA/haversine-nodeJS-addon
    cd haversine-nodeJS-addon

  2. Instale o node-gyp globalmente:

    npm install -g node-gyp

  3. Configure e compile o módulo C++:

    node-gyp configure
    node-gyp build

Exemplo de Uso

No código de exemplo, a distância entre Nova York e Los Angeles é calculada. No entanto, você pode substituir essas coordenadas por quaisquer outras para calcular a distância entre diferentes pontos.

Para calcular a distância entre os pontos fornecidos, execute o seguinte comando:

node index.js

O resultado exibido no console mostrará a distância calculada em quilômetros tanto pela implementação em C++ quanto pela implementação em JavaScript.

Sobre a Fórmula de Haversine

haversineFormulaa

A fórmula de Haversine calcula a distância entre dois pontos na superfície de uma esfera (como a Terra) utilizando suas latitudes e longitudes. A fórmula é especialmente útil para calcular distâncias geográficas e é amplamente utilizada em aplicações de mapeamento.

Desempenho

A seguir estão os tempos de execução para calcular distâncias entre pontos utilizando diferentes abordagens: C++, JavaScript nativo e JS-geolib. Os tempos são medidos em milissegundos para diferentes volumes de cálculos.

Distâncias CalculadasTempo total em C++ (ms)Tempo total em JavaScript (ms)Tempo total com JS-geolib (ms)
100.08030.10181.5550
1000.13800.95464.2650
10001.02991.712346.1140
100006.784210.5629235.7440
10000041.376751.66622346.7940
1000000279.3835459.983221449.5490
100000002812.60884426.7255201892.8210
10000000026781.401443999.17062029203.6720

Análise de Performance

Esses resultados mostram que o addon C++ é altamente eficiente para cálculos de grande escala, tornando-o uma escolha ideal para aplicações que exigem alta performance em processamento de distâncias geográficas.

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir um problema ou enviar um pull request.

Licença

Este projeto está licenciado sob a MIT License.

Contato


  • Caso você tenha gostado, coloque uma ⭐ no projeto!

Referências

About

addon nodejs

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages