惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
J
Java Code Geeks
博客园 - 【当耐特】
小众软件
小众软件
博客园 - Franky
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
雷峰网
雷峰网
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
量子位
Last Week in AI
Last Week in AI
博客园_首页
月光博客
月光博客
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
Webroot Blog
Webroot Blog
Stack Overflow Blog
Stack Overflow Blog
腾讯CDC
云风的 BLOG
云风的 BLOG
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
Recent Commits to openclaw:main
Recent Commits to openclaw:main
D
Docker
The Last Watchdog
The Last Watchdog
有赞技术团队
有赞技术团队
Hacker News - Newest:
Hacker News - Newest: "LLM"
D
DataBreaches.Net
S
Security @ Cisco Blogs
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
TaoSecurity Blog
TaoSecurity Blog
S
Security Affairs
Y
Y Combinator Blog
O
OpenAI News
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Forbes - Security
Forbes - Security
P
Palo Alto Networks Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
K
Kaspersky official blog
Cloudbric
Cloudbric

博客园 - 所言非虚

未来谁才是移动互联网的入口? [Oracle]Sqlplus连接成功,但pl/sql连接不成功,提示“ora-12145:无法解析指定的连接标识符” Windows待机、休眠、睡眠的区别以及程序运行策略 [Worldwind]worldwind源码编译 windows server 2008 x64下oracle 10gR2的安装方法 [长期]常见问题收集 最佳编程字体推荐 向量点积与叉积的定义及应用 空间平面法向量求法 【解决】加载图片"内存不足"问题 【原创】随鼠标移动显示地图经纬度 - 所言非虚 - 博客园 【原创】客户端添加兴趣点,并随地图变化而变化 - 所言非虚 - 博客园 【原创】利用ESRI自带的符号库进行符号化 FireFox与IE的兼容 【转】兼容IE和FireFox的鼠标滚轮事件 DIV的精确定位 - 所言非虚 - 博客园 ArcGIS Server开发的一些小经验 ArcSDE C API在.NET中的调用 - 所言非虚 [译]ArcGIS Server Map Service Cache的组织结构
GDAL问题收集
所言非虚 · 2010-08-10 · via 博客园 - 所言非虚

GDAL相关网站:

  1. 官方网站:http://www.gdal.org/
  2. 

GDAL相关资料:

  1. http://www.cnblogs.com/enjoylives/archive/2010/01/19/1651343.html
  2. 

GDAL问题:

  1.问题描述:“OSGeo.OGR.Ogr”的类型初始值设定项引发异常。

   引用giswei的回答:这个问题是dll不全造成的,除了要引用的4个dll外,还有5个dll也要放到Debug目录下。在编译C#下的gdal时,总共生成了9个dll,在编译的本机上,程序是通过环境变量path找到另外的几个dll的。在没有编译过gdal的电脑上,反正就把这9个编译后的dll放到debug下面就一切Ok了。

  实际上如果你是将GDAL以类库项目的形式再次封装了一遍,不仅要在类库项目中将所有9个dll拷入debug(或release)文件夹中,在引用该类库的其他项目中同样要手动拷贝这9个dll,否则将同样报该错误。因为.NET项目对类库的引用,只会将该类库所引用的dll中“复制本地”属性为true的(如ogr_csharp.dll)拷贝到其他项目中,而不会自动拷贝其依赖(如ogr_wrap.dll)。

  2.OGR对ArcSDE的支持

  If you require a Windows based build, you should identify the location of your SDE client lib and header files and modify your gdal make.opt accordingly:

SDE_ENABLED = YES 
SDE_VERSION=92 
SDE_PLUGIN = YES 
SDE_SDK = C:\arcgis\arcsde 
SDE_INC = $(SDE_SDK)\include 
SDE_LIB =  $(SDE_SDK)\lib\pe$(SDE_VERSION).lib \ 
               $(SDE_SDK)\lib\sde$(SDE_VERSION).lib 
          $(SDE_SDK)\lib\sg$(SDE_VERSION).lib 

  In a Visual Studio command prompt you can do something like:
  

> cd [GDAL_DIR]\ogr\ogrsf_frmts\sde 
> nmake /f makefile.vc ogr_SDE.dll 
> cd [GDAL_DIR]\frmts\sde 
> nmake /f makefile.vc plugin 

  [2010-08-13 16:30更新]

  通过上述的命令,分别在{GDAL Root}\ogr\ogrsf_frmts\sde和{GDAL Root}\frmts\sde下产生ogr_SDE.dll和gdal_SDE.dll两个文件,将其拷贝至环境变量GDAL_DRIVER_PATH定义的路径下,然后尝试用C#代码连接SDE数据库,结果提示“126: 找不到指定的模块”的错误,错误描述如下:

System.ApplicationException: Can't load requested DLL: {GDAL_DRIVER_PATH}\ogr_SDE.dll
126: 找不到指定的模块。


  我想应该是ogr_SDE.dll是依赖于ArcSDE的SDK(见此文“The OGR ArcSDE driver depends on being built with the ESRI provided ArcSDE client libraries.”),因此我将nmake.opt文件中定义的pe.dll,se.dll和sde.dll都拷贝至GDAL bin文件夹下,依然报错。

  将ArcSDE SDK Bin文件夹中的所有dll文件均拷贝至GDAL文件夹中,依然报错…… -_-||

  更进一步,将ArcSDE SDK中Bin、lib、include文件夹中的所有文件都拷贝至GDAL文件夹中,问题依旧…… ||-_-||(为什么拷贝这三个文件夹的文件,见此文,我想既然都是client SDK,那就都引用进去吧)

   不知道如何能注册成功ESRI ArcSDE的驱动? 

    整体编译过程见:http://trac.osgeo.org/gdal/wiki/BuildingOnWindows

   [END 2010-08-13 16:30更新]

   注:gdal_sde.dll和ogr_sde.dll的编译需要ArcSDE SDK的支持(C API或Java API)

  3.利用批处理文件为GDAL添加环境变量

  利用批处理命令为GDAL设置path和GDAL_DRIVER_PATH环境变量,有利于系统部署时添加对GDAL的支持。  

  注:Windows Server 2003对setx命令默认支持,但在Windows XP系统下并不支持该命令,需安装WindowsXP支持工具(Windows XP SupportTools,可以在这里下载)。XP系统下通过批处理命令修改环境变量一般需要重启系统。

  关于Setx的命令参数说明可以参考:Windos下用setx.exe命令行模式下永久设置系统环境变量

@echo off
echo 设置GDAL环境变量
@setx path "%path%;%cd%\bin;" -m
@setx GDAL_DRIVER_PATH %cd%\bin\gdalplugins -m
echo 设置成功
pause

  Gdal 1.7 for C#:下载