53 lines
1.6 KiB
C#
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; }
|
|
}
|
|
} |