当前位置: 首页 > news >正文

网站建设seo 视频教程发外链比较好的平台

网站建设seo 视频教程,发外链比较好的平台,用什么程序做资讯类网站,广州旅游网站建设设计公司在AE中数据的编辑是一个重点,也是一个难点。它包括的东西非常多,如:地物的添加,地物的修 改,地物查询,节点捕捉,地物的符号化等一系列的问题。熟练的使用地物编 辑的功能,是开发一个…

在AE中数据的编辑是一个重点,也是一个难点。它包括的东西非常多,如:地物的添加,地物的修 改,地物查询,节点捕捉,地物的符号化等一系列的问题。熟练的使用地物编

辑的功能,是开发一个系统必须具备的条件。数据编辑问题解决得好坏直接决定着软件是否操作方 便。在这我只是写一些相应的功能函数,至于软件开发中的架构,我不考虑。

1、 添加地物
什么是地物,这是 GIS的基本概念,我在这不想多说,我只想说明一点,地物可以表现在地图上,如房子、铁路、水管等等。我们把房子的总称称为一个地物类,在AE中对应一

个地物类(IFeatureClass),一个地物类在地图上表示为一个地物层 (IFeatureLayer),单独的一栋房子或一条管道我们称为地物(IFeature),Arcgis中一类地物只能放

在一个层,通过图层的叠加组成一幅地图。
熟悉面向对象的编程语言的人都知道,其实上边的地物类,地物的概念就是类和实体的概念。房子、铁路、水管等是一类地物的抽象,而具体的某一房子就是对象 了。大家了解了

这一点。接下来的开发就容易理解一些了。当然,还有一些其他的概念也必须了解一下:如长事务、 短事务、编辑空间等。请大家查找一些相关资料,了解这方面的内容。
我们先开始最基本的编辑功能:添加点线面的操作。它包括输入添加点线面和通过鼠标拖动添加点线面。下边讨论一下添加点线面的基本的实现方法:

一、添加点

我们可以有多种方法添加点,但基本的思路一样,只是有少量的接口有变化。下边是通过 FeatrueClass的CreateFeature()函数添加地物。

public void AddPointByStore()
{
//得到要添加地物的图层
IFeatureLayer l = MapCtr.Map.get_Layer(0) as IFeatureLayer;
//定义一个地物类,把要编辑的图层转化为定义的地物类
//先定义一个编辑的工作空间,然后把转化为数据集,最后转化为编辑工作空间,
IWorkspaceEdit w = (fc as IDataset).Workspace as IWorkspaceEdit;
IFeature f ;
IPoint p;
//开始事务操作
w.StartEditing (false);
//开始编辑
w.StartEditOperation() ;
for (int i = 0 ; i< 100 ; i++ )
{
//创建一个地物
f= fc.CreateFeature();
p = new PointClass();
//设置点的坐标
p.PutCoords (i,i);
//确定图形类型
f.Shape = p;
//保存地物
f.Store();    
}

               //结束编辑
w.StopEditOperation();
//结束事务操作
w.StopEditing(true);
}

上边的代码能添加点地物,但不能作为最终的代码使用,细心的人会看到。这段代码只是把第一层加 进来,然后在第一层上边添加点地物,如果第一层不是点层,该怎么办,那就

要判断了。怎么判断我们以后再说。通过上边的代码,我们已经清楚地了解到,编辑地物的基本框 架,这也是我们所说的事务,如果想操作能返回和重做,就必须把代码写在

IWorkspaceEdit的StartEditing()和StopEditing()函 数之间,把相关的操作写在IWorkspaceEdit的StartEditOperation()和StopEditOperation()之间。并且 操作是利用

IWorkspaceEdit接口完成的,所以要仔细理会IWorkspaceEdit接口的 用处,如何工作空间都可以转化为IWorkspaceEdit的对象,当转化为IWorkspaceEdit定义的对象后,

我们定义一个IFeature的对象,然后利用IFeatureClass的 CreateFeature()函数创建一个地物,并赋值给定义的IFeature对象。接着设置IFeature对象的一些属性,如:坐标

值,坐标系,地物类型等,最后是调用IFeature对象的Store()保存添加的地物。

上边的方法可以添加点地物,接着看看下边的代码。看有什么不同:
public void AddPointByWrite()
{
IFeatureLayer l = MapCtr.Map.get_Layer(0) as IFeatureLayer;
IFeatureClass fc = l.FeatureClass ;
IFeatureClassWrite fr = fc as IFeatureClassWrite ;
IWorkspaceEdit w = (fc as IDataset).Workspace as IWorkspaceEdit;
IFeature f ;  
IPoint p;
w.StartEditing (true);
w.StartEditOperation() ;
for (int i = 0 ; i< 100 ; i++ )
{
f= fc.CreateFeature();
p = new PointClass();
p.PutCoords (i,i);
f.Shape = p;
fr.WriteFeature (f);
}
w.StopEditOperation();
w.StopEditing(true);
}

 代码中用红色标记的两行就是不同的代码,其实他就是保存方式的不同而已。在这利用了 IFeatureClassWrite 接口来保存数据。再看看下边的代码:
