CÓMO
En Portal for ArcGIS y Map Viewer de ArcGIS Online, identificar automáticamente los números faltantes en un rango puede agilizar el proceso de detección y corrección de errores. Esto puede ser muy importante en datasets de gran tamaño en los que la comprobación manual resultaría poco práctica.
Este artículo describe el flujo de trabajo para identificar un rango de números que faltan en un campo para ventanas emergentes utilizando Arcade en Portal for ArcGIS y Map Viewer de ArcGIS Online. En este ejemplo, faltan algunos números del rango de números (del 1 al 20) que aparece en el campo TestNumber, como se muestra en la imagen siguiente.
var range = [];
for (var i = 1; i <= 20; i++) {
Push(range, i);
}
var features = FeaturesetByName($map, "<layerName>", ["<fieldName>"]);
var testNumbers = [];
for (var f in features) {
if (!IsEmpty(f.TestNumber)) {
Push(testNumbers, Number(f.TestNumber));
}
}
if (Count(testNumbers) == 0) {
return "No test numbers available.";
}
testNumbers = Sort(testNumbers);
var missingNumbers = [];
for (var i in range) {
if (IndexOf(testNumbers, range[i]) == -1) {
Push(missingNumbers, range[i]);
}
}
var missingNumbersString = Concatenate(missingNumbers, ", ");
if (Count(missingNumbers) == 0) {
return "No missing test numbers within the range 1 to 20.";
} else {
return "Missing test numbers within the range 1 to 20: " + missingNumbersString;
}
El código que aparece a continuación muestra el ejemplo del script de trabajo completo.
var range = [];
for (var i = 1; i <= 20; i++) {
Push(range, i);
}
var features = FeaturesetByName($map, "Pointsss", ["TestNumber"]);
var testNumbers = [];
for (var f in features) {
if (!IsEmpty(f.TestNumber)) {
Push(testNumbers, Number(f.TestNumber));
}
}
if (Count(testNumbers) == 0) {
return "No test numbers available.";
}
testNumbers = Sort(testNumbers);
var missingNumbers = [];
for (var i in range) {
if (IndexOf(testNumbers, range[i]) == -1) {
Push(missingNumbers, range[i]);
}
}
var missingNumbersString = Concatenate(missingNumbers, ", ");
if (Count(missingNumbers) == 0) {
return "No missing test numbers within the range 1 to 20.";
} else {
return "Missing test numbers within the range 1 to 20: " + missingNumbersString;
}
situado sobre la expresión de Arcade recién creada.La imagen siguiente muestra los números que faltan en un rango específico a través de una ventana emergente.

Id. de artículo: 000032685
Obtener ayuda de expertos en ArcGIS
Empieza a chatear ahora