读取sqlite库的wkt类型数据(unbantu中安装spatialite插件)

发布时间 2023-08-09 19:02:07作者: 年轻人——001

一,问题:现在要从sqlite读取wkt类型的数据,写入postgis库中

wkt在sqlite中的格式为:

 

 

python直接读取的格式是:

b'\x00\x01\xef\x7f\x00\x00\xf9\xff\xff\xf3\xc8\xfe*\x'

  

 

pg库可以直接存的类型是wkt格式:

 

LINESTRING Z (40.612829 447.729325 -1.566514,43.813899 437.258457 -1.583361)

  

 

二,环境依赖安装:ubantu上安装spatialite插件

为什么要在ubantu上安装,因为mac os和win10上安装不上......

 

1, sudo docker run -it --name ubuntu2 ubuntu

 

 

2,安装 python3, pip  ,  apt install pip

 

 

3,sudo apt-get install -y libsqlite3-mod-spatialite

 

 

 

 

4,安装postgis库,sqlite不用安装,python3自带

 

 

 

 

 

替换下,pip install  psycopg2-binary, 就可以了

 

 

至此,依赖安装完毕

 

三:python操作sqlite和postgis库,读取wkt类型数据

1,python连接sqlite库,方框里就是加载sqlite插件的

 

 

 

2,然后查询wkt类型字段的时候,需要ST_AsText()函数

 

 

 

然后查询出来的结果就是:

 

 

3,将wkt类型数据,写入postgis库中

这种wkt格式的数据,是可以直接插入pg库里的哦

 

参考:https://cloud.tencent.com/developer/article/2179349

https://gis.stackexchange.com/questions/184850/how-to-use-spatialite-functions-in-a-python-script