解决,worldGeo.db中有geom数据的x1表无法在QGIS中成图像

原因:缺少geom数据对应的坐标geometry_columns文件,如下图所示:

 

 STEP:

1,在navicat_for_SQLite中将目标表x1中字段geom中blob改成,POINT,或者MULTIPOLYGON等对应的格式

注意!:f_table_name 表名 和 f_geometry_column geom空间数据所在字段名 的名字要和目标表名称对应。geometry_columns文件如下图

需要将对应成像表的表名改成gis_osm_places_geochina,对应空间数据字段为geom即可在QGIS中成像

2,在可以成像的其它数据库中找到POINT或MULTIPOLYGON对应表x2的坐标geometry_columns文件,放入进x1表所在位置并且将x1的名字改为x2.

!!!如果报错就在在spatialite_gui中使用sql语句修改:ALTER TABLE "ChinaGeo1" RENAME TO ...new-table-name...

 3,此时QGIS中可以成像

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用"a.geom&&b.geom"和"ST_Intersects(a.geom,b.geom)"进行几何对象相交查询时,如果查询结果不同,可能是由于以下原因: 1. 数据库中包含无效的几何对象。这种情况下,使用"a.geom&&b.geom"可能会比"ST_Intersects(a.geom,b.geom)"查询出更多的结果,因为"&&"操作符会将包含无效几何对象的记录也返回,而"ST_Intersects()"函数则会将这些记录排除在外。 2. 使用的空间索引不同。PostGIS支持多种类型的空间索引,包括GIST、SP-GiST和BRIN等。不同类型的空间索引对几何对象相交查询的效率和结果可能会产生影响。 3. 查询条件不同。使用"a.geom&&b.geom"和"ST_Intersects(a.geom,b.geom)"进行几何对象相交查询时,查询条件可以不同,可能会影响查询结果。例如,如果使用"&&"操作符查询两个几何对象是否相交,可以使用以下查询条件: SELECT * FROM table_a a, table_b b WHERE a.geom && b.geom; 如果使用"ST_Intersects()"函数查询两个几何对象是否相交,可以使用以下查询条件: SELECT * FROM table_a a, table_b b WHERE ST_Intersects(a.geom, b.geom); 在这两个查询条件中,"&&"操作符和"ST_Intersects()"函数的使用方式不同,可能导致查询结果不同。 需要注意的是,由于"a.geom&&b.geom"和"ST_Intersects(a.geom,b.geom)"的实现方式不同,它们的查询效率也可能存在差异。通常情况下,使用"ST_Intersects()"函数进行几何对象相交查询能够获得更好的性能和查询结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值