Questions tagged «versioning»

在数据库中,具有所有者,描述,权限(私有,受保护或公共)和父版本的数据库的替代状态。

8
管理大量的地理空间数据?[关闭]
您如何管理地理空间数据?我有数TB的数据散布在数百个数据集中,并且有一个临时的解决方案,该解决方案使用了项目内的符号链接,这些链接链接回每个数据集的基于域名的存档目录。这在大多数情况下都有效,但是有其自身的问题。 我也非常想知道是否有人在版本控制系统中管理其地理空间数据;我目前将一个用于我的代码和小型数据集,但不用于完整数据集。

1
正在实施地理空间数据的版本控制系统?[关闭]
并不是我现在急需一个正确的答案,而是我最近看到了一些努力来引入地理数据的“(分布式)版本控制系统”的概念。一些例子(据我所知)都是从OpenGeo(三白皮书1,2&3)和“ Geosynkronisering(geosyncronization)”由挪威GIS软件厂商的项目和挪威测绘局。我还发现了地理空间数据的分布式版本控制?,其中提到了GeoGit(由OpenGeo提供),以及将版本控制应用于ArcGIS ModelBuilder模型?关于ArcGIS中的版本控制。 作为开发人员,我知道(至少足以使用它们)源代码的版本控制系统(例如SVN和Git)如何工作,而我在地理学方面的背景告诉我,地理数据存在一些独特的挑战,这使得这种方法与源代码(基本上是文本)的处理方式不完全相似。 在处理(d)VCS地理数据时会遇到哪些挑战,您将如何解决它们,我们是否需要它们,还有其他尝试解决这些问题的尝试,而我没有提到过? 我知道OpenGeo白皮书将回答我的一些问题,但是我真正追求的是一个更具“教学性”的答案,其风格为“告诉我我已经十岁了”,这样我可以让人们很好地解释地理数据给混合带来的挑战和解决方案。 我希望有见识的人能花点时间对此事发表一些想法,因为我说我目前不打算解决一个特定的问题,但是这个话题让我很感兴趣。

8
使用ArcSDE进行版本控制时,可以取消或拒绝发布的编辑吗?
我正在使用ArcGIS 9.3.1,并尝试使用已经注册为版本控制的SDE地理数据库(具有一个面要素类)。我是版本控制的新手,但仍在尝试弄清其中的一些基本功能。到目前为止,我还无法发现将某些修改发布到父版本后是否可以“取消”或“拒绝”某些修改。 例如,假设我们有三个版本:在注册为版本时创建的原始SDE.DEFAULT,默认名称为SDE.QA(用于质量保证)的子版本以及名为SDE的QA的子版本。 .Edit1(首先进行编辑的位置)。如果编辑了SDE.Edit1的某些功能(例如,为了简单起见,假设添加了一个多边形,然后删除了一个多边形),然后将SDE.Edit1与SDE.QA进行了协调,然后发布到SDE.QA,有什么办法以后可以撤消此更改?跟进这个问题,是否可以仅拒绝某些更改?例如,接受添加第一个多边形,但拒绝删除第二个多边形? 据我所知,一旦将编辑内容发布到父版本中,所有这些更改现在都是父版本的“永久”(由于缺少更好的用词)部分。我知道以下事实:所有这些更改都记录在两个表中,即“ ADD”和“ DELETE”表(通常称为“ delta”表),实际上并没有更改原始FC本身。我考虑过研究手动更改这些增量表,但是我发现有足够的人警告说这可能不是正确的解决方案。 也许是我对版本控制的理解需要一些工作,但是一旦发布更改,我似乎无法找到拒绝更改或撤消更改的方法。我觉得这很奇怪,因为这意味着无法撤消包含错误的帖子。我似乎也找不到找到这些版本沿袭的方法(即哪个版本是哪个父版本的子版本)。当我在讨论这个话题时,如果有人知道任何特别有用的ArcSDE参考资料(链接,文章,书籍等),可能有助于我对ArcSDE的理解(并可能回答其中的一些问题),将不胜感激。 ! 尽管到目前为止的答案是有帮助的(感谢您的链接),但我仍然找不到问题核心的答案。再次,也许这是我自己对情况的误解。这是我想知道的: 将帖子从子版本发布到父版本后,您可以将其撤消吗?在这种情况下,父级可以是SDE.DEFAULT版本,但不一定是。更好的是,我想知道发布后是否可以撤消发布的一部分(例如,对多边形进行一次编辑)?我也想知道是否可以在不需要检测到任何冲突的情况下完成此操作。 我在任何地方都找不到对这个问题的明确答案(即“是”或“否”)的事实,这使我觉得我缺少有关ArcSDE版本控制的重要信息。我也希望避免手动操作A和D表。

5
是否将版本控制应用于ArcGIS ModelBuilder模型?
版本控制是软件开发必不可少的工具,它可以使用户可靠而干净地退回到X完全正确完成工作的最后一次,或者查看从那时到现在的变化-通常在试图找出原因时使用X不再完全正确。 但是,我所知的所有工具仅适用于纯文本文件。工具箱(标准工具箱,而不是10.1中引入的python工具箱)及其模型都是二进制的。有谁有可行的方法来进行版本控制? 注意:版本控制与backup不同。有任意数量的简单方法来创建文件的快照特定日期/时间- Windows备份,以前的版本中,xcopy /s d:\foobar\ x:\foobar_%date%,zip stuff_%date%.zip stuff\*,等等。 将git,化石,mercurial,subversion或...之类的工具应用于二进制文件比使用xcopy或zip更好,因为可以添加提交消息,“ Model foobar%date%现在将覆盖以前的版本仅在Baz不存在的情况下才会产生结果”,但与该工具集可应用于文本文件的结果相比仍然贫乏:例如,向我确切说明去年和今天之间的更改。


