Si j'ai un fichier de formes ou une classe de caractéristiques de géodatabase contenant des champs que je souhaite réorganiser de manière permanente, existe-t-il un outil, un script ou un utilitaire qui m'aideront à accomplir rapidement cette tâche?
En général, je sais que vous devez créer un nouveau champ, puis le remplir avec les anciennes valeurs, puis supprimer l'ancien champ. J'espère qu'il y a déjà quelque chose de créé là-bas qui aidera à cela. En supposant que vous ne disposez pas de FME ou d'un autre outil ETL, quelle est la meilleure suggestion suivante?
Ce n'est PAS un changement de niveau de vue (c'est-à-dire glisser / déposer les champs dans l'ordre), mais plutôt écrire dans un nouveau fichier de formes ou classe de traits. Merci.
la source
Réponses:
Je suis sûr que vous pouvez le faire avec la classe d'entités en classe d' entités en réorganisant les champs dans la section de carte des champs de l'outil.Edit: FC2FC ne fait pas cela mais ... ogr à la rescousse.
Je viens de confirmer que ogr2ogr peut le faire. Spécifiez l'ordre des noms de champ sur le commutateur -select. Par exemple, si j'ai un fichier de formes avec deux champs, "Name" et "FolderPath" (dans cet ordre), mais je veux d'abord un nouveau fichier de formes avec "FolderPath", je ferais ceci:
la source
L' outil ET GeoWizards fera cela, et il semble que la version gratuite le fera sans aucune limitation sur le nombre de fonctionnalités.
la source
Le plugin QGIS "Table Manager" a désormais également la possibilité d'effectuer cette tâche facilement sans aucune ligne de commande nécessaire.
la source
Dans QGIS, vous pouvez maintenant utiliser la boîte à outils de traitement (Ctl + Alt + T) et aller dans Géoalgorithmes QGIS> Outils de table vectorielle> Champs de refactorisation.
De là, vous aurez tous les outils pour modifier la structure de votre table.
la source
X-Ray arcmap add in dispose d'un outil pour réorganiser les champs au format Geodatabes
la source
Pour référence: MapInfo peut également le faire prêt à l'emploi. Ouvrez simplement le DBF et réorganisez les champs de façon permanente. http://www.dbf-editor.com le fait aussi (40 $). D'autres éditeurs DBF peuvent probablement le faire aussi.
la source
J'ai rencontré un problème similaire et le moyen le plus rapide de réorganiser définitivement les champs de données, si vous avez déjà QGIS, est d'utiliser le plugin 'Table Manager' comme suggéré précédemment.
Il est simple d'installer des plugins et est convivial, comme décrit sur la page ci-dessous:
http://www.qgistutorials.com/en/docs/using_plugins.html
Il vous permet de déplacer les attributs dans un ordre spécifique, de renommer les champs, d'insérer de nouveaux champs et de les répliquer. Il vous permet également d'enregistrer le fichier d'origine ou de le renommer et de l'enregistrer différemment de l'original.
Il s'agissait d'une solution rapide et pratique à mon problème de gestion de table d'attributs, et elle est fortement recommandée, en particulier pour les fichiers avec un grand nombre d'attributs qui lui sont associés.
la source
Exportez les classes d' entités vers une géodatabase personnelle vide (le glisser-déposer est le plus rapide), ouvrez le .mdb dans Access, réorganisez les champs en mode Création , enregistrez, puis avec ArcMap / Catalog copiez à nouveau pour façonner ou géodatabase fichier.
La même méthode fonctionne pour renommer les champs.
Attention cependant , ne travaillez que sur des copies, il est facile de tout gâcher. (Comme le note Karey Jack dans une autre réponse, Esri décourage l'accès direct .mdb ). Pour des raisons de sécurité, ignorez toutes les tables commençant par
GDB_
et également celles se terminant par_Shape_Index
.la source
La meilleure façon de le faire est d'utiliser les mappages de champs. Je lutte avec cette fonctionnalité du logiciel ESRI depuis des années, mais je suis enfin satisfait de cette solution. Fondamentalement, vous pouvez simplement faire une copie de votre classe d' entités avec les champs réorganisés en permanence à l'aide d' arcpy.FieldMappings . Toutes les données sont également reportées. Une fois le script terminé, renommez simplement votre ancienne classe d'entités en myFeatureClass_old, et votre nouvelle en myFeatureClass!
Voici le script, c'est super simple:
la source
La classe d'entités en classe d'entités peut désormais effectuer cette opération dans la version 10.5 à l'aide de la section Mappage des champs de l'outil GP.
la source
MakeQueryTable vous permettra de définir l'ordre de vos champs pour une table ou FC (Géodatabase uniquement). L'ordre dans lequel vous spécifiez les champs est l'ordre de la sortie. Je trouve cet outil difficile à utiliser. YMMV
Arctoolbox, outils de gestion des données, couches et vues de table, créer une table de requête
la source
Essayez OGR2OGR. Vous pouvez transmettre une requête SQL et placer les champs dans l'ordre souhaité.
Je viens de tester cela, et cela fonctionne très bien!
Pour info, la façon la plus simple d'installer OGR est via FWTools .
la source
Ouvrez le fichier .mdb dans MS Access et réorganisez les champs à l'aide de la fonction glisser-déposer en «mode création»
Bien qu'ESRI décourage la modification d'une base de données dans le lien Access ESRI
la source
Je suis un peu en retard à la fête sur celui-ci, mais je suis surpris que personne n'ait mentionné ESRI Geodatabase Diagrammer .
Une ressource fournie par ESRI pour éditer la structure XML de votre géodatabase et de vos fichiers. En ce qui me concerne, c'est essentiel si vous travaillez sur quelque chose où le design doit être parfait (projet à long terme). Cela vous évitera d'avoir à recréer des fichiers en continu après avoir fait une simple erreur.
la source