我一直在努力使项目文件保持井井有条。

保持数据集,图像,shapefile等井井有条的秘诀是什么?

评论

也请参见此[问题] [1]的答案。 [1]:gis.stackexchange.com/questions/2976/…

#1 楼

注意:我随时都可以更新此操作

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

基本文件/ DBS


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

项目文件


我所有的项目文件都放在my_projects文件夹中。它包含与该项目相关的所有内容,如果我将该文件夹复制并粘贴到其他位置,它将包含所有内容。
通常我具有以下结构:

my_project /

admin /
通信/
raw_data /
analyzed_data /
output_data /
from_client /
FINAL /
代码/
/>some_document_date_time.doc
自述文件




慢慢地,我一直在迁移到本地GIT。 (您甚至可以将其托管在本地或您自己的服务器上)。我之所以不将其放在GitHub上,是因为GitHub的限制为1.2gb,这对GIS分析没有用
对于我的项目,我通常将分析所需的所有GIS表复制到新的数据库中:project_whatever 。
10次中有9次,我只能处理shp文件,并将所有GIS(图像,excel,坐标等)保存到projects/my_project/raw_dataprojects/my_projects/analyzed_dataprojects/my_projects/output_data
项目完成后,我将最终提交的副本放在my_projects/FINAL/date_submitted中。对于我的MXD,我通常每隔2或3小时保存一次新的MXD,例如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。
我所做的每个项目,都将打印出来以进行硬拷贝备份。

底线


每个人都使用多种不同的软件和工具。我认识的许多人都使用大本营,Harvest或其他任何工具来组织起来。人们也有不同的工作习惯和强迫症倾向。我非常着迷于整理东西,可能比其他东西还要多。因此,开发在给您带来最小压力的系统的同时,确保您在应用和更新它时将保持一致

备份和复制所有内容
不要直接在原始/基础数据上工作
对于您的项目,请始终使用副本文件,因为数据会随着时间而变化,并且您不想争先恐后地找到base_layer_2006.shp
每个my_projects文件夹都必须有一个README文本文件,您可以在编辑该文件时进行编辑做项目以提供一些基本信息,您知道这些信息会在您两年后访问该项目时忘记,


评论


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

– dchaboya
2011-12-23 14:13

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

– dassouki
2011-12-23 14:18

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

– djq
2011年12月24日14:17

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

– Paul Hiemstra
2011年12月24日在18:18

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

– dassouki
2011-12-24 18:26

#2 楼

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

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

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


实验,在这里存储所有实验I表演,例如尝试对某些数据进行特定分析。每个实验都有自己的目录。我还在这里存储结果表等。我所有的R脚本都在该目录中。
数据集,我的所有原始数据集与
工具分开存储,我有一个单独的目录,在这里我概括了可以在另一个项目中重用的代码。 br />文件,我的工作围绕着撰写科学论文而展开。对于每篇论文,我都有一个单独的目录,用于存储我的Latex文件。这些文件从实验目录中读取插图和表格。一篇论文可以包含多个插图。
软件,在一个单独的目录中,我存储软件,主要是我编写的R程序包和一些我编译来运行模型的fortran代码。

我使用了一些主要思想:


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

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

评论


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

– dassouki
2011-12-24 18:43

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

– Paul Hiemstra
2011年12月24日19:15

#3 楼

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


我喜欢在导入原始数据目录中包含文件夹-每次接收数据集的文件夹-即from_clientname-2011dec23。这样,当我收到项目中使用的每条数据时,我就可以进行追溯。
我也喜欢随时随地折叠项目文档-然后,我可以在此处创建Word文档或简单的TXT文件,我可以写下我在项目上所做的事情,日期和要求的人。这样一来,我可以回过头来掩饰自己,这是有人质疑我为什么做某事的原因。对于小的请求,这听起来可能很乏味,但最终可以节省您的时间。


评论


这当然是项目管理101的材料。尽管您花在项目上的大部分时间都用于使所有事情都井井有条,并有据可查,但是最终这可以节省您的时间并防止预期寿命的缩短。

– dchaboya
2011-12-23 18:50