ogr 缓冲区_地理空间-将MapInfo数据导入PostGIS时如何避免几何问题?

我在处理澳大利亚人口普查数据集provided in MapInfo format by the Australian Bureau of Statistics时遇到问题.我正在使用ogr2ogr tool将这些数据加载到PostGIS数据库中,该数据库适用于大多数形状,但不是全部.

我面临的问题的一个简单示例是这样的查询(需要加载NSW数据集):

SELECT st_union(wkb_geometry) FROM cd06answ WHERE cd_code_2006 LIKE '1291%'

该查询的结果不是预期的形状,而是NULL.

该表中没有空值,但是存在无效的几何.例如

SELECT cd_code_2006 FROM cd06answ

WHERE cd_code_2006 LIKE '1291%' AND NOT st_isvalid(wkb_geometry)

检索值“ 1291301”和“ 1291321”.如果排除无效的几何体,则st_union成功.

将Quantum GIS连接到数据库允许渲染两个有问题的形状.它们应该是几何并集的一部分,因此我需要以某种方式解决该问题.

是否有更好的方法将MapInfo数据加载到PostGIS中?还是一些在PostGIS内部修复数据的方法?由于数据库数据呈现正常,应该可以保存它,不是吗?

编辑:基于克里斯托夫的反馈,我对st_buffer和st_snaptogrid进行了更多实验.该查询的结果:

SELECT

cd_code_2006,

st_isvalid(st_buffer(wkb_geometry,0)),

st_isvalid(st_snaptogrid(wkb_geometry, 0.00000001)),

st_isvalid(st_snaptogr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值