Esempio n. 1
0
        public static LineString LineStringFromDbGeometry(DbGeometry inp)
        {
            if (inp.SpatialTypeName != "LineString")
            {
                throw new ArgumentException();
            }
            var coordinates = new List <Position>();

            for (var i = 1; i <= inp.PointCount; i++)
            {
                coordinates.Add(new Position(inp.PointAt(i).YCoordinate.Value, inp.PointAt(i).XCoordinate.Value, null));
            }
            var lineString = new LineString(coordinates);

            return(lineString);
        }
Esempio n. 2
0
        public static LineString LineStringFromDbGeometry(DbGeometry inp)
        {
            if (inp.SpatialTypeName != "LineString")
            {
                throw new ArgumentException();
            }
            var coordinates = new List <GeographicPosition>();

            for (var i = 1; i <= inp.PointCount; i++)
            {
                coordinates.Add(new GeographicPosition(inp.PointAt(i).YCoordinate.GetValueOrDefault(), // due to the throw above, this will never default
                                                       inp.PointAt(i).XCoordinate.GetValueOrDefault(), null));
            }
            var lineString = new LineString(coordinates);

            return(lineString);
        }
Esempio n. 3
0
        private static List <double[]> GetRingCoordinates(DbGeometry catchmentGeometryExteriorRing)
        {
            var coordinates = new List <double[]>();

            for (var j = 1; j <= catchmentGeometryExteriorRing.PointCount; j++)
            {
                var point = catchmentGeometryExteriorRing.PointAt(j);
                var lon   = point.XCoordinate.GetValueOrDefault();
                var lat   = point.YCoordinate.GetValueOrDefault();

                coordinates.Add(new[] { lon, lat });
            }

            return(coordinates);
        }