Organizzare progetti GIS? [chiuso]


27

Faccio fatica da molto tempo a mantenere organizzati i file del mio progetto.

Quali sono i tuoi suggerimenti per mantenere organizzati set di dati, immagini, shapefile, ecc.?


2
Vedi anche le risposte a questa [domanda] [1]. [1]: gis.stackexchange.com/questions/2976/…
jonatr

Risposte:


36

Nota: questo rant verrà aggiornato man mano che procederò

Non sono assolutamente un computer o un professionista ArcGIS, ma ecco cosa faccio:

File di base / DBS

  • Questi file sono "grezzi" in natura e costituiscono la base di tutte le mie analisi
  • Questi file, database e dati sono ospitati al di fuori della mia projectscartella e sono ospitati sul mio server Internet, computer locale e dropbox. Ho sempre accesso a loro e sono molto organizzati, dis e aggregati. Passerai molto tempo a organizzarli.
  • Li ho inseriti tutti in database sia in Arc che in PostGIS.
  • Ad ogni tabella, aggiungo 3 campi nella tabella stessa o i metadati: DATE_OBTAINED, DATA_DATE, SOURCE_NOTES
  • Anche i file di base potrebbero essere query di più altre tabelle. Ad esempio, una tabella potrebbe aggregare tutto il conteggio del traffico che ottengo in un'unica query / tabella di grandi dimensioni.
  • Ho anche messo qui tutti gli altri dati che trovo perlustrando Internet.
  • NON FACCIO MAI ALCUNA ANALISI DIRETTA SU QUALUNQUE DEI FILE DEI FILE DI BASE

File di progetto

  • Tutti i miei file di progetto vanno in una my_projectscartella. Contiene tutto ciò che riguarda quel progetto come in, se copio e incollo quella cartella da qualche altra parte, conterrà tutto.
  • Di solito ho la seguente struttura:
    • il mio progetto/
      • admin /
      • comunicazione/
      • RAW_DATA /
      • analyzed_data /
      • output_data /
      • from_client /
      • FINALE/
      • codice/
      • some_document_date_time.doc
      • LEGGIMI
  • Lentamente mi sono trasferito in un GIT locale. (puoi persino ospitarlo localmente o sul tuo server). Il motivo per cui non lo metto su GitHub è che github ha un limite di 1,2 gb che è inutile per l'analisi GIS
  • Per i miei progetti, di solito replica tutte le tabelle GIS necessarie per la mia analisi in un nuovo db: project_whatever.
  • 9 volte su 10, che funzionano solo in file SHP e salvare tutti il mio GIS (immagini, excel, coordinate, ecc) al mio projects/my_project/raw_data, projects/my_projects/analyzed_datae projects/my_projects/output_data.
  • Quando un progetto è completo, ho inserito la copia finale inviata my_projects/FINAL/date_submitted
  • Per il mio MXD, di solito salvare in un nuovo MXD ogni 2 o 3 ore my_proj_dec_22_11__13_20.mxd, per esempio
  • Per i documenti di Word, le illustrazioni e soprattutto i documenti di modifica, vanno nella cartella my_projects come RFP_TENDER_Dec_22_11__11_15.doce draft_ver5_Dec_31_11__12_30.doc. Ancora una volta tutti i miei risultati finali vengono inseriti nella cartella FINAL
  • Per R, il codice Python e un po 'di C #, diventa un po' complicato, dato che l'ho ospitato al di fuori del progetto ma con una copia funzionante nella my_projects/codecartella. Lo faccio poiché la maggior parte del codice Python è riutilizzabile. Se metti tutto il tuo codice Python oltre ai progetti, te ne dimenticherai. Inoltre, tutto il mio codice Python va su github.
  • Per me i file di progetto includono tutti i tipi di file tra cui il monitoraggio del tempo, le comunicazioni (salvo tutte le mie e-mail come file .msg), registro tutte le nostre comunicazioni verbali in un file di parole e inserisco tutti quei file my_project / communication
  • Con ArcGIS usa Modelli, LYR e "salva la selezione come nuovo livello shp". Questi strumenti semplificheranno l'archiviazione dei file in formati più piccoli, il riutilizzo dei file e, con i modelli, la possibilità di utilizzare qualcosa in un altro posto.

Uscita finale

  • Ogni progetto finalizzato viene compresso e messo sul mio hard disk esterno.
  • Tutti i prodotti finali vengono convertiti in file da tabelle e in PDF da tutti gli altri formati.
  • Ogni progetto che faccio viene stampato per un backup cartaceo

La linea di fondo

  • Ogni persona utilizza software e strumenti multipli e diversi. Un sacco di gente che conosco organizzarsi con campo base , Harvest , o di qualsiasi altra moltitudine di strumenti. Inoltre le persone hanno abitudini di lavoro e tendenze OCD diverse. Sono abbastanza ossessionato dall'organizzazione di cose forse un po 'più di altre. Quindi sviluppa il sistema che ti provoca il minimo stress garantendo allo stesso tempo che sarai coerente nell'applicazione e nell'aggiornamento
  • Eseguire il backup e replicare tutto
  • Non lavorare direttamente sui dati grezzi / di base
  • Per i tuoi progetti usa sempre un file di replica, poiché i dati cambiano nel tempo e non vuoi essere confuso per trovare il file base_layer_2006.shp.
  • ogni cartella my_projects deve avere un file di testo README che lo modifichi mentre stai facendo i progetti per fornire alcune informazioni di base che sai che dimenticherai più tardi quando visiterai il progetto 2 anni lungo la strada

