arcgis js api 4.x根据Graphic数组创建FeatureLayer。

2023-12-04 09:38

本文主要是介绍arcgis js api 4.x根据Graphic数组创建FeatureLayer。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        FeatureLayer在大部分情况下是使用已发布的地图服务的要素图层里的数据,如果想要展示特定的业务数据,比如数据库查询的数据点,首先想到的是GraphicsLayer,也可以使用FeatureLayer,给FeatureLayer设置数据源(Graphic数组)、字段信息、渲染器等信息。接下来分基本的四步(定义字段、创建Graphic数组、定义渲染器、创建FeatureLayer)记录这个过程。

1、定义字段

                var fields = [{name: "ObjectID",alias: "ObjectID",type: "oid"   //   每个要素必须的字段,字段值必须唯一,当做是整数类型。。。},{name: "title",alias: "title",type: "string"  //字符串类型},{name: "size",  //可以用来渲染符号大小alias: "size",type: "integer"  //整数类型}];     //除了上面的三种类型,还有 double、date。。。

2、创建Graphic数组

                var graphics=[];  var startx=118;var starty=38;var i=1;  // 用于ObjectID属性// 每隔 0.05经度  0.05纬度创建一个点for(var x=startx;x<120;x+=0.05){for(var y=starty;y<40;y+=0.05){  //一共创建1600个点graphics.push({geometry: new Point({x: x,y: y  //没指定坐标系,默认是WGS84坐标系}),attributes: {ObjectID:i,title: "title",size:parseInt(Math.random()*5000+5000), },});i++;}}

3、创建渲染器

               var renderer = {type: "simple", // 简单渲染器  new SimpleRenderer()symbol: {type: "point-3d", // 符号类型  new PointSymbol3D()symbolLayers: [{type: "object",  // “符号子类型”  new ObjectSymbol3DLayer()//几何体样式 sphere(球) cylinder(圆柱) cube(立方块) cone(圆锥) inverted-cone(倒圆锥) diamond(钻石) tetrahedron(四面体)resource: { primitive: "sphere" },material: { color: "blue" }}]},visualVariables: [{    //视觉变量type: "size",field: "size",valueUnit: "feet" // 指定渲染字段的单位,还有meter。。。}]};

4、创建FeatureLayer,创建地图,创建Scene,设置初始的地图视图位置。

                var featureLayer = new FeatureLayer({source: graphics,fields: fields,renderer: renderer});var map = new Map({basemap: "satellite",ground: "world-elevation",layers:[featureLayer]});var initCam = {position: {x: 119,y: 37,z: 332780,spatialReference: {wkid: 4326}},heading: 358.8,tilt:30};var view = new SceneView({map: map,container: "viewDiv",camera: initCam});

渲染效果图:

这篇关于arcgis js api 4.x根据Graphic数组创建FeatureLayer。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/452986

相关文章

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

python如何创建等差数列

《python如何创建等差数列》:本文主要介绍python如何创建等差数列的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python创建等差数列例题运行代码回车输出结果总结python创建等差数列import numpy as np x=int(in

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st