validacionPoligono static method
Funcion utilizada para validar un un poligono para que despues se pueda
aplicar sobre este el algoritmo de Ray Casting para determinar si un punto
en especifico esta dentro o fuera del poligono
retorna true si el poligono es valido y false si no lo es
Implementation
static bool validacionPoligono(List<LatLngModel> poligono) {
// Verifica que la lista tenga al menos 4 puntos (3 puntos únicos más el punto de cierre)
if (poligono.length < 4) {
return false;
}
// Verifica que el primer y último punto sean iguales
if (poligono.first != poligono.last) {
return false;
}
// Verifica que no haya puntos consecutivos duplicados (excluyendo el primer y último punto ya comparados)
for (int i = 1; i < poligono.length - 1; i++) {
if (poligono[i] == poligono[i - 1]) {
return false;
}
}
// Si todas las validaciones pasan, el polígono es válido
return true;
}