ArcEngine开发
文章平均质量分 68
NickWar
GIS,RS,Delphi,.Net,Java,C++,Python,Node.js,AIX,CentOS,Ubuntu,Windows,开源,git,各种混搭,兴趣广泛,学的快,忘性也大,但捡起来也容易,夜猫子、宅
展开
-
ArcCatalog导入数据到SDE出错,错误代码Error 999999
使用ArcEngine导入数据,总有几个图层导不进去,检查之下,没发现代码有什么问题,于是使用ArcCatalog试了,没想到,还是导入不了,批量导入的时候,显示100%完成,提示成功了,进入一看,什么都没有,幸亏在单个图层导入的时候,有出错提示如下:ERROR 999999: Error executing function.Object name is not a regular iden原创 2009-10-28 15:24:00 · 8726 阅读 · 1 评论 -
ArcGIS的授权管理器之lmutil,lmgrd工具的几个命令
更改授权文件lmutil lmpath -override all license.dat关闭授权管理器lmutil lmdown重新读取授权文件lmutil lmreread重读的时候要注意先设置授权文件路径查看当前授权文件位置lmutil lmpath -status查看当前授权服务器状态lmutil lmstat启动权限管理器lmgrd -z -c licese.dat原创 2010-12-21 11:42:00 · 8743 阅读 · 0 评论 -
在ArcEngine中创建带高程Z值的点和线图层
管线和其附属物的坐标数据都是带有Z值的而且有些情况下,一个管段的两个端点的x,y值一模一样(垂直的管段)这样的线,在直接生成shape图层的时候,就会产生问题,特别是使用ArcSDE的C API直接创建到表中的时候你会发现,这样的数据是生成不了的解决的方法就是为图层添加Z值,一个图层是否带有高程值,可以在ArcMap中通过查看图层的属性表得知,带有Z值的图元,在Shape字段中,其类型后面会有个ZM字样比如point ZM,Polyline ZM创建带高程Z值的图层时,只原创 2010-07-21 15:10:00 · 8675 阅读 · 2 评论 -
ArcEngine根据点集ringclass,生成多边形polygon
上次说了将一个多边形的点集合保存入数据库,见此文:将图元包含的点集合(IPointCollection)序列化为二进制保存到数据库这次有需要,把数据读取出来然后再生成一个多边形,在ArcEngine中生成多边形还蛮曲折的,可能是考虑到环和岛的状况。具体的需求是使用点集生成多边形,然后进行定位,闪烁啊什么的//.....//.....//.....if (coordData != null) {原创 2010-07-09 11:02:00 · 10942 阅读 · 4 评论 -
将图元包含的点集合(IPointCollection)序列化为二进制保存到数据库
需求:把图元包含的点集合按点数x1y1x2y2......这样保存到byte[]数组中并存储到数据库(oracle的blob或sqlserver的image型) 开始是用string连接多个点坐标,用逗号分隔,然后转成byte数组,但这样的话,byte数组就凭空大了一倍在读取的时候还要转换类型,再分解,使用C++做这些操作比较麻烦(客户端是C++写的)这样存储按位读取,速度效率都不错,记一下原创 2010-06-30 15:06:00 · 4380 阅读 · 0 评论 -
ArcEngine序列化矢量图层的标注属性
/// /// 序列化图层的标注属性 /// /// 矢量图层 /// byte[],包括标注的字体样式和位置 public static byte[] SerializeLabelProperty(IGeoFeatureLayer lyr) { try原创 2010-01-14 09:43:00 · 2850 阅读 · 0 评论 -
ArcEngine 预览矢量图层渲染样式
#region 预览 /// /// 预览 /// private void PreviewLineSymbol() { IStyleGalleryClass pStyleGalleryClass;//以下定义style类型 pStyleGalle原创 2009-12-24 15:45:00 · 3033 阅读 · 0 评论 -
ArcEngine唯一值渲染UniqueValueRender图层
地图属性表中只有一列编号FTRID,其相关的其他信息保存在数据库中,根据编号关联渲染图元时,根据图元的半径绘制其样式,可以直接查询图层对应的图元信息表遍历此表,根据每个图元的半径,设置其线样式,然后保存到IUniqueValueRenderer对象中,最后,将图层的Render属性设置为此Render对象即可。 /// /// 渲染图层原创 2009-12-24 15:29:00 · 8175 阅读 · 0 评论 -
ArcEngine 反距离权重插值法计算简单地面高程
手上有一张测绘的高程点的矢量图,需要做一个简单的高程插值算法,在鼠标移动是根据其周边的点的高程计算出当前的高程值,不想做的太复杂,基本思路是按一定的半径搜索高程点,根据每一个高程点的距离远近进行加权平均,计算出高程值,精确一点,就是使用反距离权重插值法,距离越远的高程点,影响度越低,如下图: 在ArcEngine中实现,以鼠标点为中心搜索 指定半径的图元,使用如下方法: /原创 2009-12-10 15:13:00 · 5639 阅读 · 0 评论 -
C# System.IO.FileStream 读取被其他程序打开的文件提示“文件正由另一进程使用,因此该进程无法访问该文件。”
#region 将二进制转化为文件 public static string ConvertByteToFile(object objData, string filePathName) { //string fileName = ""; //fileName = new PublicC原创 2009-12-09 16:34:00 · 19735 阅读 · 4 评论 -
使用批处理或C#代码 注册ArcEngine Runtime授权,自动检测AE Runtime安装位置
ArcEngine Runtime 9.3版本,注册程序为其安装目录下的bin/SoftwareAuthorization.exe 安装位置在注册表中有记录:具体项为:HKLM/SOFTWARE/ESRI/ArcGIS Engine Runtime下的InstallDir值 授权文件名称为ecp后缀的,此处命名为lic.ecp 安装授权文件的参数为SoftwareA原创 2010-02-04 16:49:00 · 4844 阅读 · 0 评论 -
在ArcMap9.x中对mxd文件进行浏览操作时频繁出现I/O问题
错误提示如下: one or more layers failed to draw: FDO error:0 Network I/O error 或者是这样的错误:Underlying DBMS error[ORA-01000:超出打开游标的最大数]解决方案: 1.本地的网络服务有问题,数据包的延迟。使用ping -t命令,关闭本地的防火墙。 2.mxd文件损坏,用mx原创 2009-11-25 09:45:00 · 2632 阅读 · 0 评论 -
使用ArcEngine实现ArcMap的Set datasource 功能,修复mxd中的图层位置
在ArcMap中打开一个mxd文件时,有可能其关联的shp文件路径被改动了,导致找不到该图层,这时,就可以右键选择Properties,在弹出对话框中选择source选项卡,点set data source按钮,如下图然后选择该图层的位置,即可。图层的配置息都是存放在mxd中的,若是将图层数据导入到sde中保存的话,再进行加载的时候,这些配置信息都是找不到的,要想按照mxd的样式从数据库加载图原创 2009-11-23 12:56:00 · 8328 阅读 · 4 评论 -
ArcEngine从 9.3迁移到10遇到的问题
How to migrate ArcGIS 9.3 Desktop and Engine stand-alone applications to ArcGIS 10原创 2011-01-10 17:37:00 · 7733 阅读 · 1 评论