3.2.3 Geodatabase数据库
Geodatabase数据库是ESRI研发的无服务器的关系型数据库,可以以表(Table)、要素类(Feature Class)、要素数据集(Feature Dataset)、栅格数据集(Raster Dataset)等多种格式存储矢量数据或栅格数据。Geodatabase数据库共分为以下两类:
• 个人地理数据库(Personal Geodatabase):将数据以MS-Access数据库的形式存储在单一文件中(后缀名为mdb)。
• 文件地理数据库(File Geodatabase):将数据以目录的形式进行存储(目录的后缀名为gdb)。
相对于个人地理数据库,文件地理数据库更先进,它可以跨平台存储海量的地理空间数据,并且具有低存储空间、高读写效率的优势。
【小提示】注意,虽然QGIS可以访问Geodatabase数据库中的矢量数据,但是无法访问其中的栅格数据,并且无法在其中写入矢量文件。
本节分别介绍如何在QGIS中访问个人地理数据库和文件地理数据库。
1. 个人地理数据库
由于个人地理数据库依赖MS-Access数据库,因此QGIS仅支持在Windows操作系统中访问个人地理数据库,具体操作步骤如下。
(1)安装Microsoft Access Database Engine软件,其位数(32位/64位)需要和QGIS的位数对应,可以从微软官方网站获取。
(2)打开Windows系统的“控制面板”—“管理工具”—“ODBC数据源(64位)”。
(3)在“用户DSN”选项卡中单击“添加”按钮,找到列表中的“Microsoft Access Driver (*.mdb, *.accdb)”,单击“完成”按钮,如图3-33所示。
图3-33 选择数据源驱动程序
(4)在弹出的“ODBC Microsoft Access安装”对话框中,输入数据源名“testPGDB”,单击“选择(s)…”按钮,选择个人地理数据库文件的位置,如图3-34所示。
图3-34 新建Access Driver数据源
(5)单击“确定”按钮后,“用户DSN”选项卡的“用户数据源”列表中应当增加了“testPGDB”。此时,单击“确定”按钮退出。
(6)返回QGIS,选择“Layer”—“Add Layer”—“Add Vector Layer…”菜单命令,在“Source Type”选项中选择源类型为“Database”,在“Database”选项中选择“ESRI Personal GeoDatabase”,单击“New”按钮,打开创建连接对话框,如图3-35所示。
图3-35 打开个人地理数据库中的矢量文件
(7)在弹出的“Create a New OGR Database Connection”对话框中(见图3-36),在“Type”选项中选择连接类型为“ESRI Personal GeoDatabase”;在“Name”选项中输入连接名称“testPGDB”;在“Host”选项中输入主机地址“localhost”;在“Database”选项中输入刚才在ODBC数据源管理程序中定义的数据库名称“testPGDB”;单击“Test Connection”按钮,提示成功后单击“OK”按钮创建连接。
图3-36 连接个人地理数据库
(8)在数据源管理器对话框中,单击“Add”按钮即可读取GeoDatabase中存储的矢量数据,如图3-37所示。
图3-37 添加个人地理数据库
2. 文件地理数据库
读取文件地理数据库中的矢量数据可以按以下步骤操作。
(1)选择“Layer”“—Add Layer”—“Add Vector Layer…”菜单命令,弹出数据源管理器对话框。
(2)在“Source Type”选项中选择源类型为“Directory”;在“Type”选项中选择“OpenFileGDB”;在“Vector Dataset(s)”选项中选择文件地理数据库的目录位置,单击“Add”按钮后即可读取其中的矢量数据,如图3-38所示。
图3-38 访问文件地理数据库中的矢量数据