Ich verstehe nicht, in welchem Format ich meine Daten habe. Der Spaltenname ist wkb_geom , also nahm ich an, dass die Daten im WKB-Format vorliegen, aber dann habe ich mich umgesehen und konnte kein Beispiel dafür finden. Daten sind wie folgt:
"0106000020E6100000010000000103000000010000007218000007000060B1D42B4010000060A372454007000060B1D42B40030000009D724540030000E0D5D42B40030000009D724540030000E0D5D42B40050000C08A7245400B000040FAD42B40050000C08A7245400B000040FAD42B40130000807B7245400B000040FAD4 (...)
""
Ist es im WKB- oder WKT-Format? Zweite Frage: Wenn es im WKB-Format vorliegt, wie kann ich es in das WKT-Format konvertieren? Ich habe versucht, diesem Vorschlag zu folgen
Wie konvertiere ich WKB zu WKT?
so ist die Abfrage
UPDATE "ita_adm1"
SET wkb_geometry = ST_GeomFromWKB("wkb_geometry",4326)
aber es wird immer wieder gesagt, dass die Funktion ST_GeomFromWKB nicht existiert.
quelle
Antworten:
Im Allgemeinen wird dies als hexadezimal codiertes WKB bezeichnet. Dieses spezielle Beispiel ist die erweiterte Version mit dem Namen EWKB, da sie die SRID = 4326 hat, wie von gefunden
E6100000
.WKB kann in einigen Formen angezeigt werden. Die hexadezimal codierte Zeichenfolgendarstellung ist die häufigste, die, wenn es sich tatsächlich um Text handelt, mit einer einfachen Umwandlung konvertiert werden kann
::geometry
:Verwenden Sie ST_GeomFromWKB nur, wenn es sich um einen rohen Binärstrom handelt
bytea
.Wenn Geometriedaten aus einer PostGIS-Datenbank ausgewählt werden, wird außerdem die hexadezimal codierte EWKB-Darstellung im Abfrageergebnis angezeigt. Verwenden Sie die oben gezeigten Funktionen ST_AsText oder ST_AsEWKT , um WKT- oder EWKT-Darstellungen abzurufen .
quelle