// Copyright © Joerg Battermann 2014, Matt Hunt 2017 using GeoJSON.Text.Converters; using System.Text.Json.Serialization; namespace GeoJSON.Text { /// /// Base Interface for GeoJSONObject types. /// public interface IGeoJSONObject { /// /// Gets the (mandatory) type of the GeoJSON Object. /// /// /// See https://tools.ietf.org/html/rfc7946#section-3 /// /// /// The type of the object. /// [JsonPropertyName("type")] GeoJSONObjectType Type { get; } /// /// Gets the (optional) Coordinate Reference System Object. /// /// /// See https://tools.ietf.org/html/rfc7946#section-4 /// /// /// The Coordinate Reference System Objects. /// [JsonPropertyName("crs")] CoordinateReferenceSystem.ICRSObject CRS { get; } /// /// Gets or sets the (optional) Bounding Boxes. /// /// /// See https://tools.ietf.org/html/rfc7946#section-5 /// /// /// 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. /// [JsonPropertyName("bbox")] [JsonConverter(typeof(BoundingBoxConverter))] double[] BoundingBoxes { get; set; } } }