Re: Importing csv files containing multiple geometries in postgis

From: SELCUK AYDIN <selcuk(dot)aydin(at)netcad(dot)com(dot)tr>
To: Rose Beck <rosebeck(dot)82(at)gmail(dot)com>
Cc: "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Importing csv files containing multiple geometries in postgis
Date: 2016-03-10 11:28:19
Message-ID: HE1PR03MB1177029233B0D8BA8C820781D6B40@HE1PR03MB1177.eurprd03.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hello Rose,

I checked that queries it Works. This syntax is ok. You can try it

INSERT INTO mygis_table( poly) VALUES( ST_GeomFromText('POINT(-5.8374796 43.3687922)', 4326));
INSERT INTO mygis_table( poly) VALUES( ST_GeomFromText('LINESTRING(-5.8427265 43.3678474,-5.8421236 43.3677908)', 4326));
INSERT INTO mygis_table( poly) VALUES( ST_GeomFromText('MULTIPOINT(-5.8445678 43.3589236,-5.8435222 43.358205,-5.8429834 43.3575551,-5.8429127 43.3572642)', 4326));

But this guery geometry is have problem. Could you kontrol this geomerty. İs it ok.

INSERT INTO mygis_table( poly) VALUES( ST_GeomFromText('POLYGON(-5.8335446 43.3655635,-5.8336337 43.3655207,-5.8349218 43.3673341,-5.8345197 43.3674013,-5.8336182 43.3660938,-5.8335037 43.365924,-5.8334505 43.3658461,-5.8334702 43.3657311,-5.8335446 43.3655635)', 4326));

in addition objectid is ıdid not use it . it is incrising autonumber.

Now ı am looking polygon geometry is is valid.

Best wishes.

-----Original Message-----
From: Rose Beck [mailto:rosebeck(dot)82(at)gmail(dot)com]
Sent: Thursday, March 10, 2016 12:10 PM
To: SELCUK AYDIN <selcuk(dot)aydin(at)netcad(dot)com(dot)tr>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: [ADMIN] Importing csv files containing multiple geometries in postgis

Dear Selcuk,

Thanks a lot for your response. I have also attached my csv file :)

I tried to insert values into mygis_table, however, I am afraid I am getting the following errors. Can you please help me identify as to where am I going wrong:

testdbSpatial=# insert into mygis_table(objectid, poly)
values(1,GeomFromText('LINESTRING(198231 263418,198213 268322)',-1));
ERROR: function geomfromtext(unknown, integer) does not exist LINE 1: insert into mygis_table(objectid, poly) values(1,GeomFromTex...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.

On Thu, Mar 10, 2016 at 1:20 PM, SELCUK AYDIN <selcuk(dot)aydin(at)netcad(dot)com(dot)tr> wrote:
> Hello ,
>
>
> This table keep all geometry type (point , polygon, linestring). Your data is including all of them I think. Could you send your csv data . I will try insert into a spatial table maybe.
>
>
> CREATE TABLE mygis_table
> (
> objectid serial not null,
> poly geometry(Geometry,4326),
> CONSTRAINT mygis_table_pkey PRIMARY KEY (objectid)
> )
> WITH (
> OIDS=FALSE
> );
> ALTER TABLE mygis_table
> OWNER TO postgres;
>
> -- Index: "gixB19E787C"
>
> -- DROP INDEX "gixB19E787C";
>
> CREATE INDEX "gixB19E787C"
> ON mygis_table
> USING gist
> (poly);
>
>
> I hope I will help you.
>
>
> Best wishes.
>
>
>
> -----Original Message-----
> From: pgsql-admin-owner(at)postgresql(dot)org
> [mailto:pgsql-admin-owner(at)postgresql(dot)org] On Behalf Of Rose Beck
> Sent: Thursday, March 10, 2016 8:39 AM
> To: pgsql-admin(at)postgresql(dot)org
> Subject: [ADMIN] Importing csv files containing multiple geometries in
> postgis
>
> I have the following data in tab delimited csv file (containing latitude and longitude of places):
>
> <place1> <geo> "POLYGON((-5.8335446 43.3655635,-5.8336337
> 43.3655207,-5.8349218 43.3673341,-5.8345197 43.3674013,-5.8336182
> 43.3660938,-5.8335037 43.365924,-5.8334505 43.3658461,-5.8334702
> 43.3657311,-5.8335446 43.3655635))" .
> <place2> <geo> "POINT((-5.8374796 43.3687922))" .
> <place3> <geo> "LINESTRING((-5.8427265 43.3678474,-5.8421236 43.3677908))" .
> <place4> <geo> "MULTIPOINT((-5.8445678 43.3589236,-5.8435222
> 43.358205,-5.8429834 43.3575551,-5.8429127 43.3572642))" .
>
> I want to import this data into postgis. In order to do so, I need to create a table in my database first. I know I can create a table for one specific geometry(e.g. for POINT) using:
>
> create table myTable (firstColumn varchar(100));
> SELECT AddGeometryColumn( 'myTable', 'geom', 4269, 'POINT', 2 );
>
> But I am not able to understand as to how can I import my csv file
> containing varied geometries into postgres in a single table in a
> single column myTable. I also want to construct a single "gist" index
> on the top of myTable
>
>
> --
> With Warm Regards,
> Rose
>
>
> --
> Sent via pgsql-admin mailing list (pgsql-admin(at)postgresql(dot)org) To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-admin
>
>
>
>
>
>
>
>
>
> SELCUK AYDIN
> PROJE UZMANI
> selcuk(dot)aydin(at)netcad(dot)com(dot)tr
>
> Cyber Park B Blok No:409
> 06800, Bilkent / Ankara
> Tel. :(312) 265 0510 - 1192
> Faks: (312) 265 0520
> [NETCAD] <http://www.netcad.com.tr/>
>

--
With Warm Regards,
Rose

SELCUK AYDIN
PROJE UZMANI
selcuk(dot)aydin(at)netcad(dot)com(dot)tr

Cyber Park B Blok No:409
06800, Bilkent / Ankara
Tel. :(312) 265 0510 - 1192
Faks: (312) 265 0520
[NETCAD] <http://www.netcad.com.tr/>

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Reko Turja 2016-03-10 11:30:58 Re: How to setup a good collation?
Previous Message Rose Beck 2016-03-10 10:10:13 Re: Importing csv files containing multiple geometries in postgis