Map*_*ine 7 geometry spatialite
我正在通过空间表中的SQL查询创建一个新表:
CREATE TABLE SomeShapes AS
SELECT ash.id, ash.Geometry
FROM AllShapes ash
WHERE ash.id = 30
Run Code Online (Sandbox Code Playgroud)
但是,这会返回一个"普通"表,因此当我尝试在GIS程序(QGIS)中加载它时,它不会显示几何图形.如何声明几何体列包含几何体?
ant*_*nio 11
您需要创建一个"非空间"表,然后将Geometry列添加到其中.
然后,您可以将数据插入表中.
它不能在一个步骤(create table as select)中完成.从文档:
在创建相应表的同时创建Geometry类型是不允许的.您始终必须首先创建表,然后再次添加Geometry-column并作为单独的步骤.
CREATE TABLE test_geom (
id INTEGER NOT NULL
PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
measured_value DOUBLE NOT NULL);
SELECT AddGeometryColumn('test_geom', 'Geometry', 4326, 'POINT', 'XY');
Run Code Online (Sandbox Code Playgroud)
此外,请考虑您可能希望使用空间索引来提高性能
SELECT CreateSpatialIndex('test_geom', 'Geometry');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3702 次 |
| 最近记录: |