读取sqlite库的wkt类型数据(unbantu中安装spatialite插件)
一,问题:现在要从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
全世界的程序员们联合起来吧!