¿Organizando proyectos SIG? [cerrado]

27

He estado luchando durante bastante tiempo para mantener organizados mis archivos de proyecto.

¿Cuáles son sus consejos para mantener sus conjuntos de datos, imágenes, archivos de forma, etc. organizados?

relima
fuente
2
Vea las respuestas a esta [pregunta] [1] también. [1]: gis.stackexchange.com/questions/2976/…
jonatr

Respuestas:

36

Nota: Esta queja se actualizará a medida que avance

No soy una computadora o ArcGIS pro de ninguna manera, pero esto es lo que hago:

Archivos base / DBS

  • Estos son archivos que son de naturaleza "cruda" y constituyen la base de todos mis análisis.
  • Estos archivos, bases de datos y datos están alojados fuera de mi projectscarpeta, y están alojados en mi servidor de Internet, computadora local y Dropbox. Siempre tengo acceso a ellos, y son muy organizados, desorganizados y agregados. Pasarás mucho tiempo organizando estos.
  • Los puse todos en bases de datos, ya sea en Arc o PostGIS.
  • A cada tabla, agrego 3 campos en la tabla misma o en los metadatos: DATE_OBTAINED, DATA_DATE, SOURCE_NOTES
  • Además, los archivos base pueden ser consultas de varias otras tablas. Por ejemplo, una tabla podría agregar todo el recuento de tráfico que obtengo en una consulta / tabla grande.
  • También pongo aquí todos los demás datos que encuentro recorriendo Internet.
  • NUNCA HAGO NINGÚN ANÁLISIS DIRECTO EN CUALQUIERA DE LOS ARCHIVOS EN LOS ARCHIVOS DE BASE

Archivos de proyecto

  • Todos mis archivos de proyecto van en una my_projectscarpeta. Contiene todo lo relacionado con ese proyecto como en, si copio y pego esa carpeta en otro lugar, lo contendrá todo.
  • Por lo general, tengo la siguiente estructura:
    • mi proyecto/
      • administración/
      • comunicación/
      • raw_data /
      • datos_analizados /
      • datos resultantes/
      • desde_cliente /
      • FINAL/
      • código/
      • some_document_date_time.doc
      • LÉAME
  • Poco a poco me he estado mudando a un GIT local. (incluso puede alojarlo localmente o en su propio servidor). La razón por la que no lo puse en GitHub es que github tiene un límite de 1.2 gb que es inútil para el análisis SIG
  • Para mis proyectos, suelo replicar todas las tablas SIG que necesito para mi análisis en un nuevo db: project_whatever.
  • 9 de cada 10 veces, que sólo funcionan en archivos SHP y guardar todos mi GIS (imágenes, excel, coordenadas, etc.) para mi projects/my_project/raw_data, projects/my_projects/analyzed_datay projects/my_projects/output_data.
  • Cuando se completa un proyecto, pongo la copia final presentada en my_projects/FINAL/date_submitted
  • Para mi MXD, generalmente guardo en un nuevo MXD cada 2 o 3 horas, my_proj_dec_22_11__13_20.mxdpor ejemplo
  • Para documentos de Word, ilustraciones y, en su mayoría, documentos de edición, van en la carpeta my_projects como RFP_TENDER_Dec_22_11__11_15.docy draft_ver5_Dec_31_11__12_30.doc. Nuevamente, todos mis resultados finales van a la carpeta FINAL
  • Para R, código Python y algunos C #, se vuelve un poco complicado, ya que lo alojo fuera del proyecto pero con una copia de trabajo en la my_projects/codecarpeta. Hago esto ya que la mayoría del código de Python es reutilizable. Si coloca todo su código de Python además de los proyectos, se olvidará de ellos. Además, todo mi código de Python va en github.
  • Para mí, los archivos de proyecto incluyen cualquier tipo de archivo, incluido el seguimiento del tiempo, las comunicaciones (guardo todos mis correos electrónicos como archivos .msg), registro todas nuestras comunicaciones verbales en un archivo de Word y pongo todos esos archivos my_project / communication
  • Con ArcGIS, use Modelos, LYR y "guardar selección como una nueva capa shp". Estas herramientas facilitarán el almacenamiento de archivos en formatos más pequeños, la reutilización de archivos y, con los modelos, poder usar algo en otro lugar.

Salida final

  • Cada proyecto cuando finaliza se comprime y se pone en mi disco duro externo.
  • Todos los productos finales se convierten en archivos desde Tablas y en PDF desde todos los demás formatos.
  • Cada proyecto que hago se imprime para una copia de seguridad

La línea de fondo

  • Cada persona usa software y herramientas múltiples y diferentes. Muchas personas que conozco se organizan usando el campo base , Harvest o cualquier otra multitud de herramientas. También las personas tienen diferentes hábitos de trabajo y tendencias de TOC. Estoy bastante obsesionado con organizar las cosas tal vez un poco más que otros. Así que desarrolle el sistema que le cause el menor estrés y le garantice que será consistente al aplicarlo y actualizarlo.
  • Copia de seguridad y replicar todo
  • No trabaje directamente en sus datos sin procesar / base
  • Para sus proyectos, siempre use un archivo de réplica, ya que los datos cambian con el tiempo, y no desea apresurarse para encontrarlos base_layer_2006.shp.
  • cada carpeta my_projects debe tener un archivo de texto README que lo edite mientras realiza los proyectos para proporcionar información básica que sepa que olvidará más tarde cuando visite el proyecto 2 años después.
