¿Cientos de atributos causarán problemas de rendimiento en una capa de ArcGIS Server?

8

Esto se relaciona con ArcGIS Server 10.0 SP1, con datos servidos desde una clase de entidad de polígono de geodatabase de archivos.

1) Por razones de rendimiento, ¿es una mala idea tener una clase de características con cientos de atributos?

2) ¿Es una mala idea crear un servicio de mapas de ArcGIS Server (que contenga cientos de atributos) a partir de esta clase de entidad?

3) ¿Existe alguna implicación en el rendimiento si construyo un FeatureLayer en la API de JS y solo especifico los atributos que necesito actualmente?

por ejemplo, el servicio de mapas puede contener 500 atributos, pero defino mi capa de entidades usando

featureLayer.fields = [x, y, z]

Gracias por cualquier consejo, y avíseme si necesita más detalles.

Stephen Lead
fuente
¿Realmente te refieres a ArcGIS Server 10.0 Service Pack 1, o la versión 10.1 aún no lanzada?
Bjorn Svensson
Lo siento, quise decir 10.0 SP1
Stephen Lead

Respuestas:

6

En resumen, no es óptimo, pero puede que tampoco sea tan malo ...

On (3): siempre que especifique los campos específicos que desea, el único "hit" adicional debe estar en la solicitud inicial de los metadatos del servicio (que será un poco más grande debido a los muchos campos).

Si conoce el "conjunto" o el "tema" de los campos agrupados que usará su aplicación (de los 500), es posible que desee crear capas en el servicio de mapas que correspondan en consecuencia. Pero si su lista de campos es más dinámica, continúe como estaba pensando.

Sin embargo, en cuanto al rendimiento, primero enfocaría su tiempo en optimizar / generalizar sus polígonos (ya que es probable que el tamaño de estos tenga un mayor impacto en el tiempo de descarga, el tiempo de dibujo, la carga, etc.). :)

Bjorn Svensson
fuente
Bjorn, gracias por la información, que es tranquilizadora. re: generalización, esto ocurre sobre la marcha en función de la extensión del mapa, y se mostrarán los polígonos aplicables para esa escala. Publicaré el enlace cuando el sitio esté activo.
Stephen Lead
2
FWIW, creé una clase de características con aproximadamente 200 atributos numéricos. Si defino un featureLayer usando FIELDS = "*" y realizo una consulta, el resultado es de alrededor de 4.7 kb. Si defino CAMPOS como un solo campo, el resultado es alrededor de 280b. Esto parece indicar que la configuración de featureLayer.fields hace un buen trabajo al devolver solo la información requerida.
Stephen Lead