[postgis-users] Enter details into Geom column

Ben Madin lists at remoteinformation.com.au
Mon May 30 17:44:19 PDT 2011


James,

The error message has two possibilities:

ERROR: relation "public.CLEANEDCAMDENGPS" does not exist

either their is no table called 'CLEANEDCAMDENGPS' (and I think you've probably got the idea about the issues with case), but it is also possible that the schema is not 'public', depending on your access to a database. If it is on your local computer, and you have no idea what I'm talking about, then it probably is public. If you are using a shared installation, it may not be public.

if you are using psql (the command line), and try a command like \dt, you will see a list of the 'relations' which do exist - something like 

               List of relations
   Schema   |       Name       | Type  | Owner 
------------+------------------+-------+-------
 backoffice | access           | table | ben
 backoffice | accesslevel      | table | ben
 backoffice | categories       | table | ben

if your table is not in this list, (it's specified as backoffice.access for instance) then it may not exist, or you need to look up search_path.

cheers

Ben

 

On 31/05/2011, at 2:35 AM, James Smith wrote:

> Dear Brent,
> 
> Thank you for your reply and simple explanation, it's much appreciated. Unfortunately, it doesn't seem to work. When I try to create the Geom column, I get this error:
> 
> -----
> ERROR: function st_creategeometrycolumn(unknown, unknown, unknown, integer, unknown, integer) does not exist
> SQL state: 42883
> Hint: No function matches the given name and argument types. You might need to add explicit type casts.
> Character: 8
> -----
> 
> So I browsed the PostGIS functions, and thought that I should perhaps use the function 'AddGeometryColumn' instead, so changed the code to below:
> 
> ----
> select AddGeometryColumn('public', 'CLEANEDCAMDENGPS','geom',4326,'POINT',2);
> ----
> 
> However this returns an error of the below:
> 
> ----
> ERROR: relation "public.CLEANEDCAMDENGPS" does not exist
> ----
> 
> I should perhaps say at this point, that the table called CLEANEDCAMDENGPS is within a database called CAMDENGPS. I played around with trying to put the database name into the statement too, but with no luck.
> 
> Any thoughts?
> 
> Thanks again, and yes, I'll take onboard your point about captials and table names from this point forwards.
> 
> Cheers
> 
> James
> 
> 
> 
> On 29 May 2011 23:44, <pcreso at pcreso.com> wrote:
> 
> Hi James,
> 
> I suggest you avoid upper case letters in table & column names if you can. It makes a few things easier....
> 
> The syntax in both SQL statements is wrong. Try:
> 
> select ST_CreateGeometryColumn('public','CLEANEDCAMDENGPS','geom',4326,'POINT',2);
> 
> the fields are (in order):
> 
> schema where table can be found ('public')
> the table name where you want the new column ('CLEANEDCAMDENGPS')
> the name of the geometry column to create ('geom')
> the SRID of the geometry column to create (4326)
> the geometry type  ('POINT')
> the number of dimensions (2 - x & y)
> 
> All string values need to be quoted.
> 
> To populate this column try:
> 
> update "CLEANEDCAMDENGPS"
> set geom=setsrid(makepoint("LONGITUDE","LATITUDE"),4326);
> 
> So, create a point geometry from the two numeric columns (makepoint), force the SRID of this geometry to 4326 (setsrid), & write this value to your new column (update table set column =).
> 
> 
> HTH,
> 
>   Brent Wood
> 
> 
> 
> James Smith wrote:
> > Dear all,
> >
> > Would appreciate some help. I have created an existing database (with
> > PostGIS extension) and it has a table called CLEANEDCAMDENGPS which 
> > is populated with approx 600,000 rows. There are 20 or so columns in the
> > table, two of which are Latitude and Longitude (WGS84). I would now
> > like to create a Geom column with points in, the values of which
> > should be taken from the latitude and longitude column. Could someone
> > provide me with sample code as to how to do this please? I had a go
> > with the below, but don't really know what I'm doing... neither of the
> > statements work...
> >
> > --CREATE THE COLUMN--
> > SELECT AddGeometryColumn('CAMDENGPS', 'GPS_POINTS', 'geom', 4326, 'POINT', 2)
> >
> > --POPULATE THE COLUMN--
> > INSERT INTO CLEANEDCAMDENGPS (GPS_POINTS)
> > VALUES ( ST_GEOMFROMTEXT('POINT((SELECT LONGITUDE FROM
> > CLEANEDCAMDENGPS) (SELECT LATITUDE FROM CLEANEDCAMDENGPS))', 4326,
> > 'Point'));
> >
> > Thank you
> >
> > James
> > _______________________________________________
> > postgis-users mailing list
> > postgis-users at postgis.refractions.net
> > http://postgis.refractions.net/mailman/listinfo/postgis-users
> >
> 
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
> 
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20110531/f3501ff6/attachment.html>


More information about the postgis-users mailing list