![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GIS
xbt746
c ,postgre,ArcGis开发,数据生产,oracle
展开
-
AO添加字段的忌讳
在AO中,在shape文件中添加字段,只能用featureclass.addfield(),如果将featureclass转换成IFieldsEdit;,再利用IFieldsEdit.Add()来添加字段,的确可以加进去,但是后来就不能打开IWorkSpapceEdit了,就无法进行feature.store,把添加的元素或字段加入文件。简而言之,就是无法进行图形编辑了这是arcgis的忌讳原创 2007-04-20 21:00:00 · 715 阅读 · 0 评论 -
WMS协议之GetMap
昨天使用openlayer访问geoserver生成的wms,其中一些参数自己觉得不是很明白。把WMS规范下来看看,豁然开朗。下面是昨天打开一个layer的代码,当时不明白为什么会有这些参数,其实这些参数都是根据wms来的。就是{}大括号里的wms规范也规定好了规范,大家只是实现接口而已,搞webgis,还是要wms还是要先弄清楚好点。这些参数对应的都是wms里getmap功能# "topp:r原创 2008-08-07 12:24:00 · 2018 阅读 · 1 评论 -
ae指定字段转成注记
ArcMap中有一个功能是Label Features,就是可以将图层内指定字段值显示以Label形式显示在主窗口上,在Label Features后,用右键点击图层,发现可以出现一个原来灰色的功能名,ConvertLabelsToAnnotation。这个功能在AE中提供,可是自己找不到设定字段值的位置,无可奈何,只有另辟蹊径。就是先创建一个注记层,然后按照图层里指定字段的值来生成注记。就是原创 2008-01-21 10:22:00 · 2248 阅读 · 2 评论 -
convert labels to geodatabase annotation
老师需要一个和ARCGIS里Convert Label To Annotate FeatureClass的功能。主要方便大数据量的图形转换。查了几天,毫无头绪,自己都忘记了在 AE开发帮助里进行搜索。到头来,得来不费功夫,还耗费我那么长时间。当然,这些时间也让自己对Annotate这个东西有了更深的认识。有IAnnotateLayer却好像没有IAnnotateFeatureclass这个东西。最原创 2007-12-18 11:30:00 · 1887 阅读 · 0 评论 -
ArcGis开发中ToolBar
当选择是在ArcMap上进行功能扩展的需要时候,完全可以建立一个ToolBar来定制一些自己需要的功能。自己看到的例子主要是利用IToolBarDef这个接口,具体代码见我的资源。另外在AE中的ToolBar实现还没有仔细看过,不过好像ToolBarClass是可以的,过两天再研究。原创 2007-12-19 17:05:00 · 915 阅读 · 0 评论 -
MDB里面创建Featureclass名字的限制
好像除了下划线符号,在 mdb里创建Featureclass是不允许其他符号,应该是和email邮箱之类的命名规则一样,好像涉及到编码之类的问题。原创 2007-12-10 10:24:00 · 760 阅读 · 0 评论 -
ArcGis的许可初始化
一开始自己使用是AE开发,往程序上丢个license控件一下就OK了。 今天涉及到AO开发,呵呵,一开始写了半天的程序,在AE上运行良好,一旦没有了LicenseControl上,是寸步难行。IAoInitialize m_aoinitialize = new AoInitializeClass(); m_aoinitialize.Initialize(esriLicenseProductCo原创 2007-12-10 16:32:00 · 1086 阅读 · 0 评论 -
在AccessWorkspaceFactory里创建Featureclass
这两天一直遇到一个问题,在自己创建的WorkSpace无法创建Featureclass先前一直不知道问题所在,看到这段代码受到一点启发。AccessWorkSpaceFactory与ShapeFileFactory不同的是要有一个OID字段我想问题就在这里,先试试。 public IFeatureClass IFieldEdit_Example(IFeatureDataset feature原创 2007-12-07 17:25:00 · 2733 阅读 · 0 评论 -
IWorkspaceEdit的一些思考
今天终于完成VCT的转换,远远超出了预计的时间。主要是没有把几何数据显示出来,也就是没有存储下来。终其原因,没有把得到 IGeometry的feature调用store,也就是没有保存几何信息。而featureclass则会显示你创建了该feature。所以从属性上面的纪录数来看,还以为是对的。另外,一开始不知道,不调用IWorkspaceEdit也可以使用feature.stroe。主要还是一原创 2007-06-06 21:48:00 · 2411 阅读 · 0 评论 -
VCT格式转换
今天开始做VCT格式转换,完全被吓到了哦,不光有几何数据,还有属性数据。一个VCT包含大量的表就是一个VCT对应于多个shp或则mif。而且它的表定义在开头,而在ARCGIS中fields是没有名字的,所以,这里必须得自定义一个结构,fields+name;这样在加几何数据时,一个featureclass才好通过名字找到相应的fields,真是比较难搞阿,搞了一天也才写到一半,当然,这还是只是单个原创 2007-06-04 19:09:00 · 5349 阅读 · 7 评论 -
AE开发中投影系统的设置
今天继续搞难缠的VCT格式转换,被一个问题卡了一天的壳。因为投影系统的设置。其实这也只能怪自己的地图学知识不够扎实。在AE提供的地函数中,ISpatialReferenceEnvironment是一个很好用的函数。这里先简单介绍一下投影系统,投影系统除了投影方式外,还包括地理坐标系。所以要生成一个投影系统,必须得先生成一个地理坐标系统。GeographicCoordinateSystem,这个在G原创 2007-06-05 20:31:00 · 2024 阅读 · 0 评论 -
影像裁减
影像裁减有两种情况,一种是裁减从数据库得到的,另外一种是就是入ArcMap里那样的这里要说的就是第二种。可视化的交互裁减其实影像裁减主要用到的一个函数时IRasterGeometryProc接口下的Clip。传进去的参数有一个Envelope(不知道翻译么意思合适),还有就是要裁减的影像。和配准一样,只有regester以后,才会真正有效。regester以前的都可以回滚。如果要保存,savea原创 2007-04-30 16:46:00 · 666 阅读 · 0 评论 -
AE中的橡皮线
这两天一直在做一个由basetool继承来的类里画橡皮线。记得大一的时候,刚刚学VC的时候接触到了这个东西,当时只有一个大的印象,就是简单的moveto,lineto,到了AE,自己一下子茫然了,难道要用.net的消息响应函数?也moveto,lineto?自己一开始看到了一个activew.display里有一个drawpolyline,当时的想法就是画吧,就这样画吧,但是每次都调用refres原创 2007-05-08 15:12:00 · 774 阅读 · 0 评论 -
影像配准
配准 配准 主要使用IGeoReference这个接口来完成工作。 还有使用ActiveView来进行坐标转换,将MapControl中鼠标的点击位置 转换为 地图和影像图上的坐标。 下面介绍IGeoReference接口 首先RasterLayer实现了这个接口 CanGeoRef 监测该图层是否可以做配准 PointsTransform 将鼠标的位置 转换为栅格文件上的相对原创 2007-04-29 18:27:00 · 1675 阅读 · 2 评论 -
polyline与polygon
这几天一直在和数据格式打交道,主要是shp的格式。由于格式限制,整个shp文件不可能有圆弧或者bezier曲线之类的。如果原文件有,可以先构成ellipticalarc或者cicurarc,然后转换到ICurve,利用polyline或者polygon得到一个IPointCollection的接口,利用ICurve的 ipCurve.QueryPoint(esriSegmentExtension.原创 2007-04-24 21:27:00 · 1053 阅读 · 0 评论 -
超出游标最大数
如果不是AE,而在其他程序里,这个问题应该和数据库的连接设置有关。但是如果是在AE程序里出现这个错误,很有可能是因为在同一个数据库打开了两个游标,这两个游标不管是两张表的还是一张表的,都会出现如此问题。只有调用c#里的 Marshal.releasecomobject才能解决问题。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 IGeometry的赋值不原创 2007-07-27 15:53:00 · 1034 阅读 · 0 评论 -
钩子的利用
在AE 开发中,可以利用钩子把mapcontrol给传到由ITool或者ICommond继承的命令或者工具里,传进去的钩子就是hook,类型是一个object,实际上就是一个mapcontrol,可以用强制转换为MapControlICommand GTCStandard; if (!Match.ImageMatch.m_isAlive) {原创 2007-07-27 15:50:00 · 572 阅读 · 0 评论 -
SDE Underlying DBMS error[ORA-00904 的错误解决
昨天在利用arcsde进行featureclass创建的时候遇到了这样的错误。同样的代码在以前是可以的,突然遇到这样的错误,很奇怪。调试了半天也没有找到原因的所在。后来创建只含有基本字段的featureclass,成功乐。一个个字段的添加,找到了错误的原因,里面有个字段名称叫row,这个错误是从oracle报出来的所以错误应该是和数据库保留名称发生冲突。后来改成rownum还是原创 2009-04-16 09:03:00 · 4356 阅读 · 0 评论