Pourquoi Intersect donne ERREUR 999999: Erreur lors de l'exécution de la fonction Topologie non valide [Trop de points de terminaison de liaison]?

9

J'essaie d'exécuter un processus d'intersection dans arcgis 10 sp 3 avec 2 ensembles de fichiers (aspect et pente) d'un DEM jusqu'à 1 m sur une superficie de 65 000 km2. L'aspect a 9 930 384 enregistrements et la pente a 31 435 462 enregistrements (environ 12 Go au total dans 2 géo-bases de données de fichiers).

J'ai exécuté la géométrie de réparation environ 3 fois et maintenant les jeux de données ne signalent aucune erreur (chaque fois plus de 30 heures).

Maintenant je reçois

Exécution (Intersection): Intersection "D: \ SCRATCH \ Projects \ 106 \ data \ 7_asp_Merge.gdb \ asp_HghstRez_M_rep #" D: \ SCRATCH \ Projects \ 106 \ data \ working \ working.gdb \ AsSl_Int ALL # INPUT Heure de début: Soleil 23 oct. 02:19:10 2011 Fonctions de lecture ...

Traitement des carreaux ...

ERREUR 999999: erreur lors de l'exécution de la fonction.

Topologie non valide [Trop de points de terminaison de liaison.]

Échec de l'exécution (Intersection).

Échec au dimanche 23 octobre 04:09:12 2011 (temps écoulé: 1 heures 50 minutes 2 secondes)

Est-ce vraiment un problème de topologie ou un problème de taille de fichier?

J'ai essayé d'utiliser l'outil ArcINFO SPLIT, mais il échoue même avec plus de 1 To d'espace libre sur le lecteur et sur un ensemble de fichiers plus petit, cela provoque des bords irréguliers. Je ne peux pas utiliser DICE car les zones d'intersection entre l'asp et la pente doivent être exactement les mêmes. Je comprends que sur les grands ensembles de données, ESRI se fissure (tuile automatiquement) les ensembles de données - cela peut-il poser des problèmes? Y a-t-il d'autres informations que je peux fournir pour résoudre les problèmes?

La spécification des machines est supérieure au minimum ESRI - nous avons 16 Go de RAM, Intel Xeon, Windows 7, 64 bits, 2 disques de 1 To et plus de 1,2 To de libre sur les disques. Tous les fichiers utilisés dans le processus se trouvent sur les lecteurs locaux.


vient de trouver cette explication (2 juillet 2012) qui donne beaucoup d'astuces utiles pour résoudre les problèmes.

http://blogs.esri.com/esri/arcgis/2010/07/23/dicing-godzillas-features-with-too-many-vertices/

GeorgeC
la source
1
La taille maximale des fichiers pour le système d'exploitation Windows est de 2 Go. (3 Go avec / 3 Go sur XP). Essayez l'outil SPILLED dans ArcGIS avec la mise en mosaïque de grands ensembles de données resources.esri.com/help/9.3/arcgisdesktop/com/gp_toolref/…
Mapperz
1
Une information importante du lien envoyé par Mapperz: "Les géodatabases d'entreprise et de fichiers n'ont pas cette limitation, elles sont donc recommandées comme espace de travail de sortie lorsque vous utilisez de très grands ensembles de données."
RyanKDalton
1
Avez-vous des rasters de pente et d'aspect? Si oui, avez-vous un analyste spatial?
Kirk Kuykendall
@Mapperz, cela dépend du système de fichiers. FAT est limité à 2 Go, FAT32 est de 4 Go et NTFS est illimité selon: microsoft.com/resources/documentation/windows/xp/all/proddocs/…
blah238
1
Pour un calcul raster, George, vous pouvez soit rééchantillonner dans une taille de cellule commune (comme 1m) ou traiter les différents correctifs séparément. Cela mérite réflexion, car une pente ou un aspect calculé à une résolution de 30 m n'est pas exactement comparable à celui calculé à une résolution de 1 m. Il est difficile de donner des conseils généraux en l'absence d'informations sur le but de ce calcul.
whuber

Réponses:

9

Très peu de cellules contiguës dans un MNT détaillé auront des valeurs identiques de pente et d'aspect. Par conséquent, si les entités en entrée représentent des zones contiguës de pente et d'aspect communs, nous devrions nous attendre à ce que le résultat de cette procédure d'intersection ait, en moyenne, presque une entité par cellule.

Il y avait à l'origine 65 000 * 1 000 ^ 2 = 6,5 cellules E10 dans le DEM. Pour représenter chacun de ces éléments, il faut au moins quatre paires ordonnées de coordonnées entières de 4 octets ou de coordonnées flottantes de 8 octets, ou de 32 à 64 octets. C'est une exigence de 1,3 E12 - 2,6 E12 octets (1,3 - 2,5 To). Nous n'avons même pas commencé à tenir compte de la surcharge du fichier (une entité est stockée en tant que plus que ses coordonnées), des index ou des valeurs d'attribut, qui pourraient elles-mêmes nécessiter 0,6 To (si stockées en double précision) ou plus (si stockées en tant que texte), plus le stockage des identifiants. Oh, oui - ArcGIS aime garder deux copies de chaque intersection, doublant ainsi tout. Vous pourriez avoir besoin de 7 à 8 To juste pour stocker la sortie.

