1

我工作的程序有几个 shapefile,有很多属性。目前,它们作为压缩 blob(dbf.gz、shp.gz 和 shx.gz)存储在我们的版本控制 (Subversion) 中。这就是程序使用它们的方式,但是对于版本控制来说非常不方便。我们没有得到有关条目或属性更改的信息 - 只是文件中某处的某些内容发生了更改。没有有用的差异。

DBF 是具有属性的那个。我在想也许我们可以将它存储为 CSV,然后作为构建过程的一部分,将其转换为 DBF并执行 ??? (待定)使其成为有效的 shapefile,然后制作当前使用的压缩版本。

另一种方法可能是从 shapefile 中删除几乎所有属性,将它们存储在 CSV/YAML/whatever 中(可以很好地进行版本控制),然后通过形状 ID 查找它们,或者在它们拥有之后尝试将它们附加到我们的对象从 shapefile 实例化,类似的东西。

但也许对 shapefile 有更多经验的人有更好的想法?

4

1 回答 1

0

您在第二段开头所指的 DBF 具有这些属性。为什么不以“每个形状”为基础将表格转储到 XML 样式文件中,并将其用于颠覆。如果您实际上是在 Visual Foxpro 中工作(它也使用 DBF 样式文件),您可以使用函数 CursorToXML() 并通过不同形状的循环运行它并转储到每个相应的 XML 文件。然后,当读回它时......每个文件形状的 XMLToCursor() 。

于 2011-07-27T11:45:29.890 回答