使用spacespaceite优于shapefile的优势?[关闭]


35

我发现spacespaceite比shapefile更为有用,因为它没有shapefile的限制,而且它是可移植的。这里的许多人使用shapefile交换数据,甚至专家也不知道这种新格式。

相较于shapefile,使用spacespaceite有什么优势?

可以使用它代替shapefile吗?

请仅关注那些便携式的格式,即可以使用USB记忆棒交换的格式。不能选择GML,GeoJSON,KML,CSV,并且它们不能在GIS中直接编辑。

更新:已经超过5年了,新的开发方向是与空间卫星有关的地理封装。

因此,现在的问题更像是使用GEOPACKAGE优于GEODATABASE的优势?

Answers:


27

Shapefile是GIS矢量数据文件交换的最低公分母:发送shapefile的档案,您几乎可以保证有人可以从中构建基本的GIS。

SpatiaLite的优势包括:

  • 一切都在一个文件中;每层混乱都没有shp / shx / dbf / idx / prj。
  • 逻辑和数据都可以以VIEW和TRIGGER的形式包含在内。
  • 内置的空间索引,可快速搜索大面积区域。
  • 它们是真实的(如果有一些限制,主要是在多用户访问中)数据库系统,不需要数据库管理技能。

但是有一些缺点:

  • 并非每个人都可以使用它们。
  • 它们仍然主要限于由节点和直线构建的几何;如果需要花键和曲面,请在别处查找。

8
好的帖子,但是关于空间索引有两点。Shapefile也可以在空间上建立索引,第二,您必须显式加入Spatialite空间索引,这可能会导致一些笨拙的查询。我仍然更喜欢在Spatialite数据库中移动数据,但是将其导入PostGIS数据库以利用其更强大的查询计划器。
HeyOverThere 2013年

22

Shapefile绑定到一种类型的几何图形,因此您为单个项目获得了许多文件。字段名称也受到限制,这是因为使用的是古数据库格式。

在spacespaceite中,您可以将整个项目数据保存在一个文件中。并根据需要命名字段(差不多)。

spacespaceite的唯一缺点是更新周期快,这使得读取或写入以其他(较旧)版本写入的数据变得困难。


15

除了scruss的答案,shapefile还具有一些局限性:

  • 字段名称的最大长度为10个字符
  • 档案大小上限(.dbf / .shp)为2GB
  • 数字属性存储为字符(整数/浮点数),导致舍入等潜在问题
  • NULL值在系统之间的解释不同

4

对我来说,最大的优势是单一文件格式的关系数据库系统。使用空间功能来创建视图的好处很多。考虑这样一种情况:给定一组点,您的方法是基于属性对点进行缓冲,然后测试这些缓冲与其他地理特征的重合性。将此工作流与shapefile一起使用通常需要将每个操作作为另一个shapefile持久化。现在,如果您更新了给定的任何数据,则必须再次运行整个链。更不用说在某些环境下,您可能不知道更改输入数据。当您依赖SQL视图进行几何操作时,这不是问题。(我知道有一些工具可以解决shapefile的这类问题,但问题是关于spatiaLite数据库。)


2

一切都在一个文件中也是一个缺点:如果发生故障,则很难修复。文件的大小似乎也从3.7 MB开始,即使对于几乎空的数据集也是如此。他们似乎也只支持text,integer和float字段。没有日期/时间或布尔值字段。至少在QGIS 1.8中进行测试时


1
Spatialite确实具有日期/时间类型,因为它具有以下类型:Date和Time Datatype
13年

2
您链接到的页面上引用的“ SQLite没有预留存储类来存储日期和/或时间”。是的,可以将任何内容存储在文本字段中,但是仍然只是文本,需要对其进行解析,然后才能对其进行数学运算。
Uffe Kousgaard

不,你不会;您可以进行类似的查询,select * where date < '1980-01-01'并且可以为您完成数学运算。
scruss

这意味着文本将被解析。替代方法是将日期存储为引擎直接理解的数字。没有风险,您会遇到4月31日或其他任何非法值。对于文本,必须先将其转换为数字,然后才能应用<运算符。
Uffe Kousgaard

1
@UffeKousgaard:在.dbf文件中,数字(整数/浮点数)和日期时间存储为字符,因此在解析的情况下,shapefile在这里毫无优势。
Oyvind
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.