J'ai une classe de fonctionnalités dans une géodatabase fichier Esri. Lorsque je modifie les entités à l'aide de l'éditeur dans ArcMap et que je supprime la plupart de mes entités et en ne gardant que celles du milieu, la commande Zoom sur couche ne fonctionne pas comme prévu. Au lieu de zoomer sur l'étendue des entités restantes dans la classe d'entités, l'étendue sera l'ancienne (contenant toutes les entités supprimées). Lors de l'examen des valeurs d'étendue dans la boîte de dialogue des propriétés de la classe d'entités, je peux clairement voir les anciennes valeurs. La session d'édition ne semble donc pas modifier les valeurs complètes de l'étendue.
Existe-t-il un moyen de recalculer ces valeurs?
Je suis à peu près sûr que ce problème devrait se produire pour tous ceux qui modifient des fonctionnalités dans ArcMap ...
la source
Réponses:
Esri dispose désormais d'un outil pour cela dans 10.4 (hourra): recalculer l' étendue de la classe d'entités.
Je rencontrais ce problème lorsque je créais une classe d'entités et y écrivais une géométrie avec arcpy. Apparemment, ces outils ne mettent pas à jour l'étendue (probablement une bonne idée pour des raisons de performances).
J'ai réussi à réinitialiser l'étendue dans 10.2.2 avec la suggestion de @Lou:
la source
Cliquez avec le bouton droit sur la classe d'entités dans ArcCatalog et accédez aux Propriétés. Dans l'onglet Feature Extent, cliquez sur Recalculate. Et voilà!
J'utilise ArcGIS 10.2.1
la source
Le compactage de la géodatabase va ranger votre index spatial
"Si vous ajoutez et supprimez fréquemment des données, vous devez compacter votre fichier ou votre géodatabase personnelle sur une base mensuelle. Vous devez également compacter une géodatabase après toute modification à grande échelle. les données de chaque fichier sont accessibles plus efficacement. Le compactage réduit également la taille de chaque fichier: il est possible de réduire de moitié ou plus la taille d'une géodatabase. "
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Compacting_file_and_personal_geodatabases/003n0000007t000000/
Compact (gestion des données)
"Il est recommandé de compacter les géodatabases personnelles lorsqu'elles dépassent 250 Mo. Si la saisie, la suppression ou la modification générale de données est fréquemment effectuée sur une base de données, la base de données doit être régulièrement compactée pour garantir des performances optimales."
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000000n000000
la source
Voici un complément ArcCatalog pour ArcGIS 10 qui ajoute une commande pour mettre à jour l'étendue de la classe d'entités, en utilisant probablement la même méthode que le code VBA @ Ragi:
la source
Le GeoDatabase Extent se développe toujours - ne se raccourcit jamais automatiquement. Le compactage et la compression optimisent uniquement le stockage et la fragmentation, mais pas l'étendue elle-même. J'essaierais d'abord de recréer l'index spatial et de voir si cela fait l'affaire.
Mise à jour:
Étant donné que la reconstruction de l'index spatial ne fait pas l'affaire, je suis sûr que le code VBA suivant le fera:
Vous pouvez le faire dans n'importe quel autre langage de programmation pris en charge par ESRI. L'astuce consiste à obtenir un schéma et à utiliser la méthode IFeatureClassManage :: UpdateExtent .
la source
Je ne sais pas exactement ce qui le provoque dans les géodatabases fichier, mais je suis en effet en mesure de le reproduire et c'est quelque chose que j'ai rencontré auparavant. La seule façon dont j'ai pu découvrir comment la contourner est de compresser la géodatabase fichier. Cela résoudra le problème de l'étendue. Vous devrez le décompresser lorsque vous avez terminé, car vous ne pouvez pas modifier une géodatabase fichier compressée.
Pendant une session d'édition / ArcMap lorsque vous utilisez réellement les données, vous pouvez toujours tout sélectionner | effectuer un zoom sur la sélection comme solution de contournement. Ce n'est pas génial, mais je l'ai utilisé dans mon flux de travail jusqu'à ce que j'arrive à un point de rupture où je pourrais faire cette astuce de compression / décompression.
Remarque, le compactage ne fonctionnera pas (au moins, pas de manière fiable). Il reconstruira vos indices, mais je l'ai trouvé peu fiable pour résoudre les problèmes d'étendue. C'est toujours quelque chose que vous devriez faire de temps en temps. Je viens de l'essayer à nouveau en ce moment, et cela n'a pas fonctionné sur mon exemple de jeu de données. YMMV.
la source
Si vous souhaitez mettre à jour l'étendue des classes de fonctionnalités dans votre document mxd, ce morceau de code peut vous aider:
la source