arcgis是什么 Server ADF是什么

这里要介绍的是ArcGIS Server .Net ADf现成自带的编辑功能,也就是ArcGIS Server .Net ADF自带的EditorTask.我们都知道ArcGIS Server中的服务分为池化和非池化两种类型,对于编辑功能而言,池化和非池化类型服务都是可以进行编辑,区别在于:如果是非池化的服务,服务中的数据可以是注册了版本或者没有注册版本的,如果是注册了版本的数据,所有的编辑操作是可以进行redo,undo操作,并且有冲突解决的方案。如果是没有注册版本的数据,就不可以进行redo,undo的操作,但是可以对编辑内容选择一次的保存和不保存。如果是池化的服务,那么服务中的数据就只能是非版本的。这种情况下的编辑功能是最简单的,编辑的内容一旦完成就进行了保存,没有办法Redo,Undo。比如对一个多边形进行了节点移动的操作,一旦操作完成就不可以进行恢复。但是无论哪种类型,shapefile和personal gdb中的数据都是不能被编辑任务编辑的,但是这两种数据可以进行作为捕捉的数据来源.1 编辑功能的使用ArcGIS Server 的编辑功能是现成提供的,主要提供了空间和属性数据的编辑。编辑过程中可以对编辑的图层和版本进行设定,并且在编辑过程中有捕捉的功能。除了新创建要素之外,对现有要素的编辑功能分别是:点的编辑功能:移动,拷贝,删除线的编辑功能:移动,拷贝,切割,合并,删除,添加节点,移动节点,删除节点面的编辑功能:移动,拷贝,切割,合并,删除,添加节点,移动节点,删除节点编辑的操作可以进行回退,重做的操作。见附图编辑任务对话框.2 编辑功能的定制编辑功能定制要使用到的命名空间是ESRI.ArcGIS.ADF.ArcGISServer.EditorESRI.ArcGIS.ADF.ArcGISServer.Editor.Tools这两个命名空间中提供了组成编辑任务的各个组成控件以及类。这些控件和类是我们实现编辑功能定制的前提。1)添加自己的工具到编辑任务中2)添加自己的工具条到编辑任务中见编辑任务对话框的定制附图,编辑任务对话框的定制附图的代码如下,在EditorTask的ToolsCreated的事件中添加进自己的命令,工具和工具条。
&protected void EditorTask1_ToolsCreated(object sender, ESRI.ArcGIS.ADF.ArcGISServer.Editor.Tools.ToolsCreatedEventArgs e)
  //在主工具条中添加工具
if (e.Parent == EditorTask1.Editor)
Toolbar toolbar = e.Toolbars[0];
// 创建工具
EditorTool tool = new EditorTool("MyTool2", Map1.ClientID, true, ToolGeometry.All, 1);
tool.ClientAction = "Point";
tool.DefaultImage = "~/images/identify_ON.gif";
tool.HoverImage = "~/images/identify_HOVER.gif";
tool.SelectedImage = "~/images/identify_OFF.gif";
tool.ServerActionAssembly = "App_Code";
tool.ServerActionClass = "CustomToolLibrary.IdentifyAllTool";
tool.ToolTip = "IdentifyAllTool";
      //添加工具
toolbar.ToolbarItems.Add(tool);
toolbar.Width = new Unit(toolbar.Width.Value + 35, UnitType.Pixel);
//在编辑要素panel中添加工具条
else if (e.Parent == EditorTask1.Editor.ExistingFeatureEditor)
      //创建工具,并把这个工具添加到编辑要素panel中的一个工具条中
      EditorTool clip = new EditorTool("Clip", Map1.ClientID, false, ToolGeometry.All , 1);
clip.ClientAction = "Point";
clip.DefaultImage = "~/images/zoom-in_ON.gif";
clip.SelectedImage = "~/images/zoom-in_OFF.gif";
clip.HoverImage = "~/images/zoom-in_HOVER.gif";
clip.ToolTip = "AddVertex";
clip.ServerActionAssembly = "ESRI.ArcGIS.ADF.ArcGISServer.Editor";
clip.ServerActionClass = "ESRI.ArcGIS.ADF.ArcGISServer.Editor.Tools.AddVertex";
e.Toolbars[0].ToolbarItems.Add(clip);
double oldWidth = e.Toolbars[0].Width.V
e.Toolbars[0].Width = new Unit(oldWidth + 35, UnitType.Pixel);
      //创建工具条
