Conversión de coordenadas GPS C#
1. Conversión decimal de latitud y longitud
El método para convertir longitud y latitud a decimal es muy simple.
Lo siguiente es suficiente.
Grados decimales = grados + minutos/60 + segundos/3600
Por ejemplo: 57 55 ' 56.6 " = 57+55/656.6/3600 = 57. 56866.88668666667 p >
114 65 ' 24.6 " = 114+65/624.6/3600 = ¡Calcula el resultado tú mismo!
Tome la longitud (205, 2005) como ejemplo. 38800.68868688686
Convertir datos a coordenadas (grados, minutos, segundos) (205 23' 44.1", 57 55' 56.6").
Los pasos son los siguientes:
1, lee el "grado" directamente: 205
2, (205.3332-205) * 60 = 23.920 para obtener el "punto": 23 .
3, (23.7349999920-23)*60 = 44.099995200 para obtener "segundos": 44.1.
Usando el mismo método, puedes obtener las coordenadas de latitud: 57° 55′56.6″.
Si necesitas convertir una gran cantidad de datos de latitud y longitud, puedes usar Analizador de consultas Sql o Excel para conversión. Este artículo Se presenta el método de uso de Sql
Supongamos que la tabla tableName en mi base de datos tiene los siguientes datos
Crear tabla [dbo].
[Nombre de la tabla](
[ID] [int] IDENTITY(1, 1) no está vacía,
[dirección][varchar](20)COLLATE Chinese _ PRC _ CI _ AS NULL,
[Longitud][Flotante]Nulo,
[Latitud][Flotante]Nulo
) ON[Principal]
Ir
Datos en la tabla
ID dirección longitud latitud
0 más 65438+
1 agregar 2 205.3911111 57.95194444
205.3791667
3 agregar 4 205.3713889 57.95611111
Llame a la siguiente declaración de consulta directamente en el analizador de consultas SQL
-Anunciar longitud, latitud
declarar @LoaDeg varchar(50)
declarar @ loam en varchar(100)
declarar @ LoaSec varchar(100)
declarar @LatDeg varchar(50)
declarar @ LatMin varchar(100)
declarar @ LatSec varchar(100)
-Establecer variables
Establecer @LoaDeg='left(longitude, 3)'
Set @LoaMin='left((longitude-'+@LoaDeg+')*60, 2)'
Set @LoaSec ='left((((Longitud-'+@ LoaDeg+')* 60-'+@ LoaMin+')* 60), 4)'
Establecer @LatDeg='left(Longitud, 3 )'
Establecer @LatMin='left(((Longitude-'+@LatDeg+')*60, 2)'
Establecer @LatSec='left((((Longitud- ' +@ LatDeg+')* 60-'+@ LatMin+')* 60), 4)'
-Ejecutar comando
exec('Seleccionar ID, dirección, longitud, < / p>
+@LoaDeg+' representa el grado de carga,
+@LoaMin+' se usa como LoaMinute,
+@LoaSec+' se usa como LoaSecond
,
+@LatDeg+' como latitud,
+@LatMin+' como LatMinute,
+@LatSec+' como LatSecond
Del nombre de la tabla ')
Puedes obtener:
ID dirección longitud grados de carga minutos segundos de carga latitud latitud minutos latitud segundos
1 adición 1 205.3955833 205 23 44 57.9438 205 23 44
2 agregar 2 205.3911111205 23 28 57.95194444 205 23 28