2011-07-27 10 views
1

我工作的程序有幾個shape文件,有很多屬性。目前它們以壓縮的斑點(dbf.gz,shp.gz和shx.gz)存儲在我們的版本控制(Subversion)中。這是它們如何被程序使用,但這對於版本控制來說非常不方便。我們沒有獲得有關條目或屬性更改的信息 - 只是文件某處發生了某些變化。沒有有用的差異。如何版形文件

DBF是具有屬性的那個。我想也許我們可以將它存儲爲CSV,然後作爲構建過程的一部分,convert it to DBF並做? (待定)使其成爲有效的shapefile,然後製作當前使用的壓縮版本。

另一種方法可能是從shapefile中刪除幾乎所有的屬性,將它們存儲在CSV/YAML /任何(可以很好地版本化),並且可以通過形狀ID查找它們,或者嘗試將它們附加到我們的對象從shapefile中實例化後,類似的東西。

但也許有更多的經驗shapefile的人有更好的想法?

回答

0

您所指的開始第二段的DBF具有屬性。爲什麼不將表格按照「每個形狀」轉儲到XML樣式文件,並將THAT用於顛覆。如果您實際上在Visual Foxpro(也使用DBF樣式文件)中工作,則可以使用函數CursorToXML(),並通過一個不同形狀的循環運行它並轉儲到每個相應的XML文件。然後,將它讀回....每個文件形狀的XMLToCursor()。