许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  ArcGIS JS API实现地图面积与周长计算方法

ArcGIS JS API实现地图面积与周长计算方法

阅读数 1
点赞 0
article_banner

1.arcgis for js中实现计算面积和周长需要两个服务地址,一个为地图切片资源地址,一个为计算面积和长度的工具服务地址,都可以在本地发布的 arcgis server manager中拿到;

显示js 代码


 var map, tb;        var geometryService;        require([            "esri/map", "esri/toolbars/draw",            "esri/symbols/SimpleMarkerSymbol", "esri/symbols/SimpleFillSymbol",            "esri/symbols/PictureFillSymbol", "esri/symbols/CartographicLineSymbol",            "esri/graphic",            "esri/Color", "dojo/dom", "dojo/on",            "esri/layers/ArcGISTiledMapServiceLayer",            "esri/tasks/GeometryService","esri/SpatialReference","esri/tasks/ProjectParameters","esri/tasks/AreasAndLengthsParameters",            "dojo/domReady!"        ], function( Map, Draw, SimpleMarkerSymbol, SimpleFillSymbol, PictureFillSymbol, CartographicLineSymbol, Graphic, Color, dom, on, ArcGISTiledMapServiceLayer,GeometryService,SpatialReference,ProjectParameters,AreasAndLengthsParameters ) {            map = new Map("mapDiv", {                "xmin":126.08797131337525,"ymin":41.88483304829672,"xmax":130.05572254059723,"ymax":47.20292839632739,                "spatialReference":{"wkid":4326}            });            map.on("load", initToolbar);            var oilAndGasLayer = new ArcGISTiledMapServiceLayer("http://localhost:6080/arcgis/rest/services/itms/MapServer");            map.addLayer(oilAndGasLayer);            geometryService=GeometryService("http://localhost:6080/arcgis/rest/services/Utilities/Geometry/GeometryServer");            geometryService.on("areas-and-lengths-complete", function(evt) {                var result = evt.result;                dom.byId("area").innerHTML = result.areas[0].toFixed(3) + " acres";                dom.byId("length").innerHTML = result.lengths[0].toFixed(3) + " feet";            });             function initToolbar() {                tb = new Draw(map);                tb.on("draw-complete", addGraphic);                tb.activate(Draw.FREEHAND_POLYGON);            }             function addGraphic(evt) {                var  geometry = evt.geometry;                map.graphics.clear();                map.graphics.add(new Graphic(geometry, new SimpleFillSymbol()));                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);                });            }        });

   创建DIV为 
  



<body><div id="mapDiv" style="height: 95%"></div>Length: <span id="length"></span><br>Area: <span id="area"></span></body>引用资源类为(实现资源类需要本地搭建arcgis api服务) 
  



    <link rel="stylesheet" type="text/css" href="http://localhost:8087/arcgis_js_api/library/3.22/3.22/esri/css/esri.css" />    <script src="http://localhost:8087/arcgis_js_api/library/3.22/3.22/init.js"></script>    <script src="../js/jquery-1.3.1.js"></script>



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空