我已经在 varchar 中导入了一个包含空间区域信息的 csv 文件,然后通过在转换之前将 '0x' 添加到 varchar(max) 值来将 varchar(max) 值转换为 varbinary(max)。到那时,除了开头的 '0x' 之外,varbinary(max) 列中的数据看起来与 varchar(max) 转换为文本后的数据完全相同。
现在我运行以下脚本:
select geometry::STGeomCollFromWKB(wkb, 4326) from dbo.MyTable
其中 WKB 是 varbinary(max) 列。运行上述脚本会引发此错误:“众所周知的二进制 (WKB) 输入无效”
数据来源来自 Open Street Map,因此毫无疑问它们是正确的区域数据。所以我认为我正在做的事情一定有问题,或者我错过了将 WKB 转换为几何数据类型的一些要点。
有人可以帮忙吗?