在QGIS中将shapefile导出到PostGIS数据库[关闭]


17

如何将矢量shapefile导出到PostGIS数据库?我问我必须导出什么格式。


3
您可以使用postgis中包含的shp2pgsql工具。见postgis.net/docs/manual-2.1/...
岛之风

PostGIS数据库可以从shapefile导入。您是否在问如何从其他应用程序以shapefile以外的格式导出?
nmtoken '18年

Answers:


15

正如@oyvind所建议的那样,shp2pgsql是仅将数据导入PostGIS数据库的最佳方法。OpenGEO有一个很好的启动指南,可以将数据加载到PostGIS中,如果遇到问题,应该可以使您正常运行。正如@nathanw指出的那样,DB Manager是将shapefile导入数据库的一个不错的选择。还可以使用PostGIS Manager,如果您专门使用PostGIS,这是一个很好的选择。@underdark有一个很棒的博客文章,介绍如何使用它。

您将需要数据库连接信息(用户名,主机名或主机地址以及数据库名)以及shapefile的SRID,但这在《 OpenGEO启动指南》中都有介绍。祝好运!


3
DB Manger支持导入QGIS中打开的任何层,而不仅仅是shapefile。
内森·W

DB Manager链接已断开,并且PostGIS Manger链接指向一个页面,该页面说这是“不推荐使用”的内容,有利于DB Manager(可以处理SpatiaLite和PostGIS)。
DarkCygnus

20

您可以使用DBManager核心插件

在此处输入图片说明


请帮助我解决这个查询生成器问题。我非常需要答案…………?
阿伦(Arun)

这是新东西吗?我在Windows Xp的QGIS 1.8中的DB Manager v 0.1.20中看不到“导入层”和“导出层”按钮。
Devdatta Tengshe

2.0中的新功能,以及1.9,直到2.0发布。
内森·W

2

要导出矢量文件,并使用ogr2​​ogr进行重新投影,请使用以下命令行:

ogr2ogr -overwrite -progress --config PG_USE_COPY是-f PostgreSQL PG:“主机=您的主机端口=您的DB_端口(5432)dbname =您的DB_名称密码= DB_密码用户= DB_用户” dir_to_your_Vector(.shp,.gml,.geojson ...)- nlt MULTIPOLYGON -lco SCHEMA = your_DB_schema(公共)-lco GEOMETRY_NAME = geom -lco FID = id -nln your_Output_Table_Name -s_srs EPSG:your_Source_EPSG_code -t_srs EPSG:your_Target_EPSG_code

不要忘记检查您是否有权连接到Postgis所在的软管并创建数据库。


1

这不是一个新的答案,仅是内森·W(Nathan W)出色的屏幕截图。现在,数据库管理器界面有所不同(2.18),并且菜单中现在包含选项。SQL窗口位于数据库下,而表相关的则位于表下。

从QGIS 2.18刮平

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.