ArcGIS Server常见问题.docx

上传人:b****5 文档编号:8787815 上传时间:2023-05-15 格式:DOCX 页数:20 大小:28.25KB
下载 相关 举报
ArcGIS Server常见问题.docx_第1页
第1页 / 共20页
ArcGIS Server常见问题.docx_第2页
第2页 / 共20页
ArcGIS Server常见问题.docx_第3页
第3页 / 共20页
ArcGIS Server常见问题.docx_第4页
第4页 / 共20页
ArcGIS Server常见问题.docx_第5页
第5页 / 共20页
ArcGIS Server常见问题.docx_第6页
第6页 / 共20页
ArcGIS Server常见问题.docx_第7页
第7页 / 共20页
ArcGIS Server常见问题.docx_第8页
第8页 / 共20页
ArcGIS Server常见问题.docx_第9页
第9页 / 共20页
ArcGIS Server常见问题.docx_第10页
第10页 / 共20页
ArcGIS Server常见问题.docx_第11页
第11页 / 共20页
ArcGIS Server常见问题.docx_第12页
第12页 / 共20页
ArcGIS Server常见问题.docx_第13页
第13页 / 共20页
ArcGIS Server常见问题.docx_第14页
第14页 / 共20页
ArcGIS Server常见问题.docx_第15页
第15页 / 共20页
ArcGIS Server常见问题.docx_第16页
第16页 / 共20页
ArcGIS Server常见问题.docx_第17页
第17页 / 共20页
ArcGIS Server常见问题.docx_第18页
第18页 / 共20页
ArcGIS Server常见问题.docx_第19页
第19页 / 共20页
ArcGIS Server常见问题.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

ArcGIS Server常见问题.docx

《ArcGIS Server常见问题.docx》由会员分享,可在线阅读,更多相关《ArcGIS Server常见问题.docx(20页珍藏版)》请在冰点文库上搜索。

ArcGIS Server常见问题.docx

ArcGISServer常见问题

ArcGISServer常见问题之一

摘自ESRI网站,有些内容是有限制的,要会员才能看到。

目前关于ArcGISServer开发的资料非常少,就这么一点文档,还要限制,不能让大家共享,实在是罪过。

现在我贴出来,希望这些资料对一起学习AGS的朋友有所帮助。

错误描述

在ArcCatalog中,当成功的创建了serverobject之后,serverobject不能被预览。

ArcCatalog显示下面的错误信息:

“你的选择不能在当前视图中显示.”

导致原因

server属性中被指定的输出值和http位置可能不正确。

解决办法

所有的创建的ArcGISServerObjects需要被停止。

1在ArcCatalog中,右击已经添加的ArcGISServer,并选择Server属性。

2在目录页中,选中已经添加的输出目录并点击编辑。

3输出目录字段应该指向一个有效的目录,比如C:

\ArcGIS\Output。

如果一个虚拟目录已经被指定,确认它是有效的,并且看上去和下面的格式一样,

http:

///output

4如果有错请更改,然后重新创建serverobject来确认更改是否有效。

 

 

错误描述

当在VisualStudio.NET2003上使用ArcGISServer.NET的ADF模板创建一个项目时,返回如下错误信息:

“在服务器<主机名>上的Web站点不可用(WebSiteonserverisnotavailable)”

导致原因

该模板包含了调用'http:

//localhost'这一URL的属性。

如果在IIS中禁用了本地主机的服务,则显示该错误信息。

禁用本地服务可能是因为你的Web站点已经为其指定了一个IP地址或者是因为安全方面的考虑。

解决办法

启用对http:

//localhost的访问决定于您安装的是哪种类型的操作系统,是服务器还是非服务器。

对于非服务器的操作系统:

1.点击Internet信息服务控制台,右键选择默认站点的属性,打开属性对话框,并选择网站标签页。

2.修改IP地址栏为"(全部未分配)"。

3.重启IIS。