3
如何处理OpenStreetMap中的版本控制?
在此之前,已经提出了从更一般的意义上管理地理空间数据的主题。在那里也提到了版本控制的主题,但并未真正涉及。 传统的地理空间数据收集和维护只需要在内部处理版本控制,因为数据库只能从组织内部进行更新。在众包的地理数据库(例如OpenStreetMap)中,情况并非如此。在那里,任何人都可以出现并添加,修改或删除对象。在OpenStreetMap中,这是基本的处理方式:每个对象都有一个整数版本号,并且只有最高版本的对象才在实时数据库中公开。数据库使用开放式锁定,因此用户必须解决手动上传文稿时发生的所有冲突。 只要通过编辑人员(JOSM,Potlatch)进行的人工贡献是唯一的贡献方式,那么所有这些都可以很好地工作,但不是。越来越多地进行公开公共部门数据的导入。这些使版本控制问题更加复杂。请考虑以下情形: 正在从开放的公共部门数据集中导入建筑对象 该建筑物由人工贡献者进行了一些修改(属性,几何或两者) 一个新版本的公共部门数据可用并被导入。 当前,在第3步中,除非将接受社区修改的每个建筑物手动与新的导入项合并,否则人类的贡献将会丢失。 OpenStreetMap如何处理这种情况?我们需要在软件开发中研究分布式版本控制吗?DVC的方法如何适应于分布式空间数据维护?

1
使用ArcPy更改为历史版本?
我在尝试使用Python和arcpy.ChangeVersion_management更改为SDE要素类的历史版本时遇到问题。 我可以使用ArcMap手动将版本更改为特定的日期和时间。我还能够使用ModelBuilder完全自动化该过程。 当我将ModelBuilder模型导出到python脚本时,脚本运行无误,但所选的版本是带有今天日期的历史版本,而不是选择为date参数的日期。 使用Arcmap和Python窗口(地理处理-> Python),我也可以运行python代码而不会出现错误,结果是相同的。使用当前日期选择历史图层,而不选择使用日期作为日期参数。 这是我正在执行的Python语法: arcpy.ChangeVersion_management("Parcels", "HISTORICAL", "", "7/1/2013 4:30:00 PM") 我也使用以下方法得到相同的结果: historyDate = datetime.datetime(2011, 7, 1) arcpy.ChangeVersion_management("Parcels", "HISTORICAL", "", historyDate) 而以下引发RuntimeError: historyDate = datetime.date(2011, 7, 1) arcpy.ChangeVersion_management("Parcel", "HISTORICAL", "", historyDate) 这是一个已知的错误,还是我会以错误的方式处理?


2
比较未版本控制的地理空间数据的工具
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 我的办公室拥有大约100 GB的各种形式的地理空间数据(图像,地理数据库中的要素类,LIDAR,表格等),在收集的十年中,这些数据都变得有些无法管理。现在,我负责盘点和重组数据。数据存储在文件系统中并且未版本控制,但是许多数据集和地理数据库已被复制到新位置,而没有其他元数据描述什么或原因。 在不讨论我们应该做的事情或将来如何结构化(我正在研究)的情况下,我试图找出在遇到要素时是否有比较好的方法比较要素类数据和地理数据库确定两个副本之间的更改。我可以使用“ 超越比较”来比较许多数据类型。我遇到了一些关于比较特定项目的GIS.SE问题,但我不知道它们是否可以工作-至少没有进一步的脚本编写是不可能的,这不是可取的,而是一种选择。 在新旧版本的ArcSDE数据库之间有区别吗? 如何成功比较arcpy中的两个几何?(这可以很好用,但是我希望有更好的东西) 我意识到,鉴于GIS数据的所有不同类型和属性,比较是一项相当困难的操作,但我希望找到一种至少可以处理空间位置,关联数据表以及理想的元数据方面的差异的方法。一方面,商业软件和相对准系统的代码对我来说都是可以的。 这是否存在? 编辑:明确一点-我们正在使用ArcGIS 10.0和10.1-我很高兴也使用涉及其他开源或商业提供商的解决方案,但是任何ESRI解决方案都需要在10.0中兼容。另外,我们的数据当前不在真实的数据库中(SDE,postGIS等),但是如果我愿意比较的话,我愿意将我想比较的内容移动到另一种格式。

2
在版本化的地理数据库中,增量表和状态树对查询性能有何影响?
我们有一个版本化的arcsde地理数据库(oracle 10g上的arcgis 9.3.1),具有相当复杂的数据模型,其中包括大约100个要素类和非空间表,一个几何网络以及许多关系类。 每天有5或6个arcmap用户使用sde版本控制编辑数据。此外,还通过自动服务创建了版本,这些服务与其他业务系统连接以在地理数据库中执行编辑。查询性能在一天中明显下降,因此我们实施了每晚脚本来实现完全压缩。在执行相对大量的编辑的情况下,系统可能要等到完全压缩后才能使用。 有人建议,面对这些易失的增量表,配置的oracle无法提出合理的执行计划。这是合理的解释吗?应该采取什么方法解决呢? 更新以回应评论 到最后,状态树非常线性,只有很少的分支。 我们每晚压缩(通过删除所有版本获得完整压缩)。 定期分析业务表。 不分析增量表。它们被锁定(尝试分析返回错误“ ORA-20005对象统计信息已锁定”)。sde模式中的易失性表也不是-STATES,STATE_LINEAGES。
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.