使用ArcGIS_GP服务发布
- 格式:doc
- 大小:2.09 MB
- 文档页数:49
如何使用ArcGIS Server发布地图服务有时候需要搭建一个内网地图服务器供内网使用,这时候就需要发布一下离线地图,这里着重讲一下如何使用ArcGIS Server发布地图服务。
工具/原料水经注万能地图下载器 ArcGIS方法/步骤1.打开水经注万能地图下载器,将地图切换到“谷歌地图”(图1)。
图12.点击“下载”→“框选下载”框选上需要下载的地图(图2)。
图23.双击,在弹出的对话框中选择“高级模式”,设置好任务名称和勾选上下载级别(图3)。
图34.点击“列表”→“高级任务”就可以看到下载任务,把鼠标放在任务上就可以看到“导出拼接图片”按钮(图4),点击。
图45.在弹出的“导出图片数据”对话框中“导出类型”选择“瓦片:A rcGIS Server”(图5)。
图56.打开ArcGIS,点击“添加数据”将导出的瓦片添加进来(图6),加载后的效果如图7。
图67.点击“文件”→“共享为”→“服务”,准备将地图发布服务(图8)。
8.在弹出的对户框中选择“发布服务”(图9)。
9.在弹出的对话框中设置好连接和服务名称(图10)。
图1010.在弹出的对话框中选择“使用现有文件”(图11)。
图1111.在弹出的“服务器编辑”对话框中点击“缓存”→“使用缓存中的切片”→选择“切片方案文件”→选择下载目录下的config.xml配置文件(建议从生成的文件夹内单独复制出来放在别的文件夹内方便查找)→再选择“发布服务后,手动构建缓存”→最后点击“发布”完成地图的发布(图12)。
图1212.打开“目录”,打开“GIS服务器”,找到刚刚发布的服务,可以看到是空白的,这个时候就需要手动导入下载的瓦片。
在服务上单击右键选择“管理缓存”→“导入缓存”(图13),在弹出的对话框中“源缓存数据集”一栏选择导出的瓦片数据(图14)。
图1313.缓存导入成功后,打开ArcGIS Server管理器(http://localhost:6080/arcgis/manager/),找到刚才发布的服务,点击“进程”,勾选上“WMS”再点击“保存并重新启动”(图15)。
ArcGISFlex+GP服务完成最短路径分析最近用arcgis GP服务做了几个Demo,为了不丢失自己的实践经验,我决定把过程记下来(一)最短路径分析以上为效果图,在此感谢/newOperate/html/5/51/514/15549.h tml博文给我的启发,我用自己的数据做了实验,并且汉化了路径描述(因为从英文直接汉化,因此可能有点Ehinese的不足),下面描述整个模型制作和程序实现过程:(1)数据准备这里必须是使用网络数据集,我从ShapeFile生成,在ArcCatalog里面操作,首先建立一个叫TestRouting的空文件夹,同时建立Scrach和ToolData子文件夹,Scrach用来存放模型生成的脚本结果,ToolData饱含制作模型的原数据,再建立一个叫TestRouting的工具箱,像下图这样子:在ToolData文件夹里放入我们的实验数据,并制作网络数据集,当然这个实验数据不是简单的道路数据,包括一些网络数据集必须的字段(zbcov.shp),单击右键,选择New NetworkDataset...一些基本设置都是默认的,但是有一点必须注意,在下面这个窗口中,需要对elevation数据做以下设置,field要选择自己数据中对应的字段。
一路next,生成下面的两个数据,zbcov_ND和zbcov_ND_Junctions。
(2)模型制作在ArcMap中打开zbcov_ND,并在ArcToolBox中加入刚才新建的TestRouting,在TestRouting上点击右键,new一个model,命名为ShortestRoute,按照下面的pic制作最短路径分析的模型.制作模型需要注意很多,直接用Arcgis例子里的当然不是不行,但是制作模型本来也是一种乐趣,并且有助于理解ArcGIS的一些算法过程,由于我自己在这个过程碰到了很多问题,因此打算一步步把过程写下来。
首先要加入Network 的扩展模块,Tools->Extension,选择Network Analyst复选框。
前言本文档主要介绍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 GP服务之一框架介绍对于很多初学者来说,GP服务是一个难点,也是一个重点。
GP的全称是Geoprocessing,可以对原有的功能进行扩充,可以说只要在桌面实现的事情,在Server都可以做到。
我们首先看一下,Geoprocessing框架,我们主要是通过这些框架来进行Geoprocessing处理的。
我这里使用的是ArcGIS 10.1 sp1版本。
第一个,ArcToolBox,这里是系统自带的工具,只能复制和粘贴,不能手工的创建。
第二个,是Dialog,也就是对话框,点击某一个模型或者工具。
可以输入一些参数,将结果输出出来。
第三个,是Model Builder,我们可以点击,可以点击最右侧的那个按钮。
在下面的文章,我们将使用这个工具来建模,然后发布成GP服务。
第四个,是Python工具,我们点击,倒数第二个按钮。
另外我们说一下,工具分为多种类型的。
转载请注明出处,/HPhone/微博欢迎关注webgis使用ArcGIS GP服务之二手工建模前面打一个小广告,欢迎关注WebGIS微博建模,是我们发布GP服务的第一步,这是基础功。
我们为什么要建模呢?对于现实的GIS业务来说,基本上都有相应的流程和规范,具体怎么做,都得按照步骤来。
步骤少还好说,要是步骤多了,不仅效率低下,而且还容易出现工作错误,每一步都会产生中间文件。
例如我们的天气预报,将收集各个气象站站点定位到地图上,然后剪出中国的版图来,再然后进行克里金差值等等,一些步骤以后,就可以得到相应的温度线或者降雨线。
步骤都是规定好的,为什么不做成一个工具,然后直接输出结果呢?对,这就是建模的好处,我们通过将多个工具组合起来,生成一个工具,来完成整体的步骤化。
上一篇博客介绍了,我们首先打开Model Builder。
如果不知道怎么打开,请看上一篇博客吧。
首先介绍一下,我们要实现的一个过程,某一个地方发生污染,周围哪些城市将受影响,我们这里只考虑距离吧。
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的目录中就可以看到本地的服务器了:点开后,就可以看到我们发布的服务:还可以在右边的窗口中预览:当然了,用它方式发布的服务也可以通过这种方式查看与预览。
arcgis gpserver 返回参数ArcGIS GPServer 是一款功能强大的地理处理服务器软件,它可以帮助用户进行地理数据处理和分析。
本文将介绍ArcGIS GPServer 的一些主要特点和应用场景。
一、ArcGIS GPServer的主要特点1. 强大的地理数据处理能力:ArcGIS GPServer可以处理各种地理数据,包括地理信息系统中的矢量数据、栅格数据、数据库数据等。
它支持各种地理处理操作,如空间分析、地理编码、地图制作等。
2. 高效的并发处理能力:ArcGIS GPServer具有高度的并发处理能力,可以同时处理多个地理处理请求。
这使得它可以应对大规模的数据处理需求,提高数据处理效率。
3. 灵活的工作流程设计:ArcGIS GPServer提供了丰富的地理处理模型和工具,用户可以根据自己的需求设计和构建复杂的地理处理工作流程。
这使得用户可以根据实际情况进行地理数据处理和分析。
4. 易于使用的用户界面:ArcGIS GPServer的用户界面简洁明了,易于使用。
用户可以通过图形化界面进行地理处理任务的配置和管理,无需编写复杂的代码。
二、ArcGIS GPServer的应用场景1. 土地利用规划:ArcGIS GPServer可以根据不同的土地利用要求,进行土地利用规划和评估。
用户可以根据地理处理模型和工具,对土地资源进行分析和评估,为土地利用决策提供科学依据。
2. 环境保护与监测:ArcGIS GPServer可以帮助环境保护部门进行环境监测和评估。
用户可以使用地理处理模型和工具,对环境数据进行分析和处理,发现环境问题并进行预警。
3. 城市规划与交通管理:ArcGIS GPServer可以帮助城市规划部门进行城市规划和交通管理。
用户可以使用地理处理模型和工具,对城市空间数据进行分析和处理,优化城市规划和交通网络设计。
4. 水资源管理:ArcGIS GPServer可以协助水资源管理部门进行水资源管理和保护。
使⽤ArcGISRuntime100进⾏本地GIS数据处理的注意事项如下图所⽰,如果需要使⽤ArcGIS Runtime 100 进⾏本地GIS数据处理,则需要依赖Local Server通过发布GP服务实现。
⼀、ArcGIS Runtime所使⽤的GPK是有版本限制的。
ArcGIS Runtime100.0 对应的GPK必须是ArcMap 10.4.1制作的。
ArcGIS Runtime100.1 对应的GPK必须是ArcMap 10.5.x制作的。
ArcGIS Runtime100.2.0 对应的GPK必须是ArcMap 10.5.x 制作的。
⼆、针对本地数据,所使⽤的GP Model输⼊参数和输出参数类型是有限制的。
原则是GP Model中所使⽤的ArcMap的GP参数类型要求能对应到⽀持的REST类型。
该原则适⽤于输⼊和输出参数。
具体参见下表。
ArcGIS Runtime 参数类型 REST 类型ArcMap GP 参数类型GeoprocessingString GPString StringGeoprocessingDouble GPDouble DoubleGeoprocessingLong GPLong LongGeoprocessingBoolean GPBoolean BooleanGeoprocessingDate GPDate DateGeoprocessingLinearUnit GPLinearUnit Linear UnitGeoprocessingDataFile GPDataFile FileGeoprocessingRaster GPRasterData⽆对应GeoprocessingRaster GPRasterDataLayer⽆对应GeoprocessingFeatures GPRecordSet RecordSetGeoprocessingFeatures GPFeatureRecordSetLayer FeatureSetGeoprocessingMultiValue GPMultiValue Multi Value类型对于不⽀持的参数类型,需要使⽤ModelBuilder的Calculate Value⼯具或Python转换为相应类型。
创建GP模型过程:通过在客户端调用创建好的GP服务,可以方便和容易的实现一些地理处理和分析功能。
GIS 分析功能中生成等值线和等值面想必是常见的需求之一。
但是对新手来说,网上相关可参考的文章太少实现的过程中难免处处碰壁。
下面笔者把自己实现的过程步骤记录下来给有用到的朋友做参考之用。
要点:gp服务是在轻量级客户端调用的所以对输入输出参数有要求不可能像桌面软件那样传个shp文件或者影像图给模型工具。
关于建模的详细过程请参考ArcGIS的帮助文档或者在线帮助文档(/arcgisserver/9.3/java/index.htm#geoprocessing/guide_-1963186772.h tm),里面叙述得非常详细了。
1.建模过程:这里的生成等值面用到了空间分析中的插值分析工具IDW在modelBuilder中添加该工具Point是进行该分析运算的输入参数它头顶上标的P 就表示了它是一个参数。
右击Point 选属性把其数据类型设置为Feature Set 。
双击IDW 或者右键点击打开Z value filed是我们要进行分析的字段(降雨等值面--雨量值、人口分布等值面--人口数等等),该字段在输入参数Point中已经定义好。
最后得到的模型图如下Int工具-----栅格转矢量的时候需要是数据为int 所以先取整Raster to Polygon -------栅格转矢量Clip-----对生成的等值面图层用背景地图进行裁剪使其和地图重合。
设置outputMap为参数让它作为参数输出。
保存模型。
2.模型测试最后在ArcMap中测试上面建好的模型,在ArcToolbox中添加刚才建好的工具。
双击打开然后选择输入参数。
最后运行结果如下模型建立成功。
ArcGIS Server Flex API调用GP服务的一般步骤1、说明ArcGIS Geoprocessing提供了大量地理处理和分析工具,可根据需要对这些工具进行组合构造自己的GIS分析模型,然后发布成GP服务,以方便各种Web 客户端调用。
使用ArcGISGP服务发布我们第一看一下,Geoprocessing框架,我们要紧是通过这些框架来进行Geoprocessing处理的。
我那个地点使用的是ArcGIS 10.1 sp1版本。
第一个,ArcToolBox,那个地点是系统自带的工具,只能复制和粘贴,不能手工的创建。
第二个,是Dialog,也确实是对话框,点击某一个模型或者工具。
能够输入一些参数,将结果输出出来。
第三个,是Model Builder,我们能够点击,能够点击最右侧的那个按钮。
在下面的文章,我们将使用那个工具来建模,然后公布成GP服务。
第四个,是Python工具,我们点击,倒数第二个按钮。
另外我们讲一下,工具分为多种类型的。
建模,是我们公布GP服务的第一步,这是基础功。
我们什么缘故要建模呢?关于现实的GIS业务来讲,差不多上都有相应的流程和规范,具体如何做,都得按照步骤来。
步骤少还好讲,要是步骤多了,不仅效率低下,而且还容易显现工作错误,每一步都会产生中间文件。
例如我们的天气预报,将收集各个气象站站点定位到地图上,然后剪出中国的版图来,再然后进行克里金差值等等,一些步骤以后,就能够得到相应的温度线或者降雨线。
步骤差不多上规定好的,什么缘故不做成一个工具,然后直截了当输出结果呢?对,这确实是建模的好处,我们通过将多个工具组合起来,生成一个工具,来完成整体的步骤化。
上一篇博客介绍了,我们第一打开Model Builder。
如果不明白如何打开,请看上一篇博客吧。
第一介绍一下,我们要实现的一个过程,某一个地点发生污染,周围哪些都市将受阻碍,我们那个地点只考虑距离吧。
下面是我们整个建模的思想。
1:得到受污染的区域2:进行缓冲3:将在缓冲区的都市选出来。
第一步,新建模型最右侧的按钮。
第二步,拖入工具我们能够将现有的工具,直截了当拖到那个地点面来。
例如我拖一个Buffer工具。
事实上如果找不到的话,我们能够进行一个搜索,快捷键Ctrl+F。
Arcgis10.1发布要素服务教程(亲测可用)很多人可通过基于 Web 的编辑来添加和改进数据。
包括现场工作人员、公司其他部门的分析人员,甚至还可能包括广大的自发人士,他们可通过简单的编辑界面提供有价值的数据。
在本教程中,我们将建立一个企业级地理数据库来管理志愿者在 Web 上提交的海岸线观鸟数据。
执行 Web 编辑的过程实际上是大型工作流程的最后一步。
本教程会演示如何执行下列操作:需要安装软件:arcgis desktop10.1、Arcgis server 10.1、arcgis SDE10.1主要步骤:1.使用数据库平台(如 PostgreSQL、SQL Server 和 Oracle)设置企业级地理数据库。
我使用的是(SQL Server)2.创作一个地图文档,该文档支持 Web 编辑。
其中包括设计符合要素服务的地图文档。
该要素服务允许用户通过 Web 在企业级地理数据库中添加和编辑观鸟数据。
这是任何 Web 编辑工作流的重要组成部分。
3.准备企业级地理数据库以发布到 ArcGIS Server。
其中包括连接 ArcGISServer,并将数据库注册到服务器。
4.发布地图文档为启用了要素访问功能的地图服务。
这样做会创建一个要素服务端点,Web 应用程序等客户端可通过该端点访问和编辑地图上的观鸟数据。
5.在 Web 应用程序中使用要素服务。
在本教程中,我们将使用 map viewer快速编辑、更新和删除地图中的观鸟数据。
开始学习本教程前如果刚安装 ArcGIS Server,在开始学习本教程前需要阅读下列内容: 有关如何配置 ArcGIS Server 站点的详细信息,请参阅帮助中的安装完毕后了解入门知识部分。
∙如果对企业级地理数据库和数据库管理尚不熟悉,请参阅地理数据库管理快速浏览。
∙如果之前没有任何要素服务的使用经验,请参阅什么是要素服务?1设置企业级地理数据库要素服务需要企业级 (ArcSDE) 地理数据库。
中的GP Service ArcGIS ServerServer中的纲要简单介绍Server GP Service简单介绍ArcGIS Server GP ServiceGP Service GP Service简介简介演示GP Service GP Service组成、目的组成、目的为什么选用为什么选用GP Service GP Service??基础Server GP Service基础ArcGIS Server GP Service涉及的基础概念GP ServiceGP Service涉及的基础概念GP Service GP Service发布方式发布方式每一个Toollayer 成为一个GP taskMap Service绘制结果•Map Service绘制结果ToolLayer 介绍绘制结果适用于:Map Service绘制结果适用于:使用Map Service使用执行模式GP Service 设计、发布和使用GP Service 设计、发布和使用建立建立GP Service GP Service三个步骤:三个步骤:建立工具共享目录–mxdGP本地测试GP本地测试scratch workspaceGP Service GP Service模型参数限制模型参数限制GP Service 设置了result map Service ,output 参数可以任意类型(raster layer y 除外)参数类型参数类型--Feature Sets 和Record Sets–不能用于输入参数参数类型--File 参数类型发布为发布为GP GP Service发布结果预览ArcGIS Desktop Desktop访问访问REST REST访问访问访问WebApp WebApp访问服务端技术(Java ADF)(Java ADF)访问--服务端技术WebApp访问WebApp<managed‐bean><managed‐bean‐name>myTask</managed‐bean‐name><managed‐bean‐class>esri.whz.myCmd.mySimpleTask</managed‐bean‐class>class>esri whz myCmd mySimpleTask</managed<managed‐bean‐scope>request</managed‐bean‐scope></managed‐bean><div id="MapDiv"><div><a:task value#{myTask} taskInfo#{myTask.tetst} mapId Map0></a:task>value="#{myTask}"taskInfo="#{myTask.tetst}"mapId="Map0"></a:task> </div><a:map id="Map0" value="#{mapContext.webMap}" width="400" height="400" /> </div>Flex)客户端技术(Flex)WebAppWebApp访问访问--客户端技术(<esri:Geoprocessor id="gp"url="/ArcGIS/rest/Service/Network/ESRI_DriveTime_US/GPServer/CreateD riveTimePolygons" />i Ti P l"/var params:Object= {"Input_Location":featureSet,"Drive_Times":driveTimes};gp(p,y p(,));gp.execute(params, new AsyncResponder(onResult, onFault));function onResult(gpResult:ExecuteResult,token:Object= null):void{ var pv:ParameterValue= gpResult.parameterValues[0];var fs:FeatureSet= pv.value as FeatureSet;graphicsLayer.graphicProvider= fs.features;})客户端访问(SOAP APISOAP API)WebAppWebApp客户端访问(AGSLocalGPResource gpRes= (AGSLocalGPResource) webContext.getResources().get("ags2");gp gp g();GPServerPort gpServer= gpRes.getGPServer();GPServerPort gpServer= new GPServerBindingStub(new .URL("http://esri‐whz:8399/arcgis/Service/training/usa_toollayer/GPServer"),null);参数名类型方向Required?Z Value GPString input esriGPParameterTypeRequired l dSimplification GPLinear input esriGPParameterTypeRequired ToleranceOutput Lines GPFeatureRecordSetLayer output esriGPParameterTypeRequiredmyInputLocation= new GPFeatureRecordSetLayer(); GPFeatureRecordSetLayer myInputLocation() myInputLocation.setValue(m_inputloc);GPString driveTimes= new GPString();(_p)driveTimes.setValue(m_inputDriveTime);GPValue[ ] gpValues= new GPValue[2];gpValues[0] = myInputLocation;gpValues[1] = driveTimes;GPResult gpResult= gpServer.execute(“DriveTimeModel", gpValues, null);String jobId= gpServer.submitJob(“DriveTimeModel", gpValues);(gp g(j)) while (gpServer.getJobStatus(jobId) != EsriJobStatus.esriJobSucceeded {Thread.sleep(1000);}GPResult gpResult= gpServer.getJobResult(jobId, null, null);GPValue[ ] outputValues= gpResult.getValues();GPFeatureRecordSetLayer outputFeatures= (GPFeatureRecordSetLayer) outputValues[0]; RecordSet result = outputFeatures.getRecordSet();Record[ ] records = result.getRecords();for (int i= 0; i< records.length; i++) {int fs= records[i].getValues().length;records[i]getValues()length;for (int j = 0; j < fs; j++) {if (records[i].getValues()[j] instanceof Geometry) {Geometry geom= (Geometry) records[i].getValues()[j];//graphics绘制代码break;}}}具体来看一个示例性能优化建议路径UNC路径性能优化:关于性能优化:关于UNC设置设置L L ocal Jobs Directory重启SOM服务性能优化性能优化--关于关于in_memory in_memory 环境变量性能优化--关于预处理性能优化调优--关于数据优化ToolTool调优总结下一讲座:讲座ArcGIS Server OGC中的服务的应用。
发布地图步骤
1.启动ArcGIS,选择ArcGIS Server Manager,然后会出现
然后填入用户名和密码:如用户名:arcgismanager 密码:123
2.登录后会出现页面
3.点击左面的Services会出现界面
4.点击Add New Servive会出现界面
5.然后填入你要起的名字后点击Next出现
6.在Map Document 中选出你要发布的地图
选择ArcGIS Server File System
选择图
然后点OK
7.出现
后点击Next
8.出现界面
然后选择第四项WMS
9.然后一直点击Next直到出现Finish
点击Finish
其中user就是刚才发布的地图
10.接下来我们可以测试一下,选择左上角的Home
11.选择第二项Create a web application
12.填入Web application Name和Description:后点击Next
13.然后点击Add Layers
14.选中后点击add
15.然后选择你建的项目
16.点击Add后会出现loading,完成后点击Close关掉
17.然后点击Next
18.再点击Next
这其中的North Arrow选项可以选也可以不选,点击Next
19.然后填入Link Text 和URL,下面是有事例的
20.点击Next
21.然后点击Save Web App选项
22.选中你的项目后点击上面的Deploy选项
等待部署完成,这可能需要等几分钟。
23.点击最下面的链接,你就可以在IE中打开你的地图了。
ArcGIS Server执行地理处理(GP服务)的输入输出By 慌了QQ: 1151342014 GP建模注意:由于发布的模型或脚本中的进程是在所有数据类型均可用的服务器上运行的,所以可对模型或脚本进程使用任何数据类型。
只限制输入和输出参数的数据类型。
图1 GP建模流程根据ESRI的文档说明,有四个级别的输入输出参数类型支持:在所有客户端上完全支持。
仅在 ArcGIS Desktop 客户端上受支持。
在任何客户端上都不允许。
某些数据类型(如TIN)不能用作输入参数,并且即使予以使用,模型也无法发布这些参数。
将数据类型转换为“字符串”数据类型。
例如,“面积单位”数据类型将在发布的任务中变为“字符串”数据类型。
因此,在使用建模工具时,应该先将 ArcGIS Desktop 上运行的模型和脚本修改为只使用支持的输入和输出数据类型,之后才能将它们发布到 ArcGIS Server。
输入数据类型下表汇总了三种客户端的主要输入参数的数据类型。
根据表1建立GP服务,对于web应用程序调用服务时可输入参数类型为:FeatureSet、RecordSet、File 和标准类型的数值。
下面用一段编译通过的silverlight代码来简单说明客户端调用服务的方法。
Code of Exsample://一个发布在本机的缓冲区分析GP服务const string Url ="http://localhost/ArcGIS/rest/services/GPTestTask/GPServer/Buffer";//某个双精度数值的参数名const string ParameterIsDouble = "Distance__value_or_field";//某个要素集的参数名const string ParameterIsFeatureSet = "Point_shp";//创建一个参数列表List<GPParameter> parameters = new List<GPParameter>();//添加一个类型为双精度数值的参数parameters.Add ( new GPDouble(ParameterIsDouble, 1000));//添加一个类型为FeatureSet的参数<此语句中’e'为鼠标点击图层时触发事件参数>//FeatureSet的构造方法参数可用为:Geometry、IList<Geometry>、IList<Graphic>或空parameters.Add ( new GPFeatureRecordSetLayer(ParameterIsFeatureSet, new FeatureSet(e.Graphic.Geometry)));//通过GP服务提供的Buffer工具URL创建GP任务并添加相应的事件监听Geoprocessor gpTask = new Geoprocessor(Url);gpTask.Failed += new EventHandler<TaskFailedEventArgs>(gpTask_Failed);//同步调用完成//gpTask.ExecuteCompleted += newEventHandler<GPExecuteCompleteEventArgs>(gpTask_ExecuteCompleted);//异步调用完成// <本例中所采用方法为异步调用>// <该事件监听完成时任务并未获取到结果>// <获取结果数据的监听事件将在该监听事件中进行设置>gpTask.JobCompleted += new EventHandler<JobInfoEventArgs>(gpTask_JobCompleted); //异步/同步执行任务gpTask.SubmitJobAsync(parameters);//gpTask.ExecuteAsync(parameters);事件监听://异步调用完成void gpTask_JobCompleted(object sender, JobInfoEventArgs e){//获取到GP任务Geoprocessor geoprocessorTask = sender as Geoprocessor;//设置获取结果数据的监听事件geoprocessorTask.GetResultDataCompleted +=GeoprocessorTask_GetResultDataCompleted;//执行获取事件 < output_buffer_shp为输出结果的参数名>geoprocessorTask.GetResultDataAsync(e.JobInfo.JobId, "output_buffer_shp"); }//获取结果为IList<Graphic>对象private void GeoprocessorTask_GetResultDataCompleted(object sender, GPParameterEventArgs e){foreach(Graphic g in (e.Parameter as GPRecordSet).FeatureSet){graphicsLayer.Graphics.Add(g);}}所调用的GP服务的模型见下图:图2 定制的模型Buffer发布的REST服务目录如下图3 发布的GP服务所提供的参数和方法:图4 GP服务的参数上面的例子代表了silverlight的一般调用GP服务的方法,其中根据不同的URL和参数列表,你可以获得更多的服务功能。
ArcGIS 10.2将PostgreSQl原生数据发布为要素服务2013年7月易智瑞(中国)信息技术有限公司目录ARCGIS 10.2将POSTGRESQL原生数据发布为要素服务 (1)目录 (1)1ARCGIS 10.2支持原生数据发布为要素服 (1)2安装POSTGIS (2)2.1打开S TACK B UILDER (2)2.2选择空间扩展,可以根据需要选择其他的辅助功能 (3)2.3选择下载目录 (3)2.4选择创建空间数据库前面的复选框 (4)3数据准备 (5)4发布要素服务 (9)1ArcGIS 10.2支持原生数据发布为要素服有没有将自己已有的空间数据发布为要素服务的需求?有没有将非Esri空间数据类型的数据作为服务在Web端展示的需求?ArcGIS 10.2 for Server增加了这方面的能力,ArcGIS 10.2 for Server 可以将原生数据库中的空间数据发布为要素服务。
想必都知道现在的关系型数据库,也都对空间数据有一定的支持,如postgreSQL的pg_geometry,Oracle的sdo_geometry,SQL Server的geometry等,如果用户的数据已经是这些格式了,如何发布为要素服务?在ArcGIS 10.0的时候Esri支持了要素服务,因为要素服务提供了在线编辑的功能,因此得到很多用户的青睐,但是发布要素服务有一个条件,就是数据必须存储在SDE数据库中,如果用户的空间数据已经是原生数据库的空间数据类型,要发布要素服务的话,我们需要将这些数据到SDE数据库中。
当然Esri也会考虑用户的需求,和针对用户的需求做出相应的反应,ArcGIS 10.2 for Server 就可以直接将这种原生的空间数据作为要素服务暴露出去,这样的话,省了数据转换等一系列的操作,更让人兴奋的是,这样的能力不需要SDE 的支持。
下面我们就以PostgreSQL数据库为例进行说明。
一、ArcGIS Server发布路径分析服务操作过程1.数据准备步骤a)打开ArcCatalog,右键点击左侧目录树中的文件夹连接,选择连接到文件夹b)在弹出的窗口内,选择路网图层所在的文件夹,本例中路网图层所在文件夹为E:\Work\tyht\map\六盘水路网数据,在这里选择到tyht文件夹即可c)点击确定,此时左侧目录树会出现所连接到文件夹的所有文件d)展开树节点至路网图层所在位置e)右键点击六盘水路网.shp文件,左键点击新建网络数据集f)在弹出的窗口内输入数据集的名称,本例使用lpslw_NDg)点击下一步(提示:如果下一步按钮被任务栏遮挡,请使用键盘ALT+N键或使用TAB键将下一步按钮激活,按下Enter键),选择是否构建转弯模型,是与否不会对路径分析服务造成太大的影响,本例中选择是h)点击下一步,选择是否进行连通性测试,本例不测试i)点击下一步,是否进行高程建模,选择无j)点击下一步,为网络数据指定属性,根据路网数据的不同,此处出现的内容会不同,不影响路径服务,可直接选择跳过k)点击下一步,选择是否为路径构建方向,本例选择否l)点击下一步,配置完成,检查配置内容,如果不符返回上一步进行修改,如符合,点击完成。
m)点击完成后,弹出如下窗口,选择是,开始构建网络数据n)构建完成后,可能会弹出警告窗口,但不影响服务,点击关闭即可o)此时左侧目录树出现生成的路径数据p)通过window 开始菜单或ArcCatalog中的ArcMap按钮打开ArcMapq)在打开的ArcMap中,选择新建地图--空白地图r)点击确定后,右键点击窗口左侧内容列表下的图层,左键点击添加数据s)在弹出的窗口中,选择在前面生成的路网数据t)选择lpslw_ND及六盘水路网.shp文件u)点击添加,会弹出一个提示框,是否添加要素类,此处点击是v)点击菜单栏中的自定义按钮,选择工具条—Network Analyst,弹出Network Analyst工具条(如果工具条呈灰色不可用状态,请参照ArcGisdesktop&server安装文档中的注意事项及错误处理)w)点击Network Analyst 工具条中的Network Analyst下拉按钮,选择新建路径x)左侧内容列表出现新建的路径数据y)点击菜单栏中的保存按钮,弹出保存位置窗口,选择一个保存位置,本例保存在E:\Work\tyht\map文件夹下,名称为lpslw.mxdz)点击创建网络位置按钮aa)在地图中任意点击两个上以的点,为了分析效率,建议点位近一些bb)点击求解按钮,测试分析结果cc)稍等片刻,地图出现分析路径,则表明路径分析功能配置完成注:分析完成的结果请勿保存在mxd文件中,此时可以采用直接关闭ArcMap,而忽略保存的提醒(确保已经执行过y步骤的保存),如果不小心保存过分析结果,请使用NetwordAnalyst工具条中的选择工具,选择点或线,右键删除后再重新保存。
ArcGIS 10.1以上GP服务发布流程
一.在ArcMap中打开已做好的GP模型工具:
二.打开GP模型工具中的model,分别选择ClipFeature要素和InputFeature要素,点击OK,如下图:
三.选择File中的Share As Service:
继续点击下一步:
四.给GP服务命名,继续下一步:
五.默认为:root(建议给GP服务单独创建一个服务文件夹,后续发布的GP服务都放置于该文件夹中);点击继续:
六.如下图:设置为同步(synchronous),发布(Publish):
在发布前完善以上界面中的Description 和Item Description描述信息,否则会发布不成功;
七.发布成功后打开服务:
http://localhost/arcgis/rest/services/GP/StaticAnalse/GPServer/ClipModel2;
若服务打开请先清除缓存登录:http://localhost:6080/arcgis/admin;
然后在打开GP服务看看是否ok。
MapGIS OGC 共享服务使用说明一、引言1、数据格式需要支持XML、GML、KML和GeoRSS JSON2、服务的通信协议需要支持http Get/POST、SOAP、REST3、支持的OGC标准协议有:WMS WFS WCS WMTS WPS WFS-G二、网络地图服务(WMS)1、接口说明WMS服务支持SOAP协议和HTTP Get 和post协议2、SOAP服务请求示例1)wms getcapability的请求串:http://192.168.83.198/MapgisOGCWebService/SOAP/OGCWebSvc.asmx/WMSServer?VERSION=1.3.0&REQUEST=GetCapabilities&SERVICE=WMS&FORMA T=&UPDATESEQUENCE=2)wms getmap请求串http://192.168.83.198/MapgisOGCWebService/SOAP/OGCWebSvc.asmx/WMSServer?VERSION=1.3.0&REQUEST=getmap&LAYERS=行政区.WP,中心线,文化教育.WT&STYLES=&CRS=&BBOX=114.1,30.4,114.6,30.8&WIDTH=300&HEIGHT=400&FORMA T=image/gif&TRANSPARENT=true&BGCOLOR=&EXCEPTIONS=&TIME=&ELEV ATION=3)wms getfeatureinfo请求串:http://192.168.83.198/MapgisOGCWebService/SOAP/OGCWebSvc.asmx/WMSServer?REQUEST= GetFeatureInfo&SERVICE=WMS&VERSION=1.3.0&BBOX=114.125704740498,30. 4584932093614,114.500788705197,30.7085740673183&WIDTH=1180&HEIGHT= 650&QUERY_LAYERS=行政区.WP&X=482&Y=271&INFO_FORMAT=xml&FEATURE_COUNT=203、普通REST服务请求示例1)wms getcapability的请求串:http://192.168.83.198/MapgisOGCWebService/REST/WMSHandler.ashx?VERSION=1.3.0&REQUE ST=GetCapabilities&SERVICE=WMS&FORMA T=&UPDATESEQUENCE=3)wms getmap请求串http://192.168.83.198/MapgisOGCWebService/REST/WMSHandler.ashx?VERSION=1.3.0&REQUE ST=getmap&LAYERS=行政区.WP,中心线,文化教育.WT&STYLES=&CRS=&BBOX=114.1,30.4,114.6,30.8&WIDTH=300&HEIGHT=400&FORMA T=image/gif&TRANSPARENT=true&BGCOLOR=&EXCEPTIONS=&TIME=&ELEV ATION=3)wms getfeatureinfo请求串:http://192.168.83.198/MapgisOGCWebService/REST/WMSHandler.ashx?REQUEST=GetF eatureInfo&SERVICE=WMS&VERSION=1.3.0&BBOX=114.125704740498,30.4 584932093614,114.500788705197,30.7085740673183&WIDTH=1180&HEIGH T=650&QUERY_LAYERS=行政区.WP&X=482&Y=271&INFO_FORMAT=xml&FEATURE_COUNT=204、基于资源的REST服务请求示例以下示例中:TestData为资源名称,其他参数与OGC标准保持一致。
ArcGIS 10.2 发布地图服务步骤,包含注册数据库步骤1、首先打开地图mxd文档。
选择【文件】—【共享】—【服务】如下图所示:弹出发布服务对话框如果之前没有配置GIS服务器,需要添加服务器。
点击下图红的方框按钮。
选择【管理GIS服务器】填写【Server URL】地址,注意格式如下点击完成【Finish】如下图选择GIS服务器,填写要发布是服务名称。
选择默认【root】点击【Continue】点击【分析】弹出如下错误警告“没有将数据注册到数据库,数据将被拷贝到服务器”鼠标右击选择【注册数据库】弹出如下窗口如果提示注册不成功,请检查ORACLE数据库【本地网络服务配置】是否正确。
注意:必须是在x64位oracle上面配置本地网络服务配置。
附件:一、原因:在使用ArcGIS 10.1 for Server发布服务的时候,如果没有将数据所在的工作空间(个人数据库或者SDE数据库)注册到ArcGIS Server中,那么发布地图文档所使用的数据会被copy到ArcGIS Server的一个配置目录中,位置在:E:\Server10.1\arcgisserver\directories\arcgissystem\arcgisinput(根据安装路径定,我在ArcGIS Server站点的配置目录在E:\Server10.1\arcgisserver)。
在一些情况下我们并不需要copy数据,比如要发布要素服务,或者当地图文档所使用的数据很多的时候,我们不希望对数据进行copy,这样会造成磁盘空间的浪费或者耗费一定的等待时间,对于这种情况我们只需要将数据所在的工作空间注册到ArcGIS 10.1 for Server中即可,那么这在发布数据的时候就不会copy数据。
二、数据库注册操作如果ArcGIS Server和Desktop安装在同一台机器上,这估计是很多人的软件环境,如果这样的话可能需要多安装一点软件(32位的数据库客户端和64位的数据库服务端都需要安装),原因是ArcGIS Server是64位的而Desktop是32位的,制作地图文档,我们是在Desktop中完成的,我们发布服务最后的数据都是给Server用的,所以两个都是需要安装的。
使用ArcGIS GP服务之一框架介绍对于很多初学者来说,GP服务是一个难点,也是一个重点。
GP的全称是Geoprocessing,可以对原有的功能进行扩充,可以说只要在桌面实现的事情,在Server都可以做到。
我们首先看一下,Geoprocessing框架,我们主要是通过这些框架来进行Geoprocessing处理的。
我这里使用的是ArcGIS 10.1 sp1版本。
第一个,ArcToolBox,这里是系统自带的工具,只能复制和粘贴,不能手工的创建。
第二个,是Dialog,也就是对话框,点击某一个模型或者工具。
可以输入一些参数,将结果输出出来。
第三个,是Model Builder,我们可以点击,可以点击最右侧的那个按钮。
在下面的文章,我们将使用这个工具来建模,然后发布成GP服务。
第四个,是Python工具,我们点击,倒数第二个按钮。
另外我们说一下,工具分为多种类型的。
转载请注明出处,/HPhone/微博欢迎关注webgis使用ArcGIS GP服务之二手工建模前面打一个小广告,欢迎关注WebGIS微博建模,是我们发布GP服务的第一步,这是基础功。
我们为什么要建模呢?对于现实的GIS业务来说,基本上都有相应的流程和规范,具体怎么做,都得按照步骤来。
步骤少还好说,要是步骤多了,不仅效率低下,而且还容易出现工作错误,每一步都会产生中间文件。
例如我们的天气预报,将收集各个气象站站点定位到地图上,然后剪出中国的版图来,再然后进行克里金差值等等,一些步骤以后,就可以得到相应的温度线或者降雨线。
步骤都是规定好的,为什么不做成一个工具,然后直接输出结果呢?对,这就是建模的好处,我们通过将多个工具组合起来,生成一个工具,来完成整体的步骤化。
上一篇博客介绍了,我们首先打开Model Builder。
如果不知道怎么打开,请看上一篇博客吧。
首先介绍一下,我们要实现的一个过程,某一个地方发生污染,周围哪些城市将受影响,我们这里只考虑距离吧。
下面是我们整个建模的思想。
1:得到受污染的区域2:进行缓冲3:将在缓冲区的城市选出来。
最右侧的按钮。
我们可以将现有的工具,直接拖到这里面来。
比如我拖一个Buffer工具。
其实如果找不到的话,我们可以进行一个搜索,快捷键Ctrl+F。
拖进之后的样子。
我们双击Buffer,我们可以看到Buffer的很多参数,前面带绿点的参数是必填的。
参数分为两种方式填,一种直接填在这里面,另外一种是作为参数。
有绿点是必填的,如果不输入这些参数,这个工具是黑白色的,不是彩色的。
比如我在这里输入Linear unit :1 单位选择为Decimal degrees。
如果是以参数的方式,来添加的话,有两种方法添加。
先说第一种,右键buffer,选择Make Variable-From Parameter。
我们看到后面的参数,和上图的参数是一样的。
不过还是缺少了一个Output Feature Class。
看一下Buffer右侧是什么?这是拖进来,自动就把这个参数添加进来了,我这里点击选择Distance[value or field]。
由于之前,这个参数,我已经设好值,所以说显示的是彩色的。
后面的两个还是没有变成彩色,说明这个buffer还缺少一个必填参数。
就是Input Features。
注意,我们点击这个Distance参数,也是可以修改这个参数值的。
我们这时候,使用第二种方式。
在这里建模空白区域,右键选择Create Variable(创建变量),选择我们需要使用的参数类型,我们这里选择Feature Set。
点击,然后点击Feature Set,一直拖着鼠标不放到Buffer,然后松开。
然后会出现和这个类型匹配的,参数名字,这里我选择Input Features。
按理说,这里我已经完所有的参数,应该变成彩色才对。
回头想一下,应该是Feature Set没有设置成功,应该一些参数没有设置对。
我们点击Feature Set。
在这里我选择了一个区的shp文件。
点击确定。
我们再去看一下,我们的模型,都变成了彩色。
说明我们这个必须参数已经设置正确,正确与否,还不能确定。
我们先点击那个,进行检验一下啊,是否正确。
争取的话,我们点击。
运行完毕之后,可是并知道结果怎么样。
这个时候,我们可以右键这个Out Feature Class,选择Add To Display。
如果不这么办的话,也是可以采用其他的方法的,点击Out Feature Class,我们这样就可以知道整个的输出地址什么了,当然作为参数我们也可以自己进行手动的设置。
现在完了吗?其实对于输入Feature Set,我想进行一个手动画一些区域,然后进行一个缓冲区生成,来在Desktop上的一个检验。
把原来的"Input Features"参数还原成最初的样式吧。
在这之前,我们需要在Geodatabase文件中新建一个Feature Class,其中类型选择Polygon Feature。
为什么要建立这个呢?因为我们需要将这个模板引入到这个参数中,让Desktop知道我们要输入的是点、线还是面之类的。
右键这个属性,选择Properties。
进入Data Type标签,然后刚才我们新建的Feature Class。
稍等,还有一步需要完成,右键这个参数,然后选择Model Parameter。
这个时候,就会出现一个P。
所有出现P的,这个模型作为使用,都需要在使用的时候,作为其中一个参数出现,没有把它写死。
那个缓存长度,由于没有加P,使用的时候,参数都是死的,不能进行改变,除非重新编辑这个Model,但是一旦发布成服务,就不能更改了。
所以说,在使用之前,一旦要想好,那些参数是死的,哪些参数是在使用的时候,才能确定的。
为了GP服务的使用,参数的名字将会作为参数名称来提交的,为了更好的理解意思,最好更改一下名字,比如说,上图的"Feature Set",更改为"ContaminatedAreas"。
这个时候,我们来保存这个模型吧。
打开这个模型。
然后在Desktop画区域吧。
然后点击"OK",等待整个的运行完毕。
到了这里,我们缓冲区域基本上就够完成了。
下面我们就要整体构建我们模型了。
根据模型选择城市。
我们这个时候,需要添加一个新的工具,select layer by location。
把第一步的输出结果,作为第二个工具的参数Selecting Features。
然后再添加一个Input Features参数,选择相应的图层。
等等。
最后我们实现整个模型,是这样的。
10.1版本,为了更加保证模型,没有错误,需要先进行跑一遍才可以发布。
在这里我添加了原来画的区域,我是怎么做到的呢?很简单。
点击Geoprocessing-results。
然后把选中的,直接拖进去,就可以显示了,就能检验我们输入正确与否。
这一博客,确实有些长了。
下一个博客,我们就要做发布前的准备了。
这是我的数据文件下载转载请注明出处,/HPhone/微博欢迎关注webgis使用ArcGIS GP服务之三发布前的准备这里的准备分为两部分,分别是数据整理和环境设置。
上面我们使用到全国主要城市图,新建的Feature Class,中间和最后生成的等等数据,我们最好数据整理一下。
上图是我们常见的一个数据结构图。
ToolData在这里面,我们可以放置我们的底图Geodatabase和Schema Geodatabase。
何为Schema,上面我们新建的Feature Class,类似一种模板。
Scripts可以放置一些python脚本文件,具体脚本文件,请看下一篇关于python集成Module Builder ,生成工具。
Doc可以放置一些说明文件。
Scratch放置一些中间数据,例如上一个博客我们生成的缓冲区文件,就可以放置在这里。
例如这是我新建的文件列表地理处理环境设置是影响工具执行结果的附加参数。
这些参数与常规工具参数的区别在于它们不会显示在工具对话框中(存在某些例外情况)。
更确切地说,这些参数是先前使用独立对话框设置的值,工具在运行时将询问和使用这些参数。
环境设置有四个级别:∙应用程序级别设置是默认设置,执行任何工具时均应用该设置。
∙工具级别设置适用于工具的单次运行并且会覆盖应用程序级别设置。
∙模型级别设置使用某种模式指定和保存,并且会覆盖工具级别设置和应用程序级别设置。
∙模型过程级别设置在模型过程级别指定,随模型一起保存,并且会覆盖模型级别设置。
应用程序级别,我们点击ArcMap-Geoprocessing-Environment。
这里我们将Workspace - Current Workspace设置到第一个图的ToolShare文件,然后Scratch Workspace设置到图中的Scratch文件夹。
然后,调整我们的工具,需要中间文件和最后生产的文件,都放置在相对WorkSpace路径下。
右键我们之前编辑的工具,然后点击Edit。
找到相应的输出文件或输入文件模块,双击打开,设置为相对地址。
例如我这里设置的最后的输出文件,%scratchworkspace%,就代表上面的Scratch Workspace路径。
等等,我们还得去完成一件事情,就是需要设置我们新建的module需要设置保存为相对路径。
当然也需要将MXD文档设置为相对路径。
编辑模型-菜单栏Model-Model Properties-圈中下面标红的。
建议来说,MXD文档之类的工程,最后设置为相对路径,直接就拷贝使用。
可能,很多人不知道为什么需要设置ArcMap的Workspace?我们需要在ArcMap中跑一遍,验证是否正确,所以需要修改环境变量。
在Server 使用GP服务当中,每一次请求的时候,都会产生一个job,这个job会有自己的环境变量,这样一来,就可以保住整个数据不会互相影响。
我们保存所有的设置之后,然后重新运行一遍。
下面我们就要进行服务的发布了。
这是我的数据文件下载转载请注明出处,/HPhone/微博欢迎关注webgis使用ArcGIS GP服务之四GP服务发布所有的数据与环境都配置好以后,我们就需要发布GP服务了。
对于ArcGIS 10.1,发布GP服务方式改变了,得需要ArcMap帮助。
我们可以先将这个服务打包定义,然后发给别人,使用Sever发布,也可以直接使用Server发布。
不论怎么样,都需要预先在ArcMap跑一遍。
菜单栏Geoprocessing-Results查看结果。
为什么需要跑一遍呢?之前我们模型定制完成之后,直接发布,没有验证,可能使用GP服务,就出现问题。
所以,这样一来,先跑一遍,就可以处理这些问题,然后再去发布。