在IE浏览器中浏览刚刚启用的http:

//localhost服务,在VisualStudio.NET2003中用模板创建项目,现在应该是成功的了。

对于WindowsServer操作系统:

1.在Internet信息服务控制台上创建一个新的Web站点。

2.为其分配IP地址:

127.0.0.1。

意味着只能在本地计算机上启用该站点。

3.浏览Web站点的根目录,比如C:

\Inetput\wwwroot。

此时在VisualStudio.NET2003中用模板创建项目应该没有问题。

 

错误描述

当启动一个服务对象时,出现下述错误信息:

“在机器XXX上创建Server环境(Context)失败。

拒绝访问output文件夹。

导致原因

ArcGISServerObjectContainer的帐号必须拥有虚拟文件夹的写权限。

例如虚拟文件夹为:

c:

\inetpub\wwwroot\temp

解决办法

执行如下步骤:

右键点击虚拟文件夹如:

c:

\inetpub\wwwroot\temp

1.选择属性->安全标签页.

2.添加帐号并赋予写权限,使其可以读写图片.

3.点击OK,关闭属性对话框.

 

错误描述

使用下面的代码,来进行使用字体中的符号进行点要素渲染的时候,会出现地图消失的问题。

下面的代码是用来生成需要在渲染过程中使用的点符号的,使用的是宋体中index为21的字作为符号。

privatestaticICharacterMarkerSymbol

GetMarkerSymbol(IServerContextpServerContext,PowerNet.GISCommon.SymbolClasspSymbolClass)

{

System.Drawing.FontdrawFont=new

System.Drawing.Font("宋体",21);

ICharacterMarkerSymbolcharMarker=

pServerContext.CreateObject("esriDisplay.CharacterMarkerSymbol")as

ICharacterMarkerSymbol;

charMarker.Font=(stdole.IFontDisp)

OLE.GetIFontDispFromFont(drawFont);

charMarker.CharacterIndex=pSymbolClass.CharacterIndex;

IRgbColorpRGB=pServerContext.CreateObject("esriDisplay.RgbColor")asIRgbColor;

pRGB.Red=pSymbolClass.SymbolColorR;

pRGB.Green=pSymbolClass.SymbolColorG;

pRGB.Blue=pSymbolClass.SymbolColorB;

charMarker.Color=pRGBasIColor;

charMarker.Size=pSymbolClass.SymbolSize;

returncharMarker;

}

导致原因

使用ArcGISEngine进行开发时,对于点要素类,是可以使用指定字体中的符号作为渲染的符号的,但是在arcgisserver的应用中来实现这个过程,就稍微有点不同,导致的原因还是本地对象和远程对象进行了混用?

对于ao对象,可能大家都已经有这个概念,就是一般不在本地创建对象,但是对于其它的对象,比如.net中的对象,可能就没有太注意了,所以才导致了这个问题的出现。

解决办法

这个问题的解决办法是这样的,为了避免在程序中使用下面这句代码:

System.Drawing.FontdrawFont=new

System.Drawing.Font(pSymbolClass.FontSymbolName,21);

可以采用先在*.Style文件中把符号都配好,然后转成*.ServerStyle文件,然后使用下面的代码得到相应的符号:

privateIMarkerSymbolcreateSymbol(IServerContextpServerContext,stringindex)

