当前位置: 首页 > news >正文

在.Net6中用gdal实现第一个功能

目录

一、创建.NET6的控制台应用程序

二、加载Gdal插件

三、编写程序


一、创建.NET6的控制台应用程序

二、加载Gdal插件

Gdal的资源可以经过NuGet包引入。右键单击项目名称,然后选择 "Manage NuGet Packages"(管理 NuGet 包)。NuGet 包管理器窗口将打开,可以搜索和浏览可用的 NuGet 包。主要有下面几个:

1)GDAL 包:这是 GDAL(Geospatial Data Abstraction Library)的主要包,它提供了访问和处理各种地理空间数据格式的功能。GDAL 包包含了 GDAL 的核心库以及相关的文件和资源。

2)GDAL.Native 包:这是 GDAL 的本地(Native)包,它包含了 GDAL 的本地二进制文件,用于与底层操作系统进行交互。这些本地二进制文件是与特定操作系统和架构相关的,因此 GDAL.Native 包通常会根据不同的操作系统和架构提供不同的包版本。

3)GDAL.Plugins 包:这是 GDAL 的插件(Plugins)包,它包含了一些额外的插件文件,用于提供对某些特定数据格式或功能的支持。这些插件可以扩展 GDAL 的能力,使其能够读取和处理更多的地理空间数据格式或执行特定的空间数据操作。

三、编写程序

本次只引入了GDAL.Native包来实现一个简单的shp读取功能。

写好代码后运行,不出意外报错了:显示没有找到模块。(:Unable to load DLL 'ogr_wrap' or one of its dependencies: 找不到指定的模块)

​​​​​​​

这是需要去软件运行目录下的gdal文件夹中找对应平台的资源放到外层运行目录下:

动态库放好之后继续运行代码,这是报错消失了,不过数据并没有读取到。

这是因为没有注册驱动,注册驱动后在运行,可以读取到数据了:

​​​​​​​

全部代码:

static void ReadShpLayer()
{OSGeo.OGR.Ogr.RegisterAll(); // 注册所有的驱动string shpFilePath = @"D:\GDAL\data\Point.shp";DataSource ds = Ogr.Open(shpFilePath, 0);//0表示只读,1表示可修改  if (ds == null) { Console.WriteLine("打开文件【{0}】失败!", shpFilePath); return; }// 获取第一个图层int iLayerCount = ds.GetLayerCount();Layer oLayer = ds.GetLayerByIndex(0);long fcount= oLayer.GetFeatureCount(0); //获取要素数量if (oLayer == null) { Console.WriteLine("获取第{0}个图层失败! n", "0"); return; }
}

相关文章:

在.Net6中用gdal实现第一个功能

目录 一、创建.NET6的控制台应用程序 二、加载Gdal插件 三、编写程序 一、创建.NET6的控制台应用程序 二、加载Gdal插件 Gdal的资源可以经过NuGet包引入。右键单击项目名称,然后选择 "Manage NuGet Packages"(管理 NuGet 包)。N…...

采用大语言模型进行查询重写——Query Rewriting via Large Language Models

文章:Query Rewriting via Large Language Models,https://arxiv.org/abs/2403.09060 摘要 查询重写是在将查询传递给查询优化器之前处理编写不良的查询的最有效技术之一。 手动重写不可扩展,因为它容易出错并且需要深厚的专业知识。 类似地…...

使用Vue实现CSS过渡和动画

01-初识动画和过渡 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>使用vue实现css过渡和动画&l…...

一家购物商场的数据运营挑战

✅作者简介&#xff1a;《数据运营&#xff1a;数据分析模型撬动新零售实战》作者、《数据实践之美》作者、数据科技公司创始人、多次参加国家级大数据行业标准研讨及制定、高端企培合作讲师。 &#x1f338;公众号&#xff1a;风姑娘的数字视角&#xff0c;免费分享数据应用相…...

React Native框架开发APP,安装免费的图标库(react-native-vector-icons)并使用详解

一、安装图标库 要使用免费的图标库&#xff0c;你可以使用 React Native Vector Icons 库。 首先&#xff0c;确保你已经安装了 react-native-vector-icons&#xff1a; npm install --save react-native-vector-iconsnpm install --save-dev types/react-native-vector-ic…...

idea端口占用

报错&#xff1a;Verify the connector‘s configuration, identify and stop any process that‘s listening on port XXXX 翻译&#xff1a; 原因&#xff1a; 解决&#xff1a; 一、重启大法 二、手动关闭 启动spring项目是控制台报错&#xff0c;详细信息如下&#xff…...

MQ消息队列详解以及MQ重复消费问题

