1
resposta

Calcular pontos próximos a uma rota

Caros professor e colegas, tenho um problema com meu artigo da pós seguinte: aqui em Teresina existe um serviço de rastreamento dos ônibus. Eu mesmo tenho um app q exibe a localização dos ônibus (chamado StarBus). Tenho dados de rastreamento desde Outubro de 2019 e são vários pontos.

Olhando isoladamente para uma linha os pontos capturados pelos GPS dos ônibus que rodam nela, em sua maioria segue a rota definida pela Strans (que é quem regula o transporte público aqui). Porém há uma parcela (grande) de pontos que estão bem distantes da rota que devia seguir. Em alguns casos o motorista faz um desvio de rota mas na maioria desses 'outliers' é q o ônibus está indo para/vindo da garagem.

Eu quero retirar esses outliers para melhorar as previsões aí que vai a pergunta: No curso aprendemos como calcular a distância de um ponto a outro e de um ponto a um polígono e se um ponto está dentro de um polígono, de forma semelhante é possível calcular a distância de um ponto a uma linha para que eu possa descartar os mais distantes?

Grato.

1 resposta

Oi Silio,

Sim, é possível calcular a distância de um ponto até uma linha. E isso pode ser feito da mesma forma que aprendemos em aula. A diferença será apenas na classe de objeto geométrico envolvida no cálculo.

O Geopandas tem três classes de objetos geométricos:

  • Points / Multi-Points
  • Lines / Multi-Lines
  • Polygons / Multi-Polygons

Que vão estar representadas em nossa coluna geometry como Point, LineString e Polygon, respectivamente.

Veja um exemplo do uso do método distance entre diferentes objetos geométricos na documentação do GeoPandas.

Espero ter ajudado