diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..70a1bce
--- /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: wTmAdCS9uZJ6fMoX8zTD34cHpjtPyR+5PIFNEWboFPqak9z+5ZjiyAM6U3G8iQmu9qBq7pG8QA6t8MaU23XVYpGuGPByGNtm9bQBCnUcVlY+vXCB0xOrO06azA2hK3ZlQ2kzXFInI14KDc2SBC7R7B5cz5ysyTDLf6megQGU9ZtO6IqhI7OE8u67CgzuX/dzuBvXFER8ki/rfTR26m8CjyLKai5yMPApyl01EHIDBQmgf7fpw88+n1y3k8eWR6u+lGRVHcqGl+7/vdogZx6rsxG+UO6NX+9+IrLW6zSJWIJfLsEA98TNcWudeZ+IimPY9yV1+CU49v0Wv6Ow6TzpdHx4KQFr5SLIgCxbGVYC1N1JrHZ8Ln/YuqVwR3VmJ/Y+drigBYS9Gmbh3vhYyqrch183wVpCuJ58VajnmXnRDOo0o7hSFzO2JCEyL3oX8XG+03CRWTkjRu50p3wbllYQ1praTLengYPqWC7DDBHfcDyreLzKGxHEZBJbOuQio86Vx/55rTmILbnE3MV43gFQEU+7zArFifoGsEfyxU+Adhr6cnO4+IMWbdMXdAfNjmFX41kXX0UpNT2idcVH3WxEKrGuP1BPE0KGubL8QFsAxnY3JwDIEUDWvI0TDbVa9cgNLc3Z1Z3r8XwDArMyArjeXxmn/fJLJ7GUosDUUv0S8hI=
+ - secure: wDf+H4BS8n2mS876d3z+vv2s7wxSAr0UbO47qamCPVZQhAcgTXvfyjvClcwp7fYoC2zYJC4Qut/mdyDlPhnNWOAUPx+nVv/l5fPMaKEv+zAWO2PmWsMlKW0nSGQ8EMxinRxfmmmLPxlyh3pHVmcgjo1C+QMB1+rEyEhfIRoPm23Q7dC27VEXEwIeiFEvo3taTGSMs5h9siTwAOoPIfcHffCMSF9UaECsWiRj4CVz0uSon8veT9EIwNe9X1XprFf1zaBLG8FCz1BsksHH9JIqaimch6AN4lVd2Jyl7vs2+4WRzmFKwXqWIgnQDZPQVv6OujVwnBt6hQg5mc9Po/UbxnaGv79hGpnlhKa/TjnD7be2qpMhPHzXdS0aQIORjrD+PdIisxJFvya1scDGU/Pv3CET/ubtpiDsJTGHeIQmvbAILunWxji4HoukTWZGzTHGBENIVGi31O8vx8gROLPtS+3iKy4FCV6EW/mmP1k0e0kueFLHW/HmNOklUr+gWlimNZ1OhBFxrfXe0JlTD/cNijeJmJXlloSfDdoNmFDvzUst8v0qQ59nuQoR5llEggIBx8OpK7qXBMmhPWtgkiQ06H0BoKPewZxjHTVmdjyT4C2ZGPHJMAbeuZ0LebM4+beELrjFQ9f4V6J+D3P0dlTa8rmwgI3pFb0Ky6jwJEeOWy8=
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