将 geography/Geometry 数据类型插入 postgres sql

Insert geography/Geometry data type into postgres sql

CSV 文件中有数据 解析 CSV 文件以将数据插入 Postgres DB。列数据类型之一是 'geography'

数据是这种形式"0101000020BB100000FCA776FD9E256240F2EBF2AD0F0D43C0"

g = "0101000020BB100000FCA776FD9E256240F2EBF2AD0F0D43C0"

使用 ST_GeomFromText(@g) 插入此数据.. 但抛出此错误

Npgsql.PostgresException : XX000: parse error - invalid geometry Data: Severity: ERROR InvariantSeverity: ERROR SqlState: XX000
MessageText: parse error - invalid geometry Hint: "01" <-- parse error at position 2 within geometry File: lwgeom_pg.c Line: 58
Routine: pg_parser_errhint

代码

insert into testtable values (@s1,@s2,@s3,@s4,@s5,@s6,@s7,@s8,@s9,@s10,@s11,@s12,@s13,@s14,@s15,@s16,@s17,@s18,@s19,@s20,@s21,@s22,@s23,@s24,@s25,@s26,@s27,ST_GeomFromWKB(@s28))

ST_GeomFromText 需要人类可读的文本,例如 'POINT(145.1756579701904 -38.10204099999818)',作为其输入。您拥有的文本可以直接插入到没有包装函数的几何列中。任何转换都会自动完成。

谢谢大家,解决了这个问题,通过转换为几何然后在插入时使用包装函数“ST_GeomFromWKB”