Centenas de atributos causarão problemas de desempenho em uma camada do ArcGIS Server?


8

Isso está relacionado ao ArcGIS Server 10.0 SP1, com dados fornecidos a partir de uma classe de recurso de polígono do geodatabase de arquivo.

1) Por motivos de desempenho, é uma má idéia ter uma classe de recurso com centenas de atributos?

2) É uma má idéia criar um serviço de mapa do ArcGIS Server (contendo centenas de atributos) dessa classe de recurso?

3) Existe uma implicação no desempenho se eu criar um featureLayer na API JS e especificar apenas os atributos que preciso atualmente?

por exemplo, o serviço de mapa pode conter 500 atributos, mas eu defino minha camada de recurso usando

featureLayer.fields = [x, y, z]

Obrigado por qualquer conselho e informe-nos se precisar de mais detalhes.


Você realmente quer dizer o ArcGIS Server 10.0 Service Pack 1 ou a versão 10.1 ainda não lançada?
Bjorn Svensson

Desculpe, eu quis dizer 10.0 SP1
Stephen Lead

Respostas:


6

Em suma, não é o ideal, mas também pode não ser tão ruim ...

Em (3) - desde que você sempre especifique os campos específicos que deseja, o único "acerto" extra deve estar na solicitação inicial dos metadados do serviço (que será um pouco maior devido aos muitos campos).

Se você conhece o "conjunto" ou o "tema" dos campos agrupados que seu aplicativo usará (entre os 500), convém criar camadas no serviço de mapas que correspondam de acordo. Mas se sua lista de campos for mais dinâmica, vá em frente como estava pensando.

No entanto, quanto ao desempenho, primeiro concentrei seu tempo em otimizar / generalizar seus polígonos (já que o tamanho destes provavelmente causará mais impacto no tempo de download, no tempo de desenho, na carga etc.). :)


Bjorn, obrigado pela informação, o que é tranquilizador. re: generalização, isso ocorre on-the-fly com base na extensão do mapa, e os polígonos aplicáveis ​​a essa escala serão mostrados. Vou postar o link quando o site estiver ativo.
Stephen Lead

2
FWIW, criei uma classe de recurso com cerca de 200 atributos numéricos. Se eu definir um featureLayer usando FIELDS = "*" e executar uma consulta, o resultado será de 4,7 kb. Se eu definir FIELDS como um único campo, o resultado será em torno de 280b. Isso parece indicar que a configuração de featureLayer.fields faz um bom trabalho retornando apenas as informações necessárias.
Stephen Lead
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.