大兴安岭网站建设公司,龙岗做网站公司icxun,软件开发与网站建设,网站制作常见问题 图片版权目录 一、创建.NET6的控制台应用程序
二、加载Gdal插件
三、编写程序 一、创建.NET6的控制台应用程序 二、加载Gdal插件
Gdal的资源可以经过NuGet包引入。右键单击项目名称#xff0c;然后选择 Manage NuGet Packages#xff08;管理 NuGet 包#xff09;。N…目录 一、创建.NET6的控制台应用程序
二、加载Gdal插件
三、编写程序 一、创建.NET6的控制台应用程序 二、加载Gdal插件
Gdal的资源可以经过NuGet包引入。右键单击项目名称然后选择 Manage NuGet Packages管理 NuGet 包。NuGet 包管理器窗口将打开可以搜索和浏览可用的 NuGet 包。主要有下面几个
1GDAL 包这是 GDALGeospatial Data Abstraction Library的主要包它提供了访问和处理各种地理空间数据格式的功能。GDAL 包包含了 GDAL 的核心库以及相关的文件和资源。
2GDAL.Native 包这是 GDAL 的本地Native包它包含了 GDAL 的本地二进制文件用于与底层操作系统进行交互。这些本地二进制文件是与特定操作系统和架构相关的因此 GDAL.Native 包通常会根据不同的操作系统和架构提供不同的包版本。
3GDAL.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; }
}