logo  GPS Support Functions
This Chapter
GPS & OS Ref
GPS to OS (GB)
OS(GB) to GPS
OS(GB) Format
GPS Format
Chapters
Home Page
Colours, RGB
Computer Specifications
Dates&Times
Disk Drives
Files
Folders
GPS and OS Ref
VB.Net Forms
Image Files
If & Select
List/Array
Mathematics
NuGet
Sound
String Functions
Sun and Moon
User Controls
Validation
DigitalDan Sites
My Other Sites
Contact Site

Note
Some pages
may contain
inaccuracies
Hits=5
Is Latitude/Longitude Valid

Private Function IsValidLatitudeLongitude(lat As Double, lon As Double) As Boolean
 If lat < -90 OrElse lat > 90 OrElse lon <= -180 OrElse lon > 180 Then
  Return False
 End If
 Return True
End Function
  
Is Latitude/Longitude within OS National Grid
Whilst some parts of Northern Ireland could be represented by the OS National Grid for Great Britain, they are normally represented using the Irish National Grid.

Public Shared Function IsValidGpsForOsGrid(lat As Double, lon As Double) As Boolean
 ' test valid for all land areas within England, Wales and Scotland (including islands)
 ' offshore locations close to the extreme limits of the OS National Grid could return false "Invalid" result
 If lon < -8 Or lon > 1.9 Then Return False
 If lat < 49.87 Or lat > 61 Then Return False
 If lat < -7 And lon < 54 Then Return False
 Return True
End Function
  
Converting Degrees to Degrees and Minutes

Private Function Degrees_To_DegreesMinutes(deg As Double) As DegreesMinutes
 Dim ret As DegreesMinutes
 ret.Degrees = Math.Floor(deg)
 ret.Minutes = 60 * (deg - ret.Degrees)
 Return ret
End Function
'
Public Structure DegreesMinutes
 Dim Degrees As Integer
 Dim Minutes As Double
End Structure
  
Converting Degrees To Degrees, Minutes and Seconds

Private Function Degrees_To_DegreesMinutesSeconds(deg As Double) As DegreesMinutesSeconds
 Dim ret As DegreesMinutesSeconds
 Dim minutes As Double
 ret.Degrees = Math.Floor(deg)
 minutes = 60 * (deg - ret.Degrees)
 ret.Minutes = Math.Floor(minutes)
 ret.Seconds = 60 * (minutes - ret.Minutes)
 Return ret
End Function
'
Public Structure DegreesMinutesSeconds
 Dim Degrees As Integer
 Dim Minutes As Integer
 Dim Seconds As Double
End Structure
  
Converting Degrees and Minutes To Degrees

Private Function DegreesMinutesToDegrees(degrees As Double, minutes As Double) As Double
 Return degrees + (minutes / 60)
End Function
  
Converting Degrees, Minutes and Seconds To Degrees

Private Function DegreesMinutesSecondsToDegrees(degrees As Double, minutes As Double, seconds As Double) As Double
 Return degrees + (minutes / 60) + (seconds / 3600)
End Function
  

DigitalDan.co.uk