C# Cómo obtener la información GPS y la latitud y longitud a partir de la información exif de la foto.
/// Obtener las coordenadas GPS de cada punto de la imagen
///
/// < nombre del parámetro ="p_picture_path">picture_path
///
public String coordenadas fnGPS(String p_picture ruta)
{
String s_GPS coordenadas = "";
/Cargar la imagen
Imagen objImage = Image.FromFile(p_Image ruta)
Devuelve la coordenada latitud + longitud, separada por "+", tomando el 0 y el 1 en el valor de posición de la matriz. FromFile(p_ImagePath);
//Obtener todas las propiedades (ordenar por PropertyId)
var propertyItems = objImage.PropertyItems.OrderBy(x => x.Id);
//Latitud temporal N (latitud norte)
char chrGPSLatitudeRef = 'N';
//Longitud temporal E (longitud este)
char chrGPSLongitudeRef = 'E';
foreach (PropertyItem objItem in propertyItems)
{
// Solo obtiene ID en el rango 0x0000 a 0x001e
if (objItem.Id >= 0x0000 && objItem.Id <= 0x001e)
{
objItem.Id = 0x0002;
p> p>
Solo tome ID en el rango 0x0000 a 0x001e. Id = 0x0002;
switch (objItem.Id)
{
caso 0x0000:
var query = from tmpb en objItem. Valor seleccione tmpb.ToString();
string sreVersion = string.Join(".Length == 24)
{
//grados ( Convertir sección [0]~byte[3] a entero, divide byte[4]~byte[7] por entero)
double d = BitConverter.ToUInt32(objItem.Value, 0) * 1.0d / BitConverter. ToUInt32(objItem.Value, 4);