GeoJSON-Net / GeoJSON.Net.Contrib

Repository for all GeoJSON.Net *.Contrib projects
MIT License
36 stars 22 forks source link

MsSqlSpatial BoundingBox is not optional #18

Closed justinhachemeister closed 5 years ago

justinhachemeister commented 5 years ago

Prerequisites

Description

RFC 7946 The GeoJSON Format states:

A GeoJSON object MAY have a member named "bbox" to include information on the coordinate range for its Geometries, Features, or FeatureCollections

But GeoJSON.Net.Contrib.MsSqlSpatial provides no way to make this property optional.

Steps to Reproduce

IGeometryObject geometryObject = sqlGeometry.ToGeoJSONGeometry();
var properties = new Dictionary<string, object>();
int id = 1;

Feature feature =
    new Feature(
        geometryObject,
        properties,
        id.ToString());
feature.BoundingBoxes = null;
return feature;

Expected behavior: [What you expect to happen]

Expect an overload with a flag determining whether or not BoundingBoxes should be set or if null is provided to BoundingBoxes after creating the feature it should be respected.

Actual behavior: [What actually happens]

BoundingBoxes is always populated.

Reproduces how often: [What percentage of the time does it reproduce?]

100%

Versions

You can get this information from the library being used that is causing the issue. Also, please include the OS and what version of the OS you're running.

Version Information: 0.3.1 Operating System: Windows 10

Additional Information

Any additional information, configuration or data that might be necessary to reproduce or resolve the issue.

I will be submitting a pull request with updated methods with an optional parameter and unit tests verifying the behavior as soon as I have the issue number to tag it with.