如何用qgis将shp图层导入postgres sql 数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用qgis将shp图层导入postgres sql 数据库相关的知识,希望对你有一定的参考价值。

使用postgreSQL提供的shp2pgsql.exe功能可以将.shp格式的地理数据转换成sql语句。
shp2pgsql.exe工具在postgreSQL的安装目录下的bin目录中(前提是安装postgreSQL的时候选择了对postgis的支持)
使用方法:
E:\development_tools\postgres-8.4\bin>shp2pgsql -s 4326 F:\tmp\res1_4m.shp citi
y>f:\city.sql
Shapefile type: Point
Postgis type: POINT[2]
例子中用的数据是首都和省级行政中心的数据,所以是“点”类型,
*转换的时候需要指定保存的完整路径,否则会报错。
参考技术A 不知道你用的是QGIS的什么版本,我现在用的2.18.14的版本,是有专门的按钮和工具,将shp导入到postgis的

QGis:如何将svg或光栅图像导入Quantum GIS?

这些矢量或光栅文件是没有地理坐标的经典文件。它们是拉/长投影,我想将它们导入到QGIS中,向上/向下缩放它们,将它们放在正确的位置,它们变成可重复使用的shp或栅格地理坐标层。

编辑:我来自维基百科图形实验室>地图研讨会,我们希望更多地使用GIS。我们有数百张地图可以迁移到GIS技术....

答案

部分解决方案:将SVG加载到Inkscape中,另存为DXF文件,然后将其加载到QGIS中。这应该至少可以让您了解QGIS的大部分内容。

但是,它尚未进行适当的地理参考或样式化,并且不同的层可能位于不同的位置,因为SVG在QGIS或Inkscape忽略的地图数据的某些部分上具有一些缩放和转换操作符。您可能需要一次处理一个图层。这可能不是问题,因为您可能只对地图上添加的数据感兴趣,而不是基本地图(国家大纲等),因为您可能希望将数据叠加到标准地图基础图层(自然地球,OpenStreetMap)砖)。

我目前看到进行转换的唯一方法是计算仿射变换参数并使用QgsAffine插件,但这需要您通过将已知源坐标拟合到已知目标坐标来预先计算参数。

但要做几百个?你可能最好为每一个编写一些自定义SVG解析代码......

另一答案

如果您只想在正确的位置显示它,缩放和旋转将其视为SVG图标。 1.创建一个点图层,并在要加载的SVG的地理配准中心放置一个点。 2.编辑符号系统并将SVG加载为图标 3.将大小单位设置为映射单位 4.提供适当的尺寸 5.根据需要旋转

重绘非常缓慢且痛苦,但如果使用“项目”>“导入/导出”>“导出地图”作为图像,则可以创建地理参考栅格。

以上是关于如何用qgis将shp图层导入postgres sql 数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何将shp格式地图文件转换成planet格式vector、clutter、heights等文件?

如何导出shp文件

QGIS WGS84转其它坐标系并计算坐标

如何用arcgis将shp文件的坐标点导出excel

qgis双精度怎么弄

如何用python读取arcgis中shapefile文件的属性表?可以输出为excel格式吗