GIS有關GP服務的發布和調用


打印服務范例:http://blog.csdn.net/jingxinwjb/article/details/51906464

 

1、通過Modelbuilder新建工具。(注意:假如工具輸出兩個以上的結果,需要保存在相同文件及下,並將輸入輸出都設置為參數)

 

 

2、調用新建的工具,在result窗口中查看結果,工作是否正確。

3、發布服務時,參數要設置自定義,並且異步調用

4、調用參數說明:

5、參數輸入世必須是字符串格式,json需要用JSON.stringify(obj);進行轉換

6、調用時: usr1="https://localhost:6443/arcgis/rest/services/gp服務所在目錄/gp服務名/MapServer/jobs/“+data.jobId;

7、范例:同步用execute 異步用submitJob方法

button.onclick = function(){
                    var query = new esri.tasks.Query();
                    query.where = "1=1";
                    query.returnGeometry=true;
                    query.outFields = ["*"];
                    featureLayer.queryFeatures(query, function(ff) {
                        console.log("查詢完成");
                        var gpServiceUrl="https://localhost:6443/arcgis/rest/services/gp服務所在目錄/gp服務名/GPServer/gp服務名";
                        var gp = new esri.tasks.Geoprocessor(gpServiceUrl);
                        var obj=createObj(ff);
                        var str=JSON.stringify(obj);
                        //設置GP參數  
                          var params = {
                              GDP:str,
                              Field: "GDP"
                          };  
                          gp.submitJob(params, function(data){
                                console.log("complete");
                                console.log(data);
                                var usr1="https://localhost:6443/arcgis/rest/services/gp服務所在目錄/gp服務名/MapServer/jobs";
                                var mapurl= usr1+"/"+data.jobId;
                                var hotspotLayer = new esri.layers.ArcGISDynamicMapServiceLayer(mapurl, {  
                                    "id": "bufferlayer"  
                                });
                                // hotspotLayer=new exri.layers.ArcGISTiledMapServiceLayer(mapurl, {  
                                //     "id": "bufferlayer"  
                                // });
                              map.addLayer(hotspotLayer);  
                              var s=map.layerIds;
                              console.log(s);
                            }, function(data){
                                console.log("status");
                                console.log(data);
                            }, function(data){
                                console.log("failed");
                                //console.log(data);
                        });
                    });
                }  
            }); 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM