ArcGIS Engine 如何操纵Server

合集下载

ArcGIS_Server入门(一)——发布服务MapService

ArcGIS_Server入门(一)——发布服务MapService

ArcGIS Server入门(一)——发布服务MapService1. 安装软件及配置包括ArcGIS Server,ArcGIS Desktop,具体过程按照官方提供的在线帮助进行。

大体上没什么问题。

需要注意的主要有以下问题:•Lincense。

可以按照网上提供的资料,先安装L Manager,再替换service.txt中的内容。

•另外,ArcMap 10有一个Bug,即file菜单无反应或有一段时间假死,应安装补丁SP1或SP2。

2. 发布服务一般来说,有三种发布方式:(1)在ArcMap中发布(推荐):在ArcMap中加载数据:右击空工具栏空白处,加载Map service publishing工具。

发布服务有两个步骤:1. 点击Anayze,分析错误与警告将所有的错误都解决掉,就可以发布服务了。

2. 点击Publish to server按钮发布地图服务。

选择服务器,服务名称等:选择要发布的地图服务类型,其中,第一个Mapping是必选格式,其它可以自主选择。

此处需要注意的是,有时候可能发布的数据并不支持所选的格式,就会出现问题。

发布完成后可以点击按钮预览。

我们可以以ArcCatalog中查看发布好服务,具体方法看下一节。

(2)在ArcCatalog中发布1.首先要在ArcMap中加载数据,操作完成后保存.mxd文件2.打开ArcCatalog,在folder中打开所在的路径。

右键发布服务。

选择服务器,服务名称等:选择要发布的地图服务类型在ArcCatalog中查看与预览发布的服务:在ArcCatalog中添加GIS Server,将本地的我们的ArcGIS服务器添加上来:在下一步中,选择Local,只需要填上机器名,就可以将本地的Server 添加进来。

(相信只要ArcGIS Server安装与Post Install都完成后,这一步应该不会有问题)完成之后在GIS Server的目录中就可以看到本地的服务器了:点开后,就可以看到我们发布的服务:还可以在右边的窗口中预览:当然了,用它方式发布的服务也可以通过这种方式查看与预览。

ARCGISSERVER配置

ARCGISSERVER配置

ArcGIS Server10.2安装一、操作系统需求1.操作系统必须是64位2.安装Python2.7(64位)二、硬件需求对于部署环境,最小内存须4GB。

三、软件准备四、安装步骤1.安装ArcGIS Server解压光盘映像文件并点击ESRI.exe文件运行可以看见下面的界面,选择安装ArcGIS for Server,点击ArcGIS for Server后面的的Setup。

在弹出的窗口中点击next。

勾选I accept the license agreement点击Change可以修改安装路径,点击next继续点击Browse可以选择Python的安装目录,选择好后点击Next继续创建server账户和密码,设置完毕后点击Next继续如果有之前安装时候创建的账户配置文件,可以勾选下面的那个选项。

提示是否导出账号信息。

如无需要,可以选择不导出。

点击Next继续点击Install即可开始安装耐心等待安装结束点击Finish完成安装2.授权选择相应的授权方式进行授权选择安装目录下的KeyGen.exe文件,打开,选择server标签,Feature处选择arcgisserver,Version处选择102(如果不在列表中,手动输入),表示版本为10.2,点击All生成license 文件,将生成的内容,复制,新建一个.txt文本,将其粘贴进去,另存为.ecp文件,在上一步浏览按钮打开后,查找到该ecp文件,即可实现注册。

(注:该处为ESRI厂家提供测试使用,如果正式使用,需由厂家提供相应的注册文件)选择第三项,我已收到来自ESRI的授权文件,并且准备好完成授权过程。

点击浏览按钮,选择生成的.ecp文件,点击进入下一步;点击下一步,完成安装;3.创建站点打开ArcGIS Server Manager填写在安装过程中配置的用户名密码,进入下一步配置更服务器目录和存储位置,要确保有足够的空间,可以默认点击下一步完成配置;使用配置好的用户名密码进行登陆;登陆后的界面如下:。

ArcGIS_Server开发环境搭建以与服务发布

ArcGIS_Server开发环境搭建以与服务发布

前言本文档主要介绍ArcGIS Desktop,ArcGIS for Server的安装配置,GIS效劳的发布以与如何进展地图切片。

使用的ArcGIS软件版本为10.1。

一、 ArcGIS Desktop 安装运行安装包中的ESRI.exe,点击ArcGIS for Desktop后的Setup,开场安装,之后的过程点击Ok即可。

二、ArcGIS Server安装操作系统需求操作系统64位安装ArcGISServer加载光盘后运行可以看见下面的界面我们选择安装ArcGIS for Server,点击ArcGIS forServer后面的的“Setup〞在弹出的窗口中点击Next勾选I accept the license agreement点击Change可以修改安装路径,点击next继续点击Browse可以选择Python的安装目录,选择好后点击Next继续创立server账户和密码,设置完毕后点击Next继续如果有之前安装时候创立的账户配置文件,可以勾选下面的那个选项。

提示是否导出账号信息。

如无需要,可以选择不导出。

点击Next继续点击Install即可开场安装耐心等待安装完毕点击Finish完成安装选择相应的授权方式进展授权授权完成,点击完成,完毕授权创立站点安装完成后,会自动弹出Manager页面,这里我们选择创立站点。

参加现有站点是用来搭建集群的,以后会介绍。

输入主站点管理员账户点击〞下一步〞。

很多人到这一步会有一个疑问:这个账户和刚刚安装ArcGIS Server步骤中创立的账户有关系吗?分别用来控制什么?首先在上一节中我们创立的ArcGIS Server账户,是为ArcGIS Server创立的操作系统账户〔安装完你可以切换操作系统账户看一下,是不是多了一个ArcGIS Server〕,该账户实际上用来管理ArcGIS Server的操作系统进程〔启动、停止ArcGIS Server效劳〕;而我们此时创立的站点账户,主要是为了管理站点中的各种效劳形式的GIS资源〔各种类型效劳的发布、启动、停止、删除;站点平安;集群管理等等〕。

管理ArcGIS Server两种常见的方法

管理ArcGIS Server两种常见的方法