{

IStyleGallerypSGallery=pServerContext.CreateObject("esriDisplay.ServerStyleGallery")asIStyleGallery;

IStyleGalleryStoragepSGStorage=pSGalleryasIStyleGalleryStorage;

pSGStorage.TargetFile=@"D:

\xjw.ServerStyle";

pSGStorage.AddFile(@"D:

\xjw.ServerStyle");

IEnumStyleGalleryItempEnumGItem=pSGallery.get_Items("MarkerSymbols",@"D:

\xjw.ServerStyle",index);

pEnumGItem.Reset();

IStyleGalleryItempSGItem=pEnumGItem.Next();

IMarkerSymbolpMSymbol=pSGItem.ItemasIMarkerSymbol;

IRgbColorpRGB=pServerContext.CreateObject("esriDisplay.RgbColor")asIRgbColor;

pRGB.Red=255;

pRGB.Green=0;

pRGB.Blue=0;

pMSymbol.Color=pRGB;

pMSymbol.Size=18;

pEnumGItem=null;

pSGItem=null;

returnpMSymbol;

}

 

错误描述

这个错误可能发生在.net中的ArcGISPrimaryInteropAssemblies(PIA)。

在错误信息中的CLSID可能会变化:

"COMobjectwithCLSID{XXXX}iseithernotvalidornotregistered"

导致原因

在ArcGIS安装中选择安装.NET的支持,PIAs就会为所有的ArcGIS库而安装上。

当在尝试使用一个对象库的PIA时,而这个对象库根本就没有安装时,错误就会发生,因为Com对象不能被初始化。

例如,3DAnalyst扩展模块没有被安装,而尝试使用ESRI.ArcGIS.Analyst3D命名空间中的对象,使用如下代码:

ESRI.ArcGIS.Analyst3D.IAnimationTrackaTrack=newESRI.ArcGIS.Analyst3D.AnimationTrackClass();

一个错误就会发生:

"Errornumber-2147221164:

COMobjectwithCLSID{4FEDC9CB-A7BE-11D5-B2A0-00508BCDDE28}iseithernotvalidornotregistered."

解决办法

编程只能使用安装了的对象库。

为了开发使用一个特殊的库,那就需要重新安装ArcGIS产品,确保所需的扩展模块都被安装,以及所有的.NET的支持选项。

额外的许可会被需要。

1识别使用的对象,以及这些对象所属的命名空间。

2识别命名空间所属的产品。

例如,为了使用ESRI.ArcGIS.Analyst3D命名空间中的对象,在开发帮助中浏览库总体说明那一页。

会有注解说明这个命名空间是有ArcGISEngine产品的3D扩展模块,ArcGISdesktop3D扩展模块,以及ArcGISServer的3D扩展模块支持。

3重新安装产品,确保所需的扩展模块得到安装,且保证.Net支持选项被选中。

 

错误描述

当使用ArcGIS开发者控件开发应用程序、控件拖放于窗体上的时候,出现以下错误信息:

"该控件需要一个ESRIDesigner许可。

请从工程中移除该控件。

"

导致原因

出现这个信息是因为ArcGISEngineDeveloperKit这个产品未在机器上安装并授权。

ArcGISDesktop安装了以下控件:

-MapControl

-PageLayoutControl

-GlobeControl

-ReaderControl

-SceneControl

-TOCControl

-ToolbarControl

ArcGISDesktop许可仅允许使用MapControl和PageLayoutControl进行开发或设计应用程序。

剩下的其它控件许可给ArcGISEngine,并仅能在ArcGISEngineDeveloperKit已安装并授权时用于开发。

解决办法

购买ArcGISEngineDeveloperKit产品,并在机器上授权以下任意控件:

-GlobeControl

-ReaderControl

-SceneControl

-TOCControl

-ToolbarControl

有关如何使用这些控件的详细信息,以及哪些控件需要对应哪些许可,请参考ArcGISDeveloperHelp。

例如,'TOCControlCoClass'帮助主题提到,该控件只在有ArcGISEngine产品时才可用。

 

错误描述

安装出错1935

当安装ArcGISServer,ArcGISDesktop,includingArcView,ArcEditor,ArcInfo;orArcIMS,都可能发生如下错误:

"Error1935:

Anerroroccuredduringtheinstallationofassemblycomponent{303994BA-6487-47AE-AF1D-7AF6088EEBDB}.HRESULT:

-2147024894."

之后点击'OK'安装回滚退出.

导致原因

导致原因

这个错误发生在系统安装(MicrosoftXMLParser4)更新.这现同样的错误信息将发生在试图安装(MicrosoftXMLParser4.0)的时候;这也可能修改,但是经常会因为其他产品的安装而影响系统文件破坏。

解决办法

步骤:

1.尽可能停止一些后台程序,例如adware或spyware.有可能也停止Adwatch,在机器上删除所有的adware.;

2.尽可能停止一些Windows服务,控制面板>管理员工具>服务;

3.检查InternetExplorer6.0的安装.检验Microsoftservice安装包和安装更新;

4.在安装产品前请先安装MicrosoftXML4.0SP2,这有可能下载其相关联的一部分;

5.接着安装ESRI软件产品在第4步安装成功;

 

错误描述

在操作系统是WindowsXPSP2、CPU为AMDAthlon64系列或Pentium4和Celeron-D的机器上安装ArcGIS9.0时,出现1904错误,系统无法注册一些dll文件。

导致原因

在WindowsXPSP2中,DEP(数据执行保护)选项默认情况下是打开的,AMD和Intel新的CUP系列中包含这个选项。

数据执行保护是一套硬件和软件技术用于执行对内存的额外检查,以保护电脑遭受恶意代码的破坏。

解决办法

方法一:

移除WindowsXP的SP2,然后安装ArcGIS9.0。

方法二:

关闭DEP(数据执行保护),安装ArcGIS9.0,安装完再激活数据执行保护。

具体如下:

1.以管理员权限登陆WindowsXP。

2.鼠标邮件点击“我的电脑”,选择“属性”菜单

3.点击“高级”页。

4.选择“启动与恢复”下的“设置”按钮。

5.选择默认操作系统,如下:

"MicrosoftWindowsXPProfessional"/fastdetect/NoExecute=OptIn

6.点击“编辑”按钮打开boot.ini文件,将其中的“”/NoExecute=OptIn”改为“/NoExecute=AlwaysOff”。

7.保存文件,重新启动计算机。

8.安装ArcGIS,此时应该就不会出现1904错误了

9.安装完ArcGIS以后,将boot.ini文件设置改回来,以重新激活数据执行保护的安全选项。

 

ArcGISServer常见问题之二

内容摘要

本指导描述了如何配置WindowsXPSP2防火墙,使得ArcGISServer能正常工作。

为了完成下面的过程,必须安装WindowsXPServicePack2,下面的步骤需要为ArcGISServer配置Windows

防火墙。

过程描述

当升级的WindowsXPSP2,将安装Windows防火墙。

其缺省的设置使得Windows阻止所有从ArcGISServer的连接。

解决这个问题,需要在Windows防火墙设置中打开80端口,135端口,ArcSOM.exe和ArcSOC.exe。

1、启动Windows防火墙。

开始>设置>控制面板>Windows防火墙。

缺省情况下,防火墙是启用的,这是推荐的设置。

2、点击“例外”选项卡。

3、点击“添加端口”。

4、添加下面的信息:

名称:

WebPort(http)

端口号:

80

类型:

TCP

点击“确定”。

5、添加135端口,点击“添加端口”。

6、添加下面的信息:

名称:

DCOM(ArcGISServer)

端口号:

135

类型:

TCP

点击“确定”。

7、点击“添加程序”将ArcSOM.exe添加到例外。

8、点击“浏览”,并浏览到:

\bin\ArcSOM.exe,例如

C:

\ProgramFiles\ArcGIS\bin\ArcSOM.exe

点击“确定”。

9、点击“添加程序”将ArcSOC.exe添加到例外。

10、点击“浏览”,并浏览到:

\bin\ArcSOC.exe,例如

C:

\ProgramFiles\ArcGIS\bin\ArcSOC.exe

点击“确定”。

11、这些端口和程序入口现在将显示在程序和服务列表中。

确保其之前的Check框被选中。

12、关闭Windows防火墙。

 

内容摘要

我们使用ArcGISServer.netADF来开发应用程序的时候,使用MapWebControl的话,一般都是通过设置控件的属性来设定Host以及MapServerObject。

那如何在程序运行过程中来动态的改变这些属性,以使得地图的内容发生相应的变化。

下面是c#的代码:

过程描述

'Map1是地图控件

Map1.Host="ServerName";

Map1.ServerObject="ServerObjectName";

WebMapwebMap=Map1.CreateWebMap();

IMapServermapServer=webMap.MapServer;

IMapServerObjectsmapServerObjects=mapServerasIMapServerObjects;

mapServerObjects.RefreshServerObjects();

webMap.Refresh();

内容摘要

提供的指导描述了如何创建一个简单的ArcGISServerASP.NET网页。

为了诊断,尽可能使用最小的应用,这样有助于测试ArcGISServer和.NET应用开发框架(ADF)是否配置适当且工作正常。

过程描述

在运行这个例子前,在网络服务器上必须安装好.NETADF,ArcGISServer已经安装并正常运行,达到所有的系统要求。

1.创建一个ASP.NET应用目录。

可以按照下面步骤创建:

A.在您的目录:

\inetpub\wwwroot下创建一个目录。

B.使用IIS管理器查看新建的目录的属性。

C.在目录标签上,单击创建按钮,创建一个ASP.NET应用。

2.把下面的代码复制到文本编辑器中,存为*.aspx文件。

然后对它做如下编辑:

A.把esri:

map标签中的Host属性改为运行着ArcGISServerSOM(ServerObjectManager)的机器。

B.把ServerObject改为一个运行着的MapServer服务器对象。

记住服务器对象的名称区分大小写。

'World'和'world'不一样。

<%@RegisterTagPrefix="esri"Namespace="ESRI.ArcGIS.Server.WebControls"

Assembly="ESRI.ArcGIS.Server.WebControls,Version=9.0.0.2,Culture=neutral,PublicKeyToken=8fc3cc631e44ad86"%>

mapid="TheMap"UseMIMEData="True"Width="400px"Height="400px"

style="LEFT:

200px;POSITION:

relative;TOP:

30px"runat="server"

BorderStyle="Solid"BorderColor="200,170,35"BorderWidth="10px"

ServerObject="PoliticalEarthquakes"Host="tao"AutoFirstDraw="True">

map>

3.在ASP.NET应用目录下创建一个web.config文件。

下面显示了一个web.config文件的例子。

使用ArcGISServer机器上的agsusers组中的帐户配置这个文件。

把用户名和密码用明文写在web.config文件中,可能不是存储这个信息的安全方法。

微软提供了加密机制。

这个例子只是用来诊断的。

xmlversion="1.0"encoding="utf-8"?

>

--Sessionstatemustbeenabledforthemapcontrol-->

4.在浏览器中输入http:

//servername/virtualdirectory/myapp.aspx来测试这个应用程序。

如果ArcGISServer已经安装,.NETADF工作正常,那么将显示一幅地图。

5.完成测试后,删除目录中的文件,-特别是包含明文密码的web.config文件。

 

内容摘要

虽然说ArcGISServer的开发技术当中最重要的技术是ArcOBjects。

但是和在C/S模式下使用的ArcObjects还是会有一些差别,一个很重要的区别就是不能使用New方法来创建ArcObjects。

过程描述

1web应用调用的是远程的Ao组件,这些Ao对象都运行在服务器ArcSoc.exe进程中,由服务器上下文(servercontext)统一来创建(IServerContext:

:

CreateObject),并服务器上下文来统一的管理和操作,比如Ao对象之间的交互,释放等。

2ArcGISServer是一个可分布式部署的软件,GISServer和Web应用可以部署在不同的机子上,而web应用的机子上只需要安装ADF运行包,只有ArcObjects的代理,不安装ArcObjects本身,因此web应用没有能力来创建本地的ArcObjects对象,这也是不能使用New方式来创建ArcObjects的原因。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2