Hinweis: Diese Beschimpfung wird aktualisiert, sobald ich fortfahre
Ich bin kein Computer oder ArcGIS-Profi, aber ich mache Folgendes:
Basisdateien / DBS
Dies sind Dateien, die "roh" sind und die Grundlage aller meiner Analysen bilden
Diese Dateien, Datenbanken und Daten werden außerhalb meines projectsOrdners und auf meinem Internetserver, meinem lokalen Computer und meiner Dropbox gehostet. Ich habe immer Zugang zu ihnen und sie sind sehr organisiert, dis- und aggregiert. Sie werden viel Zeit damit verbringen, diese zu organisieren.
Ich habe sie alle in Datenbanken abgelegt, egal ob in Arc oder PostGIS.
Zu jeder Tabelle füge ich 3 Felder in der Tabelle selbst oder den Metadaten hinzu: DATE_OBTAINED, DATA_DATE, SOURCE_NOTES
Basisdateien können auch Abfragen mehrerer anderer Tabellen sein. Beispielsweise könnte eine Tabelle die gesamte Anzahl der Zugriffe, die ich erhalte, in einer großen Abfrage / Tabelle zusammenfassen.
Ich habe hier auch alle anderen Daten eingetragen, die ich im Internet gefunden habe.
Ich mache niemals eine direkte Analyse der Dateien in den Basisdateien
Projektdateien
Alle meine Projektdateien werden in einem my_projectsOrdner gespeichert . Es enthält alles, was mit diesem Projekt zu tun hat, wie in. Wenn ich diesen Ordner an einer anderen Stelle kopiere und einfüge, enthält es alles.
Normalerweise habe ich folgende Struktur:
Mein Projekt/
Administrator/
Kommunikation/
Rohdaten/
analysierte_Daten /
Ausgabedaten/
from_client /
FINALE/
Code/
some_document_date_time.doc
README
Langsam bin ich zu einem lokalen GIT gewechselt. (Sie können es sogar lokal oder auf Ihrem eigenen Server hosten). Der Grund, warum ich es nicht auf GitHub setze, ist, dass Github eine 1,2-GB-Grenze hat, die für die GIS-Analyse unbrauchbar ist
Für meine Projekte repliziere ich normalerweise alle GIS-Tabellen, die ich für meine Analyse benötige, in eine neue Datenbank: project_whatever.
9 mal von 10, ich arbeite nur in SHP - Dateien und ich sparte all meine GIS (Bilder, Excel, Koordinaten, etc.) zu meinen projects/my_project/raw_data, projects/my_projects/analyzed_dataund projects/my_projects/output_data.
Wenn ein Projekt abgeschlossen ist, lege ich die endgültig eingereichte Kopie ein my_projects/FINAL/date_submitted
Für meine MXD, speichere ich in der Regel zu einem neuen MXD alle 2 oder 3 Stunden my_proj_dec_22_11__13_20.mxdzum Beispiel
Für MS Word-Dokumente, Illustrationen und hauptsächlich zum Bearbeiten von Dokumenten befinden sie sich im Ordner my_projects wie RFP_TENDER_Dec_22_11__11_15.docund draft_ver5_Dec_31_11__12_30.doc. Wiederum werden alle meine endgültigen Ergebnisse im Ordner FINAL abgelegt
Für R, Python-Code und etwas C # wird es etwas schwierig, da ich es außerhalb des Projekts hoste, aber mit einer Arbeitskopie in einen my_projects/codeOrdner. Ich mache das, da der größte Teil des Python-Codes wiederverwendbar ist. Wenn Sie Ihren gesamten Python-Code außer den Projekten einfügen, werden Sie diese vergessen. Außerdem läuft mein gesamter Python-Code auf Github.
Zu meinen Projektdateien gehören alle Dateitypen, einschließlich Zeiterfassung, Kommunikation (ich speichere alle meine E-Mails als .msg-Dateien), ich protokolliere alle unsere mündlichen Kommunikationen in einer Word-Datei und ich füge alle diese Dateien my_project / communication ein
Verwenden Sie in ArcGIS Models, LYR und "Auswahl als neuen SHP-Layer speichern". Mit diesen Tools können Sie Dateien auf einfache Weise in kleineren Formaten speichern, Dateien wiederverwenden und mit Modellen etwas an einem anderen Ort verwenden.
Endgültige Ausgabe
Jedes abgeschlossene Projekt wird komprimiert und auf meiner externen Festplatte abgelegt.
Alle Endprodukte werden aus Tabellen in Dateien und aus allen anderen Formaten in PDF konvertiert.
Jedes Projekt, das ich mache, wird für eine Hardcopy-Sicherung gedruckt
Die Quintessenz
Jede Person verwendet mehrere und unterschiedliche Software und Tools. Viele Leute, die ich kenne, organisieren sich mit basecamp , Harvest oder einer anderen Vielzahl von Tools. Auch Menschen haben unterschiedliche Arbeitsgewohnheiten und Zwangsstörungen. Ich bin ziemlich besessen davon, Dinge zu organisieren, vielleicht ein bisschen mehr als andere. Entwickeln Sie also das System, das Sie am wenigsten belastet, und stellen Sie gleichzeitig sicher , dass Sie es konsequent anwenden und aktualisieren
Alles sichern und replizieren
Arbeiten Sie nicht direkt an Ihren Roh- / Basisdaten
Verwenden Sie für Ihre Projekte immer eine Replikatdatei, da sich die Daten im Laufe der Zeit ändern und Sie nicht mühsam nach der Datei suchen möchten base_layer_2006.shp.
Jeder Ordner "my_projects" muss eine README-Textdatei enthalten, die Sie während der Ausführung der Projekte bearbeiten können, um einige grundlegende Informationen bereitzustellen , die Sie später vergessen werden, wenn Sie das Projekt zwei Jahre später besuchen
Sehr gut. Ich vermute, Sie sind nicht so sehr daran interessiert, Duplikate aller Ihrer Datensätze (roh, analysiert) und des dafür benötigten Speicherplatzes zu erstellen.
Dchaboya
2
@dchaboya Die Kosten für Speicherplatz sind im Vergleich zu dem von mir gesparten Stress relativ gering. Ich glaube auch nicht daran, irgendetwas zu löschen .
Dassouki
Nur neugierig, warum die Github-Einschränkung signifikant ist. Verwenden Sie Git für alles, auch für Nicht-Code? Ich fange an, die Versionskontrolle für die gleichen Zwecke zu verwenden und versuche, bewährte Methoden zu erlernen.
DJQ
@dassouki, warum erstellst du neue Versionen deiner mxd-Dateien, wenn du git verwendest? Sie können diese mxd-Dateien auch versionieren.
Paul Hiemstra
@PaulHiemstra Meistens, weil es für mich einfacher ist, mehrere Versionen gleichzeitig zu öffnen.
Dassouki
8
Sie haben nicht angegeben, dass Sie nur mit Desktop GIS-Software arbeiten, und ich werde einige meiner Erfahrungen aus der programmierorientierten Denkweise mitteilen. Lassen Sie mich zunächst sagen, dass ich mit den Dingen, die @dassouki sagt, einverstanden bin. Ich denke, das Wichtigste ist nicht, wie Sie sich organisieren, sondern dass Sie dies tun.
Aber um mit meinem Workflow fortzufahren. Was ich an einer Programmiersprache (in meinem Fall R) mag, ist, dass das Skript, das ich schreibe, alle von mir ausgeführten Schritte dokumentiert. Dies steht im Gegensatz zur Verwendung von ArcGIS, bei der es meines Erachtens schwieriger ist zu erkennen, wie ein Benutzer von den Rohdaten zu den in einer mxd-Datei angezeigten Daten übergegangen ist. Natürlich können Sie alle Schritte, die Sie in der GUI ausführen, protokollieren, aber ich denke, eine Programmiersprache eignet sich viel besser, um den exakten Workflow zu speichern, den Sie ausgeführt haben. Dies kann besonders wichtig sein, wenn ein Kunde / Vorgesetzter fragt, wie Sie etwas getan haben oder was Sie genau getan haben, um ein bestimmtes Produkt herzustellen.
In der Praxis befinden sich also mehrere Ordner auf meinem Laufwerk, die wichtig sind (beachten Sie, dass ich Wissenschaftler bin):
Experimente, hier speichere ich alle Experimente, die ich durchführe, z. B. das Ausprobieren einer bestimmten Analyse für einen bestimmten Datenbestand. Jedes Experiment hat ein eigenes Verzeichnis. Hier speichere ich auch Ergebnistabellen und ähnliches. Alle meine R-Skripte befinden sich in diesem Verzeichnis.
Datensätze, alle meine Rohdatensätze werden getrennt vom gespeichert
Tools habe ich ein separates Verzeichnis, in dem ich Code speichere, den ich für die Wiederverwendung in einem anderen Projekt verallgemeinert habe.
Dokumente, meine Arbeit dreht sich um das Schreiben von wissenschaftlichen Arbeiten. Für jedes Papier habe ich ein separates Verzeichnis, in dem ich meine Latex-Dateien speichere. Diese Dateien lesen die Abbildungen und Tabellen aus dem Experimentierverzeichnis. Eine Arbeit kann mehrere Abbildungen enthalten.
Software, in einem separaten Verzeichnis, in dem ich Software speichere, hauptsächlich R-Pakete, die ich geschrieben habe, und etwas Fortran-Code, den ich kompiliere, um Modelle auszuführen.
Einige Hauptideen, die ich verwende:
Separate (relativ) statische Form dynamischer Inhalte: Speichern Sie beispielsweise generalisierte Skripts an einem anderen Ort als an einem Ort, an dem Sie kurzfristige Projekte speichern. Oder trennen Sie Ihre Rohdaten von Ihren Analysen.
Verwenden Sie Versionsverwaltungssoftware, wo immer Sie können. Ich mag Mercurial und Git.
AUTOMATISIEREN SIE IHRE BACKUPS !!!! Sie denken nie an sie, wenn Sie sie manuell ausführen, und dann stürzt Ihre Festplatte ab. Unter Linux ist diese Art der Automatisierung einfach. Ich bin nicht sicher, wie das unter Windows / Mac ist.
Im Allgemeinen verwende ich gerne eine Programmiersprache, da Sie in einem Skript von den Rohdaten zu den resultierenden Bildern / Tabellen wechseln können. R ist ein ziemlich guter Kandidat, da es GIS-Daten leicht lesen und schreiben kann und eine Menge von Analysen an Bord hat, sowohl GIS als auch Statistiken.
+1 zur Automatisierung von Backups. Aus diesem Grund verknüpfe ich meine Ordner mit
dropbox
3
Hat Dropbox die Art von Speicher, die Sie benötigen? Und wie fühlen Sie sich, wenn Sie Ihre wertvolle Arbeit in die Hände einer externen Firma legen?
Paul Hiemstra
3
Ich möchte nur die obige Antwort ergänzen - 2 Dinge.
Ich möchte Ordner im Import-Rohdatenverzeichnis haben - Ordner, für die jedes Mal ein Datensatz empfangen wird - dh from_clientname-2011dec23. Auf diese Weise kann ich zurückverfolgen, wann ich die einzelnen im Projekt verwendeten Daten erhalten habe.
Ich mag es auch, wenn ein Projektdokument unterwegs gefaltet wird - dann kann ich entweder ein Word-Dokument oder eine einfache TXT-Datei erstellen, in der ich aufschreiben kann, was ich für das Projekt getan habe, wann und von wem es angefordert wurde. Auf diese Weise kann ich zurückgehen und mich selbst abdecken. Dies mag für kleine Anfragen mühsam klingen, kann Sie aber letztendlich retten.
Dies ist sicherlich Material für Project Management 101. Obwohl ein großer Teil der Zeit, die Sie für ein Projekt aufwenden, dafür aufgewendet wird, alles organisiert und gut dokumentiert zu halten, kann dies am Ende möglicherweise Zeit sparen und die Reduzierung Ihrer Lebenserwartung verhindern.
Antworten:
Hinweis: Diese Beschimpfung wird aktualisiert, sobald ich fortfahre
Ich bin kein Computer oder ArcGIS-Profi, aber ich mache Folgendes:
Basisdateien / DBS
projects
Ordners und auf meinem Internetserver, meinem lokalen Computer und meiner Dropbox gehostet. Ich habe immer Zugang zu ihnen und sie sind sehr organisiert, dis- und aggregiert. Sie werden viel Zeit damit verbringen, diese zu organisieren.Projektdateien
my_projects
Ordner gespeichert . Es enthält alles, was mit diesem Projekt zu tun hat, wie in. Wenn ich diesen Ordner an einer anderen Stelle kopiere und einfüge, enthält es alles.projects/my_project/raw_data
,projects/my_projects/analyzed_data
undprojects/my_projects/output_data
.my_projects/FINAL/date_submitted
my_proj_dec_22_11__13_20.mxd
zum BeispielRFP_TENDER_Dec_22_11__11_15.doc
unddraft_ver5_Dec_31_11__12_30.doc
. Wiederum werden alle meine endgültigen Ergebnisse im Ordner FINAL abgelegtmy_projects/code
Ordner. Ich mache das, da der größte Teil des Python-Codes wiederverwendbar ist. Wenn Sie Ihren gesamten Python-Code außer den Projekten einfügen, werden Sie diese vergessen. Außerdem läuft mein gesamter Python-Code auf Github.Endgültige Ausgabe
Die Quintessenz
base_layer_2006.shp
.quelle
Sie haben nicht angegeben, dass Sie nur mit Desktop GIS-Software arbeiten, und ich werde einige meiner Erfahrungen aus der programmierorientierten Denkweise mitteilen. Lassen Sie mich zunächst sagen, dass ich mit den Dingen, die @dassouki sagt, einverstanden bin. Ich denke, das Wichtigste ist nicht, wie Sie sich organisieren, sondern dass Sie dies tun.
Aber um mit meinem Workflow fortzufahren. Was ich an einer Programmiersprache (in meinem Fall R) mag, ist, dass das Skript, das ich schreibe, alle von mir ausgeführten Schritte dokumentiert. Dies steht im Gegensatz zur Verwendung von ArcGIS, bei der es meines Erachtens schwieriger ist zu erkennen, wie ein Benutzer von den Rohdaten zu den in einer mxd-Datei angezeigten Daten übergegangen ist. Natürlich können Sie alle Schritte, die Sie in der GUI ausführen, protokollieren, aber ich denke, eine Programmiersprache eignet sich viel besser, um den exakten Workflow zu speichern, den Sie ausgeführt haben. Dies kann besonders wichtig sein, wenn ein Kunde / Vorgesetzter fragt, wie Sie etwas getan haben oder was Sie genau getan haben, um ein bestimmtes Produkt herzustellen.
In der Praxis befinden sich also mehrere Ordner auf meinem Laufwerk, die wichtig sind (beachten Sie, dass ich Wissenschaftler bin):
Einige Hauptideen, die ich verwende:
Im Allgemeinen verwende ich gerne eine Programmiersprache, da Sie in einem Skript von den Rohdaten zu den resultierenden Bildern / Tabellen wechseln können. R ist ein ziemlich guter Kandidat, da es GIS-Daten leicht lesen und schreiben kann und eine Menge von Analysen an Bord hat, sowohl GIS als auch Statistiken.
quelle
Ich möchte nur die obige Antwort ergänzen - 2 Dinge.
Ich möchte Ordner im Import-Rohdatenverzeichnis haben - Ordner, für die jedes Mal ein Datensatz empfangen wird - dh from_clientname-2011dec23. Auf diese Weise kann ich zurückverfolgen, wann ich die einzelnen im Projekt verwendeten Daten erhalten habe.
Ich mag es auch, wenn ein Projektdokument unterwegs gefaltet wird - dann kann ich entweder ein Word-Dokument oder eine einfache TXT-Datei erstellen, in der ich aufschreiben kann, was ich für das Projekt getan habe, wann und von wem es angefordert wurde. Auf diese Weise kann ich zurückgehen und mich selbst abdecken. Dies mag für kleine Anfragen mühsam klingen, kann Sie aber letztendlich retten.
quelle