组织GIS项目?[关闭]


Answers:


36

注意:我将随时更新此rant

无论如何,我都不是计算机或ArcGIS Pro,但这是我的工作:

基本文件/ DBS

  • 这些是本质上“原始”的文件,构成了我所有分析的基础
  • 这些文件,数据库和数据托管我的projects文件夹之外,并且托管在我的Internet服务器,本地计算机和保管箱上。我始终可以访问它们,并且它们非常有条理,分散和聚合。您将花费大量时间来组织这些。
  • 我把它们全部放在Arc或PostGIS中的数据库中。
  • 对于每个表,我在表本身或元数据中添加3个字段:DATE_OBTAINED,DATA_DATE,SOURCE_NOTES
  • 基本文件也可以是多个其他表的查询。例如,一张表可以将我获得的所有流量计数汇总到一个大查询/表中。
  • 我还在这里放置了所有可以搜寻互联网的其他数据。
  • 我从不对基础文件中的任何文件进行任何直接分析

项目文件

  • 我所有的项目文件都放在一个my_projects文件夹中。它包含与该项目相关的所有内容,如果我将该文件夹复制并粘贴到其他位置,它将包含所有内容。
  • 通常我具有以下结构:
    • 我的项目/
      • 管理员/
      • 通讯/
      • 原始数据/
      • 分析数据/
      • output_data /
      • from_client /
      • 最后/
      • 码/
      • some_document_date_time.doc
      • 自述文件
  • 慢慢地,我一直在转向本地GIT。(您甚至可以将其托管在本地或您自己的服务器上)。我之所以不将其放在GitHub上,是因为GitHub的限制为1.2gb,这对GIS分析没有用
  • 对于我的项目,我通常将分析所需的所有GIS表复制到新的db:project_whatever中。
  • 9次了10年,我在SHP文件只是工作,我所有的GIS(图片,Excel中,坐标等)保存到我的projects/my_project/raw_dataprojects/my_projects/analyzed_dataprojects/my_projects/output_data
  • 项目完成后,我将最终提交的副本放入 my_projects/FINAL/date_submitted
  • 对于我的MXD,我通常保存到一个新的MXD每2到3个小时my_proj_dec_22_11__13_20.mxd,例如
  • 对于Word女士的文档,插图以及大部分为编辑文档,它们位于my_projects文件夹中,例如RFP_TENDER_Dec_22_11__11_15.docdraft_ver5_Dec_31_11__12_30.doc。同样,我所有最终的可交付成果都放入FINAL文件夹中
  • 对于R,Python代码和某些C#,它有点棘手,因为我将其托管在项目外部,但具有工作副本到my_projects/code文件夹。我这样做是因为大多数python代码都是可重用的。如果您将所有python代码放在​​项目之外,那么您会忘记它们。另外,我所有的python代码都放在github上。
  • 对我来说,项目文件包括任何类型的文件,包括时间跟踪,通讯(我将所有电子邮件都保存为.msg文件),我将所有口头通讯记录在word文件中,并将所有这些文件放在my_project / communication中
  • 在ArcGIS中,使用模型,LYR和“将选择另存为新的shp图层”。这些工具将使您可以轻松地以较小的格式存储文件,重复使用文件,并且通过模型,可以在其他地方使用某些东西。

最终输出

  • 完成后,每个项目都会压缩并放在我的外部硬盘上。
  • 所有最终产品都将从Tables转换为文件,并从所有其他格式转换为PDF。
  • 我所做的每个项目都将打印以进行硬拷贝备份

底线

  • 每个人使用多种不同的软件和工具。我认识的很多人都使用basecampHarvest或任何其他众多工具来组织起来的。人们也有不同的工作习惯和强迫症倾向。我非常着迷于整理东西,可能比其他东西要多。因此,开发使您压力最小的系统,同时确保您在应用和更新时保持一致
  • 备份和复制所有内容
  • 不要直接处理原始/基本数据
  • 对于您的项目,请始终使用副本文件,因为数据会随着时间而变化,并且您不想费力地寻找base_layer_2006.shp
  • 每个my_projects文件夹都必须具有一个README文本文件,您可以在进行项目时对其进行编辑,以提供一些基本信息,这些信息将在以后两年访问该项目时忘记,

