当前位置:首页 » 网页前端 » webadfarcgis
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

webadfarcgis

发布时间: 2022-05-26 01:48:35

A. arcgis 10.2 是否支持Web adf .Net 开发

不支持,自从10.0开始以后就不再支持web ADF.Net 开发了。一般都是9.3版本的在用ADF

B. 在Arcgis Server 10 安装时,Web ADF Runtime 无法安装Microsoft Internet Information Services

这句话的意思是你的IIS没开,你可以网络一下开下IIS服务,就ok了

C. ARC GIS SERVER 二次开发,地图定位后标记问题,哥,来教教我吧!!

1、定义一个符号(图片符号)
2、在临时图层上画这个符号(需要点坐标,符号)

D. 如何利用ArcServer实现地图查询

首先引入相应的命名空间:
using ESRI.ArcGIS.ADF;
using ESRI.ArcGIS.ADF.Connection;
using ESRI.ArcGIS.ADF.Connection.AGS;
using ESRI.ArcGIS.Server;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Geodatabase;
1.指定连接用的用户。
ESRI.ArcGIS.ADF.Identity id = new ESRI.ArcGIS.ADF.Identity();
id.UserName = "Administrator";
id.Password = "password";
id.Domain = "服务器的计算机名字";
string agsServerName = "服务器的IP地址";
2.连接到服务器。
要通过程序来连接到GISServer,主要有两个对象可以使用:ESRI.ArcGIS.Server.GISServerConnection(实现了IGISServerConnection2接口)和ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection。前者是com对象,后者是原生的.net对象。
先来看ESRI.ArcGIS.Server.GISServerConnection。使用方法如下:
ESRI.ArcGIS.Server.IGISServerConnection2 pGISSC = new ESRI.ArcGIS.Server.GISServerConnectionClass();
pGISSC.Connect("yourservername");
ESRI.ArcGIS.Server.IServerObjectAdmin pAdm = pGISSC.ServerObjectAdmin;
注意,要成功获得pGISSC.ServerObjectAdmin属性得有一个前提条件,就是运行当前AGS程序的用户必须是agsadmin组里的成员。那么接下来就可以通过IServerObjectAdmin来对GISServer进行管理了;如果运行当前AGS程序的用户只是agsuser组里的成员,那么你只能获得ServerObjectManager,从而通过IServerObjectManager来创建AO对象,但是不能对GISServer进行管理;如果运行当前AGS程序的用户既不是agsuser成员也不是agsadmin成员,那么在connect的时候就会报错了。可以看出ESRI.ArcGIS.Server.GISServerConnection对象不能显式指定连接GIS Server的用户。
下面再来看ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection。这是ADF中的.net对象,通常推荐使用这个对象来进行连接工作,因为它可以指定使用特定的账户身份来连接GIS Server,就是下面的Identity:
ESRI.ArcGIS.ADF.Identity identity = new ESRI.ArcGIS.ADF.Identity("username", "password", "domain");
ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection agsconnection = newESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection("yourgisservername",identity);
agsconnection.Connect();
ESRI.ArcGIS.Server.IServerObjectAdmin pAdm = agsconnection.ServerObjectAdmin;
同样的,要成功获得pAdm,Identity中指定的用户必须是agsadmin成员。如果你的网站,在调试时可以运行,而发布后“拒绝访问”,那么首先检查web.config的identity,如果使用了以上代码,请确保使用的user在正确的用户组中。
这里我就采用第一种方法,如下:
AGSServerConnection agsConn = new AGSServerConnection(agsServerName, id);
try
{
agsConn.Connect();
if (!agsConn.IsConnected)
{
agsConn.Dispose();
return "";
}
}
catch (Exception ex)
{
return "";
}
3.获取SOM对象。
IServerObjectManager som = agsConn.ServerObjectManager;
4.设置对应的地图名字和服务类型,获取上下文(IServerContext)
要获取当前的severContext。而获取IServerContext有两种方法:
1)、通过当前Resorces得到
UIComponent form = facesContext.getViewRoot().findComponent((String)paramMap.get("formId"));
if (form == null)
{
return;
}
MapControl mapControl = (MapControl)form.findComponent((String)paramMap.get("mapId"));
if (mapControl == null)
{
return;
}
WebMap webMap = mapControl.getWebMap();
WebContext webContext = webMap.getWebContext();
// 得到当前服务的IServerContext
AGSLocalMapResource mapResource = (AGSLocalMapResource)webContext.getResources().get("ags1");
MapServer mapServer = mapResource.getLocalMapServer();
IServerContext serverContext =mapResource.getServerContext();
2)、通过IP链接得到(也就是我要用的方法)
IServerObjectManager som = agsConn.ServerObjectManager;
string servertype = "MapServer";
string serverobjectname = "GZ"; //对应的地图名
IServerContext severContext = som.CreateServerContext(serverobjectname, servertype);
IMapServer pMapServer = severContext.ServerObject as IMapServer;
IMapServerObjects pMapServerObjs = pMapServer as IMapServerObjects;
IMap pMap =pMapServerObjs.get_Map(pMapServer.DefaultMapName);
5.获取IMapServerObjects
IMapServer pMapServer = severContext.ServerObject as IMapServer;
IMapServerObjects pMapServerObjs = pMapServer as IMapServerObjects;
6.通过IMapServerObjects获取IMap对象
IMap pMap = pMapServerObjs.get_Map(pMapServer.DefaultMapName);
7.获取要查询的图层和属性
//得到查询的图层
ILayer workAreaLayer = pMap.get_Layer(7);
IFeatureLayer loopFeatureLayer = (FeatureLayer)(workAreaLayer);
IFeatureClass loopFeatureClass =loopFeatureLayer.FeatureClass;
8.设置查询用的Filter
ISpatialFilter spatialFilter = (ISpatialFilter)severContext.CreateObject("esriGeoDatabase.SpatialFilter");
string shpFld = loopFeatureClass.ShapeFieldName;
spatialFilter.GeometryField = shpFld;
//指定要使用的空间操作
spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects;
//创建where表达式,这里只要要素
spatialFilter.WhereClause = "图号='" + no + "'";
IQueryFilter queryFilter=new QueryFilterClass();
queryFilter = (IQueryFilter)spatialFilter;
9.调用Search查询
IFeatureCursor featureCursor = loopFeatureClass.Search(queryFilter, false);
//第一个返回的要素
IFeature feature = featureCursor.NextFeature();
10.处理结果
IGeometry geo = feature.Shape;
string box = geo.Envelope.XMin.ToString() + "," + geo.Envelope.YMin.ToString();
box += "," + geo.Envelope.XMax.ToString() + "," + geo.Envelope.YMax.ToString();
这个Shape是查询结果中第一个地物的外接矩形,大家可以根据自己的业务使用。这里我是要使用Shape的左下和右上两个坐标点,拼接到WMS中去。

