當前位置:首頁 » 網頁前端 » 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