很好。我猜您不是很担心要为所有数据集(原始数据,分析数据)及其占用的空间创建副本。
dchaboya 2011年

2
与我节省的压力相比,@ dchaboya的磁盘空间成本相对较低。我也不相信删除任何东西。
dassouki 2011年

只是好奇为什么github限制很重要。您是否对所有内容都使用git,也使用非代码?我开始出于相同的目的使用版本控制,并尝试学习良好的做法。
djq 2011年

@dassouki,为什么在使用git时要创建新版本的mxd文件?您还可以对这些mxd文件进行版本控制。
Paul Hiemstra 2011年

@PaulHiemstra通常是因为对我而言,同时打开多个版本更容易。
dassouki 2011年

8

您没有声明只使用Desktop GIS软件,因此我将分享一些面向编程思想的经验。首先,我要说我同意@dassouki所说的话。我认为最重要的不是您如何组织,而是您要这样做。

但是继续我的工作流程。我喜欢使用编程语言(在我的情况下为R)是我编写的脚本记录了我执行的所有步骤。这与使用ArcGIS形成对比,我认为很难看到用户如何从原始输入数据转到在mxd文件中看到的内容。当然,您可以保留在GUI中执行的所有步骤的日志,但是我认为编程语言可以更好地保存您执行的确切工作流程。当客户/主管询问您如何做某事,或者您实际为生产某种产品做了什么时,这一点尤其重要。

因此,实际上,我的驱动器上有几个重要的文件夹(请注意,我是一名科学家):

  • 实验,这里存储了我执行的所有实验,例如,对特定数据主体进行特定分析。每个实验都有自己的目录。我还在这里存储结果表等。我所有的R脚本都在此目录中。
  • 数据集,我所有的原始数据集都与
  • 工具,我有一个单独的目录,在该目录中存储了经过通用化后可在另一个项目中重复使用的代码。
  • 文档,我的工作围绕着撰写科学论文而展开。对于每篇论文,我都有一个单独的目录,用于存储我的Latex文件。这些文件从实验目录中读取插图和表格。一篇论文可以包含几个插图。
  • 软件,在一个单独的目录中,我存储软件,主要是我编写的R程序包和一些编译运行模型的fortran代码。

我使用的一些主要想法:

  • 分开(相对)静态形式的动态内容:例如,将广义脚本保存在与保存短期项目不同的位置。或将原始数据与对它们的分析分开。
  • 尽可能使用版本管理软件。我喜欢水银和吉特。
  • 自动化备份!!!!当您手动进行操作时,您永远都不会想到它们,然后硬盘驱动器崩溃。在linux下,这种自动化很容易。我不确定Windows / Mac下的情况如何。

通常,我喜欢使用一种编程语言,因为在一个脚本中,您可以从原始数据转到生成的图片/表。R是一个很好的候选者,因为它可以轻松读取和写入GIS数据,并且可以进行大量的GIS和统计分析。


1
+1关于自动执行备份。这就是为什么我将我的文件夹链接到保管箱
dassouki 2011年

3
Dropbox是否具有您所需的存储类型?您如何将自己的宝贵工作交到外部公司手中?
Paul Hiemstra 2011年

3

我只想添加到上面的答案-两件事。

  1. 我喜欢在导入原始数据目录中包含文件夹-每次接收数据集的文件夹-即from_clientname-2011dec23。这样,当我收到项目中使用的每条数据时,我就可以进行追溯。

  2. 我还喜欢随时随地折叠一个项目文档-然后,我可以在这里创建Word文档或简单的TXT文件,以便记下我对项目所做的操作,日期和要求的人。这样我可以回去掩饰自己,这是有人质疑我为什么要做的事情。对于小的请求,这听起来可能很乏味,但最终可以节省您的时间。


1
这当然是项目管理101的材料。尽管您花在项目上的大部分时间都用于使所有事情都井井有条并有据可查,但是最终这可以节省您的时间并防止预期寿命的缩短。
dchaboya 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.