c#
文章平均质量分 65
rrrrssss00
这个作者很懒,什么都没留下…
展开
-
MongoDB中空间数据的存储和操作
本文使用官方C# Driver,实现在MongoDB中存储,查询空间数据(矢量)空间数据的存储本例中,从一个矢量文件(shapefile格式)中读取矢量要素空间信息以及属性表,并写入到MongoDB中去,其中读取shapefile文件以及将空间信息转成json的功能通过Ogr库实现 //打开MongoDB的Collection原创 2014-05-14 11:24:17 · 19036 阅读 · 1 评论 -
[好玩的想法]使用ArcGIS Engine+WebService,在客户机上不安装Engine Runtime实现编辑SDE图层
需求:要写一个程序,局域网内使用,主要是根据用户输入的信息(属性值和坐标),更新数据库里的表,以及SDE里的图层文件,不涉及空间数据的浏览,只有对数据库表的修改以及对SDE图层要素的修改和增删,并发以及效率上的要求不高 问题:使用ArcGIS Engine写的代码在部署时需要安装Enige runtime,比较麻烦,还有一点比较麻烦的是,ArcGIS是不向下兼容的,例如,如果使用1原创 2012-08-27 14:59:55 · 3284 阅读 · 0 评论 -
BackgroundWorker的使用
一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用BackgroundWorker来完成这一功能. 基本操作:bgw.RunWorkerAsync() : 开始后台运行执行, 该函数后将触发bgw.DoWorker事件,需要执行的操作写在DoWorker事件响应函数里, 该函数也可以加参数,参数原创 2012-07-02 08:24:18 · 10297 阅读 · 0 评论 -
DevExpress版本转换注意
手上有一个其它人用DevExpress 12.1.4做的界面(VS2010),由于手上有11.1.6的重编译版本,不想重新安装12.1.4了,而且重编译版本不需要安装,开发和部署上都很方便,所以想把12.1.4做的界面转到11.1.6上。以这个转换(12.1.4到11.1.6)为例说明一下,注意这个转换只适用于比较近的版本,如果版本相差过大,DLL文件中的类及变量名变动太大,是不行的。原创 2012-07-09 17:21:22 · 11396 阅读 · 1 评论 -
DevExpress RibbonForm的标题栏(Title Caption)中文显示不全
版本为11.1.6 ,原因估计为对中文支持不好解决方法:在标题栏文本后加三个空格转载 2012-07-09 22:17:17 · 5745 阅读 · 1 评论 -
使用ICSharpCode.SharpZLib,读取Tar.gz压缩包的文件名乱码问题
默认版本的库文件读取时会将tar包中的中文路径读成乱码,两种方案, 第一种方法,不改SharpZLib的源代码,将读出的Entry名称进行如下转换:privatestring ParseName(string source){byte[] sourceByte =new byte[source.Length];for (int i = 0; i {sou原创 2012-06-18 21:07:23 · 2705 阅读 · 0 评论 -
VS "安装和部署项目"生成的快捷方式问题
用VS2005制作MSI安装包时,发现自动生成的快捷方式会有问题。和手工创建的快捷方式不同,其创建的快捷方式属性中的”目标”项不定位到可执行文件本身,而是目录。导致一些兼容问题,比如在蛙灵桌面上就打不开… 而且据说删除软件相关的文件后,点击快捷方式会弹出安装界面,保证软件的完整性。这显然很麻烦,解决方法如下:这个是VS自己的问题,微软的帮助和支持网站上已经指出并提出了解决方案。但是网站转载 2012-06-18 15:30:16 · 3561 阅读 · 0 评论 -
VS2010新建”安装和部署项目“时,“项目属性”-》“系统必备”列表中没有项,或显示“prerequisite could not be found for Bootstrapping”,的解决方法
环境为32位VS2010,“系统必备”中的安装包都放在"C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\"文件夹中,查看该文件夹,看是否有需要的软件包,如果没有,可以从其它安装了VS2010机器的相同文件夹下拷贝过来即可,也可以自己定义,方案参考下文:http://www.cnblogs.com/bin转载 2012-06-18 11:39:05 · 3335 阅读 · 0 评论 -
gdal 的JPEG Driver无法Create Dataset的问题
使用如下代码新建一个JPEG的Driver,并Create一个相应的Dataset,出现问题:Driver drijpg = Gdal.GetDriverByName("JPEG");Dataset dout = drijpg.Create(pathBox.Text.Replace(".tiff", ".jpg"), ds.RasterXSize / 10, ds.RasterYSize原创 2012-06-14 16:42:11 · 4377 阅读 · 0 评论 -
C#开发的GDAL程序部署遇到的问题 (无法加载 DLL“gdal_wrap” Unable to load DLL 'gdal_wrap')
说明:若C#版本的程序部署失败:一般来说,如果相应的.netframework部署正常,GDAL库出现以下问题: gdal_swap.dll或gdalXX.dll(xx为版本号)加载不上的问题; “OSGeo.GDAL.GdalPINVOKE”的类型初始值设定项引发异常 The type initializer for 'OSGeo.GDAL.GdalPI原创 2011-12-27 18:47:24 · 9872 阅读 · 0 评论 -
关于Engine中the geometry has no z values的问题
今天遇到了一个问题,在使用a.Shape = b as IGeometry 时,经常报the geometry has no z values错误。。。查了一下,解决方法如下:首先,要判断a.Shape是不是含Z值的,如果把一个不含Z值的geometry赋给含Z值的a.Shape,是会报错的,反过来,也报一样的错。。。。。 int index = pFeature.Fields.F转载 2012-04-13 16:48:30 · 3067 阅读 · 0 评论 -
WIN7下使用.net(C#)监视剪贴板
最近需要做一个小程序,需要常驻后台,监视剪贴板变化并提取内容,在网上查了一些资料,先采用SetClipboardViewer方法实现,具体原理可以参考http://www.cnblogs.com/jht/archive/2006/03/20/354088.html,我的程序中使用的是http://code.google.com/p/clipboardviewer/提供的ClipboardCha原创 2012-04-06 09:16:07 · 7039 阅读 · 1 评论 -
在VS.net(C#)里,设置程序在启动时默认"以管理员身份运行"的方法
在VS2008及VS2010中,方法比较简单:.在项目中“新建项”,选择“应用程序清单”(.manifest),自己命名文件名称,.打开建立的清单文件,扩展名为.manifest,查看代码.我们可以看到有注释说明UAC选项,我们需要更改的是这个节点的内容: 将asInvoker,更改为requireAdministrator.打开项目属性,将“应用程序-资源”中的“清单”一项转载 2012-04-05 08:58:39 · 6507 阅读 · 1 评论 -
矢量图层(FeatureClass)获取和更新Extent
在FeatureClass中编辑,删除,或添加要素后,可用如下的代码手动更新一下其Extent ((IFeatureClassManage)pFeatureClass).UpdateExtent(); 获取图层Extent的方法为:((IGeoDataset)pFeatureClass).Extent 或根据图层中的所有要素计算一下Extent: IEn原创 2011-12-10 11:06:37 · 4503 阅读 · 0 评论 -
(C#)GDAL库读取和写入像素类型(PIXELTYPE)为SIGNED BYTE的影像
大部分像素类型为BYTE的影像,都是UNSIGNED BYTE,但也有一部分为SIGNEDBYTE基本换算关系为:将UNSIGNEDBYTE影像中像素值减掉256即可以得到SIGNEDBYTE但GDAL库中,只有小部分数据格式支持SIGNEDBYTE像素类型,比如HFA(erdas img), GTiff (tif), ERS(ERMapper .ers)等原创 2011-11-04 11:37:25 · 3341 阅读 · 0 评论 -
4:(C#下使用GDAL库)创建影像文件
在创建影像前,需要先引用GDAL库的注册函数Gdal.AllRegister()1:GDAL支持的影像格式首先要明确GDAL所支持的影像格式,http://www.gdal.org/formats_list.html 中列出了GDAL支持的影像格式,每一种影像格式在GDAL中都对应一种驱动(Driver),网页中表格第一列(Long Format Name)为影像格式原创 2011-11-01 13:52:52 · 6763 阅读 · 5 评论 -
Oracle10GODP连接11G数据库,出现ORA - 1017用户名/口令无效; 登录被拒绝 的问题
[转载]http://www.cnblogs.com/kasoo/archive/2011/04/24/10g-ora-1017.html一、出现症状 1、使用sqlplus连接正常 2、C#使用10g的ODP.NET连接时,报上面的错误二、原因 1、Oracle11G之前密码是不区分大小写的,从11G开始默认密码区分大小写 2、转载 2011-11-01 15:44:56 · 9309 阅读 · 1 评论 -
IRasterClassifyColorRampRenderer 使用时的一些奇怪的地方
1.IRasterClassifyColorRampRenderer 的Break设置方法IRasterClassifyColorRampRenderer这个接口是ArcEngine里对单波段栅格影像进行分类渲染的接口,这里的Break(也就是分断点)的设置有点奇怪,很容易用错,研究了一下,用法是这样的.一个简单的例子,一个0-255的波段图像,要分为三类,0-85,85-170,原创 2012-09-27 21:49:05 · 3168 阅读 · 0 评论 -
wcf学习--BasicHttpBinding 和 WsHttpBinding 的不同点
转载自:http://www.cnblogs.com/virusswb/archive/2010/02/21/1670225.htmlBasicHttpBinding和WsHttpBinding的不同点 如果非要用一句话概述BasicHttpBinding和WsHttpBinding的不同的话,那就是WsHttpBinding支持WS- Security specificat转载 2012-09-14 16:40:20 · 6768 阅读 · 1 评论 -
使用C#操作Oracle Spatial的SDO_GEOMETRY对像(读取和写入)
首先,这个需要使用ODAC,也就是Oracle.DataAccess.dll,新出的托管Oracle.ManagedDataAccess.dll不支持Object Type,无法使用ODAC下载地址参考:http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.htmlODAC使用方法参考:http://blog.csd原创 2014-04-03 16:29:45 · 7906 阅读 · 14 评论 -
使用C#对MongoDB中的数据进行查询,修改等操作
使用官方C#组件对MongoDB中的数据进行查询,修改等操作原创 2014-04-22 11:15:31 · 20938 阅读 · 3 评论 -
使用C#操作Oracle Spatial的SDO_GEOMETRY对像(读取和写入)--方法2
如果不借助ODAC的自定义数据类型,那么也可以使用Oracle Spatial的几个内置SQL函数来实现SDO_Geometry对象的操作这种方法需要在数据库端对所有数据进行一次转换(不管是在select 还是insert时),有些情况下会对性能和执行时间有比较大的影响,需要注意***.get_wkb() :***为SDO_Geometry列的列名,该函数可将SDO_Geo原创 2014-04-04 09:43:52 · 5794 阅读 · 0 评论 -
.net(C#)访问Oracle数据库的几种免安装组件的对比
.net(C#)编程过程中,使用到了以下三种免安装的Oracle访问组件,能够不安装Oracle客户端,通过这些组件访问Oracle数据库1:Oracle Data Provider for .NET, Managed Driver:Oracle官方的托管数据库访问组件,单DLL,Oracle.ManagedDataAccess.dll,直接引用即可,用法及相关文档:http:/原创 2014-03-28 15:31:38 · 6556 阅读 · 1 评论 -
.net中使用ODP.net访问Oracle数据库(无客户端部署方法)
ODP.net是Oracle提供的数据库访问类库,其功能和效率上都有所保证,它还有一个非常方便特性:在客户端上,可以不用安装Oracle客户端,直接拷贝即可使用。以下内容转载自:http://blog.ywxyn.com/index.php/archives/326由于微软在.net framework4中会将System.Data.OracleClient.dll depreca转载 2012-01-05 15:34:56 · 44158 阅读 · 3 评论 -
GDAL-读取影像的金字塔,生成快视图
之前使用GDAL提取快视图时,使用的是直接读取原始影像的方式,但之前遇到一次原始影像有坏块的情况,无法读取,所以想试试通过读取金字塔来生成快视图 我觉得从原理上来说,这样也应该会更快一些,不过没有验证过 /// /// 读取影像的金字塔,从中提取取一个合适的级别,转成JPG格式,从而生成快视图 /// /原创 2013-10-01 21:29:06 · 9081 阅读 · 0 评论 -
在BackGroundWorker中使用ArcGIS组件
有一段代码用到了ArcGIS的组件(实例中用到的是Geometry命名空间下的投影转换函数),正常在主线程下运行时是正常的,但由于运行时间长,用户体验较差,就想把这部分代码放在BackGroundWorker下面运行,以提高用户体验,但迁移到BGW下时,发现无法正常运行了, 上网查了一下,似乎是ArcGIS的COM组件必须在STA模式下运行(关于什么是STA STA:single t原创 2013-09-11 20:49:02 · 1460 阅读 · 1 评论 -
在C#中使用GDAL库时读取中文路径的问题
一、基础说明新的GDAL版本里(据说是18以后,这个没有考证,但下文中就认为18版本以后都这样),GDAL添加了对UTF8路径的支持,新增了一个配置项,叫GDAL_FILENAME_IS_UTF8,可以在C#中使用下面的语句设为YES或NO,默认为YESGdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");Gdal.SetConfig原创 2013-09-12 16:21:22 · 4327 阅读 · 5 评论 -
ViEmu For VS2010 3.0 解除30天限制的方法
一、概述首先,ViEmu试用版在安装时会记录安装的时间,用于判断是否已经过了限制的时间,这个时间记录在注册表中以本人的机器(WIN7X64)为例,它记录在HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{B9CDA4C6-C44F-438B-B5E0-C1B39EA864C4}的InprocServr32中,其值为{1E26DF1F-98A2-A32A-F6原创 2013-09-05 13:59:26 · 4457 阅读 · 2 评论 -
C#下GDAL算法进度显示
以生成金字塔为例,在C#下,可以用以下代码: if(ds.BuildOverviews(args[1], levels, new Gdal.GDALProgressFuncDelegate(ProgressFunc), "Sample Data") != (int)CPLErr.CE_None){ MessageBox.Show("error"); re原创 2013-05-15 20:16:45 · 1632 阅读 · 1 评论 -
GDAL库的编译
gdal库的编译相对简单,这里以在VS2005环境,应用到C#程序中为例进行编译:首先,下载GDAL源码:地址:http://www.gisinternals.com/sdk/ 下载其中标识为:GDAL and MapServer build SDK packages (provides to compile MapServer and GDAL by yourself):的部原创 2011-12-27 18:49:07 · 7151 阅读 · 0 评论 -
UniqueValueRenderer的DefaultSymbol及DefaultLabel设置
DefaultSymbol及DefaultLabel即为ArcMap里使用UniquValueRenderer时显示的All other values对应的符号以及标签 使用时发现,这两个值在设置后,经常会不生效, 后发现,如果UseDefaultSymbol为true,那么设置之前需要使UseDefaultSymbol为false,设置完后再置为true即可使这两个值的设置生效原创 2012-09-25 20:57:32 · 2315 阅读 · 0 评论 -
WCF学习--WCF服务实例模式
学习WCF的目的在于使用WCF建立服务,使Sivlerlight程序能够查询和修改Oracle数据的内容,数据库的操作不可避免要涉及数据库事务(Transaction),而基于数据库事务的操作则要求对于某特定客户端程序,开始事务(Transaction Begin)后,事务对象保持不变,才能保证Commit或Rollback操作的成功,为此,查询了相关资料,好像可以通过WCF的服务实例(Servi原创 2012-09-21 16:16:16 · 4474 阅读 · 0 评论 -
gdal 生成影像的统计信息(ComputeStatistics)
double tmpDou = -1; for (int i = 1; i <= dsout.RasterCount; i++) { dsout.GetRasterBand(i).ComputeStatistics(false, out tmpDou, out tmpDou, out tmpDou, out tmpDo原创 2012-09-20 15:34:33 · 5129 阅读 · 1 评论 -
wcf学习--建立最简单的WCF服务
在VS2010里建立一个最简单的WCF服务,基本流程如下: 一:新建WCF应用首先,新建一个WCF服务的应用(这里以framework 4.0为例),如下图所示, 建立完成之后,VS将自动生成一个最简单的WCF工程,在这个应用中,包含了最基本“契约(Contract)”以及“服务功能实现(Service)”.工程如下:不需要编辑任何文件,直接编译原创 2012-09-14 16:30:35 · 53398 阅读 · 8 评论 -
wcf学习--基本概念理解
最近想起学习Silverlight,其中WCF又是不可少的内容,所以开始学习WCF WCF的简介见百度:http://baike.baidu.com/view/1140438.htm我觉得其实WCF可以理解为WebService的升级版,能够通过配置兼容WebService,同时又拥有一些WebService不具备的优势,比如: 1)WCF可以不依赖于IIS(在VS环原创 2012-09-14 14:58:59 · 3259 阅读 · 0 评论 -
Windows X64上强制用x86模式运行c#程序
转载自:http://blog.csdn.net/blueboy2000/article/details/4242369所有的.net程序其实是平台无关的,关键就是看.net vm是否支持x64平台。MS已经提供了.net x64,在VS中.net程序缺省也是编译成AnyCPU的,所以这是没问题的。但是我的一个C#程序调用了Word2007的COM组件,并且调用了一些Win32AP转载 2011-11-22 15:58:04 · 1603 阅读 · 0 评论 -
ARCGIS拓扑检查步骤
转载自:http://hi.baidu.com/bdlsl/blog/item/17594287bf3f5826c75cc342.html启动ArcCatlalog;任意选择一个本地目录,"右键"->"新建"->"创建个人personal GeoDatabase";选择刚才创建的GeoDatabase,"右键"->"新建"->"数据集dataset";设置数据集的坐标系转载 2011-11-21 15:52:33 · 7117 阅读 · 0 评论 -
C#操作CUR的类
<br />自:http://blog.csdn.net/zgke/archive/2009/06/11/4260686.aspx<br /> <br />ImageCur _Cur = new ImageCur(); _Cur.CurImage.Add(this.Icon.ToBitmap()); _Cur.SaveImage(@"C:/1.cur", true);<br /> ImageCur aa = new ImageCur((Byte[])dd);aa.SaveImage(@"C/aa转载 2010-09-07 10:17:00 · 1052 阅读 · 0 评论 -
Oracle数据库事务(OracleTransaction)在C#中的一些简单应用
开始事务:OracleTransaction trans = null;OracleCommand comm = null;trans = con.BeginTransaction();comm = con.CreateCommand();comm.Transaction = trans;提交:trans.Commit();回滚:trans.Rollback();原创 2010-08-17 10:45:00 · 6348 阅读 · 1 评论 -
engine的工具中实现Snapping(捕捉)
在Engine的工具(ITool)里:OnClick事件处理函数中:首先需要获取一个图层,作为Snapping的参照,IFeatureLayer targetLayer然后声明一个IMovePointFeedBack作为鼠标移动时捕捉点的显示: IMovePointFeedback m_pMovePtFeed = new MovePointFeedback(); mFeedback = (IDisplayFeedback)m_pMovePtFeed;原创 2010-08-13 11:32:00 · 3884 阅读 · 3 评论