agrobot_base/AgroBase/OperationControl/Mapas/Models/MapaRua.cs

53 lines
1.6 KiB
C#

using NetTopologySuite.Geometries;
namespace OperationControl.Mapas.Models
{
public class MapaRua
{
/// <summary>
/// ID canônico utilizado pelo Operation Control e enviado ao rover.
/// </summary>
public string Id { get; set; } = string.Empty;
/// <summary>
/// ID encontrado no arquivo original, quando existente.
/// Pode ser útil para diagnóstico e rastreabilidade.
/// </summary>
public string? IdOriginal { get; set; }
/// <summary>
/// Indica que o importador precisou criar um ID para esta rua.
/// IDs gerados automaticamente são sempre strings numéricas.
/// </summary>
public bool IdGeradoAutomaticamente { get; set; }
public string Nome { get; set; } = string.Empty;
/// <summary>
/// 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
/// </summary>
public LineString Geometria { get; set; } = null!;
/// <summary>
/// Comprimento calculado a partir da geometria WGS84.
/// </summary>
public double ComprimentoMetros { get; set; }
public double Dist1 { get; set; }
public double Dist2 { get; set; }
/// <summary>
/// Posição da feature no arquivo original.
/// Serve somente para rastreabilidade/diagnóstico.
/// </summary>
public int IndiceFeatureOrigem { get; set; }
}
}