Solo开发人员的数据库与文件


10

我刚刚开始使用GIS,并且对使用它创建我所在地区及附近山区自行车道的地图感兴趣。我一直在学习QGIS,并且已经取得足够的进展来生成一张体面的地图。到目前为止,我已经将图层存储在Shapefiles中,似乎工作正常。

在过去的一个周末,我开始研究PostGIS并使其运行并设法导入我的路径shapefile并将QGIS连接到PostGIS。

我现在想知道使用数据库与文件的利弊是什么。我已经有一些想法,但是很好奇别人可能有什么启发性的看法。

数据库的优点

  • 无论走到哪个公园,所有足迹的一张桌子都可以让我拥有一组一致的信息列。
  • 更轻松地查询/导出我的数据为多种格式
  • 多个客户端/工具使查看和编辑数据更加容易
  • 简化表格结构的编辑(与QGIS表格编辑相比)

数据库的缺点

  • 站起来/维护数据库会增加我的设置的复杂性。
  • 我有一台台式机和一台笔记本电脑,我在做GIS,使用DropBox可以轻松在两台计算机之间同步文件。与使用DropBox和文件一起使用PostGIS,这可能是不可能的(或透明的)。
  • 比数据库更容易备份/还原文件。

1
如果地图是只读的,并且保持在2gb以下,请坚持使用形状文件。如果您打算同时进行多个编辑并且它的数据集大于2gb,请使用postgis。
CaptDragon 2012年

Answers:


12

我建议您将Spatialite添加到列表中。它的优点是基于文件(作为shapefile或.mdb数据库),并且支持大多数常见的空间运算符和tpy,您也可以在PostGIS中找到它们。Spatialite基于Sqlite,因此您将管理一个文件,可以轻松移动和共享。


我会看一下,因为从您的描述来看,它似乎提供了两全其美的优势。
布莱恩·凯利

6

我想说PostGIS数据库上最大的Pro是,您可以使用PostGIS给您的整个功能集。

您列表中的所有缺点都非常容易修复。您可以在一台服务器上运行Postgis,并将笔记本电脑和台式机用作客户端。还有备份问题,您可以生成转储文件或任何东西,以获得良好而有价值的备份!;)


不过,我喜欢在火车上使用笔记本电脑,所以当时我没有任何互联网连接。
Brian Kelly 2012年

@Styp,如果您在一台笔记本电脑上拥有PostGIS服务器和客户端,它就可以正常工作!
Simbamangu 2014年

5

PostGIS的另一个大优点是,使用空间数据库,您可以保留空间数据的一个副本,并创建通过唯一ID链接到非空间数据的视图

然后,您可以通过创建从中选择的视图来创建完整数据的子集-这样您就可以将单状态表作为完整国家/地区表的视图。就像是:

创建状态txcounties作为select * from state ='TX'的县

同样,似乎也没有人提到PostGIS的空间运算速度。假设您要查看一条最靠近您的自行车道的瀑布,并给出一条路线线表和包括瀑布在内的兴趣点表。这是PostGIS可以真正快速执行的查询,因为它可以在空间表上保留空间索引。您可能可以使用Qgis中的本机工具来完成此操作,但速度可能会慢很多。

显然,对于像您这样的有趣小应用程序来说,这些东西可能不是进入空间数据库复杂性的好理由,但它可以解释为什么这些“企业”功能对于大型项目必不可少。


我阅读了“ PostGIS in Action”的免费章节,该章节使我得出与您相同的结论-非常强大的功能,但对于我想使用的功能,可能会适得其反(现在)。
布莱恩·凯利

2

与平面文件相比,DB的另一个优势是版本控制,这对于多用户数据输入GIS至关重要。

有一个适用于PostGIS和GeoGit的beta插件,请参见。这个问题。


我正在独自工作,所以我更新了问题以反映这一点。您的观点是正确的。
Brian Kelly

1

Shape文件中有一个限制(最大2gb)..因此,如果您的地图大小没有超出此限制..您可以使用shape文件而无需任何数据库设置....


很好(但是请注意,2 GB的限制分别适用于.shp文件中的功能和.dbf文件中的属性)。但是,该问题要求在shapefile解决方案和DB解决方案之间进行比较。shapefile文件大小限制与数据库文件中的类似限制(如果有)相比如何?
whuber
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.