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

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

Spring 中使用反射创建 Bean 实例的几种方式

《Spring中使用反射创建Bean实例的几种方式》文章介绍了在Spring框架中如何使用反射来创建Bean实例,包括使用Class.newInstance()、Constructor.newI... 目录1. 使用 Class.newInstance() (仅限无参构造函数):2. 使用 Construc

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Python中conda虚拟环境创建及使用小结

《Python中conda虚拟环境创建及使用小结》本文主要介绍了Python中conda虚拟环境创建及使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录0.前言1.Miniconda安装2.conda本地基本操作3.创建conda虚拟环境4.激活c

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4