Python与开源GIS:开始运行SpatiaLite命令行

2017-04-03 作者: bukun 浏览: 902 次

摘要: 开始运行SpatiaLite命令行 有两种运行SpatiaLite命令行的方式 。 一种是使用sqlite命令,这样打开数据库之后,需要加载其空间扩展;另一种是使用spatialite命令,这样可以直接打开。 这两种方式运行的命令唯一的区别是命令行提示符的不....

开始运行SpatiaLite命令行

有两种运行SpatiaLite命令行的方式 。 一种是使用sqlite命令,这样打开数据库之后,需要加载其空间扩展;另一种是使用spatialite命令,这样可以直接打开。

这两种方式运行的命令唯一的区别是命令行提示符的不同: 前者的提示符是spatialite>,后者的提示符是sqlite>。

下面假设使用的的数据库名称为 aha.db 。

使用spatialite命令打开数据库

下面我们先看一下直接使用 spatialite命令打开数据库的方法:

spatialite aha.db 

然后会生成下面的欢迎信息,并进行spatialite交互环境:

bk@g:/opt/gdata$ spatialite aha.db
SpatiaLite version ..: 4.1.1    Supported Extensions:
    - 'VirtualShape'    [direct Shapefile access]
    - 'VirtualDbf'      [direct DBF access]
    - 'VirtualXL'       [direct XLS access]
    - 'VirtualText'     [direct CSV/TXT access]
    - 'VirtualNetwork'  [Dijkstra shortest path]
    - 'RTree'       [Spatial Index - R*Tree]
    - 'MbrCache'        [Spatial Index - MBR cache]
    - 'VirtualSpatialIndex' [R*Tree metahandler]
    - 'VirtualXPath'    [XML Path Language - XPath]
    - 'VirtualFDO'      [FDO-OGR interoperability]
    - 'SpatiaLite'      [Spatial SQL - OGC]
PROJ.4 version ......: Rel. 4.8.0, 6 March 2012
GEOS version ........: 3.4.2-CAPI-1.8.2 r3921
SQLite version ......: 3.8.7.1
Enter ".help" for instructions
SQLite version 3.8.7.1 2014-10-29 13:59:56
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
spatialite> 

使用sqlite命令打开数据库

spatialite完全支持SQLite。但是有时候,可能不得不使用 sqlite命令来打开数据库。在这种情况下,想使用数据库的空间特性,需要加载 SQLite 的空间扩展模块。

通常首先打开sqlite3,执行以下命令:

sqlite3 aha.db 

SQLite开始运行,并连接到了 aha.db 数据库。

现在你可以导入SpatiaLite扩展文件:

sqlite> .load 'libspatialite.so.5'

上面是在 Debian Jessie的加载方式,在不同的系统中,文件名或版本号都可能会不一致,具体的文件名要根据实际的情况。

SQLite的内置命令

不管是用什么方式打开空间数据库,都可以使用SQLite的一些内置命令。

使用下面的语句设置输出的格式。

sqlite> .nullvalue NULL
sqlite> .headers on
sqlite> .mode list
sqlite>

这里是SQLite的一些选项,没有什么新奇的,只是些常规的操作选项。这里将 SQLite 的输出模式定义为 list ,可以修改成其他的选项试一下。column 模式效果会更好一些,不过放到书中,有时候会太宽,所以本书中设置成 list 选项。

SQLite 中,所有的命令是以英文句号 .开始的。

返回目录:Python与开源GIS

随机推荐

Copyright © 2014-2017 OSGeo中国中心 吉ICP备05002032号

Powered by TorCMS