FileGDB代码示例

news/2025/11/29 13:13:05/文章来源:https://www.cnblogs.com/znlgis/p/19286144

FileGDB代码示例

1. 读取FileGDB图层

1.1 实现思路

graph TDA[注册OGR] --> B[设置中文路径支持]B --> C[打开数据驱动]C --> D[打开数据源]D --> G[获取图层]G --> H[读取图层信息]

1.2 代码示例


public Layer readGdbLayer(String driverName,String gdbPath,String layerName) {ogr.RegisterAll();gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");Driver driver = ogr.GetDriverByName(driverName);DataSource dataSource = driver.Open(gdbPath, 1);Layer layer = dataSource.GetLayerByName(layerName);for (int i = 0; i < layer.GetLayerDefn().GetFieldCount(); i++) {System.out.println(layer.GetLayerDefn().GetFieldDefn(i).GetName());}Feature feature = layer.GetNextFeature();while (feature != null) {for (int i = 0; i < feature.GetFieldCount(); i++) {System.out.println(feature.GetFieldDefnRef(i).GetName());System.out.println(feature.GetFieldAsString(i));}System.out.println(feature.GetGeometryRef().ExportToWkt());feature = layer.GetNextFeature();}return layer;}

2. 写入FileGDB图层

2.1 实现思路

graph TDA[注册OGR] --> B[设置中文路径支持]B --> C[打开数据驱动]C --> D[打开数据源或创建数据源]D --> G[获取图层或者创建图层]G --> H[向图层插入数据]H --> I[关闭数据源]

2.2 代码示例


public void writeGdbLayer(String driverName,String gdbPath,String featureDataset,String layerName,int wkid,String wkt) {ogr.RegisterAll();gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");Vector options = null;if (CharSequenceUtil.isNotBlank(featureDataset)) {options = new Vector();options.add("FEATURE_DATASET=" + featureDataset);}Driver driver = ogr.GetDriverByName(driverName);DataSource dataSource = driver.Open(gdbPath, 1);if (dataSource == null) {dataSource = driver.CreateDataSource(gdbPath);}Layer layer = dataSource.GetLayerByName(layerName);if (layer == null) {SpatialReference sr = new SpatialReference();sr.ImportFromEPSG(wkid);layer = dataSource.CreateLayer(layerName, sr,6, options);}FieldDefn fieldDefn = new FieldDefn("TEST", 4);layer.CreateField(fieldDefn);Feature feature = new Feature(layer.GetLayerDefn());feature.SetGeometry(ogr.CreateGeometryFromWkt(wkt));feature.SetField("TEST", "test");layer.CreateFeature(feature);dataSource.delete();}

3. 读取FileGDB数据集

3.1 实现思路

graph TDA[配置GDAL环境] --> B[执行GDAL命令]B --> C[解析返回信息]C --> D[读取数据集信息]

3.2 代码示例


public void readGdbDs(String gisPath){SystemPropsUtil.set("GDAL_FILENAME_IS_UTF8", "YES");SystemPropsUtil.set("SHAPE_ENCODING", "UTF-8");String output = RuntimeUtil.execForStr(StandardCharsets.UTF_8, "ogrinfo", "-json", gisPath);String jout = null;if (!JSONUtil.isTypeJSONObject(output)) {jout = output.substring(output.indexOf("{"));}if (!JSONUtil.isTypeJSONObject(jout)) {jout = output.substring(output.indexOf("{"), output.lastIndexOf("}") + 1);}JSONObject jsonObject = JSON.parseObject(jout);String rootGroup = jsonObject.getString("rootGroup");System.out.println(rootGroup);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/980743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年中国十大比较好的AI智能客服企业推荐:口碑好且资质

本榜单依托全维度市场调研与真实行业口碑,深度筛选出十家标杆企业,重点围绕技术实力、服务体验、资质合规、客户反馈四大核心维度,为企业选型提供客观依据,助力精准匹配适配的服务伙伴。 TOP1 推荐:广州市塔灯人工…

07-实战案例与最佳实践

第七章:实战案例与最佳实践 7.1 案例一:参数化建模工具 7.1.1 需求分析 参数化建模是现代CAD系统的核心功能之一。本案例将实现一个参数化齿轮建模工具,用户可以通过调整参数动态生成齿轮模型。 功能需求:支持设置…

06-二次开发进阶

第六章:二次开发进阶 6.1 自定义渲染器 6.1.1 渲染管线概述 Chili3D的渲染基于Three.js,理解其渲染管线对于自定义渲染至关重要: 场景图(Scene Graph)↓ 几何体处理(Geometry Processing)↓ 材质着色(Material Shad…

2025年哈尔滨精密轴承企业综合实力前十强排行榜

我们优先筛选了通过国际、国内双重认证的企业 —— 比如 ISO9001 质量管理体系(这是基础)、GJB9001A 军工质量管理体系(针对高端装备领域)、TS16949 汽车行业认证(汽车轴承的 “入场券”),还有 AS9100 航空航天…

05-二次开发入门

第五章:二次开发入门 5.1 开发环境配置 5.1.1 推荐开发工具 进行Chili3D二次开发,推荐使用以下开发工具: 代码编辑器:Visual Studio Code(推荐):免费、开源、功能强大 JetBrains WebStorm:专业的Web开发IDE推荐…

04-用户界面与交互系统

第四章:用户界面与交互系统 4.1 UI架构概述 4.1.1 组件化设计 Chili3D的用户界面采用组件化设计,将复杂的界面分解为可复用的小组件。这种设计使得代码更容易维护、测试和扩展。 核心UI包结构: packages/chili-ui/s…

2025年中国AI智能客服公司排名:高性价比的AI智能客服品

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家标杆企业,为企业选型提供客观依据,助力精准匹配适配的服务伙伴。 TOP1 推荐:广州市塔灯人工智能科技有限公司 推荐指数:★★★★★ 口碑评分:国内首推的…

【音视频】WebRTC连接建立流程详解 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

玻璃反应釜生产厂TOP5权威推荐:专业选型、价格解析与低温适

化工、医药、科研领域的实验与生产中,玻璃反应釜是核心设备之一。2024年行业数据显示,国内玻璃反应釜市场规模突破60亿元,年增速达28%,但用户投诉中35%集中在专业度不足价格虚高低温性能不达标三大问题——某药企因…

2025年中国测评系统定制开发服务推荐:靠谱的测评系统定制开

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家在测评系统定制开发领域表现突出的标杆企业,为企业选型提供客观依据,助力精准匹配适配的服务伙伴。 TOP1 推荐:广州市塔灯人工智能科技有限公司 推荐指数:…

2025年十大广州AI数字员工推荐排行榜,专业测评精选AI智

为帮助企业高效锁定适配自身需求的AI数字员工合作伙伴,避免选型走弯路,我们从技术落地能力(如场景适配性、功能迭代支持)、成本优化效果(含降本幅度、效率提升数据)、全周期服务质量(覆盖部署培训到后期维护)及…

python中类似fhello, rhello 的用法还有哪些?

在Python中,字符串字面量可以通过前缀修饰以改变其处理方式或语义。除了常见的f"hello"(格式化字符串)和r"hello"(原始字符串),还有以下几种核心用法: 1. b"hello":字节字符串(…

声源定位与增强调研笔记

基于深度学习方法的声源定位研究综述 https://zhuanlan.zhihu.com/p/762696075 声源定位(SSL):基于记录的多声道声信号来估计一个或多个声源相对于某个任意参考位置的位置的问题,该位置通常是记录麦克风阵列的位置…

FreeRTOS 学习:(四)任务调度和任务状态 - 实践

FreeRTOS 学习:(四)任务调度和任务状态 - 实践2025-11-29 12:56 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displa…

凸优化理论(一)

凸优化理论(一)组合 线性组合\(ax_1+bx_2\) , 图像理解: \(x_1,x_2\)与原点0构成一个平面仿射组合\(ax_1+bx_2\),且 \(a+b=1\), 图像理解:穿过\(x_1,x_2\)的一条直线凸组合\(ax_1+bx_2\),且 \(a+b=1\),且 \(…

2025年十大可靠水质分析仪品牌推荐,专业虹润水质分析仪

在工业生产、环境治理与水产养殖等领域,水质分析仪是把控水质安全的核心哨兵,其精度、稳定性与耐用性直接影响生产效率与生态安全。面对市场上鱼龙混杂的产品,如何选择可靠的品牌?以下依据技术实力、产品性能与用户…

2025年安徽乡村别墅建造公司推荐:方合乡墅的后期维护成本高

本榜单依托乡村自建房市场深度调研与真实用户口碑,筛选出5家安徽地区标杆乡墅建造企业,针对后期维护成本、售后服务、性价比核心关切提供客观参考,助力建房者精准匹配靠谱合作伙伴。 TOP1 推荐:安徽方合乡墅建筑科…

切片简介

切片简介 动态切片、静态切片和矢量切片是地图服务中常见的三种切片技术,它们的主要区别在于地图瓦片的生成方式和使用场景:动态切片:动态切片是在服务器端根据客户端的请求参数(如缩放级别、样式和过滤条件)实时…

医疗AI助手获2亿美元融资,估值达60亿

OpenEvidence医疗AI平台基于医学期刊训练,为医生提供临床决策支持,月咨询量达1500万次。该平台免费向认证医疗专业人员开放,最新获得2亿美元融资,估值达60亿美元。医疗AI助手获2亿美元融资,估值达60亿 OpenEviden…

其他地图服务协议

其他地图服务协议 1. TMS TMS(Tile Map Service)是一种用于发布地图瓦片的服务协议。TMS定义了如何存储、组织和访问地图瓦片,使得客户端可以通过HTTP请求获取预渲染的地图瓦片,并将这些瓦片组合在一起形成连续的地…