我有一个看似简单过程的无数问题,从下面描述的tsk开始。但首先是一些背景:
Windows 10
QGIS 2.18.5
PgAdmin 4(v 2.0)
Postgresql 10安装
-Postgresql数据库(托管在运行PostgreSQL 9.6.5的Amazon AWS云上)
我对postgresql和postgis很新,但是在完成所有基本指令之后,我似乎无法在QGIS中查看任何sql表。这就是我设置的内容:
我在pgAdmin 4中,以管理员身份登录(我是唯一的用户),连接到我的Amazon AWS服务器并连接到我创建的新数据库。
我已启用postgis扩展程序(CREATE EXTENSION postgis;)以及我读过的其他两个我可能需要的内容...
到目前为止还好吗?
我有一个名为test_poly.shp的shapefile(在ArcCatalog中创建,绘制了一个简单的形状并创建了一个字符串字段)我想上传到我的数据库,所以在Postgresql捆绑的PostGIS Shapefile导入器中,我连接到我的数据库第一:
然后导入shapefile,手动输入27700到SRID字段(英国国家网格)并设置'形状' shapefile的字段作为Geo Column(我打算这样做吗?什么是Geo Column?)。我还从公共'更改了Schema的名称。我在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类型:多边形
PostGIS类型:MULTIPOLYGON [2]
Shapefile导入失败。
这里发生了什么?我尝试更改了一些选项,包括将Geo Column中的输入更改为“geom”,然后将“MULTIPOLYGON”更改为“POLYGON'”。然后回到'形状',将编码从UTF8改为LATIN1 ......没有帮助。
答案 0 :(得分:0)
根据您的需要,将几何导入PostGIS
的好方法是使用Import into PostGIS
中的QGIS
工具。
只需转到工具箱(高级界面)并搜索Import into Postgis
即可。该对话框非常简单(需要事先与数据库建立连接)......
基于此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。
修改强>
如何使用QGIS
添加新的PostGIS连接:
转到Add PostGIS Layer
,然后点击New
输入您的数据库地址和凭据,然后点击OK