Thread: Problem of creating geometry column (linestring)

Problem of creating geometry column (linestring)

From
Newperson
Date:
Dear all,
     I have a problem on creating geometry column about linestring.
     In my table (name is pipe), it has 4 coordinates (x1 y1 x2 y2 x3 y3 x4
y4). I want to use them to form lines in geometry column (name is
pipe_geom).
     In sql I type:
SELECT AddGeometryColumn( 'public', 'pipe', 'pipe_geom', 4269, 'LINESTRING',
2 );
UPDATE pipe
SET pipe_geom = GeomertyFromText('LINESTRING(' ||x1 ,y1 || ', '|| x2 ,
y2||',' || x3 , y3||',' || x4 ,y4|| ')', 4269)

But error occurs:
ERROR:  function geomertyfromtext(text, text, text, text, text, integer)
does not exist
LINE 3: SET pipe_geom = GeomertyFromText('LINESTRING(' ||sdo_x1 ,sdo...

     I also try:
SELECT AddGeometryColumn( 'public', 'pipe', 'pipe_geom', 4269, 'LINESTRING',
2 );
UPDATE pipe
SET pipe_geom = LineFromText('LINESTRING(x1 y1,  x2 y2, x3 y3,x4 ,y4 )',
4269)
which error also appears:
ERROR:  parse error - invalid geometry
HINT:  "LINESTRING(" <-- parse error at position 11 within geometry

     I just find example of creating POINT geometry field but have no idea
about how to generate geometry column of linestrings. I hope someone could
help me.

Regards,
Newperson


--
View this message in context:
http://www.nabble.com/Problem-of-creating-geometry-column-%28linestring%29-tp25502605p25502605.html
Sent from the PostgreSQL - novice mailing list archive at Nabble.com.


Re: Problem of creating geometry column (linestring)

From
Michael Wood
Date:
2009/9/18 Newperson <useintowngas@gmail.com>:
>
> Dear all,
>     I have a problem on creating geometry column about linestring.
>     In my table (name is pipe), it has 4 coordinates (x1 y1 x2 y2 x3 y3 x4
> y4). I want to use them to form lines in geometry column (name is
> pipe_geom).
>     In sql I type:
> SELECT AddGeometryColumn( 'public', 'pipe', 'pipe_geom', 4269, 'LINESTRING',
> 2 );
> UPDATE pipe
> SET pipe_geom = GeomertyFromText('LINESTRING(' ||x1 ,y1 || ', '|| x2 ,
> y2||',' || x3 , y3||',' || x4 ,y4|| ')', 4269)
>
> But error occurs:
> ERROR:  function geomertyfromtext(text, text, text, text, text, integer)
> does not exist
> LINE 3: SET pipe_geom = GeomertyFromText('LINESTRING(' ||sdo_x1 ,sdo...

You have a typo in the name of the function.

>     I also try:
> SELECT AddGeometryColumn( 'public', 'pipe', 'pipe_geom', 4269, 'LINESTRING',
> 2 );
> UPDATE pipe
> SET pipe_geom = LineFromText('LINESTRING(x1 y1,  x2 y2, x3 y3,x4 ,y4 )',
> 4269)
> which error also appears:
> ERROR:  parse error - invalid geometry
> HINT:  "LINESTRING(" <-- parse error at position 11 within geometry
>
>     I just find example of creating POINT geometry field but have no idea
> about how to generate geometry column of linestrings. I hope someone could
> help me.

I have never done this, but maybe if you fix the typo above it will work?

--
Michael Wood <esiotrot@gmail.com>

Re: Problem of creating geometry column (linestring)

From
Newperson
Date:

Michael Wood-8 wrote:
>
> 2009/9/18 Newperson <useintowngas@gmail.com>:
>
> You have a typo in the name of the function.
> I have never done this, but maybe if you fix the typo above it will work?
>
> --
> Michael Wood <esiotrot@gmail.com>
>
> --
> Sent via pgsql-novice mailing list (pgsql-novice@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-novice
>
>
Dear all,

I have fixed the above error.

the sql which works is:

SELECT AddGeometryColumn( 'public', 'pipe', 'pipe_geom', 4269, 'POINT', 2 );

I think this part has no typo.

UPDATE pipe
SET pipe_geom = GeometryFromText('LINESTRING('||x1||' '||y1||','||x2||'
'||y2||',
'||x3||' '||y3||','||x4||' '||y4||')' , 4269);

This part cannot work if there is no space between ' '.
--
View this message in context:
http://www.nabble.com/Problem-of-creating-geometry-column-%28linestring%29-tp25502605p25530549.html
Sent from the PostgreSQL - novice mailing list archive at Nabble.com.