EditorToolbar toolbar = new EditorToolbar();
toolbar.ID = "MyToolbar";
toolbar.BuddyControlType = BuddyControlType.M
toolbar.BuddyControls.Add(new BuddyControl("Map1"));
toolbar.ToolbarStyle = ToolbarStyle.ImageO
      //创建工具
EditorTool tool = new EditorTool("MyTool2", Map1.ClientID, true, ToolGeometry.All , 1);
tool.ClientAction = "Point";
tool.DefaultImage = "~/images/identify_ON.gif";
tool.HoverImage = "~/images/identify_HOVER.gif";
tool.SelectedImage = "~/images/identify_OFF.gif";
tool.ServerActionAssembly = "App_Code";
tool.ServerActionClass = "CustomToolLibrary.IdentifyAllTool";
tool.ToolTip = "IdentifyAllTool";
toolbar.ToolbarItems.Add(tool);
      //创建命令
EditorCommand command = new EditorCommand("MyCommand", ToolGeometry.All, 0);
command.DefaultImage = "~/images/fixedzoomin.gif";
command.HoverImage = "~/images/fixedzoomin.gif";
command.SelectedImage = "~/images/fixedzoomin.gif";
command.ServerActionAssembly = "App_Code";
command.ServerActionClass = "CustomToolLibrary.ExtentCommand";
command.ToolTip = "ExtentCommand";
toolbar.ToolbarItems.Add(command);
// 添加工具条
toolbar.Width = new Unit(toolbar.ToolbarItems.Count * 35, UnitType.Pixel);
e.Toolbars.Add(toolbar);
3)添加自己的panel到编辑任务中,除了editortask本身提供的panel之外,还可以添加自己的panel.见编辑任务对话框的定制2附图.通过这三种方式,你就可以按照自己的需求来对编辑任务进行定制。2& &编辑功能的扩展添加到编辑任务对话框中的工具和命令的实现是非常灵活和方便的,我们只要去实现ESRI.ArcGIS.ADF.ArcGISServer.Editor.Tools.EditorServerToolAction就可以了。下面是一个clip工具的例子代码。
public class ClipFeatures : ESRI.ArcGIS.ADF.ArcGISServer.Editor.Tools.EditorServerToolAction
List&int& features = new List&int&();
public List&int& Features
protected override bool Init(Editor editor)
features.Clear();
return base.Init(editor);
//clip的功能就在editoserveraction中实现。
protected override void EditorServerAction()
IEnvelope env = Geometry as IE
ESRI.ArcGIS.ADF.ArcGISServer.MapDescription mapDesc = Editor.MapFunctionality.MapD
int[] fidSet = LayerDescription.SelectionF
if (fidSet != null && fidSet.Length & 0)
ITopologicalOperator3 topo3 =
IFeature feature =
StartEditOperation();
IFeatureCursor cursor = FeatureLayer.FeatureClass.GetFeatures(fidSet, false);
feature = cursor.NextFeature();
while (feature != null)
topo3 = (ITopologicalOperator3)feature.ShapeC
topo3.Clip(env);
IGeometry geometry = (IGeometry)topo3;
if (!geometry.IsEmpty)
feature.Shape =
feature.Store();
features.Add(feature.OID);
feature = cursor.NextFeature();
StopEditOperation();
catch (Exception e)
AbortEditOperation(e);
if (features.Count & 0)
Refresh(features, true);
本文已收录于以下专栏:
相关文章推荐
ArcGIS Server .Net ADF中的AJAX(一)对于没有很好的.net编程基础,arcobjects的开发经验的开发人员而言,开发arcgis server的应用是比较费劲的。最简单和最...
公司最近的一个项目有这样一个功能,就是GIS图片格式之间的转换(DXF档,ASCII档,SHP档),由于之前没接触过这方面的,真的是满头雾水,不知道从哪下手,没办法,Google.baidu呗.差不多...
问题描述:.net的ArcGIS Server Manager能登陆,Java的log in报错。(注意:用户和组都已经成功正确配置了)解决办法:(整理了网上资料所得,其实最终哪一个起到关键作用偶也不...
在高亮显示、选择中、或者动态数据的时候我们都会使用到GraphicsLayer中的ElementGraphicsLayer或者FeatureGraphicsLayer,我们如何增加动态点以及考虑回调的...
他的最新文章
讲师:王哲涵
讲师:王渊命
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)【图文】WebGIS开发与应用三ArcGIS Server for ADF开发(2)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
WebGIS开发与应用三ArcGIS Server for ADF开发(2)
大小:1.88MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢新版本ArcGIS Server计划:不再支持32位系统,不再支持ADF开发…【arcgis吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:20,578贴子:
新版本ArcGIS Server计划:不再支持32位系统,不再支持ADF开发…收藏
ArcGIS 10.0ArcGIS 10.0是最后一个支持vba的版本; ArcGIS 10.0是最后一个包含ArcInfo Workstation的版本; ArcIMS 10.0是最后一个支持Solaris平台的版本;下一个大版本的ArcIMS将成为绝唱; ArcGIS Server 10.0是最后一个支持Solaris平台的版本; ArcGIS Server 10.0是最后一个支持local connection的ADF程序的版本;ArcGIS Server 10.1的ADF仅支持以local方式连接10.1之前版本的ArcGIS Server服务器; ArcGIS Server 10.0是最后一个支持32位系统的版本;ArcGIS Server 10.1将是原生的64位程序,必须运行在64位系统之上; ArcGIS Server 10.0是最后一个支持发布mxd的版本;以后的版本只能发布msd; 作为单独的产品,ArcGIS Image Server将是最后一个版本;之后版本中将会被ArcGIS Server Image Extension取代;ArcGIS 10.1:ArcGIS 10.1将不再支持VBA; ArcGIS 10.1将不再支持Solaris平台上的ArcGIS Engine和ArcReader; ArcGIS 10.1将是最后一个支持Linux平台上ArcReader的版本; ArcGIS 10.1不再发布新的ArcInfo Workstation; ArcIMS 10.1将是史上最后一个IMS版本;建议用户迁移到客户端API开发上来; ArcGIS Server 10.1将是最后一个支持ADF程序的版本(包括.NET和Java);10.1版本的ADF只修复bug,不加入新功能;建议用户迁移到客户端API开发上来; ArcGIS Server 10.1的ADF程序中将不再支持local方式连接(但支持local方式连接到以前版本的ADF);ArcGIS Server 10.1将是一个纯粹的SOA(REST & SOAP) GIS Server; ArcGIS Server 10.1是最后一个支持Web Mapping Application(ArcGIS Server Manager和VS中的模板程序)的版本;同时也将提供新的取代者——基于客户端API的,可以定制的模板程序; ArcGIS Server 10.1不再支持32位操作系统;
翡翠原石:购买、加盟、批发-高货翡翠原石尽在鑫劦飞翡翠年代翡翠原石集团
哈哈 不好用....
楼主 没了mapping application 现在arcgis sever 10.2怎么进行二次开发呢
登录百度帐号推荐应用地址:/fileview?id=0B8EMyhKZm53ZNmE3OTUzZjItODljNi00NDM3LWI2MGQtZTE1ZWNjMWRlMGY4&hl=zh_CN
一 Server Object Extensions Server Object Extensions(以下简称SOE)是Server Object的扩展,比如MapServer、GPServer等等。和Utility Objects不同,SOE只在Server Object被创建的时候被初始化,它的生命周期和Server Object是相同的。相比Utility Objects,SOE有以下的一些特点: Ø 开发人员不需要手动实例化SOE,SOE是在Server Object被创建的同时被实例化的 Ø A...
二 使用Utility Objects提高查询性能【案例】 这是我的同事使用Utility Objects解决某个用户的一个实际问题。这个用户通过调用AO进行空间查询,然后在此基础上进行分页,分页的时候遍历该页所有的IFeature,提取属性信息,构造成自己的结果返回——结果,遇到了严重的性能问题,在上万条记录中查询一般两三分钟才可以出结果,这在一个国家级项目中是难以忍受的。 经过添加日志分析,发现AO查询的速度非常快,问题就是出在遍历IFeature这个操作上,是不停地进行跨进程调用产生的。就在这个时候9...
第一章 扩展ArcGIS Server 这一章其实和ADF已经没有太大关系了,在ArcGIS的帮助里也是在ArcGIS Server开发章节里。考虑到使用ADF开发的一般对功能要求比较多一点,所以对于怎么扩展ArcGIS Server可能比较关心,反正ADF差不多也讲完了,这一章就算是一个结束吧。 从9.3.1开始,ArcGIS Server提供了Java开发者更多的可扩展性。通过扩展ArcGIS Server可以使某些自定义的功能更加完善和强大、使你的某些工作可以更加模块化并和ArcGIS Server很...
二 两种方式自定义Web Service 在IDE里创建一个Web Service工程是很容易的,只要找到【File】-【New】-【Web Service】菜单就可以了,点击这个菜单将会弹出下面的对话框:
这里的Web service type有两种选择:一种是Bottom up、另外一种是Top down。这两种方式分别对应了自下而上和自上而下两种新建Web Service的模式。如果你已经有了实现的功能类,现在想要把它封装成Web Service,那么你应当选择Bottom up模式;如果你首先定...
第一章 有关Web Service 在IDE的菜单中,你会看到有个很长的【ArcGIS Web Services Project】,别高兴,这不是给你自定义Web Service的,运行完向导你会发现生成的是一个Java桌面程序——有着一如既往丑陋的界面和很不友好的GIS功能。原来我一直当它是废物,不过前段时间它还真的帮了我大忙。我们有个测试需要测ArcGIS Server对Web Service的支持,要求必须抓取到浏览器与服务器交互的可读的SOAP消息;但是你要知道,考虑到效率ArcGIS Server...
三 调用AO实现缓冲功能【案例】 在这个小节中,让我们通过调用AO实现一个缓冲区分析的功能。 首先,我们需要配置一个地图服务资源,还是用前面使用过的世界地图服务吧,但是这次采用的是Local方式去连接,你可以直接在打开的JSP页面上右键选择【ArcGIS】-【Configure Map Service…】菜单打开服务配置窗口:
图 27 使用IDE插件配置 Local方式连接的服务 下面我们在一个Tool中通过这个AGSLocalMapResource来调用AO: public class BufferP...
二 IServerContext详解 在ADF中使用Local方式去连接服务产生的资源是AGSLocalMapResource[1],它有一个方法是getServerContext,返回的是一个实现了IServerContext[2]接口的对象。这个接口在ADF调用AO的过程中很重要,下面我们来详细谈一下这个接口。 当我们的ADF应用使用Local的方式去连接服务,那么在发生请求并连接到ArcGIS Server的时候,在服务器上就会产生一个服务器环境对象(server context),这个对象可以被理解...
调用ArcObjects 到这里我们对ADF已经讲了不少内容了,让我们先稍微回忆一下。我们从ADF的结构入手,首先介绍了Tool、Command和服务器的交互、在此基础上介绍了可以帮助实现复杂业务逻辑的Task;然后,进行了更细节的功能讲解,比如怎么进行查询、怎么显示动态结果、怎么不通过ADF组件来发送AJAX请求并获得响应、怎么自定义Functionality封装功能等内容。 前面这些内容仅仅围绕着ADF封装的GIS功能,或许你会开始怀念AO强大的功能,所以这一章就让我们来了解一下怎样可以用AO来进行更加...
二    自定义一个地图放大5倍的Functionality【案例】在这个小节,我们去实现一个GISFunctionality去封装前面实现过的使地图放大5倍的功能。首先,当然是新建一个Functionality类并添加到ADF应用中去。前面我们经常通过直接编辑代码的方式去定义类和配置文件,这主要是为了帮助你理解ADF应用的配置和各个元素的相互关系。现在估计你也有一定了解了,我们也就尽量省事些,多使用ArcGIS的eclipse插件去完成这些工作吧。让我们打开eclipse的菜单【ArcGIS】-【Clas...
访问:643443次
积分:8474
积分:8474
排名:第2427名
原创:178篇
评论:417条
(1)(2)(1)(1)(2)(19)(4)(1)(2)(10)(3)(22)(21)(4)(5)(1)(1)(6)(4)(1)(12)(6)(23)(6)(3)(5)(3)(1)(2)(6)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix' 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
WebGIS开发与应用三ArcGIS_Server_for_ADF开发(2)
下载积分:840
内容提示:WebGIS开发与应用三ArcGIS_Server_for_ADF开发(2)
文档格式:PPT|
浏览次数:131|
上传日期: 10:52:44|
文档星级:
全文阅读已结束,如果下载本文需要使用
 840 积分
下载此文档
该用户还上传了这些文档
WebGIS开发与应用三ArcGIS_Server_for_ADF开发(2)
官方公共微信}

我要回帖

更多关于 arcgis是什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信