SpatiaLite是唯一一个在空间上启用单个文件/数据库的交换格式吗?


13

我试图弄清楚是否还有其他可行的空间启用数据交换格式。到目前为止,SpatiaLite似乎是唯一的一个,但尚未被业界采用。


您在寻找交换格式还是便携式存储格式?这将有助于描述您要解决的问题。GML是一种很好的交换格式,但是您不会将其用作Web应用程序的数据存储。
肖恩

Answers:


10

就OGC简单功能SQL规范而言,Spatialite是唯一基于单个文件的开源实现。由于这个原因(以及其他原因!),与诸如shapefile等其他平面矢量格式相比,它具有重大优势。

GDAL作为“官方” OGR驱动程序[0]得到了GDAL的完全支持,这是对将来支持主要GIS桌面软件(它们都使用通用GDAL)的保证。

当前,只有QGIS能够读取(和写入)它,因此,如果您希望从软件直接读取/写入一种交换格式而不导出为其他格式,那么如果您不使用QGIS,那么它仍然不是您的最佳选择。

但是,如果需要交换格式(如已建议的那样),则可以使用GDAL / OGR [0]中支持的任何格式,然后再导入回空间db。

请注意,如我所知,如果Spatialite将实现拓扑结构,则与其他计划格式(例如shapefile)相比,它将具有重大优势。

[0] http://www.gdal.org/ogr/drv_sqlite.html

[1] http://www.gdal.org/ogr/ogr_formats.html


我听说有传言说,太空人仍然是一个移动的目标,发展缓慢,这就是为什么我想知道那里是否还有其他选择。
GuidoS 2011年

1
至于开发速度,我将其描述为疯狂,而不是缓慢。我想说SpatiaLite还是一个移动的目标,因为它还比较年轻。SQL完全符合标准,因此查询代码不会有太大变化。2.4版几乎是最终版本,但是,正如您建议的那样,它与2.3客户端库不兼容。
DavidF 2011年

那么,从2.3更改为2.4对最终用户有何影响?如果我当前的访问方式是通过ogr,您认为我什至会知道其中的区别?
GuidoS 2011年

5

这真的取决于您的需求。我也认为geojsongmlcitygml和google kml也可以视为空间交换格式。


我正在寻找可用于替换形状文件且可通过sql查询的东西。我认为sqlite是一个很棒的平台,但听说过关于spacespaceite社区的一些传闻,并且想知道现在是否还有其他解决方案。
GuidoS 2011年

问题在于,要使某些内容在本地可以通过SQL查询,它必须特定于特定的数据库。使用OGR,一切都可以以某种形式查询SQL。
马修·斯内普

1
实际上,作为shapefile替换格式,我读到spacespaceite是不错的选择。我从未听说过其他格式。
simo

我认为,这种交换格式建立在频繁使用的sql格式的基础上非常好。sqlite是超级...但是spacespaceite是唯一使用它的人吗?
GuidoS 2011年

听起来您正在寻找SpatiaLite,但前提是它不是SpatiaLite。我很好奇你的偏见。(也许您已经在下面的评论中回答了它。)
DavidF 2011年

2

尽管缺少ESRI之外的支持,但个人地理数据库将是一个不错的选择,并且已被业界广泛采用。在采用方面,也可以考虑AutoCAD格式。


2

我认为这种障碍在于您所说的“被业界采用”。对于大型专有GIS软件公司来说,控制数据格式具有价值。

SpatiaLite可与QGIS完美配合。您可以基于SQL查询构建地图图层。

如果您想将空间要素和相关表格全部合并到一个文件中进行交换,那么SpatiaLite非常有用。如果您只想与属性交换特征,则压缩的shapefile仍然是您的最佳选择。


我想摆脱shapefile的许多原因,包括:它需要多个文件,它具有字段命名限制,它只允许一个要素层/类,不允许直接的SQL查询
GuidoS 2011年

我认为我们中的许多人都不会介意远离shapefile。RE SQL查询,是不允许直接SQL查询的文件格式,还是您使用的不允许直接SQL查询的软件?
DavidF 2011年

1
它更多的是拥有一个稳健的标准,该标准允许您使用其他工具通过sql查询(从而通过sqlite)访问数据。
GuidoS 2011年

2

对于它的价值,我投给Spatialite作为单文件解决方案,可以与所有人交换。Esri个人地理数据库(.mdb)很好,但是不能与许多GIS系统堆栈一起使用,主要是基于Linux的系统,因为文件格式需要许多人无法使用的专有Microsoft数据库驱动程序。其他单一文件补救措施提供了独特的拐杖,可以从各种地方获取数据-在线服务,GPS设备等(KML,GPX)..或其他以shapefile格式收集数据并与您共享的其他GIS用户。dxf和dwg以及其他CAD格式未提供GIS用户期望的功能。当然,如果您要将数据放置在服务器上以供众多用户使用,则不需要单一文件格式。PostGIS将是非文件数据库(服务器)解决方案。


1

现在,OGC GeoPackage是用于矢量要素和栅格图块标准的空间数据库。但是,您无法在gpkg上执行空间操作/功能/查询。您可以在spacespaceite中创建virtualgpkg,并使用spacespaceite进行这些空间操作。


0

SQLite本身是空间的。OGR支持对其进行写入。除了SpatiaLite(很少得到支持)之外,还有Autodesk的SDF格式。最新版本实际上是SQLite文件。

http://en.wikipedia.org/wiki/Spatial_data_file


1
随着GDAL v> 1.7.0,Spatialite得到了很好的支持。 gdal.org/ogr/drv_sqlite.html 您可以读取/写入。不支持空间索引,但是如果问题仅在于交换数据,那不算什么。
DavidF 2011年

是的,那是我的牛肉。对于真正的交换/交换文件格式,需要由最受欢迎的台式机和服务器应用程序本地读取。尽管我自己推出OGR没问题,但我的客户甚至都不知道这样做。
James Fee

我想指出的是,这个问题与James在WhereCamp PDX上的会议直接相关。他的理论是,我们不需要交换格式,而拥有新交换格式的唯一方法就是让主要供应商采用这种格式。
GuidoS 2011年

@James-然后它是文件地理数据库!; / GIS industry = ESRI,对吗?他们发布了API。扔一些“层包装”来锦上添花……
DavidF 2011年

1
FGDB具有与SpatiaLite格式相同的所有问题,但原因相反。该库仅适用于Windows和两个“专有” Linux系统(RHEL,SuSE)。
James Fee
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.