postgresql与postgis结合,可以很好的支持空间数据库。
shp文件可以通过postgis插件安装之后的工具:PostGIS Boundle 3 for PostgreSQL X64 9.6 Shapefile and DBF Loader Exporter很方便的导入postgresql中。
如下所示,打开exporter工具,设置数据库连接信息。
![](https://img-blog.csdnimg.cn/925616485af24e619d113e795aa6210c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbHVmZnk1NDU5,size_13,color_FFFFFF,t_70,g_se,x_16)
接着,点击“Add”按钮,选择要导入的shp文件,这里导入的是一个北京轮廓shp文件。文件选择之后,点击“Import”按钮,导入不报错,显示log中包含completed内容。
![](https://img-blog.csdnimg.cn/a01267d41d6b44ddb2ee77556b3ebf7f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbHVmZnk1NDU5,size_20,color_FFFFFF,t_70,g_se,x_16)
导入成功,我们可以使用pgAdmin 4去postgresql查看:
![](https://img-blog.csdnimg.cn/49447b229bd74473895d8fd9cd233b75.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbHVmZnk1NDU5,size_20,color_FFFFFF,t_70,g_se,x_16)
我们还可以通过uDig连接postgresql,查看地图。
File->Import->Other->Data->PostGIS,这里填写PostgreSQL连接信息,我开始使用postgresql14版本,死活连接不上,后来换上9.6版本,直接连接上了。但是使用arcmap连接,不管使用pgsql14,还是pgsql96始终都连接不上,总提示需要安装postgresql client software,网上有说就是安装pgAdmin,其实安装pgsql的时候,自带安装了,不知道为什么一直连不上。还有就是网上说的arcgis desktop是32位,这里pgsql64位,所以dll文件不对应,我都试过,始终连不上。
![](https://img-blog.csdnimg.cn/112e3e33fc30421f84eacc3c59d40bac.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbHVmZnk1NDU5,size_16,color_FFFFFF,t_70,g_se,x_16)
使用uDig连接上pgsql之后,显示的表信息:
![](https://img-blog.csdnimg.cn/f29d06b0846e4379bf7c19a52f4a3a41.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbHVmZnk1NDU5,size_16,color_FFFFFF,t_70,g_se,x_16)
最后,点击Finish,在主页将地图加入当前项目中,显示如下所示:
![](https://img-blog.csdnimg.cn/a363da7eff02435585c62eaae539fd1e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbHVmZnk1NDU5,size_20,color_FFFFFF,t_70,g_se,x_16)
这篇文章,其实很简单,就是通过postgis插件export工具将地图shp文件导入pgsql中,然后使用地图查看工具(uDig能够连接到pgsql,所以这里使用的是uDig)uDig查看地图。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)