E. C#项目中找不到ESRI.ArcGIS.ADF.Web.UI.WebControls的dll文件,是需要安装什么软件吗

你可以找另一台的电脑上去复制下这个缺失的文件,看看能否解决问题
或者你可以尝试使用腾讯电脑管家来修复缺失DLL文件
具体方法是,打开腾讯电脑管家--电脑诊所--软件问题--丢失.Dll 文件--一键修复--完成
如果还是解决不了,去脚本之家下一个文件直接复制进去就能搞定了
如果找不到,还可以下载一个dx修复工具3.0增强版,去修复一下

F. 用arcgis server10.0和visual studio 2010开发一个web应用程序出现的错误

点击项目中引用——添加引用——“ESRI.ArcGIS.ADF.Web.DataSources

G. arcgis server for java adf 怎么样配置环境

世界上有300种Java的framework,这个数字是我几个月前听到的,现在可能已经不止这个数了。我曾经用过的framework包括Structs,Hibernate,Spring。这些framework不但能加速开发,而且会带来全新的程序设计理念。我当时的感觉是:原来程序还可以这样写!当然,这些framework都是开源免费,你不用担心自己的良心受到谴责,也不用担心比尔盖茨半夜敲门收钱。在这300多种framework中,ESRI为什么选择了JSF?各个framework有各个framework的好处。JSF最大的优点就是:像Swing和AWT一样,JSF是一个可以提供一组标准的、可重用的GUI组件的开发框架。原因之一:行为与表示的完全分离。行为和表现不分离的一个典型例子是普通的JSP技术,这一技术很好,因为很容易在HTML(和类HTML)页面中混合Java代码。这样我们就可以使用强大的JavaAPI的功能。当然,很明显的坏处是行为表现黏合在一起。而且代码不容易重用。这让我想起刚使用JSP技术时,在文本编辑器下写JSP页面,读写数据库,并且在同一个页面上显示出来的痛苦回忆。Model1架构的出现使开发人员可以用javabean的方式进行开发,舒服多了。当然,还有更好的。这就不得不提到着名的MVC结构,(MVC)model-view-controller架构提供了一系列的设计模式,这些模式让你可以轻松地应用于程序地开发,特别是有界面程序的开发。现在又有多少的程序是没有界面的呢?Model包装了商业逻辑,也包含了数据持久的代码,包括存取数据库或者存取文件。Model最好不要跟View有任何关系,它最好不要知道谁将显示结果,是一个Swing界面,还是JSF界面,还是普通的JSP界面。为了做到这一点,事先的规划要花一些时间,但是相信我,这些花的时间带来的价值将超过你的想象。如果设计得当,许多用ArcGISEngine开发的代码可以轻松在Server中使用,不需要修改任何代码。.net也是一样。View只用来显示显示逻辑,不能有任何商务逻辑。controller是view和model的桥梁,它和model进行交互,并且把结果显示在Model中。显示页面的选择也由controller进行选择。我会在后面的讲座中详细解释JSF中的Controller的实现。Structs,Spring都实现了MVC的架构。但是它们都没有像JSF这样,提供一个事件驱动的组件对象模型。大家可以想一想,一个平常在HTML中使用的标签,,在JSF框架中变成了一个组件,这个组件还可以有事件,而且可以对这个事件可以进行编程。这是多么得激动人心啊!GIS程序需要和用户进行良好地交互,选择一个事件驱动的framework,可以更加容易编程和实现。这是ESRI选择JSF的重要原因之一

H. arcgis server 10.2里面没有web adf

呵呵。。。奥特了吧,web adf 是在10.1为最后支持了,从10.2起就不提供支持web adf了,就跟对待当初的ArcIMS一样。所以说你要想继续用web adf,就只能最高装到10.1.Good luck~

I. "/ArcGIS/rest"应用程序中的服务器错误.

把wwwroot设置为可写
希望能解决您的问题。

J. arcgis server for .Netframe work-Web ADF在arcgis for server10.2里对应的是哪个

圆的直径shi6