对于非开发人员的GISer而言,数据库这东西更多停留在mdb,gdb的层面,相对而言这些数据的使用无论是在处理还是管理上,门槛相对较低。但是目前所处的信息爆炸的大数据时代,仅仅依靠桌面GIS本身的数据存储远远不够,在存储大量数据的时候,仍然需要专门的数据库管理。所以桌面GIS如何在关系型数据库中写入空间数据也是一个重要的过程。此文是在阅读了网上的部分博客及自己的亲身经验写成。主要介绍桌面GIS中两大代表——Esri的ArcGIS以及开源的QGIS。使用的关系型数据库是Postgresql,它的空间扩展是PostGIS。
桌面GIS:
Esri ArcGIS 10.2
Esri ArcSDE 10.2
QGIS 2.8.2
关系型数据库及空间扩展:
Postgresql 9.5.0_x64
PostGIS 2.2
以上软件的安装略过了,网上均有教程。
(一)QGIS连接Postgresql
个人最喜爱QGIS的一点就是它与PostGIS以及其他各类数据库的无缝衔接,确实可以说是直连数据库。
主要是通过这个数据库的操作
先新建一个连接,输入名称、主机、数据库、调整SSL模式、用户名、密码,最后测试连接。
如果跳出这个页面,就证明你成功啦。
接下来按确定之后,只要在最开始的页面点击“连接”,就已经愉快地连上了。如果你打开Postgresql,会发现全局架构是对应的,所以确认是连接成功的。
这边选择了一个2008年2月3日北京市的一辆出租车轨迹数据来做测试
QGIS中,基于出租车轨迹生成的热图
(二)ArcGIS Desktop 连接Postgresql
ArcGIS Desktop 10.2之后提供了Postgresql直连的功能,当然这里的直连,我认为可以叫伪直连,因为它仍然需要ArcSDE的支持,而不像QGIS可以直接连接。
当然直连的的方法还是相对简单的,不过我也遇到了一个问题,我的Postgresql是64位。但是ArcGIS Desktop目前只有32位。所以即使安装了ArcSDE,也无法直接连接。需要Postgresql32位里面的一些dll文件。
将这些Postgresql对应版本32位的dll文件复制粘贴到ArcGIS安装目录下面的"/ArcGIS/Desktop 10.2/bin的文件夹里,接着可以打开ArcGIS进行连接了。
选择同一个测试数据导入PostGIS
基于ArcGIS连接Postgresql里面的数据制作的核密度图