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

相关文章

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定