¿Cómo mejorar el rendimiento de representación de un shapefile muy grande?

20

Tengo un shapefile de polígono que tiene un componente de archivo .dbf de 100MB, y un componente de .shp de 500MB. La razón por la que es tan grande es que está clasificada como una base para todo un distrito.

Cada vez que veo el archivo en ArcCatalog o ArcMap, y muevo la ventana de visualización un poco, todo el archivo debe volver a dibujarse desde cero. He intentado la indexación e importación espacial en una geodatabase, ninguno de los dos enfoques ofrece una mejora notable en el rendimiento con respecto a la representación.

La página de ayuda de Esri sugiere que para mejorar el rendimiento del shapefile, el usuario puede generalizar el archivo . Si bien esto obviamente funcionaría, no quiero perder ninguna información. Dividir el archivo no es ideal, ya que estoy haciendo mucho geoprocesamiento / consultas con toda su área. Supongo que podría evitar ver toda el área a la vez, pero a veces, por ejemplo, es bueno ver qué partes del archivo ha seleccionado una consulta.

¿Hay algún otro enfoque que pueda tomar para mejorar el rendimiento de representación?

(En teoría, la construcción de "pirámides" de shapefiles sería ideal. No estoy seguro de por qué ArcGIS nunca ha apoyado tal enfoque, al menos de lo que estoy al tanto ...)

    
pregunta youzer 24.10.2012 - 03:29

6 respuestas

22

Mis pensamientos son:

  1. Exporte su shapefile a una clase de entidad de geodatabase de archivos: creo su rendimiento de dibujo será mejor pero no estoy seguro de cuánto
  2. Si está utilizando ArcGIS Desktop 10.0 o posterior, muévalo a Capa de mapa base : esto mejorará dramáticamente el rendimiento del dibujo
  3. Si te gusta el sonido de las pirámides para datos vectoriales, asegúrate de votar por esta ArcGIS Idea .
respondido por el PolyGeo 24.10.2012 - 03:44
5

Hay muchos consejos para mejorar el rendimiento de ArcMap que pueden ayudar, pero aquí hay tres sugerencias que he usado.

  1. Me aseguraría de que el sistema de coordenadas del Marco de datos coincida con mi shapefile y con cualquier otra capa que tenga en la tabla de contenido; Pero cuantas menos capas se muestren, mejor.
  2. Solo usaría mi simbología basada en líneas y rellenos simples sin transparencia u otras complejidades.
  3. Si necesita una vista general y la capacidad de acercarse, considere usar la lupa o el visor.
respondido por el John 24.10.2012 - 16:31
4

¿Necesita renderizar el mapa para realizar sus consultas? ¿Qué sucede si ejecutó scripts de Python y accedió a los datos sin dibujar el mapa? No estoy seguro de tu proceso exacto, necesidades, etc., pero un pensamiento.

    
respondido por el gm70560 30.10.2012 - 19:53
3

Puede mejorar la representación configurando los parámetros de visualización de la capa para que la capa no se muestre en escalas grandes (por ejemplo, > 1: 10,000). Puede encontrar esta opción en las propiedades de capa: Propiedades de capa > Ficha General > "No mostrar la capa cuando se aleja más allá de ..."

Además, la ubicación de almacenamiento es importante, por ejemplo, si se almacena en un servidor antiguo con poco ancho de banda, se garantiza que tendrá un rendimiento bajo. Manejo rutinariamente datos vectoriales de 1GB + a través de un servidor, lo que me hace cuestionar si las especificaciones de su sistema necesitan actualizarse (para referencia, estoy ejecutando 12GB de RAM, 2ª generación i7, tarjeta gráfica promedio).

    
respondido por el Aaron 25.10.2012 - 14:59
3

Como un poco de seguimiento de respuesta de Aaron , también puede usar una consulta de definición para limitar el número de los resultados obtenidos para la visualización (e incluye el análisis, creo que funciona como una selección). Si no se necesitan todas las funciones para ver en un momento dado y no está cambiando de región a tonelada, una consulta de definición podría ser una solución viable, aunque no una respuesta exacta a su pregunta o sus necesidades.

    
respondido por el nicksan 30.10.2012 - 20:32
3

Escucho tu frustración. Normalmente trabajo con shapefiles grandes como este y no tengo problemas de visualización, en general. Estoy de acuerdo con todos los comentarios anteriores, especialmente asegurándome de que todo esté en la misma proyección, incluido el marco de datos. ¿Supongo que ha copiado el archivo localmente y no está intentando acceder a él a través de la red? Una cosa que causará problemas de visualización con shapefiles de este tamaño es si hay una cantidad extrema de vértices, como en una red de transmisión. La única solución que he encontrado a esto es crear un script de Python para hacer definiciones de capas sobre la marcha, así que solo estoy dibujando unas cuantas a la vez. Otra cosa sería actualizar la memoria gráfica y la tarjeta gráfica de su computadora.

    
respondido por el Ruth 31.10.2012 - 12:45

Lea otras preguntas en las etiquetas