2012-08-29 14 views
6

I Eine Tabelle namens geofences, die die Geometrie des Polygontyps in der Spalte geometry speichert. I, um das Polygon zu aktualisieren, indem nur ein Punkt aus der vorhandenen Geometrie entfernt wird.Postgresql Polygongeometrie mit ST_removePoint aktualisieren

UPDATE gfe_geofences 
    SET geometry = ST_RemovePoint(geometry, ST_NPoints(ST_GeomFromText(
        'POINT(23.1446787840563 96.002746420167)', 0)) - 1) 
    WHERE is_active = true 
    AND ST_IsClosed(the_geom) = true; 

Aber es gibt mir den Fehler:: Für dieses ich die Abfrage Haben

ERROR: lwline_deserialize: attempt to deserialize a line which is really a Invalid type

Können Sie mir bitte helfen, die Geometrie bei der Aktualisierung.

Dank Im Voraus.

+0

Welche Version von PostGIS ? Ist 'geometry' ein LineString-Typ? Was ist' the_geom' oder ist das ein Tippfehler für 'geometry' (oder umgekehrt)? –

+0

PostGIS 9.1, Keine Geometrie ist vom Polygontyp, für LineString ist ST_Remove eine Arbeitsdatei the_geom ist a Spalte (Ignoriere diese Bedingung UND ST_IsClosed (the_geom) = true;) –

Antwort

Verwandte Themen