Como construir um projeto que informe se um ponto está dentro de uma área restrita?

API

Python

Google Maps

26/10/2022

Preciso construir um projeto que possa acusar se um ponto está dentro de uma área restrita ou não. Para isso tenho que usar um mapa com áreas restritas já delimitadas por meio de layers e o ponto de entrada é uma coordenada geográfica.

Para fazer este projeto em Python, estou pensando em usar a biblioteca "shapely.geometry" para converter todo o mapa em um plano cartesiano com as áreas restritas delimitadas. Nesse sentido, tenho que converter as coordenadas geográficas em coordenadas cartesianas (x,y).

Por favor, alguém conhece alguma biblioteca que permita converter coordenadas geográficas em coordenadas cartesianas?

Ou por acaso, alguém sabe uma maneira melhor de resolver este problema?

Atenciosamente,
Victor Soares
Victor Baptista

Victor Baptista

Curtidas 0

Respostas

Arthur Heinrich

Arthur Heinrich

26/10/2022

Um possível algoritmo para isso é calcular o ponto de intersecção de cada segmento de reta que limita a área delimitada com o segmento de reta horizontal, partindo do ponto a ser verificado.

Existem 3 situações possíveis:
1 - os segmentos de reta não se cruzam. Desconsiderar o segmento.
2 - os segmentos se cruzam em uma coordenada X inferior (à esquerda do ponto a ser verificado). Desconsiderar o segmento
3 - os segmentos se cruzam em uma coordenada X superior (à direita do ponto a ser verificado). Considerar o segmento, somando 1 a um contador.

Ao final, se o contador registrar um número ímpar de intersecções, o ponto está dentro da região demarcada.

Imagino que você possa considerar as coordenadas (longitude, latitude) como se fossem coordenadas cartesianas (x, y), sem problemas. Basta trabalhar com graus decimais, ao invés de notação XºY'Z".
GOSTEI 0
POSTAR