oralce空间数据类型转pg库中

本文介绍了如何将Oracle中的面类型数据转换为WKT格式并导入PostgreSQL,创建几何类型、索引,以及处理点与面的相交查询。重点在于处理空间数据在不同数据库间的迁移和操作。
摘要由CSDN通过智能技术生成

针对空间类型是面的表

第一步、先在Oracle用SDO_UTIL.TO_WKTGEOMETRY(geom)把面表的空间类型转成wkt格式的数据

第二步、导入到postgresql中(注意这里的字符串字段类型最好都设置为text,lat,lng类型设置为numeric

第三步、SELECT postgis_full_version();--在pg库查询是否安装几何类型

第四步、alter table baidu_data_sdo add COLUMN geom GEOMETRY(Polygon,4326);--创建一个面的几何类型gemo

第五步、create index baidu on baidu_data_sdo using gist(geom);--添加一个索引

第六步、update baidu_data_sdo set geom=ST_SetSRID(ST_MakePoint(wgslng, wgslat), 4326);--把wkt格式数据转成空间类型

第七步、update baidu_data_sdo set geom=st_geomfromtext(wkt_geom);--把wkt类型转成空间类型

针对空间类型是点的表

第八步、alter table meituan_lb_all add COLUMN gemo GEOMETRY(point,4326);--创建一个点的几何类型gemo

第九步、create index meituan on meituan_lb_all using gist(gemo);--添加一个索引

第十步、update meituan_lb_all set gemo=ST_SetSRID(ST_MakePoint(lng, lat), 4326);--录值

将点与面拉相交(ST_Intersects

select count(1) from baidu_data_sdo s,meituan_lb_all m where ST_Intersects(s.geom,m.gemo) and ( wgslat>0 or wgslng>0) and (lat>0 or lng>0)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值