- 浏览: 1137773 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
RebeccaZhong:
严重: StandardWrapper.Throwableco ...
三步发布java方式的rest服务 -
RebeccaZhong:
严重: StandardWrapper.Throwableco ...
三步发布java方式的rest服务 -
冷酷月光:
楼主。请教一下。arcgis for android 有提供地 ...
ArcGIS API For Android离线地图的实现 -
winney117:
请问如何GET已有网页上的指定内容?比如百度文库中的某一篇文章 ...
三步发布java方式的rest服务 -
zige1012:
您好,我想问问我想换个自己地图的切片,也有4层(L0-L3), ...
ArcGIS API For Android离线地图的实现
public class PointEdit { private WebContext webContext; public void AddPoint (MapEvent event){ try { //得到地图事件所对应的地图对象 WebMap webmap=webContext.getWebMap(); WebPoint webpoint=(WebPoint) event.getWebGeometry().toMapGeometry(webmap); AGSLocalMapResource mapResource = (AGSLocalMapResource) MapResourceClass.getMapResource(webContext, 1); IServerContext context = mapResource.getServerContext(); MapServer mapServer = mapResource.getLocalMapServer(); //IMap maps= mapServer.getMap(""); //ILayer firstLayer = maps.getLayer(Otid); //得到图层的空间编辑对象 IMap maps= mapServer.getMap(""); ILayer layer=maps.getLayer(0); IFeatureLayer fLayer = (IFeatureLayer) layer; IFeatureClass fc = fLayer.getFeatureClass(); IDataset ds1=new IDatasetProxy(fc); IWorkspace pWorkSpace = ds1.getWorkspace(); IWorkspaceEdit pWorkspaceEdit=new IWorkspaceEditProxy(pWorkSpace); //开始编辑 pWorkspaceEdit.startEditing(true); pWorkspaceEdit.startEditOperation(); //创建新的地图对象 IFeature pFeature=fc.createFeature(); //将web地图对象转成地图对象 Point p=(Point)context.createObject("esriGeometry.Point"); IPoint pt=(IPoint)context.createObject("esriGeometry.Point"); pt.setX(webpoint.getX()); pt.setY(webpoint.getY()); pt.setM(0); pt.setZ(0); p=(Point)pt; //地图对象赋值 pFeature.setShapeByRef(p); //字段赋值 pFeature.setValue(fc.findField("code"), 1); //保存对象 pFeature.store(); //停止编辑 pWorkspaceEdit.stopEditOperation(); pWorkspaceEdit.stopEditing(true); //刷新地图 mapServer.refreshServerObjects(); webContext.refresh(); } catch (Exception gise) { System.out.print("添加点" + gise.toString() + "\n"); gise.printStackTrace(); } } } 这是添加点的代码 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools; using ESRI.ArcGIS.ADF.Web.UI.WebControls; using ESRI.ArcGIS.ADF.ArcGISServer; using ESRI.ArcGIS.Server; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Display; using System.Collections; using ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer; using ESRI.ArcGIS.Geodatabase; /// <summary> /// AddPointFeature 的摘要说明 /// </summary> public class AddPointFeature : IMapServerToolAction { public AddPointFeature() { // // TODO: 在此处添加构造函数逻辑 // } #region IMapServerToolAction 成员 void IMapServerToolAction.ServerAction(ToolEventArgs args) { //Step1: 取到地图点击画的那个点 ESRI.ArcGIS.ADF.Web.UI.WebControls.Map mapCtrl; mapCtrl = (ESRI.ArcGIS.ADF.Web.UI.WebControls.Map)args.Control; PointEventArgs pea = (PointEventArgs)args; System.Drawing.Point screen_point = pea.ScreenPoint; MapFunctionality mapFunc = (MapFunctionality)mapCtrl.GetFunctionality(0); MapResourceLocal mapResLocal = mapFunc.Resource as MapResourceLocal; IServerContext pSOC; IMapServer pMapServer; IMap pMap; pSOC = mapResLocal.ServerContextInfo.ServerContext; pMapServer = pSOC.ServerObject as IMapServer; IMapServerObjects pMapServerObjs = pMapServer as IMapServerObjects; pMap = pMapServerObjs.get_Map(pMapServer.DefaultMapName); ESRI.ArcGIS.ADF.ArcGISServer.MapDescription mapDesp = mapFunc.MapDescription; ESRI.ArcGIS.ADF.Web.Geometry.Point adf_map_point = ESRI.ArcGIS.ADF.Web.Geometry.Point.ToMapPoint(screen_point, mapCtrl.Extent, mapFunc.DisplaySettings.ImageDescriptor.Width, mapFunc.DisplaySettings.ImageDescriptor.Height); PointN ags_map_point = ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.Converter.FromAdfPoint(adf_map_point); //Step2:插入点到Shp文件中去。要打开WS //第一个图层是点,第二个图层是线,第三个图层是面。这里就不判断,主要在于功能的实现 ILayer pLayer = pMap.get_Layer(0); IFeatureLayer pFeatureLyr = pLayer as IFeatureLayer; IFeatureClass pFeatCls = pFeatureLyr.FeatureClass; IDataset pDataset = pFeatCls as IDataset; IWorkspace pWS = pDataset.Workspace; IWorkspaceEdit pWorkspaceEdit = pWS as IWorkspaceEdit; pWorkspaceEdit.StartEditing(false); pWorkspaceEdit.StartEditOperation(); IFeatureBuffer pFeatureBuffer; IFeatureCursor pFeatureCuror; IFeature pFeature; IPoint pPoint; pFeatureBuffer = pFeatCls.CreateFeatureBuffer(); pFeatureCuror = pFeatCls.Insert(true); pFeature = pFeatureBuffer as IFeature; pPoint =(IPoint) pSOC.CreateObject("esriGeometry.Point"); pPoint.X = ags_map_point.X; pPoint.Y = ags_map_point.Y; IGeometry pPointGeo = pPoint as IGeometry; pFeature.Shape = pPointGeo; pFeatureCuror.InsertFeature(pFeatureBuffer); pWorkspaceEdit.StopEditOperation(); pWorkspaceEdit.StopEditing(true); mapCtrl.Refresh(); } #endregion } 添加线的代码 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools; using ESRI.ArcGIS.ADF.Web.UI.WebControls; using ESRI.ArcGIS.ADF.ArcGISServer; using ESRI.ArcGIS.Server; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Display; using System.Collections; using ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer; using ESRI.ArcGIS.Geodatabase; /// <summary> /// AddPolylineFeature 的摘要说明 /// </summary> public class AddPolylineFeature : IMapServerToolAction { public AddPolylineFeature() { // // TODO: 在此处添加构造函数逻辑 // } #region IMapServerToolAction 成员 public void ServerAction(ToolEventArgs args) { //Step1:根据客户端定义的动作,将屏幕坐标点转换成地图坐标点 //并初始化一些常用的参数 ESRI.ArcGIS.ADF.Web.UI.WebControls.Map mapCtrl; mapCtrl = (ESRI.ArcGIS.ADF.Web.UI.WebControls.Map)args.Control; PolylineEventArgs peal = (PolylineEventArgs)args; System.Drawing.Point[] screen_points = peal.Vectors; MapFunctionality mapFunc = (MapFunctionality)mapCtrl.GetFunctionality(0); MapResourceLocal mapResLocal = mapFunc.Resource as MapResourceLocal; ESRI.ArcGIS.ADF.ArcGISServer.MapDescription mapDesc; mapDesc = mapFunc.MapDescription; IServerContext pSOC; IMapServer pMapServer; IMap pMap; pSOC = mapResLocal.ServerContextInfo.ServerContext; pMapServer = pSOC.ServerObject as IMapServer; IMapServerObjects pMapServerObjs = pMapServer as IMapServerObjects; pMap = pMapServerObjs.get_Map(pMapServer.DefaultMapName); IPointCollection pPointColl; pPointColl = (IPointCollection)pSOC.CreateObject("esriGeometry.Polyline"); for (int i = 0; i < screen_points.Length; i++) { IPoint pPoint; ESRI.ArcGIS.ADF.Web.Geometry.Point mappnt = ESRI.ArcGIS.ADF.Web.Geometry.Point.ToMapPoint(screen_points, mapCtrl.Extent, (int)mapCtrl.Width.Value, (int)mapCtrl.Height.Value); pPoint = (IPoint)pSOC.CreateObject("esriGeometry.Point"); pPoint.X = mappnt.X; pPoint.Y = mappnt.Y; object missingVal = System.Reflection.Missing.Value; pPointColl.AddPoint(pPoint, ref missingVal, ref missingVal); } IGeometry pPolylineGeo = pPointColl as IGeometry; //Step2:插入点到Shp文件中去。要打开WS //第一个图层是点(0),第二个图层是线(1),第三个图层是面(2)。这里就不判断,主要在于功能的实现 ILayer pLayer = pMap.get_Layer(1); IFeatureLayer pFeatureLyr = pLayer as IFeatureLayer; IFeatureClass pFeatCls = pFeatureLyr.FeatureClass; IDataset pDataset = pFeatCls as IDataset; IWorkspace pWS = pDataset.Workspace; IWorkspaceEdit pWorkspaceEdit = pWS as IWorkspaceEdit; pWorkspaceEdit.StartEditing(false); pWorkspaceEdit.StartEditOperation(); IFeatureBuffer pFeatureBuffer; IFeatureCursor pFeatureCuror; IFeature pFeature; pFeatureBuffer = pFeatCls.CreateFeatureBuffer(); pFeatureCuror = pFeatCls.Insert(true); pFeature = pFeatureBuffer as IFeature; pFeature.Shape = pPolylineGeo; pFeatureCuror.InsertFeature(pFeatureBuffer); pWorkspaceEdit.StopEditOperation(); pWorkspaceEdit.StopEditing(true); mapCtrl.Refresh(); } #endregion } 编辑面的代码 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools; using ESRI.ArcGIS.ADF.Web.UI.WebControls; using ESRI.ArcGIS.ADF.ArcGISServer; using ESRI.ArcGIS.Server; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Display; using System.Collections; using ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer; using ESRI.ArcGIS.Geodatabase; /// <summary> /// AddPolygonFeature 的摘要说明 /// </summary> public class AddPolygonFeature : IMapServerToolAction { public AddPolygonFeature() { // // TODO: 在此处添加构造函数逻辑 // } #region IMapServerToolAction 成员 public void ServerAction(ToolEventArgs args) { //Step1:根据客户端定义的动作,将屏幕坐标点转换成地图坐标点 //并初始化一些常用的参数 ESRI.ArcGIS.ADF.Web.UI.WebControls.Map mapCtrl; mapCtrl = (ESRI.ArcGIS.ADF.Web.UI.WebControls.Map)args.Control; PolygonEventArgs peag = (PolygonEventArgs)args; System.Drawing.Point[] screen_points = peag.Vectors; MapFunctionality mapFunc = (MapFunctionality)mapCtrl.GetFunctionality(0); MapResourceLocal mapResLocal = mapFunc.Resource as MapResourceLocal; ESRI.ArcGIS.ADF.ArcGISServer.MapDescription mapDesc; mapDesc = mapFunc.MapDescription; IServerContext pSOC; IMapServer pMapServer; IMap pMap; pSOC = mapResLocal.ServerContextInfo.ServerContext; pMapServer = pSOC.ServerObject as IMapServer; IMapServerObjects pMapServerObjs = pMapServer as IMapServerObjects; pMap = pMapServerObjs.get_Map(pMapServer.DefaultMapName); IPointCollection pPointColl; pPointColl = (IPointCollection)pSOC.CreateObject("esriGeometry.Polygon"); for (int i = 0; i < screen_points.Length; i++) { IPoint pPoint; ESRI.ArcGIS.ADF.Web.Geometry.Point mappnt = ESRI.ArcGIS.ADF.Web.Geometry.Point.ToMapPoint(screen_points, mapCtrl.Extent, (int)mapCtrl.Width.Value, (int)mapCtrl.Height.Value); pPoint = (IPoint)pSOC.CreateObject("esriGeometry.Point"); pPoint.X = mappnt.X; pPoint.Y = mappnt.Y; object missingVal = System.Reflection.Missing.Value; pPointColl.AddPoint(pPoint, ref missingVal, ref missingVal); } IGeometry pPolylineGeo = pPointColl as IGeometry; //Step2:插入点到Shp文件中去。要打开WS //第一个图层是点(0),第二个图层是线(1),第三个图层是面(2)。这里就不判断,主要在于功能的实现 ILayer pLayer = pMap.get_Layer(2); IFeatureLayer pFeatureLyr = pLayer as IFeatureLayer; IFeatureClass pFeatCls = pFeatureLyr.FeatureClass; IDataset pDataset = pFeatCls as IDataset; IWorkspace pWS = pDataset.Workspace; IWorkspaceEdit pWorkspaceEdit = pWS as IWorkspaceEdit; pWorkspaceEdit.StartEditing(false); pWorkspaceEdit.StartEditOperation(); IFeatureBuffer pFeatureBuffer; IFeatureCursor pFeatureCuror; IFeature pFeature; pFeatureBuffer = pFeatCls.CreateFeatureBuffer(); pFeatureCuror = pFeatCls.Insert(true); pFeature = pFeatureBuffer as IFeature; pFeature.Shape = pPolylineGeo; pFeatureCuror.InsertFeature(pFeatureBuffer); pWorkspaceEdit.StopEditOperation(); pWorkspaceEdit.StopEditing(true); mapCtrl.Refresh(); } #endregion }
评论
1 楼
niwowl
2011-12-09
Threw an exception while working with the server The DCOM connection to the remote object has been disconnected
//保存对象
pFeature.store();
这句报的错,为什么啊!
//保存对象
pFeature.store();
这句报的错,为什么啊!
发表评论
-
ArcGIS Server 导出地图图片(SOAP)
2011-03-22 17:40 3528package com.esri.arcgis.sampl ... -
ArcGIS Server 集群的问题
2010-12-06 14:49 1756今天在服务器做了一个ArcGIS Server的集群部署加测试 ... -
Server For Flex API在线编辑移动图片符号
2010-11-18 21:57 2023当在点击事件中,用edit工具移动图片(Picture ... -
ArcGIS Server动态读取图层样式(Flex版)
2010-10-26 22:36 5206最近遇到很多人问这类的问题,在ArcGIS10的rest接口已 ... -
Web地图设计模式——ArcGIS Server
2010-06-07 12:54 3121Web地图通常包含底图(提供影像和位置信息)和功能性的专题图层 ... -
Arcgis Server+Asp.net(C#)的唯一值渲染
2010-05-27 23:55 3801#region "唯一值渲染" // ... -
Arcgis server的池化和非池化
2010-05-27 23:52 1982ServerObject的池化和非池 ... -
AO批量处理的经验之谈
2010-02-08 21:37 2384往Personal GDB或SDE GDB中写入要素记录是一件 ... -
任务管理器中arcsom.exe和arcsoc.exe的个数问题
2010-01-22 13:28 1755安装了ArcGIS Server的机器,当打开任务管理器的时候 ... -
ArcGIS空间查询算子
2010-01-20 19:19 25481. Intersect 定义:相交查询算子 ... -
ArcGIS Server的切图原理深入
2009-12-12 11:06 2677GoogleMap,VirtualEarth,YahooMap ... -
关于cache文件格式的选择:png8,png24,png32 or jpeg
2009-11-04 20:56 2498关于如何合理的选择缓存图片的格式: ... -
ArcGIS server 常见问题
2009-05-11 13:13 27336更多问题详见:http://www ... -
Attachment support is disabled解决方案
2009-03-08 21:47 6415Unable to find required classes ... -
Ajax Integration and Support in the ArcGIS Java We
2009-03-08 21:34 1994http://edndoc.esri.com/arcobjec ... -
Server Java开发--Born for SOA系列 整理中。。。
2009-02-16 10:36 2079Server Java开发--Born for SOA系列 前 ... -
空间查询及属性文本查询的代码
2009-02-10 13:05 4999package com.esri.adf.web; ... -
ArcGIS Server 专题图的实现
2009-02-09 14:48 7155测试完毕.地图服务是用ArcGis自带的USA.mxd.还留有 ... -
Server Java讲座--动态添加图层数据
2009-02-05 11:46 2309有的时候,特别是在做分析时,需要经常添加新的图层到当前的地图中 ... -
Server Java讲座---使用图片和TrueType字体进行标注
2009-02-05 11:41 1665直奔主题吧,接上个主题的讲座的内容,讲讲如何用图片进行标注。在 ...
相关推荐
基于ArcGIS Python的Shapefile批量合并方法实现与工具设计
基于ArcGIS Python的Shapefile批量合并方法实现与工具设计.pdf
基于ArcGISServer平台的WEBGIS应用研究
arcgis server 10 许可授权文件,安装arcgis server 授权 导入 ecp
详细的解读了ArcGIS中shapefile格式的文件,配有截图,方便查阅
arcgis server 10.3 许可文件,拿出来和大家一起分享。
ArcGIS Server10.4.1破解文件。开发者使用ArcGIS Server可以构建Web应用、Web服务、以及其它运行在标准的.NET和J2EE Web服务器上的企业应用,如EJB。ArcGIS Server也可以通过桌面应用以C/S(Client/Server)的模式...
双击本授权文件 即可完成对ArcGIS Server10.0的授权
进行arcgis server 10.5 安装所需授权文件,对arcgis server功能进行授权
ArcGIS Server 10.4 破解文件,亲测已经破解成功!如果有疑问或者不可用的,可以发信息给我。我会更新的。
昨天上传的arcgis server 10.2种子的分数设置得有点高了,所以弄到的许可文件免费送给大家,别忘记下载后评价一下啊
C#读写arcgis的Shapefile文件
ArcGis Server10.2 授权文件,已测试并已应用,放心使用
arcgis server 10.4许可文件.ecp GIS的底图一直使用金字塔技术进行切图,使用户能够快速访问指定级别的地图或者影像。但是切图本身是一张图片,无法进行交互。于是又引入了矢量图层用来显示矢量点线面,这通常需要先...
Visual Studio 2010 + ArcGIS Engine 9.3实现新建shapefile文件
arcgis server 10.4许可文件,亲测可以使用
arcgis server 10.5 的安装包和授权文件,进行arcgis 地图服务的发布
基于ArcGIS Object10.0,在.NET3.5平台上开发了批量提取CAD文件中的指定图层数据,并转换为Shapefile文件,可以在地理信息与测绘工程制图领域使用。
ArcGIS Server 10.1 授权文件 破解文件,可直接使用,没问题,已亲自测试并安装。 ArcGIS Server 10.1 授权文件 破解文件,可直接使用,没问题,已亲自测试并安装。
随着测绘信息化、计算机和互联网技术的不断发展,地理信息数据共享成为一个迫切需要解决的问题。文中采用目前主流的Microsoft Visual Studio2013系列开发工具,以SOA...结合生产实际,实现了地理信息资源的共享和管理。