管理ArcGIS Server两种常见的方法一、常用的发布服务的方式是在catalog中发布,便于管理和查看,但在catalog中发布服务,必须在catalog中添加新服务,具体步骤是:1、打开Arcgis Catalog开始--ArcGIS--ArcCatalog,展开Gis Servers,双击“Add ArcGis Server”出现下图,选择Manage GIS Services;2、下一步,输入URL或主机名3、完成,可见主机状态及其服务4、添加新服务:可以直接找到发布服务的工作空间右键-发布,也可以用新添加的服务发布5、输入服务名称,选择发布服务的类型,默认的是启动刚刚发布的服务,然后下一步6、指定地图文件,其他选项可以根据要求设置,一般默认即可,一直下一布直到发布成功。

查看发布地图结果二、Web方式管理ArcGIS Server1、右键程序,arcgis,打开arcgis server manager选项,登录,(用agsadmin组的成员登录,格式为domain"user,如test"admin,password,这里test为机器名,admin是本地管理员帐户(将test加入agsadmin组和agsusers组后正常登录就可以管理ArcGIS Server:控制面板->管理工具->计算机管理->本地用户和组->组->agsadmin,agsusers);输入正确的用户名、密码后就进入ArcGIS SOM管理登录页面(发现:空密码实际并非支持)。

2、登录后的页面3、创建新服务,add new service-输入新服务名称—选择服务类型4、指定地图文件5、一直next直至finished,最后启动该服务即可(注:这里都是选择了默认设置,是池式,池化服务和非池化服务的区别以后再讲)。

预览结果服务发布完成。

ArcGISServer部署与配置

ArcGISServer部署与配置

一、 r安装概述r安装过程包括两个部分:安装( o n)和安装后( o n)设置。

为了完成r的安装,需要使用s操作系统工具手动设置一些步骤:²过程需要你决定安装哪些功能部件?程序将安装这些部件需要的文件。

²后安装是用来完成c GIS r安装过程的。

在后安装过程中,将依赖于你选择安装的部件,你将能够配置r和授权r。

配置r选项将设置需要的r帐号。

授权r选项将授权r的使用。

注:安装r之前必须卸载版本是9.0之前的以下产品:o p、 n、 、S,否则将出现冲突,不能安装。

如果是9.0版本,则不需要卸载。

二、典型安装在这个安装方案中,服务器对象管理器(SOM)和服务器对象容器(SOC)被安装在一个机器上。

这些安装部件是被预先选择在安装程序中。

安装r之前,必须准备:1、获取r的授权文件;2、确认机器(和操作系统等)满足软件安装要求;3、以具有管理员权限的帐号登陆操作系统;4、确保P变量被设置为一个有效的目录,并具有写的权限和可用空间;5、关闭所有的应用程序。

6、插入安装D,点击u p.exe,安装程序将自动开始安装。

注: 1、使用.NET开发,必须先安装o2005(将升级为6.0);2、安装G IS 服务器对象容器(SOC)必须要有授权文件,因此,在每个机器安装时都会要求授权文件。

在安装过程中,安装进程将允许你选择你所需要安装的部件(见图1-1)。

在服务器对象容器(SOC)中,你可以选择只安装.NET支持或支持或都安装。

在软件开发包(SDK)中,可以选择O M或.NET或a va,也可以选择安装G IS 开发者示例(e s)。

图r安装——选择部件注:在安装r时,其安装目录取决于你第一次安装产品的目录。

比如你第一次在D盘安装了o p,那么下次安装I S产品时将默认安装在D盘。

因此,必须保证安装目录有足够的空间。

根据提示,点击t,完成安装。

你可以在一台机器上只安装或SOC或都安装等,详见1.2.2 设计G IS站点的配置。

最新教学第七章--ARCGIS-SERVER使用课件ppt

最新教学第七章--ARCGIS-SERVER使用课件ppt

❖ ArcPad :ESRI公司的ArcPad软件是用于移动Windows设备的移动制图和GIS技
术。ArcPad为野外用户通过手持和移动设备提供数据库访问,制图,GIS和GPS的 综合应用。通过ArcPad可以实现快速,便捷的数据采集,大大提高了野外数据的可 用性和有效性。
ArcPad功能
❖ 支持满足工业标准的矢量和栅格影像的显示 ❖ 通过无线技术作为ArcIMS的客户端访问数据 ❖ 地图导航,包括平移和缩放,空间书签以及定位到当前GPS位置等功能 ❖ 查询要素,显示超链接,定位要素 ❖ 地图测量:包括距离,面积和方位 ❖ 连接到GPS,并通过GPS导航 ❖ 简单的编辑:通过鼠标,笔或者GPS输入,创建和编辑空间数据 ❖ 移动的地理数据库编辑:通过ArcGIS从数据库中检出数据,并进行转换和投影;用
理系统。
❖ Network扩展模块:基于网络的空间分析功能,路线、行进方向、
最近设施点和服务区域分析
❖ Spatial扩展模块:用于创建。查询和分析基于单元的栅格的数据。
ArcGIS Server 10.0安装:
安装IIS Visual Studio2010 ArcGIS Server 10.0 ArcGIS Desktop 10.0 ArcGIS engine 10.0 授权文件
❖ 多种切片方案(在线地图、已有地图、文件载入、据需创建)
❖ 缓存存储格式:
❖ 紧凑型:紧凑型创建缓存的效率和移植效率较高,占用磁盘空间少,由 包文件(.bundle)和相应的索引文件(.bundlx)组成。一个包文件中最多 可存储128×128(16384)个切片。

松散型:松散型是以每个瓦片单独存储为一个文件,缓存图片清晰可
创建地图服务资源

ArcGIS10注册机五步操作实现ArcGIS10全模块无时限破解

ArcGIS10注册机五步操作实现ArcGIS10全模块无时限破解

ArcGIS10注册机五步操作实现ArcGIS10全模块无时限破解友情提示:1.License Server Administrator、ArcGIS Administrator是两个不同的东西;2.这些操作基于官方原版,若XXX过的,请行恢复到官方原版;3.对于ArcGIS Engine,用注册机最后一项server,选100,点右下角的”所有”。

将内容复制存成.ecp文件双击使用或者参考本文末尾。

******************************************************************************* 注册机下载地址:/file/ben861102/daeb236d/Arcgis server 10 种子下载地址:/file/ben861102/03dc1b9c/ArcGIS Engine Develop Kit 10下载地址ed2k://|file|ArcGIS%20Engine%20Developkit%2010.iso|3631120384|0D2A1EBD6182E00DBF1 08F2F986AEED8|h=4P5QMTSVQDIQOVIRLBJNEBUYAHX4SHVQ|/******************************************************************************* 注册机使用说明:0、安装ArcGISDesktop10程序及许可设置LicenseManager程序(均可更新至sp1);1、打开注册机,注意:主机编号可以不改,选择好过期时间和版本号(与你所安装的版本一致);如图示:补充说明:如果你只想授权几个功能就选择相应的功能按添加,每添加一个就增加一个功能的授权按移除可以移除上一个授权,按清除可清除所有已添加的授权,如果你想授权所有功能,按所有即可。

2、生成了许可文件内容后,复制框内START_LICENSE到END_LICENSE之间的内容,新建一个文本文档,粘贴这些文字,另存文件为service.txt3、把生成的service.txt复制到License Manager的安装目录(默认为:C:\ProgramFiles\ArcGIS\License10.0\bin\)下,替换同名文件即可;安装desktop10;4、开始”菜单打开License Server Administrator程序,点击启动\停止许可服务,再点击“停止”以停止服务,然后再点击“启动”以启动服务,5、打开ArcGIS Administrator,选择ArcInfo(浮动使用)将licensemanager改成localhost,如图片所示操作顺序。

ArcGISServer配置方案

ArcGISServer配置方案

配置方案中国(北京)有限公司通信行业事业部2011年1月版权声明本文档由中国(北京)有限通信技术支持部撰写,由中国(北京)有限公司对相关技术内容负责。

未经本公司书面许可,任何单位和个人不得以任何形式摘抄、复制本文档的部分或全部,并以任何形式传播。

版本修订记录目录1部署方式错误!未指定书签。

1.1单机部署错误!未指定书签。

1.2单多集群部署错误!未指定书签。

1.3多多集群部署错误!未指定书签。

1.4应用案例错误!未指定书签。

2配置建议错误!未指定书签。

2.1建议架构错误!未指定书签。

2.2服务器配置错误!未指定书签。

2.3硬件配置错误!未指定书签。

3性能评估错误!未指定书签。

3.1数据库服务器性能评估错误!未指定书签。

3.2地图服务器()的性能评估错误!未指定书签。

1部署方式具有可扩展的架构部署,有多种部署选择。

大型项目部署需要多个服务器、服务对象管理器()和服务对象容器(),而小型项目则可能需要将这些资源合并到一个或者两个计算机上。

的部署方式取决于用户项目需求,如果产品用于开发或测试目的或者用户并发数相对较少,则不需要进行大规模部署;如果将服务发布的海量用户社区,则需要考虑一些策略,如处理负载、单一故障点和安全性。

以下针对多机部署进行说明。

1.1单机部署如果基于开发的系统,用于开发、测试或小用户量的应用,服务器不需要接受大量服务请求,可以把的和安装在同一台服务器中,通过简单的配置即可满足应用需求。

1.2单多集群部署当用户请求服务并发量比较大时,需要多台服务器做集群部署以满足系统大量用户并发需求。

在此部署应用中,由于服务对象管理器占用内存相对比较少,所以它可以和服务器共存在一台计算器上。

如下图所示:单多部署方案主要是将多个计算机集群用于执行用于的任务请求,并可以根据系统需要处理的用户并发数量(于用户的数量以及请求操作的频繁度相关)进行伸缩性扩展。

另外服务器由于只是管理服务器,进程耗费服务器和内存资源不大,所以也可以在服务器上安装服务组件用于处理服务请求。

ArcGISServer9.2系列安装与部署

ArcGISServer9.2系列安装与部署

Arcgis Server系列安装与配置其实Arcgis Server整个安装过程都比较简单,不过有几点需要注意。

首先,主机名最好不要用奇怪的名字,比如有下划线、奇异字符等,不然容易出现不能启动ArcSoc的错误。

另外,安装ArcCatalog后,最好不要安装中文补丁,不然ArcSoc停止或者重启的时候也容易出现莫名其妙的错误,当初我的电脑就是这样莫名其妙的,最后我重装系统才明白这个道理。

安装完成后需要Post一次。

如下:ArcGis Server账号主要是用于启动ArcSom服务。

ArcGIS Container则是用于平时的一些对于Arcgis Server的操作的账户。

这里需要注意的是,普通用户是无法启动和操作Arcgis Server的。

当Post完成以后,系统中将会出现agsadmin和agsusers两个用户组,分别代表上述的两种权限账户。

我们需要配置账户。

如果为了简单,可以将Administrator设置到这两个账户当中,然后用Administrator登陆就可以了。

如果为了安全,最后自己设置。

这里还需要注意的是,配置好以后,需要重启计算机,才能启动ArcSom服务。

现在需要做的是在ArcCatalog里面配置Arcgis Server。

这些东西都很简单,这里就不再多说了,帮助文档里面都写的很清楚。

首先添加服务,一般输入本机的主机名,然后添加计算机,还是输入主机名,然后添加输出目录。

这里需要注意的是,输出目录的虚拟目录必须为写入权限,不然不能生成图片。

除非你用的是MIME模式返回图片。

(MIME代表图片流,在IIS里面,可以设置IIS头来返回图片,这样就无需在服务器生成图片文件,从而提高服务器端效率)。

最后需要的就是添加ArcSoc服务器对象。

如下面的图例所示:这里是配置ArcSoc服务是否自动启动,我这里选择的是手工,因为我这里并不是每次开机就启动服务,当然,在服务器上肯定设置为自动:这里需要设置地图的mxd文档路径和输出目录。

ArcGIS Server安装与配置

ArcGIS Server安装与配置

ArcGIS Server安装与配置1. ArcGIS Server概述(1)ArcGIS Server系统组成ArcGIS Server产品包括两个部分,一个是GIS Server,一个是ADF。

①GIS Server,它是一个提供GIS服务的服务器软件产品,包括一系列核心AO库和一个管理这些AO组件的可缩放的运行环境。

GIS Server由Server Object Manager(SOM)和Server Object Container(SOC)组成。

SOM——管理在唯一主机上的windows服务,用于管理分布在各个SOC上的服务对象;SOC——可以装在多台机器上,是服务对象的宿主。

每一台SOC机器可以产生多个Container processes,一个Container processes可以运行多个服务对象,Container processes 是由SOM来管理的。

(每台SOC机器都需要一个授权文件)②ADF(Application Developer Framework),即应用程序开发框架,它有JAVA 和.NET两种开发组件集,它是用来开发和部署基于GIS Server的web应用程序的产品,包括组件对象、web控件、web模板和开发帮助,它还有一个web程序的runtime,专门用于发布和部署使用ADF开发的web程序,如等。

简而言之,Application Developer Framework包括Runtime和Software Developer Kit (SDK),Runtime安装在Web Sever机器上,SDK安装在Web Application上。

ADF利用AO来构建运行于GIS Server之上的web应用和web服务。

(2)ArcGIS Server系统架构GIS Server——存储GIS资源,为客户端应用提供服务,SOM和SOC。

Web Server——向GIS Server 请求web应用和web服务。

ArcGIS_Server配置和调优(学习资料)

ArcGIS_Server配置和调优(学习资料)

1 Manager进程使用的网络端口(Windows) (2)2 Manager进程使用的网络端口(Linux/Solaris) (2)2.1 默认显示端口,DISPLAY:600,可以被修改 (3)2.2 RPC端口 (4)Monitor (5)2.3 2422–3 GIS服务器如何工作 (6)server (7)3.1 GISdirectories (8)3.1.1 Serverserver启动的进程 (8)3.1.2 GIS3.1.3 监测SOC机器的状况 (8)server (9)3.2 Web3.3 Clients (10)4 Windows平台的网络环境 (11)server组件配置指南 (11)5 ArcGIS5.1 关于SOM的建议 (12)5.1.1 选择一台SOM机器 (12)5.1.2 Using a failover or round-robin configuration (12)5.1.3 SOM帐号 (12)5.1.4 添加用户到agsadmin和agsusers组 (12)5.2 关于SOC建议 (12)5.2.1 SOC机器以及ArcGIS Server的许可 (13)5.2.2 添加和删除SOC机器 (13)5.2.3 给SOC帐号授权 (13)5.2.4 输入SOC名称 (14)5.3 关于Web servers的建议 (14)5.4 帐号和权限 (14)5.5 深入阅读 (16)6 预计和考虑用户 (16)6.1 用SOC机器来容纳更多用户 (17)6.2 调整服务属性来容纳更多用户 (17)7 优化和配置服务 (18)7.1 Pooling (18)7.1.1 池化的服务 (18)7.1.2 非池化的服务 (19)7.2 回收 (20)7.3 隔离级别 (21)7.4 超时 (22)7.5 通过Capacity参数限制服务器的负载 (23)7.6 服务器如何根据需求调整:Pool shrinking (23)7.7 限制用户对服务的操作 (24)1Manager进程使用的网络端口(Windows)ArcGIS Server Java的Manager系统占用了许多网络端口给GIS 服务和部署的应用程序使用。

使用ArcGIS Engine开发ArcGIS Server的胖客户端浏览程序

使用ArcGIS Engine开发ArcGIS Server的胖客户端浏览程序

使用ArcGIS Engine开发ArcGIS Server的胖客户端浏览程序作者:ESRI中国(北京)培训中心 苏坦运行环境:ArcGIS 9 (Server,Engine)练习数据:/download/desktop/files/MapServerBrowser.exe前言(ArcGIS Engine和Server)在ArcGIS 9的家族中,增加了两个新产品:ArcGIS Engine和ArcGIS Server。

由于它们各自分别在C/S领域和B/S领域的强大开发能力,一经推出就备受瞩目。

其中ArcGIS Server更是由于提供了优越的再开发能力吸引了所有ArcGIS用户的目光。

那么ArcGIS Server到底是什么呢?ArcGIS Server提供了一套开发集中式的GIS应用程序的平台。

这些应用程序可以通过网络提供地理信息的服务。

ArcGIS Server是一套后台基于ArcObjects搭建的强大的B/S开发工具。

它既可以像ArcIMS那样轻松的提供在线地图发布和在线地图浏览的功能,而且可以像ArcMap那样提供在线的地图分析和地图编辑功能。

而后者正是长期困扰ArcIMS开发人员的问题以及Server 的优势所在。

ArcGIS Server的用户可以有很多种,从最普通的IE浏览器(瘦客户端)到大型的ArcGIS桌面应用程序(胖客户端)。

这两种客户端都非常强大,能够完成从数据浏览到简单地图编辑的各类工作。

但其中最为强大的仍然是ArcGIS桌面应用程序或者使用Engine开发的胖客户端。

因为这种类型的客户端不但可以跨越网络完成瘦客户端能完成的所有功能,更进一步充分施展了ArcGIS Server的在线编辑功能,使得Server这个平台的功能被利用的更加充分那么今天我们就来讨论一下,如何使用ArcGIS Engine开发一个可以跨越网络连接ArcGIS Server,并实现复杂在线编辑功能的胖客户端。

Arcgis Server使用操作

Arcgis Server使用操作

学院:资源与环境学院班级: 2013012姓名:杨力华(201301218)韩春桃(201301229)谢勇强(201301228)胥加胜(201301223)指导老师:李名勇老师一实验目的Expression Blend(下称Blend),是一款用于设计桌面和Web应用用户界面的可视化工具。

用户可以通过拖拉控件方式创建用户交互界面;另外Blend中,包含一款软件原型建模工具SketchFlow,该工具允许用户快速开发出专业的项目原型,创建设计原型后,以丰富的界面效果展示给客户。

本实验包括对Blend 界面的初步搭建以及实现基本功能和高级功能的操作,做成一个完整的界面。

通过这次实验,会让我们对Blend有一定的认识,自己的能力也有一定的提升。

二实验内容1 Silverlight的开发环境搭建;2 建立新的项目,初步搭建Blend界面;3 拖拉基本控件如textlock、map、scaleline等控件实现界面与用户的交互。

4 实现图名图例、属性、量距、zoomin、zoomout、鹰眼、地图更换等高级功能。

三实验操作步骤(准备工作:发布两个地图)整体页面设计整体设计代码:具体步骤:1 首先使用Blend按照以下步骤创建一个新的Silverlight项目。

1)点击左上角的“File - New Project”,这时会弹出一个新建项目窗口:我们选择第一个,该选项是“创建Silverlight 客户端应用其中包含Website 项目”,选择该选项后,Blend会自动创建Web项目在同一个解决方案下,编译后运行,会在Web项目中产生测试页面,在客户端显示Silverlight客户端。

2)创建新项目后,可以在Blend看到文档,页面左边有菜单选项、DockPanel 菜单,鼠标点击后,会弹出对应的窗口,例如“对象和时间线”或者“项目管理”等;还有工具面板菜单和项目面板等。

3)添加ESRI引用,方便对各种控件的引用。

实验2 ArcGIS Server应用与管理

实验2 ArcGIS Server应用与管理

实验二ArcGIS Server应用与管理【实验目的】1.掌握使用ArcCatalog客户端管理GIS服务的方法;2.掌握使用ArcGIS Server Manager管理GIS服务的方法;3.掌握利用ArcCatalog发布GIS服务的几种方法;4.掌握授予用于发布服务的GIS资源访问权限的方法;5.掌握使用msd文档发布地图服务的方法;6.掌握创建地图服务缓存的方法;7.掌握ArcGIS Server REST API的概念和相关操作方法。

【实验内容】一、使用ArcCatalog客户端管理服务1. 启动ArcCatalog程序。

2. 打开任务管理器,查看ArcCatalog.exe进程的启动用户名,如图,用户名为aphrodite659。

使用ArcCatalog链接ArcGIS Server,实质上是连接SOM,如果ArcCatalog与ArcGIS Server运行在同一台机器上,要求aphrodite659用户位于agsadmin组中,才能连接成功。

3. 在ArcCatalog中双击“Catalog”窗口中的“Add ArcGIS Server”节点,弹出添加ArcGIS Server窗口。

在窗口中选择“Use GIS Services”创建的链接只能对服务进行浏览,不能创建、停止、启动、删除服务。

选择“Manage GIS Services”创建的链接可以执行最高权限的操作,这里选择“Manage GIS Services”。

4. 输入URL地址“http://localhost/arcgis/services”和SOM的主机名“localhost”。

5. 连接成功后,可以看到一个localhost(admin)的节点。

二、使用ArcGIS Server Manager管理服务1. 从“开始”→“ArcGIS”→“ArcGIS Server for the Microsoft .NET Framework”→“ArcGIS Server Manager”启动基于Web的应用程序ArcGIS Server Manager。

arcgis server manager copy -回复

arcgis server manager copy -回复

arcgis server manager copy -回复ArcGIS Server Manager是一个功能强大的工具,用于管理和配置ArcGIS Server。

它提供了一个直观的用户界面,让用户轻松地进行各种服务器管理任务。

本文将一步一步回答关于ArcGIS Server Manager的相关问题,以帮助读者全面了解其功能和用法。

第一步:了解ArcGIS Server Manager的基本概念和功能ArcGIS Server Manager是ArcGIS Server的一个组件,它允许用户通过web浏览器访问服务器并进行管理操作。

它提供了一系列的工具和界面,用于管理和监控服务器资源、发布地理数据和服务、配置安全性等。

其中一些主要功能包括:1. 服务器管理:用户可以监控服务器的运行状态、资源使用情况以及性能指标。

他们可以查看和管理服务器上的服务、数据和连接,还可以执行重启、停止和启动服务器等操作。

2. 服务发布:用户可以通过ArcGIS Server Manager发布地理数据和服务,将它们作为Web服务提供给其他用户。

他们可以选择发布不同类型的服务,包括地图服务、要素服务、地理处理服务等,并配置相关的参数和权限。

3. 安全性配置:用户可以通过ArcGIS Server Manager配置和管理服务器的安全性。

他们可以创建和管理用户和角色,并为他们分配权限和访问级别。

他们还可以设置SSL加密、访问控制列表和令牌等安全措施。

第二步:登录ArcGIS Server Manager并了解其界面要登录ArcGIS Server Manager,您需要在web浏览器中输入服务器的URL地址,然后输入有效的用户名和密码。

一旦成功登录,您将进入ArcGIS Server Manager的主界面。

主界面由不同的标签页组成,每个标签页对应一个特定的功能。

以下是一些常见的标签页和其功能的简要介绍:1. 仪表盘:显示服务器的概览信息,如运行状态、CPU和内存使用情况等。

ArcGIS Server中的服务

ArcGIS Server中的服务

ArcGIS Server中的各种服务使用服务通过服务可以在客户端之间更容易的共享资源。

通过服务可以保证所有的客户端访问到同样的资源,而不用在他们的机器上单独进行安装。

服务器存储着资源,管理服务,进行GIS相关工作,将结果通过图片或者文字的形式返回给客户端。

要使用服务,并不需要安装单独的GIS软件,用普通的Web浏览器或者自定义的应用程序即可。

但ArcGIS的应用程序,比如ArcMap和ArcGlobe同样可以作为GIS服务的客户端。

使用ArcGIS Server上的服务时,可以和使用本地资源一样对它进行访问。

比如访问服务器上的map service 时,就好像地图文档和数据存储在本地一样。

将GIS resource作为一个服务发布出去是让人们访问到它的关键。

通常情况下,都是通过ArcGIS Desktop 来制作资源,然后将其发布成服务供客户端使用。

下表中列出了可发布的服务和每个服务需要什么样的资源服务类型需要的GIS资源Map service Map document (.mxd, .pmf)Geocode service Address locator (.loc, .mxs, SDE batch locator)Geodata service数据库连接文件(.sde) 或personal geodatabase 或file geodatabase 或引用了注册为版本的geodatabase中数据的map documentGeometry service不需要GIS资源Geoprocessing带有工具涂层的Map document或toolbox (.tbx)serviceGlobe service Globe document (.3dd, .pmf)Image service Raster dataset 或引用了raster dataset的图层文件或编译过的image service definition (.ISCDef)各种服务具有的能力作为一个ArcGIS Server管理员,你需要关注发布的服务和其引用的资源。

0-ArcGIS Server介绍与应用

0-ArcGIS Server介绍与应用
ArcGIS Server 介绍与应用
Esri中国(北京)有限公司 西安代表处
陈毅龙
ArcGIS产品体系
ArcPad ArcGIS Explorer ArcGIS Desktop ArcGIS Engine Flex API Sliverlight API Javascript API
ArcGIS Mobile
影像服务
搜索服务
各种服务的功能
服务功能 Feature Access Geocoding Geodata Geodata Access Geometry 服务用途 对矢量要素几何形状和属性进行访问 提供应用地址匹配器的途径 提供了查询、抽取、复制Geodatabase的途径 允许客户端用户在ArcMap中复制和提取数据。发布 创建一个关联geodata service的地图文档时可以拥有 这种能力。 为应用程序提供一个用于几何运算(比如投影和加密 化)的内部引擎。 提供了应用地理处理模型的途径(地理模型可以是 Geoprocess toolbox或者tool layer。Tool layer是从ArcToolbox拖到 ing TOC里面的模型。 Geometry services Geoprocessing services, map services 服务类型 Map services Geocode services Geodata services Map services
• REST架构风格要求资源是分层的
REST的设计准则
• 所有事物都被抽象为资源,每个资源对应一个唯一
的资源标识符(URI)
• 通过通用的访问接口(HTTP)操作资源
• 为资源提供多重表述(不同的需求提供不同的资源表
述)
• 所有的操作都是无状态的(Statelessness)

ArcGIS+Server的项目步骤

ArcGIS+Server的项目步骤

{
myPassivate(); super.passivate(); }


Faces-config.xml
<managed-bean>
<managed-bean-name>mapContext</managed-bean-name>
<managed-bean-class>com.esri.adf.web.data.WebContext</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> webSession 的配置 </managed-property> <managed-property>
加数据源时,被调用。
• destroy()
这个方法由WebContext调用,释放数据源,使其不可用。在两种情况下被调用:
WebContext被释放时被调用;通过WebContext#removeResource(GISResource)方法
移除数据源时,被调用。 注:1、该方法被调用后,GISResource不可用; 2、自定义数据源必须重载该方法; 3、super.destroy();语句必须放在自定义方法之后。 4、destroy是WebContextInitialize 接口的方法
• GISResource是所有ADF支持数据源的基类;
• GISResource也是定义数据源的基类。
方法
• init(WebContext webContext)
这个方法由WebContext调用,初始化数据源,使其可用。在两种情况下被调用: WebContext被初始化时被调用;通过WebContext#addResource(GISResource)方法添
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文档编号PTM02_AE201211010016版本号V0.1 ArcGIS Engine 10.1 如何操纵ServerEsri中国信息技术有限公司2012年11月版权声明本文档版权为Esri中国信息技术有限公司所有。

未经本公司书面许可,任何单位和个人不得以任何形式摘抄、复制本文档的部分或全部,并以任何形式传播。

制定及修订记录版本完成日期编写/修订纪要编写者备注V0.1 2011.11.1 刘宇目录第一章使用ArcGIS Engine 管理ArcGIS Server (3)1.1原因 (3)1.2解决 (4)1.3AO操作 (9)1.4REST方式操作 (10)1.5小结 (18)第二章使用ArcGIS Engine 访问ArcGIS Server (19)2.1以前是如何访问的 (19)2.2IAGSServerConnection接口还能用吗? (20)第一章使用ArcGIS Engine 管理ArcGIS Server1.1 原因在10版本以及之前的版本中,有一些用户通过ArcGIS Engine来管理ArcGIS Server,比如发布服务,停止服务等,对服务的管理是通过DCOM方式的,而在10.1中ArcGIS 不支持DOCM方式的连接,。

如果你在代码中使用了Server库中的GISServerConnection或者GISClient库中的AGSServerConnection,在ArcGISServer 10.1环境下,这些代码必须移除,如下面的代码:如果强行执行,那么会有下面的错误:1.2 解决ArcGIS Server在10.1版本中提供了ADMIN API,只要我们通过http请求构造相应的参数就行,对于ArcGIS Server的连接,我们可以看下desktop是如何连接的:从这两个图中就可以看出,在选择连接Server的时候,选择角色,选择服务的类型(SDS和ArcGIS Server),在10版本以及之前的版本的时候跟这个有较大区别,连接ArcGIS 10.1 for Server的代码如下(注释已经写出):public IServerObjectAdmin ConnectAGS(string host, string username, string password){try{IPropertySet propertySet = new PropertySetClass();propertySet.SetProperty("url", host);propertySet.SetProperty("ConnectionMode",esriAGSConnectionMode.esriAGSConnectionModeAdmin);propertySet.SetProperty("ServerType", esriAGSServerType.esriAGSServerTypeDiscovery);propertySet.SetProperty("user", username);propertySet.SetProperty("password", password);propertySet.SetProperty("ALLOWINSECURETOKENURL", true); //设置为false会弹出一个警告对话框IAGSServerConnectionName3pConnectName = new AGSServerConnectionNameClass() as IAGSServerConnectionName3;//10.1新增接口pConnectName.ConnectionProperties = propertySet;IAGSServerConnectionAdmin pAGSAdmin = ((IName)pConnectName).Open() as IAGSServerConnectionAdmin;token = GenerateAGSToken_RESTAdmin(host, "arcgis", "arcgis");return pAGSAdmin.ServerObjectAdmin;}catch (Exception exc){Console.WriteLine("连接失败: {0}. Message: {1}", host, exc.Message);return null ;}}ConnectAGS("http://192.168.110.136:6080/arcgis/admin", "arcgis", "arcgis");当获得了IAGSServerConnectionAdmin 这个接口我们进而可以获取IServerObjectAdmin,IServerObjectAdmin接口,在帮助中看到了IDiscoveryServerObjectAdmin接口,该接口的方法和属性如下:我欣喜若狂,因为这些和ArcGIS Server的Admin几乎是对应的,实现该接口的类不能被实例化,必须通过其他对象获取。

但是不幸的是我在dll中并没有发现这个。

1.2.1 一个猜想既然这个接口不能自己new,必须通过其他的实例化,那么这个对象是谁?我们很自然的想到应该在连接成功之后就返回这个对象,该对象实现的接口如下:我们注意下IRESTServerObjectAdmin 接口,字面意思就是通过rest方式跟Server打交道,而该接口只被一个类实现,该类就DiscoveryServerObjectAdmin如果连接成功返回的真是DiscoveryServerObjectAdmin对象,那么我们QI到IRESTServerObjectAdmin上是没有问题的,结果正如我猜想的一样,有图为证:以上是我的个人猜想,但是不知道为什么dll中没找到这个接口,还是ESRI故意将这个接口隐藏起来了。

1.3 A O操作当连接上ArcGIS Server,我们获取了IAGSServerConnectionAdmin,通过该对象我们获取了IServerObjectAdmin,通过该对象可以对Server进行管理1.3.1 更改实例数private void ChangInstance(IServerObjectAdmin pSAdmin, IServerObjectConfiguration pConf, int pMin, int pMax){IEnumServerObjectConfiguration pEnServerConf = pSAdmin.GetConfigurations();IServerObjectConfiguration pSConf = pEnServerConf.Next();IServerObjectConfiguration pSOConfig = null;while (pSConf != null){if ( == && pSConf.TypeName == pConf.TypeName){pSOConfig = pSConf;break;}pSConf = pEnServerConf.Next();}if (pSConf != null){pSConf.MinInstances = pMin;pSOConfig.MaxInstances = pMax;pSAdmin.UpdateConfiguration(pSOConfig);}}1.3.2 停止服务pServerAdmin.StopConfiguration("Flow", "MapServer");1.3.3 删除服务pServerAdmin.DeleteConfiguration("BusSimulation/DataPrep", "MapServer");//如果自己建立了目录请按照这种方式写,不然出错1.4 R EST方式操作ArcGIS 10.1 for Server可以通过http请求的方式访问,server接到请求后,然后响应,响应的结果是json格式的,对json格式我们可以自己去解析,但是这个很麻烦,在10.1中增加了很多对json格式处理的接口IJSONReader2,IJSONWriter 等很多,我在这里偷懒直接使用了AO中自带的接口,如果不用AO中的这些接口,自己借助一些json的解析工具如:也是可以的。

1.4.1 获取tokenpublic string GenerateAGSToken_RESTAdmin(string restAdmin, string username, string password){try{if (restAdmin.EndsWith("\\")){restAdmin = restAdmin.Substring(0, restAdmin.Length - 1);}if (restAdmin.EndsWith("services")){restAdmin = restAdmin.Substring(0, restAdmin.Length - 9);}string loginUrl = restAdmin + "/generateToken";WebRequest request = WebRequest.Create(loginUrl);request.Method = "POST";string credential = "username=" + username + "&password=" + password +"&client=requestip&expiration=&f=json";byte[] content = Encoding.UTF8.GetBytes(credential);request.ContentLength = content.Length;request.ContentType = "application/x-www-form-urlencoded";Stream requestStream = request.GetRequestStream();requestStream.Write(content, 0, content.Length);requestStream.Close();WebResponse response = request.GetResponse();Stream responseStream = response.GetResponseStream();StreamReader reader = new StreamReader(responseStream);string result = reader.ReadToEnd();IJSONReader2pJsonReader = new JSONReaderClass();IJSONObject pOb = pJsonReader.ParseJSONString(result) as IJSONObject;string token;if (pOb.TryGetValueAsString("token", out token)){}return token;}catch { return""; }}//""表示根目录public bool DeleteService_RESTAdmin(string restAdmin, string username, string password, string serviceName,string pType,string pFolder ){try{//string token = GenerateAGSToken_RESTAdmin(restAdmin, username, password);restAdmin = restAdmin.EndsWith("/") ? restAdmin.Substring(0, restAdmin.Length - 1) : restAdmin;string serviceUrl = restAdmin + "/services" +pFolder+"/"+ serviceName + "." + pType + "/delete";WebRequest request = WebRequest.Create(serviceUrl);string postcontent = "f=pjson&token=" + token;Byte[] content = Encoding.UTF8.GetBytes(postcontent);request.ContentLength = content.Length;request.ContentType = "application/x-www-form-urlencoded";request.Method = "POST";Stream requestStream = request.GetRequestStream();requestStream.Write(content, 0, content.Length);requestStream.Close();WebResponse response = request.GetResponse();Stream responseStream = response.GetResponseStream();StreamReader reader = new StreamReader(responseStream);string result = reader.ReadToEnd();return result.Contains("success");}catch { return false; }}1.4.2 停止服务public bool StopService_RESTAdmin(string restAdmin, string username, string password, string serviceName, string pType, string pFolder){try{// string token = GenerateAGSToken_RESTAdmin(restAdmin, username, password);restAdmin = restAdmin.EndsWith("/") ? restAdmin.Substring(0, restAdmin.Length - 1) : restAdmin;if (pFolder.Length > 0){pFolder = pFolder.StartsWith("/") ? pFolder : "/" + pFolder;}string serviceUrl = restAdmin + "/services" +pFolder+"/"+ serviceName + "." + pType + "/stop";WebRequest request = WebRequest.Create(serviceUrl);string postcontent = "f=pjson&token=" + token;Byte[] content = Encoding.UTF8.GetBytes(postcontent);request.ContentLength = content.Length;request.ContentType = "application/x-www-form-urlencoded";request.Method = "POST";Stream requestStream = request.GetRequestStream();requestStream.Write(content, 0, content.Length);requestStream.Close();WebResponse response = request.GetResponse();Stream responseStream = response.GetResponseStream();StreamReader reader = new StreamReader(responseStream);string result = reader.ReadToEnd();return result.Contains("success");}catch { return false; }}1.4.3 启动服务public bool StartService_RESTAdmin(string restAdmin, string username, string password, string serviceName,string pServiceType,string pFolder){try{// string token = GenerateAGSToken_RESTAdmin(restAdmin, username,password);restAdmin = restAdmin.EndsWith("/") ? restAdmin.Substring(0, restAdmin.Length - 1) : restAdmin;if (pFolder.Length > 0){pFolder = pFolder.StartsWith("/") ? pFolder : "/" + pFolder;}string serviceUrl= restAdmin+ "/services"+ pFolder+ "/"+ serviceName+ "."+ pServiceType + "/start";//服务名称+"."+类型WebRequest request = WebRequest.Create(serviceUrl);string postcontent = "f=pjson&token=" + token;Byte[] content = Encoding.UTF8.GetBytes(postcontent);request.ContentLength = content.Length;request.ContentType = "application/x-www-form-urlencoded";request.Method = "POST";Stream requestStream = request.GetRequestStream();requestStream.Write(content, 0, content.Length);requestStream.Close();WebResponse response = request.GetResponse();Stream responseStream = response.GetResponseStream();StreamReader reader = new StreamReader(responseStream);string result = reader.ReadToEnd();return result.Contains("success");}catch { return false; }}1.4.4 获取服务的目录,名称和类型//目录,服务名称,类型Dictionary<string, Dictionary<string, string>> pServiceType = new Dictionary<string, Dictionary<string, string>>();Dictionary<string, string> pDic = new Dictionary<string, string>();public Dictionary<string, Dictionary<string, string>> ListServices_RESTAdmin(string restAdmin, string username, string password, string folder){try{//使用WebRequest 发送请求restAdmin = restAdmin.EndsWith("/") ? restAdmin.Substring(0, restAdmin.Length - 1) : restAdmin;string serviceUrl = restAdmin + "/" + folder;WebRequest request = WebRequest.Create(serviceUrl);string postcontent = "f=json&token=" + token;// json格式Byte[] content = Encoding.UTF8.GetBytes(postcontent);request.ContentLength = content.Length;//request.ContentType ="application/x-www-form-urlencoded";request.Method = "POST";Stream requestStream = request.GetRequestStream();requestStream.Write(content, 0, content.Length);requestStream.Close();WebResponse response = request.GetResponse();Stream responseStream = response.GetResponseStream();StreamReader reader = new StreamReader(responseStream);string result = reader.ReadToEnd();int index = result.IndexOf("services");Dictionary<string, string> pSer = new Dictionary<string, string>();IJSONReader2pJsonReader = new JSONReaderClass();IJSONObject pOb = pJsonReader.ParseJSONString(result) as IJSONObject;//"folders":["BusSimulation","System","Utilities"]//根目录pServiceType.Add("/", new Dictionary<string, string>());IJSONArray pFodArr;if(pOb.TryGetValueAsArray("folders",out pFodArr)){for (int i = 0; i < pFodArr.Count; i++){pServiceType.Add(pFodArr.get_Value(i).ToString(), new Dictionary<string, string>());}}if (pOb.MemberExists("services")){object pJs;if (pOb.TryGetValue("services", out pJs)){if (pJs is IJSONArray){IJSONArray pArray = pJs as IJSONArray;for (int i = 0; i < pArray.Count; i++){if (pArray.get_Value(i) is IJSONObject){IJSONObject pType = pArray.get_Value(i) as IJSONObject;// {"folderName":"/","serviceName":"GZCache","type":"MapServer","description":""}string folderName;//服务的目录if(pType.TryGetValueAsString("folderName",out folderName)){}string serviceName;//服务的名称if(pType.TryGetValueAsString("serviceName",out serviceName)){}string AGSType;//服务的类型if(pType.TryGetValueAsString("type",out AGSType)){}pServiceType[folderName].Add(serviceName, AGSType);}}}}}}catch { }return pServiceType;}1.4.5 删除服务public bool DeleteService_RESTAdmin(string restAdmin, string username, string password, string serviceName,string pType,string pFolder ){try{//string token = GenerateAGSToken_RESTAdmin(restAdmin, username, password);restAdmin = restAdmin.EndsWith("/") ? restAdmin.Substring(0, restAdmin.Length - 1) : restAdmin;if (pFolder.Length > 0){pFolder = pFolder.StartsWith("/") ? pFolder : "/" + pFolder;}string serviceUrl = restAdmin + "/services" +pFolder+"/"+ serviceName + "." + pType +"/delete";WebRequest request = WebRequest.Create(serviceUrl);string postcontent = "f=pjson&token=" + token;Byte[] content = Encoding.UTF8.GetBytes(postcontent);request.ContentLength = content.Length;request.ContentType = "application/x-www-form-urlencoded";request.Method = "POST";Stream requestStream = request.GetRequestStream();requestStream.Write(content, 0, content.Length);requestStream.Close();WebResponse response = request.GetResponse();Stream responseStream = response.GetResponseStream();StreamReader reader = new StreamReader(responseStream);string result = reader.ReadToEnd();return result.Contains("success");}catch { return false; }}1.4.6 服务是否停止public bool GetStatus_RESTAdmin(string restAdmin, string username, string password, string serviceName, string pServiceType, string pFolder){try{// string token = GenerateAGSToken_RESTAdmin(restAdmin, username,password);restAdmin = restAdmin.EndsWith("/") ? restAdmin.Substring(0, restAdmin.Length - 1) : restAdmin;string serviceUrl= restAdmin+ "/services"+ pFolder+ "/"+ serviceName+ "."+ pServiceType + "/status";//服务名称+"."+类型WebRequest request = WebRequest.Create(serviceUrl);string postcontent = "f=pjson&token=" + token;Byte[] content = Encoding.UTF8.GetBytes(postcontent);request.ContentLength = content.Length;request.ContentType = "application/x-www-form-urlencoded";request.Method = "POST";Stream requestStream = request.GetRequestStream();requestStream.Write(content, 0, content.Length);requestStream.Close();WebResponse response = request.GetResponse();Stream responseStream = response.GetResponseStream();StreamReader reader = new StreamReader(responseStream);string result = reader.ReadToEnd();return result.Contains("STOPPED");}catch { return false; }}1.5 小结在1.3和1.4我们分别用了AO的方式和REST的方式管理了ArcGIS 10.1 for Server,关于两种方法各有利弊,在这里我略总结如下:优点缺点AO 不需要更多的代码,不需要构造HTTP请求参数,不用对json进行解析,如果IDiscoveryServerObjectAdmin接口找到了,那更好需要安装ArcGIS Engine,这个是需要收费的,而且只能在单机上进行管理。

相关文档
最新文档