1、GeometryService计算面积和长度(Calculate_Feature_Length_Or_Area)功能实现
2014-08-19 13:59
531 查看
本文主要介绍利用GeometryService实现面积和长度的计算。首先看一下实现本功能的主要过程:
接下来就一步步介绍实现本功能的具体步骤和方法:
(本文的代码来自https://developers.arcgis.com/javascript/jssamples/util_measurepoly.html,本文只是提炼部分核心代码,讲解实现的思路,如需获取所有代码,请参考上述链接)
1、创建Draw对象
2、创建GeomeService对象
3、getAreaAndLength方法的实现,注意本方法只有在draw-end事件触发时才会执行
4、outputAreaAndLength方法的实现,注意,本方法只有GeomeService对象计算完面积和周长才会触发
下面看一下效果图:
接下来就一步步介绍实现本功能的具体步骤和方法:
(本文的代码来自https://developers.arcgis.com/javascript/jssamples/util_measurepoly.html,本文只是提炼部分核心代码,讲解实现的思路,如需获取所有代码,请参考上述链接)
1、创建Draw对象
var tb = new Draw(map); tb.on("draw-end", lang.hitch(map, getAreaAndLength)); tb.activate(Draw.FREEHAND_POLYGON);
2、创建GeomeService对象
var geometryService = new GeometryService("http://sampleserver6.arcgisonline.com/arcgis/rest/services/Utilities/Geometry/GeometryServer"); geometryService.on("areas-and-lengths-complete", outputAreaAndLength);
3、getAreaAndLength方法的实现,注意本方法只有在draw-end事件触发时才会执行
function getAreaAndLength(evtObj) { var map = this, geometry = evtObj.geometry; map.graphics.clear(); var graphic = map.graphics.add(new Graphic(geometry, new SimpleFillSymbol())); //setup the parameters for the areas and lengths operation var areasAndLengthParams = new AreasAndLengthsParameters(); areasAndLengthParams.lengthUnit = GeometryService.UNIT_FOOT; areasAndLengthParams.areaUnit = GeometryService.UNIT_ACRES; areasAndLengthParams.calculationType = "geodesic"; geometryService.simplify([geometry], function (simplifiedGeometries) { areasAndLengthParams.polygons = simplifiedGeometries; geometryService.areasAndLengths(areasAndLengthParams); }); }
4、outputAreaAndLength方法的实现,注意,本方法只有GeomeService对象计算完面积和周长才会触发
function outputAreaAndLength(evtObj) { var result = evtObj.result; console.log(json.stringify(result)); dom.byId("area").innerHTML = result.areas[0].toFixed(3) + " acres"; dom.byId("length").innerHTML = result.lengths[0].toFixed(3) + " feet"; }
下面看一下效果图:
相关文章推荐
- 用C语言编写函数,实现strlen计算字符串长度的功能
- OpenLayers中长度测量和面积测量等功能的实现2
- AE+C#实现缩放坐标比例尺长度面积量测输出图片等功能
- (转)Arcgis for Js之GeometryService实现测量距离和面积
- OpenLayers中长度测量和面积测量等功能的实现
- WebGIS实现要素在线编辑之Silverlight调用FeatureService实现编辑功能
- 已知一个抽象类Shapge,该类中有一个方法GetArea。 要求定义一个Rectangle类,继承Shape类,实现GetArea方法计算矩形面积。
- Arcgis for Js之GeometryService实现测量距离和面积
- 1、GeometryService的缓冲区(Buffer)功能实现
- WebGIS实现要素在线编辑之Silverlight调用FeatureService实现编辑功能
- AE+C#实现缩放坐标比例尺长度面积量测输出图片等功能
- WebGIS实现要素在线编辑之Silverlight调用FeatureService实现编辑功能
- Arcgis for Js之GeometryService实现测量距离和面积
- 【转】WebGIS实现要素在线编辑之Silverlight调用FeatureService实现编辑功能
- 用C语言编写函数,实现strlen计算字符串长度的功能
- Javascript扩展String.prototype实现格式金额、格式时间、字符串连接、计算长度、是否包含、日期计算等功能
- AE+C#实现缩放坐标比例尺长度面积量测输出图片等功能
- Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载]
- Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载]
- Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载]