Пример #1
0
        private static Models.GeoJson.Polygon GeoJsonPolygonFromGeometry(SqlGeometry Geometry, int numDigitsMantissa)
        {
            Debug.Assert(Geometry.STGeometryType().ToString() == OpenGisGeometryType.Polygon.ToString());

            var geoType = (string)Geometry.STGeometryType();

            // return a MultiPolygon containing the coordinates of the polygons
            var mpoly = new Models.GeoJson.Polygon()
            {
                coordinates = PolygonCoordinatesFromGeometry(Geometry, numDigitsMantissa)
            };

            return(mpoly);
        }
Пример #2
0
        /// <summary>
        /// Build an SqlGeography Polygon from a GeoJson Polygon.
        /// </summary>
        /// <param name="poly">GeoJson Polygon</param>
        /// <returns>SqlGeography Polygon</returns>
        public static SqlGeography GeographyFromGeoJsonPolygon(Models.GeoJson.Polygon poly, int SRID)
        {
            var geob = new SqlGeographyBuilder();

            geob.SetSrid(SRID);
            geob.BeginGeography(OpenGisGeographyType.Polygon);
            geob.BeginFigure(poly.coordinates[0][0][0], poly.coordinates[0][0][1]);
            foreach (var pair in poly.coordinates[0].Skip(1))
            {
                geob.AddLine(pair[0], pair[1]);
            }
            geob.EndFigure();
            geob.EndGeography();
            var geog = geob.ConstructedGeography;

            Debug.WriteLine(geog.AsGml().Value);
            return(geog);
        }