[postgis-users] Error on updating geometry column from two columns value
Mike Toews
mwtoews at gmail.com
Thu Dec 1 14:16:07 PST 2011
ST_GeomFromText turns WKT into a geometry, not SQL. You can either
format WKT (text) using:
ST_GeomFromText('POINT(' || NEW.koordinat_x || ', ' || NEW.koordinat_y
|| ')', 32748)
Or, a simpler/faster/lossless geometry constructor would be to pass
the floating point values directly to a point geometry:
ST_SetSRID(ST_MakePoint(NEW.koordinat_x, NEW.koordinat_y), 32748)
Note: you had your X/Y coordinates the other way around. PostGIS
coordinates are always ordered X/Y or long/lat.
-Mike
On 1 December 2011 20:31, Firman Hadi <jalmiburung at gmail.com> wrote:
> Dear all,
>
> I want to create one table with 3 columns (x, y, geom). I want to input the
> x and y using form with PHP.
> When I submit the form, it will trigger the new row.
>
> I use this step below but when I insert the data I get the error as in
> attachment.
>
> I hope that anyone can help me to solve the problem.
>
> Thank you in advance.
>
> Kind regards,
>
> Firman Hadi
> Center for Remote Sensing - ITB
> Indonesia
>
>
>
>
> CREATE TABLE try_geometry (
> koordinat_y integer,
> koordinat_x integer,
> geom geometry PRIMARY KEY
> );
> ========================
>
> CREATE FUNCTION try_geometry_func () RETURNS trigger AS '
> BEGIN
> NEW.geometri = ST_GeomFromText('POINT(NEW.koordinat_y,
> NEW.koordinat_x)',32748);
> RETURN NEW;
> END;
> ' LANGUAGE plpgsql;
>
> =======================================
>
> CREATE TRIGGER try_geom_trg BEFORE INSERT OR UPDATE
> ON coba FOR EACH ROW
> EXECUTE PROCEDURE try_geometry_func ();
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>
More information about the postgis-users
mailing list