Spatialite

使用spatialite接口创建空间数据时,几何字段要使用函数AddGeometryColumn进行创建,具体用法如下:

SELECT AddGeometryColumn('tableName', 'geomFieldName', EPSG_Code, 'GeometryType', dimension)

tableName:表名;

geomFieldName:几何字段名;

EPSG_Code:空间坐标系统编码,如WGS84编码为4326;

GeometryType:几何类型,'POINT','LINESTRING','POLYGON'等;

dimension:维度,2:二维;3:三维。如果维度与数据坐标维度不同,数据插入失败

使用CreateSpatialIndex进行空间索引构建,具体用法如下:

SELECT CreateSpatialIndex('tableName', 'geomFieldName')。

遇到的失败经历:

1、错误代码19:Geometry violates Geometry constraint [geom-type or SRID not allowed]

从错误信息可以看到是几何类型或空间参考不正确导致,但其实维度dimension与插入的几何数据不正确也会出现这样的问题。

 

另外在使用sqlite进行空间数据操作时,需要初始化Spatialite的一些环境:

sqlite3* mSqlite=NULL;

void* mCache=NULL;

使用前:
    mCache = spatialite_alloc_connection();
    spatialite_init_ex(mSqlite, mCache, 0);

使用后:

        spatialite_cleanup_ex(mCache);
        spatialite_shutdown();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值