Arcgis api 4.x 前端2D拉伸成3D

编程入门 行业动态 更新时间:2024-10-14 02:19:14

<a href=https://www.elefans.com/category/jswz/34/1766600.html style=Arcgis api 4.x 前端2D拉伸成3D"/>

Arcgis api 4.x 前端2D拉伸成3D

应用场景:假设有一批楼宇的shp数据,想要在前端用三维模式展示,不同高度用不同颜色表示。
测试数据如下:将此数据发布成要素服务。

可用arcgis api 4.x 面3D符号实现 PolygonSymbol3D:传输门:PolygonSymbol3D官方API文档

渲染配置 SimpleRenderer: 传送门:SimpleRenderer官方API文档

实现效果,拉伸前:

拉伸后:

源代码:要素图层服务需要替换成你自己的url,渲染配置的字段也根据你发布的要素图层设置

<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no"><title>2D拉伸成3D</title><style>html,body,#viewDiv {padding: 0;margin: 0;height: 100%;width: 100%;}</style><link rel="stylesheet" href=".18/esri/themes/light/main.css"><script src=".18/"></script><script>var to3D;require(["esri/Map","esri/views/SceneView","esri/layers/TileLayer","esri/Basemap","esri/geometry/SpatialReference","esri/symbols/PolygonSymbol3D","esri/symbols/ExtrudeSymbol3DLayer","esri/renderers/SimpleRenderer","esri/layers/FeatureLayer","esri/geometry/Extent","dojo/domReady!"], function (Map,  SceneView, TileLayer, Basemap, SpatialReference, PolygonSymbol3D, ExtrudeSymbol3DLayer,SimpleRenderer,FeatureLayer, Extent) {var tileLayer = new TileLayer({ //arcgis在线地图url: ""}) var featureLayer = new FeatureLayer({ //需替换成自己发布的要素图层url:"http://localhost:6080/arcgis/rest/services/TEST/TEST_2DTO3D/MapServer/0"})var customBasemap = new Basemap({baseLayers: [tileLayer, featureLayer],title: "Custom Basemap",id: "myBasemap"});var map = new Map({basemap: customBasemap});var view = new SceneView({container: "viewDiv",map: map,zoom: 16,center: [110.301,20.025]});//拉伸参数:根据发布的要素图层的具体字段来配置var visualVariables = [{type: "color", //类型 :颜色field: "COLOR", //需要配置颜色的字段 stops: [ //不同高度级别不同的颜色表示{ value: 1, color: "#7CFC00" },{ value: 2, color: "#ffff99" },{ value: 3, color: "#FFA500" },{ value: 4, color: "#FFC0CB" },{ value: 5, color: "#D8BFD8" },{ value: 6, color: "#4682B4" }  ]},{type: "size", //类型: 高度field: "HIGH", //需要配置高度的字段stops: [{ value: 1, size: 1 }, //不同的值代表不同高度,单位:米{ value: 120, size: 120 },]}];var resSym = new PolygonSymbol3D({ //3D符号symbolLayers: [new ExtrudeSymbol3DLayer()]});var renderer = new SimpleRenderer({ //渲染实例symbol: resSym,visualVariables: visualVariables});to3D = function() { //拉伸按钮绑定的方法var testLayer = new FeatureLayer({ //需替换成自己发布的要素图层url: 'http://localhost:6080/arcgis/rest/services/TEST/TEST_2DTO3D/MapServer/0',outFields: ["*"],opacity: 0.9,renderer:renderer});map.addMany([testLayer]);}   });</script>
</head>
<body><button type="button" onclick="to3D()">2D拉伸3D</button><div id="viewDiv"></div>
</body>
</html>

更多推荐

Arcgis api 4.x 前端2D拉伸成3D

本文发布于:2024-03-12 21:23:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1732450.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Arcgis   api

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!