当前位置: 首页 > 知识库问答 >
问题:

无法连接PostGIS数据库

葛越泽
2023-03-14

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

我对postgreql和postgis非常陌生,但是在遵循所有基本说明之后,我似乎无法在QGIS中查看任何sql表。这是我设置的:
我在pgAdmin 4中,以管理员身份登录(反正我是唯一的用户),连接到我的Amazon AWS服务器并连接到我创建的新数据库。

我已经启用了postgis扩展(CREATE extension postgis;)还有另外两个我读到的我可能需要…
到目前为止一切都好吗?

我有一个名为test_poly.shp的shapefile(在ArcCatalog中创建,绘制了一个简单的形状并创建了一个字符串字段),我想将其上传到我的数据库,因此在Postgresql附带的PostGIS Shapefile导入程序中,我首先连接到我的数据库:

然后导入形状文件,手动将 27700 输入到 SRID 字段(英国国家网格)中,并将形状文件的“形状”字段设置为地理列(我应该这样做吗?什么是地理列?)。我还将架构的名称从“公共”更改为我在 pgAdmin 中重命名的名称。

问题:1-Shapefile导入失败…

=========================
使用配置导入:test_poly、public、geom、D:\PostGIS\test_poly。shp,mode=c,dump=1,simple=0,geograph=0,index=1,shape=1,srid=0
Shapefile类型:多边形
PostGIS类型:MULTIPOLYGON[2]
Shapefile导入失败。

这是怎么回事?我尝试更改一些选项,包括将地理列中的输入更改为“geom”,然后是 MULTIPOLYGON“,然后是”POLYGON“,然后是”POLYGON“,将编码从 UTF8 更改为 LATIN1...无济于事。

共有1个答案

计燕七
2023-03-14

根据您的需要,将几何导入 PostGIS 的一种好方法是使用 QGIS 中的导入到 PostGIS 工具。

只需进入工具箱(高级界面)并搜索< code >导入Postgis。对话框非常简单(需要预先连接到数据库)...

基于此形状文件,它创建以下表结构(使用 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);

另一个用于导入形状文件的 PostGIS 扩展是 SPIT,但它不再维护,并且使用多多边形可能会非常颠簸。还有其他选择。

编辑如何使用< code>QGIS添加新的PostGIS连接:

转到< code >添加PostGIS图层并单击< code >新建

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

 类似资料:
  • 我一直在努力使用数据库URL概述部分提到的以下连接字符串从Spring Boot应用程序连接H2数据库: 我还尝试了许多不同的tcp(服务器模式)连接组合,但仍然出现错误,例如“连接中断:”java。网运行Spring Boot app时,SocketTimeoutException:连接超时:localhost:9092”。 那么,如何解决这个问题并通过服务器模式连接到H2数据库呢?

  • 我想通过pymongo阅读集合,但我得到以下错误: 回溯(最近的调用为last):文件“C://users/gsingh/pycharmprojects/mc/quizQuestionAnswers.py”,第21行,pprint.pprint(posts.find_one())文件“C:\users\gsingh\appdata\local\continuum\anaconda2\lib\sit

  • 问题内容: 这是我简单的测试脚本。只是试图做一个基本的选择语句。在教程中找到了基本知识。 经过一个小时的搜索并尝试了一些解决方案,我比开始时就更接近解决问题了。希望我在某个地方犯了一个简单的错误,但我找不到它… 这是我遇到的错误 任何帮助将非常感激! 问题答案: 如果未在URL中指定,则该方言的默认驱动程序将为“ SQL Server” [1]。这意味着您需要在/etc/unixODBC/odbc

  • 我已经把学校的IT项目带回家完成,虽然我可以在学校连接到我的数据库,但我不能在我自己的电脑上连接到它。我更改了数据库类中的目录,并且几乎100%确定该目录是正确的。它总是给我这样的错误: 驱动程序成功加载无法连接:[Microsoft][ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序java.sql.sqlException:[Microsoft][ODBC驱动程序管理器]未找到数据

  • 2012年12月19日下午7:26:55 DBConnect严重:null java.sql.sqlexception:[Microsoft][ODBC Driver Manager]未找到数据源名称,也未在sun.jdbc.ODBC.jdbc.ddc.createsqlexception(jdbcodbc.jdbc.jdbc.jdbc.jdbc.jdbc.jdbc.jdbc.jdbc.jdbc.

  • 当我试图使用Spring Boot 2.2.1连接到DB2时。HikariCP池无法成功连接,但同时连接到JDBC。 null 附加的属性文件: