J'ai un fichier de formes polygonales qui a un composant de fichier de 100 Mo.dbf et 500 Mo.shp. La raison pour laquelle il est si grand, c'est qu'il est classé comme une base terrestre pour tout un quartier.
Chaque fois que je consulte le fichier dans ArcCatalog ou ArcMap et que je déplace légèrement la fenêtre de visualisation, le fichier entier doit être redessiné à partir de zéro. J'ai essayé l'indexation spatiale et l'importation dans une géodatabase - aucune des deux approches n'apporte d'amélioration notable des performances en ce qui concerne le rendu.
La page d'aide d'Esri suggère que pour améliorer les performances du fichier de formes, l'utilisateur peut généraliser le fichier . Bien que cela fonctionnerait évidemment, je ne veux perdre aucune information. Le fractionnement du fichier n'est pas idéal car je fais beaucoup de géotraitement / requêtes avec toute sa zone. Je suppose que je pourrais éviter de visualiser la zone entière à la fois - mais parfois, par exemple, il est bon de voir quelles parties du fichier une requête a sélectionnées.
Existe-t-il une autre approche que je pourrais adopter pour améliorer les performances de rendu?
(En théorie, la construction de "pyramides" de fichiers de formes serait idéale - je ne sais pas pourquoi ArcGIS n'a jamais soutenu une telle approche - du moins que je sache ...)
Réponses:
Mes pensées sont:
la source
Il existe de nombreux conseils pour améliorer les performances d'ArcMap qui pourraient vous aider, mais voici trois suggestions que j'ai utilisées.
la source
Vous pouvez améliorer le rendu en définissant les paramètres d'affichage du calque afin que le calque ne s'affiche pas à grande échelle (par exemple> 1: 10 000). Vous pouvez trouver cette option dans les propriétés du calque: Propriétés du calque> onglet Général> "Ne pas afficher le calque lors d'un zoom arrière au-delà ..."
En outre, l'emplacement de stockage est important - par exemple, s'il est stocké sur un ancien serveur avec une faible bande passante, vous avez la garantie de performances médiocres. Je gère régulièrement 1 Go + données vectorielles sur un serveur, ce qui me fait me demander si vos spécifications système doivent être mises à jour (pour référence, j'utilise 12 Go de RAM, 2e génération i7, carte graphique moyenne).
la source
Avez-vous besoin de rendre la carte pour effectuer vos requêtes? Et si vous exécutiez des scripts python et accédiez aux données sans dessiner la carte? Je ne suis pas sûr de votre processus exact, de vos besoins, etc., mais d'une pensée.
la source
Dans le prolongement de la réponse d' Aaron , vous pouvez également utiliser une requête de définition pour limiter le nombre de résultats renvoyés pour la visualisation (et cela inclut l'analyse - je pense que cela fonctionne un peu comme une sélection). Si toutes les fonctionnalités ne sont pas nécessaires pour la visualisation à un moment donné et que vous ne changez pas de région d'une tonne, une requête de définition pourrait être une solution viable, mais pas une réponse exacte à votre question ou à vos besoins.
la source
J'entends ta frustration. Je travaille régulièrement avec de grands fichiers de formes comme celui-ci et je n'ai pas de problèmes d'affichage en général. Je suis d'accord avec tous les commentaires ci-dessus, en particulier en m'assurant que tout est dans la même projection, y compris la trame de données. Je suppose que vous avez copié le fichier localement et que vous n'essayez pas d'y accéder via le réseau? Une chose qui causera des problèmes d'affichage avec des fichiers de formes de cette taille est s'il y a une quantité extrême de sommets, comme dans un réseau de flux. La seule solution que j'ai trouvée est de créer un script python pour faire des définitions de couches à la volée, donc je n'en dessine que quelques-unes à la fois. Une autre chose serait de mettre à jour la mémoire graphique et la carte graphique de votre ordinateur.
la source