He publicado en arcgis foro pero nunca recibí ninguna respuesta. ¿Alguien puede decirme como solucionar esto?
Supongamos que usted tiene un vehículo de seguimiento de los registros de Oct.El 1 de diciembre. 31 con información de velocidad del viento. Todos los datos se guardan en la geodatabase (sde-sqlserver) y en ArcGIS for Server 10.1 como característica de la capa. Un deslizador de tiempo para mostrar la ubicación de un coche con la velocidad del viento.
Cuando un usuario cambia un rango de tiempo (por ejemplo. Oct.2 - Oct.4), la primera tarea de consulta (para contar) calcular el número de funciones dentro de la gama. Generalmente hay más de 1000 resultados incluso dos días (por ejemplo. 1750) (no quiero cambiar este límite).
He utilizado otra tarea de consulta (executeforIds) para mantener todos los registros en la mano, pero reducir la cantidad con el módulo (1/10), que es todavía un número suficiente para hacer un bonito gráfico de una tendencia general de la velocidad del viento. Sin embargo, también quiero ofrecer una opción para descargar todo un conjunto de datos en formato csv (en este caso 1750 filas)
Aquí, he utilizado findtask para recuperar atributo del conjunto de datos dentro del rango de tiempo.
try {
//console.log(app.objIDs);
var attribs;
csvdata = "";
var find = new esri.tasks.FindTask("http://xyz.com/arcgis/rest/services/Realtime/Car_Wind_WM/MapServer");
var params = new esri.tasks.FindParameters();
params.layerIds = [0];
params.searchFields = ["OBJECTID"];
for (var i = 0; i < app.objIDs.length; i++) {
params.searchText = app.objIDs[i];
find.execute(params, function (results) {
attribs = results[0].feature.attributes;
csvdata += attribs.Date_Central + ',' + attribs.Longitude + "," + attribs.Latitude + "," + attribs.windspeed + "\n";
console.log(csvdata); //1
}, function (error) {
alert("Error");
});
}
} catch (error) {
alert("Change the time range first");
}
console.log(csvdata); //2
setTimeout(function () {
formatData(app.csvdata);
}, (3 * 1000));
csvdata no estaba definida en la consola.log2, a pesar de todos los csvdata (en la consola.log1) muestran los datos en la consola. El problema parece momento de encontrar.ejecutar completo, así que he añadido a setTimeout.
Esto parece funcionar, pero cuando puedo aumentar el rango de tiempo, no obviamente.
Es de todos modos hay que mantener todos los registros (1000 - 200,000) en un intervalo de tiempo específico y exportar a csv?