﻿//  Author: Weiqing Chen <kevincwq@gmail.com>
//
//  Copyright (c) 2015 Weiqing Chen
//
//  Adapted from GeoJSON.Net https://github.com/jbattermann/GeoJSON.Net
//  Copyright © 2014 Jörg Battermann & Other Contributors

using GeoObject.Net.CoordinateReferenceSystem;

namespace GeoObject.Net
{
    ///// <summary>
    ///// Base Interface for GeoJSONObject types.
    ///// </summary>
    //public interface IGeoJsonObject
    //{
    //    /// <summary>
    //    /// Gets or sets the (optional) <see cref="!:http://geojson.org/geojson-spec.html#coordinate-reference-system-objects" >Bounding Boxes</see>.
    //    /// </summary>
    //    /// <value>
    //    /// The value of the bbox member must be a 2*n array where n is the number of dimensions represented in the
    //    /// contained geometries, with the lowest values for all axes followed by the highest values.
    //    /// The axes order of a bbox follows the axes order of geometries.
    //    /// In addition, the coordinate reference system for the bbox is assumed to match the coordinate reference
    //    /// system of the GeoJSON object of which it is a member.
    //    /// </value>
    //    double[] BBox { get; set; }

    //    /// <summary>
    //    /// Gets the (optional) <see cref="!:http://geojson.org/geojson-spec.html#coordinate-reference-system-objects" >Coordinate Reference System Object</see>.
    //    /// </summary>
    //    /// <value>
    //    /// The Coordinate Reference System Objects.
    //    /// </value>
    //    CRSBase CRS { get; }

    //    /// <summary>
    //    /// Gets the (mandatory) type of the <see cref="!:http://geojson.org/geojson-spec.html#geometry-objects">GeoJSON Object</see>.
    //    /// However, for <see cref="!:http://geojson.org/geojson-spec.html#geometry-objects">GeoJSON Objects</see> only
    //    /// the 'Point', 'MultiPoint', 'LineString', 'MultiLineString', 'Polygon', 'MultiPolygon', or 'GeometryCollection' types are allowed.
    //    /// </summary>
    //    /// <value>
    //    /// The type of the object.
    //    /// </value>
    //    GeoObjectType Type { get; }
    //}
}
