[postgis-users] Questions about using SRID not -1
Oscar Zamudio
cmntlk at gmail.com
Thu Jan 21 12:14:59 PST 2010
I already tried this way:
UPDATE mypoints SET the_geom = ST_SetSRID(the_geom,4326);
But I got:
ERROR: Operation on two GEOMETRIES with different SRIDs
And I already left clear that there's no such different SRIDs as the values
are well in the range of 4326 spatial reference. Maybe.... and I am thinking
out loud, the extreme values I am using are the problems. I will check later
if a latitude strictly equal to -90 is a problem and a proper value must be
-89.9999 for example....
On Thu, Jan 21, 2010 at 4:39 PM, Kevin Neufeld <kneufeld at refractions.net>wrote:
> Hi Oscar,
>
> Yes, this is definitely possible. Using your example...
>
> CREATE TABLE mydistance (the_geom geometry, the_name text);
> \d mydistance
> Table "public.mydistance"
> Column | Type | Modifiers
> ----------+----------+-----------
> the_geom | geometry |
> the_name | text |
>
>
> -- Insert without using an explicit SRID
>
> INSERT INTO mydistance (the_geom, the_name)
> VALUES (ST_GeomFromText('POINT(-58.0 0.0)'),'Punto 1-1');
>
> SELECT ST_SRID(the_geom), ST_AsText(the_geom) FROM mydistance ;
> st_srid | st_astext
> ---------+--------------
> -1 | POINT(-58 0)
> (1 row)
>
>
> -- specify the srid of all the geometries
> UPDATE mydistance SET the_geom = ST_SetSRID(the_geom, 4326);
>
> SELECT ST_SRID(the_geom), ST_AsText(the_geom) FROM mydistance ;
> st_srid | st_astext
> ---------+--------------
> 4326 | POINT(-58 0)
> (1 row)
>
>
> -- update geometry_columns (inserts appropriate row and adds appropriate
> constraints to your spatial table)
> SELECT populate_geometry_columns('mydistance'::regclass);
> \d mydistance
> Table "public.mydistance"
> Column | Type | Modifiers
> ----------+----------+-----------
> the_geom | geometry |
> the_name | text |
> Check constraints:
> "enforce_dims_the_geom" CHECK (ndims(the_geom) = 2)
> "enforce_geotype_the_geom" CHECK (geometrytype(the_geom) = 'POINT'::text
> OR the_geom IS NULL)
> "enforce_srid_the_geom" CHECK (srid(the_geom) = 4326)
>
> SELECT * FROM geometry_columns WHERE f_table_name = 'mydistance';
> f_table_catalog | f_table_schema | f_table_name | f_geometry_column |
> coord_dimension | srid | type
>
> -----------------+----------------+--------------+-------------------+-----------------+------+-------
> | public | mydistance | the_geom |
> 2 | 4326 | POINT
> (1 row)
>
>
> Does this help?
> Cheers,
> Kevin
>
>
> On 1/21/2010 11:08 AM, Oscar Zamudio wrote:
>
>> I already stated that this is only an experiment trying to solve the
>> problem because my customer already loaded a
>> lot of data WITHOUT expliciting SRID reference..... I mean,
>>
>> INSERT INTO mydistance (the_geom, the_name) VALUES
>> (ST_GeomFromText('POINT(-58.0 0.0)',4326),'Punto 1-1');
>>
>> Is a step without SRID value that was taken years ago on their database.
>> I'm trying to avoid the reloading process
>> and taking in account that there are some functions that probably can make
>> the task,,, I began to explore them
>> without success up to now.
>>
>> Regards,
>>
>> _______________________________________________
> 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/20100121/20ee4f7f/attachment.html>
More information about the postgis-users
mailing list