Remarque: cette diatribe sera mise à jour au fur et à mesure
Je ne suis en aucun cas un ordinateur ou ArcGIS pro, mais voici ce que je fais:
Fichiers de base / DBS
Ce sont des fichiers de nature "brute" et qui constituent la base de toutes mes analyses
Ces fichiers, bases de données et données sont hébergés en dehors de mon projectsdossier et sont hébergés sur mon serveur Internet, mon ordinateur local et mon dropbox. J'ai toujours accès à eux, et ils sont très organisés, dis et agrégés. Vous passerez beaucoup de temps à les organiser.
Je les mets tous dans des bases de données que ce soit dans Arc ou PostGIS.
À chaque table, j'ajoute 3 champs dans la table elle-même ou les métadonnées: DATE_OBTAINED, DATA_DATE, SOURCE_NOTES
Les fichiers de base peuvent également être des requêtes de plusieurs autres tables. Par exemple, une table pourrait regrouper tout le nombre de trafics que j'obtiens dans une grande requête / table.
J'ai également mis ici toutes les autres données que je trouve en train de parcourir Internet.
JE NE FAIS JAMAIS D'ANALYSE DIRECTE SUR L'UN DES FICHIERS DES FICHIERS DE BASE
Fichiers de projet
Tous mes fichiers de projet vont dans un my_projectsdossier. Il contient tout ce qui concerne ce projet, si je copie et colle ce dossier ailleurs, il contiendra tout.
J'ai généralement la structure suivante:
mon projet/
admin /
la communication/
données brutes/
données_analysées /
des données de sortie/
from_client /
FINAL/
code/
some_document_date_time.doc
LISEZ-MOI
Lentement, j'ai déménagé dans un GIT local. (vous pouvez même l'héberger localement ou sur votre propre serveur). La raison pour laquelle je ne le mets pas sur GitHub est que github a une limite de 1,2 Go qui est inutile pour l'analyse SIG
Pour mes projets, je réplique généralement toutes les tables SIG dont j'ai besoin pour mon analyse dans une nouvelle base de données: project_wwhat.
9 fois sur 10, je ne travaille que dans les fichiers SHP et je sauvegarder tous mes SIG (images, Excel, coordonnées, etc.) à mon projects/my_project/raw_data, projects/my_projects/analyzed_dataet projects/my_projects/output_data.
Quand un projet est terminé, je mets la copie finale soumise dans my_projects/FINAL/date_submitted
Pour mon MXD, j'enregistre généralement sur un nouveau MXD toutes les 2 ou 3 heures my_proj_dec_22_11__13_20.mxdpar exemple
Pour les documents Ms Word, les illustrations et surtout les documents d'édition, ils vont dans le dossier my_projects comme RFP_TENDER_Dec_22_11__11_15.docet draft_ver5_Dec_31_11__12_30.doc. Encore une fois, tous mes livrables finaux vont dans le dossier FINAL
Pour R, le code Python et certains C #, cela devient un peu délicat, car je l'héberge en dehors du projet mais avec une copie de travail dans un my_projects/codedossier. Je fais cela car la plupart du code python est réutilisable. Si vous mettez tout votre code python en plus des projets, vous les oublierez. De plus, tout mon code python va sur github.
Pour moi, les fichiers de projet incluent tous les types de fichiers, y compris le suivi du temps, les communications (j'enregistre tous mes e-mails sous forme de fichiers .msg), j'enregistre toutes nos communications verbales dans un fichier Word et je mets tous ces fichiers mon_projet / communication
Avec ArcGIS, utilisez Modèles, LYR et "enregistrer la sélection en tant que nouvelle couche shp". Ces outils permettront de stocker facilement des fichiers dans des formats plus petits, de réutiliser des fichiers et, avec des modèles, de pouvoir utiliser quelque chose ailleurs.
Sortie finale
Chaque projet une fois finalisé est zippé et mis sur mon disque dur externe.
Tous les produits finaux sont convertis en fichiers à partir de tableaux et en PDF à partir de tous les autres formats.
Chaque projet que je fais est imprimé pour une sauvegarde sur papier
The Bottom Line
Chaque personne utilise des logiciels et des outils multiples et différents. Beaucoup de gens que je connais s'organisent à l'aide de camp de base , Harvest ou toute autre multitude d'outils. Les gens ont également des habitudes de travail et des tendances de TOC différentes. Je suis assez obsédé par l'organisation des choses peut-être un peu plus que les autres. Développez donc le système qui vous cause le moins de stress tout en garantissant que vous serez cohérent dans son application et sa mise à jour
Sauvegardez et répliquez tout
Ne travaillez pas directement sur vos données brutes / de base
Pour vos projets, utilisez toujours un fichier de réplique, car les données changent au fil du temps, et vous ne voulez pas être brouillé pour trouver le fichier base_layer_2006.shp.
chaque dossier my_projects doit avoir un fichier texte README que vous éditez pendant que vous faites les projets pour donner des informations de base que vous savez que vous oublierez plus tard lorsque vous visiterez le projet 2 ans plus tard
Très bien. Je suppose que vous n'êtes pas du tout préoccupé par la création de doublons de tous vos ensembles de données (bruts, analysés) et de l'espace que cela prend.
dchaboya
2
@dchaboya le coût de l'espace disque est relativement faible par rapport au niveau de stress que j'économise. Je ne crois pas non plus à supprimer quoi que ce soit.
dassouki
Juste curieux de savoir pourquoi la limitation github est importante. Utilisez-vous git pour tout, non-code également? Je commence à utiliser le contrôle de version aux mêmes fins et j'essaie d'apprendre les bonnes pratiques.
djq
@dassouki, pourquoi créez-vous de nouvelles versions de vos fichiers mxd lorsque vous utilisez git? Vous pouvez également contrôler la version de ces fichiers mxd.
Paul Hiemstra
@PaulHiemstra Surtout parce qu'il m'est plus facile d'ouvrir plusieurs versions en même temps.
dassouki
8
Vous n'avez pas déclaré que vous travaillez uniquement avec le logiciel Desktop GIS, je vais donc partager certaines de mes expériences de la mentalité orientée programmation. Permettez-moi tout d'abord de dire que je suis d'accord avec ce que dit @dassouki. Je pense que la chose la plus importante n'est pas la façon dont vous vous organisez, mais que vous le faites.
Mais pour continuer mon workflow. Ce que j'aime dans l'utilisation d'un langage de programmation (R dans mon cas), c'est que le script que j'écris documente toutes les étapes que je prends. Cela contraste avec l'utilisation d'ArcGIS où je pense qu'il est plus difficile de voir comment un utilisateur est passé des données d'entrée brutes à ce que vous pouvez voir dans un fichier mxd. Bien sûr, vous pouvez garder un journal de toutes les étapes que vous effectuez dans l'interface graphique, mais je pense qu'un langage de programmation se prête beaucoup mieux à l'enregistrement du flux de travail exact que vous avez pris. Cela peut être particulièrement important lorsqu'un client / superviseur demande comment vous avez fait quelque chose ou ce que vous avez fait exactement pour produire un certain produit.
Donc, dans la pratique, j'ai plusieurs dossiers sur mon disque qui sont importants (notez que je suis un scientifique):
Expériences, ici je stocke toutes les expériences que je réalise, par exemple en essayant une certaine analyse sur un certain corps de données. Chaque expérience a son propre répertoire. Je stocke également les tables résultantes et autres ici. Tous mes scripts R sont dans ce répertoire.
Jeux de données, tous mes jeux de données bruts sont stockés séparément du
outils, j'ai un répertoire séparé où je stocke le code que j'ai généralisé pour une réutilisation dans un autre projet.
Documents, mon travail tourne autour de la rédaction d'articles scientifiques. Pour chaque papier, j'ai un répertoire séparé où je stocke mes fichiers Latex. Ces fichiers lisent les illustrations et les tableaux du répertoire d'expériences. Un papier peut contenir plusieurs illustrations.
logiciels, dans un répertoire séparé, je stocke des logiciels, principalement des packages R que j'ai écrits et du code fortran que je compile pour exécuter des modèles.
Quelques idées principales que j'utilise:
Séparez les éléments dynamiques (relativement) statiques: par exemple, enregistrer des scripts généralisés dans un endroit différent de celui où vous enregistrez des projets à court terme. Ou séparez vos données brutes de vos analyses.
Utilisez le logiciel de gestion des versions où vous le pouvez. J'aime mercurial et git.
AUTOMATISEZ VOS SAUVEGARDES !!!! Vous n'y pensez jamais lorsque vous les faites manuellement, puis votre disque dur plante. Sous Linux, ce type d'automatisation est facile. Je ne sais pas comment c'est sous Windows / Mac.
En général, j'aime utiliser un langage de programmation car dans un script, vous pouvez passer des données brutes aux images / tableaux résultants. R est un assez bon candidat car il peut lire et écrire facilement des données SIG et a une tonne d'analyses à bord, à la fois SIG et statistiques.
+1 sur l'automatisation des sauvegardes. C'est pourquoi je lie mes dossiers à
Dropbox
3
Dropbox dispose-t-il du type de stockage dont vous avez besoin? Et que pensez-vous de placer votre précieux travail entre les mains d'une entreprise externe?
Paul Hiemstra
3
Je voudrais juste ajouter à la réponse ci-dessus - 2 choses.
J'aime avoir des dossiers dans le répertoire d'importation de données brutes - des dossiers pour chaque fois que vous recevez un ensemble de données - c'est-à-dire from_clientname-2011dec23. De cette façon, je peux remonter quand j'ai reçu chaque élément de données utilisé dans le projet.
J'aime aussi avoir un document de projet pliable en déplacement - je peux ensuite créer un document Word ou un simple fichier TXT ici où je peux écrire ce que j'ai fait sur le projet, la date et qui l'a demandé. De cette façon, je peux revenir en arrière et me couvrir est quelqu'un se demande pourquoi j'ai fait quelque chose. Cela peut sembler fastidieux pour les petites demandes, mais cela peut vous faire économiser au final.
Il s'agit certainement de matériel de gestion de projet 101. Bien qu'une bonne partie du temps que vous passez sur un projet puisse être consacrée à garder tout organisé et bien documenté, cela peut finalement vous faire gagner du temps et empêcher la réduction de votre espérance de vie.
Réponses:
Remarque: cette diatribe sera mise à jour au fur et à mesure
Je ne suis en aucun cas un ordinateur ou ArcGIS pro, mais voici ce que je fais:
Fichiers de base / DBS
projects
dossier et sont hébergés sur mon serveur Internet, mon ordinateur local et mon dropbox. J'ai toujours accès à eux, et ils sont très organisés, dis et agrégés. Vous passerez beaucoup de temps à les organiser.Fichiers de projet
my_projects
dossier. Il contient tout ce qui concerne ce projet, si je copie et colle ce dossier ailleurs, il contiendra tout.projects/my_project/raw_data
,projects/my_projects/analyzed_data
etprojects/my_projects/output_data
.my_projects/FINAL/date_submitted
my_proj_dec_22_11__13_20.mxd
par exempleRFP_TENDER_Dec_22_11__11_15.doc
etdraft_ver5_Dec_31_11__12_30.doc
. Encore une fois, tous mes livrables finaux vont dans le dossier FINALmy_projects/code
dossier. Je fais cela car la plupart du code python est réutilisable. Si vous mettez tout votre code python en plus des projets, vous les oublierez. De plus, tout mon code python va sur github.Sortie finale
The Bottom Line
base_layer_2006.shp
.la source
Vous n'avez pas déclaré que vous travaillez uniquement avec le logiciel Desktop GIS, je vais donc partager certaines de mes expériences de la mentalité orientée programmation. Permettez-moi tout d'abord de dire que je suis d'accord avec ce que dit @dassouki. Je pense que la chose la plus importante n'est pas la façon dont vous vous organisez, mais que vous le faites.
Mais pour continuer mon workflow. Ce que j'aime dans l'utilisation d'un langage de programmation (R dans mon cas), c'est que le script que j'écris documente toutes les étapes que je prends. Cela contraste avec l'utilisation d'ArcGIS où je pense qu'il est plus difficile de voir comment un utilisateur est passé des données d'entrée brutes à ce que vous pouvez voir dans un fichier mxd. Bien sûr, vous pouvez garder un journal de toutes les étapes que vous effectuez dans l'interface graphique, mais je pense qu'un langage de programmation se prête beaucoup mieux à l'enregistrement du flux de travail exact que vous avez pris. Cela peut être particulièrement important lorsqu'un client / superviseur demande comment vous avez fait quelque chose ou ce que vous avez fait exactement pour produire un certain produit.
Donc, dans la pratique, j'ai plusieurs dossiers sur mon disque qui sont importants (notez que je suis un scientifique):
Quelques idées principales que j'utilise:
En général, j'aime utiliser un langage de programmation car dans un script, vous pouvez passer des données brutes aux images / tableaux résultants. R est un assez bon candidat car il peut lire et écrire facilement des données SIG et a une tonne d'analyses à bord, à la fois SIG et statistiques.
la source
Je voudrais juste ajouter à la réponse ci-dessus - 2 choses.
J'aime avoir des dossiers dans le répertoire d'importation de données brutes - des dossiers pour chaque fois que vous recevez un ensemble de données - c'est-à-dire from_clientname-2011dec23. De cette façon, je peux remonter quand j'ai reçu chaque élément de données utilisé dans le projet.
J'aime aussi avoir un document de projet pliable en déplacement - je peux ensuite créer un document Word ou un simple fichier TXT ici où je peux écrire ce que j'ai fait sur le projet, la date et qui l'a demandé. De cette façon, je peux revenir en arrière et me couvrir est quelqu'un se demande pourquoi j'ai fait quelque chose. Cela peut sembler fastidieux pour les petites demandes, mais cela peut vous faire économiser au final.
la source