6 Commits

Author SHA1 Message Date
Ieuan Walker
573ee64aa8 Update README.md (#50) 2025-07-11 13:26:36 +01:00
Ieuan Walker
7a50f69977 Release.yml fixes (#49)
* Update project files for packaging enhancements

Added icon file for packaging and updated project metadata.
Replaced `<PackageIconUrl>` with `<PackageIcon>` for local reference.
Modified `<Description>` and restored `<Copyright>` in `GeoUK.csproj`.

* Update NuGet package paths in release.yml

Added "IeuanWalker." prefix to GeoUK and GeoUK.OSTN
packages in upload and publish paths. This ensures
correct referencing of new package names during the
release process.
2025-07-11 13:10:53 +01:00
Ieuan Walker
725df9ad9e Create release.yml (#48)
* Add CI/CD workflows for release and testing

- Introduced `release.yml` for building, testing, and publishing `GeoUK` and `GeoUK.OSTN` projects to NuGet.org on release events.
- Updated `pr.yml` to include .NET setup, dependency restoration, building, and testing steps.
- Modified `GeoUK.OSTN.sln` to include the new `GeoUK.OSTN.XUnit` project and ensure proper workflow file references.

* Update release.yml to pack NuGet packages for projects

Replaced dotnet build commands with dotnet pack for the
GeoUK and GeoUK.OSTN projects in the release workflow.
This change prepares the projects for distribution by
creating NuGet packages instead of just building them.
2025-07-11 13:01:31 +01:00
Ieuan Walker
53a391e3e3 Create pr.yml (#47)
* Create dotnet.yml

* Replace dotnet.yml with pr.yml for GitHub Actions

Updated the workflow to build and test a .NET project on pull requests to the master branch. Removed the old `dotnet.yml` file and added a new `pr.yml` file with necessary steps for setup, restore, build, and test.

Updated the Visual Studio version in `GeoUK.OSTN.sln` from 16 to 17 and added a "Solution Items" section to include the new `pr.yml` file in the project structure.

* Update workflow name in pr.yml

Changed the workflow name from `.NET` to `PullRequest` for better clarity and to indicate its purpose in handling pull requests.

* Update build command to use Release configuration

Modified the `dotnet build` command to include the `--configuration Release` option. This change ensures that the build process targets the Release mode instead of the default Debug mode, enhancing the overall build process.

* Update build and test commands in pr.yml

Added `--configuration Release` to `dotnet build` and
`dotnet test` commands to ensure optimized performance
for production environments. The `--no-restore` and
`--no-build` options remain unchanged.
2025-07-11 12:43:54 +01:00
Ieuan Walker
c42eee7ae5 Update unit test nugets (#46)
* Update testing packages in project file

Upgraded `Microsoft.NET.Test.Sdk` to version `17.14.1`,
`xunit` to version `2.9.3`, and `xunit.runner.visualstudio`
to version `3.1.1` in `GeoUK.OSTN.XUnit.csproj` for improved
compatibility, performance, and access to new features.

* Update project to target netstandard2.0

The project file `DemoProject.csproj` has been modified to use the `netstandard2.0` target framework instead of `netcoreapp2.2`. XML formatting has been improved with added indentation for better readability, while project references remain unchanged but are now consistently indented.
2025-07-11 11:31:14 +01:00
markgloverswaybtinternetcom
2e41a3d860 Update Osgb36.cs with variable precision grid reference (#45)
* Update Osgb36.cs

Replace fixed imprecise grid reference with variable precision one

* Compatible default OS Digits

Alter default OS Digits to be compatible with existing code

* Refactor OsDigits initialization and GetBngSquare logic

- Initialize OsDigits property to OsDigitsType.OsDigits6 by default.
- Remove redundant assignment of OsDigits in the constructor.
- Reformat switch statement for clarity.
- Improve readability of conditional check in GetBngSquare method.

* Update terminology from "metre" to "meter"

Changed comments for OS Grid Reference digit types to use "meter" instead of "metre" for 6, 8, 10, and 12 digit references, aligning with American English conventions.

* Update project to target .NET 9.0 and improve formatting

The project file `GeoUK.OSTN.XUnit.csproj` has been updated to target .NET 9.0 instead of .NET Core 2.2. The structure of the `<PropertyGroup>` and `<ItemGroup>` elements has been adjusted for better formatting, while the content remains unchanged. Additionally, the `<None>` and `<Content>` items have been reformatted for consistency, and the `<PackageReference>` and `<ProjectReference>` elements have been improved for readability.

---------

Co-authored-by: Ieuan Walker <walker.ieuan@gmail.com>
2025-07-11 11:21:35 +01:00
9 changed files with 275 additions and 151 deletions

27
.github/workflows/pr.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
name: PullRequest
on:
pull_request:
branches: [ "master" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --configuration Release --no-build --verbosity normal

54
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,54 @@
name: Release
on:
release:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --configuration Release --no-build --verbosity normal
- name: Pack GeoUK
run: dotnet pack GeoUK/GeoUK.csproj -c Release /p:Version=${{ github.event.release.tag_name }} --no-restore
- name: Pack GeoUK.OSTN
run: dotnet pack GeoUK.OSTN/GeoUK.OSTN.csproj -c Release /p:Version=${{ github.event.release.tag_name }} --no-restore
- name: Upload GeoUK NuGet package
uses: actions/upload-artifact@v4
with:
name: GeoUK-nuget
path: GeoUK/bin/Release/IeuanWalker.GeoUK.${{ github.event.release.tag_name }}.nupkg
- name: Upload GeoUK.OSTN NuGet package
uses: actions/upload-artifact@v4
with:
name: GeoUK.OSTN-nuget
path: GeoUK.OSTN/bin/Release/IeuanWalker.GeoUK.OSTN.${{ github.event.release.tag_name }}.nupkg
- name: Setup NuGet
uses: NuGet/setup-nuget@v1.1.1
- name: Publish GeoUK to NuGet.org
run: dotnet nuget push GeoUK/bin/Release/IeuanWalker.GeoUK.${{ github.event.release.tag_name }}.nupkg --source 'https://api.nuget.org/v3/index.json' --api-key ${{ secrets.NUGET_API_KEY }}
- name: Publish GeoUK.OSTN to NuGet.org
run: dotnet nuget push GeoUK.OSTN/bin/Release/IeuanWalker.GeoUK.OSTN.${{ github.event.release.tag_name }}.nupkg --source 'https://api.nuget.org/v3/index.json' --api-key ${{ secrets.NUGET_API_KEY }}

View File

@@ -1,13 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\GeoUK.OSTN\GeoUK.OSTN.csproj" />
<ProjectReference Include="..\..\GeoUK\GeoUK.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\GeoUK.OSTN\GeoUK.OSTN.csproj" />
<ProjectReference Include="..\..\GeoUK\GeoUK.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29102.190
# 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
@@ -15,6 +15,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{F752E48A
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
.github\workflows\release.yml = .github\workflows\release.yml
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU

View File

@@ -1,39 +1,45 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<None Remove="OSTN02_OSGM02_GB.txt" />
<None Remove="OSTN15_OSGM15_DataFile.txt" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="OSTN02_OSGM02_GB.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="OSTN15_OSGM15_DataFile.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\GeoUK\GeoUK.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
<PropertyGroup>
<Authors>Ieuan Walker</Authors>
<Company>Ieuan Walker</Company>
<Copyright>Ieuan Walker</Copyright>
<Description>This is a simple to use Geodetic Library for .Net that will allow simple transformation to and from British National Grid. See the project page for details on how to use this package.
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<None Remove="OSTN02_OSGM02_GB.txt" />
<None Remove="OSTN15_OSGM15_DataFile.txt" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="OSTN02_OSGM02_GB.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="OSTN15_OSGM15_DataFile.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\GeoUK\GeoUK.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
<PropertyGroup>
<Authors>Ieuan Walker</Authors>
<Company>Ieuan Walker</Company>
<Copyright>Ieuan Walker</Copyright>
<Description>
This is a simple to use Geodetic Library for .Net that will allow simple transformation to and from British National Grid. See the project page for details on how to use this package.
This is a port of the original GeoUK NuGet but converted to .NET Stanadard.</Description>
<PackageProjectUrl>https://github.com/IeuanWalker/GeoUK</PackageProjectUrl>
<PackageIconUrl>https://github.com/IeuanWalker/GeoUK/blob/master/icon.png?raw=true</PackageIconUrl>
<RepositoryUrl>https://github.com/IeuanWalker/GeoUK</RepositoryUrl>
<PackageTags>Geodetic, Geo, WGS84, BNG, OS, coordinate, OSGB36</PackageTags>
<PackageLicenseExpression>LGPL-3.0-only</PackageLicenseExpression>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageId>IeuanWalker.GeoUK.OSTN</PackageId>
<Version>1.0.5</Version>
</PropertyGroup>
This is a port of the original GeoUK NuGet but converted to .NET Stanadard.
</Description>
<PackageProjectUrl>https://github.com/IeuanWalker/GeoUK</PackageProjectUrl>
<PackageIcon>icon.png</PackageIcon>
<RepositoryUrl>https://github.com/IeuanWalker/GeoUK</RepositoryUrl>
<PackageTags>Geodetic, Geo, WGS84, BNG, OS, coordinate, OSGB36</PackageTags>
<PackageLicenseExpression>LGPL-3.0-only</PackageLicenseExpression>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageId>IeuanWalker.GeoUK.OSTN</PackageId>
<Version>1.0.5</Version>
</PropertyGroup>
<ItemGroup>
<None Include="..\icon.png" Pack="true" PackagePath="\"/>
</ItemGroup>
</Project>

View File

@@ -12,6 +12,26 @@ namespace GeoUK.Coordinates
/// </remarks>
public class Osgb36 : EastingNorthing
{
/// <summary> Number of Digits in OS Grid Reference</summary>
public enum OsDigitsType
{
/// <summary>2 Digits OS Grid Ref 10 km accuracy</summary>
OsDigits2,
/// <summary>4 Digits OS Grid Ref 1 km accuracy</summary>
OsDigits4,
/// <summary>6 Digits OS Grid Ref 100 meter accuracy</summary>
OsDigits6,
/// <summary>8 Digits OS Grid Ref 10 meter accuracy</summary>
OsDigits8,
/// <summary>10 Digits OS Grid Ref 1 meter accuracy</summary>
OsDigits10,
/// <summary>12 Digits OS Grid Ref 0.1 meter accuracy</summary>
OsDigits12
}
/// <summary> Number of Digits in OS Grid Reference</summary>
public static OsDigitsType OsDigits { get; set; } = OsDigitsType.OsDigits6;
/// <summary>
/// Initializes a new instance of the <see cref="Coordinates.Osgb36Cordinates"/> class.
/// </summary>
@@ -67,11 +87,6 @@ namespace GeoUK.Coordinates
{
get
{
/*
10km (2-figure) Grid Reference: SO84 = 380000 Easting 240000 Northing
1km (4-figure) Grid Reference: NS2468 = 224000 Easting 668000 Northing
100m (6-figure) Grid Reference: TL123456 = 512300 Easting 245600 Northing
*/
double easting = Easting;
double northing = Northing;
@@ -91,10 +106,34 @@ namespace GeoUK.Coordinates
northing -= indexNorthing * 100000;
easting -= indexEasting * 100000;
northing = Math.Round(northing / 100);
easting = Math.Round(easting / 100);
return $"{bngSquare}{Math.Round(easting):000}{Math.Round(northing):000}";
switch(OsDigits)
{
case OsDigitsType.OsDigits2: //10km(2 - figure) Grid Reference: SO84 = 380000 Easting 240000 Northing
northing = Math.Round(northing / 10000);
easting = Math.Round(easting / 10000);
return $"{bngSquare}{Math.Round(easting):0}{Math.Round(northing):0}";
case OsDigitsType.OsDigits4: //1km(4 - figure) Grid Reference: NS2468 = 224000 Easting 668000 Northing
northing = Math.Round(northing / 1000);
easting = Math.Round(easting / 1000);
return $"{bngSquare}{Math.Round(easting):00}{Math.Round(northing):00}";
default:
case OsDigitsType.OsDigits6: // 100m (6-figure) Grid Reference: TL123456 = 512300 Easting 245600 Northing
northing = Math.Round(northing / 100);
easting = Math.Round(easting / 100);
return $"{bngSquare}{Math.Round(easting):000}{Math.Round(northing):000}";
case OsDigitsType.OsDigits8:// 10m (8-figure) Grid Reference
northing = Math.Round(northing / 10);
easting = Math.Round(easting / 10);
return $"{bngSquare}{Math.Round(easting):0000}{Math.Round(northing):0000}";
case OsDigitsType.OsDigits10:// 1m (10-figure) Grid Reference
northing = Math.Round(northing);
easting = Math.Round(easting);
return $"{bngSquare}{Math.Round(easting):00000}{Math.Round(northing):00000}";
case OsDigitsType.OsDigits12:// 0.1m (12-figure) Grid Reference
northing = Math.Round(northing * 10);
easting = Math.Round(easting * 10);
return $"{bngSquare}{Math.Round(easting):00000}{Math.Round(northing):00000}";
}
}
}
@@ -109,7 +148,8 @@ namespace GeoUK.Coordinates
string result = string.Empty;
//test for our upper and lower limits
if (easting < 0 || easting > 700000 || northing < 0 || northing > 1300000) return result;
if(easting < 0 || easting > 700000 || northing < 0 || northing > 1300000)
return result;
char[] firstChar = { 'S', 'N', 'H', 'T', 'O', 'J' };
char[] secondChar = { 'V', 'Q', 'L', 'F', 'A', 'W', 'R', 'M', 'G', 'B', 'X', 'S', 'N', 'H', 'C', 'Y', 'T', 'O', 'J', 'D', 'Z', 'U', 'P', 'K', 'E' };

View File

@@ -1,21 +1,27 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<Authors>Ieuan Walker</Authors>
<Company />
<Description>This is a simple to use Geodetic Library for .Net that will allow simple transformation to and from British National Grid. See the project page for details on how to use this package.
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<Authors>Ieuan Walker</Authors>
<Company />
<Description>
This is a simple to use Geodetic Library for .Net that will allow simple transformation to and from British National Grid. See the project page for details on how to use this package.
This is a port of the original GeoUK NuGet but converted to .NET Stanadard.</Description>
<Copyright>Ieuan Walker</Copyright>
<PackageProjectUrl>https://github.com/IeuanWalker/GeoUK</PackageProjectUrl>
<PackageIconUrl>https://github.com/IeuanWalker/GeoUK/blob/master/icon.png?raw=true</PackageIconUrl>
<RepositoryUrl>https://github.com/IeuanWalker/GeoUK</RepositoryUrl>
<PackageTags>Geodetic, Geo, WGS84, BNG, OS, coordinate, OSGB36</PackageTags>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageLicenseExpression>LGPL-3.0-only</PackageLicenseExpression>
<PackageId>IeuanWalker.GeoUK</PackageId>
<Version>1.0.5</Version>
</PropertyGroup>
This is a port of the original GeoUK NuGet but converted to .NET Stanadard.
</Description>
<Copyright>Ieuan Walker</Copyright>
<PackageProjectUrl>https://github.com/IeuanWalker/GeoUK</PackageProjectUrl>
<PackageIcon>icon.png</PackageIcon>
<RepositoryUrl>https://github.com/IeuanWalker/GeoUK</RepositoryUrl>
<PackageTags>Geodetic, Geo, WGS84, BNG, OS, coordinate, OSGB36</PackageTags>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageLicenseExpression>LGPL-3.0-only</PackageLicenseExpression>
<PackageId>IeuanWalker.GeoUK</PackageId>
<Version>1.0.5</Version>
</PropertyGroup>
<ItemGroup>
<None Include="..\icon.png" Pack="true" PackagePath="\"/>
</ItemGroup>
</Project>

View File

@@ -1,30 +1,19 @@
![Dependabot](https://api.dependabot.com/badges/status?host=github&repo=IeuanWalker/GeoUK) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/6b7e9e6fe8844188911c8a69a2e9905a)](https://app.codacy.com/app/ieuan.walker007/GeoUK?utm_source=github.com&utm_medium=referral&utm_content=IeuanWalker/GeoUK&utm_campaign=Badge_Grade_Dashboard) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FIeuanWalker%2FGeoUK.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FIeuanWalker%2FGeoUK?ref=badge_shield)
This is port from [GeoUK](https://bitbucket.org/johnnewcombe/geouk/src/master/). I created this port to convert the project to .NET Standard
This is a port from [GeoUK](https://bitbucket.org/johnnewcombe/geouk/src/master/). I created this port to convert the project to .NET Standard
The original authors have created a blog post detailing how to use both NuGet packages - [Converting Latitude and Longitude to British National Grid in C#](http://www.codeproject.com/Articles/1007147/Converting-Latitude-and-Longitude-to-British-Natio). Please go and read this article to get a better understanding of the concepts used.
> TIP: When working with locations i like to use this website - [Grid reference finder](https://gridreferencefinder.com/)
> TIP: When working with locations, I like to use this website - [Grid reference finder](https://gridreferencefinder.com/)
# GeoUK [![Nuget](https://img.shields.io/nuget/v/IeuanWalker.GeoUK.svg) ![Nuget](https://img.shields.io/nuget/dt/IeuanWalker.GeoUK.svg)](https://www.nuget.org/packages/IeuanWalker.GeoUK/)
# GeoUK [![Nuget](https://img.shields.io/nuget/v/IeuanWalker.GeoUK.svg) ![Nuget](https://img.shields.io/nuget/dt/IeuanWalker.GeoUK.svg)](https://www.nuget.org/packages/IeuanWalker.GeoUK/) [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0)
[![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0)
[![Build Status](https://dev.azure.com/ieuanwalker/GeoUK/_apis/build/status/IeuanWalker.GeoUK?branchName=master)](https://dev.azure.com/ieuanwalker/GeoUK/_build/latest?definitionId=7&branchName=master)
The project allows for a conversion from GPS coordinates to British National Grid and back again. The product is licensed under the [GNU Lesser General Public License (LGPL)](https://www.gnu.org/licenses/lgpl-3.0.en.html).
# GeoUK.OSTN [![Nuget](https://img.shields.io/nuget/v/IeuanWalker.GeoUK.OSTN.svg) ![Nuget](https://img.shields.io/nuget/dt/IeuanWalker.GeoUK.OSTN.svg)](https://www.nuget.org/packages/IeuanWalker.GeoUK.OSTN/)
[![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0)
[![Build Status](https://dev.azure.com/ieuanwalker/GeoUK/_apis/build/status/IeuanWalker.GeoUK.OSTN?branchName=master)](https://dev.azure.com/ieuanwalker/GeoUK/_build/latest?definitionId=8&branchName=master)
# GeoUK.OSTN [![Nuget](https://img.shields.io/nuget/v/IeuanWalker.GeoUK.OSTN.svg) ![Nuget](https://img.shields.io/nuget/dt/IeuanWalker.GeoUK.OSTN.svg)](https://www.nuget.org/packages/IeuanWalker.GeoUK.OSTN/) [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0)
The GeoUk.OSTN project, adds OSTN02 and OSTN15 transformation which provide a greater accuracy. It should be noted that the this package contains the OSGM02 geoid and OSTN02 OSTN15 transformations, as a result is fairly large, in addition, transformations will be slower than using the Helmert transformations as used in the above nuget. The product is licensed under the [GNU Lesser General Public License (LGPL)](https://www.gnu.org/licenses/lgpl-3.0.en.html).
@@ -89,8 +78,4 @@ Osgb36 bng = GeoUK.OSTN.Transform.Etrs89ToOsgb(latLong);
```
# License
Both NuGet packages are licenced under [GNU Lesser General Public License (LGPL)](https://www.gnu.org/licenses/lgpl-3.0.en.html). This to respect the previous arthors licence. Learn more [here.](https://tldrlegal.com/license/gnu-lesser-general-public-license-v3-(lgpl-3))
## License
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FIeuanWalker%2FGeoUK.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FIeuanWalker%2FGeoUK?ref=badge_large)
Both NuGet packages are licensed under [GNU Lesser General Public License (LGPL)](https://www.gnu.org/licenses/lgpl-3.0.en.html). This is to respect the previous author's licence. Learn more [here.](https://tldrlegal.com/license/gnu-lesser-general-public-license-v3-(lgpl-3))

View File

@@ -1,64 +1,64 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<None Remove="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestInput_ETRS89toIG.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestInput_IGtoETRS89.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestOutput_ETRS89toIG.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestOutput_IGtoETRS89.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestFiles_README.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestInput_ETRStoOSGB.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestInput_OSGBtoETRS.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestOutput_ETRStoOSGB.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestOutput_OSGBtoETRS.txt" />
</ItemGroup>
<ItemGroup>
<None Remove="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestInput_ETRS89toIG.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestInput_IGtoETRS89.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestOutput_ETRS89toIG.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestOutput_IGtoETRS89.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestFiles_README.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestInput_ETRStoOSGB.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestInput_OSGBtoETRS.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestOutput_ETRStoOSGB.txt" />
<None Remove="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestOutput_OSGBtoETRS.txt" />
</ItemGroup>
<ItemGroup>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestInput_ETRS89toIG.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestInput_IGtoETRS89.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestOutput_ETRS89toIG.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestOutput_IGtoETRS89.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestFiles_README.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestInput_ETRStoOSGB.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestInput_OSGBtoETRS.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestOutput_ETRStoOSGB.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestOutput_OSGBtoETRS.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestInput_ETRS89toIG.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestInput_IGtoETRS89.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestOutput_ETRS89toIG.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSGM15_NI_TestOutput_IGtoETRS89.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestFiles_README.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestInput_ETRStoOSGB.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestInput_OSGBtoETRS.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestOutput_ETRStoOSGB.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestDataFiles_OSGM15_OSTN15\OSTN15_OSGM15_TestOutput_OSGBtoETRS.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\GeoUK.OSTN\GeoUK.OSTN.csproj" />
<ProjectReference Include="..\..\GeoUK\GeoUK.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\GeoUK.OSTN\GeoUK.OSTN.csproj" />
<ProjectReference Include="..\..\GeoUK\GeoUK.csproj" />
</ItemGroup>
</Project>