using NetTopologySuite.Geometries;
namespace OperationControl.Mapas.Models
{
public class MapaRua
{
///
/// ID canônico utilizado pelo Operation Control e enviado ao rover.
///
public string Id { get; set; } = string.Empty;
///
/// ID encontrado no arquivo original, quando existente.
/// Pode ser útil para diagnóstico e rastreabilidade.
///
public string? IdOriginal { get; set; }
///
/// Indica que o importador precisou criar um ID para esta rua.
/// IDs gerados automaticamente são sempre strings numéricas.
///
public bool IdGeradoAutomaticamente { get; set; }
public string Nome { get; set; } = string.Empty;
///
/// Geometria canônica da rua.
///
/// Regra do módulo:
/// todas as geometrias armazenadas no documento estão em
/// WGS84 / EPSG:4326:
///
/// X = Longitude
/// Y = Latitude
///
public LineString Geometria { get; set; } = null!;
///
/// Comprimento calculado a partir da geometria WGS84.
///
public double ComprimentoMetros { get; set; }
public double Dist1 { get; set; }
public double Dist2 { get; set; }
///
/// Posição da feature no arquivo original.
/// Serve somente para rastreabilidade/diagnóstico.
///
public int IndiceFeatureOrigem { get; set; }
}
}