- 博客(43)
- 资源 (36)
- 收藏
- 关注
原创 C#:采用NPOI插件便捷写Excel文件
采用C#写Excel文件:准备工作-----下载NPOI插件:右键项目属性->管理NuGet程序包->浏览->搜索“NPOI”->点击下载->将相应DLL文件放入程序调试目录。并且在程序中添加如下相应using语句using NPOI.XSSF.UserModel;using NPOI.SS.UserModel;using NPOI.ExcelExtend;(1)首先设置好需要写入的Excel文件路径string the_bookName =.
2020-09-20 22:53:02 320
转载 QT:QFileDialog::getOpenFileName()函数
Qt 打开文件的默认路径 QFileDialog::getOpenFileName()为了说明QFileDialog::getOpenFileName()函数的用法,还是先把函数签名放在这里:QString QFileDialog::getOpenFileName ( QWidget * parent = 0, const QString & ...
2019-11-21 20:34:38 2460
原创 工程测量:坐标正反算公式
设A点坐标(XA, YA),B点坐标(XB, YB),A点到B点为距离为d,A点到B点方位角a,则:XB=XA+dcosaYB=YA+dsinad= (XB-XA)²+(YB-YA)²当(YB-YA)≥ 0时,a =acos(XB-XA)/d当(YB-YA)<0时,a =360- acos(XB-XA)/d...
2019-11-18 20:32:01 6019
原创 求缓和曲线上任意一点的方位角的公式
已知 直缓点方位角为a(弧度),线路偏向为p(其值左偏为-1,右偏为1),某点在缓和曲线上离直缓点的距离为d,缓和曲线长为Ls,曲线半径为R。则该点的方位角(弧度)=a+p*(d)*(d)/(2*Ls*R)该公式在进行坐标与里程互算,使用高斯五点公式时,需要用到。...
2019-11-17 22:20:04 2689 1
转载 VS2015调试时,无法查看容器、数组等类型变量中的元素值
参考:https://blog.csdn.net/u014552102/article/details/82466516博客。直接进入该博客中的下载链接,下载后缀为.natvis的文件,放入到D:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\Visualizers文件夹中即可。该路...
2019-11-06 04:50:18 1348
转载 ArcEngine开发:在要素类中删除要素的方法总结
删除feature,一个个删除就用IFeature.Delete方法即可,此处不再赘述,只写一种批量删除的方法,用于ITable是针对数据库进行操作的,所以速度很快。The best approach to take when deleting features depends on two factors, how many features are being deleted and wh...
2019-03-27 23:12:57 1851
转载 ArcEngine开发:在要素类中插入要素的方法总结
ArcGIS Engine中,主要有两个方法用于要素的添加:UsingIFeatureClass.CreateFeaturefollowed byIFeature.Store UsingIFeatureClass.CreateFeatureBufferwith an insert cursor批量插入feature,如果用feature.store()方法,在图层中一个个地插入...
2019-03-27 23:10:32 2141
转载 ArcEngine开发:查询要素的方法总结
1、查找数据1)利用FeaturCursor进行空间查询//空间查询ISpatialFilter spatialFilter = new SpatialFilterClass();spatialFilter.Geometry = envelope;//指定几何体String shpFld = featureClass.ShapeFieldName;spatialFilter.Ge...
2019-03-27 23:07:24 1136
原创 ArcEngine开发:给打开后的shp数据文件解锁
IWorkspaceFactory pwf = new ShapefileWorkspaceFactory();IWorkspaceFactoryLockControl ipWsFactoryLock = (IWorkspaceFactoryLockControl)pwf;if (ipWsFactoryLock.SchemaLockingEnabled){ ipWsFactoryL...
2019-03-27 17:20:43 587
原创 ArcEngine开发:将IPoint类型点要素插入到要素类中。
该过程通过IFeatureCursor解决。函数如下:public static void InsertFeaturesUsingCursor(IFeatureClass featureClass, IPoint point) { IFeatureBuffer featureBuffer = featureClass.CreateFeatureBuff...
2019-03-26 11:35:42 591
原创 其他信息:ERROR 010328:符号SPACE处或其附近存在语法错误。
当在进行ArcEngine开发,调用接口进行栅格数据空间分析时,出现错误。如下图所示。其他信息:ERROR 010328:符号SPACE处或其附近存在语法错误。ERROR 010267:解析格网表达式时发现语法错误。这是由于路径有空格而引起,换一个路径,或者去除空间的空格即可。...
2019-03-26 11:31:05 3219 3
原创 Unable to load PROJ.4 library (proj.dll), creation of OGRCoordinateTransformation failed.
在调用GDAL库时,出现以上错误。是因为没有加载proj.dll到目录(工程目录或系统环境目录)。若没有该链接库,需要下载PROJ的源码进行编译。编译方式可参考如下链接: https://blog.csdn.net/sin_geek/article/details/51986555...
2019-01-17 23:22:45 2449 1
转载 The Geometry has no Z values 解决办法
我们在ArcEngine开发过程中进行创建要素时,简单的IFeatureClass.CreateFeature之后,然后把IGeometry对象赋给Feature.shape,会引发“The Geometry has no Z values”的错误提示。类似的错误在做地图标注过程中也会出现。参考网上的解决方案如下,基本思路就是在CreateFeature之后,设置Z值(顺带将M值也一并设置...
2018-12-23 03:22:32 1012
原创 ArcEngine开发:浅谈IPointCollection
IPointCollection接口非常灵活,在ArcEngine开发中经常要用到。下面来介绍下它的特性。IPointCollection初始化,可以通过MultipointClass、PolylineClass、PolygonClass对象定义。IPointCollection pPointCollection1 = new MultipointClass();IPointColle...
2018-12-16 00:27:02 6207
原创 ArcEngine开发:通过两点构成正方形为范围去裁剪栅格数据
如题,通过两点的坐标,构成正方形来剪裁栅格。frontPoint是较小的 x y值,backPoint是较大的x y值。最后保存栅格数据,并输出到文件。因为将数据变量及时回收了,所以在输出到文件后,也可以马上调用,不会出现问题。public static void ReClipRaster(IRasterLayer rasterlayer, double[] frontPoint, doub...
2018-12-13 00:23:49 487
原创 ArcEngine开发:将多个IGeometry类型存储为ILayer图层形式
public static IFeatureLayer StoreGeometyToLayer(List<IGeometry> geometry) { IFeatureLayer pFeatureLayer = new FeatureLayerClass(); IFeatureClass pFeatCls = pFeat...
2018-12-13 00:15:33 1575 1
原创 ArcGlobe开发:在三维场景中画出几何要素
在三维场景 中可以画出几何要素,其充当临时图层,在刷新后会消失。一般用作临时测试,或者有特别的用途。函数如下:public static void Draw_Polyline(IGlobe pGlobe, int[] rgbColor,IGeometry geometry) { try { //首...
2018-12-13 00:12:27 751
原创 ArcGlobe开发:根据图层名称获取Globe中的图层
实现此功能的函数如下:public static ILayer GetGlobeLayerByName(IScene pScene, string strLayerName) { try { object Missing = Type.Missing; IEnumL...
2018-12-13 00:08:49 450
原创 ArcEngine开发:创建shp数据文件,并存入Geometry类型的要素到shp数据文件
首先是一个创建shp数据文件的函数,具体参数能根据变量名称看出来。函数如下:public static void CreatShpFile(string shpFullFilePath, ISpatialReference spatialReference, esriGeometryType pGeometryType, string shpFileName) { ...
2018-12-12 23:37:23 4012
转载 osg::Node,osg::Group,osg::Switch,osg::MatrixTransform类说明
一、osg::Node类类描述:osg::Node为结点类,下有派生类无数,是OSG中最重要的类之一,也是最常用的类之一。1、Node () Node (const Node &node, const CopyOp &copyop=CopyOp::SHALLOW_COPY)说明:构造函数,其中第二个重载函数是从已知的Node当中构建出新的Node,里面含有...
2018-09-01 16:00:38 2237
转载 osg::Geode,osg::Drawable,osg::Shape,osg::Geometry类说明
一、osg::Geode类类说明:Geode结点,是个几何结点,可以说是一个几何Group结点,一般的可绘制几何体都是通过它来传向root进行渲染。是OSG几何绘制的最高管理结点。1、Geode () Geode (const Geode &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)说明:构造函数,第二个构造函...
2018-09-01 15:58:11 801
原创 ArcGlobe开发:矢量数据编辑
通过ArcEngine进行矢量数据编辑,主要有两种实现方式:一种是利用IWorkspaceEdit接口提供的方法(使用IWorkspaceEdit来控制编辑流程),另一种是使用IEngineEditor接口来实现。IEngineEditor接口网上使用资料比较多,但是由于使用IEngineEditor接口在开始编辑时,需要传入一个Map对象,而在ArcGlobe开发环境下,对于三维的矢量数据编...
2018-07-28 21:56:36 763 1
原创 ArcGlobe开发:图层绘制顺序调整
pLayer为需要调整绘制顺序的图层名称。将该图层上移一层:(Operate_3D为真时,是三维视图下调整;为假时,是二维视图下调整)int currentIndex = -1;ILayer pTempLayer;if (Operate_3D){ for (int i = 0; i < m_Scene.LayerCount; i++) { ...
2018-07-22 16:56:49 544
原创 ArcGlobe开发:设置图层可见范围
假设pLayer为需要设置的图层。设置当前可见范围,为图层的最小可见范围:(上面是三维,下面是二维)IGlobeDisplayLayers2 pGlobeDisplayLayers = m_globeControl.Globe.GlobeDisplay as IGlobeDisplayLayers2;IGlobeLayerProperties5 pGlobeLayerPropertie...
2018-07-22 16:39:54 745
原创 ArcEngine10.0等低版本的示例程序,转换成ArcEngine10.4
在ArcGIS Engine的开发过程中,我们可能经常需要打开其他版本的ArcEngine应用程序,但是总会报一大推的错误,窗体也没法显示。 所以需要修改有关于版本的文件。熟悉的人应该知道,当ArcEngine10.0、ArcEngine10.1、ArcEngine10.2、、ArcEngine9.3这些版本相互转换时,只需要用记事本的方式打开示例程序中,与程序名称相同且后缀名为.csprof...
2018-07-22 00:35:24 2245
原创 图层加载失败!异常来自HRESULT:0x80040228
在进行ArcEngine开发,加载shapefile数据时,报错:“图层加载失败!异常来自HRESULT:0x80040228”。该问题编号属于授权问题。首先先检查是否添加license(LicenseControl)控件。已经添加后,发现报错地方是在创建Shapefile工作空间时,则采用以下方式来解决。打开Program.cs类,在该类中对应位置添加以下代码:(1)using ESRI...
2018-07-21 23:29:50 4971
原创 当使用ArcObjects Help (VS2015)帮助文档时,经常弹出脚本错误
使用ArcObjects Help (VS2015)帮助文档索引ArcEngine的接口时,经常弹出脚本错误。很烦。可通过在左上角,打开查看器选项,将联机获得内容并检查内容更新,前面的勾去掉即可。若尝试后仍没有解决的话,再将“联机获得内容并检查内容更新”上面的“在所有导航选项卡和F1请求中包括英语内容(E)”,前面的钩先去掉,关闭后,再打开时,再加上即可。...
2018-07-20 21:44:38 1489
原创 ArcEngine开发:二维与三维一些基本可以等价的概念
axMapControl1.ActiveView.ScreenDisplay axGlobeControl.GlobeViewer.GlobeDisplay as IDisplayIGraphicsContainer pGraphicsContainer = axMapControl1.ActiveView as IGraphicsContainer;IGraphicsLayer...
2018-07-16 16:59:36 377
转载 ArcGlobe开发:基础概念
GlobeControl添加图层时,包括三种类型:浮动图层、纹理图层(叠加图层)、高程图层。浮动图层:使用偏移来显示,可以高出或低于球体表面;纹理图层:覆盖在球体表面,相当于贴了一层纹理;高程图层:给球体表面提供地形数据,使纹理图层有起伏。添加图层:axGlobeControl1.Globe.AddLayerType(layer, globeLayerType, true);或 axGlobeC...
2018-07-15 10:46:38 1407
原创 C#:设置TextBox控件中只能输入实数
private void TextBox1_KeyPress(object sender, KeyPressEventArgs e) { TextBox tsb = sender as TextBox; if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar) && ...
2018-07-12 21:16:14 815 2
原创 ArcGlobe开发:二三维视图切换
if (Operate_3D) //变成二维浏览 { Operate_3D = false; this.splitContainer1.Panel2.Controls.Add(this.axMapControl1); this.splitContai...
2018-07-11 16:13:14 610 1
转载 ArcGlobe开发:.3dd工程文档另存为功能
try { SaveFileDialog save3ddDialog = new SaveFileDialog(); save3ddDialog.Title = "保存3dd文件"; save3ddDialog.Filter = "3dd文件(*.3dd)...
2018-07-11 15:37:48 337
原创 C#:在一个窗体类中改变另一个窗体控件的属性
例如:要在Form2窗体类中,改变Form1窗体中某控件的属性(内容、尺寸等)。本人所知道的至少有两种方式,第一种方法类似于设置从属关系,具体方式如下:1、在Form1中添加一个要改变属性的控件,并在属性对话框中设置该控件的Modifiers属性值为public。2、在Form1.load事件中添加三行代码:Form2 myform = new Form2(); ...
2018-07-08 21:05:52 19704 4
原创 ArcGlobe三维开发:将点从屏幕坐标系转成投影坐标系
1、将鼠标点击得到的屏幕坐标系上的点,转化成指定空间参考下的坐标。IPoint pPnt = VectorEditClass.BasicClass.SceneManager.ReturnMousePoint(m_pGlobeControl.GlobeDisplay, x, y);IGeoDataset pGeoDataset = m_HandlingFeatureLayer as IGeoDat...
2018-07-07 20:52:07 692
转载 OpenSceneGraph:智能指针
1. 从只能指针中获取原始指针的方法有: osg::ref_ptr<osg::Geode> geodePtr = new osg::Geode(); osg::Geode* obj1 = *geodePtr; //获取Geode指针 osg::Geode* obj2 = geodePtr.get(); //获取Geode指针2.下面代码存在性能问题 while(1)...
2018-06-09 10:39:07 197
转载 GLSL:Shader内置变量与内置函数
shader内置变量: gl_Position: 用于vertex shader, 写顶点位置;被图元收集、裁剪等固定操作功能所使用;其内部声明是:highp vec4 gl_Position; gl_PointSize: 用于vertex shader, 写光栅化后的点大小,像素个数; 其内部声明是:mediump fl...
2018-05-03 16:39:57 12510
原创 OpenGL:学习笔记
矩阵的组合变换:当矩阵相乘时,在最右边的矩阵是第一个与向量相乘的,所以你应该从右向左读这个乘法。建议您在组合矩阵时,先进行缩放操作,然后是旋转,最后才是位移,否则它们会(消极地)互相影响。(SRT顺序,其中SR可以换)逆时针正向绘制、顺时针反向绘制。当你做消除面操作时候glCullFace就会有影响。消除反面,则反向绘制的多边形就显示不出来了,反之亦然。这个正反绘制可以用做为一个多边形进行正...
2018-05-03 14:44:03 152
原创 GLSL:语法知识学习
矩阵:矩阵的初始化: 可以用向量初始化,或单个值指定,但是OGL是列主序矩阵,所以先填充的是第一列。mat3 m =mat3 (1.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 1.0);vec3 colum1 = (1.0, 0.0, 0.0);vec3 colum2 = (...
2018-05-03 14:40:16 526
原创 OpenSceneGraph:学习笔记
Geometry类型:纹理坐标的设置:设置该几何体的顶点(按顺序)所对应纹理图片上的哪一处位置(二维XY坐标均默认为0.0~1.0) texture->setImage(image); //设置纹理图片 //纹理环绕:当纹理坐标超出默认范围(0.0~1.0)时,该怎么输出(还有CLAMP_TO_EDGE,CLAMP_TO_BORDER) texture-...
2018-05-02 21:24:09 5600 1
原创 C++:学习过程中,易错知识点
1. 在全局域定义enum,输出x是0,但是在局部域定义enum,输出x是随机数。2. 32位机器上,任何指针变量都只占4个字节。 64位机器则是8个字节。每个字节占8位。3. 全局变量作用域大于静态局部变量(只用于声明它的函数中)。析构函数的调用与构造函数的调用顺序刚好相反。4.在类中,如果什么都没有,则类占用1个字节,一旦类中有其他的占用空间成员,则这1个字节就不在计算之内,如一个类只有一个i...
2018-04-16 20:44:19 407
粒子群算法示例程序
2018-12-24
OpenGL3.3规范文档
2018-09-21
DotNetBar破解版
2018-08-21
arcgis-runtime-samples-dotnet-master
2018-04-03
OpenSceneGraph-Data-3.0.0
2017-03-22
DesktopChinese_CN
2017-03-22
ArcEngine接口详细说明
2017-03-22
ArcGIS10.1正式版全套下载、安装与破解(附ArcGIS10.1全套下载地址
2017-03-22
Cesium-1.31下载包
2017-03-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人