Die documentation for ST_GeomFromGML sagt, dass die Funktion "nicht unterstützt SQL/MM Kurven Geometrien". Es ist bedauerlich, dass die Fehlermeldung diesen Mangel nicht artikuliert, da die GML eine gültige Darstellung für moderne Software hat. Es gibt is an enhancement ticket to enable this support, aber es gab keine Bewegung auf diesem nach mehreren Jahren.
Als Abhilfe können Sie GDAL/OGR aus (zB) Python verwenden, um die GML und exportieren Sie die WKB zu PostGIS zu lesen:
from osgeo import ogr
with open('geometry.xml', 'r') as fp:
g = ogr.CreateGeometryFromGML(fp.read())
g.GetArea() # 4519550457.106098
# There is more than one way to insert this to PostGIS, here is one way
import psycopg2
conn = psycopg2.connect('dbname=postgis host=localhost user=postgres port=5432')
curs = conn.cursor()
curs.execute('CREATE TABLE surf(geom geometry);')
curs.execute('INSERT INTO surf(geom) VALUES (%s)', (g.ExportToWkb().encode('hex'),))
conn.commit()
curs.execute('SELECT ST_Area(geom) FROM surf')
curs.fetchone()[0] # 4519550457.07643
Die beiden Flächenberechnungen (mit verschiedenen Methoden) sind im Wesentlichen die gleichen Das ist beruhigend.