├── .gitignore
├── .gitmodules
├── .travis.yml
├── BuildTools
├── GeoAPI.Pcl.Reference.targets
├── GeoAPI.Reference.targets
├── GeoAPI.targets
├── GeoAPI.version
├── NuGet.Config
└── NuGet.exe
├── DSNetTopologySuite.sln
├── DSNetTopologySuite.sln.DotSettings
├── LocalTestRun.testrunconfig
├── NTS.Converter.DotSpatial.nuspec
├── NTS.IO.GeoJSON.nuspec
├── NTS.IO.SpatiaLite.nuspec
├── NTS.IO.SqlServer.nuspec
├── NTS.IO.nuspec
├── NTS.nuspec
├── NetTopologySuite.Converter
├── NetTopologySuite.Converter.DotSpatial
│ ├── DotSpatialEx.cs
│ ├── GeometryConverterToDotSpatial.cs
│ ├── GeometryConverterToGeoAPI.cs
│ ├── NetTopologySuite.Converter.DotSpatial.csproj
│ ├── NetTopologySuite.Converter.DotSpatial.snk
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── packages.config
├── NetTopologySuite.Converter.SpatialLite
│ ├── NetTopologySuite.Converter.SpatialLite.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── SpatialLiteCoordinateListConverter.cs
│ ├── SpatialLiteGeometryConverter.cs
│ └── packages.config
└── NetTopologySuite.Converter.Test
│ ├── ConvertAndBackTest.cs
│ ├── NetTopologySuite.Converter.Test.csproj
│ ├── Properties
│ └── AssemblyInfo.cs
│ ├── RandomGeometryHelper.cs
│ └── packages.config
├── NetTopologySuite.CoordinateSystems.Transfromation
└── DotSpatial.Projections.Wrapper
│ ├── DotSpatial.Projections.Wrapper.csproj
│ ├── DotSpatialMathTransform.cs
│ ├── Properties
│ └── AssemblyInfo.cs
│ └── packages.config
├── NetTopologySuite.IO
├── NetTopologySuite.IO.GDB
│ ├── GDBReader.cs
│ ├── GDBWriter.cs
│ ├── NetTopologySuite.IO.GDB.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── packages.config
├── NetTopologySuite.IO.GeoJSON.Pcl
│ ├── NetTopologySuite.IO.GeoJSON.Pcl.csproj
│ └── packages.config
├── NetTopologySuite.IO.GeoJSON
│ ├── Converters
│ │ ├── AttributesTableConverter.cs
│ │ ├── CoordinateConverters.cs
│ │ ├── EnvelopeConverter.cs
│ │ ├── FeatureCollectionConverter.cs
│ │ ├── FeatureConverter.cs
│ │ ├── GeometryArrayConverter.cs
│ │ ├── GeometryConverter.cs
│ │ └── ICRSObjectConverter.cs
│ ├── GeoJsonObjectType.cs
│ ├── GeoJsonReader.cs
│ ├── GeoJsonSerializer.cs
│ ├── GeoJsonWriter.cs
│ ├── NetTopologySuite.IO.GeoJSON.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── packages.config
├── NetTopologySuite.IO.GeoTools.Silverlight
│ ├── Dbase
│ │ └── DbaseFileReader.SL.cs
│ ├── NetTopologySuite.IO.GeoTools.SilverLight.csproj
│ ├── SLShapeFileDataEnumerator.cs
│ ├── ShapefileDataReader.SL.cs
│ ├── ShapefileReader.SL.cs
│ └── StringToGeometryConverter.cs
├── NetTopologySuite.IO.GeoTools
│ ├── BigEndianBinaryReader.cs
│ ├── BigEndianBinaryWriter.cs
│ ├── Dbase
│ │ ├── ColumnStructure.cs
│ │ ├── DbaseFieldDescriptor.cs
│ │ ├── DbaseFileHeader.cs
│ │ ├── DbaseFileReader.FullFat.cs
│ │ ├── DbaseFileReader.cs
│ │ ├── DbaseFileWriter.cs
│ │ └── RowStructure.cs
│ ├── Handlers
│ │ ├── GeometryInstantiationErrorHandling.cs
│ │ ├── MBRInfo.cs
│ │ ├── MultiLineHandler.cs
│ │ ├── MultiPointHandler.cs
│ │ ├── NullShapeHandler.cs
│ │ ├── PointHandler.cs
│ │ ├── PointMBREnumerator.cs
│ │ ├── PointMBRIterator.cs
│ │ ├── PolygonHandler.cs
│ │ ├── ProbeLinearRing.cs
│ │ ├── ShapeHandler.cs
│ │ ├── ShapeLocationInFileInfo.cs
│ │ ├── ShapeMBREnumerator.cs
│ │ ├── ShapeMBREnumeratorBase.cs
│ │ └── ShapeMBRIterator.cs
│ ├── NetTopologySuite.IO.GeoTools.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Shapefile.FullFat.cs
│ ├── Shapefile.cs
│ ├── ShapefileDataReader.FullFat.cs
│ ├── ShapefileDataReader.cs
│ ├── ShapefileDataWriter.cs
│ ├── ShapefileException.cs
│ ├── ShapefileHeader.cs
│ ├── ShapefileReader.FullFat.cs
│ ├── ShapefileReader.cs
│ ├── ShapefileWriter.cs
│ └── packages.config
├── NetTopologySuite.IO.MsSqlSpatial
│ ├── MsSqlSpatialReader.cs
│ ├── MsSqlSpatialWriter.cs
│ ├── NetTopologySuite.IO.MsSqlSpatial.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── packages.config
├── NetTopologySuite.IO.Oracle
│ ├── NetTopologySuite.IO.Oracle.csproj
│ ├── OracleGeometryReader.cs
│ ├── OracleGeometryWriter.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── README.txt
│ ├── Sdo
│ │ ├── SdoEType.cs
│ │ ├── SdoGTemplate.cs
│ │ ├── SdoGeometry.cs
│ │ └── SdoPoint.cs
│ ├── Spec
│ │ └── b28400.pdf
│ ├── UdtBase
│ │ ├── OracleArrayTypeFactoryBase.cs
│ │ └── OracleUdtBase.cs
│ └── packages.config
├── NetTopologySuite.IO.PostGis
│ ├── NetTopologySuite.IO.PostGis.csproj
│ ├── PostGisGeometryType.cs
│ ├── PostGisReader.cs
│ ├── PostGisWriter.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── packages.config
├── NetTopologySuite.IO.PostGis2
│ ├── NetTopologySuite.IO.PostGis2.csproj
│ ├── PostGis2GeometryHeader.cs
│ ├── PostGis2GeometryType.cs
│ ├── PostGis2Reader.cs
│ ├── PostGis2Writer.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
├── NetTopologySuite.IO.ShapeFile.Extended
│ ├── DbaseEnumerator.cs
│ ├── DbaseReader.cs
│ ├── Entities
│ │ ├── IShapefileFeature.cs
│ │ └── ShapefileFeature.cs
│ ├── NetTopologySuite.IO.ShapeFile.Extended.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── ShapeDataReader.cs
│ ├── ShapeReader.cs
│ └── packages.config
├── NetTopologySuite.IO.ShapeFile
│ ├── NetTopologySuite.IO.ShapeFile.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── ShapeFileConstants.cs
│ ├── ShapeGeometryType.cs
│ ├── ShapeReader.cs
│ ├── ShapeWriter.cs
│ └── packages.config
├── NetTopologySuite.IO.SpatiaLite.MonoDroid
│ ├── NetTopologySuite.IO.SpatiaLite.MonoDroid.csproj
│ └── Properties
│ │ └── AssemblyInfo.cs
├── NetTopologySuite.IO.SpatiaLite.Pcl
│ ├── NetTopologySuite.IO.SpatiaLite.Pcl.csproj
│ └── packages.config
├── NetTopologySuite.IO.SpatiaLite
│ ├── GaiaGeoEnums.cs
│ ├── GaiaGeoIO.cs
│ ├── GaiaGeoReader.cs
│ ├── GaiaGeoWriter.cs
│ ├── NetTopologySuite.IO.SpatiaLite.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── packages.config
├── NetTopologySuite.IO.SqlServer2008
│ ├── MsSql2008GeographyReader.cs
│ ├── MsSql2008GeographyWriter.cs
│ ├── MsSql2008GeometryReader.cs
│ ├── MsSql2008GeometryWriter.cs
│ ├── NetTopologySuite.IO.SqlServer2008.csproj
│ ├── NtsGeographySink.cs
│ ├── NtsGeometrySink.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── packages.config
├── NetTopologySuite.IO.Streams.CloudStorage.Test
│ ├── DbaseReaderTests.cs
│ ├── HelperMethods.cs
│ ├── NetTopologySuite.IO.Streams.CloudStorage.Test.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── ShapeDataReaderTests.cs
│ ├── ShapeReaderTests.cs
│ ├── TempFileCloudUploader.cs
│ ├── app.config
│ └── packages.config
├── NetTopologySuite.IO.Streams.CloudStorage
│ ├── CloudStreamProvider.cs
│ ├── NetTopologySuite.IO.Streams.CloudStorage.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── packages.config
├── NetTopologySuite.IO.Tests
│ ├── AbstractIOFixture.cs
│ ├── GeoJSON
│ │ ├── AttributesTableConverterTest.cs
│ │ ├── FeatureCollectionTest.cs
│ │ ├── FeatureConverterTest.cs
│ │ ├── GeoJsonFixture.cs
│ │ ├── GeoJsonReaderTest.cs
│ │ ├── GeoJsonSerializerTest.cs
│ │ ├── GeoJsonTests.cs
│ │ ├── GeoJsonWriterTest.cs
│ │ ├── GitHubIssues.cs
│ │ ├── Issue148.cs
│ │ ├── Issue16Fixture.cs
│ │ ├── Issue32Fixture.cs
│ │ ├── LinkedCRSTest.cs
│ │ └── NamedCRSTest.cs
│ ├── Issues.cs
│ ├── NetTopologySuite.IO.Tests.csproj
│ ├── PostgisFixture.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RandomGeometryHelper.cs
│ ├── ShapeFile.Extended
│ │ ├── DbaseReaderTests.cs
│ │ ├── HelperMethods.cs
│ │ ├── ShapeDataReaderTests.cs
│ │ ├── ShapeReaderTests.cs
│ │ ├── ShapefileDataWriterTests.cs
│ │ └── TempFileWriter.cs
│ ├── SpatiaLiteFixture.cs
│ ├── SqlGeographyFixture.cs
│ ├── SqlGeometryFixture.cs
│ ├── TopoJSON
│ │ ├── TopoJsonReaderFixture.cs
│ │ ├── TopoJsonWriterFixture.cs
│ │ ├── TopoReaderData.cs
│ │ └── TopoWriterData.cs
│ └── packages.config
├── NetTopologySuite.IO.TopoJSON
│ ├── Builders
│ │ ├── ITopoBuilder.cs
│ │ └── TopoBuilder.cs
│ ├── Converters
│ │ ├── ArcsConverter.cs
│ │ ├── DataConverter.cs
│ │ ├── ObjectsConverter.cs
│ │ ├── TopoFeatureConverter.cs
│ │ ├── TopoObjectConverter.cs
│ │ └── TransformConverter.cs
│ ├── Geometries
│ │ ├── TopoCollection.cs
│ │ ├── TopoCurve.cs
│ │ ├── TopoLineString.cs
│ │ ├── TopoMultiLineString.cs
│ │ ├── TopoMultiPoint.cs
│ │ ├── TopoMultiPolygon.cs
│ │ ├── TopoObject.cs
│ │ ├── TopoPoint.cs
│ │ └── TopoPolygon.cs
│ ├── Helpers
│ │ ├── ITransform.cs
│ │ ├── ITransformer.cs
│ │ ├── Transform.cs
│ │ └── Transformer.cs
│ ├── NetTopologySuite.IO.TopoJSON.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── TopoJsonReader.cs
│ ├── TopoJsonSerializer.cs
│ ├── TopoJsonWriter.cs
│ └── packages.config
└── NetTopologySuite.IO
│ ├── Geometries
│ └── CoordinateBuffer.cs
│ ├── IO
│ └── Streams
│ │ ├── FileStreamProvider.cs
│ │ ├── IStreamProvider.cs
│ │ ├── IStreamProviderRegistry.cs
│ │ └── ShapefileStreamProviderRegistry.cs
│ ├── NetTopologySuite.IO.csproj
│ ├── Properties
│ └── AssemblyInfo.cs
│ └── packages.config
├── NetTopologySuite.Lab
├── Hull
│ └── ConcaveHull.cs
├── NetTopologySuite.Lab.csproj
├── Operation
│ └── Buffer
│ │ └── VariableWidthBuffer.cs
├── Properties
│ └── AssemblyInfo.cs
├── SnapRound
│ ├── GeometrySnapRounder.cs
│ ├── SnapRoundFunctions.cs
│ └── SnapRoundOverlayFunctions.cs
├── nts.snk
└── packages.config
├── NetTopologySuite.Samples.Console
├── Geometries
│ ├── CreateOrientationDistanceMesh.cs
│ ├── basicexample.cs
│ ├── constructionexample.cs
│ ├── extendedcoordinate.cs
│ ├── extendedcoordinateexample.cs
│ ├── extendedcoordinatesequence.cs
│ ├── extendedcoordinatesequencefactory.cs
│ ├── precisionmodelexample.cs
│ └── simplemethodsexample.cs
├── Lab
│ ├── Clean
│ │ ├── HoleRemover.cs
│ │ ├── InvalidHoleRemover.cs
│ │ ├── InvalidHoleRemoverTest.cs
│ │ ├── SmallHoleRemover.cs
│ │ └── SmallHoleRemoverTest.cs
│ └── Functions
│ │ └── RemoverFunctions.cs
├── LinearReferencing
│ └── LinearReferencingExample.cs
├── NetTopologySuite.Samples.Console.csproj
├── Operation
│ ├── Distance
│ │ └── ClosestPointExample.cs
│ ├── Linemerge
│ │ └── LineMergeExample.cs
│ └── Poligonize
│ │ ├── PolygonizeExample.cs
│ │ └── SplitPolygonExample.cs
├── Precision
│ └── EnhancedPrecisionOpExample.cs
├── Program.cs
├── Properties
│ └── AssemblyInfo.cs
├── ReadMe.txt
├── ShapeTests
│ ├── GMLTesting.cs
│ └── ShapeRead.cs
├── SimpleTests
│ ├── Attributes
│ │ └── AttributesTest.cs
│ ├── BaseSamples.cs
│ └── Geometries
│ │ ├── LineStringSamples.cs
│ │ ├── MultiPointSamples.cs
│ │ ├── PointSamples.cs
│ │ ├── PolygonSamples.cs
│ │ ├── SerializationSamples.cs
│ │ └── ValidationSuite.cs
├── Technique
│ ├── ExtractLinestringByMeasure.cs
│ ├── LineStringSelfIntersections.cs
│ └── UnionUsingBuffer.cs
├── Tests
│ ├── GeometryServicesTest.cs
│ ├── Github
│ │ ├── Issue12Fixture.cs
│ │ ├── Issue27Fixture.cs
│ │ ├── Issue28Fixture.cs
│ │ ├── Issue31Fixture.cs
│ │ ├── Issue36Tests.cs
│ │ ├── Issue47Tests.cs
│ │ ├── Issue4Fixture.cs
│ │ ├── Issue58Fixture.cs
│ │ ├── Issue61Fixture.cs
│ │ ├── Issue62Fixture.cs
│ │ ├── Issue87Fixture.cs
│ │ ├── Issue96Fixture.cs
│ │ └── Issues.cs
│ ├── IO
│ │ ├── GmlTest.cs
│ │ ├── PostGisTest.cs
│ │ ├── ShapeFileEncodingTest.cs
│ │ ├── ShapeFileInvalidHeaderTest.cs
│ │ ├── ShapeFileReadTest.cs
│ │ ├── ShapefileWriteTest.cs
│ │ └── WKTReaderTests.cs
│ ├── Operation
│ │ └── Linemerge
│ │ │ ├── LineSequencerFileTest.cs
│ │ │ └── LineSequencerTest.cs
│ ├── Performances
│ │ ├── NodingValidatorFixture.cs
│ │ ├── PreparedGeometryFixture.cs
│ │ └── SortedListsFixture.cs
│ ├── Readme.txt
│ └── Various
│ │ ├── AffineTransformBuilderUsage.cs
│ │ ├── BufferTest.cs
│ │ ├── CascadedPolygonUnionFixture.cs
│ │ ├── CoordinateArraysTest.cs
│ │ ├── CoversTest.cs
│ │ ├── DbfDateTest.cs
│ │ ├── FormattingTest.cs
│ │ ├── GeomBinOpTest_Issue14_Simplified.cs
│ │ ├── GeometriesFixture.cs
│ │ ├── GoogleGroupTests.cs
│ │ ├── GoogleIssueTrackerTests.cs
│ │ ├── GraphBuilder.cs
│ │ ├── GraphBuilder2.cs
│ │ ├── GraphBuilder2Test.cs
│ │ ├── GraphBuilderTest.cs
│ │ ├── IntesectIterationTest.cs
│ │ ├── IsValidTest.cs
│ │ ├── Issue102Test.cs
│ │ ├── Issue103Tests.cs
│ │ ├── Issue117Tests.cs
│ │ ├── Issue123Tests.cs
│ │ ├── Issue131Test.cs
│ │ ├── Issue152Tests.cs
│ │ ├── Issue156Tests.cs
│ │ ├── Issue171TestFixture.cs
│ │ ├── Issue172TestFixture.cs
│ │ ├── Issue173Fixture.cs
│ │ ├── Issue174TestFixture.cs
│ │ ├── Issue178Fixture.cs
│ │ ├── Issue179Fixture.cs
│ │ ├── Issue186TestFixture.cs
│ │ ├── Issue26Tests.cs
│ │ ├── Issue35Tests.cs
│ │ ├── Issue36Tests.cs
│ │ ├── Issue37Test.cs
│ │ ├── Issue56Test.cs
│ │ ├── Issue58Tests.cs
│ │ ├── Issue68Tests.cs
│ │ ├── Issue75Tests.cs
│ │ ├── Issue86Test.cs
│ │ ├── Issue94Test.cs
│ │ ├── MiscUtil
│ │ ├── DoubleConverter.cs
│ │ ├── licence.txt
│ │ └── readme.txt
│ │ ├── NormalizeTest.cs
│ │ ├── OGCTests.cs
│ │ ├── OracleWKBTest.cs
│ │ ├── PathFinder.cs
│ │ ├── PathFinderTest.cs
│ │ ├── PrecisionTest.cs
│ │ ├── QuadTreeTest.cs
│ │ ├── ReverseTest.cs
│ │ ├── RobustLineIntersectorTest.cs
│ │ ├── SRSConversionTest.cs
│ │ ├── SlowIntersectionTest.cs
│ │ ├── StackExchangeFixtures.cs
│ │ ├── UnionAggregateTest.cs
│ │ ├── WKTTest.cs
│ │ ├── cant-read-file1.gml
│ │ ├── cant-read-file2.gml
│ │ ├── cant-read-file3.gml
│ │ ├── cant-read-file4.gml
│ │ └── read-ok-file.gml
├── app.config
└── packages.config
├── NetTopologySuite.Samples.Shapefiles
├── AllNulls.dbf
├── AllNulls.shp
├── AllNulls.shx
├── BJmultipolygon.dbf
├── BJmultipolygon.sbn
├── BJmultipolygon.sbx
├── BJmultipolygon.shp
├── CA_Cable_region.dbf
├── CA_Cable_region.prj
├── CA_Cable_region.shp
├── CA_Cable_region.shx
├── DEPARTEMENT.AVL
├── DEPARTEMENT.DBF
├── DEPARTEMENT.LYR
├── DEPARTEMENT.PRJ
├── DEPARTEMENT.SHP
├── DEPARTEMENT.SHX
├── EmptyShapeFile.dbf
├── EmptyShapeFile.shp
├── Issue167.shp
├── Sept_polygones.dbf
├── Sept_polygones.sbn
├── Sept_polygones.sbx
├── Sept_polygones.shp
├── Strade.dbf
├── Strade.shp
├── Strade.shx
├── US_DMA_region.dbf
├── US_DMA_region.prj
├── US_DMA_region.shp
├── US_DMA_region.shx
├── UnifiedChecksMaterial.dbf
├── UnifiedChecksMaterial.shp
├── UnifiedChecksMaterialNullAtEnd.shp
├── UnifiedChecksMaterialNullAtStart.shp
├── UnifiedChecksMaterialNullInMiddle.shp
├── Zone_ISTAT.dbf
├── Zone_ISTAT.shp
├── Zone_ISTAT.shx
├── a.dbf
├── a.prj
├── a.sbn
├── a.sbx
├── a.shp
├── a.shp.xml
├── a.shx
├── afvalbakken.dbf
├── afvalbakken.prj
├── afvalbakken.sbn
├── afvalbakken.sbx
├── afvalbakken.shp
├── afvalbakken.shx
├── arc.dbf
├── arc.shp
├── arc.shx
├── b.dbf
├── b.prj
├── b.sbn
├── b.sbx
├── b.shp
├── b.shp.xml
├── b.shx
├── blob
│ ├── blob
│ ├── queries.txt
│ ├── wkb_blob.jpg
│ └── wkt.JPG
├── christchurch-canterbury-h.dbf
├── christchurch-canterbury-h.shp
├── christchurch-canterbury-h.shx
├── christchurch-canterbury-h.txt
├── crustal_test.dbf
├── crustal_test.shp
├── crustal_test.shx
├── crustal_test3d.dbf
├── crustal_test3d.shp
├── crustal_test3d.shx
├── crustal_test_bugged.dbf
├── crustal_test_bugged.shp
├── crustal_test_bugged.shx
├── date.dbf
├── date.shp
├── date.shx
├── error_union.dbf
├── error_union.shp
├── error_union.shx
├── graph
├── invalid_line_string.dbf
├── line_ed50_geo.dbf
├── line_ed50_geo.shp
├── line_ed50_utm36.dbf
├── line_ed50_utm36.shp
├── line_wgs84_geo.dbf
├── line_wgs84_geo.shp
├── line_wgs84_utm36.dbf
├── line_wgs84_utm36.shp
├── line_wgs84_utm36.shx
├── null_value_dbf.dbf
├── null_value_dbf.shp
├── point_ed50_geo.dbf
├── point_ed50_geo.shp
├── point_ed50_utm36.dbf
├── point_ed50_utm36.shp
├── point_wgs84_geo.dbf
├── point_wgs84_geo.shp
├── point_wgs84_utm36.dbf
├── point_wgs84_utm36.shp
├── point_wgs84_utm36.shx
├── polygon intersecting line.dbf
├── polygon intersecting line.shp
├── polygon_ed50_geo.dbf
├── polygon_ed50_geo.shp
├── polygon_ed50_utm36.dbf
├── polygon_ed50_utm36.shp
├── polygon_ed50_utm36.shx
├── polygon_wgs84_geo.dbf
├── polygon_wgs84_geo.shp
├── polygon_wgs84_utm36.dbf
├── polygon_wgs84_utm36.shp
├── polygon_wgs84_utm36.shx
├── shape_PointZM.shp
├── shape_pointM.shp
├── shape_pointZM_MissingM values.shp
├── temp.gml
├── test_arcview.dbf
├── test_arcview.shp
├── test_arcview.shx
├── test_buffer.dbf
├── test_buffer.shp
├── test_buffer.shx
├── tnp_arc.dbf
├── tnp_arc.shp
├── tnp_arc.shx
├── tnp_multipoint.dbf
├── tnp_multipoint.shp
├── tnp_multipoint.shx
├── tnp_pol.dbf
├── tnp_pol.shp
├── tnp_pol.shx
├── tnp_pts.dbf
├── tnp_pts.shp
├── tnp_pts.shx
├── with_M.dbf
├── with_M.prj
└── with_M.shp
├── NetTopologySuite.TestRunner.Console
├── App.ico
├── Arguments.cs
├── ConsoleTest.cs
├── NetTopologySuite.TestRunner.Console.csproj
├── Properties
│ └── AssemblyInfo.cs
├── TestInfo.cs
├── TestInfoCollection.cs
├── TestOptionsParser.cs
├── TestRunner.cs
└── packages.config
├── NetTopologySuite.TestRunner.Tests
├── Default.xml
├── Other.xml
├── external
│ ├── GEOSBuffer.xml
│ ├── TestBufferExternal.xml
│ ├── TestBufferExternal2.xml
│ ├── TestBufferJagged.xml
│ ├── TestOverlay.xml
│ ├── TestValid.xml
│ └── geos-bug356-buffer.xml
├── failure
│ ├── TestBigNastyBuffer.xml
│ ├── TestBufferFailure.xml
│ ├── TestBufferInsideNonEmpty.xml
│ ├── TestOverlay.xml
│ ├── TestOverlayFailure.xml
│ ├── bug368jts.xml
│ └── geos-bug368-union.xml
├── general
│ ├── TestBoundary.xml
│ ├── TestBuffer.xml
│ ├── TestBufferMitredJoin.xml
│ ├── TestCentroid.xml
│ ├── TestConvexHull-big.xml
│ ├── TestConvexHull.xml
│ ├── TestDensify.xml
│ ├── TestDistance.xml
│ ├── TestEqualsExact.xml
│ ├── TestFunctionAA.xml
│ ├── TestFunctionAAPrec.xml
│ ├── TestFunctionLA.xml
│ ├── TestFunctionLAPrec.xml
│ ├── TestFunctionLL.xml
│ ├── TestFunctionLLPrec.xml
│ ├── TestFunctionPA.xml
│ ├── TestFunctionPL.xml
│ ├── TestFunctionPLPrec.xml
│ ├── TestFunctionPP.xml
│ ├── TestInteriorPoint.xml
│ ├── TestMinimumClearance.xml
│ ├── TestOverlayEmpty.xml
│ ├── TestPreparedPointPredicate.xml
│ ├── TestPreparedPolygonPredicate.xml
│ ├── TestPreparedPredicatesWithGeometryCollection.xml
│ ├── TestRectanglePredicate.xml
│ ├── TestRelateAA.xml
│ ├── TestRelateAC.xml
│ ├── TestRelateLA.xml
│ ├── TestRelateLC.xml
│ ├── TestRelateLL.xml
│ ├── TestRelatePA.xml
│ ├── TestRelatePL.xml
│ ├── TestRelatePP.xml
│ ├── TestSimple.xml
│ ├── TestUnaryUnion.xml
│ ├── TestUnaryUnionFloating.xml
│ ├── TestValid.xml
│ ├── TestValid2-big.xml
│ ├── TestValid2.xml
│ └── TestWithinDistance.xml
├── robust
│ ├── ExternalRobustness.xml
│ ├── MagnifyTopology.xml
│ ├── TestRobustBuffer.xml
│ ├── TestRobustOverlayError.xml
│ ├── TestRobustOverlayFixed.xml
│ ├── TestRobustOverlayFloat.xml
│ └── TestRobustRelate.xml
├── stmlf
│ ├── stmlf-cases-20061018_int.xml
│ └── stmlf-cases-20061020_int.xml
├── validate
│ ├── TestRelateAA-big.xml
│ ├── TestRelateAA.xml
│ ├── TestRelateAC.xml
│ ├── TestRelateLA.xml
│ ├── TestRelateLC.xml
│ ├── TestRelateLL.xml
│ ├── TestRelatePA.xml
│ ├── TestRelatePL.xml
│ └── TestRelatePP.xml
└── vivid
│ ├── TestBoundary.xml
│ ├── TestCentroid.xml
│ ├── TestConvexHull-big.xml
│ ├── TestConvexHull.xml
│ ├── TestFunctionAA.xml
│ ├── TestFunctionAAPrec.xml
│ ├── TestFunctionLA.xml
│ ├── TestFunctionLAPrec.xml
│ ├── TestFunctionLL.xml
│ ├── TestFunctionLLPrec.xml
│ ├── TestFunctionPA.xml
│ ├── TestFunctionPL.xml
│ ├── TestFunctionPLPrec.xml
│ ├── TestFunctionPP.xml
│ ├── TestInteriorPoint.xml
│ ├── TestRectanglePredicate.xml
│ ├── TestRelateAA.xml
│ ├── TestRelateAC.xml
│ ├── TestRelateLA.xml
│ ├── TestRelateLC.xml
│ ├── TestRelateLL.xml
│ ├── TestRelatePA.xml
│ ├── TestRelatePL.xml
│ ├── TestRelatePP.xml
│ ├── TestSimple.xml
│ ├── TestValid.xml
│ ├── TestValid2-big.xml
│ ├── TestValid2.xml
│ └── TestWithinDistance.xml
├── NetTopologySuite.TestRunner
├── Functions
│ ├── AffineTransformationFunctions.cs
│ ├── BaseGeometryFunction.cs
│ ├── BoundaryFunctions.cs
│ ├── BufferByUnionFunctions.cs
│ ├── BufferFunctions.cs
│ ├── CGAlgorithmFunctions.cs
│ ├── ConstructionFunctions.cs
│ ├── ConversionFunctions.cs
│ ├── CreateRandomGeometries.cs
│ ├── CreateShapeFunctions.cs
│ ├── DissolveFunctions.cs
│ ├── DistanceFunctions.cs
│ ├── GeometryFunctionRegistry.cs
│ ├── GeometryFunctions.cs
│ ├── IGeometryFunction.cs
│ ├── LineHandlingFunctions.cs
│ ├── LinearReferencingFunctions.cs
│ ├── NTSFunctions.cs
│ ├── NodingFunctions.cs
│ ├── OverlayFunctions.cs
│ ├── PolygonizeFunctions.cs
│ ├── PrecisionFunctions.cs
│ ├── SelectionFunctions.cs
│ ├── SimplificationFunctions.cs
│ ├── SortingFunctions.cs
│ ├── SpatialIndexFunctions.cs
│ ├── StaticMethodGeometryFunction.cs
│ ├── TestCaseGeometryFunctions.cs
│ └── ValidationFunctions.cs
├── NetTopologySuite.TestRunner.csproj
├── Operations
│ ├── ArgumentConverter.cs
│ ├── BufferValidatedGeometryOperation.cs
│ ├── GeometryFunctionOperation.cs
│ ├── GeometryMethodOperation.cs
│ ├── IGeometryMatcher.cs
│ ├── IGeometryOperation.cs
│ ├── LoggingGeometryOperation.cs
│ ├── NTSTestReflectionException.cs
│ ├── NormalizedGeometryMatcher.cs
│ ├── OverlayValidatedGeometryOperation.cs
│ ├── PreparedGeometryOperation.cs
│ ├── PreparedGeometryTeeOperation.cs
│ └── TeeGeometryOperation.cs
├── Properties
│ └── AssemblyInfo.cs
├── Result
│ ├── BufferResultMatcher.cs
│ ├── EqualityResultMatcher.cs
│ ├── IResultMatcher.cs
│ ├── NullResultMatcher.cs
│ └── Result.cs
├── Utility
│ ├── ClassUtility.cs
│ ├── DoubleKeyMap.cs
│ ├── GeometryDataUtil.cs
│ ├── IOUtility.cs
│ ├── MultiFormatReader.cs
│ └── StringUtility.cs
├── XmlTest.cs
├── XmlTestCollection.cs
├── XmlTestController.cs
├── XmlTestDocument.cs
├── XmlTestExceptionManager.cs
├── XmlTestFactory.cs
├── XmlTestInfo.cs
├── XmlTestTimer.cs
└── packages.config
├── NetTopologySuite.Tests.NUnit
├── Algorithm
│ ├── AbstractPointInRingTest.cs
│ ├── AngleTest.cs
│ ├── CGAlgorithmsTest.cs
│ ├── ComputeOrientationTest.cs
│ ├── ConvexHullTest.cs
│ ├── Distance
│ │ └── DiscreteHausdorffDistanceTest.cs
│ ├── IndexedPointInAreaStressTest.cs
│ ├── InteriorPointTest.cs
│ ├── IsCCWTest.cs
│ ├── LocatePointInRingTest.cs
│ ├── MCPointInRingTest.cs
│ ├── MinimumBoundingCircleTest.cs
│ ├── MinimumDiameterTest.cs
│ ├── NonRobustLineIntersectorTest.cs
│ ├── OrientationIndexFailureTest.cs
│ ├── OrientationIndexTest.cs
│ ├── PerturbedGridPolygonBuilder.cs
│ ├── PointInAreaStressTester.cs
│ ├── PointInRingTest.cs
│ ├── PointLocatorTest.cs
│ ├── RayCrossingCounterTest.cs
│ ├── RectangleIntersectsTest.cs
│ ├── RobustLineIntersectionTest.cs
│ ├── RobustLineIntersectorTest.cs
│ └── ShewchuksDeterminant.cs
├── CoordinateSystems
│ └── Transformations
│ │ └── GeometryTransformTest.cs
├── Dissolve
│ └── LineDissolverTest.cs
├── EdgeGraph
│ └── EdgeGraphTest.cs
├── Geometries
│ ├── AreaLengthTest.cs
│ ├── BidirectionalComparatorTest.cs
│ ├── CoordinateArraysTest.cs
│ ├── CoordinateSequencesTest.cs
│ ├── CoordinateTest.cs
│ ├── EnvelopeTest.cs
│ ├── GeometryCollectionEnumeratorTest.cs
│ ├── GeometryCollectionImplTest.cs
│ ├── GeometryFactoryTest.cs
│ ├── GeometryImplTest.cs
│ ├── GeometryTestFactory.cs
│ ├── Implementation
│ │ ├── BasicCoordinateSequenceTest.cs
│ │ ├── CoordinateArraySequenceTest.cs
│ │ ├── CoordinateSequenceReversedTest.cs
│ │ ├── CoordinateSequenceTestBase.cs
│ │ └── PackedCoordinateSequenceTest.cs
│ ├── IntersectionMatrixTest.cs
│ ├── IntervalTest.cs
│ ├── IsRectangleTest.cs
│ ├── LineSegmentTest.cs
│ ├── LineStringImplTest.cs
│ ├── MultiPointImplTest.cs
│ ├── NormalizeTest.cs
│ ├── PointImplTest.cs
│ ├── PrecisionModelTest.cs
│ ├── PredicateShortCircuitTest.cs
│ ├── Prepared
│ │ ├── PreparedPolygonIntersectsStressTest.cs
│ │ ├── PreparedPolygonStressTest.cs
│ │ └── StressTestHarness.cs
│ ├── RectanglePredicateSyntheticTest.cs
│ ├── RectanglePredicateTest.cs
│ ├── SegmentDensifier.cs
│ ├── TriangleTest.cs
│ └── Utility
│ │ ├── AffineTransformationBuilderTest.cs
│ │ └── AffineTransformationTest.cs
├── GeometryServiceProviderTest.cs
├── GeometryTestCase.cs
├── GeometryUtils.cs
├── Hull
│ └── ConcaveHullTest.cs
├── IO
│ ├── CoordinateBufferTest.cs
│ ├── GML2
│ │ └── GMLReaderTest.cs
│ ├── KML
│ │ └── KMLWriterTest.cs
│ ├── SerializabilityTest.cs
│ ├── WKBReaderTest.cs
│ ├── WKBTest.cs
│ ├── WKTReaderExpTest.cs
│ ├── WKTReaderParseErrorTest.cs
│ ├── WKTReaderTest.cs
│ └── WKTWriterTest.cs
├── Index
│ ├── DoubleBitsTest.cs
│ ├── IntervalTest.cs
│ ├── KdTree
│ │ └── KdTreeTest.cs
│ ├── QuadtreeTest.cs
│ ├── SIRtreeTest.cs
│ ├── STRtreeDemo.cs
│ ├── STRtreeTest.cs
│ ├── SpatialIndexTest.cs
│ └── SpatialIndexTester.cs
├── LinearReferencing
│ ├── AbstractIndexedLineTest.cs
│ ├── LengthIndexedLineTest.cs
│ ├── LinearLocationTest.cs
│ └── LocationIndexedLineTest.cs
├── Mathematics
│ ├── DDBasicTest.cs
│ └── DDComputeTest.cs
├── MiscellaneousTest.cs
├── MiscellaneousTest2.cs
├── NetTopologySuite.Tests.NUnit.csproj
├── Noding
│ ├── SegmentPointComparatorFullTest.cs
│ ├── SegmentPointComparatorTest.cs
│ └── Snapround
│ │ └── SnapRoundingTest.cs
├── Operation
│ ├── BoundaryTest.cs
│ ├── Buffer
│ │ ├── BufferResultValidatorTest.cs
│ │ ├── BufferTest.cs
│ │ ├── BufferValidator.cs
│ │ ├── DepthSegmentTest.cs
│ │ └── Test.cs
│ ├── Distance
│ │ └── DistanceTest.cs
│ ├── Distance3D
│ │ ├── Distance3DOpTest.cs
│ │ └── WithinDistance3DTest.cs
│ ├── LineMerge
│ │ ├── LineMergerTest.cs
│ │ └── LineSequencerTest.cs
│ ├── Overlay
│ │ └── FixedPrecisionSnappingTest.cs
│ ├── Polygonize
│ │ └── PolygonizeTest.cs
│ ├── Predicate
│ │ └── RectangleIntersectsPerformance.cs
│ ├── Relate
│ │ ├── ContainsTest.cs
│ │ ├── RelateBoundaryNodeRuleTest.cs
│ │ └── RelateTest.cs
│ ├── SimpleTest.cs
│ ├── Union
│ │ ├── CascadedPolygonUnionFileTest.cs
│ │ ├── CascadedPolygonUnionTest.cs
│ │ ├── CascadedPolygonUnionTester.cs
│ │ └── UnaryUnionTest.cs
│ └── Valid
│ │ ├── IsValidTest.cs
│ │ ├── ValidClosedRingTest.cs
│ │ └── ValidSelfTouchingRingFormingHoleTest.cs
├── Performance
│ ├── Algorithm
│ │ ├── DistanceLineLineStressTest.cs
│ │ ├── MinimumBoundingCircleStressTest.cs
│ │ └── SimpleRayCrossingStressTest.cs
│ ├── AreaPrecisionPerformanceTest.cs
│ ├── Dissolve
│ │ └── LineDissolveStressTest.cs
│ ├── ExamplePerformanceTest.cs
│ ├── Geometries
│ │ └── Prepared
│ │ │ ├── PreparedGeometryThreadSafeTest.cs
│ │ │ ├── PreparedLineIntersectsPerformanceTest.cs
│ │ │ ├── PreparedPolygonIntersectsPerformanceTest.cs
│ │ │ └── TestDataBuilder.cs
│ ├── Mathematics
│ │ ├── DDExpressionPerformance.cs
│ │ ├── InCirclePerformance.cs
│ │ └── TriPredicate.cs
│ ├── Operation
│ │ ├── Buffer
│ │ │ ├── DepthSegmentStressTest.cs
│ │ │ ├── FileBufferResultValidatorTest.cs
│ │ │ └── PolygonBufferStressTest.cs
│ │ ├── Distance
│ │ │ └── TestPerfDistanceLinePoints.cs
│ │ ├── Overlay
│ │ │ └── OverlayNodingStressTest.cs
│ │ ├── Relate
│ │ │ └── RelateMonotoneLinesPerfTest.cs
│ │ └── Union
│ │ │ └── UnionPerfTester.cs
│ ├── PerformanceTestCase.cs
│ ├── PerformanceTestRunner.cs
│ ├── ThreadTestCase.cs
│ └── ThreadTestRunner.cs
├── Precision
│ ├── CommonBitsOpTest.cs
│ ├── GeometryPrecisionReducerTest.cs
│ └── SimpleGeometryPrecisionReducerTest.cs
├── Properties
│ └── AssemblyInfo.cs
├── Simplify
│ ├── DouglasPeuckerSimplifierTest.cs
│ ├── GeometryOperationValidator.cs
│ ├── SameStructureTester.cs
│ ├── TopologyPreservingSimplifierTest.cs
│ └── VWSimplifierTest.cs
├── TestData
│ ├── EmbeddedResourceManager.cs
│ ├── africa.wkt
│ ├── bc-250k.wkt
│ ├── bc_20K.wkt
│ ├── europe.wkt
│ ├── linestrings.xml
│ ├── multilinestrings.xml
│ ├── multipoints.xml
│ ├── multipolygons.xml
│ ├── papua.wkt
│ ├── plane.wkt
│ ├── points.xml
│ ├── polygon.wkb
│ ├── polygons.xml
│ ├── uk-arrows.wkt
│ ├── uk.wkt
│ └── world.wkt
├── Triangulate
│ ├── BasicFunctionalityTest.cs
│ ├── ConformingDelaunayTest.cs
│ ├── DelaunayPerformanceTest.cs
│ ├── DelaunayTest.cs
│ └── VoronoiTest.cs
├── Utilities
│ ├── AlternativePriorityQueueTest.cs
│ ├── IOUtil.cs
│ ├── PriorityQueueTest.cs
│ └── SerializationUtility.cs
├── nts.snk
└── packages.config
├── NetTopologySuite.Tests.Vivid.XUnit
├── NetTopologySuite.Tests.Vivid.XUnit.csproj
├── Properties
│ └── AssemblyInfo.cs
├── XUnitExternalTests.cs
├── XUnitFailureTests.cs
├── XUnitGeneralTests.cs
├── XUnitRobustTests.cs
├── XUnitRunner.cs
├── XUnitStMLFTests.cs
├── XUnitValidateTests.cs
├── XUnitVividTests.cs
└── packages.config
├── NetTopologySuite.VersionComparisonTests
├── AuthoringTests.txt
├── BufferTest.cs
├── NetTopologySuite.VersionComparisonTests.csproj
├── Properties
│ └── AssemblyInfo.cs
├── Read Me.txt
└── StrTreeTests.cs
├── NetTopologySuite.Windows.Forms
├── FontGlyphReader.cs
├── GeometryCollectionGraphicsPath.cs
├── GraphicsPathCollectionPathIterator.cs
├── GraphicsPathReader.cs
├── GraphicsPathWriter.cs
├── IPointTransformation.cs
├── IdentityPointTransformation.cs
├── NetTopologySuite.Windows.Forms.csproj
├── PointGraphicsPathFactory.cs
├── PolygonGraphicsPath.cs
├── Properties
│ └── AssemblyInfo.cs
├── Test
│ ├── BasicTest.cs
│ ├── BasicTestMedia.cs
│ ├── Test.NetTopologySuite.Windows.Forms.csproj
│ └── packages.config
└── packages.config
├── NetTopologySuite.Windows.Media
├── FontGlyphReader.cs
├── GeometryCollectionGraphicsPath.cs
├── IPointTransformation.cs
├── IdentityPointTransformation.cs
├── NetTopologySuite.Windows.Media.csproj
├── PointToPathGeometryFactory.cs
├── PointToStreamGeometryFactory.cs
├── PolygonWpfPathGeometry.cs
├── PolygonWpfStreamGeometry.cs
├── Properties
│ └── AssemblyInfo.cs
├── WpfGeometryReader.cs
├── WpfPathGeometryWriter.cs
├── WpfStreamGeometryWriter.cs
└── packages.config
├── NetTopologySuite.sln
├── NetTopologySuite.sln.DotSettings
├── NetTopologySuite.vsmdi
├── NetTopologySuite
├── Algorithm
│ ├── Algorithm.xml
│ ├── Angle.cs
│ ├── BoundaryNodeRule.cs
│ ├── CGAlgorithms.cs
│ ├── CGAlgorithms3D.cs
│ ├── CGAlgorithmsDD.cs
│ ├── CentralEndpointIntersector.cs
│ ├── Centroid.cs
│ ├── CentroidArea.cs
│ ├── CentroidLine.cs
│ ├── CentroidPoint.cs
│ ├── ConvexHull.cs
│ ├── Distance
│ │ ├── DiscreteHausdorffDistance.cs
│ │ ├── Distance.xml
│ │ ├── DistanceToPoint.cs
│ │ └── PointPairDistance.cs
│ ├── HCoordinate.cs
│ ├── IPointInAreaLocator.cs
│ ├── IPointInRing.cs
│ ├── IndexedPointInAreaLocator.cs
│ ├── InteriorPointArea.cs
│ ├── InteriorPointLine.cs
│ ├── InteriorPointPoint.cs
│ ├── LineIntersector.cs
│ ├── Locate
│ │ ├── IPointOnGeometryLocator.cs
│ │ ├── IndexedPointInAreaLocator.cs
│ │ ├── Locate.xml
│ │ └── SimplePointInAreaLocator.cs
│ ├── MCPointInRing.cs
│ ├── Match
│ │ ├── AreaSimilarityMeasure.cs
│ │ ├── HausdorffSimilarityMeasure.cs
│ │ ├── ISimilarityMeasure.cs
│ │ ├── Match.xml
│ │ └── SimilarityMeasureCombiner.cs
│ ├── MinimumBoundingCircle.cs
│ ├── MinimumDiameter.cs
│ ├── NonRobustCGAlgorithms.cs
│ ├── NonRobustLineIntersector.cs
│ ├── NotRepresentableException.cs
│ ├── PointLocator.cs
│ ├── RayCrossingCounter.cs
│ ├── RectangleLineIntersector.cs
│ ├── RobustDeterminant.cs
│ ├── RobustLineIntersector.cs
│ ├── SIRtreePointInRing.cs
│ ├── SimplePointInAreaLocator.cs
│ └── SimplePointInRing.cs
├── CoordinateSystems
│ ├── CRSBase.cs
│ ├── CRSType.cs
│ ├── ICRSObject.cs
│ ├── LinkedCRS.cs
│ ├── NamedCRS.cs
│ └── Transformations
│ │ └── GeometryTransform.cs
├── Densify
│ ├── Densifier.cs
│ └── DensifySummary.xml
├── Dissolve
│ ├── DissolveEdgeGraph.cs
│ ├── DissolveHalfEdge.cs
│ └── LineDissolver.cs
├── EdgeGraph
│ ├── EdgeGraph.cs
│ ├── EdgeGraphBuilder.cs
│ ├── HalfEdge.cs
│ └── MarkHalfEdge.cs
├── Features
│ ├── AttributesTable.cs
│ ├── Feature.cs
│ ├── FeatureCollection.cs
│ ├── FeatureExtensions.cs
│ ├── IAttributesTable.cs
│ └── IFeature.cs
├── Geometries
│ ├── CoordinateArrays.cs
│ ├── CoordinateList.cs
│ ├── CoordinateSequenceComparator.cs
│ ├── CoordinateSequences.cs
│ ├── DefaultCoordinateSequence.cs
│ ├── DefaultCoordinateSequenceFactory.cs
│ ├── Geometries.xml
│ ├── Geometry.cs
│ ├── GeometryCollection.cs
│ ├── GeometryCollectionEnumerator.cs
│ ├── GeometryComponentFilter.cs
│ ├── GeometryFactory.cs
│ ├── Implementation
│ │ ├── CoordinateArraySequence.cs
│ │ ├── CoordinateArraySequenceFactory.cs
│ │ ├── DotSpatialAffineCoordinateSequence.cs
│ │ ├── DotSpatialAffineCoordinateSequenceFactory.cs
│ │ ├── PackedCoordinateSequence.cs
│ │ └── PackedCoordinateSequenceFactory.cs
│ ├── LineSegment.cs
│ ├── LineString.cs
│ ├── LinearRing.cs
│ ├── MultiLineString.cs
│ ├── MultiPoint.cs
│ ├── MultiPolygon.cs
│ ├── OctogonalEnvelope.cs
│ ├── OgcCompliantGeometryFactory.cs
│ ├── Point.cs
│ ├── Polygon.cs
│ ├── PrecisionModel.cs
│ ├── Prepared
│ │ ├── AbstractPreparedPolygonContains.cs
│ │ ├── BasicPreparedGeometry.cs
│ │ ├── LineIntersectionAdder.cs
│ │ ├── LineNode.cs
│ │ ├── LineTopology.cs
│ │ ├── PreparedGeometryFactory.cs
│ │ ├── PreparedLineString.cs
│ │ ├── PreparedLineStringIntersects.cs
│ │ ├── PreparedPoint.cs
│ │ ├── PreparedPolygon.cs
│ │ ├── PreparedPolygonContains.cs
│ │ ├── PreparedPolygonContainsProperly.cs
│ │ ├── PreparedPolygonCovers.cs
│ │ ├── PreparedPolygonIntersects.cs
│ │ ├── PreparedPolygonLineIntersection.cs
│ │ └── PreparedPolygonPredicate.cs
│ ├── TopologyException.cs
│ ├── Triangle.cs
│ └── Utilities
│ │ ├── AffineTransformation.cs
│ │ ├── AffineTransformationBuilder.cs
│ │ ├── AffineTransformationFactory.cs
│ │ ├── ComponentGeometryExtractor.cs
│ │ ├── GeometryCollectionMapper.cs
│ │ ├── GeometryCombiner.cs
│ │ ├── GeometryEditor.cs
│ │ ├── GeometryExtracter.cs
│ │ ├── GeometryMapper.cs
│ │ ├── GeometryTransformer.cs
│ │ ├── LineStringExtracter.cs
│ │ ├── LinearComponentExtracter.cs
│ │ ├── Matrix.cs
│ │ ├── NoninvertibleTransformationException.cs
│ │ ├── PointExtracter.cs
│ │ ├── PolygonExtracter.cs
│ │ ├── ShortCircuitedGeometryVisitor.cs
│ │ └── SineStarFactory.cs
├── GeometriesGraph
│ ├── Depth.cs
│ ├── DirectedEdge.cs
│ ├── DirectedEdgeStar.cs
│ ├── Edge.cs
│ ├── EdgeEnd.cs
│ ├── EdgeEndStar.cs
│ ├── EdgeIntersection.cs
│ ├── EdgeIntersectionList.cs
│ ├── EdgeList.cs
│ ├── EdgeNodingValidator.cs
│ ├── EdgeRing.cs
│ ├── GeometryGraph.cs
│ ├── GraphComponent.cs
│ ├── Index
│ │ ├── EdgeSetIntersector.cs
│ │ ├── MonotoneChain.cs
│ │ ├── MonotoneChainEdge.cs
│ │ ├── MonotoneChainIndexer.cs
│ │ ├── SegmentIntersector.cs
│ │ ├── SimpleEdgeSetIntersector.cs
│ │ ├── SimpleMCSweepLineIntersector.cs
│ │ ├── SimpleSweepLineIntersector.cs
│ │ ├── SweepLineEvent.cs
│ │ └── SweepLineSegment.cs
│ ├── Label.cs
│ ├── Node.cs
│ ├── NodeFactory.cs
│ ├── NodeMap.cs
│ ├── PlanarGraph.cs
│ ├── Position.cs
│ ├── QuadrantOp.cs
│ └── TopologyLocation.cs
├── IO
│ ├── BEBinaryReader.cs
│ ├── BEBinaryWriter.cs
│ ├── GML2
│ │ ├── GMLElements.cs
│ │ ├── GMLReader.cs
│ │ └── GMLWriter.cs
│ ├── KML
│ │ └── KMLWriter.cs
│ ├── ParseException.cs
│ ├── WKBGeometryTypes.cs
│ ├── WKBHexFileReader.cs
│ ├── WKBReader.cs
│ ├── WKBWriter.cs
│ ├── WKTFileReader.cs
│ ├── WKTReader.cs
│ └── WKTWriter.cs
├── Index
│ ├── ArrayListVisitor.cs
│ ├── Bintree
│ │ ├── Bintree.cs
│ │ ├── Interval.cs
│ │ ├── Key.cs
│ │ ├── Node.cs
│ │ ├── NodeBase.cs
│ │ └── Root.cs
│ ├── Chain
│ │ ├── MonotoneChain.cs
│ │ ├── MonotoneChainBuilder.cs
│ │ ├── MonotoneChainOverlapAction.cs
│ │ └── MonotoneChainSelectAction.cs
│ ├── IIndexVisitor.cs
│ ├── IItemVisitor.cs
│ ├── ISpatialIndex.cs
│ ├── IntervalRTree
│ │ ├── IntervalRTreeBranchNode.cs
│ │ ├── IntervalRTreeLeafNode.cs
│ │ ├── IntervalRTreeNode.cs
│ │ └── SortedPackedIntervalRTree.cs
│ ├── KdTree
│ │ ├── IKdNodeVisitor.cs
│ │ ├── KdNode.cs
│ │ └── KdTree.cs
│ ├── Quadtree
│ │ ├── DoubleBits.cs
│ │ ├── IntervalSize.cs
│ │ ├── Key.cs
│ │ ├── Node.cs
│ │ ├── NodeBase.cs
│ │ ├── Quadtree.cs
│ │ └── Root.cs
│ ├── Strtree
│ │ ├── AbstractNode.cs
│ │ ├── AbstractSTRtree.cs
│ │ ├── BoundablePair.cs
│ │ ├── GeometryItemDistance.cs
│ │ ├── IBoundable.cs
│ │ ├── IItemDistance.cs
│ │ ├── Interval.cs
│ │ ├── ItemBoundable.cs
│ │ ├── SIRtree.cs
│ │ └── STRtree.cs
│ └── Sweepline
│ │ ├── ISweepLineOverlapAction.cs
│ │ ├── SweepLineEvent.cs
│ │ ├── SweepLineIndex.cs
│ │ └── SweepLineInterval.cs
├── License.txt
├── LinearReferencing
│ ├── ExtractLineByLocation.cs
│ ├── LengthIndexOfPoint.cs
│ ├── LengthIndexedLine.cs
│ ├── LengthLocationMap.cs
│ ├── LinearGeometryBuilder.cs
│ ├── LinearIterator.cs
│ ├── LinearLocation.cs
│ ├── LocationIndexOfLine.cs
│ ├── LocationIndexOfPoint.cs
│ └── LocationIndexedLine.cs
├── Mathematics
│ ├── DD.cs
│ ├── MathUtil.cs
│ ├── Matrix.cs
│ ├── Plane3D.cs
│ ├── Vector2D.cs
│ ├── Vector3D.cs
│ └── VectorMath.cs
├── NetTopologySuite.csproj
├── Noding
│ ├── BasicSegmentString.cs
│ ├── FastNodingValidator.cs
│ ├── FastSegmentSetIntersectionFinder.cs
│ ├── INodableSegmentString.cs
│ ├── INoder.cs
│ ├── ISegmentIntersector.cs
│ ├── ISegmentString.cs
│ ├── InteriorIntersectionFinder.cs
│ ├── InteriorIntersectionFinderAdder.cs
│ ├── IntersectionAdder.cs
│ ├── IntersectionFinderAdder.cs
│ ├── IteratedNoder.cs
│ ├── MCIndexNoder.cs
│ ├── MCIndexSegmentSetMutualIntersector.cs
│ ├── NodingValidator.cs
│ ├── Octant.cs
│ ├── OrientedCoordinateArray.cs
│ ├── ScaledNoder.cs
│ ├── SegmentIntersectionDetector.cs
│ ├── SegmentNode.cs
│ ├── SegmentNodeList.cs
│ ├── SegmentPointComparator.cs
│ ├── SegmentSetMutualIntersector.cs
│ ├── SegmentString.cs
│ ├── SegmentStringDissolver.cs
│ ├── SegmentStringUtil.cs
│ ├── SimpleNoder.cs
│ ├── SimpleSegmentSetMutualIntersector.cs
│ ├── SinglePassNoder.cs
│ └── Snapround
│ │ ├── GeometryNoder.cs
│ │ ├── HotPixel.cs
│ │ ├── MCIndexPointSnapper.cs
│ │ ├── MCIndexSnapRounder.cs
│ │ └── SimpleSnapRounder.cs
├── NtsGeometryServices.cs
├── Operation
│ ├── BoundaryOp.cs
│ ├── Buffer
│ │ ├── BufferBuilder.cs
│ │ ├── BufferInputLineSimplifier.cs
│ │ ├── BufferOp.cs
│ │ ├── BufferParameters.cs
│ │ ├── BufferSubgraph.cs
│ │ ├── OffsetCurveBuilder.cs
│ │ ├── OffsetCurveSetBuilder.cs
│ │ ├── OffsetCurveVertexList.cs
│ │ ├── OffsetSegmentGenerator.cs
│ │ ├── OffsetSegmentString.cs
│ │ ├── OldOffsetCurveBuilder.cs
│ │ ├── RightmostEdgeFinder.cs
│ │ ├── SubgraphDepthLocater.cs
│ │ └── Validate
│ │ │ ├── BufferCurveMaximumDistanceFinder.cs
│ │ │ ├── BufferDistanceValidator.cs
│ │ │ ├── BufferResultValidator.cs
│ │ │ ├── DistanceToPointFinder.cs
│ │ │ └── PointPairDistance.cs
│ ├── Distance
│ │ ├── ConnectedElementLocationFilter.cs
│ │ ├── ConnectedElementPointFilter.cs
│ │ ├── DistanceOp.cs
│ │ ├── FacetSequence.cs
│ │ ├── FacetSequenceTreeBuilder.cs
│ │ ├── GeometryLocation.cs
│ │ └── IndexedFacedDistance.cs
│ ├── Distance3D
│ │ ├── AxisPlaneCoordinateSequence.cs
│ │ ├── Distance3DOp.cs
│ │ └── PlanarPolygon3D.cs
│ ├── GeometryGraphOperation.cs
│ ├── IsSimpleOp.cs
│ ├── Linemerge
│ │ ├── EdgeString.cs
│ │ ├── LineMergeDirectedEdge.cs
│ │ ├── LineMergeEdge.cs
│ │ ├── LineMergeGraph.cs
│ │ ├── LineMerger.cs
│ │ └── LineSequencer.cs
│ ├── Overlay
│ │ ├── EdgeSetNoder.cs
│ │ ├── LineBuilder.cs
│ │ ├── MaximalEdgeRing.cs
│ │ ├── MinimalEdgeRing.cs
│ │ ├── OverlayNodeFactory.cs
│ │ ├── OverlayOp.cs
│ │ ├── PointBuilder.cs
│ │ ├── PolygonBuilder.cs
│ │ ├── Snap
│ │ │ ├── GeometrySnapper.cs
│ │ │ ├── LineStringSnapper.cs
│ │ │ ├── SnapIfNeededOverlayOp.cs
│ │ │ └── SnapOverlayOp.cs
│ │ └── Validate
│ │ │ ├── FuzzyPointLocator.cs
│ │ │ ├── OffsetPointGenerator.cs
│ │ │ └── OverlayResultValidator.cs
│ ├── Polygonize
│ │ ├── EdgeRing.cs
│ │ ├── PolygonizeDirectedEdge.cs
│ │ ├── PolygonizeEdge.cs
│ │ ├── PolygonizeGraph.cs
│ │ └── Polygonizer.cs
│ ├── Predicate
│ │ ├── RectangleContains.cs
│ │ ├── RectangleIntersects.cs
│ │ └── SegmentIntersectionTester.cs
│ ├── Relate
│ │ ├── EdgeEndBuilder.cs
│ │ ├── EdgeEndBundle.cs
│ │ ├── EdgeEndBundleStar.cs
│ │ ├── RelateComputer.cs
│ │ ├── RelateNode.cs
│ │ ├── RelateNodeFactory.cs
│ │ ├── RelateNodeGraph.cs
│ │ └── RelateOp.cs
│ ├── Union
│ │ ├── CascadedPolygonUnion.cs
│ │ ├── PointGeometryUnion.cs
│ │ ├── UnaryUnionOp.cs
│ │ └── UnionInteracting.cs
│ └── Valid
│ │ ├── ConnectedInteriorTester.cs
│ │ ├── ConsistentAreaTester.cs
│ │ ├── IndexedNestedRingTester.cs
│ │ ├── IsValidOp.cs
│ │ ├── QuadtreeNestedRingTester.cs
│ │ ├── RepeatedPointTester.cs
│ │ ├── SimpleNestedRingTester.cs
│ │ ├── SweeplineNestedRingTester.cs
│ │ └── TopologyValidationError.cs
├── Planargraph
│ ├── Algorithm
│ │ └── ConnectedSubgraphFinder.cs
│ ├── DirectedEdge.cs
│ ├── DirectedEdgeStar.cs
│ ├── Edge.cs
│ ├── GraphComponent.cs
│ ├── Node.cs
│ ├── NodeMap.cs
│ ├── PlanarGraph.cs
│ └── Subgraph.cs
├── Precision
│ ├── CommonBits.cs
│ ├── CommonBitsOp.cs
│ ├── CommonBitsRemover.cs
│ ├── CoordinatePrecisionReducerFilter.cs
│ ├── DocFiles
│ │ └── minClearance.png
│ ├── EnhancedPrecisionOp.cs
│ ├── GeometryPrecisionReducer.cs
│ ├── MinimumClearance.cs
│ ├── PrecisionReducerCoordinateOperation.cs
│ ├── PrecisionSummary.xml
│ ├── SimpleGeometryPrecisionReducer.cs
│ └── SimpleMinimumClearance.cs
├── Properties
│ └── AssemblyInfo.cs
├── Shape
│ ├── Fractal
│ │ ├── KochSnowflakeBuilder.cs
│ │ └── SierpinskiCarpetBuilder.cs
│ ├── GeometricShapeBuilder.cs
│ └── Random
│ │ ├── RandomPointsBuilder.cs
│ │ └── RandomPointsInGridBuilder.cs
├── Simplify
│ ├── DouglasPeuckerLineSimplifier.cs
│ ├── DouglasPeuckerSimplifier.cs
│ ├── LineSegmentIndex.cs
│ ├── OldVWLineSimplifier.cs
│ ├── SimplifySummary.xml
│ ├── TaggedLineSegment.cs
│ ├── TaggedLineString.cs
│ ├── TaggedLineStringSimplifier.cs
│ ├── TaggedLinesSimplifier.cs
│ ├── TopologyPreservingSimplifier.cs
│ ├── VWLineSimplifier.cs
│ └── VWSimplifier.cs
├── Triangulate
│ ├── ConformingDelaunayTriangulationBuilder.cs
│ ├── ConformingDelaunayTriangulator.cs
│ ├── ConstraintEnforcementException.cs
│ ├── ConstraintVertex.cs
│ ├── ConstraintVertexFactory.cs
│ ├── DelaunayTriangulationBuilder.cs
│ ├── IConstraintSplitPointFinder.cs
│ ├── IncrementalDelaunayTriangulator.cs
│ ├── MidpointSplitPointFinder.cs
│ ├── NonEncroachingSplitPointFinder.cs
│ ├── QuadEdge
│ │ ├── EdgeConnectedTriangleTraversal.cs
│ │ ├── IQuadEdgeLocator.cs
│ │ ├── ITraversalVisitor.cs
│ │ ├── ITriangleVisitor.cs
│ │ ├── LastFoundQuadEdgeLocator.cs
│ │ ├── LocateFailureException.cs
│ │ ├── QuadEdge.cs
│ │ ├── QuadEdgeSubdivision.cs
│ │ ├── QuadEdgeSummary.xml
│ │ ├── QuadEdgeTriangle.cs
│ │ ├── QuadEdgeUtil.cs
│ │ ├── TrianglePredicate.cs
│ │ └── Vertex.cs
│ ├── Segment.cs
│ ├── SplitSegment.cs
│ ├── TriangulateSummary.xml
│ ├── VertexTaggedGeometryDataMapper.cs
│ └── VoronoiDiagramBuilder.cs
├── Utilities
│ ├── AlternativePriorityQueue.cs
│ ├── Assert.cs
│ ├── AssertionFailedException.cs
│ ├── BitConverter.cs
│ ├── BitTweaks.cs
│ ├── Caster.cs
│ ├── CollectionUtil.cs
│ ├── CoordinateArrayFilter.cs
│ ├── CoordinateCompare.cs
│ ├── CoordinateCountFilter.cs
│ ├── Degrees.cs
│ ├── EnumUtility.cs
│ ├── FrameworkReplacements
│ │ ├── Collections
│ │ │ ├── Generic
│ │ │ │ ├── BitHelper.cs
│ │ │ │ ├── EnumerableHelpers.cs
│ │ │ │ ├── HashSet.cs
│ │ │ │ ├── IReadOnlyCollection.cs
│ │ │ │ ├── IReadOnlyDictionary.cs
│ │ │ │ ├── ISet.cs
│ │ │ │ ├── SortedDictionary.cs
│ │ │ │ └── SortedSet.cs
│ │ │ └── HashHelpers.cs
│ │ └── ReadMe.txt
│ ├── FunctionsUtility.cs
│ ├── GeoToolsStreamTokenizer.cs
│ ├── GeometricShapeFactory.cs
│ ├── Global.cs
│ ├── Guard.cs
│ ├── HexConverter.cs
│ ├── Memory.cs
│ ├── PlatformUtilityEx.cs
│ ├── PriorityQueue.cs
│ ├── PriorityQueueNode.cs
│ ├── RToolsUtil
│ │ ├── CharBuffer.cs
│ │ ├── StreamTokenizer.cs
│ │ ├── Token.cs
│ │ └── VerbosityLevel.cs
│ ├── Radians.cs
│ ├── ReverseOrder.cs
│ ├── StreamTokenizer.cs
│ ├── StringEx.cs
│ └── UniqueCoordinateArrayFilter.cs
├── nts.snk
└── packages.config
├── PortableClassLibrary
├── GeoAPI.Bootstrapper.NetTopologySuite
│ ├── GeoAPI.BootStrapper.NetTopologySuite.csproj
│ ├── NetTopologySuiteBootstrapper.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── packages.config
├── NetTopologySuite.Pcl
│ ├── Extension
│ │ ├── ICoordinateEx.cs
│ │ └── IEnvelopeEx.cs
│ ├── NetTopologySuite.Pcl.csproj
│ └── packages.config
└── NetTopologySuite.Tests.NUnit.Pcl
│ ├── NetTopologySuite.Tests.NUnit.Pcl.csproj
│ ├── PclSetup.cs
│ └── packages.config
├── README.md
├── Sandcastle
├── DocFiles
│ └── minClearance.png
└── NetTopologySuite.shfbproj
├── SharedAssemblyVersion.cs
├── TeamCity.proj
└── TeamCity.targets
/.gitmodules:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/.gitmodules
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: csharp
2 | solution: NetTopologySuite.sln
3 | install:
4 | - nuget restore NetTopologySuite.sln
5 | - nuget install NUnit.Runners -Version 2.6.4 -OutputDirectory testrunner
6 | script:
7 | - xbuild /p:Configuration=ReleaseLinux NetTopologySuite.sln
8 | - mono ./testrunner/NUnit.Runners.2.6.4/tools/nunit-console.exe ./Release/v4.0/AnyCPU/NetTopologySuite.Tests.NUnit.dll
9 |
--------------------------------------------------------------------------------
/BuildTools/GeoAPI.Pcl.Reference.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | portable-net403+sl5+netcore45+wpa81+wp8+MonoAndroid10+XamariniOS10+MonoTouch10
5 |
6 |
7 |
8 | $(SolutionDir)packages\GeoAPI.1.7.4\lib\$(fwVersion)\GeoAPI.dll
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/BuildTools/GeoAPI.Reference.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net40-client
5 |
6 |
7 |
8 | $(SolutionDir)packages\DotSpatial.GeoAPI.1.7.4.3\lib\$(fwVersion)\DotSpatial.GeoAPI.dll
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/BuildTools/GeoAPI.version:
--------------------------------------------------------------------------------
1 | 1.7.4.3
2 |
--------------------------------------------------------------------------------
/BuildTools/NuGet.Config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/BuildTools/NuGet.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/BuildTools/NuGet.exe
--------------------------------------------------------------------------------
/DSNetTopologySuite.sln.DotSettings:
--------------------------------------------------------------------------------
1 |
2 | True
3 | C:\Progetti\GitHub\NetTopologySuite\NetTopologySuite.sln.DotSettings
4 |
5 | True
6 | 1
--------------------------------------------------------------------------------
/LocalTestRun.testrunconfig:
--------------------------------------------------------------------------------
1 |
2 |
3 | This is a default test run configuration for a local test run.
4 |
5 |
--------------------------------------------------------------------------------
/NetTopologySuite.Converter/NetTopologySuite.Converter.DotSpatial/NetTopologySuite.Converter.DotSpatial.snk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Converter/NetTopologySuite.Converter.DotSpatial/NetTopologySuite.Converter.DotSpatial.snk
--------------------------------------------------------------------------------
/NetTopologySuite.Converter/NetTopologySuite.Converter.DotSpatial/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/NetTopologySuite.Converter/NetTopologySuite.Converter.SpatialLite/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/NetTopologySuite.Converter/NetTopologySuite.Converter.Test/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NetTopologySuite.CoordinateSystems.Transfromation/DotSpatial.Projections.Wrapper/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GDB/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoJSON.Pcl/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoJSON/GeoJsonReader.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using Newtonsoft.Json;
3 |
4 | namespace NetTopologySuite.IO
5 | {
6 | ///
7 | /// Represents a GeoJSON Reader allowing for deserialization of various GeoJSON elements
8 | /// or any object containing GeoJSON elements.
9 | ///
10 | public class GeoJsonReader
11 | {
12 | ///
13 | /// Reads the specified json.
14 | ///
15 | /// The type of the object.
16 | /// The json.
17 | ///
18 | public TObject Read(string json)
19 | where TObject : class
20 | {
21 | JsonSerializer g = new GeoJsonSerializer();
22 | using (StringReader sr = new StringReader(json))
23 | {
24 | return g.Deserialize(new JsonTextReader(sr));
25 | }
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoJSON/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoTools.Silverlight/SLShapeFileDataEnumerator.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using NetTopologySuite.Data;
3 |
4 | namespace NetTopologySuite.IO.GeoTools
5 | {
6 |
7 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoTools.Silverlight/StringToGeometryConverter.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 | using NetTopologySuite.Data;
3 | using NetTopologySuite.Geometries;
4 |
5 | namespace NetTopologySuite.IO.GeoTools
6 | {
7 | public class StringToGeometryConverter : CustomConverterBase
8 | {
9 | private readonly WKTReader _reader;
10 |
11 | public StringToGeometryConverter() : this(new GeometryFactory())
12 | {
13 | }
14 |
15 | public StringToGeometryConverter(IGeometryFactory geometryFactory)
16 | {
17 | _reader = new WKTReader(geometryFactory);
18 | }
19 |
20 | public override IGeometry Convert(string source)
21 | {
22 | return _reader.Read(source);
23 | }
24 | }
25 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoTools/Handlers/MBRInfo.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 |
3 | namespace NetTopologySuite.IO.Handlers
4 | {
5 | public class MBRInfo
6 | {
7 | public MBRInfo(Envelope shapeMBR, long offsetFromStartOfFile, int shapeIndex)
8 | {
9 | ShapeFileDetails = new ShapeLocationInFileInfo(offsetFromStartOfFile, shapeIndex);
10 | ShapeMBR = shapeMBR;
11 | }
12 |
13 | public ShapeLocationInFileInfo ShapeFileDetails { get; private set; }
14 | public Envelope ShapeMBR { get; private set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoTools/Handlers/NullShapeHandler.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.IO;
3 | using GeoAPI.Geometries;
4 |
5 | namespace NetTopologySuite.IO.Handlers
6 | {
7 | public class NullShapeHandler : ShapeHandler
8 | {
9 | public NullShapeHandler()
10 | : base(ShapeGeometryType.NullShape)
11 | {
12 | }
13 |
14 | public override IGeometry Read(BigEndianBinaryReader file,
15 | int totalRecordLength, IGeometryFactory factory)
16 | {
17 | return null;
18 | }
19 |
20 | public override void Write(IGeometry geometry, BinaryWriter writer, IGeometryFactory factory)
21 | { }
22 |
23 | public override int ComputeRequiredLengthInWords(IGeometry geometry)
24 | {
25 | return -1;
26 | }
27 |
28 | public override IEnumerable ReadMBRs(BigEndianBinaryReader reader)
29 | {
30 | reader.Close();
31 | return new MBRInfo[0];
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoTools/Handlers/PointMBREnumerator.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 |
4 | namespace NetTopologySuite.IO.Handlers
5 | {
6 | internal class PointMBREnumerator : IEnumerable
7 | {
8 | private readonly BigEndianBinaryReader m_Reader;
9 |
10 | public PointMBREnumerator(BigEndianBinaryReader reader)
11 | {
12 | m_Reader = reader;
13 | }
14 |
15 | public IEnumerator GetEnumerator()
16 | {
17 | return new PointMBRIterator(m_Reader);
18 | }
19 |
20 | IEnumerator IEnumerable.GetEnumerator()
21 | {
22 | return ((IEnumerable)this).GetEnumerator();
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoTools/Handlers/PointMBRIterator.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.IO;
5 | using GeoAPI.Geometries;
6 |
7 | namespace NetTopologySuite.IO.Handlers
8 | {
9 | internal class PointMBRIterator : ShapeMBREnumeratorBase
10 | {
11 | public PointMBRIterator(BigEndianBinaryReader reader)
12 | : base(reader)
13 | { }
14 |
15 | protected override Envelope ReadCurrentEnvelope(out int numOfBytesRead)
16 | {
17 | double x = Reader.ReadDouble();
18 | double y = Reader.ReadDouble();
19 |
20 | numOfBytesRead = 16;
21 |
22 | return new Envelope(new Coordinate(x, y));
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoTools/Handlers/ShapeHandler.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.IO/NetTopologySuite.IO.GeoTools/Handlers/ShapeHandler.cs
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoTools/Handlers/ShapeLocationInFileInfo.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.IO.Handlers
2 | {
3 | public class ShapeLocationInFileInfo
4 | {
5 | public ShapeLocationInFileInfo(long offsetFromStartOfFile, int shapeIndex)
6 | {
7 | OffsetFromStartOfFile = offsetFromStartOfFile;
8 | ShapeIndex = shapeIndex;
9 | }
10 |
11 | public long OffsetFromStartOfFile { get; private set; }
12 |
13 | ///
14 | /// Zero based shape index in file.
15 | ///
16 | public int ShapeIndex { get; private set; }
17 | }
18 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoTools/Handlers/ShapeMBREnumerator.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 |
4 | namespace NetTopologySuite.IO.Handlers
5 | {
6 | internal class ShapeMBREnumerator : IEnumerable
7 | {
8 | private readonly BigEndianBinaryReader m_Reader;
9 |
10 | public ShapeMBREnumerator(BigEndianBinaryReader reader)
11 | {
12 | m_Reader = reader;
13 | }
14 |
15 | public IEnumerator GetEnumerator()
16 | {
17 | return new ShapeMBRIterator(m_Reader);
18 | }
19 |
20 | IEnumerator IEnumerable.GetEnumerator()
21 | {
22 | return ((IEnumerable)this).GetEnumerator();
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoTools/Handlers/ShapeMBRIterator.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.IO;
5 | using GeoAPI.Geometries;
6 |
7 | namespace NetTopologySuite.IO.Handlers
8 | {
9 | internal class ShapeMBRIterator : ShapeMBREnumeratorBase
10 | {
11 | public ShapeMBRIterator(BigEndianBinaryReader reader)
12 | : base(reader)
13 | { }
14 |
15 | protected override Envelope ReadCurrentEnvelope(out int numOfBytesRead)
16 | {
17 | Double xMin = Reader.ReadDouble();
18 | Double yMin = Reader.ReadDouble();
19 | Double xMax = Reader.ReadDouble();
20 | Double yMax = Reader.ReadDouble();
21 |
22 | numOfBytesRead = 8 * 4;
23 |
24 | return new Envelope(new Coordinate(xMin, yMin), new Coordinate(xMax, yMax));
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.GeoTools/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.MsSqlSpatial/MsSqlSpatialReader.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using GeoAPI.Geometries;
3 | using GeoAPI.IO;
4 |
5 | namespace NetTopologySuite.IO
6 | {
7 | public class MsSqlSpatialReader : WKBReader
8 | {
9 | public override IGeometry Read(Stream stream)
10 | {
11 | BinaryReader reader = null;
12 | var byteOrder = (ByteOrder)stream.ReadByte();
13 | try
14 | {
15 | if (byteOrder == ByteOrder.BigEndian)
16 | reader = new BEBinaryReader(stream);
17 | else reader = new BinaryReader(stream);
18 | IGeometry geometry = Read(reader);
19 | int srid = -1;
20 | try
21 | {
22 | srid = reader.ReadInt32();
23 | }
24 | catch { }
25 | if (srid == 0)
26 | srid = -1;
27 | geometry.SRID = srid;
28 | return geometry;
29 | }
30 | finally
31 | {
32 | if (reader != null)
33 | reader.Close();
34 | }
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.MsSqlSpatial/MsSqlSpatialWriter.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using GeoAPI.Geometries;
3 | using GeoAPI.IO;
4 |
5 | namespace NetTopologySuite.IO
6 | {
7 | public class MsSqlSpatialWriter : WKBWriter
8 | {
9 | protected override int SetByteStream(IGeometry geometry)
10 | {
11 | return base.SetByteStream(geometry) + 4; // sizeof(int)
12 | }
13 |
14 | public override byte[] Write(IGeometry geometry)
15 | {
16 | byte[] bytes = new byte[SetByteStream(geometry)];
17 | Write(geometry, new MemoryStream(bytes));
18 | return bytes;
19 | }
20 |
21 | public override void Write(IGeometry geometry, Stream stream)
22 | {
23 | BinaryWriter writer = null;
24 | try
25 | {
26 | if (EncodingType == ByteOrder.LittleEndian)
27 | writer = new BinaryWriter(stream);
28 | else writer = new BEBinaryWriter(stream);
29 | Write(geometry, writer);
30 | writer.Write(geometry.SRID);
31 | }
32 | finally
33 | {
34 | if (writer != null)
35 | writer.Close();
36 | }
37 | }
38 | }
39 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.MsSqlSpatial/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Oracle/README.txt:
--------------------------------------------------------------------------------
1 | Beware: this code is in a working status, and doesn't compile yet, so solution doesn't build the project by default)
2 |
3 | To get a valid NetTopologySuite.IO.Oracle project, you need a reference to Oracle.DataAccess.dll
4 | You can download the oracle reference (i.e. ODAC) from:
5 | http://www.oracle.com/technetwork/database/windows/downloads
6 |
7 | At the time of writing, you can grab 'ODAC 11.2 Release 3 (11.2.0.2.1)' from
8 | http://www.oracle.com/technetwork/database/windows/downloads/index-101290.html
9 |
10 | You can install the package and then reference 'Oracle.DataAccess.dll' from the GAC,
11 | or take the "Xcopy Deployment" package, unzip in a folder and take 'Oracle.DataAccess.dll' inside 'odp.net20\odp.net\bin\2.x' folder
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Oracle/Sdo/SdoEType.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.IO.Sdo
2 | {
3 | internal enum SdoEType
4 | {
5 | Unknown = -1,
6 | Coordinate = 1,
7 | Line = 2,
8 | Polygon = 3,
9 | PolygonExterior = 1003,
10 | PolygonInterior = 2003
11 | }
12 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Oracle/Sdo/SdoGTemplate.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.IO.Sdo
2 | {
3 | internal enum SdoGTemplate
4 | {
5 | Coordinate = 01,
6 | Line = 02,
7 | Polygon = 03,
8 | Collection = 04,
9 | MultiPoint = 05,
10 | MultiLine = 06,
11 | MultiPolygon = 07,
12 | Unknown = -1
13 | }
14 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Oracle/Spec/b28400.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.IO/NetTopologySuite.IO.Oracle/Spec/b28400.pdf
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Oracle/UdtBase/OracleArrayTypeFactoryBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Oracle.DataAccess.Types;
3 |
4 | namespace NetTopologySuite.IO.UdtBase
5 | {
6 | public abstract class OracleArrayTypeFactoryBase : IOracleArrayTypeFactory
7 | {
8 | public Array CreateArray(int numElems)
9 | {
10 | return new T[numElems];
11 | }
12 |
13 | public Array CreateStatusArray(int numElems)
14 | {
15 | return null;
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Oracle/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.PostGis/PostGisGeometryType.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.IO
2 | {
3 | ///
4 | /// PostGIS Geometry types as defined in the OGC WKB Spec
5 | ///
6 | internal enum PostGisGeometryType
7 | {
8 |
9 | ///
10 | /// The OGIS geometry type number for points.
11 | ///
12 | Point = 1,
13 |
14 | ///
15 | /// The OGIS geometry type number for lines.
16 | ///
17 | LineString = 2,
18 |
19 | ///
20 | /// The OGIS geometry type number for polygons.
21 | ///
22 | Polygon = 3,
23 |
24 | ///
25 | /// The OGIS geometry type number for aggregate points.
26 | ///
27 | MultiPoint = 4,
28 |
29 | ///
30 | /// The OGIS geometry type number for aggregate lines.
31 | ///
32 | MultiLineString = 5,
33 |
34 | ///
35 | /// The OGIS geometry type number for aggregate polygons.
36 | ///
37 | MultiPolygon = 6,
38 |
39 | ///
40 | /// The OGIS geometry type number for feature collections.
41 | ///
42 | GeometryCollection = 7,
43 |
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.PostGis/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.ShapeFile.Extended/Entities/IShapefileFeature.cs:
--------------------------------------------------------------------------------
1 | using NetTopologySuite.Features;
2 |
3 | namespace NetTopologySuite.IO.ShapeFile.Extended.Entities
4 | {
5 | public interface IShapefileFeature : IFeature
6 | {
7 | long FeatureId { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.ShapeFile.Extended/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.ShapeFile/ShapeFileConstants.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.IO
2 | {
3 | ///
4 | /// Shapefile specific constants
5 | ///
6 | internal class ShapeFileConstants
7 | {
8 | ///
9 | /// Every value less that this is considered as not set.
10 | ///
11 | internal const double NoDataBorder = -10e38d;
12 |
13 | ///
14 | /// A value that represents an unset value
15 | ///
16 | internal const double NoDataValue = -10e38d - 1;
17 | }
18 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.ShapeFile/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.SpatiaLite.MonoDroid/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.IO/NetTopologySuite.IO.SpatiaLite.MonoDroid/Properties/AssemblyInfo.cs
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.SpatiaLite.Pcl/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.SpatiaLite/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.SqlServer2008/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Streams.CloudStorage.Test/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Streams.CloudStorage.Test/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Streams.CloudStorage/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Tests/GeoJSON/NamedCRSTest.cs:
--------------------------------------------------------------------------------
1 | using NUnit.Framework;
2 | using NetTopologySuite.CoordinateSystems;
3 |
4 | namespace NetTopologySuite.IO.Tests.GeoJSON
5 | {
6 | ///
7 | /// This is a test class for NamedCRSTest and is intended
8 | /// to contain all NamedCRSTest Unit Tests
9 | ///
10 | [TestFixture]
11 | public class NamedCRSTest
12 | {
13 | ///
14 | /// A test for NamedCRS Constructor
15 | ///
16 | [Test]
17 | public void NamedCRSConstructorTest()
18 | {
19 | const string name = "testName";
20 | NamedCRS target = new NamedCRS(name);
21 | Assert.AreEqual(name, target.Properties["name"]);
22 | Assert.AreEqual(CRSTypes.Name, target.Type);
23 | }
24 | }
25 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Tests/ShapeFile.Extended/TempFileWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 |
4 | namespace NetTopologySuite.IO.Tests.ShapeFile.Extended
5 | {
6 | public class TempFileWriter : IDisposable
7 | {
8 | public TempFileWriter(string fileName, byte[] data)
9 | {
10 | Path = System.IO.Path.GetFullPath(fileName);
11 | File.WriteAllBytes(Path, data);
12 | }
13 |
14 | public TempFileWriter(string fileName, string data)
15 | {
16 | Path = System.IO.Path.GetFullPath(fileName);
17 | File.WriteAllText(Path, data);
18 | }
19 |
20 | ~TempFileWriter()
21 | {
22 | InternalDispose();
23 | }
24 |
25 | public void Dispose()
26 | {
27 | InternalDispose();
28 | GC.SuppressFinalize(this);
29 | }
30 |
31 | private void InternalDispose()
32 | {
33 | try
34 | {
35 | File.Delete(Path);
36 | }
37 | catch { }
38 | }
39 |
40 | public string Path { get; private set; }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Tests/TopoJSON/TopoWriterData.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.IO.TopoJSON.Fixtures
2 | {
3 | internal static class TopoWriterData
4 | {
5 | internal const string SimplePoint = @"{""type"":""Topology"",""objects"":{""data"":{""type"":""Point"",""coordinates"":[23.4,56.7],""properties"":{""prop0"":""value0"",""prop1"":""value1""}}}}";
6 |
7 | internal const string SimpleLineString = @"{""type"":""Topology"",""objects"":{""data"":{""type"":""LineString"",""arcs"":[0],""properties"":{""prop0"":""value0"",""prop1"":""value1""}}},""arcs"":[[[10.1,10.0],[20.2,20.0],[30.3,30.0]]]}";
8 |
9 | internal const string SimplePolygon = @"{""type"":""Topology"",""objects"":{""data"":{""type"":""Polygon"",""arcs"":[[0]],""properties"":{""prop0"":""value0"",""prop1"":""value1""}}},""arcs"":[[[10.1,10.0],[20.2,20.0],[30.3,30.0],[10.1,10.0]]]}";
10 | internal const string PolygonWithHole = @"{""type"":""Topology"",""objects"":{""data"":{""type"":""Polygon"",""arcs"":[[0,1]],""properties"":{""prop0"":""value0"",""prop1"":""value1""}}},""arcs"":[[[10.1,10.0],[20.2,20.0],[30.3,30.0],[10.1,10.0]],[[15.0,15.0],[17.0,15.0],[15.0,17.0],[15.0,15.0]]]}";
11 | }
12 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.Tests/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/Builders/ITopoBuilder.cs:
--------------------------------------------------------------------------------
1 | using NetTopologySuite.IO.Geometries;
2 |
3 | namespace NetTopologySuite.IO.Builders
4 | {
5 | internal interface ITopoBuilder
6 | {
7 | TopoObject Build();
8 | }
9 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/Geometries/TopoCollection.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace NetTopologySuite.IO.Geometries
4 | {
5 | internal class TopoCollection : TopoObject
6 | {
7 | private readonly TopoObject[] _geometries;
8 |
9 | public TopoCollection(string type, TopoObject[] geometries)
10 | : base(type)
11 | {
12 | if (geometries == null)
13 | throw new ArgumentNullException("geometries");
14 | _geometries = geometries;
15 | }
16 |
17 | public TopoObject[] Geometries
18 | {
19 | get { return _geometries; }
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/Geometries/TopoCurve.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace NetTopologySuite.IO.Geometries
4 | {
5 | internal abstract class TopoCurve : TopoObject
6 | {
7 | private readonly int[][] _arcs;
8 |
9 | public TopoCurve(string type, int[][][] arcs)
10 | : base(type)
11 | {
12 | if (arcs == null)
13 | throw new ArgumentNullException("arcs");
14 | if (arcs.Length == 0)
15 | throw new ArgumentException("arcs empty");
16 | if (arcs.Length > 1)
17 | throw new ArgumentException("arcs too long");
18 | _arcs = arcs[0];
19 | }
20 |
21 | public int[][] Arcs
22 | {
23 | get { return _arcs; }
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/Geometries/TopoLineString.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace NetTopologySuite.IO.Geometries
4 | {
5 | internal class TopoLineString : TopoObject
6 | {
7 | private readonly int[] _arcs;
8 |
9 | public TopoLineString(string type, int[][][] arcs)
10 | : base(type)
11 | {
12 | if (arcs == null)
13 | throw new ArgumentNullException("arcs");
14 | if (arcs.Length == 0)
15 | throw new ArgumentException("arcs empty");
16 | if (arcs.Length > 1)
17 | throw new ArgumentException("arcs too long");
18 | int[][] arc = arcs[0];
19 | if (arc.Length == 0)
20 | throw new ArgumentException("arc empty");
21 | if (arc.Length > 1)
22 | throw new ArgumentException("arc too long");
23 | _arcs = arc[0];
24 | }
25 |
26 | public int[] Arcs
27 | {
28 | get { return _arcs; }
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/Geometries/TopoMultiLineString.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.IO.Geometries
2 | {
3 | internal class TopoMultiLineString: TopoCurve
4 | {
5 | public TopoMultiLineString(string type, int[][][] arcs)
6 | : base(type, arcs) { }
7 | }
8 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/Geometries/TopoMultiPoint.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace NetTopologySuite.IO.Geometries
4 | {
5 | internal class TopoMultiPoint : TopoObject
6 | {
7 | private readonly double[][] _coordinates;
8 |
9 | public TopoMultiPoint(string type, double[][] coordinates)
10 | : base(type)
11 | {
12 | if (coordinates == null)
13 | throw new ArgumentNullException("coordinates");
14 | _coordinates = coordinates;
15 | }
16 |
17 | public double[][] Coordinates
18 | {
19 | get { return _coordinates; }
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/Geometries/TopoMultiPolygon.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace NetTopologySuite.IO.Geometries
4 | {
5 | internal class TopoMultiPolygon : TopoObject
6 | {
7 | private readonly int[][][] _arcs;
8 |
9 | public TopoMultiPolygon(string type, int[][][] arcs)
10 | : base(type)
11 | {
12 | if (arcs == null)
13 | throw new ArgumentNullException("arcs");
14 | _arcs = arcs;
15 | }
16 |
17 | public int[][][] Arcs
18 | {
19 | get { return _arcs; }
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/Geometries/TopoObject.cs:
--------------------------------------------------------------------------------
1 | using NetTopologySuite.Features;
2 |
3 | namespace NetTopologySuite.IO.Geometries
4 | {
5 | public abstract class TopoObject
6 | {
7 | private readonly string _type;
8 |
9 | protected TopoObject(string type)
10 | {
11 | _type = type;
12 | }
13 |
14 | public string Type
15 | {
16 | get { return _type; }
17 | }
18 |
19 | public long Id { get; set; }
20 |
21 | public IAttributesTable Properties { get; set; }
22 |
23 | public override string ToString()
24 | {
25 | return string.Format("Type: {0}", Type);
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/Geometries/TopoPoint.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace NetTopologySuite.IO.Geometries
4 | {
5 | internal class TopoPoint : TopoObject
6 | {
7 | private readonly double[] _coordinates;
8 |
9 | public TopoPoint(string type, double[][] coordinates)
10 | : base(type)
11 | {
12 | if (coordinates == null)
13 | throw new ArgumentNullException("coordinates");
14 | if (coordinates.Length == 0)
15 | throw new ArgumentException("coordinates empty");
16 | if (coordinates.Length > 1)
17 | throw new ArgumentException("coordinates too long");
18 | _coordinates = coordinates[0];
19 | }
20 |
21 | public double[] Coordinates
22 | {
23 | get { return _coordinates; }
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/Geometries/TopoPolygon.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.IO.Geometries
2 | {
3 | internal class TopoPolygon : TopoCurve
4 | {
5 | public TopoPolygon(string type, int[][][] arcs)
6 | : base(type, arcs) { }
7 | }
8 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/Helpers/ITransform.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.IO.Helpers
2 | {
3 | public interface ITransform
4 | {
5 | bool Quantized { get; }
6 | double[] Scale { get; }
7 | double[] Translate { get; }
8 | }
9 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/Helpers/ITransformer.cs:
--------------------------------------------------------------------------------
1 | using NetTopologySuite.Features;
2 | using NetTopologySuite.IO.Geometries;
3 |
4 | namespace NetTopologySuite.IO.Helpers
5 | {
6 | public interface ITransformer
7 | {
8 | FeatureCollection Create(TopoObject data);
9 | }
10 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/TopoJsonWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Text;
4 | using GeoAPI.Geometries;
5 | using NetTopologySuite.Features;
6 | using NetTopologySuite.Geometries;
7 | using Newtonsoft.Json;
8 |
9 | namespace NetTopologySuite.IO
10 | {
11 | ///
12 | /// Represents a TopoJSON Writer, uesd to serialize TopoJSON elements.
13 | ///
14 | public class TopoJsonWriter
15 | {
16 | ///
17 | /// Writes the specified feature.
18 | ///
19 | /// The feature.
20 | ///
21 | public string Write(IFeature feature)
22 | {
23 | if (feature == null)
24 | throw new ArgumentNullException("feature");
25 |
26 | IGeometryFactory factory = GeometryFactory.Default;
27 | JsonSerializer g = new TopoJsonSerializer(factory);
28 | StringBuilder sb = new StringBuilder();
29 | using (StringWriter sw = new StringWriter(sb))
30 | g.Serialize(sw, feature);
31 | return sb.ToString();
32 | }
33 | }
34 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO.TopoJSON/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO/IO/Streams/IStreamProvider.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 |
3 | namespace NetTopologySuite.IO.Streams
4 | {
5 | ///
6 | /// Interface for stream provider
7 | ///
8 | public interface IStreamProvider
9 | {
10 | ///
11 | /// Gets a value indicating that the underlying stream is read-only
12 | ///
13 | bool UnderlyingStreamIsReadonly { get; }
14 |
15 | ///
16 | /// Function to open the underlying stream for reading purposes
17 | ///
18 | /// An opened stream
19 | Stream OpenRead();
20 |
21 | ///
22 | /// Function to open the underlying stream for writing purposes
23 | ///
24 | ///
25 | /// If is not true this method shall fail
26 | /// An opened stream
27 | Stream OpenWrite(bool truncate);
28 |
29 | ///
30 | /// Gets a value indicating the kind of stream
31 | ///
32 | string Kind { get; }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO/IO/Streams/IStreamProviderRegistry.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.IO.Streams
2 | {
3 | ///
4 | /// Interface for a registry of stream providers
5 | ///
6 | public interface IStreamProviderRegistry
7 | {
8 | ///
9 | /// Indexer for a stream provider
10 | ///
11 | /// The stream type
12 | /// A stream provider
13 | IStreamProvider this[string streamType] { get; }
14 | }
15 |
16 | ///
17 | /// An enumeration of stream types
18 | ///
19 | public static class StreamTypes
20 | {
21 | ///
22 | /// A shape stream
23 | ///
24 | public const string Shape = "SHAPESTREAM";
25 | ///
26 | /// A data stream (dbf)
27 | ///
28 | public const string Data = "DATASTREAM";
29 | ///
30 | /// An index stream
31 | ///
32 | public const string Index = "INDEXSTREAM";
33 | }
34 | }
--------------------------------------------------------------------------------
/NetTopologySuite.IO/NetTopologySuite.IO/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.Lab/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 |
4 | // General Information about an assembly is controlled through the following
5 | // set of attributes. Change these attribute values to modify the information
6 | // associated with an assembly.
7 | [assembly: AssemblyTitle("NetTopologySuite.Lab")]
8 | [assembly: AssemblyDescription("")]
9 | [assembly: AssemblyConfiguration("")]
10 | [assembly: AssemblyCompany("NetTopologySuite - Team")]
11 | [assembly: AssemblyProduct("NetTopologySuite.Lab")]
12 | [assembly: AssemblyCopyright("Copyright © NetTopologySuite - Team 2015")]
13 | [assembly: AssemblyTrademark("")]
14 | [assembly: AssemblyCulture("")]
15 |
16 | // Setting ComVisible to false makes the types in this assembly not visible
17 | // to COM components. If you need to access a type in this assembly from
18 | // COM, set the ComVisible attribute to true on that type.
19 | [assembly: ComVisible(false)]
20 |
21 | // The following GUID is for the ID of the typelib if this project is exposed to COM
22 | [assembly: Guid("d446fba3-b6ea-4feb-9615-d5fd5aeb3d23")]
23 |
24 |
--------------------------------------------------------------------------------
/NetTopologySuite.Lab/nts.snk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Lab/nts.snk
--------------------------------------------------------------------------------
/NetTopologySuite.Lab/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Geometries/basicexample.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using GeoAPI.Geometries;
3 | using NetTopologySuite.Geometries;
4 | using NetTopologySuite.IO;
5 |
6 | namespace NetTopologySuite.Samples.Geometries
7 | {
8 | ///
9 | /// Shows basic ways of creating and operating on geometries
10 | ///
11 | public class BasicExample
12 | {
13 | [STAThread]
14 | public static void main(string[] args)
15 | {
16 | // read a point from a WKT string (using the default point factory)
17 | IGeometry g1 = new WKTReader().Read("LINESTRING (0 0, 10 10, 20 20)");
18 | Console.WriteLine("Geometry 1: " + g1);
19 |
20 | // create a point by specifying the coordinates directly
21 | var coordinates = new [] { new Coordinate(0, 0),
22 | new Coordinate(10, 10), new Coordinate(20, 20) };
23 | // use the default factory, which gives full double-precision
24 | IGeometry g2 = new GeometryFactory().CreateLineString(coordinates);
25 | Console.WriteLine("Geometry 2: " + g2);
26 |
27 | // compute the intersection of the two geometries
28 | IGeometry g3 = g1.Intersection(g2);
29 | Console.WriteLine("G1 intersection G2: " + g3);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Lab/Functions/RemoverFunctions.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 | using NetTopologySuite.Samples.Lab.Clean;
3 |
4 | namespace Open.Topology.TestRunner.Functions
5 | {
6 | // NOTE: should be moved to 'NetTopologySuite.TestRunner' project, 'Functions' folder...
7 | public static class RemoverFunctions
8 | {
9 | public static IGeometry RemoveSmallHoles(IGeometry geom, double areaTolerance)
10 | {
11 | return SmallHoleRemover.Clean(geom, areaTolerance);
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using NetTopologySuite.Samples.SimpleTests.ShapeTests;
3 | using NUnit.Framework;
4 |
5 | namespace NetTopologySuite.Samples.SimpleTests
6 | {
7 | [TestFixture]
8 | public class Program
9 | {
10 | [STAThread]
11 | public static void Main(string[] args)
12 | {
13 | new Program().Start();
14 | }
15 |
16 | private static BaseSamples _sample;
17 |
18 | public void Start()
19 | {
20 | SamplesTest(true);
21 | }
22 |
23 | [Test]
24 | public void SamplesTest()
25 | {
26 | SamplesTest(false);
27 | }
28 |
29 | public void SamplesTest(bool readLine)
30 | {
31 | try
32 | {
33 | _sample = new GMLTesting();
34 | _sample.Start();
35 | Console.WriteLine();
36 | }
37 | finally
38 | {
39 | if (readLine) Console.ReadLine();
40 | }
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Console/Properties/AssemblyInfo.cs
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/ReadMe.txt:
--------------------------------------------------------------------------------
1 | We have two group of tests:
2 |
3 | Some simple tests are used by me (Diego Guidi) for C# porting and are started by root/program.cs Main entry point.
4 | Other tests are in *Example.cs classes and are created for JTS team.
5 | Search for methods named "main" in those classes and rename as Main the tests to start.
6 |
7 | If the console samples don't start, assure that in the project properties, Debug tab,
8 | Start Program is activated!
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/SimpleTests/BaseSamples.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using GeoAPI.Geometries;
3 | using NetTopologySuite.Geometries;
4 | using NetTopologySuite.IO;
5 |
6 | namespace NetTopologySuite.Samples.SimpleTests
7 | {
8 | public class BaseSamples
9 | {
10 | protected IGeometryFactory Factory { get; private set; }
11 |
12 | protected WKTReader Reader { get; private set; }
13 |
14 | protected BaseSamples() : this(new GeometryFactory(), new WKTReader()) { }
15 |
16 | protected BaseSamples(IGeometryFactory factory) : this(factory, new WKTReader(factory)) { }
17 |
18 | protected BaseSamples(IGeometryFactory factory, WKTReader reader)
19 | {
20 | Factory = factory;
21 | Reader = reader;
22 | }
23 |
24 | protected void Write(object o)
25 | {
26 | Console.WriteLine(o.ToString());
27 | }
28 |
29 | protected void Write(string s)
30 | {
31 | Console.WriteLine(s);
32 | }
33 |
34 | public virtual void Start() { }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/Github/Issue58Fixture.cs:
--------------------------------------------------------------------------------
1 | using NetTopologySuite.Features;
2 | using NetTopologySuite.IO;
3 | using NUnit.Framework;
4 |
5 | namespace NetTopologySuite.Samples.Tests.Github
6 | {
7 | [TestFixture]
8 | public class Issue58Fixture
9 | {
10 | [Test]
11 | public void geojson_should_serialize_nested_objects()
12 | {
13 | const string json = @"
14 | {
15 | ""type"": ""FeatureCollection"",
16 | ""features"": [
17 | {
18 | ""type"": ""Feature"",
19 | ""geometry"": {
20 | ""type"": ""Point"",
21 | ""coordinates"": [
22 | 1.0,
23 | 2.0
24 | ]
25 | },
26 | ""properties"": {
27 | ""foo"": {
28 | ""bar"": ""xyz""
29 | }
30 | }
31 | }
32 | ]
33 | }
34 | ";
35 | GeoJsonReader reader = new GeoJsonReader();
36 | FeatureCollection coll = reader.Read(json);
37 | Assert.IsNotNull(coll);
38 |
39 | GeoJsonWriter writer = new GeoJsonWriter();
40 | string s = writer.Write(coll);
41 | Assert.IsNotNull(s);
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/IO/ShapeFileReadTest.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Console/Tests/IO/ShapeFileReadTest.cs
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/Readme.txt:
--------------------------------------------------------------------------------
1 | Run this tests with TestDriven.NET plugin for VS2005!
2 | Simply install the plugin @ http://www.testdriven.net/,
3 | then click with the mouse right-button and ... launch test!
4 | Could be more easier than this? :)
5 | [=> yes, you can assign it a keyboard shortcut :-P]
6 |
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/Various/GeometriesFixture.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 | using NUnit.Framework;
3 | using NetTopologySuite.Geometries;
4 | using NetTopologySuite.Geometries.Implementation;
5 |
6 | namespace NetTopologySuite.Samples.Tests.Various
7 | {
8 | [TestFixture]
9 | public class GeometriesFixture
10 | {
11 | [Test]
12 | public void get_interior_point_of_empty_point()
13 | {
14 | ICoordinateSequence sequence = CoordinateArraySequenceFactory.Instance.Create(0, Ordinates.XY);
15 | IGeometryFactory factory = GeometryFactory.Default;
16 | IGeometry empty = factory.CreatePoint(sequence);
17 | Assert.That(empty, Is.Not.Null);
18 | Assert.That(empty.IsValid, Is.True);
19 | Assert.That(empty.IsEmpty, Is.True);
20 |
21 | IPoint interior = empty.InteriorPoint;
22 | Assert.That(interior, Is.Not.Null);
23 | Assert.That(interior.IsValid, Is.True);
24 | Assert.That(interior.IsEmpty, Is.True);
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/Various/Issue117Tests.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using GeoAPI.Geometries;
3 | using NUnit.Framework;
4 | using NetTopologySuite.IO;
5 | using NetTopologySuite.IO.GML2;
6 |
7 | namespace NetTopologySuite.Tests.Various
8 | {
9 | public class Issue117Tests
10 | {
11 | [Test, Category("Issue117")]
12 | public void Issue117()
13 | {
14 | var geometryNts = new WKTReader().Read("POLYGON((0 0,100 0,100 100, 0 100, 0 0 )))");
15 |
16 | //the features must be missing. What should I do there to add the features.Thanks
17 | var ntsGeometry = GetGeometryUsingNTS(geometryNts);
18 | using (var sw = new StreamWriter(File.Create("polygon.gml")))
19 | {
20 | sw.Write(ntsGeometry);
21 | sw.Close();
22 | }
23 | }
24 |
25 | private static string GetGeometryUsingNTS(IGeometry geometry)
26 | {
27 | var gmlWriter = new GMLWriter();
28 | var ms = new MemoryStream();
29 |
30 | gmlWriter.Write(geometry, ms);
31 | return System.Text.Encoding.Default.GetString(ms.ToArray());
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/Various/Issue131Test.cs:
--------------------------------------------------------------------------------
1 | using NUnit.Framework;
2 |
3 | namespace NetTopologySuite.Tests.Various
4 | {
5 | [TestFixture]
6 | public class Issue131Test
7 | {
8 | [Test, Category("Issue131")]
9 | public void TestNaNComparison()
10 | {
11 | const double d1 = double.NaN, d2 = double.NaN, d3 = 1;
12 | Assert.False(d1 == d2);
13 | Assert.False(d1 < d2);
14 | Assert.False(d1 > d2);
15 | Assert.False(d1 == d3);
16 | Assert.False(d1 < d3);
17 | Assert.False(d1 > d3);
18 | Assert.True(d1.CompareTo(d2) == 0);
19 | Assert.True(d1.CompareTo(d3) == -1);
20 | Assert.True(d3.CompareTo(d1) == 1);
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/Various/Issue179Fixture.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using GeoAPI.Geometries;
3 | using NUnit.Framework;
4 |
5 | namespace NetTopologySuite.Tests.Various
6 | {
7 | [TestFixture]
8 | public class Issue179Fixture
9 | {
10 | [Test]
11 | public void clone_of_null_envelope_should_return_null_envelope()
12 | {
13 | IEnvelope envelope = new Envelope();
14 | Assert.That(envelope.IsNull, Is.True);
15 |
16 | IEnvelope clone = (IEnvelope) envelope.Clone();
17 | Assert.That(clone, Is.Not.Null);
18 | Assert.That(clone.IsNull, Is.True);
19 | Assert.That(clone, Is.EqualTo(clone));
20 | Assert.That(Object.ReferenceEquals(envelope, clone), Is.False);
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/Various/Issue68Tests.cs:
--------------------------------------------------------------------------------
1 | using NetTopologySuite.Geometries;
2 | using NUnit.Framework;
3 |
4 | namespace NetTopologySuite.Tests.Various
5 | {
6 | [TestFixture]
7 | public class Issue68Tests
8 | {
9 | [Test, Category("Issue68")]
10 | public void EqualsNullThrowsBugFix()
11 | {
12 | var polygon = new Polygon(null);
13 | var result = polygon.Equals(null);
14 | Assert.IsNotNull(result);
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/Various/Issue75Tests.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 | using NUnit.Framework;
3 |
4 | namespace NetTopologySuite.Tests.Various
5 | {
6 | using Geometries;
7 |
8 | [TestFixture]
9 | internal class Issue75Tests
10 | {
11 | [Test, Category("Issue75")]
12 | public void EqualsThrowsInvalidCastExceptionBugFix()
13 | {
14 | Point point = new Point(1.0, 1.0);
15 | Coordinate coordinate = new Coordinate(-1.0, -1.0);
16 | bool condition = point.Equals(coordinate);
17 | Assert.IsFalse(condition);
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/Various/MiscUtil/readme.txt:
--------------------------------------------------------------------------------
1 | Jon Skeet's Miscellaneous Utility Library
2 | -----------------------------------------
3 |
4 | You can always find the most recent version of this library at
5 | http://www.pobox.com/~skeet/csharp/miscutil
6 |
7 | Documentation and history is also available at the above website.
8 |
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/Various/cant-read-file1.gml:
--------------------------------------------------------------------------------
1 |
2 | 679705.816209284 6164707.56747492680498.092702914 6164781.225833741679705.816209284 6164781.22583374 679804.626202821 6164781.22583374 679818.998565517 6164781.22583374 679977.094555176 6164765.05692571 680124.411272812 6164757.87074436 680187.290359608 6164754.27765369 680251.965991741 6164747.09147234 680366.944893311 6164734.51565498 680498.092702914 6164707.56747492
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/Various/cant-read-file2.gml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 680219.628175674 6164750.68456301680219.628175674 6164750.684563011680219.628175674 6164750.68456301
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/Tests/Various/read-ok-file.gml:
--------------------------------------------------------------------------------
1 |
2 | 679705.816209284,6164707.56747492 680498.092702914,6164781.225833741679705.816209284,6164781.22583374 679804.626202821,6164781.22583374 679818.998565517,6164781.22583374 679977.094555176,6164765.05692571 680124.411272812,6164757.87074436 680187.290359608,6164754.27765369 680251.965991741,6164747.09147234 680366.944893311,6164734.51565498 680498.092702914,6164707.56747492
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Console/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/AllNulls.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/AllNulls.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/AllNulls.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/AllNulls.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/AllNulls.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/AllNulls.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/BJmultipolygon.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/BJmultipolygon.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/BJmultipolygon.sbn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/BJmultipolygon.sbn
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/BJmultipolygon.sbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/BJmultipolygon.sbx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/BJmultipolygon.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/BJmultipolygon.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/CA_Cable_region.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/CA_Cable_region.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/CA_Cable_region.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/CA_Cable_region.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/CA_Cable_region.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/DEPARTEMENT.DBF:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/DEPARTEMENT.DBF
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/DEPARTEMENT.LYR:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/DEPARTEMENT.LYR
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/DEPARTEMENT.PRJ:
--------------------------------------------------------------------------------
1 | PROJCS["RGF93_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",44.0],PARAMETER["Standard_Parallel_2",49.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/DEPARTEMENT.SHP:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/DEPARTEMENT.SHP
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/DEPARTEMENT.SHX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/DEPARTEMENT.SHX
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/EmptyShapeFile.dbf:
--------------------------------------------------------------------------------
1 | _ A id N
2 |
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/EmptyShapeFile.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/EmptyShapeFile.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/Issue167.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/Issue167.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/Sept_polygones.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/Sept_polygones.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/Sept_polygones.sbn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/Sept_polygones.sbn
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/Sept_polygones.sbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/Sept_polygones.sbx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/Sept_polygones.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/Sept_polygones.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/Strade.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/Strade.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/Strade.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/Strade.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/Strade.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/Strade.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/US_DMA_region.dbf:
--------------------------------------------------------------------------------
1 | k a a NAME C @ KEYINFO C
San Francisco-Oakland-San Jose, CA 807
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/US_DMA_region.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/US_DMA_region.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/US_DMA_region.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/US_DMA_region.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/US_DMA_region.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/UnifiedChecksMaterial.dbf:
--------------------------------------------------------------------------------
1 | _ A Q ShapeName C P
Rectangle Triangle
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/UnifiedChecksMaterial.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/UnifiedChecksMaterial.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/UnifiedChecksMaterialNullAtEnd.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/UnifiedChecksMaterialNullAtEnd.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/UnifiedChecksMaterialNullAtStart.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/UnifiedChecksMaterialNullAtStart.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/UnifiedChecksMaterialNullInMiddle.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/UnifiedChecksMaterialNullInMiddle.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/Zone_ISTAT.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/Zone_ISTAT.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/Zone_ISTAT.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/Zone_ISTAT.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/Zone_ISTAT.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/Zone_ISTAT.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/a.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/a.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/a.prj:
--------------------------------------------------------------------------------
1 | PROJCS["WGS_1984_UTM_Zone_49N",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",111.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/a.sbn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/a.sbn
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/a.sbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/a.sbx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/a.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/a.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/a.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/a.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/afvalbakken.prj:
--------------------------------------------------------------------------------
1 | PROJCS["Rijksdriehoekstelsel_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]]
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/afvalbakken.sbn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/afvalbakken.sbn
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/afvalbakken.sbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/afvalbakken.sbx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/afvalbakken.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/afvalbakken.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/afvalbakken.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/afvalbakken.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/arc.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/arc.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/arc.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/arc.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/arc.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/arc.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/b.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/b.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/b.prj:
--------------------------------------------------------------------------------
1 | PROJCS["WGS_1984_UTM_Zone_49N",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",111.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/b.sbn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/b.sbn
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/b.sbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/b.sbx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/b.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/b.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/b.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/b.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/blob/blob:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/blob/blob
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/blob/wkb_blob.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/blob/wkb_blob.jpg
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/blob/wkt.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/blob/wkt.JPG
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/christchurch-canterbury-h.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/christchurch-canterbury-h.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/christchurch-canterbury-h.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/christchurch-canterbury-h.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/christchurch-canterbury-h.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/christchurch-canterbury-h.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/crustal_test.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/crustal_test.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/crustal_test.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/crustal_test.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/crustal_test3d.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/crustal_test3d.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/crustal_test3d.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/crustal_test3d.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/crustal_test_bugged.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/crustal_test_bugged.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/crustal_test_bugged.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/crustal_test_bugged.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/crustal_test_bugged.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/crustal_test_bugged.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/date.dbf:
--------------------------------------------------------------------------------
1 | j a W ID N THEDATE D
020060310
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/date.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/date.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/date.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/date.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/error_union.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/error_union.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/error_union.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/error_union.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/error_union.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/error_union.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/graph:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/graph
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/invalid_line_string.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/invalid_line_string.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/line_ed50_geo.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/line_ed50_geo.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/line_ed50_geo.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/line_ed50_geo.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/line_ed50_utm36.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/line_ed50_utm36.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/line_ed50_utm36.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/line_ed50_utm36.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/line_wgs84_geo.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/line_wgs84_geo.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/line_wgs84_geo.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/line_wgs84_geo.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/line_wgs84_utm36.dbf:
--------------------------------------------------------------------------------
1 | _ A id N
2 |
********** **********
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/line_wgs84_utm36.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/line_wgs84_utm36.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/line_wgs84_utm36.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/line_wgs84_utm36.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/null_value_dbf.dbf:
--------------------------------------------------------------------------------
1 | _ A id N
2 |
**********
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/null_value_dbf.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/null_value_dbf.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/point_ed50_geo.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/point_ed50_geo.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/point_ed50_geo.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/point_ed50_geo.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/point_ed50_utm36.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/point_ed50_utm36.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/point_ed50_utm36.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/point_ed50_utm36.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/point_wgs84_geo.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/point_wgs84_geo.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/point_wgs84_geo.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/point_wgs84_geo.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/point_wgs84_utm36.dbf:
--------------------------------------------------------------------------------
1 | _ A id N
2 |
********** ********** **********
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/point_wgs84_utm36.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/point_wgs84_utm36.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/point_wgs84_utm36.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/point_wgs84_utm36.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/polygon intersecting line.dbf:
--------------------------------------------------------------------------------
1 | _ A id N
2 |
********** **********
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/polygon intersecting line.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/polygon intersecting line.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/polygon_ed50_geo.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/polygon_ed50_geo.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/polygon_ed50_geo.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/polygon_ed50_geo.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/polygon_ed50_utm36.dbf:
--------------------------------------------------------------------------------
1 | _ A id N
2 |
********** **********
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/polygon_ed50_utm36.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/polygon_ed50_utm36.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/polygon_ed50_utm36.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/polygon_ed50_utm36.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/polygon_wgs84_geo.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/polygon_wgs84_geo.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/polygon_wgs84_geo.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/polygon_wgs84_geo.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/polygon_wgs84_utm36.dbf:
--------------------------------------------------------------------------------
1 | _ A id N
2 |
********** **********
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/polygon_wgs84_utm36.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/polygon_wgs84_utm36.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/polygon_wgs84_utm36.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/polygon_wgs84_utm36.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/shape_PointZM.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/shape_PointZM.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/shape_pointM.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/shape_pointM.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/shape_pointZM_MissingM values.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/shape_pointZM_MissingM values.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/temp.gml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -1.79769313486232e+308
4 | -1.79769313486232e+308
5 |
6 |
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/test_arcview.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/test_arcview.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/test_arcview.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/test_arcview.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/test_arcview.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/test_arcview.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/test_buffer.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/test_buffer.dbf
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/test_buffer.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/test_buffer.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/test_buffer.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/test_buffer.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/tnp_arc.dbf:
--------------------------------------------------------------------------------
1 | h
2 | a = DGC_CODICE N
3 | DGC_DESCRI C 2
1 2 3 4
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/tnp_arc.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/tnp_arc.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/tnp_arc.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/tnp_arc.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/tnp_multipoint.dbf:
--------------------------------------------------------------------------------
1 | i A OBJECTID N
1 2
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/tnp_multipoint.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/tnp_multipoint.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/tnp_multipoint.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/tnp_multipoint.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/tnp_pol.dbf:
--------------------------------------------------------------------------------
1 | h
2 | a = DGC_CODICE N
3 | DGC_DESCRI C 2
0 0 0 0 0
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/tnp_pol.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/tnp_pol.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/tnp_pol.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/tnp_pol.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/tnp_pts.dbf:
--------------------------------------------------------------------------------
1 | h
2 | a = DGC_CODICE N
3 | DGC_DESCRI C 2
1 2 3
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/tnp_pts.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/tnp_pts.shp
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/tnp_pts.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/tnp_pts.shx
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/with_M.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]
--------------------------------------------------------------------------------
/NetTopologySuite.Samples.Shapefiles/with_M.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Samples.Shapefiles/with_M.shp
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Console/App.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.TestRunner.Console/App.ico
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Console/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ..\..\..\NetTopologySuite.TestRunner.Tests\general
6 | ..\..\..\NetTopologySuite.TestRunner.Tests\validate
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/Other.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ..\..\..\NetTopologySuite.TestRunner.Tests\robust
6 | ..\..\..\NetTopologySuite.TestRunner.Tests\failure
7 | ..\..\..\NetTopologySuite.TestRunner.Tests\external
8 | ..\..\..\NetTopologySuite.TestRunner.Tests\stmlf
9 |
10 |
11 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/external/TestValid.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Robustness issue when validating polygon with nearly parallel edges separated by small distance
6 | (self-intersection).
7 | Fixed by extended-precision determinant.
8 | http://trac.osgeo.org/geos/ticket/588
9 |
10 |
11 | POLYGON ((
12 | -86.3958130146539250 114.3482370100377900,
13 | 55.7321237336437390 -44.8146215164960250,
14 | 87.9271046586986810 -10.5302909001479530,
15 | 87.9271046586986810 -10.5302909001479570,
16 | 138.3490775437400700 43.1639042523018260,
17 | 64.7285128575111490 156.9678884302379600,
18 | -86.3958130146539250 114.3482370100377900))
19 |
20 |
21 |
22 | true
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/failure/TestBufferInsideNonEmpty.xml:
--------------------------------------------------------------------------------
1 |
2 | Test case from Anders Johansson - JTS list - Nov 29 2011
3 | Inside buffer of a simple rectangular geometry fails - should be empty, but is non-empty.
4 |
5 |
6 | com.vividsolutions.jtstest.testrunner.BufferResultMatcher
7 |
8 |
9 | Buffer
10 |
11 | POLYGON ((0.28 0.38, 0.41 0.21, 0.13 0, 0 0.16, 0.28 0.38))
12 |
13 |
14 |
15 |
16 | POLYGON EMPTY
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/general/TestConvexHull-big.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Big convex hull
6 |
7 | MULTIPOINT((-1000000000000000000000000 -1000000000000000000000000), (1000000000000000000000000 -1000000000000000000000000), (1000000000000000000000000 1000000000000000000000000), (-1000000000000000000000000 1000000000000000000000000), (0 0))
8 |
9 |
10 |
11 | POLYGON(
12 | (-1000000000000000000000000 -1000000000000000000000000, -1000000000000000000000000 1000000000000000000000000, 1000000000000000000000000 1000000000000000000000000, 1000000000000000000000000 -1000000000000000000000000, -1000000000000000000000000 -1000000000000000000000000))
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/general/TestFunctionLLPrec.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | LL - narrow V
6 |
7 | LINESTRING(0 10, 620 10, 0 11)
8 |
9 |
10 | LINESTRING(400 60, 400 10)
11 |
12 |
13 |
14 | POINT(400 10)
15 |
16 |
17 |
18 |
19 | MULTILINESTRING(
20 | (0 10, 400 10),
21 | (400 10, 620 10, 400 10),
22 | (400 10, 0 11),
23 | (400 60, 400 10))
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/general/TestFunctionPLPrec.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PP - Point just off line. Causes non-robust algorithms to fail.
6 |
7 | LINESTRING(-123456789 -40, 381039468754763 123456789)
8 |
9 |
10 | POINT(0 0)
11 |
12 |
13 |
14 | false
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/general/TestPreparedPointPredicate.xml:
--------------------------------------------------------------------------------
1 |
2 | Test cases for PreparedPoint predicates
3 |
4 | com.vividsolutions.jtstest.geomop.PreparedGeometryOperation
5 |
6 |
7 | P/A - point in interior of poly
8 | POINT (100 100)
9 |
10 | POLYGON ((50 130, 150 130, 100 50, 50 130))
11 |
12 | true
13 |
14 |
15 |
16 | P/A - point on boundary of poly
17 | POINT (100 50)
18 |
19 | POLYGON ((50 130, 150 130, 100 50, 50 130))
20 |
21 | true
22 |
23 |
24 |
25 | P/A - point outside poly
26 | POINT (200 200)
27 |
28 | POLYGON ((50 130, 150 130, 100 50, 50 130))
29 |
30 | false
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/general/TestRelateAC.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AC A-shells overlapping B-shell at A-vertex
6 |
7 | POLYGON(
8 | (100 60, 140 100, 100 140, 60 100, 100 60))
9 |
10 |
11 | MULTIPOLYGON(
12 | (
13 | (80 40, 120 40, 120 80, 80 80, 80 40)),
14 | (
15 | (120 80, 160 80, 160 120, 120 120, 120 80)),
16 | (
17 | (80 120, 120 120, 120 160, 80 160, 80 120)),
18 | (
19 | (40 80, 80 80, 80 120, 40 120, 40 80)))
20 |
21 |
22 | true
23 |
24 | true
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/general/TestRelateLC.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | LC - topographically equal with no boundary
6 |
7 | LINESTRING(0 0, 0 50, 50 50, 50 0, 0 0)
8 |
9 |
10 | MULTILINESTRING(
11 | (0 0, 0 50),
12 | (0 50, 50 50),
13 | (50 50, 50 0),
14 | (50 0, 0 0))
15 |
16 |
17 |
18 | true
19 |
20 |
21 |
22 |
23 |
24 | LC - equal with boundary intersection
25 |
26 | LINESTRING(0 0, 60 0, 60 60, 60 0, 120 0)
27 |
28 |
29 | MULTILINESTRING(
30 | (0 0, 60 0),
31 | (60 0, 120 0),
32 | (60 0, 60 60))
33 |
34 |
35 |
36 | true
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/general/TestUnaryUnionFloating.xml:
--------------------------------------------------------------------------------
1 |
2 | Tests for Geometry.union() method (unary union) with floating precision
3 |
4 |
5 | mP - showing that non-polygonal components are discarded correctly
6 |
7 | GEOMETRYCOLLECTION (
8 | POLYGON ((-3 -2, 700 900, -6 900, -3 -2)),
9 | POLYGON((700 900, -1.6859349853697 899.55, 0.3 -0.4, 700 900)),
10 | POLYGON ((700 860, 700 899.5, -1.68593498537 899.55, 700 860))
11 | )
12 |
13 |
14 |
15 | POLYGON ((0.2942036115049298 2.226702215615205, -3 -2, -6 900, 700 900, 699.6114719806972 899.5000276853219, 700 899.5, 700 860, 670.2204017222961 861.6785046602191, 0.3 -0.4, 0.2942036115049298 2.226702215615205))
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/general/TestValid2-big.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Test 92
5 |
6 | POLYGON ((100 100, 1000000000000000 110, 1000000000000000 100, 100 100))
7 |
8 | true
9 |
10 |
11 | Test 558
12 |
13 | MULTIPOINT ((-1000000000000000000000000 -1000000000000000000000000), (1000000000000000000000000 -1000000000000000000000000), (1000000000000000000000000 1000000000000000000000000), (-1000000000000000000000000 1000000000000000000000000), (0 0))
14 |
15 | true
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/robust/TestRobustOverlayFixed.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AA
6 |
7 | POLYGON ((545 317, 617 379, 581 321, 545 317))
8 |
9 |
10 | POLYGON ((484 290, 558 359, 543 309, 484 290))
11 |
12 |
13 |
14 | POINT (545 317)
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/robust/TestRobustRelate.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PP - Point is not on line. Non-robust algorithms fail by erroneously reporting intersects=true.
6 |
7 | LINESTRING(-123456789 -40, 381039468754763 123456789)
8 |
9 |
10 | POINT(0 0)
11 |
12 |
13 |
14 | false
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/validate/TestRelateAA-big.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | A/A-6-18: a polygon overlapping a very skinny polygon [dim(2){A.A.Int = B.A.Int}, dim(1){A.A.Bdy.V-EP = B.A.Bdy.NV-EP}, dim(0){A.A.Bdy.CP = B.A.Bdy.CP}, dim(0){A.A.Bdy.NV = B.A.Bdy.NV}]
6 |
7 | POLYGON(
8 | (100 100, 100 200, 200 200, 200 100, 100 100))
9 |
10 |
11 | POLYGON(
12 | (100 100, 1000000000000000 110, 1000000000000000 100, 100 100))
13 |
14 |
15 | true
16 |
17 |
18 |
19 |
20 | A/A-6-24: a polygon overlapping a very skinny polygon [dim(2){A.A.Int = B.A.Int}, dim(1){A.A.Bdy.V-EP = B.A.Bdy.NV-NV}, dim(0){A.A.Bdy.NV = B.A.Bdy.NV}]
21 |
22 | POLYGON(
23 | (120 100, 120 200, 200 200, 200 100, 120 100))
24 |
25 |
26 | POLYGON(
27 | (100 100, 1000000000000000 110, 1000000000000000 100, 100 100))
28 |
29 |
30 | true
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/vivid/TestConvexHull-big.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Big convex hull
6 |
7 | MULTIPOINT(-1000000000000000000000000 -1000000000000000000000000, 1000000000000000000000000 -1000000000000000000000000, 1000000000000000000000000 1000000000000000000000000, -1000000000000000000000000 1000000000000000000000000, 0 0)
8 |
9 |
10 |
11 | POLYGON(
12 | (-1000000000000000000000000 -1000000000000000000000000, -1000000000000000000000000 1000000000000000000000000, 1000000000000000000000000 1000000000000000000000000, 1000000000000000000000000 -1000000000000000000000000, -1000000000000000000000000 -1000000000000000000000000))
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/vivid/TestFunctionLLPrec.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | LL - narrow V
6 |
7 | LINESTRING(0 10, 620 10, 0 11)
8 |
9 |
10 | LINESTRING(400 60, 400 10)
11 |
12 |
13 |
14 | POINT(400 10)
15 |
16 |
17 |
18 |
19 | MULTILINESTRING(
20 | (0 10, 400 10),
21 | (400 10, 620 10, 400 10),
22 | (400 10, 0 11),
23 | (400 60, 400 10))
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/vivid/TestFunctionPLPrec.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PP - Point just off line. Causes non-robust algorithms to fail.
6 |
7 | LINESTRING(-123456789 -40, 381039468754763 123456789)
8 |
9 |
10 | POINT(0 0)
11 |
12 |
13 |
14 | false
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/vivid/TestRelateAC.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AC A-shells overlapping B-shell at A-vertex
6 |
7 | POLYGON(
8 | (100 60, 140 100, 100 140, 60 100, 100 60))
9 |
10 |
11 | MULTIPOLYGON(
12 | (
13 | (80 40, 120 40, 120 80, 80 80, 80 40)),
14 | (
15 | (120 80, 160 80, 160 120, 120 120, 120 80)),
16 | (
17 | (80 120, 120 120, 120 160, 80 160, 80 120)),
18 | (
19 | (40 80, 80 80, 80 120, 40 120, 40 80)))
20 |
21 |
22 |
23 | true
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner.Tests/vivid/TestValid2-big.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Test 92
5 |
6 | POLYGON ((100 100, 1000000000000000 110, 1000000000000000 100, 100 100))
7 |
8 | true
9 |
10 |
11 | Test 558
12 |
13 | MULTIPOINT (-1000000000000000000000000 -1000000000000000000000000, 1000000000000000000000000 -1000000000000000000000000, 1000000000000000000000000 1000000000000000000000000, -1000000000000000000000000 1000000000000000000000000, 0 0)
14 |
15 | true
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner/Functions/BoundaryFunctions.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 | using NetTopologySuite.Algorithm;
3 | using NetTopologySuite.Operation;
4 |
5 | namespace Open.Topology.TestRunner.Functions
6 | {
7 | public class BoundaryFunctions
8 | {
9 | public static IGeometry boundary(IGeometry g) { return g.Boundary; }
10 |
11 | public static IGeometry boundaryMod2(IGeometry g)
12 | {
13 | return BoundaryOp.GetBoundary(g, BoundaryNodeRules.Mod2BoundaryRule);
14 | }
15 | public static IGeometry boundaryEndpoint(IGeometry g)
16 | {
17 | return BoundaryOp.GetBoundary(g, BoundaryNodeRules.EndpointBoundaryRule);
18 | }
19 | public static IGeometry boundaryMonoValentEnd(IGeometry g)
20 | {
21 | return BoundaryOp.GetBoundary(g, BoundaryNodeRules.MonoValentEndpointBoundaryRule);
22 | }
23 | public static IGeometry boundaryMultiValentEnd(IGeometry g)
24 | {
25 | return BoundaryOp.GetBoundary(g, BoundaryNodeRules.MultivalentEndpointBoundaryRule);
26 | }
27 |
28 | }
29 | }
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner/Functions/DissolveFunctions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using GeoAPI.Geometries;
3 | using NetTopologySuite.Dissolve;
4 |
5 | namespace Open.Topology.TestRunner.Functions
6 | {
7 | public static class DissolveFunctions
8 | {
9 | public static IGeometry Dissolve(IGeometry geom)
10 | {
11 | return LineDissolver.Dissolve(geom);
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner/Functions/PrecisionFunctions.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 | using NetTopologySuite.Geometries;
3 | using NetTopologySuite.Precision;
4 |
5 | namespace Open.Topology.TestRunner.Functions
6 | {
7 | public static class PrecisionFunctions
8 | {
9 | /*
10 | public static IGeometry OLDReducePrecisionPointwise(IGeometry geom, double scaleFactor)
11 | {
12 | PrecisionModel pm = new PrecisionModel(scaleFactor);
13 | IGeometry reducedGeom = SimpleGeometryPrecisionReducer.Reduce(geom, pm);
14 | return reducedGeom;
15 | }
16 | */
17 |
18 | public static IGeometry ReducePrecisionPointwise(IGeometry geom, double scaleFactor)
19 | {
20 | PrecisionModel pm = new PrecisionModel(scaleFactor);
21 | IGeometry reducedGeom = GeometryPrecisionReducer.Reduce(geom, pm);
22 | return reducedGeom;
23 | }
24 | }
25 | }
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner/Functions/SimplificationFunctions.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 | using NetTopologySuite.Simplify;
3 |
4 | namespace Open.Topology.TestRunner.Functions
5 | {
6 | public static class SimplificationFunctions
7 | {
8 | public static IGeometry SimplifyDp(IGeometry g, double distance)
9 | {
10 | return DouglasPeuckerSimplifier.Simplify(g, distance);
11 | }
12 |
13 | public static IGeometry SimplifyTp(IGeometry g, double distance)
14 | {
15 | return TopologyPreservingSimplifier.Simplify(g, distance);
16 | }
17 |
18 | public static IGeometry SimplifyVW(IGeometry g, double distance)
19 | {
20 | return VWSimplifier.Simplify(g, distance);
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner/Operations/IGeometryMatcher.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 |
3 | namespace Open.Topology.TestRunner.Operations
4 | {
5 | ///
6 | /// An interface for classes which can determine whether
7 | /// two geometries match, within a given tolerance.
8 | ///
9 | /// mbdavis
10 | public interface IGeometryMatcher
11 | {
12 | double Tolerance { get; set; }
13 | bool Match(IGeometry a, IGeometry b);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner/Operations/NormalizedGeometryMatcher.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 |
3 | namespace Open.Topology.TestRunner.Operations
4 | {
5 | public class NormalizedGeometryMatcher : IGeometryMatcher
6 | {
7 | private double _tolerance;
8 |
9 | /*
10 | public NormalizedGeometryMatcher()
11 | {
12 |
13 | }
14 | */
15 |
16 | public double Tolerance
17 | {
18 | get { return _tolerance; }
19 | set { _tolerance = value; }
20 | }
21 |
22 | public bool Match(IGeometry a, IGeometry b)
23 | {
24 | var aClone = (IGeometry) a.Clone();
25 | var bClone = (IGeometry) b.Clone();
26 | aClone.Normalize();
27 | bClone.Normalize();
28 | return aClone.EqualsExact(bClone, _tolerance);
29 | }
30 |
31 | }
32 | }
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner/Result/NullResultMatcher.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using GeoAPI.Geometries;
3 |
4 | namespace Open.Topology.TestRunner.Result
5 | {
6 | ///
7 | /// A which always passes.
8 | /// This is useful if the expected result of an operation is not known.
9 | ///
10 | public class NullResultMatcher : IResultMatcher
11 | where TResult : IResult
12 | {
13 | ///
14 | ///Always reports a match.
15 | public bool IsMatch(IGeometry geom, String opName, Object[] args,
16 | TResult actualResult, TResult expectedResult,
17 | double tolerance)
18 | {
19 | return true;
20 | }
21 |
22 | public bool IsMatch(IGeometry geom, string opName, object[] args, IResult actualResult, IResult expectedResult, double tolerance)
23 | {
24 | return true;
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner/Utility/ClassUtility.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 |
4 | namespace Open.Topology.TestRunner.Utility
5 | {
6 | public class ClassUtility
7 | {
8 | public static String GetClassname(Type javaClass)
9 | {
10 | String nClassName = javaClass.FullName;
11 | Debug.Assert(!string.IsNullOrEmpty(nClassName));
12 |
13 | int lastDotPos = nClassName.LastIndexOf(".");
14 | return nClassName.Substring(lastDotPos + 1, nClassName.Length);
15 | }
16 |
17 | }
18 | }
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner/Utility/GeometryDataUtil.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 |
3 | namespace Open.Topology.TestRunner.Utility
4 | {
5 | public static class GeometryDataUtil
6 | {
7 | public static void SetComponentDataToIndex(IGeometry geom)
8 | {
9 | for (int i = 0; i < geom.NumGeometries; i++)
10 | {
11 | IGeometry comp = geom.GetGeometryN(i);
12 | comp.UserData = "Component # " + i;
13 | }
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/NetTopologySuite.TestRunner/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Algorithm/LocatePointInRingTest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using GeoAPI.Geometries;
3 | using NetTopologySuite.Algorithm;
4 | using NetTopologySuite.Geometries;
5 | using NetTopologySuite.IO;
6 | using NUnit.Framework;
7 |
8 | namespace NetTopologySuite.Tests.NUnit.Algorithm
9 | {
10 | // Tests are exposed by AbstractPointInRingTest type
11 | public class LocatePointInRingTest : AbstractPointInRingTest
12 | {
13 | private WKTReader reader = new WKTReader();
14 |
15 | protected override void RunPtInRing(Location expectedLoc, Coordinate pt, string wkt)
16 | {
17 | IGeometry geom = reader.Read(wkt);
18 | Assert.AreEqual(expectedLoc, CGAlgorithms.LocatePointInRing(pt, geom.Coordinates));
19 | IPolygon poly = geom as IPolygon;
20 | if (poly == null)
21 | return;
22 |
23 | Assert.AreEqual(expectedLoc, CGAlgorithms.LocatePointInRing(pt, poly.ExteriorRing.CoordinateSequence));
24 | }
25 |
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Algorithm/MCPointInRingTest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using GeoAPI.Geometries;
3 | using NetTopologySuite.Algorithm;
4 | using NetTopologySuite.Geometries;
5 | using NetTopologySuite.IO;
6 | using NUnit.Framework;
7 |
8 | namespace NetTopologySuite.Tests.NUnit.Algorithm
9 | {
10 | //Tests are exposed by AbstractPointInRingTest type
11 | public class MCPointInRingTest : AbstractPointInRingTest
12 | {
13 | private WKTReader reader = new WKTReader();
14 |
15 | protected override void RunPtInRing(Location expectedLoc, Coordinate pt, String wkt)
16 | {
17 | // isPointInRing is not defined for pts on boundary
18 | if (expectedLoc == Location.Boundary)
19 | return;
20 |
21 | IGeometry geom = reader.Read(wkt);
22 | if (!(geom is Polygon))
23 | return;
24 |
25 | LinearRing ring = (LinearRing)((Polygon) geom).ExteriorRing;
26 | bool expected = expectedLoc == Location.Interior;
27 | MCPointInRing pir = new MCPointInRing(ring);
28 | bool result = pir.IsInside(pt);
29 | Assert.AreEqual(expected, result);
30 | }
31 |
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Algorithm/RayCrossingCounterTest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using GeoAPI.Geometries;
3 | using NetTopologySuite.Algorithm;
4 | using NetTopologySuite.Geometries;
5 | using NetTopologySuite.IO;
6 | using NUnit.Framework;
7 |
8 | namespace NetTopologySuite.Tests.NUnit.Algorithm
9 | {
10 | //Tests are exposed by AbstractPointInRingTest type
11 | public class RayCrossingCounterTest : AbstractPointInRingTest
12 | {
13 | private WKTReader reader = new WKTReader();
14 |
15 | protected override void RunPtInRing(Location expectedLoc, Coordinate pt, String wkt)
16 | {
17 | IGeometry geom = reader.Read(wkt);
18 | Assert.AreEqual(expectedLoc, RayCrossingCounter.LocatePointInRing(pt, geom.Coordinates));
19 | IPolygon poly = geom as IPolygon;
20 | if (poly == null)
21 | return;
22 |
23 | Assert.AreEqual(expectedLoc, RayCrossingCounter.LocatePointInRing(pt, poly.ExteriorRing.CoordinateSequence));
24 | }
25 |
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Geometries/Implementation/CoordinateArraySequenceTest.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 | using NetTopologySuite.Geometries.Implementation;
3 |
4 | namespace NetTopologySuite.Tests.NUnit.Geometries.Implementation
5 | {
6 | //Tests are exposed by CoordinateSequenceTestBase type
7 | public class CoordinateArraySequenceTest : CoordinateSequenceTestBase
8 | {
9 | protected override ICoordinateSequenceFactory CsFactory
10 | {
11 | get { return CoordinateArraySequenceFactory.Instance; }
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Hull/ConcaveHullTest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using NetTopologySuite.Geometries;
3 | using NetTopologySuite.Hull;
4 | using NUnit.Framework;
5 |
6 | namespace NetTopologySuite.Tests.NUnit.Hull
7 | {
8 | public class ConcaveHullTest : GeometryTestCase
9 | {
10 |
11 | [Test, Ignore("Incomplete")]
12 | public void TestSimple() {
13 | CheckHull(
14 | "POLYGON ((100 200, 200 180, 300 200, 200 190, 100 200))",
15 | 150,
16 | "POLYGON ((100 200, 200 180, 300 200, 200 190, 100 200))"
17 | );
18 | }
19 |
20 | private void CheckHull(string inputWKT, double tolerance, string expectedWKT) {
21 | var input = Read(inputWKT);
22 | var expected = Read(expectedWKT);
23 | var hull = new ConcaveHull(input, tolerance);
24 | var actual = hull.GetResult();
25 | CheckEqual(expected, actual);
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Index/DoubleBitsTest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using GeoAPI.Geometries;
3 | using NetTopologySuite.Index.Quadtree;
4 | using NetTopologySuite.IO;
5 | using NUnit.Framework;
6 |
7 | namespace NetTopologySuite.Tests.NUnit.Index
8 | {
9 | [TestFixtureAttribute]
10 | public class DoubleBitsTest
11 | {
12 | [TestAttribute]
13 | public void TestExponent()
14 | {
15 | Assert.IsTrue(DoubleBits.GetExponent(-1) == 0);
16 | Assert.IsTrue(DoubleBits.GetExponent(8.0) == 3);
17 | Assert.IsTrue(DoubleBits.GetExponent(128.0) == 7);
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Operation/Buffer/Test.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using GeoAPI.Geometries;
3 | using NetTopologySuite.Geometries;
4 | using NUnit.Framework;
5 |
6 | namespace NetTopologySuite.Tests.NUnit.Operation.Buffer
7 | {
8 | public class Test
9 | {
10 | [TestAttribute]
11 | public void Buffer()
12 | {
13 | var geom =
14 | new Polygon(
15 | new LinearRing(new Coordinate[]
16 | {
17 | new Coordinate(0, 0), new Coordinate(0, 10), new Coordinate(10, 10),
18 | new Coordinate(10, 0), new Coordinate(0, 0)
19 | }));
20 | Console.WriteLine(geom.AsText());
21 | var geom2 = geom.Buffer(2d);
22 | Console.WriteLine(geom2);
23 | var geom3 = geom2.Buffer(-2);
24 | geom3.Normalize();
25 | Console.WriteLine(geom3);
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Operation/Overlay/FixedPrecisionSnappingTest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using GeoAPI.Geometries;
3 | using NetTopologySuite.Algorithm;
4 | using NetTopologySuite.Geometries;
5 | using NetTopologySuite.IO;
6 | using NUnit.Framework;
7 |
8 | namespace NetTopologySuite.Tests.NUnit.Operation.Overlay
9 | {
10 | [TestFixtureAttribute]
11 | public class FixedPrecisionSnappingTest
12 | {
13 | PrecisionModel pm;
14 | GeometryFactory fact;
15 | WKTReader rdr;
16 |
17 | public FixedPrecisionSnappingTest()
18 | {
19 | pm = new PrecisionModel(1.0);
20 | fact = new GeometryFactory(pm);
21 | rdr = new WKTReader(fact);
22 | }
23 |
24 | [TestAttribute]
25 | public void TestTriangles()
26 | {
27 | IGeometry a = rdr.Read("POLYGON ((545 317, 617 379, 581 321, 545 317))");
28 | IGeometry b = rdr.Read("POLYGON ((484 290, 558 359, 543 309, 484 290))");
29 | a.Intersection(b);
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Performance/ThreadTestCase.cs:
--------------------------------------------------------------------------------
1 | using System.Threading;
2 |
3 | namespace NetTopologySuite.Tests.NUnit.Performance
4 | {
5 | ///
6 | /// Base class for test cases which depend on threading.
7 | /// A common example of usage is to test for race conditions.
8 | ///
9 | /// Martin Davis
10 | public abstract class ThreadTestCase
11 | {
12 | public int ThreadCount
13 | {
14 | get { return ThreadTestRunner.DefaultThreadCount; }
15 | }
16 |
17 | public abstract void Setup();
18 | public WaitHandle[] WaitHandles { get; protected set; }
19 | public abstract ParameterizedThreadStart GetRunnable(int threadIndex);
20 | public virtual object Argument { get { return null; } }
21 | }
22 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Performance/ThreadTestRunner.cs:
--------------------------------------------------------------------------------
1 | using System.Threading;
2 |
3 | namespace NetTopologySuite.Tests.NUnit.Performance
4 | {
5 | ///
6 | /// Runs a .
7 | ///
8 | /// Martin Davis
9 | public static class ThreadTestRunner
10 | {
11 |
12 | //Do not assign a value > 64.
13 | //Test may provide WaitHandles for each job
14 | //and more than 64 WaitHandles are not supported!
15 | public static readonly int DefaultThreadCount = 10;
16 |
17 | public static void Run(ThreadTestCase testcase)
18 | {
19 | testcase.Setup();
20 |
21 | for (var i = 0; i < testcase.ThreadCount; i++)
22 | {
23 | var runnable = testcase.GetRunnable(i);
24 | var t = new Thread(runnable);
25 | t.Start(testcase.Argument);
26 | }
27 |
28 | if (testcase.WaitHandles != null)
29 | WaitHandle.WaitAll(testcase.WaitHandles);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Precision/CommonBitsOpTest.cs:
--------------------------------------------------------------------------------
1 | using NetTopologySuite.Geometries;
2 | using NetTopologySuite.Geometries.Implementation;
3 | using NetTopologySuite.Precision;
4 | using NUnit.Framework;
5 |
6 | namespace NetTopologySuite.Tests.NUnit.Precision
7 | {
8 | public class CommonBitsOpTest : GeometryTestCase
9 | {
10 | ///
11 | /// Tests an issue where CommonBitsRemover was not persisting changes to some kinds of CoordinateSequences
12 | ///
13 | [Test]
14 | public void TestPackedCoordinateSequence() {
15 | var pcsFactory = new GeometryFactory(PackedCoordinateSequenceFactory.DoubleFactory);
16 | var geom0 = Read(pcsFactory, "POLYGON ((210 210, 210 220, 220 220, 220 210, 210 210))");
17 | var geom1 = Read("POLYGON ((225 225, 225 215, 215 215, 215 225, 225 225))");
18 | var cbo = new CommonBitsOp(true);
19 | var result = cbo.Intersection(geom0, geom1);
20 | var expected = geom0.Intersection(geom1);
21 | //Geometry expected = read("POLYGON ((220 215, 215 215, 215 220, 220 220, 220 215))");
22 | CheckEqual(expected, result);
23 | }
24 | }
25 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/TestData/uk-arrows.wkt:
--------------------------------------------------------------------------------
1 | MULTIPOLYGON (((1330.6 1282.4, 1377.4 1282.4, 1361.8 1298, 1393 1313.6, 1361.8 1344.8, 1346.2 1313.6, 1330.6 1329.2, 1330.6 1282.4)),
2 | ((1330.6 1266.8, 1377.4 1266.8, 1361.8 1251.2, 1393 1235.6, 1361.8 1204.4, 1346.2 1235.6, 1330.6 1220, 1330.6 1266.8)),
3 | ((1315 1282.4, 1315 1329.2, 1299.4 1313.6, 1283.8 1344.8, 1252.6 1313.6, 1283.8 1298, 1268.2 1282.4, 1315 1282.4)),
4 | ((1268.2 1266.8, 1315 1266.8, 1315 1220, 1299.4 1235.6, 1283.8 1204.4, 1252.6 1235.6, 1283.8 1251.2, 1268.2 1266.8)))
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Utilities/IOUtil.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using GeoAPI.Geometries;
3 | using NetTopologySuite.IO;
4 | using NUnit.Framework;
5 | using ParseException = GeoAPI.IO.ParseException;
6 |
7 | namespace NetTopologySuite.Tests.NUnit.Utilities
8 | {
9 | public class IOUtil
10 | {
11 | public static IGeometry Read(String wkt)
12 | {
13 | var rdr = new WKTReader();
14 | try
15 | {
16 | return rdr.Read(wkt);
17 | }
18 | catch (ParseException ex)
19 | {
20 | throw new AssertionException("Failed to read file", ex);
21 | }
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/Utilities/SerializationUtility.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Runtime.Serialization.Formatters.Binary;
4 |
5 | namespace NetTopologySuite.Tests.NUnit.Utilities
6 | {
7 | public static class SerializationUtility
8 | {
9 | public static byte[] Serialize(T obj)
10 | {
11 | using (MemoryStream ms = new MemoryStream())
12 | {
13 | BinaryFormatter serializer = new BinaryFormatter();
14 | serializer.Serialize(ms, obj);
15 | ms.Seek(0, SeekOrigin.Begin);
16 | StreamReader reader = new StreamReader(ms);
17 | Console.WriteLine(reader.ReadToEnd());
18 |
19 | return ms.ToArray();
20 | }
21 | }
22 |
23 | public static T Deserialize(byte[] buffer)
24 | {
25 | using (MemoryStream ms = new MemoryStream(buffer))
26 | {
27 | BinaryFormatter serializer = new BinaryFormatter();
28 | return (T)serializer.Deserialize(ms);
29 | }
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/nts.snk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite.Tests.NUnit/nts.snk
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.NUnit/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.Vivid.XUnit/XUnitExternalTests.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace NetTopologySuite.Tests.XUnit
4 | {
5 | public abstract class ExternalXUnitRunner : XUnitRunner
6 | {
7 | protected ExternalXUnitRunner(string testFile) : base(testFile) { }
8 |
9 | private const String testLocation = "..\\..\\..\\NetTopologySuite.TestRunner.Tests\\external";
10 |
11 | protected override string TestLocation { get { return testLocation; } }
12 | }
13 |
14 | public class TestGeosBuffer : ExternalXUnitRunner
15 | {
16 | public TestGeosBuffer() : base("GEOSBuffer.xml") { }
17 | }
18 |
19 | public class TestBufferExternal : ExternalXUnitRunner
20 | {
21 | public TestBufferExternal() : base("TestBufferExternal.xml") { }
22 | }
23 |
24 | public class TestBufferExternal2 : ExternalXUnitRunner
25 | {
26 | public TestBufferExternal2() : base("TestBufferExternal2.xml") { }
27 | }
28 |
29 | public class TestOverlay : ExternalXUnitRunner
30 | {
31 | public TestOverlay() : base("TestOverlay.xml") { }
32 | }
33 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.Vivid.XUnit/XUnitFailureTests.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace NetTopologySuite.Tests.XUnit
4 | {
5 | public abstract class FailureXUnitRunner : XUnitRunner
6 | {
7 | protected FailureXUnitRunner(string testFile) : base(testFile) { }
8 |
9 | private const String testLocation = "..\\..\\..\\NetTopologySuite.TestRunner.Tests\\failure";
10 |
11 | protected override string TestLocation { get { return testLocation; } }
12 | }
13 |
14 | public class TestBigNastyBuffer : FailureXUnitRunner
15 | {
16 | public TestBigNastyBuffer() : base("TestBigNastyBuffer.xml") { }
17 | }
18 |
19 | // 1 expected exception thrown
20 | public class TestOverlayFailure : FailureXUnitRunner
21 | {
22 | public TestOverlayFailure() : base("TestOverlay.xml") { }
23 | }
24 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.Vivid.XUnit/XUnitStMLFTests.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace NetTopologySuite.Tests.XUnit
4 | {
5 | public abstract class StMLFXUnitRunner : XUnitRunner
6 | {
7 | protected StMLFXUnitRunner(string testFile) : base(testFile) { }
8 |
9 | private const String testLocation = "..\\..\\..\\NetTopologySuite.TestRunner.Tests\\stmlf";
10 |
11 | protected override string TestLocation { get { return testLocation; } }
12 | }
13 |
14 | public class TestStMLF20061020 : StMLFXUnitRunner
15 | {
16 | public TestStMLF20061020() : base("stmlf-cases-20061020_int.xml") { }
17 | }
18 |
19 | public class TestStMLF20061018 : StMLFXUnitRunner
20 | {
21 | public TestStMLF20061018() : base("stmlf-cases-20061018_int.xml") { }
22 | }
23 | }
--------------------------------------------------------------------------------
/NetTopologySuite.Tests.Vivid.XUnit/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.VersionComparisonTests/Read Me.txt:
--------------------------------------------------------------------------------
1 | Test project to aid debugging of v2 functionality comparing against v1.7.x
--------------------------------------------------------------------------------
/NetTopologySuite.Windows.Forms/Test/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/NetTopologySuite.Windows.Forms/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.Windows.Media/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetTopologySuite.sln.DotSettings:
--------------------------------------------------------------------------------
1 |
2 | True
3 | C:\Progetti\GitHub\NetTopologySuite\NetTopologySuite.sln.DotSettings
4 |
5 | True
6 | 1
--------------------------------------------------------------------------------
/NetTopologySuite.vsmdi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/NetTopologySuite/Algorithm/Distance/Distance.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | NetTopologySuite
5 |
6 |
7 |
8 |
9 | Classes to compute distance metrics between geonetries.
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/NetTopologySuite/Algorithm/IPointInAreaLocator.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 |
3 | namespace NetTopologySuite.Algorithm
4 | {
5 | ///
6 | /// An interface for classes which determine the of points in a
7 | ///
8 | ///Martin Davis
9 | public interface IPointInAreaLocator
10 | {
11 | ///
12 | /// Determines the of a point in the .
13 | ///
14 | /// The point to test
15 | /// the location of the point in the geometry
16 | Location Locate(Coordinate p);
17 | }
18 | }
--------------------------------------------------------------------------------
/NetTopologySuite/Algorithm/IPointInRing.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 |
3 | namespace NetTopologySuite.Algorithm
4 | {
5 | ///
6 | /// An interface for classes which test whether a Coordinate lies inside a ring.
7 | ///
8 | ///
9 | public interface IPointInRing
10 | {
11 | ///
12 | ///
13 | ///
14 | ///
15 | ///
16 | bool IsInside(Coordinate pt);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/NetTopologySuite/Algorithm/Locate/Locate.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | NetTopologySuite
5 |
6 |
7 |
8 |
9 | Classes to determine the topological location of points in geometries.
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/NetTopologySuite/Algorithm/Match/AreaSimilarityMeasure.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 |
3 | namespace NetTopologySuite.Algorithm.Match
4 | {
5 | ///
6 | /// Measures the degree of similarity between two s
7 | /// using the area of intersection between the geometries.
8 | /// The measure is normalized to lie in the range [0, 1].
9 | /// Higher measures indicate a great degree of similarity.
10 | ///
11 | ///
12 | /// NOTE: Currently experimental and incomplete.
13 | ///
14 | /// mbdavis
15 | public class AreaSimilarityMeasure : ISimilarityMeasure
16 | {
17 | /*
18 | public static double measure(Geometry a, Geometry b)
19 | {
20 | AreaSimilarityMeasure gv = new AreaSimilarityMeasure(a, b);
21 | return gv.measure();
22 | }
23 | */
24 |
25 | public double Measure(IGeometry g1, IGeometry g2)
26 | {
27 | double areaInt = g1.Intersection(g2).Area;
28 | double areaUnion = g1.Union(g2).Area;
29 | return areaInt / areaUnion;
30 | }
31 |
32 |
33 | }
34 | }
--------------------------------------------------------------------------------
/NetTopologySuite/Algorithm/Match/Match.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | NetTopologySuite
5 |
6 |
7 |
8 |
9 | Classes to compute matching metrics between geometries.
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/NetTopologySuite/Algorithm/Match/SimilarityMeasureCombiner.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace NetTopologySuite.Algorithm.Match
4 | {
5 | ///
6 | /// Provides methods to mathematically combine values.
7 | ///
8 | /// Martin Davis
9 | public static class SimilarityMeasureCombiner
10 | {
11 | ///
12 | ///
13 | ///
14 | ///
15 | ///
16 | ///
17 | public static double Combine(double measure1, double measure2)
18 | {
19 | return Math.Min(measure1, measure2);
20 | }
21 |
22 | }
23 | }
--------------------------------------------------------------------------------
/NetTopologySuite/Algorithm/NotRepresentableException.cs:
--------------------------------------------------------------------------------
1 | #if !PCL
2 | using System;
3 | #else
4 | using ApplicationException = System.Exception;
5 | #endif
6 |
7 | namespace NetTopologySuite.Algorithm
8 | {
9 | ///
10 | ///
11 | ///
12 | public class NotRepresentableException : ApplicationException
13 | {
14 | ///
15 | ///
16 | ///
17 | public NotRepresentableException() : base("Projective point not representable on the Cartesian plane.") { }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/NetTopologySuite/Algorithm/SimplePointInRing.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 |
3 | namespace NetTopologySuite.Algorithm
4 | {
5 | ///
6 | /// Tests whether a Coordinate lies inside
7 | /// a ring, using a linear-time algorithm.
8 | ///
9 | public class SimplePointInRing : IPointInRing
10 | {
11 | ///
12 | ///
13 | ///
14 | private readonly Coordinate[] pts;
15 |
16 | ///
17 | ///
18 | ///
19 | ///
20 | public SimplePointInRing(ILinearRing ring)
21 | {
22 | pts = ring.Coordinates;
23 | }
24 |
25 | ///
26 | ///
27 | ///
28 | ///
29 | ///
30 | public bool IsInside(Coordinate pt)
31 | {
32 | return CGAlgorithms.IsPointInRing(pt, pts);
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/NetTopologySuite/CoordinateSystems/CRSBase.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.CoordinateSystems
2 | {
3 | using System.Collections.Generic;
4 |
5 | ///
6 | /// Base class for all ICRSObject implementing types
7 | ///
8 | //[JsonObject(MemberSerialization.OptIn)]
9 | public abstract class CRSBase : ICRSObject
10 | {
11 | ///
12 | /// Gets the type of the CRSBase object.
13 | ///
14 | //[JsonProperty(PropertyName = "type", Required = Required.Always)]
15 | //[JsonConverter(typeof(CamelCaseStringEnumConverter))]
16 | public CRSTypes Type { get; internal set; }
17 |
18 | ///
19 | /// Gets the properties.
20 | ///
21 | //[JsonProperty(PropertyName = "properties", Required = Required.Always)]
22 | public Dictionary Properties { get; internal set; }
23 | }
24 | }
--------------------------------------------------------------------------------
/NetTopologySuite/CoordinateSystems/CRSType.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.CoordinateSystems
2 | {
3 | using System;
4 |
5 | ///
6 | /// Defines the GeoJSON Coordinate Reference System Objects (CRS) types as defined in the geojson.org v1.0 spec.
7 | ///
8 | [Flags]
9 | public enum CRSTypes
10 | {
11 | ///
12 | /// Defines the Named CRS type.
13 | ///
14 | Name,
15 |
16 | ///
17 | /// Defines the Linked CRS type.
18 | ///
19 | Link
20 | }
21 | }
--------------------------------------------------------------------------------
/NetTopologySuite/CoordinateSystems/ICRSObject.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.CoordinateSystems
2 | {
3 | ///
4 | /// Base Interface for CRSBase Object types.
5 | ///
6 | public interface ICRSObject
7 | {
8 | ///
9 | /// Gets the CRS type.
10 | ///
11 | CRSTypes Type { get; }
12 | }
13 | }
--------------------------------------------------------------------------------
/NetTopologySuite/Densify/DensifySummary.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | NetTopologySuite
5 |
6 |
7 |
8 |
9 | Classes to perform densification on geometries.
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/NetTopologySuite/Dissolve/DissolveEdgeGraph.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 | using NetTopologySuite.EdgeGraph;
3 |
4 | namespace NetTopologySuite.Dissolve
5 | {
6 | ///
7 | /// A graph containing s.
8 | ///
9 | public class DissolveEdgeGraph : EdgeGraph.EdgeGraph
10 | {
11 | protected override HalfEdge CreateEdge(Coordinate p0)
12 | {
13 | return new DissolveHalfEdge(p0);
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/NetTopologySuite/Dissolve/DissolveHalfEdge.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 | using NetTopologySuite.EdgeGraph;
3 |
4 | namespace NetTopologySuite.Dissolve
5 | {
6 | ///
7 | /// A HalfEdge which carries information
8 | /// required to support .
9 | ///
10 | public class DissolveHalfEdge : MarkHalfEdge
11 | {
12 | private bool _isStart;
13 |
14 | public DissolveHalfEdge(Coordinate orig)
15 | : base(orig) { }
16 |
17 | ///
18 | /// Tests whether this edge is the starting segment
19 | /// in a LineString being dissolved.
20 | ///
21 | /// true if this edge is a start segment
22 | public bool IsStart
23 | {
24 | get { return _isStart; }
25 | }
26 |
27 | ///
28 | /// Sets this edge to be the start segment of an input LineString.
29 | ///
30 | public void SetStart()
31 | {
32 | _isStart = true;
33 | }
34 | }
35 | }
--------------------------------------------------------------------------------
/NetTopologySuite/Features/IFeature.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 |
3 | namespace NetTopologySuite.Features
4 | {
5 | ///
6 | /// Interface for feature classes
7 | ///
8 | public interface IFeature
9 | {
10 | ///
11 | /// Gets or sets the attributes for the feature
12 | ///
13 | IAttributesTable Attributes { get; set; }
14 |
15 | ///
16 | /// Gets or sets the feature's geometry
17 | ///
18 | IGeometry Geometry { get; set; }
19 |
20 | ///
21 | /// Gets or sets the feature's geometry
22 | ///
23 | Envelope BoundingBox { get; set; }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/NetTopologySuite/Geometries/GeometryCollectionEnumerator.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DotSpatial/NetTopologySuiteV1/25c63d925f123fd4535c9ab6a7313519e430f241/NetTopologySuite/Geometries/GeometryCollectionEnumerator.cs
--------------------------------------------------------------------------------
/NetTopologySuite/Geometries/GeometryComponentFilter.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 |
3 | namespace NetTopologySuite.Geometries
4 | {
5 | ///
6 | /// Delegate function declaration to handle filter operation
7 | ///
8 | /// The geometry to filter
9 | public delegate void FilterMethod(IGeometry geom);
10 |
11 | ///
12 | /// An implementation that applies filtering with the provided
13 | ///
14 | public class GeometryComponentFilter : IGeometryComponentFilter
15 | {
16 | private readonly FilterMethod _do;
17 |
18 | ///
19 | /// Creates an instance of this class
20 | ///
21 | /// The filter method to be used
22 | public GeometryComponentFilter(FilterMethod filterMethod)
23 | {
24 | //Assert.IsTrue(filterMethod != null);
25 | _do = filterMethod;
26 | }
27 |
28 | public void Filter(IGeometry geom)
29 | {
30 | _do(geom);
31 | }
32 | }
33 | }
--------------------------------------------------------------------------------
/NetTopologySuite/Geometries/Prepared/LineTopology.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 | using NetTopologySuite.Noding;
3 |
4 | namespace NetTopologySuite.Geometries.Prepared
5 | {
6 | public class LineTopology
7 | {
8 | private readonly IGeometryFactory _geomFact;
9 | private readonly NodedSegmentString _segStr;
10 |
11 | public LineTopology(ICoordinate[] pts, IGeometryFactory geomFact)
12 | {
13 | _segStr = new NodedSegmentString(pts, this);
14 | _geomFact = geomFact;
15 | }
16 |
17 | public void AddIntersection(ICoordinate intPt, int segmentIndex)
18 | {
19 | _segStr.AddIntersection(intPt, segmentIndex);
20 | }
21 |
22 | public IGeometry Result
23 | {
24 | get
25 | {
26 | ICoordinate[] resultPts = new Coordinate[0];
27 | return _geomFact.CreateLineString(resultPts);
28 | }
29 | }
30 |
31 | }
32 | }
--------------------------------------------------------------------------------
/NetTopologySuite/Geometries/Utilities/NoninvertibleTransformationException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace NetTopologySuite.Geometries.Utilities
4 | {
5 | ///
6 | /// Indicates that an is non-invertible.
7 | ///
8 | ///Martin Davis
9 | public class NoninvertibleTransformationException : Exception
10 | {
11 | public NoninvertibleTransformationException()
12 | {
13 | }
14 | public NoninvertibleTransformationException(string transformationIsNonInvertible)
15 | :base(transformationIsNonInvertible)
16 | {
17 |
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/NetTopologySuite/GeometriesGraph/Index/MonotoneChain.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.GeometriesGraph.Index
2 | {
3 | ///
4 | ///
5 | ///
6 | public class MonotoneChain
7 | {
8 | private readonly MonotoneChainEdge mce;
9 | private readonly int chainIndex;
10 |
11 | ///
12 | ///
13 | ///
14 | ///
15 | ///
16 | public MonotoneChain(MonotoneChainEdge mce, int chainIndex)
17 | {
18 | this.mce = mce;
19 | this.chainIndex = chainIndex;
20 | }
21 |
22 | ///
23 | ///
24 | ///
25 | ///
26 | ///
27 | public void ComputeIntersections(MonotoneChain mc, SegmentIntersector si)
28 | {
29 | this.mce.ComputeIntersectsForChain(chainIndex, mc.mce, mc.chainIndex, si);
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/NetTopologySuite/GeometriesGraph/NodeFactory.cs:
--------------------------------------------------------------------------------
1 | using GeoAPI.Geometries;
2 |
3 | namespace NetTopologySuite.GeometriesGraph
4 | {
5 | ///
6 | ///
7 | ///
8 | public class NodeFactory
9 | {
10 | ///
11 | /// The basic node constructor does not allow for incident edges.
12 | ///
13 | ///
14 | public virtual Node CreateNode(Coordinate coord)
15 | {
16 | return new Node(coord, null);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/NetTopologySuite/IO/GML2/GMLElements.cs:
--------------------------------------------------------------------------------
1 | namespace NetTopologySuite.IO.GML2
2 | {
3 | internal static class GMLElements
4 | {
5 | internal const string gmlPrefix = "gml";
6 | internal const string gmlNS = "http://www.opengis.net/gml";
7 | internal const string gmlNSDecl = " xmlns:gml=\"" + gmlNS + "\"";
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/NetTopologySuite/IO/ParseException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 |
4 | namespace NetTopologySuite.IO
5 | {
6 | ///
7 | /// Thrown by a WKTReader when a parsing problem occurs.
8 | ///
9 | [Obsolete("Use GeoAPI.IO.ParseException")]
10 | public class ParseException : GeoAPI.IO.ParseException
11 | {
12 | ///
13 | /// Creates a ParseException with the given detail message.
14 | ///
15 | /// A description of this ParseException.
16 | public ParseException(String message) : base(message) { }
17 |
18 | ///
19 | /// Creates a ParseException with es detail message.
20 | ///
21 | /// An exception that occurred while a WKTReader was
22 | /// parsing a Well-known Text string.
23 | public ParseException(Exception e) : this(e.ToString()) { }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/NetTopologySuite/Index/ArrayListVisitor.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace NetTopologySuite.Index
4 | {
5 | public class ArrayListVisitor : ArrayListVisitor