NetTopologySuite v2.0.0 Release Notes
Release Date: 2019-08-26 // over 4 years ago-
๐ This major release represents several efforts to improve usability and consistency throughout NTS, brought on by some changes in JTS 1.16.0 that we felt would not be best to port as-is.
๐ As such, this release contains many breaking changes, some of which are very significant. Because the NuGet ecosystem heavily favors using SemVer for versioning, we felt that it's time to start deviating from using the JTS compatibility version numbering scheme that we have used in the past, and call this first release 2.0.0.
Some of the breaking changes:
๐ฆ 1. NetTopologySuite is, again, the primary NTS package.
- GeoAPI has been gutted. The relevant useful parts are now inside of NTS.
- Many interfaces have been removed, in favor of just using their corresponding classes.
๐ 4.
Coordinate.Z
is no longer stored in a field on the base class. FullZ
support is added by subclasses. Ordinate
/Ordinates
now define 16 spatial dimensions and 16 measure dimensions.ICoordinateSequence
(now justCoordinateSequence
) now uses integer ordinate indexes. 0๏ธโฃ 7. By default, reading WKT without "Z", "M", or "ZM" tags usingWKTWriter
will now give a geometry that appears to support holding Z values, even if no Z values are actually present.- Set
IsOldNtsCoordinateSyntaxAllowed
tofalse
to prevent this, but keep in mind that this will break things like"POINT (1 2 3)"
that older versions of NTS supported.
- Set
GeoAPI issues addressed in 2.0.0, in the order they were closed:
๐ 1. NetTopologySuite/GeoAPI#54: Remove obsolete interfaces, classes and members
- NetTopologySuite/GeoAPI#55: Future of Coordinate class ๐ 3. NetTopologySuite/GeoAPI#59: Remove ICloneable implementations across the board
- NetTopologySuite/GeoAPI#64: Target just .NET Standard 2.0 ๐ 5. NetTopologySuite/GeoAPI#65: Remove reflection-based GeometryServiceProvider.Instance bootstrap
- NetTopologySuite/GeoAPI#68: Replace notable interfaces with abstract classes, for multiple reasons ๐ 7. NetTopologySuite/GeoAPI#70: Remove (standalone) GeoAPI
NTS issues addressed in 2.0.0, in the order they were closed:
โก๏ธ 1. #265: Update to JTS 1.16.0
- #292: Target just .NET Standard 2.0 โก๏ธ 3. #294: Update to JTS 1.16.1 ๐ป 4. #282: Exception while fetching Interior Point - NetTopologySuite.Geometries.TopologyException ๐ 5. #291: Remove obsolete types and members
- #316: Mark a few more things obsolete ๐ป 7. #289: DistanceComputer.PointToSegmentString skips the last vertex of an ICoordinateSequence ๐ 8. #308: Remove IGeometry warts ๐ฆ 9. #315: Tweak NuGet packages again
- #244: Consider replacing AssemblyInfo.cs and *.nuspec with additional things in *.csproj
- #309: Make IsWithinDistance an extension method
- #311: Fix the design of Ordinate values to be consistent and behave predictably
- #246: Aggregate operations ๐ 14. #324: Support MSSQL-compatible WKT writing
- #156: WKTWriter doesn't create the expected result