日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

arcgis api for javascript 距离与面积量算

發布時間:2025/4/16 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arcgis api for javascript 距离与面积量算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在之前的實驗中,距離量算跟面積量算一直出問題,費了非常長的時間,各種調式找不到原因。

如今成功完畢。與君共勉

1、距離量算中? ? ? ? lengthParams.polylines = [geometry];

2、面積量算中? ? ? ? this.outSR = new esri.SpatialReference({ wkid: 102113 });
? ? ? ? geometryService.project([geometry], this.outSR, function (geometry) {
? ? ? ? ? ? geometryService.simplify(geometry, function (simplifiedGeometries) {
? ? ? ? ? ? ? ? areasAndLengthParams.polygons = simplifiedGeometries;
? ? ? ? ? ? ? ? areasAndLengthParams.polygons[0].spatialReference = new esri.SpatialReference(102113);
? ? ? ? ? ? ? ? geometryService.areasAndLengths(areasAndLengthParams);
? ? ? ? ? ? });
? ? ? ? });

還有面積量算中跟距離量算有所不同,須要進行投影變換!由于一般咱們的底圖坐標系為4326


//量測 function measutreLength() {toolbar.activate(esri.toolbars.Draw.POLYLINE); } function measutreArea() {toolbar.activate(esri.toolbars.Draw.POLYGON); }
//量算 function doMeasure(geometry) {//更加類型設置顯示樣式measuregeometry = geometry; toolbar.deactivate();switch (geometry.type) {case "polyline":var symbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0, 0, 0]), 2);break;case "polygon":var symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_NONE, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT, new dojo.Color([255, 0, 0]), 2), new dojo.Color([255, 255, 0, 0.25]));break;}//設置樣式var graphic = new esri.Graphic(geometry,symbol);//清除上一次的繪圖內容myMap.graphics.clear();myMap.graphics.add(graphic);//進行投影轉換,完畢后調用projectCompleteMeasureGeometry(geometry); }//投影轉換完畢后調用方法 function MeasureGeometry(geometry) {//假設為線類型就進行lengths距離測算if (geometry.type == "polyline") {var lengthParams = new esri.tasks.LengthsParameters();lengthParams.polylines = [geometry];lengthParams.lengthUnit = esri.tasks.GeometryService.UNIT_METER;lengthParams.geodesic = true;lengthParams.polylines[0].spatialReference = new esri.SpatialReference(4326);geometryService.lengths(lengthParams);dojo.connect(geometryService, "onLengthsComplete", outputDistance);}//假設為面類型須要先進行simplify操作在進行面積測算else if (geometry.type == "polygon") {var areasAndLengthParams = new esri.tasks.AreasAndLengthsParameters();areasAndLengthParams.lengthUnit = esri.tasks.GeometryService.UNIT_METER;areasAndLengthParams.areaUnit = esri.tasks.GeometryService.UNIT_SQUARE_METERS;this.outSR = new esri.SpatialReference({ wkid: 102113 });geometryService.project([geometry], this.outSR, function (geometry) {geometryService.simplify(geometry, function (simplifiedGeometries) {areasAndLengthParams.polygons = simplifiedGeometries;areasAndLengthParams.polygons[0].spatialReference = new esri.SpatialReference(102113);geometryService.areasAndLengths(areasAndLengthParams);});});dojo.connect(geometryService, "onAreasAndLengthsComplete", outputAreaAndLength);} }//顯示測量距離 function outputDistance(result) {var CurX = measuregeometry.paths[0][measuregeometry.paths[0].length - 1][0];var CurY = measuregeometry.paths[0][measuregeometry.paths[0].length - 1][1];var CurPos = new esri.geometry.Point(CurX, CurY, myMap.spatialReference);myMap.infoWindow.setTitle("距離測量");myMap.infoWindow.setContent(" 測 量 長 度 : <strong>" + parseInt(String(result.lengths[0])) + "米</strong>");myMap.infoWindow.show(CurPos); }//顯示測量面積 function outputAreaAndLength(result) {var CurX = (measuregeometry._extent.xmax + measuregeometry._extent.xmin) / 2;var CurY = (measuregeometry._extent.ymax + measuregeometry._extent.ymin) / 2var CurPos = new esri.geometry.Point(CurX, CurY, myMap.spatialReference);myMap.infoWindow.setTitle("面積測量");myMap.infoWindow.setContent(" 面積 : <strong>" + parseInt(String(result.areas[0])) + "平方米</strong> 周長:" + parseInt(String(result.lengths[0])) + "米");myMap.infoWindow.show(CurPos);//alert("面積:" + dojo.number.format(result.areas[0]) + "平方米" + " 長度:" + dojo.number.format(result.lengths[0]) + "米"); }

