Não entendo que tipo de formato tenho meus dados. O nome da coluna é wkb_geom , então eu supunha que os dados estavam no formato WKB, mas então eu estava verificando e não consegui encontrar um exemplo disso. Os dados são assim:
"0106000020E6100000010000000103000000010000007218000007000060B1D42B4010000060A372454007000060B1D42B40030000009D724540030000E0D5D42B40030000009D724540030000E0D5D42B40050000C08A7245400B000040FAD42B40050000C08A7245400B000040FAD42B40130000807B7245400B000040FAD4 (...)
"
Está no formato WKB ou WKT? Segunda pergunta, se estiver no formato WKB, como posso convertê-lo no formato WKT? Eu estava tentando seguir essa sugestão
então a consulta é
UPDATE "ita_adm1"
SET wkb_geometry = ST_GeomFromWKB("wkb_geometry",4326)
mas continua dizendo que a função ST_GeomFromWKB não existe.
postgis
convert
wkt
well-known-binary
user3520314
fonte
fonte
Respostas:
De um modo geral, isso é chamado de WKB codificado em hexadecimal. Este exemplo específico é a versão estendida , chamada EWKB, pois possui SRID = 4326, conforme encontrado por
E6100000
.O WKB pode ser visualizado de várias formas. A representação de seqüência de caracteres codificada em hexadecimal é a mais comum, que se for realmente texto pode ser convertida usando uma conversão simples
::geometry
:Use apenas ST_GeomFromWKB se for um
bytea
fluxo binário bruto .Além disso, quando dados de geometria são selecionados de um banco de dados PostGIS, a representação EWKB codificada em hexadecimal é mostrada no resultado da consulta. Para obter representações WKT ou EWKT, use as funções ST_AsText ou ST_AsEWKT , conforme demonstrado acima.
fonte