Molto bene. Immagino che non ti preoccupi troppo della creazione di duplicati di tutti i tuoi set di dati (non elaborati, analizzati) e dello spazio che occupa.
Dchaboya,

2
@dchaboya il costo dello spazio su disco è relativamente basso rispetto al livello di stress che risparmio. Inoltre non credo nell'eliminazione di nulla.
Dassouki,

Solo curioso di sapere perché la limitazione di github è significativa. Stai usando git per tutto, anche senza codice? Sto iniziando a utilizzare il controllo versione per gli stessi scopi e sto cercando di imparare le buone pratiche.
djq

@dassouki, perché crei nuove versioni dei tuoi file mxd quando usi git? Puoi anche controllare la versione di questi file mxd.
Paul Hiemstra,

@PaulHiemstra Principalmente perché è più facile per me aprire più versioni contemporaneamente.
Dassouki,

8

Non hai dichiarato di lavorare solo con il software Desktop GIS, quindi condividerò alcune delle mie esperienze dalla mentalità orientata alla programmazione. Vorrei innanzitutto dire che sono d'accordo con le cose che dice @dassouki. Penso che la cosa più importante non sia il modo in cui ti organizzi, ma che lo fai.

Ma per passare al mio flusso di lavoro. Quello che mi piace dell'uso di un linguaggio di programmazione (R nel mio caso) è che lo script che scrivo documenta tutti i passaggi che prendo. Ciò è in contrasto con l'utilizzo di ArcGIS, dove penso sia più difficile vedere come un utente è passato dai dati di input non elaborati a ciò che è possibile visualizzare in un file mxd. Ovviamente puoi tenere un registro di tutti i passaggi che esegui nella GUI, ma penso che un linguaggio di programmazione si prenda molto meglio per salvare il flusso di lavoro esatto che hai preso. Ciò può essere particolarmente importante quando un cliente / supervisore ti chiede come hai fatto qualcosa o cosa hai fatto esattamente per produrre un determinato prodotto.

Quindi in pratica ho diverse cartelle sul mio disco che sono importanti (nota che sono uno scienziato):

  • Esperimenti, qui memorizzo tutti gli esperimenti che eseguo, ad esempio provando una determinata analisi su un determinato insieme di dati. Ogni esperimento ha la sua directory. Conservo anche le tabelle risultanti e simili qui. Tutti i miei script R sono in questa directory.
  • Set di dati, tutti i miei set di dati non elaborati sono memorizzati separatamente da
  • strumenti, ho una directory separata in cui immagazzino il codice che ho generalizzato per il riutilizzo in un altro progetto.
  • Documenti, il mio lavoro ruota attorno alla scrittura di articoli scientifici. Per ogni documento ho una directory separata in cui conservo i miei file in lattice. Questi file leggono le illustrazioni e le tabelle dalla directory degli esperimenti. Un documento può contenere diverse illustrazioni.
  • software, in una directory separata io immagazzino software, principalmente pacchetti R che ho scritto e un codice fortran che compilo per eseguire modelli.

Alcune idee principali che utilizzo:

  • Separare elementi dinamici in forma (relativamente) statica: ad esempio salvando script generalizzati in un posto diverso da dove si salvano progetti a breve termine. Oppure separa i tuoi dati grezzi dalle tue analisi su di essi.
  • Utilizzare il software di gestione delle versioni dove è possibile. Mi piace mercurial e git.
  • AUTOMATICA I TUOI BACKUP !! Non ci pensi mai quando li fai manualmente, e poi il tuo hard disk si blocca. Sotto Linux questo tipo di automazione è semplice. Non sono sicuro di come sia su Windows / Mac.

In generale, mi piace usare un linguaggio di programmazione perché in uno script puoi passare dai dati grezzi alle immagini / tabelle risultanti. R è un buon candidato perché può leggere e scrivere facilmente i dati GIS e ha un sacco di analisi a bordo, sia GIS che statistiche.


1
+1 sull'automazione dei backup. Ecco perché simlink le mie cartelle su dropbox
dassouki il

3
Dropbox ha il tipo di memoria di cui hai bisogno? E cosa pensi di mettere il tuo prezioso lavoro nelle mani di un'azienda esterna?
Paul Hiemstra,

3

Vorrei solo aggiungere alla risposta sopra: 2 cose.

  1. Mi piace avere cartelle nella directory di importazione dei dati non elaborati - cartelle per ogni volta che si riceve un set di dati - ad es. From_clientname-2011dec23. In questo modo posso risalire quando ho ricevuto tutti i dati utilizzati nel progetto.

  2. Mi piace anche avere un documento di progetto pieghevole in viaggio - posso quindi creare un documento Word o un semplice file TXT qui che posso scrivere cosa ho fatto sul progetto, la data e chi lo ha richiesto. In questo modo posso tornare indietro e coprirmi è qualcuno che si chiede perché ho fatto qualcosa. Questo può sembrare noioso per le piccole richieste, ma alla fine può salvarti.


1
Questo è certamente materiale di Project Management 101. Sebbene una buona parte del tempo speso in un progetto possa essere dedicato a mantenere tutto organizzato e ben documentato, alla fine ciò può potenzialmente farti risparmiare tempo e prevenire la riduzione della tua aspettativa di vita.
Dchaboya,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.