2017-03-17 28 views
0

我的问题应该是很简单的回答不是一个自学成才的新手和我一样的人......如何使用shp2pgsql

在这个页面是关于函数在GIS/DB环境在使用一个的cheatsheet :http://www.bostongis.com/pgsql2shp_shp2pgsql_quickguide.bqg

我想创建一个脚本,让用户只需点击它即可启动该过程,并给出正确的数据。但我不明白如何使用它。它显然不能在Python控制台中工作,也不能直接在Windows控制台中工作。它应该如何工作?这是什么语言 ?

谢谢

回答

0

shp2pgsql确实是一个命令行工具。它随PostgreSQL/PostGIS安装(通常)一起提供,如果不能通过PATH变量访问,通常可以从PostgreSQL安装的/ bin-folder中运行。如果需要,您也可以自己在任何位置始终“从源代码制作”程序。

编辑:

一种方法来建立一个脚本(独立于你是否使用它QGIS自己的Python环境中或不)是使用蟒蛇subprocess(或使用os.system)模块(检查相关问题here )写入shell并执行shp2pgsql。

通过脚本可以通过gdal/ogr模块实现ogr2ogr(检查this博客),稍微更复杂的解决方案(批处理)插入(多个)shapefile通过脚本。然而,这需要安装gdal core library以及各自的Python绑定(至少在QGIS Python环境之外使用,它预装了AFAIK),这可能会让人感到厌烦。但是,一旦安装正确,它就可以通过Python提供功能强大的(我敢说全能的)地理数据管理和操作工具集。

除此之外,我提供的blog链接还说明了在qgis 2.8工具箱中批量插入脚本/工具(它操作ogr2ogr)的实现......也许这可以帮助您,无论是直接工作还是(通过sourcecode)为您指出创建自己的工具的方向。

+0

好的,谢谢。你有什么线索可以创建一个插件,可以从QGIS内部访问,用Python编程,最重要的是(这里是我的问题)如何从Python脚本中调用shp2pgsql? –

+0

@GuiOmClair编辑我的答案 – ThingumaBob

+0

谢谢,它的工作 –