Example #1
0
        /// <summary>
        /// Creates a GeoJson Polygon object.
        /// </summary>
        /// <typeparam name="TCoordinates">The type of the coordinates.</typeparam>
        /// <param name="args">The additional args.</param>
        /// <param name="positions">The positions.</param>
        /// <returns>A GeoJson Polygon object.</returns>
        public static GeoJsonPolygon <TCoordinates> Polygon <TCoordinates>(GeoJsonObjectArgs <TCoordinates> args, params TCoordinates[] positions) where TCoordinates : GeoJsonCoordinates
        {
            var exterior    = new GeoJsonLinearRingCoordinates <TCoordinates>(positions);
            var coordinates = new GeoJsonPolygonCoordinates <TCoordinates>(exterior);

            return(new GeoJsonPolygon <TCoordinates>(args, coordinates));
        }
 // constructor
 /// <summary>
 /// Initializes a new instance of the <see cref="GeoJsonObject{TCoordinates}"/> class.
 /// </summary>
 /// <param name="args">The additional args.</param>
 protected GeoJsonObject(GeoJsonObjectArgs <TCoordinates> args)
 {
     if (args != null)
     {
         _boundingBox = args.BoundingBox;
         _coordinateReferenceSystem = args.CoordinateReferenceSystem;
         _extraMembers = args.ExtraMembers;
     }
 }