public void AddPointByBuffer()
{
IFeatureLayer l = MapCtr.Map.get_Layer(0) as IFeatureLayer;
IFeatureClass fc = l.FeatureClass ;
IWorkspaceEdit w = (fc as IDataset).Workspace as IWorkspaceEdit;
w.StartEditing (true);
w.StartEditOperation() ;
IPoint p;
IFeatureBuffer f;
IFeatureCursor cur = fc.Insert(true);
for (int i = 0 ; i< 100 ; i++ )
{
f= fc.CreateFeatureBuffer();
p = new PointClass();
p.PutCoords (i,i);
f.Shape = p;
cur.InsertFeature (f);
}
w.StopEditOperation();
w.StopEditing(true);
}


其实不同的地方就两句代码,红色表示的。在这没有再定义地物接口了(IFeature),而是使用IFeatureBuffer 接口,保存的时候是使用InsertFeature()保存,这对大数据量

处理的非常有好处。他是先把要添加的保存到缓冲区里。最后一次性保存。

二、添加线

添加线的方法跟添加点一样,不同的只是地物类型不一样而已,我把代码贴出来,大家跟添加点的方 式进行对比。这样便于记忆。也有利于理解。
public void AddLineByWrite()
{
IFeatureLayer l = MapCtr.Map.get_Layer(0) as IFeatureLayer;
IFeatureClass fc = l.FeatureClass ;
IFeatureClassWrite fr = fc as IFeatureClassWrite ;
IWorkspaceEdit w = (fc as IDataset).Workspace as IWorkspaceEdit;
IFeature f ;  
//可选参数的设置
object Missing = Type.Missing;
IPoint p=new PointClass();
w.StartEditing (true);
w.StartEditOperation() ;
for (int i = 0 ; i< 100 ; i++ )
{
f = fc.CreateFeature();
//定义一个多义线对象
IPolyline PlyLine=new PolylineClass();
//定义一个点的集合
IPointCollection ptclo = PlyLine as IPointCollection;
//定义一系列要添加到多义线上的点对象,并赋初始值
for(int j=0;j<4;j++)
{  
p.PutCoords(j,j);
ptclo.AddPoint(p,ref Missing,ref Missing);
}
f.Shape = PlyLine;
fr.WriteFeature (f);
}
w.StopEditOperation();
w.StopEditing(true);
}

转自:http://blog.sina.com.cn/s/blog_7a07046a0100sor9.html

转载于:https://www.cnblogs.com/qiernonstop/archive/2013/05/05/3061574.html

http://www.lbrq.cn/news/2734777.html

相关文章:

  • 怎呀做网站网上销售有哪些方法
  • 日本企业网站模板招聘网络营销推广人员
  • 成都网站制作售后今日时事新闻
  • 天华集团官网网络seo排名
  • 网站企业建设方案电工培训
  • 顺义企业建站费用新手seo要学多久
  • 南京 网站建设 运营服务 骗子公司发布软文的平台有哪些
  • 老实人做网站seo站长之家
  • 网站建设有哪些方法企业推广是什么职业
  • wordpress调用备案号如何优化关键词搜索排名
  • 如何在服务器上做网站友情链接交易
  • 幼儿园学校网站建设作用宁德市自然资源局
  • 网站是哪个公司做的友情链接吧
  • 所有电商平台seo网站优化助理
  • 禹城网站定制杭州seo工作室
  • 广东建设信息网三库一免费seo培训
  • 营销型手机网站建设快速网站排名提升
  • 携车网网站开发怎么样windows优化大师官方免费
  • 网站建设服务费是否无形资产二十条优化措施
  • wordpress如何在首页不显示某类分类目录下的文章?seo网站推广教程
  • 广州做网站哪里有百度搜索结果
  • 什么大的网站是帝国cms做的优化方案官方网站
  • 做网站怎样写标题网络游戏推广怎么做
  • 什么网站可以做教师资格证的题中国去中心化搜索引擎
  • 任丘 做网站网络营销服务公司有哪些
  • 做企业网站域名七牛云
  • 广州互帮物流哪家公司做的网站seo服务价格表
  • 重庆企业建站模板贵州seo推广
  • 哈尔滨模板做网站培训网址大全
  • 做网站推广的流程真正的免费建站在这里
  • flash通信
  • 【Java web】HTTP 协议详解
  • 9.从零开始写LINUX内核——设置中断描述符表
  • 代码随想录Day52:图论(孤岛的总面积、沉没孤岛、水流问题、建造最大岛屿)
  • [优选算法专题二滑动窗口——长度最小的子数组]
  • 20250815在荣品RD-RK3588-MID开发板的Android13下调通TP芯片FT8206