diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..4bfd0e9
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,35 @@
+language: csharp
+mono: none
+sudo: false
+dotnet: 2.2
+dist: xenial
+
+
+script:
+ - dotnet build -c Release
+ - dotnet test -c Release --no-build
+ - dotnet pack -c Release --no-build -p:NoWarn=NU5105
+
+
+deploy:
+
+
+ - on:
+ branch: master
+ provider: script
+ script:
+ - dotnet nuget push **/*.nupkg -s https://api.nuget.org/v3/index.json -k $NUGET_API_KEY
+ skip_cleanup: true
+
+
+ - on:
+ branch: develop
+ provider: script
+ script:
+ - dotnet nuget push **/*.nupkg -s https://www.myget.org/F/nettopologysuite/api/v2/package -k $MYGET_API_KEY
+ skip_cleanup: true
+
+env:
+ global:
+ - secure: LAI6KJjHA1usZL9Vm3BhLH2JpaukKFXe6OkWM9ahldsDbAqkScWfVIrBtQ0h0SteSpXTXTQDY35pFEuo3MUBmYcJo8NbgDd2f0u078lU6YFfQiHQnPqA8E1m6l+tCy8MTBHM2zePMYYOsyx4k0kOxZIjYK0RwhfmfDsG5QUjXYcABLK11z76vAl4ULIfYfvEnDF7hXbTOM+7XYS72Ve6q5LsNmS1kDGN1n6z8q6Phjac2254WTpUtSTv4u2wNnHYHIc7h7C3OBB6b7y5+pj6WEM2+r5ojs+Gq7QajK9VHNyYHRkUsCzbQKkSPrgskt10kKml3tcmdTCJshUq9nAE27qiCFc6OQO9iMtTh1m2ueZpeflyIhleGmMk12WHuqj1GmYH/8IQw75KzzezcyjuG19OJsL4QAT5FLMAdDfvckUgjY4+0bxPVI3hnWGnrvnrJA0aWXi9s7r+kT6SxI1MvZph7RqDlxC9/Mjt6lrzjMXvBJSf3vAyOGISF1bTOi+/bj586j7V0uagEYSy5tnj5+j/2wsbYcrb+5veVqYl0inPRYbrAAfaPnBux7ZJ/ZP7XggLnUVV0ZkSrqn1NLfEH6nZ30JCVbP9KX4Ztz00sIuHirqq5rhudHOSxL27+RNSX2RosnWDDMcNew6tRhOlSGZ1uZEekypnhvTK+0Ijzso=
+ - secure: gIlRSvxCO2AzEqiAzGVdowdkqyrlPw0BovjkyFC4HxRsvx7uc9RORv9lCRGR7ni7Z54QbG0DeLXK4PDxPAD6DlZpR8/2NsCLl1JSswRwQYddGsS1HBGTvUJE08RGlwdPYxhAUkz4jargs3EJnTq4TnqEkAzpYaLBSv4om2Q6VsoEe8Uat2iSoK0+NJD9EG++T0Szx2VsgF0M6ILIpYi0ICEqyK0Jb83ZW/78W5na4IN0ZnIOGoG0qeD5wMoOxq8OmnlSnKNJmsZI8LFEvMZu/QGb8YXz2aim+k0UE9kGa1sE/qweSyPtJuTIhUXqvefMZLfDzGIZVz1htvRRzcOQ1Cbh97T853UZiUHZgy+y5qFtuPxzXAt7eCvfTcjJjRDdXWRw7+NxyceEtQ1u4YSZ9yQLvwUyzhZukZXdclQ74k6GK2Wbohrt4lEADvnzm/PlCCYklv8b7TyKZdVRTILsFJ7eA3zZ8sXCbF8q2TG4BADJRkWxH+S/RdSeBkoiSlW43faFxUVHcC7yjBJshKbdBrQzncZG+7EFgUtw1hufXlwiSpWK0B01gYrsgYYPKYCbGidOJAMRjybyVYA8XfTPraeO7rw0b872jmGAv9TSVXvg+AwMGlnpOC+6n7Q+BL6qU/Q5Hnzi3YMg357qe2BgLJUGXwza/tEnJEeHbqXViZk=
diff --git a/Directory.Build.props b/Directory.Build.props
new file mode 100644
index 0000000..7bcae2b
--- /dev/null
+++ b/Directory.Build.props
@@ -0,0 +1,10 @@
+
+
+
+
+ $(MSBuildThisFileDirectory)
+
+ $(MSBuildThisFileDirectory)nts.snk
+
+
+
diff --git a/NetTopologySuite.Common.props b/NetTopologySuite.Common.props
deleted file mode 100644
index 4e1eec6..0000000
--- a/NetTopologySuite.Common.props
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
- $(SolutionDir)$(Configuration)\$(Platform)
- $(OutputPath)\$(TargetFramework)\$(AssemblyName).xml
- false
- 1.7.5
- 1.15.0
-
-
-
- .NETFramework
- Client
- v3.5
-
-
- .NETFramework
- Client
- v4.0
-
-
- .NETFramework
- Client
- v4.0.3
-
-
- true
-
- full
-
- $(DefineConstants);COMPAT_SHAPEFILE_IMPORT_TO_SQL_SERVER
- $(DefineConstants);FEATURE_FILE_IO
- $(DefineConstants);HAS_SYSTEM_APPLICATIONEXCEPTION
- $(DefineConstants);HAS_SYSTEM_ICLONEABLE
- $(DefineConstants);HAS_SYSTEM_IO_MEMORYSTREAM_CTOR_PUBLICLYVISIBLE
- $(DefineConstants);HAS_SYSTEM_RUNTIME_INTEROPSERVICES_COMVISIBLEATTRIBUTE
- $(DefineConstants);HAS_SYSTEM_RUNTIME_INTEROPSERVICES_GUIDATTRIBUTE
- $(DefineConstants);HAS_SYSTEM_SERIALIZABLEATTRIBUTE
- $(DefineConstants);HAS_SYSTEM_TEXT_ENCODING_DEFAULT
- $(DefineConstants);HAS_SYSTEM_TEXT_ENCODING_ASCII
- $(DefineConstants);HAS_SYSTEM_TYPE_ISASSIGNABLEFROM
- $(DefineConstants);HAS_SYSTEM_XML_XMLDOCUMENT
- $(DefineConstants);SERIALIZATION_COMPAT_NETTOPOLOGYSUITE_FEATURE_ATTRIBUTESTABLE
-
-
- $(DefineConstants);HAS_SYSTEM_XML_NAMESPACEHANDLING
- $(DefineConstants);HAS_SYSTEM_STRING_ISNULLORWHITESPACE
-
-
- $(DefineConstants);HAS_SYSTEM_REFLECTION_TYPEINFO
-
-
- true
-
-
- $(DefineConstants);HAS_SYSTEM_XML_NAMESPACEHANDLING
- $(DefineConstants);HAS_SYSTEM_REFLECTION_TYPEINFO
- $(DefineConstants);HAS_SYSTEM_STRING_ISNULLORWHITESPACE
-
-
- $(DefineConstants);FEATURE_FILE_IO
- $(DefineConstants);HAS_SYSTEM_IO_MEMORYSTREAM_CTOR_PUBLICLYVISIBLE
- $(DefineConstants);HAS_SYSTEM_TEXT_ENCODING_ASCII
- $(DefineConstants);HAS_SYSTEM_XML_XMLDOCUMENT
-
-
- $(DefineConstants);HAS_SYSTEM_APPLICATIONEXCEPTION
- $(DefineConstants);HAS_SYSTEM_ICLONEABLE
- $(DefineConstants);HAS_SYSTEM_SERIALIZABLEATTRIBUTE
- $(DefineConstants);HAS_SYSTEM_TEXT_ENCODING_DEFAULT
- $(DefineConstants);HAS_SYSTEM_TYPE_ISASSIGNABLEFROM
-
-
\ No newline at end of file
diff --git a/NetTopologySuite.Features.Test/AttributeTableTest.cs b/NetTopologySuite.Features.Test/AttributeTableTest.cs
deleted file mode 100644
index 5c4c028..0000000
--- a/NetTopologySuite.Features.Test/AttributeTableTest.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace NetTopologySuite.Features.Test
-{
- ///
- /// A test fixture for the class
- ///
- [TestOf(typeof(Features.AttributesTable))]
- public class AttributeTableTest
- {
-
- }
-}
diff --git a/NetTopologySuite.Features.Test/FeatureTest.cs b/NetTopologySuite.Features.Test/FeatureTest.cs
deleted file mode 100644
index 8c7f583..0000000
--- a/NetTopologySuite.Features.Test/FeatureTest.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using NUnit.Framework;
-
-namespace NetTopologySuite.Features.Test
-{
- ///
- /// A test fixture for the class
- ///
- [TestOf(typeof(Features.Feature))]
- public class FeatureTest
- {
-
- }
-}
diff --git a/NetTopologySuite.Features.Test/FeaturesTestSetup.cs b/NetTopologySuite.Features.Test/FeaturesTestSetup.cs
deleted file mode 100644
index 167ef64..0000000
--- a/NetTopologySuite.Features.Test/FeaturesTestSetup.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using GeoAPI;
-
-namespace NetTopologySuite.Features.Test
-{
- ///
- /// Utility class to make sure that NTS is set up and registered properly
- ///
- [NUnit.Framework.SetUpFixture]
- public class FeaturesTestSetup
- {
- ///
- /// Method to wire NTS
- ///
- [NUnit.Framework.OneTimeSetUp]
- public void OneTimeSetUp()
- {
- GeometryServiceProvider.SetInstanceIfNotAlreadySetDirectly(NtsGeometryServices.Instance);
- }
- }
-}
diff --git a/NetTopologySuite.Features.Test/NetTopologySuite.Features.Test.csproj b/NetTopologySuite.Features.Test/NetTopologySuite.Features.Test.csproj
deleted file mode 100644
index 5dba5c0..0000000
--- a/NetTopologySuite.Features.Test/NetTopologySuite.Features.Test.csproj
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
- $(ProjectDir)..\
- net40;net403;net45;netstandard1.6;netstandard2.0
- true
- $(SolutionDir)nts.snk
- 659,168,1587
- NetTopologySuite.Features.Test
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/NetTopologySuite.Features.nuspec b/NetTopologySuite.Features.nuspec
deleted file mode 100644
index 58cc407..0000000
--- a/NetTopologySuite.Features.nuspec
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
- NetTopologySuite.Features
- $version$
- NTS - Topology Suite - Features
- NetTopologySuite - Team
- NetTopologySuite - Team
- BSD-3-Clause
- https://github.com/NetTopologySuite/NetTopologySuite.Features
- https://raw.githubusercontent.com/NetTopologySuite/GeoAPI/develop/icon.png
- true
-
- A feature is a combination of spatial object and attribute data.
- For this package attribute data is stored in AttributeTable objects.
- These are combined with IGeometry objects to form a Feature.
- A FeatureCollection is a collection of features.
-
- A features packages for the NTS Topology Suite
- NTS Topology OGC SFS
- Copyright 2007-2015
- en-US
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/NetTopologySuite.Features.sln b/NetTopologySuite.Features.sln
index 8176972..1b7d27d 100644
--- a/NetTopologySuite.Features.sln
+++ b/NetTopologySuite.Features.sln
@@ -1,20 +1,17 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.27428.2037
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29009.5
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetTopologySuite.Features", "NetTopologySuite.Features\NetTopologySuite.Features.csproj", "{43865E17-0311-4F52-A8A9-00334DD8F76A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetTopologySuite.Features", "src\NetTopologySuite.Features\NetTopologySuite.Features.csproj", "{43865E17-0311-4F52-A8A9-00334DD8F76A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8896CE87-BB66-4E1B-BE38-2491C949D7E5}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
.gitignore = .gitignore
- NetTopologySuite.Common.props = NetTopologySuite.Common.props
- NetTopologySuite.Features.nuspec = NetTopologySuite.Features.nuspec
- SharedAssemblyVersion.cs = SharedAssemblyVersion.cs
EndProjectSection
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetTopologySuite.Features.Test", "NetTopologySuite.Features.Test\NetTopologySuite.Features.Test.csproj", "{AB86A1F4-C37C-46FF-BF5D-0A44B175FE07}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetTopologySuite.Features.Test", "test\NetTopologySuite.Features.Test\NetTopologySuite.Features.Test.csproj", "{AB86A1F4-C37C-46FF-BF5D-0A44B175FE07}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/NetTopologySuite.Features/CoordinateSystems/CRSBase.cs b/NetTopologySuite.Features/CoordinateSystems/CRSBase.cs
deleted file mode 100644
index 8dc96fa..0000000
--- a/NetTopologySuite.Features/CoordinateSystems/CRSBase.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-namespace NetTopologySuite.CoordinateSystems
-{
- using System.Collections.Generic;
-
- ///
- /// Base class for all ICRSObject implementing types
- ///
- //[JsonObject(MemberSerialization.OptIn)]
- public abstract class CRSBase : ICRSObject
- {
- ///
- /// Gets the type of the CRSBase object.
- ///
- //[JsonProperty(PropertyName = "type", Required = Required.Always)]
- //[JsonConverter(typeof(CamelCaseStringEnumConverter))]
- public CRSTypes Type { get; internal set; }
-
- ///
- /// Gets the properties.
- ///
- //[JsonProperty(PropertyName = "properties", Required = Required.Always)]
- public Dictionary Properties { get; internal set; }
- }
-}
diff --git a/NetTopologySuite.Features/CoordinateSystems/CRSType.cs b/NetTopologySuite.Features/CoordinateSystems/CRSType.cs
deleted file mode 100644
index e2fc418..0000000
--- a/NetTopologySuite.Features/CoordinateSystems/CRSType.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-namespace NetTopologySuite.CoordinateSystems
-{
- using System;
-
- ///
- /// Defines the GeoJSON Coordinate Reference System Objects (CRS) types as defined in the geojson.org v1.0 spec.
- ///
- [Flags]
- public enum CRSTypes
- {
- ///
- /// Defines the Named CRS type.
- ///
- Name,
-
- ///
- /// Defines the Linked CRS type.
- ///
- Link
- }
-}
diff --git a/NetTopologySuite.Features/CoordinateSystems/ICRSObject.cs b/NetTopologySuite.Features/CoordinateSystems/ICRSObject.cs
deleted file mode 100644
index a9b44ef..0000000
--- a/NetTopologySuite.Features/CoordinateSystems/ICRSObject.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace NetTopologySuite.CoordinateSystems
-{
- ///
- /// Base Interface for CRSBase Object types.
- ///
- public interface ICRSObject
- {
- ///
- /// Gets the CRS type.
- ///
- CRSTypes Type { get; }
- }
-}
diff --git a/NetTopologySuite.Features/CoordinateSystems/LinkedCRS.cs b/NetTopologySuite.Features/CoordinateSystems/LinkedCRS.cs
deleted file mode 100644
index 6369915..0000000
--- a/NetTopologySuite.Features/CoordinateSystems/LinkedCRS.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-namespace NetTopologySuite.CoordinateSystems
-{
- using System;
- using System.Collections.Generic;
-
- ///
- /// Defines the Linked CRS type.
- ///
- public class LinkedCRS : CRSBase
- {
- ///
- /// Initializes a new instance of the class.
- ///
- /// The mandatory href member must be a dereferenceable URI.
- /// The optional type member will be put in the properties Dictionary as specified in the GeoJSON spec.
- public LinkedCRS(string href, string type = "") : this(new Uri(href), type) { }
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The mandatory href member must be a dereferenceable URI.
- /// The optional type member will be put in the properties Dictionary as specified in the GeoJSON spec.
- public LinkedCRS(Uri href, string type = "")
- {
- if (href == null)
- throw new ArgumentNullException("href");
-
- this.Properties = new Dictionary { { "href", href.ToString() } };
-
- if (!string.IsNullOrEmpty(type))
- this.Properties.Add("type", type);
-
- this.Type = CRSTypes.Link;
- }
- }
-}
diff --git a/NetTopologySuite.Features/CoordinateSystems/NamedCRS.cs b/NetTopologySuite.Features/CoordinateSystems/NamedCRS.cs
deleted file mode 100644
index 9da8e49..0000000
--- a/NetTopologySuite.Features/CoordinateSystems/NamedCRS.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-namespace NetTopologySuite.CoordinateSystems
-{
- using System;
- using System.Collections.Generic;
-
- ///
- /// Defines the Named CRS type.
- ///
- public class NamedCRS : CRSBase
- {
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// The mandatory name
- /// member must be a string identifying a coordinate reference system. OGC CRS URNs such as
- /// 'urn:ogc:def:crs:OGC:1.3:CRS84' shall be preferred over legacy identifiers such as 'EPSG:4326'.
- ///
- public NamedCRS(string name)
- {
- if (name == null)
- throw new ArgumentNullException("name");
-
- if (string.IsNullOrEmpty(name))
- throw new ArgumentOutOfRangeException("name", "May not be empty");
-
- this.Properties = new Dictionary { { "name", name } };
- this.Type = CRSTypes.Name;
- }
- }
-}
diff --git a/NetTopologySuite.Features/Features/AttributesTable.cs b/NetTopologySuite.Features/Features/AttributesTable.cs
deleted file mode 100644
index 14b4ec3..0000000
--- a/NetTopologySuite.Features/Features/AttributesTable.cs
+++ /dev/null
@@ -1,257 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-#if SERIALIZATION_COMPAT_NETTOPOLOGYSUITE_FEATURES_ATTRIBUTESTABLE
-using Hashtable = System.Collections.Hashtable;
-#else
-using Hashtable = System.Collections.Generic.IDictionary;
-#endif
-
-namespace NetTopologySuite.Features
-{
- ///
- /// Stores all attributes associated with a single Geometry feature.
- ///
-#if HAS_SYSTEM_SERIALIZABLEATTRIBUTE
- [Serializable]
-#endif
- public class AttributesTable : IAttributesTable, IEnumerable
- {
- //private const string IndexField = "_NTS_ID_";
- //private const int IndexValue = 0;
-
- ///
- /// Gets or sets a value indicating if setting with a
- /// nonexistant index will throw an exception or if the attribute/value pair will
- /// silently be added.
- ///
- public static bool AddAttributeWithIndexer { get; set; }
-
- private readonly Hashtable _attributes;
-
- ///
- /// Creates an instance of this class
- ///
- public AttributesTable()
- {
- _attributes =
-#if SERIALIZATION_COMPAT_NETTOPOLOGYSUITE_FEATURES_ATTRIBUTESTABLE
- new System.Collections.Hashtable();
-#else
- new Dictionary();
-#endif
- }
-
- /*
- ///
- /// Creates an instance of this class using the provided enumeration of key/value pairs
- ///
- /// An enumeration of key/value pairs
- /// If the enumeration contains invalid objects
- public AttributesTable(IEnumerable