Español

Error: La capa no se dibujó completamente porque había demasiadas entidades que visualizar

Mensaje de error

Al visualizar un servicio de entidades alojado en el Visor de mapas de ArcGIS Online, en ocasiones se devuelve la advertencia "La capa no se dibujó completamente porque había demasiadas entidades que visualizar". Es previsible que aparezca este mensaje al intentar visualizar un gran número de entidades en el Visor de mapas. Este mensaje advierte de que no es posible dibujar completamente todas las entidades que se esperaba ver en la extensión de mapa y que pueden faltar algunas entidades en la visualización.

User-added image

Al visualizar entidades de un servicio en el Visor de mapas, se envían solicitudes al servidor para obtener las entidades del servicio y representarlas en el mapa web. El tipo de solicitudes que se envían desde el Visor de mapas al servicio son solicitudes de consulta que contienen parámetros para determinar cuántas entidades pueden visualizarse en un momento determinado.

Causa

Anteriormente, el número de entidades que podrían dibujarse de una vez desde un servicio de entidades alojado se determinaba definiendo el número máximo de registros devueltos por el servidor, lo que también se conoce como Max Record Count. El valor de Max Record Count puede definirse en el cuadro de diálogo Editor del servicio de ArcMap al publicar el servicio, o bien se asigna automáticamente en función del flujo de trabajo de publicación. Al trabajar con una solicitud de consulta típica, el valor de Max Record Count sigue determinando el número máximo de entidades que se pueden devolver desde un servicio de una vez. Sin embargo, el Visor de mapas utiliza actualmente otro tipo de solicitud de consulta.

Actualmente, en el Visor de mapas, el número de entidades que se visualizan de una vez depende de la propiedad tileMaxRecordCount, en lugar del valor de MaxRecordCount. El valor de tileMaxRecordCount no se puede cambiar manualmente al publicar el servicio y se asigna automáticamente a una definición de servicio, a diferencia de Max Record Count.

Al visualizar entidades, el Visor de mapas utiliza el valor de tileMaxRecordCount del servicio, junto con la extensión actual del mapa web. La extensión del mapa web se divide en secciones que se conocen como "teselas" y que no son visibles en el mapa. Se envía una solicitud al servicio por cada tesela presente en la extensión del Visor de mapas. El valor de tileMaxRecordCount del servicio limita el número de entidades que se visualizan dentro de cada tesela. Si el número de entidades contenidas en una tesela es menor que el valor de tileMaxRecordCount, es posible mostrar todas las entidades de la tesela. Si el número de entidades contenidas en una tesela es superior al valor de tileMaxRecordCount, no es posible visualizar todas las entidades y se devuelve el mensaje de advertencia "La capa no se dibujó completamente".

Al visualizar el extremo REST/URL de un servicio, el valor del parámetro tileMaxRecordCount no es visible de la misma forma que Max Record Count. El valor de tileMaxRecordCount solo puede verse desde la vista de administrador el extremo REST del servicio. Para acceder a esta página, agregue "/admin" a la URL del servicio, entre "/rest" y "/services". Por ejemplo:

http://services.myserver.com/ERmEceOGq5cHrItq/ArcGIS/rest/admin/services/USA/FeatureServer
Nota: 
Para acceder a la vista de administrador, es necesario ser propietario del servicio. 

Desde la vista de administrador del extremo REST, vaya a "Actualizar definición" en la parte inferior de la página y busque la propiedad tileMaxRecordCount dentro de los detalles de definición. En la imagen que aparece a continuación, tileMaxRecordCount tiene el valor predeterminado 4000. Esto significa que, cuando el Visor de mapas solicita la visualización del servicio, es posible mostrar solo 4.000 entidades en cada tesela. En el caso de las entidades de puntos, tileMaxRecordCount tiene el valor predeterminado 8000. Para las polilíneas y los polígonos, este valor es 4000 de forma predeterminada, dado que existen más vértices en estas entidades.

User-added image

A medida que se acerca o aleja en el mapa web y cambia la extensión, el número de teselas de esa extensión puede cambiar o no. El mapa base que el servicio de visualiza en primer plano está dividido en una cuadrícula definida de teselas para cada nivel de escala. Al acercarse, las teselas se vuelven más pequeñas que las de los niveles de escala anteriores y es previsible que se dibujen menos entidades dentro de cada tesela. Por tanto, es menos probable que el mensaje de advertencia aparezca. Por contra, al alejarse, las teselas se vuelven más grandes en comparación con los niveles de escala anteriores y pueden caber más entidades en cada tesela individual. Solo es posible mostrar un total de 4.000 entidades por tesela, y es más probable que aparezca el mensaje de advertencia.

Solución o solución alternativa

Actualmente no existe ninguna forma de cambiar el valor del parámetro tileMaxRecordCount al publicar el servicio ni mediante la actualización de la definición de servicio en REST. Sin embargo, es posible cambiar el valor de maxRecordCountFactor mediante la actualización de la definición de servicio. Para actualizar la definición de servicio, vaya a la vista de administrador de la URL del servicio, de la forma descrita arriba. En la definición de servicio, busque el parámetro de maxRecordCountFactor. De forma predeterminada, este parámetro tiene el valor 1. Si el objetivo es incrementar el valor de tileMaxRecordCount de forma que sea posible dibujar más entidades en cada tesela, incremente este valor para que sea superior a 1. Para reducir el número de entidades que se dibujan en cada tesela, reduzca el valor para que sea menor que 1.

Nota:
No se recomienda hacer cambios en el valor de maxRecordCountFactor, dado que el incremento de este valor puede afectar al rendimiento del navegador. 

Información relacionada