MQ消息队列详解以及MQ重复消费问题 1、解耦2、异步调用3、流量削峰4、MQ重复消费问题&#xff0c;以及怎么解决&#xff1f;4.1、重复消费产生4.2、解决方法&#xff1a; https://blog.csdn.net/qq_44240587/article/details/104630567 核心的就是&#xff1a;解耦、异步、削锋…...

系统IO函数接口

目录 前言 一. man手册 1.1 man手册如何查询 1.2 man手册基础 二.系统IO函数接口 三.open打开文件夹 3.1 例1 open打开文件 3.2 open打开文件代码 3.3 例2 创建文件 四.write写文件 4.1 write写文件 五. read读文件 5.1 read读文件与偏移 5.2 偏移细节 5.3 read读文件代码 六.复…...

06 监听器

文章目录 SessionAttListenerDemo.javaSessionListenerDemo.javaProductController.java SessionAttListenerDemo.java package com.aistart.listener;import javax.servlet.ServletContext; import javax.servlet.annotation.WebListener; import javax.servlet.http.HttpSess…...

C语言第三十九弹---预处理(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 预处理 1、预定义符号 2、#define定义常量 3、#define定义宏 4、带有副作用的宏参数 5、宏替换的规则 6、宏和函数的对比 总结 在C语言中&#xff0c;预处…...

计算机视觉无人驾驶技术:入门指南

I. 引言&#xff1a; 计算机视觉无人驾驶技术是一种基于计算机视觉和机器学习技术的自动化驾驶技术。它可以通过搭载各种传感器和摄像机&#xff0c;让车辆自主感知周围环境&#xff0c;实现尽可能自动化的驾驶操作。 这种技术具有重要性和优势&#xff0c;包括&#xff1a; …...

Golang和Java对比

其实我是Javaer转的Golang&#xff0c;我谈谈自己对Java和Golang的体会 我先讲讲我认为Golang的优点 1、Golang是一门新语言&#xff0c;相比于Java&#xff0c;他的生态要小很多&#xff0c;优点很明显&#xff0c;自由度高&#xff0c;学习成本低&#xff0c;能快速拉起一个…...

2024.2.29力扣每日一题——统计可能的树根数目

2024.2.29 题目来源我的题解方法一 深度搜索&#xff08;暴力&#xff09; 超时方法二 树形动态规划 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2581 我的题解 方法一 深度搜索&#xff08;暴力&#xff09; 超时 以每个节点node为跟进行深度搜索&#xff0c;并在搜…...

同一个主机配置多个SSH key

使用git时&#xff0c;我们可能一个git客户端使用多个git服务器&#xff0c;比如github&#xff0c;自建gitlab&#xff0c;gitee&#xff0c;为了防止提交混乱&#xff0c;所以需要一一对应生成公私钥。 第一步&#xff1a; 使用ssh-keygen生成多对密钥对&#xff0c;比如&…...

SAP系统财务模块简介:实现财务管理的卓越之道

作为全球领先的企业管理软件提供商&#xff0c;SAP公司开发了一系列强大而全面的财务模块&#xff0c;帮助企业实现财务管理的高效运作与优化。SAP系统的财务模块涵盖了财务核算、成本管理、资金管理、资产会计等多个方面&#xff0c;为企业提供了完整的财务管理解决方案。本文…...

【pytest】功能特性及常用插件

pytest是一个功能强大的Python测试框架&#xff0c;它的语法简洁明了&#xff0c;易于学习和使用。同时&#xff0c;它提供了丰富的功能和插件&#xff0c;使得测试过程更加灵活和高效。 功能特性 pytest的主要功能特性包括&#xff1a; 参数化测试&#xff1a;允许使用不同…...

基于SpringBoot和Vue的房产销售系统的设计与实现

今天要和大家聊的是一款基于SpringBoot和Vue的房产销售系统的设计与实现 &#xff01;&#xff01;&#xff01; 有需要的小伙伴可以通过文章末尾名片咨询我哦&#xff01;&#xff01;&#xff01; &#x1f495;&#x1f495;作者&#xff1a;李同学 &#x1f495;&#x1f…...

ROS2从入门到精通1-2:详解ROS2服务通信机制与自定义服务

目录 0 专栏介绍1 服务通信模型2 服务模型实现(C)3 服务模型实现(Python)4 自定义服务5 话题、服务通信的异同 0 专栏介绍 本专栏旨在通过对ROS2的系统学习&#xff0c;掌握ROS2底层基本分布式原理&#xff0c;并具有机器人建模和应用ROS2进行实际项目的开发和调试的工程能力。…...

vue两个特性和什么是MVVM

一、什么是vue 1.构建用户界面 用vue往html页面中填充数据&#xff0c;非常的方便 2.框架 框架是一套线成的解决方案 vue的指令、组件&#xff08;是对ui结构的复用&#xff09;、路由、vuex 二、vue的特性 1.数据驱动视图 2.双向数据绑定 1.数据驱动视图 数据的变化会驱动…...

CAD Plant3D 2023 下载地址及安装教程

CAD Plant3D是一款专业的三维工厂设计软件&#xff0c;用于在工业设备和管道设计领域进行建模和绘图。它是Autodesk公司旗下的AutoCAD系列产品之一&#xff0c;专门针对工艺、石油、化工、电力等行业的设计和工程项目。 CAD Plant3D提供了一套丰富的工具和功能&#xff0c;帮助…...

技术债务的职场政治:谁该为历史遗留问题买单

在软件测试从业者的日常工作中&#xff0c;技术债务是一个绕不开的话题。它像一颗隐藏在代码深处的定时炸弹&#xff0c;随时可能在项目推进的某个节点爆发&#xff0c;引发一系列连锁反应。而当技术债务问题浮出水面时&#xff0c;一场关于“谁该为历史遗留问题买单”的职场政…...

量子噪声对机器学习模型的影响与优化策略

1. 量子噪声与机器学习模型的复杂博弈在量子计算领域&#xff0c;噪声问题就像一位不请自来的客人&#xff0c;总是干扰着我们的计算过程。特别是在量子机器学习(QML)中&#xff0c;噪声的影响更为微妙且复杂。我最近使用Qiskit平台进行了一系列实验&#xff0c;试图揭示不同类…...

WechatRealFriends:微信好友关系检测终极完整指南,三步识别单向好友

WechatRealFriends&#xff1a;微信好友关系检测终极完整指南&#xff0c;三步识别单向好友 【免费下载链接】WechatRealFriends 微信好友关系一键检测&#xff0c;基于微信ipad协议&#xff0c;看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/…...

HS2-HF Patch:一站式解决HoneySelect2汉化、去和谐与MOD管理难题

HS2-HF Patch&#xff1a;一站式解决HoneySelect2汉化、去和谐与MOD管理难题 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 如果你正在玩HoneySelect2这款游戏…...

三极直接耦合放大电路参数优化

简 介&#xff1a; 本文探讨了三极直接耦合放大电路的优化设计。通过调整R3、R6等电阻参数&#xff0c;使Q3集电极偏置电压达到6V左右&#xff0c;实现了10V的输出动态范围。理论分析电路放大倍数为1000倍&#xff0c;实测为800倍。研究发现第一级放大管Q1处于弱放大状态&#…...

终极歌词获取方案:163MusicLyrics让你轻松获取网易云和QQ音乐LRC歌词

终极歌词获取方案&#xff1a;163MusicLyrics让你轻松获取网易云和QQ音乐LRC歌词 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为寻找准确歌词而烦恼吗&#xff1f…...

告别手搓测试平台:用Synopsys SVT APB VIP快速搭建你的SoC验证环境(附完整配置流程)

告别手搓测试平台&#xff1a;用Synopsys SVT APB VIP快速搭建你的SoC验证环境&#xff08;附完整配置流程&#xff09; 在SoC验证领域&#xff0c;APB总线作为AMBA协议家族中最基础的外设连接标准&#xff0c;几乎出现在每一个现代芯片设计中。然而&#xff0c;许多验证工程师…...

Matlab实战:基于EGM2008模型与球谐函数解析全球重力梯度场

1. 地球重力场模型与EGM2008简介 地球重力场是描述地球质量分布的重要物理场&#xff0c;它影响着卫星轨道、海平面变化甚至我们日常使用的导航系统。想象一下&#xff0c;如果把地球比作一个表面凹凸不平的土豆&#xff0c;重力场就是描述这个"土豆"各处引力大小的地…...

ESLyric-LyricsSource:Foobar2000高级逐字歌词同步解决方案技术指南

ESLyric-LyricsSource&#xff1a;Foobar2000高级逐字歌词同步解决方案技术指南 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource ESLyric-LyricsSource 是…...

别再只会用Broadside了!手把手教你用Endfire阵列搞定智能音箱的远场拾音

智能音箱远场拾音实战&#xff1a;从Broadside到Endfire的工程进阶指南 当你的智能音箱在厨房油烟机轰鸣时依然能清晰识别"播放爵士乐"指令&#xff0c;或是会议设备在开放式办公室准确捕捉三米外的发言——这背后往往是Endfire阵列的精密调校在发挥作用。作为嵌入式…...