Key concepts for geoprocessing services
http://help.arcgis.com/en/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#//009300000029000000
A geoprocessing service contains geoprocessingtasks accessible by Web-enabled clients. Tasks are created by publishing geoprocessing model and script tools.
There are two ways to create a geoprocessing service in ArcGIS Desktop:
- Publish a geoprocessing toolbox. Each tool in the toolbox becomes a task in the geoprocessing service.
- Publish an ArcMap document containing geoprocessing tool layers. Each tool layer becomes a task in the geoprocessing service.
- A raster digital elevation model (DEM)
- A point feature class
- A polygon feature class
- Insteadof operating in a study area defined by the user, it would work in aspecific study area. Since the model has a known study area andoperates on a specific DEM, the DEM is no longer an input parameter.
- As ageoprocessing service, clients cannot upload feature classes. Instead,the user will digitize points in the client application that representwatershed pour points. The service would snap these points to the DEMusing a precomputed snap distance appropriate for the resolution of theDEM.
- Insteadof extracting polygons from an input feature class, the model wouldoperate on a known set of data, such as land-cover polygons. The outputwould be land-cover polygons within the computed watershed. The inputpolygon is no longer needed.
- When you publish a toolbox, all tools within the toolbox become geoprocessing tasks within the geoprocessing service.
- When you publish an ArcMap document, all tool layerswithin the map document become geoprocessing tasks within thegeoprocessing service. (Tool layers are created by dragging anddropping tools into the ArcMap table of contents.)
- Whenpublishing an ArcMap document containing tool layers, you can alsospecify that you want the ArcMap document to become a map service thatwill be used to draw the output of tasks. A map service that draws taskoutputs is called a result map service.
- The result of your task is a (potentially) large dataset.
- Thedata type of your output is unsupported by the client, such as rastersin ArcGIS Explorer. In this case, you use the result map service todisplay the output.
- You want to protect the result of your task by allowing it to only be viewed as a map and not downloaded as a dataset.
- You have complex cartography that needs to be drawn by the result map service and not by the client.
- When aresult map service is added to the application, all layers in the mapservice are available for display. These layers include geoprocessingtool layers used to draw output, layers that may contain sensitivedata, or layers used by your geoprocessing service but that make nosense to the user (like tool layers).
- Basemapsare multiscale and multiresolution. As you zoom in and out, the basemapchanges, showing details at large scales and aggregating details intogeneralizations at small scales (for example, rivers change from linefeatures at small scale to polygon features at large scales).Constructing a multiscale and multiresolution basemap that drawsquickly is not something your result map service needs to be dealingwith—its job is to draw outputs. You need to keep the design andimplementation of basemap map services separate from the design andimplementation of result map services.
- In ModelBuilder, right-click any intermediate data variable and choose Managed.Caution:Do not set output variables to Managed, only intermediate variables.
- Use variable substitution (%scratchworkspace%) for paths. For example:%scratchworkspace%/templines.shp %scratchworkspace%/scratch.gdb/outWatershed
- The client draws the data.
- The result map service draws the data.
- The list of fields will contain the list at the time you published.
- If the user of your task picks another layer, the list of fields will not refresh.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· 开发者新选择:用DeepSeek实现Cursor级智能编程的免费方案
· 【译】.NET 升级助手现在支持升级到集中式包管理
· 独立开发经验谈:如何通过 Docker 让潜在客户快速体验你的系统
· 并发编程 - 线程同步(二)