ESRI个人地理数据库(MDB)

ESRI个人地理数据库基本上是包含空间信息的Microsoft Access文件。有关更多信息,请参阅ESRI description page .

文件列表

与其他数据库格式类似,mdb文件由多个表组成。几何图形保存在BLOB表格列中。

数据访问/连接方法

个人地理数据库可通过OGR访问。看OGR driver page 有关特定的驱动程序信息。驱动程序是GDAL/OGR版本1.3.2或更高版本的任何win32版本中的标准驱动程序。对于LINUX/UNIX, MDBTools ODBC驱动程序可以用于此目的(有一些困难)。

OGR使用个人地理数据库(带有形状列的表)中空间表的名称作为层。

连接参数必须包括mdb扩展名,数据参数应该是空间表(或ogr层)的名称。

CONNECTIONTYPE ogr
CONNECTION "pgeodatabase.mdb"
DATA "layername"

Ogrinfo示例

首先,您应该确保您的GDAL/OGR构建包含个人地理数据库“pgeo”驱动程序,方法是使用“--formats”命令:

>ogrinfo --formats

   Loaded OGR Format Drivers:
   ...
   -> "ODBC" (read/write)
   -> "PGeo" (readonly)
   -> "PostgreSQL" (read/write)
   ...

如果你没有司机,你可能想试试 FWToolsMS4W 包,其中包括驱动程序。

一旦您有了pgeo驱动程序,就可以尝试在数据库上使用ogrinfo命令来获取空间表列表:

>ogrinfo test.mdb

   INFO: Open of `test.mdb'
   using driver `PGeo' successful.
   1: counties

现在使用ogrinfo获取有关空间表结构的信息:

>ogrinfo test.mdb counties -summary

   INFO: Open of `test.mdb'
   using driver `PGeo' successful.

   Layer name: counties
   Geometry: Unknown (any)
   Feature Count: 67
   Extent: (-87.634943, 24.543945) - (-80.031369, 31.000975)
   Layer SRS WKT:
   GEOGCS["GCS_WGS_1984",
      DATUM["WGS_1984",
      SPHEROID["WGS_1984",6378137.0,298.257223563]],
      PRIMEM["Greenwich",0.0],
      UNIT["Degree",0.0174532925199433]]
   OBJECTID_1: Integer (10.0)
   OBJECTID: Integer (10.0)
   NAME: String (32.0)
   STATE_NAME: String (25.0)
   STATE_FIPS: String (2.0)
   CNTY_FIPS: String (3.0)
   FIPS: String (5.0)
   ...

请注意,您也可以使用ODBC连接访问地理数据库中的所有表:

>ogrinfo PGeo:testDSN counties -summary

   INFO: Open of `testDSN'
   using driver `PGeo' successful.

   1: counties
   2: counties_Shape_Index
   ...

(其中“testdsn”是系统DSN的名称)

Mapfile 示例

直接访问mdb

LAYER
  NAME my_geodatabase
  TYPE POLYGON
  CONNECTIONTYPE ogr
  CONNECTION "test.mdb"
  DATA "counties"
  PROCESSING "CLOSE_CONNECTION=DEFER" # for maximum performance
  STATUS ON
  CLASS
    NAME "counties"
    STYLE
      COLOR 255 255 120
    END
  END
END

通过ODBC连接

LAYER
  NAME my_geodatabase
  TYPE POLYGON
  CONNECTIONTYPE ogr
  CONNECTION "PGeo:testDSN"
  DATA "counties"
  PROCESSING "CLOSE_CONNECTION=DEFER" # for maximum performance
  STATUS ON
  CLASS
    NAME "counties"
    STYLE
      COLOR 255 255 120
    END
  END
END