arcgis导出gdb数据库_ESRI个人地理数据库转换Shapefile(附开源代码)

本文介绍了如何将ESRI个人地理数据库转换为广泛应用的Shapefile格式,由于个人地理数据库支持的GIS库有限,作者提供了一个开源程序,详细解析了个人地理数据库的结构,并展示了转换过程。程序基于DotSpatial库,可以处理不同类型的几何数据,但不包含Z值和M值。
摘要由CSDN通过智能技术生成

792e0e56b4887b3fd1d1d5734f61a72b.gif

对于ESRI个人地理数据库(Personal Geodatabase)直接支持的GIS库很少,但是ESRI Shapefile格式应用极为广泛,几乎所有GIS库均支持。为了利用个人地理数据库的数据,需要将其转换为Shapefile。关于ESRI个人地理数据库的格式说明资料极少,笔者在工作中需要读取这类GIS数据,根据探索总结了本文资料,并开发了读取个人地理数据库转换为Shapefile的程序,并已开源。

「https://github.com/sunzechang/PersonalGeoDatabase2Shapefile(或点击文末

01ESRI个人地理数据库表格关系

ESRI个人地理数据库实质是微软Access数据库,可以用微软Access软件打开。几何数据以Ole 对象类型存储,实质是二进制格式,格式与Shapefile几何存储格式近乎一致,区别在于文件头不同。个人地理数据库中以“GDB_”开头的表格均是元数据表格,有几个关键元数据表:GDB_SpatialRefs、GDB_ObjectClasses、GDB_GeoColumns、GDB_FeatureDataset,他们之间的关系如下图所示。

edc2884f7bf7c5eb15daecae355bad29.png

GDB_FeatureDataset:是要素数据集表,“Name”是要素数据集的名称;“SRID”是外键,与“GDB_SpatailRefs”表中”ID”对应。该表是对要素类图层的管理,一个要素数据集可包含1个或多个要素类图层,同属一个要素数据集的所有要素类图层的空间参考是一样的。

GDB_ObjectClasses:是要素对象表,“Name”表示要素图层的表格名,“DatasetID”是外键,好的表示该要素图层所属的要素数据集的ID,对应“GDB_FeatureDataset”表中的“ID”。

GDB_SpatialRefs:是空间参考表,”SRTEXT”记录空间参考信息。

GDB_GeoColumns:是几何类型表,记录要素图层的几何类型和几何字段。“TableName”表示要素图层的表格名;“FieldName”表示该要素图层表格中的该字段存储的是几何信息,默认是Shape;“ShapeType”表示该要素图层的几何类型,取值说明如下表所示。“SRID”是外键,与“GDB_SpatailRefs”表中”ID”对应,记录该要素图层的空间参考。

表1 ShapeType取值说明

ShapeType取值

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值