Même si vous aviez le stockage nécessaire, (a) vous pourriez en utiliser deux fois (ou plus) si ArcGIS met en cache des fichiers intermédiaires et (b) il est peu probable que l'opération se termine dans un délai raisonnable, de toute façon.

La solution consiste à effectuer des opérations de grille à l'aide de structures de données de grille, et non de structures de données vectorielles. Si une sortie vectorielle est absolument nécessaire, effectuez la vectorisation une fois toutes les opérations de la grille terminées.

whuber
la source
Accepté avec beaucoup de tristesse. Au lieu de combiner les jeux de données de 30 m, 10 m et 1 m, je lance plutôt les intersections asp / slp + veg / scoring sur chaque jeu de données séparément, puis je les fusionne.
GeorgeC
L'utilisation de la stratégie de division spatiale nous a permis de terminer le projet. Un ensemble de données qui a pris 7 heures à traiter (et s'est parfois bloqué), traité en environ 100 minutes lorsqu'il a été divisé en 6 parties et a ensuite pris 10 minutes pour fusionner. À cela, ajoutez environ 40 minutes pour modifier les modèles afin de traiter efficacement les multiples pièces avec un minimum d'entrées (pour chaque itération) et, fondamentalement, cela représente une économie de la moitié du temps de traitement (au moins). Donc, un processus qui autrement aurait pris près de 200h a pris moins de 50h et avec seulement environ 15h de travail "réel" (pour décider comment diviser les données, entrer les variables dans les modèles, etc.
GeorgeC
1

Mon expérience avec l'utilisation d'outils divisés et la réparation de la géomerie. Cela fonctionne pour moi parce que celui sur lequel j'ai travaillé utilisait une couche vectorielle que j'avais convertie de raster en vecteur. J'ai essayé de diviser l'outil en premier et m'a donné l'erreur. J'ai donc dû utiliser la géométrie de réparation et cela dépend de la durée de son fonctionnement. J'ai dû le faire deux fois, car chaque fois que vous apportez des modifications ou des modifications, vous devez toujours relancer la géomtry de réparation avant de procéder au fractionnement. ça a marché pour moi.

Soit dit en passant, j'ai exécuté la géomtrie de réparation sur les deux couches: fichier de formes et géodatabase fichier. Je vous suggère de faire de la géomerie de réparation pendant la nuit.

PROBERT
la source
1
Encore une chose que j'ai oubliée. Puis-je suggérer que chaque fois que vous faites quelque chose comme ça, je recommande d'essayer d'ouvrir un nouvel ArcMap et d'exécuter ces outils? Pour effacer les fichiers temporaires que vous avez déjà ouverts, les fermer et ouvrir ArcMap. Il nettoie la température. C'est ma suggestion d'un centime.
PROBERT
Merci. J'ai exécuté réparation geom 3-4 fois et maintenant les jeux de données ne signalent aucune erreur. Cela fonctionne généralement, mais je pense que les ensembles de données sont juste trop grands selon l'explication de whuber ...
GeorgeC
George, je suis content que ça marche pour toi. Ouais j'ai lu quelle explication de whuber mais ma question à toi est-ce que tu as fusionné la pente et l'aspect? Si tel est le cas, lorsque vous utilisez l'outil de fractionnement, avec quel calque d'entité avez-vous utilisé pour fractionner ce calque avec lequel vous avez fusionné? Par exemple, j'ai dû utiliser 24 quads (environ 24 d'entre eux, ce qui n'est pas si grand) pour séparer ma couche fusionnée d'élévation et d'altitude. Peut-être pourriez-vous essayer de vous limiter à un calque plus petit qui peut se diviser avec votre calque fusionné?
PROBERT
J'ai fusionné la pente et l'aspect et cela a fonctionné mais ce n'était pas le bon processus ... nous devions nous croiser et cela ne fonctionne pas. Pour diviser, j'ai obtenu une copie de la grille de la carte topographique nationale de 100 km et je l'ai utilisée séparément sur l'aspic et la pente. La zone est couverte par 30 feuilles de carte.
GeorgeC
Avez-vous exécuté la grille de carte topographique de 100 000 pour nettoyer la géographie? Parce que j'ai demandé, j'ai eu le mien détecté quelques erreurs et j'ai dû faire une réparation propre. Cela a donc fonctionné sur le mien. Si vous rencontrez toujours plus de problèmes, pouvez-vous essayer de les faire diviser le 100k national en plus petits? Comme les diviser en trois?
PROBERT