摘要: Python与开源GIS教程的内容,开发了单独的内容,请打开 https://www.osgeo.cn/pygis/ 查看。 本页面的内容不再更新。 开始运行SpatiaLite命令行 有两种运行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