轉載于:https://www.cnblogs.com/ldxsuanfa/p/10775947.html

總結

以上是生活随笔為你收集整理的arcgis api for javascript 距离与面积量算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一区二区免费在线播放 | 久久久久国产精品视频 | 中文字幕亚洲一区二区三区 | 久久久久91 | 亚洲av电影一区二区 | 自拍偷拍中文字幕 | 麻豆一二三区 | 少妇特黄a一区二区三区 | 亚洲乱码精品久久久久 | 亚洲精品视 | 亚洲精品网站在线 | 精品一区在线视频 | 无码人妻丰满熟妇区毛片18 | 国产一区二区三区视频在线播放 | 天堂在线中文网 | 青青国产视频 | 欧美在线一级片 | 国产三级按摩推拿按摩 | 成人精品一区二区三区电影 | 亚洲三页 | 日韩精品一线二线三线 | 国产福利一区二区视频 | 亚洲电影中文字幕 | 国产成人在线观看 | 中国黄色三级视频 | www.亚洲成人 | www.色就是色| 欧美午夜寂寞影院 | av网站免费在线观看 | 国产精品乱码久久久久久 | 亚洲女人天堂色在线7777 | 天堂网8 | 特级黄色录像 | 国产资源免费 | 国产一级高清视频 | 成人午夜av在线 | 亚洲91网| 国产高潮又爽又无遮挡又免费 | 亚洲成人黄 | 日韩图片区 | 宝贝乖h调教灌尿穿环 | 黄网在线免费 | 手机在线看片1024 | 成人国产片 | 欧美日韩高清一区 | 中文字幕在线观看免费高清 | 中文字幕看片 | 亚洲福利精品视频 | 一区二区三区免费在线视频 | 国产草草影院ccyycom | 亚洲精品中文字幕乱码三区 | 国产电影免费观看高清完整版视频 | 东京久久久 | 免费簧片在线观看 | 强行挺进皇后紧窄湿润小说 | 国产a精品 | wwwxxxx国产 | 成人av电影免费观看 | av私库在线观看 | 欧美在线视频不卡 | 日本视频在线免费观看 | 日韩理论在线观看 | 国产va视频 | 欧美在线免费视频 | 日本污网站 | 囯产精品久久久久久 | 久久久久久98| 黄色动漫在线观看 | 美女日批在线观看 | 深夜福利院 | 欧美电影一区 | 好吊一二三区 | 亚洲国产精品久久久 | 免费aa视频 | 国产一二三 | 国产成人一区二区三区视频 | 天天天天色 | 人妻换人妻仑乱 | 激情拍拍拍 | 青青草成人在线观看 | 日韩精品成人一区二区在线 | 国产真人毛片 | 粉嫩久久99精品久久久久久夜 | 久久午夜免费视频 | 精品国模一区二区三区 | 久久免费看少妇高潮v片特黄 | 亚洲精品久久久久久久久 | 偷拍视频久久 | 一级特黄视频 | 三级黄色小视频 | 99精品在线观看视频 | 夜色一区 | 免费一区视频 | 999超碰 | 久久精品视频91 | 日韩a√ | 精品久久在线观看 | 国产精品天美传媒沈樵 | 国产理论精品 |