Cuando tenemos un conjunto de datos con coordenadas geográficas (GCS WGS 1984) podemos en ArcGIS Online visualizar las coordenadas en grados, minutos y segundos. Para lograr esto se puede usar ArcGIS Arcade | ArcGIS for Developers.
Ojo: para poder usar la expresión el conjunto de puntos debe ser publicado con coordenadas geográficas (ejemplo: GCS WGS 1984)
Situación inicial:
Pero queremos visualizar:
El primer paso es entrar a la configuración de la ventana emergente, donde encontramos para crear expresiones de atributos:
Empecemos con agregar una expresión para la Latitud:
Código Arcade:
Function LAT_g_m_s(grados_decimales) {
/* grados decimales a gra min seg */
var grados = Floor(Abs(grados_decimales), 0);
if (grados_decimales < 0) {
var quad = 'S';
} else {
var quad = 'N';
}
var min_seg = Abs(grados_decimales) * 60 - grados * 60;
var minutos = Floor(min_seg);
var segundos = min_seg * 60 - minutos * 60;
var gms = Text(grados, "###") + "° " + Text(minutos, "00") + "' " + Text(segundos, "00.000") + '" ' + quad;
return gms;
}
return LAT_g_m_s($feature.Latitude);
Para el Longitud es una expresión bastante similar:
Código Arcade:
Function LON_g_m_s(grados_decimales) {
/* grados decimales a gra min seg */
var grados = Floor(Abs(grados_decimales), 0);
if (grados_decimales < 0) {
var quad = 'O';
} else {
var quad = 'E';
}
var min_seg = Abs(grados_decimales) * 60 - grados * 60;
var minutos = Floor(min_seg);
var segundos = min_seg * 60 - minutos * 60;
var gms = Text(grados, "###") + "° " + Text(minutos, "00") + "' " + Text(segundos, "00.000") + '" ' + quad;
return gms;
}
return LON_g_m_s($feature.Longitude);
El resultado es que en la ventana emergente se visualizará el texto de Latitud y Longitud con grados, minutos y segundos:
En caso que no cuente con atributos que contienen las coordenadas en grados decimales, se puede usar la geometría. Las funciones "LAT_g_m_s" y "LON_g_m_s" quedarán lo mismo pero se suministren las propiedades de la geometría.
Para Latitud:
//return LAT_g_m_s($feature.Latitude);
return LAT_g_m_s(Geometry($feature).Y);
Para Longitud:
//return LON_g_m_s($feature.Longitude);
return LON_g_m_s(Geometry($feature).X);