为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > GDAL_CSharp环境配置

GDAL_CSharp环境配置

2021-05-13 10页 doc 511KB 45阅读

用户头像

is_682974

暂无简介

举报
GDAL_CSharp环境配置GDAL_CSharp环境配置一、GDALC#DLL下载位于压缩包中的位置:bin\gdal\csharp\...目录下:开发时把以_csharp.dll结尾的添加到项目引用,其余的拷贝到bebug目录下。二、在调用Gdal.AllRegister()方法时报异常:“OSGeo.GDAL.GdalPINVOKE”的类型初始值设定项引发异常。原因分析:gdal初始化时,其依赖dll项不全导致异常,可采用DependencyWalker工具查看相关依赖项。把九个DLL拷贝到debug是不能解决问题的。解决方法:采用SharpMap...
GDAL_CSharp环境配置
GDAL_CSharp环境配置一、GDALC#DLL下载位于压缩包中的位置:bin\gdal\csharp\...目录下:开发时把以_csharp.dll结尾的添加到项目引用,其余的拷贝到bebug目录下。二、在调用Gdal.AllRegister()方法时报异常:“OSGeo.GDAL.GdalPINVOKE”的类型初始值设定项引发异常。原因分析:gdal初始化时,其依赖dll项不全导致异常,可采用DependencyWalker工具查看相关依赖项。把九个DLL拷贝到debug是不能解决问题的。解决方法:采用SharpMap的GDAL初始化方法,需要两个数据:1.GdalConfiguration.cs2.gdal_data_config.rar第一步:将GdalConfiguration.cs添加到项目中,然后解压gdal_data_config.rar到debug目录下,文件夹名称为gdal。第二步:在使用Gdal.AllRegister()初始化前,调用以下两句代码进行相关初始化数据的配置即可。SharpMap.GdalConfiguration.ConfigureGdal();SharpMap.GdalConfiguration.ConfigureOgr();附件1:GdalConfiguration.cs/********************************************************************************Name:  GdalConfiguration.cs.pp*Project: GDALCSharpInterface*Purpose: AstaticconfigurationutilityclasstoenableGDAL/OGR.*Author: FelixObermaier******************************************************************************/usingSystem;usingSystem.IO;usingSystem.Reflection;usingGdal=OSGeo.GDAL.Gdal;usingOgr=OSGeo.OGR.Ogr;namespaceSharpMap{publicstaticpartialclassGdalConfiguration{privatestaticbool_configuredOgr;privatestaticbool_configuredGdal;//////Functiontodeterminewhichplatformwe'reon///privatestaticstringGetPlatform(){returnIntPtr.Size==4?"x86":"x64";}//////ConstructionofGdal/Ogr///staticGdalConfiguration(){varexecutingAssemblyFile=newUri(Assembly.GetExecutingAssembly().GetName().CodeBase).LocalPath;varexecutingDirectory=Path.GetDirectoryName(executingAssemblyFile);if(string.IsNullOrEmpty(executingDirectory))thrownewInvalidOperationException("cannotgetexecutingdirectory");vargdalPath=Path.Combine(executingDirectory,"gdal");varnativePath=Path.Combine(gdalPath,GetPlatform());//Prependnativepathtoenvironmentpath,toensurethe//rightlibsarebeingused.varpath=Environment.GetEnvironmentVariable("PATH");path=nativePath+";"+Path.Combine(nativePath,"plugins")+";"+path;Environment.SetEnvironmentVariable("PATH",path);//SettheadditionalGDALenvironmentvariables.vargdalData=Path.Combine(gdalPath,"data");Environment.SetEnvironmentVariable("GDAL_DATA",gdalData);Gdal.SetConfigOption("GDAL_DATA",gdalData);vardriverPath=Path.Combine(nativePath,"plugins");Environment.SetEnvironmentVariable("GDAL_DRIVER_PATH",driverPath);Gdal.SetConfigOption("GDAL_DRIVER_PATH",driverPath);Environment.SetEnvironmentVariable("GEOTIFF_CSV",gdalData);Gdal.SetConfigOption("GEOTIFF_CSV",gdalData);varprojSharePath=Path.Combine(gdalPath,"share");Environment.SetEnvironmentVariable("PROJ_LIB",projSharePath);Gdal.SetConfigOption("PROJ_LIB",projSharePath);}//////Methodtoensurethestaticconstructorisbeingcalled.//////BesuretocallthisfunctionbeforeusingGdal/Ogr/OsrpublicstaticvoidConfigureOgr(){if(_configuredOgr)return;//RegisterdriversOgr.RegisterAll();_configuredOgr=true;PrintDriversOgr();}//////Methodtoensurethestaticconstructorisbeingcalled.//////BesuretocallthisfunctionbeforeusingGdal/Ogr/OsrpublicstaticvoidConfigureGdal(){if(_configuredGdal)return;//RegisterdriversGdal.AllRegister();_configuredGdal=true;PrintDriversGdal();}privatestaticvoidPrintDriversOgr(){#ifDEBUGvarnum=Ogr.GetDriverCount();for(vari=0;i
/
本文档为【GDAL_CSharp环境配置】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索