如何插入 SQL 服务器几何数据到 postgis 几何数据类型列

How to insert SQL Server geometry data to postgis geometry data type column

我们的 SQL 服务器中有 geometry 数据类型的数据。

做的时候

select shape 
from boundary_polygon

我得到这个结果:

我已经从此处显示的table SQL 服务器导出了数据。我怎样才能将相同的数据导入到数据类型为 geometry 的 postgres 中,因为下面是 table 结构。由于shape列的数据是16进制的,如何导入?

create table boundary_polygon(id int, shape geometry)

geometry in sql 服务器是 CLR 类型序列化格式的 blob。

阅读 Microsoft SQL Server CLR Types Serialization Formats

中的更多信息

而 postgis 使用 WKB(众所周知的二进制)作为它的几何数据类型。

在 sql 服务器中,您可以使用 STAsText() 方法将该格式转换为 WKT(众所周知的文本)。 阅读更多相关信息 here

因此将 sql 服务器中的数据转换为 KWT :

select shape.STAsText() 
from boundary_polygon

现在您可以轻松地将它们插入到 postgis 几何图形中。