Files
GeoUK/GeoUK.OSTN.sln
Ieuan Walker e84c9b9a4d Polygon - Generate Geo polygon around a specific point (#53)
* Add Polygon class with geospatial methods and tests

Implemented a new static `Polygon` class in the `GeoUK` namespace for generating polygons around geographic points. The class includes input validation and methods for degree-radian conversion.

Also added a suite of unit tests in `PolygonTests.cs` using Xunit to cover various scenarios, ensuring the correctness and performance of the `GeneratePolygonAroundPoint` method.

* Fix longitude normalization in Polygon.cs

Updated longitude normalization to the range of [-180, 180]
instead of [-180, 180). Adjusted logic to correctly handle
values exceeding the bounds by adding or subtracting 360.0
as necessary, ensuring proper wrapping of longitude values.

* Add GeoUK.OSTN.XUnit project and update README.md

- Included a new project `GeoUK.OSTN.XUnit` in the solution.
- Added `pr.yml` to the Solution Items section.
- Enhanced `README.md` with a new section on generating polygons around points, including code examples and a link to GeoJson.io for testing.
2025-07-29 10:55:42 +01:00

59 lines
3.3 KiB
Plaintext

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36221.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GeoUK.OSTN", "GeoUK.OSTN\GeoUK.OSTN.csproj", "{E7C614AC-E67D-4E04-BA4E-E1BBF4CAC6FD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GeoUK", "GeoUK\GeoUK.csproj", "{5C458FBF-4E2A-4F9D-ACC2-9CE5BED34236}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Demo", "Demo", "{848710E1-EBD1-44BA-9F97-C24D760806E9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DemoProject", "Demo\DemoProject\DemoProject.csproj", "{1BB0810A-37FF-4F68-8C7E-E687A5369E0C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{F752E48A-C054-4F91-ABFB-2A1A5E4E8FAB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GeoUK.OSTN.XUnit", "Tests\GeoUK.OSTN.XUnit\GeoUK.OSTN.XUnit.csproj", "{DF00AA79-1818-4C7B-BE7E-694E955EAA3D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8EC462FD-D22E-90A8-E5CE-7E832BA40C5D}"
ProjectSection(SolutionItems) = preProject
.github\workflows\pr.yml = .github\workflows\pr.yml
README.md = README.md
.github\workflows\release.yml = .github\workflows\release.yml
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E7C614AC-E67D-4E04-BA4E-E1BBF4CAC6FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E7C614AC-E67D-4E04-BA4E-E1BBF4CAC6FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E7C614AC-E67D-4E04-BA4E-E1BBF4CAC6FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E7C614AC-E67D-4E04-BA4E-E1BBF4CAC6FD}.Release|Any CPU.Build.0 = Release|Any CPU
{5C458FBF-4E2A-4F9D-ACC2-9CE5BED34236}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5C458FBF-4E2A-4F9D-ACC2-9CE5BED34236}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5C458FBF-4E2A-4F9D-ACC2-9CE5BED34236}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5C458FBF-4E2A-4F9D-ACC2-9CE5BED34236}.Release|Any CPU.Build.0 = Release|Any CPU
{1BB0810A-37FF-4F68-8C7E-E687A5369E0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1BB0810A-37FF-4F68-8C7E-E687A5369E0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1BB0810A-37FF-4F68-8C7E-E687A5369E0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1BB0810A-37FF-4F68-8C7E-E687A5369E0C}.Release|Any CPU.Build.0 = Release|Any CPU
{DF00AA79-1818-4C7B-BE7E-694E955EAA3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DF00AA79-1818-4C7B-BE7E-694E955EAA3D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DF00AA79-1818-4C7B-BE7E-694E955EAA3D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DF00AA79-1818-4C7B-BE7E-694E955EAA3D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{1BB0810A-37FF-4F68-8C7E-E687A5369E0C} = {848710E1-EBD1-44BA-9F97-C24D760806E9}
{DF00AA79-1818-4C7B-BE7E-694E955EAA3D} = {F752E48A-C054-4F91-ABFB-2A1A5E4E8FAB}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {98A4A455-17FF-4B6A-94CF-08A3D5182276}
EndGlobalSection
EndGlobal