algoritmo para definir uma geofência e ver se um ponto está dentro/fora dele

Estou à procura de um algoritmo através do qual posso criar uma geofência e verificar se um dispositivo está a entrar/a sair da vedação. Eu tenho olhado para o ponto em algoritmos de polígono (fundição de raios e número de enrolamento), mas existem alguns algoritmos que podem ser aplicados ao círculo e quaisquer formas irregulares também? A restrição importante é a eficiência do tempo.

Obrigado.

Author: Kevin Bedell, 2012-06-01

4 answers

Os círculos do poço são muito fáceis (pelo menos se você estiver assumindo uma superfície localmente plana) - apenas a distância absoluta de um ponto.

A forma normal se você precisa de velocidade é uma cascata onde você verifica um círculo primeiro, ou um quadrado em torno do ponto, em seguida, um polígono convexo, em seguida, um polígono mais detalhado, se necessário.

Como estás a definir a forma irregular se não é um polígono?

Ps ver Como testar se um ponto está dentro de um polígono convexo em número inteiro 2D coordenadas?

 2
Author: Martin Beckett, 2017-05-23 12:15:56

Aqui está o algoritmo de código c que é simples de entender:

Http://alienryderflex.com/polygon/

 2
Author: Josh C, 2012-10-09 13:02:02

Dê uma olhada em quadtrees, índice geográfico, quadrozes e R-trees.

 0
Author: Bytemain, 2012-10-09 13:11:50

Método Do Número De Enrolamento

Mas a conclusão é que, por razões de correcção geométrica e eficiência, o algoritmo do número de enrolamento deve ser sempre preferido para determinar a inclusão de um ponto num polígono.

 0
Author: LucasM, 2018-03-06 17:20:42