草庐IT

告别GDAL,用Go Lang从ESRI File Geodatabase (FileGDB)快速解析数据(1)

ESRIFileGeodatabase(FileGDB)是ArcGIS系列软件的一个专用格式,广泛应用于地理信息领域,近期新出台的《国土空间总体规划编制指南》也要求统一采用GDB数据库进行数据汇交。然而GDB作为一个非开源的商用格式成为我们国家的指定格式难免会让其它公司束手无策,相当于变相垄断,整个行业必需要采购ArcGIS软件。作为小厂商,由于技术和商业方面的限制,很难再进行自定义二次开发。经调研,目前最常用的解决方案是采用GDAL进行数据格式转换,然而GDAL也面临无法读取字段别名(需要借助Esri官方API),读取速度上限只有20M,软件体积大依赖多难以编译,难以项目集成等问题,无法很好

GoLang解析FileGDB(4).gdbtable文件规范

.gdbtable文件规范.gdbtable是实际存放数据的地方,所以这个文件通常比较大。.gdbtable文件描述字段并包含行数据。包括header、field、row三部分内容。Header(40bytes)int32:==3-versionoftheformat?int32:numberof(valid)rowsint32:maximumofrowsizesandsizeoffielddescriptionsectionint32:==5-unknownrole.Constantamongthefiles4bytes:varyingvalues-unknownrole.Seemstobe

玩转GDAL一文带你深入Windows下FileGDB驱动支持

前言    了解GDAL的朋友一定知道,GDAL3.5以下(含)默认配置下是只支持gdb文件的读的,是不支持写的。更要命的是,默认的OpenFileGDB在读取时,如果我们在矢量文件中设置了属性表字段的别名,默认驱动是读不出来的。那么如何在GDAL3.5以下(含)如何创建gdb文件,可以读取gdb文件的别名呢?    本文讲解主要面向需要基于GDAL自主去做一些基础数据处理转换的,不是依赖于Arcgis进行二次开发的方向。gdb本身是Esri公司的arcgis系列的产品,如果基于ArcgisEngine进行开发,对数据进行解析和处理完全是没有问题的。本文提出的解决方案是不依赖于Arcgis的轻

玩转GDAL一文带你深入Windows下FileGDB驱动支持

前言    了解GDAL的朋友一定知道,GDAL3.5以下(含)默认配置下是只支持gdb文件的读的,是不支持写的。更要命的是,默认的OpenFileGDB在读取时,如果我们在矢量文件中设置了属性表字段的别名,默认驱动是读不出来的。那么如何在GDAL3.5以下(含)如何创建gdb文件,可以读取gdb文件的别名呢?    本文讲解主要面向需要基于GDAL自主去做一些基础数据处理转换的,不是依赖于Arcgis进行二次开发的方向。gdb本身是Esri公司的arcgis系列的产品,如果基于ArcgisEngine进行开发,对数据进行解析和处理完全是没有问题的。本文提出的解决方案是不依赖于Arcgis的轻