[postgis-users] creating points from polygons, storing all attributes
paul.malm at lfv.se
paul.malm at lfv.se
Thu Jul 4 05:48:15 PDT 2019
Thanks everyone!
Från: postgis-users [mailto:postgis-users-bounces at lists.osgeo.org] För didier peeters
Skickat: den 4 juli 2019 14:46
Till: PostGIS Users Discussion
Ämne: Re: [postgis-users] creating points from polygons, storing all attributes
That’s because you named the new geometry « the_geom » like the old one, and using « * » gets you all the attributes including « the_geom » . So either you list all the attributes you want to keep in the SELECT instead of using the « * » like this :
CREATE TABLE NewPointLayer AS
SELECT attr1, attr2, attr3, attr4, ST_PointOnSurface(the_geom)::geometry(Point,32632) AS the_geom
FROM OldPolygonLayer
, or you use another name for your new geometry and you drop the old geometry afterward (if you don’t want to have these 2 different geometry columns in your new table), like this :
CREATE TABLE NewPointLayer AS
SELECT *, ST_PointOnSurface(the_geom)::geometry(Point,32632) AS geom
FROM OldPolygonLayer ;
ALTER TABLE NewPointLayer
DROP COLUMN the_geom;
Didier
Le 4 juil. 2019 à 14:26, paul.malm at lfv.se<mailto:paul.malm at lfv.se> a écrit :
Thanks, I’ve tried that but get this error:
ERROR: column "the_geom" is specified more than once SQL state: 42701
/Paul
Från: postgis-users [mailto:postgis-users-bounces at lists.osgeo.org] För Derek Watling
Skickat: den 4 juli 2019 13:55
Till: PostGIS Users Discussion
Ämne: Re: [postgis-users] creating points from polygons, storing all attributes
CREATE TABLE NewPointLayer AS SELECT *, ST_PointOnSurface(the_geom)::geometry(Point,32632) AS the_geom FROM OldPolygonLayer
From: postgis-users <postgis-users-bounces at lists.osgeo.org<mailto:postgis-users-bounces at lists.osgeo.org>> On Behalf Of paul.malm at lfv.se<mailto:paul.malm at lfv.se>
Sent: Thursday, 04 July 2019 13:47
To: postgis-users at lists.osgeo.org<mailto:postgis-users at lists.osgeo.org>
Subject: [postgis-users] creating points from polygons, storing all attributes
Hi,
I would like to create a point table from a polygon table. One point in each polygon
Query = CREATE TABLE NewPointLayer AS SELECT ST_PointOnSurface(the_geom)::geometry(Point,32632) AS the_geom FROM OldPolygonLayer
But how do I write the query to get all the attributes from OldPolygonLayer to the NewPointLayer?
Thanks in advance,
Paul
_______________________________________________
postgis-users mailing list
postgis-users at lists.osgeo.org<mailto:postgis-users at lists.osgeo.org>
https://lists.osgeo.org/mailman/listinfo/postgis-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20190704/c7df1d63/attachment.html>
More information about the postgis-users
mailing list