首页 文章

无法连接到PostGIS数据库

提问于
浏览
2

我有一个看似简单过程的无数问题,从下面描述的tsk开始 . 但首先是一些背景:
Windows 10
QGIS 2.18.5
PgAdmin 4(v 2.0)
Postgresql 10安装完毕
-Postgresql数据库(托管在运行PostgreSQL 9.6.5的Amazon AWS Cloud 上)

我似乎能够在QGIS中查看任何sql表 . 这就是我设置的内容:
无论如何我是唯一的用户),连接到我的Amazon AWS服务器并连接到我创建的新数据库 .

我启用了postgis扩展(CREATE EXTENSION postgis;)以及我读过的另外两个我可能需要的...
到目前为止还好吗?

我有一个名为test_poly.shp的shapefile(在ArcCatalog中创建,绘制了一个简单的形状,创建了一个字符串字段)我想上传到我的数据库,所以在Postgresql捆绑的PostGIS Shapefile导入器中,我首先连接到我的数据库:

然后导入shapefile,手动输入27700进入SRID字段(英国国家网格),并将shapefile的'Shape'字段设置为Geo Column(我打算这样做吗?什么是Geo Column?) . 我还将Schema的名称从'public'更改为我在pgAdmin中重命名的名称 .

问题:1- Shapefile导入失败...

==============================使用配置导入:test_poly,public,geom,D:\ PostGIS \ Test_poly.shp, mode = c,dump = 1,simple = 0,geography = 0,index = 1,shape = 1,srid = 0 Shapefile类型:Polygon PostGIS类型:MULTIPOLYGON [2] Shapefile导入失败 .

这里发生了什么?我尝试改变一些选项,包括将Geo Column中的输入更改为'geom',然后将MULTIPOLYGON'更改为'POLYGON'并返回'shape',将编码从UTF8更改为LATIN1 ...没有帮助 .

1 回答

  • 0

    根据您的需要,将几何导入 PostGIS 的好方法是使用 QGIS 中的 Import into PostGIS 工具 .

    只需转到工具箱(高级界面)并搜索 Import into Postgis . 对话框非常简单(需要事先与数据库 Build 连接)...

    enter image description here

    基于此shapefile,它创建了以下表结构(使用QGIS 2.8.6-Wien测试):

    CREATE TABLE public."tm_world_borders_simpl-0.3"
    (
      id integer NOT NULL DEFAULT nextval('"tm_world_borders_simpl-0.3_id_seq"'::regclass),
      geom geometry(MultiPolygon,4326),
      fips character varying(2),
      iso2 character varying(2),
      iso3 character varying(3),
      un integer,
      name character varying(50),
      area integer,
      pop2005 integer,
      region integer,
      subregion integer,
      lon double precision,
      lat double precision,
      CONSTRAINT "tm_world_borders_simpl-0.3_pkey" PRIMARY KEY (id)
    )
    WITH (
      OIDS=FALSE
    );
    ALTER TABLE public."tm_world_borders_simpl-0.3"
      OWNER TO disco2;
    
    -- Index: public."sidx_tm_world_borders_simpl-0.3"
    
    -- DROP INDEX public."sidx_tm_world_borders_simpl-0.3";
    
    CREATE INDEX "sidx_tm_world_borders_simpl-0.3"
      ON public."tm_world_borders_simpl-0.3"
      USING gist
      (geom);
    

    导入shapefile的另一个PostGIS扩展是SPIT,但它不再维护,并且可能与 MultiPolygons 相当颠簸 . 还有其他alternatives .

    EDIT 如何使用 QGIS 添加新的PostGIS连接:

    转到 Add PostGIS Layer 并单击 New

    enter image description here

    输入您的数据库地址和凭据,然后单击 OK

    enter image description here

相关问题