Red de conocimiento informático - Computadora portátil - Conversión de coordenadas GPS C#

Conversión de coordenadas GPS C#

Método de conversión de coordenadas de latitud y longitud GPS

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

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