Beispiel #1
0
 private static void AddPointToPipeline(ICommonLoggingPipeline pipeline, PositionData point, bool firstPoint)
 {
     if (firstPoint)
     {
         pipeline.BeginFigure(point.Latitude, point.Longitude, point.Z, point.M);
     }
     else
     {
         pipeline.AddLineTo(point.Latitude, point.Longitude, point.Z, point.M);
     }
 }
 private static void MergeLoggingPipeline(ICommonLoggingPipeline source, ICommonLoggingPipeline target, bool isGeography, bool keepAllSetCrsCalls = false)
 {
     if (isGeography)
     {
         ((GeographyLoggingPipeline)source).MergeCalls((GeographyLoggingPipeline)target, keepAllSetCrsCalls);
     }
     else
     {
         ((GeometryLoggingPipeline)source).MergeCalls((GeometryLoggingPipeline)target, keepAllSetCrsCalls);
     }
 }
        private static void WritePositionToPipeline(List<object> position, ICommonLoggingPipeline pipeline, bool first)
        {
            var x = Convert.ToDouble(position[0]);
            var y = Convert.ToDouble(position[1]);
            var z = position.Count > 2 && position[2] != null ? (double?)Convert.ToDouble(position[2]) : null;
            var m = position.Count == 4 && position[3] != null ? (double?)Convert.ToDouble(position[3]) : null;

            if (z.HasValue && double.IsNaN(z.Value))
            {
                z = null;
            }

            if (m.HasValue && double.IsNaN(m.Value))
            {
                m = null;
            }

            if (first)
            {
                pipeline.BeginFigure(x, y, z, m);
            }
            else
            {
                pipeline.AddLineTo(x, y, z, m);
            }
        }
 private static void WritePositionArrayToPipeline(List<object> lineString, ICommonLoggingPipeline expectedPipeline)
 {
     var first = true;
     foreach (List<object> position in lineString)
     {
         WritePositionToPipeline(position, expectedPipeline, first);
         if (first)
         {
             first = false;
         }
     }
     expectedPipeline.EndFigure();
 }
 private static void WritePointToPipeline(List<object> position, ICommonLoggingPipeline pipeline)
 {
     WritePositionToPipeline(position, pipeline, true);
     pipeline.EndFigure();
 }
 private static void WriteArrayOfPositionArrayToPipeline(List<object> polygon, ICommonLoggingPipeline expectedPipeline)
 {
     foreach (List<object> positionArray in polygon)
     {
         WritePositionArrayToPipeline(positionArray, expectedPipeline);
     }
 }