在 postgis 中导入包含多个几何图形的 csv 文件
Importing csv files containing multiple geometries in postgis
我在制表符分隔的 csv 文件中有以下数据(包含地点的经纬度):
<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))" .
我想将这些数据导入到 postgis 中。为此,我需要先在我的数据库中创建一个 table。我知道我可以使用以下方法为一个特定的几何图形(例如 POINT)创建一个 table:
create table myTable (firstColumn varchar(100));
SELECT AddGeometryColumn( 'myTable', 'geom', 4269, 'POINT', 2 );
但我无法理解如何将包含不同几何形状的 csv 文件导入到单个 table myTable 的一列中的 postgres 中。我还想在 myTable
的顶部构建一个 "gist" 索引
添加通用 "GEOMETRY" 列,使用
<code>SELECT AddGeometryColumn( 'myTable', 'geom', 4269, 'GEOMETRY', 2 );
然后照常添加要点索引。
我在制表符分隔的 csv 文件中有以下数据(包含地点的经纬度):
<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))" .
我想将这些数据导入到 postgis 中。为此,我需要先在我的数据库中创建一个 table。我知道我可以使用以下方法为一个特定的几何图形(例如 POINT)创建一个 table:
create table myTable (firstColumn varchar(100));
SELECT AddGeometryColumn( 'myTable', 'geom', 4269, 'POINT', 2 );
但我无法理解如何将包含不同几何形状的 csv 文件导入到单个 table myTable 的一列中的 postgres 中。我还想在 myTable
的顶部构建一个 "gist" 索引添加通用 "GEOMETRY" 列,使用
<code>SELECT AddGeometryColumn( 'myTable', 'geom', 4269, 'GEOMETRY', 2 );
然后照常添加要点索引。