Example #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GeoJsonLineString{TCoordinates}"/> class.
        /// </summary>
        /// <param name="args">The additional args.</param>
        /// <param name="coordinates">The coordinates.</param>
        /// <exception cref="System.ArgumentNullException">coordinates</exception>
        public GeoJsonLineString(GeoJsonObjectArgs <TCoordinates> args, GeoJsonLineStringCoordinates <TCoordinates> coordinates)
            : base(args)
        {
            if (coordinates == null)
            {
                throw new ArgumentNullException("coordinates");
            }

            _coordinates = coordinates;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="GeoJsonMultiPolygon{TCoordinates}"/> class.
        /// </summary>
        /// <param name="args">The additional args.</param>
        /// <param name="coordinates">The coordinates.</param>
        public GeoJsonMultiPolygon(GeoJsonObjectArgs <TCoordinates> args, GeoJsonMultiPolygonCoordinates <TCoordinates> coordinates)
            : base(args)
        {
            if (coordinates == null)
            {
                throw new ArgumentNullException("coordinates");
            }

            _coordinates = coordinates;
        }
Example #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GeoJsonPoint{TCoordinates}"/> class.
        /// </summary>
        /// <param name="args">The additional args.</param>
        /// <param name="coordinates">The coordinates.</param>
        public GeoJsonPoint(GeoJsonObjectArgs <TCoordinates> args, TCoordinates coordinates)
            : base(args)
        {
            if (coordinates == null)
            {
                throw new ArgumentNullException("coordinates");
            }

            _coordinates = coordinates;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="GeoJsonGeometryCollection{TCoordinates}"/> class.
        /// </summary>
        /// <param name="args">The additional args.</param>
        /// <param name="geometries">The geometries.</param>
        public GeoJsonGeometryCollection(GeoJsonObjectArgs <TCoordinates> args, IEnumerable <GeoJsonGeometry <TCoordinates> > geometries)
            : base(args)
        {
            if (geometries == null)
            {
                throw new ArgumentNullException("geometries");
            }

            var geometriesArray = geometries.ToArray();

            if (geometriesArray.Contains(null))
            {
                throw new ArgumentException("One of the geometries is null.", "geometries");
            }

            _geometries = new ReadOnlyCollection <GeoJsonGeometry <TCoordinates> >(geometriesArray);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="GeoJsonFeatureCollection{TCoordinates}"/> class.
        /// </summary>
        /// <param name="args">The additional args.</param>
        /// <param name="features">The features.</param>
        public GeoJsonFeatureCollection(GeoJsonObjectArgs <TCoordinates> args, IEnumerable <GeoJsonFeature <TCoordinates> > features)
            : base(args)
        {
            if (features == null)
            {
                throw new ArgumentNullException("features");
            }

            var featuresArray = features.ToArray();

            if (featuresArray.Contains(null))
            {
                throw new ArgumentException("One of the features is null.", "features");
            }

            _features = new ReadOnlyCollection <GeoJsonFeature <TCoordinates> >(featuresArray);
        }
Example #8
0
 // constructors
 /// <summary>
 /// Initializes a new instance of the <see cref="GeoJsonGeometry{TCoordinates}"/> class.
 /// </summary>
 /// <param name="args">The additional args.</param>
 protected GeoJsonGeometry(GeoJsonObjectArgs <TCoordinates> args)
     : base(args)
 {
 }
Example #9
0
 /// <summary>
 /// Creates a GeoJson FeatureCollection object.
 /// </summary>
 /// <typeparam name="TCoordinates">The type of the coordinates.</typeparam>
 /// <param name="args">The additional args.</param>
 /// <param name="features">The features.</param>
 /// <returns>A GeoJson FeatureCollection object.</returns>
 public static GeoJsonFeatureCollection <TCoordinates> FeatureCollection <TCoordinates>(GeoJsonObjectArgs <TCoordinates> args, params GeoJsonFeature <TCoordinates>[] features) where TCoordinates : GeoJsonCoordinates
 {
     return(new GeoJsonFeatureCollection <TCoordinates>(args, features));
 }
Example #10
0
 /// <summary>
 /// Creates a GeoJson Polygon object.
 /// </summary>
 /// <typeparam name="TCoordinates">The type of the coordinates.</typeparam>
 /// <param name="args">The additional args.</param>
 /// <param name="coordinates">The coordinates.</param>
 /// <returns>A GeoJson Polygon object.</returns>
 public static GeoJsonPolygon <TCoordinates> Polygon <TCoordinates>(GeoJsonObjectArgs <TCoordinates> args, GeoJsonPolygonCoordinates <TCoordinates> coordinates) where TCoordinates : GeoJsonCoordinates
 {
     return(new GeoJsonPolygon <TCoordinates>(args, coordinates));
 }
Example #11
0
        /// <summary>
        /// Creates a GeoJson MultiPolygon object.
        /// </summary>
        /// <typeparam name="TCoordinates">The type of the coordinates.</typeparam>
        /// <param name="args">The additional args.</param>
        /// <param name="polygons">The polygons.</param>
        /// <returns>A GeoJson MultiPolygon object.</returns>
        public static GeoJsonMultiPolygon <TCoordinates> MultiPolygon <TCoordinates>(GeoJsonObjectArgs <TCoordinates> args, params GeoJsonPolygonCoordinates <TCoordinates>[] polygons) where TCoordinates : GeoJsonCoordinates
        {
            var coordinates = new GeoJsonMultiPolygonCoordinates <TCoordinates>(polygons);

            return(new GeoJsonMultiPolygon <TCoordinates>(args, coordinates));
        }
Example #12
0
        /// <summary>
        /// Creates a GeoJson MultiPoint object.
        /// </summary>
        /// <typeparam name="TCoordinates">The type of the coordinates.</typeparam>
        /// <param name="args">The additional args.</param>
        /// <param name="positions">The positions.</param>
        /// <returns>A GeoJson MultiPoint object.</returns>
        public static GeoJsonMultiPoint <TCoordinates> MultiPoint <TCoordinates>(GeoJsonObjectArgs <TCoordinates> args, params TCoordinates[] positions) where TCoordinates : GeoJsonCoordinates
        {
            var coordinates = new GeoJsonMultiPointCoordinates <TCoordinates>(positions);

            return(new GeoJsonMultiPoint <TCoordinates>(args, coordinates));
        }
Example #13
0
        /// <summary>
        /// Creates a GeoJson MultiLineString object.
        /// </summary>
        /// <typeparam name="TCoordinates">The type of the coordinates.</typeparam>
        /// <param name="args">The additional args.</param>
        /// <param name="lineStrings">The line strings.</param>
        /// <returns>A GeoJson MultiLineString object.</returns>
        public static GeoJsonMultiLineString <TCoordinates> MultiLineString <TCoordinates>(GeoJsonObjectArgs <TCoordinates> args, params GeoJsonLineStringCoordinates <TCoordinates>[] lineStrings) where TCoordinates : GeoJsonCoordinates
        {
            var coordinates = new GeoJsonMultiLineStringCoordinates <TCoordinates>(lineStrings);

            return(new GeoJsonMultiLineString <TCoordinates>(args, coordinates));
        }
Example #14
0
        /// <summary>
        /// Creates a GeoJson LineString object.
        /// </summary>
        /// <typeparam name="TCoordinates">The type of the coordinates.</typeparam>
        /// <param name="args">The additional args.</param>
        /// <param name="positions">The positions.</param>
        /// <returns>A GeoJson LineString object.</returns>
        public static GeoJsonLineString <TCoordinates> LineString <TCoordinates>(GeoJsonObjectArgs <TCoordinates> args, params TCoordinates[] positions) where TCoordinates : GeoJsonCoordinates
        {
            var coordinates = new GeoJsonLineStringCoordinates <TCoordinates>(positions);

            return(new GeoJsonLineString <TCoordinates>(args, coordinates));
        }
Example #15
0
 /// <summary>
 /// Creates a GeoJson GeometryCollection object.
 /// </summary>
 /// <typeparam name="TCoordinates">The type of the coordinates.</typeparam>
 /// <param name="args">The additional args.</param>
 /// <param name="geometries">The geometries.</param>
 /// <returns>A GeoJson GeometryCollection object.</returns>
 public static GeoJsonGeometryCollection <TCoordinates> GeometryCollection <TCoordinates>(GeoJsonObjectArgs <TCoordinates> args, params GeoJsonGeometry <TCoordinates>[] geometries) where TCoordinates : GeoJsonCoordinates
 {
     return(new GeoJsonGeometryCollection <TCoordinates>(args, geometries));
 }