dassouki
fuente
Muy bien. Supongo que no está tan preocupado por crear duplicados de todos sus conjuntos de datos (sin procesar, analizados) y el espacio que ocupa.
dchaboya
2
@dchaboya, el costo del espacio en disco es relativamente bajo en comparación con el nivel de estrés que ahorro. Además, no creo en eliminar nada.
dassouki el
Es curioso por qué la limitación de Github es significativa. ¿Estás usando git para todo, sin código también? Estoy empezando a usar el control de versiones para los mismos propósitos y estoy tratando de aprender buenas prácticas.
djq
@dassouki, ¿por qué creas nuevas versiones de tus archivos mxd cuando usas git? También puede controlar la versión de estos archivos mxd.
Paul Hiemstra
@PaulHiemstra Principalmente porque es más fácil para mí abrir varias versiones al mismo tiempo.
dassouki
8

No dijo que solo trabaja con el software Desktop GIS, por lo que compartiré algunas de mis experiencias desde la mentalidad orientada a la programación. Permítanme comenzar diciendo que estoy de acuerdo con las cosas que dice @dassouki. Creo que lo más importante no es cómo te organizas, sino que haces esto.

Pero para continuar con mi flujo de trabajo. Lo que me gusta de usar un lenguaje de programación (R en mi caso) es que el script que escribo documenta todos los pasos que tomo. Esto contrasta con el uso de ArcGIS, donde creo que es más difícil ver cómo un usuario pasó de los datos de entrada sin procesar a lo que puede ver en un archivo mxd. Por supuesto, puede mantener un registro de todos los pasos que realiza en la GUI, pero creo que un lenguaje de programación se presta mucho mejor para guardar el flujo de trabajo exacto que realizó. Esto puede ser particularmente importante cuando un cliente / supervisor le pregunta cómo hizo algo o qué hizo exactamente para producir un determinado producto.

Entonces, en la práctica, tengo varias carpetas en mi disco que son importantes (tenga en cuenta que soy un científico):

  • Experimentos, aquí almaceno todos los experimentos que realizo, por ejemplo, probar un cierto análisis en un determinado cuerpo de datos. Cada experimento tiene su propio directorio. También almaceno las tablas resultantes y tal aquí. Todos mis scripts R están en este directorio.
  • Conjuntos de datos, todos mis conjuntos de datos sin procesar se almacenan separados de
  • herramientas, tengo un directorio separado donde almaceno el código que he generalizado para su reutilización en otro proyecto.
  • Documentos, mi trabajo gira en torno a la redacción de artículos científicos. Para cada papel tengo un directorio separado donde almaceno mis archivos Latex. Estos archivos leen las ilustraciones y tablas del directorio de experimentos. Un papel puede contener varias ilustraciones.
  • software, en un directorio separado almaceno software, principalmente paquetes R que escribí y algún código fortran que compilo para ejecutar modelos.

Algunas ideas principales que uso:

  • Separe (relativamente) cosas dinámicas de forma estática: por ejemplo, guardar scripts generalizados en un lugar diferente de donde guarda proyectos a corto plazo. O separe sus datos sin procesar de sus análisis sobre ellos.
  • Utilice el software de gestión de versiones donde pueda. Me gusta mercurial y git.
  • ¡AUTOMATIZA TUS RESPALDOS! Nunca piensas en ellos cuando los haces manualmente, y luego tu disco duro falla. Bajo Linux, este tipo de automatización es fácil. No estoy seguro de cómo es esto en Windows / Mac.

En general, me gusta usar un lenguaje de programación porque en un script puedes pasar de los datos en bruto a las imágenes / tablas resultantes. R es un buen candidato porque puede leer y escribir datos SIG fácilmente y tiene una tonelada de análisis a bordo, tanto SIG como estadísticas.

Paul Hiemstra
fuente
1
+1 sobre la automatización de copias de seguridad. Es por eso que Simlink mis carpetas a
Dropbox
3
¿Dropbox tiene el tipo de almacenamiento que necesitas? ¿Y cómo te sientes al poner tu precioso trabajo en manos de una empresa externa?
Paul Hiemstra
3

Solo me gustaría agregar a la respuesta anterior: 2 cosas.

  1. Me gusta tener carpetas en el directorio de importación de datos sin procesar, carpetas para cada vez que recibo un conjunto de datos, es decir, from_clientname-2011dec23. De esta manera, puedo rastrear cuando recibí cada dato utilizado en el proyecto.

  2. También me gusta tener un documento de proyecto plegable sobre la marcha; luego puedo crear un documento de Word o un archivo TXT simple aquí para poder escribir lo que hice en el proyecto, la fecha y quién lo solicitó. De esa manera puedo regresar y taparme si alguien pregunta por qué hice algo. Esto puede sonar tedioso para solicitudes pequeñas, pero al final puede salvarte.

dklassen
fuente
1
Este es ciertamente el material de Project Management 101. Aunque una buena parte del tiempo que dedica a un proyecto puede dedicarse a mantener todo organizado y bien documentado, al final esto puede ahorrarle tiempo y evitar la reducción de su esperanza de vida.
dchaboya