ArcGIS For JS 字典

ArcGIS 字典

按照ArcGIS API for JavaScript中的目录,摘录下重要的类。


esri

Basemap

创建一个新的底图对象。底图可以从 PortalItem(众所周知的底图ID创建),也可以用于创建自定义底图。

Camera

摄像机定义了观察 SceneView 可见范围的点的位置,倾斜度和方向。它与设备硬件无关。此类仅适用于 3D SceneViews 。
创建SceneView后,它包含一个camera属性。

Color

通过传递十六进制,rgb(a),hsl(a)或命名的颜色值来创建新的颜色对象。十六进制,hsl(a)和命名的颜色值可以作为字符串传递:

config

用于配置 依赖库的全局属性。
该模块的值具有以下属性的对象。您也可以使用全局esriConfig变量来初始化esri / config模块。

NameTypeSummaryObject
apiKeyStringAn authorization string used to access a resource or service.more detailsmore details
assetsPathStringOverrides the URL for loading the API assets when using local builds of the @arcgis/core and arcgis-js-api NPM packages.more detailsmore details
fontsUrlStringThe URL for font resources used by the Font class in FeatureLayer and CSVLayer labels.more detailsmore details
geometryServiceUrlStringThe default GeometryService used by widgets and other operations, such as on-the-fly projections.more detailsmore details
geoRSSServiceUrlStringThe URL for the utility service used by GeoRSSLayer to convert GeoRSS documents.more detailsmore details
kmlServiceUrlStringThe URL for the utility service used by KMLLayer to convert KML documents.more detailsmore details
logObjectAn object with properties that control various aspects of log messages.more detailsmore details
portalUrlStringThe default URL of new portal instances.more detailsmore details
requestObjectAn object with properties that control various aspects of communication between the library and web servers.more detailsmore details
workersObjectThe AMD loader’s configuration object, which is loaded with each worker.more detailsmore details

geometry

使用TypeScript开发时用于导入Geometry类的便捷模块。提供批量导入不同类型(点、线、面)
,同时提供判断类型的接口。

Graphic

图形是现实世界地理现象的矢量表示。它可以包含几何图形,符号和属性。图形显示在GraphicsLayer中。

Ground

Ground类包含一些属性,这些属性指定地面如何在SceneView中显示。它包含一个layers属性,它是ElevationLayer的集合,它定义了地图表面的高程或地形。

在地图实例上,可以方便地通过ground属性初始化使用World Elevation Service的默认地面。
支持设置地表颜色、透明度等属性。

intl

此模块提供日期和数字格式设置方法以及支持的实用程序。
关于格式函数 formatDate(),formatNumber()和replace()依赖于所有Web浏览器中可用的国际化API,以启用对语言环境敏感的日期,时间和数字格式。

kernel

实用程序,用于检索API的当前版本。

map

Map类包含用于存储,管理和覆盖2D和3D查看共同的图层的属性和方法。
可以在地图上添加或删除图层,但他是通过MapView(用于以2D方式查看数据)或SceneView(用于以3D方式查看数据)进行渲染。
因此,地图实例是保存图层的简单容器,而“视图”是显示地图的图层和底图并与之交互的方法。
单个视图可以被多个视图引用。例如,此示例包含一个地图,该地图在两个单独的视图中可见-一个在2D中,另一个在3D中。
由于同一应用程序中的多个视图可以访问一个地图,因此所有与地图图层的用户交互都在视图上处理,而不是在地图上处理。
Map实例是MapView和SceneView的基本组成部分。应该在视图之前创建Map对象,以便可以将其传递到该视图的map属性中(例如MapView.map,SceneView.map)。

pointCloudRenderers

使用TypeScript开发时用于导入PointCloudRenderer类的便捷模块。例如,而不是像这样一次导入一个渲染器。用法类似 geometry :

PopupTemplate

PopupTemplate格式化并定义特定图层或图形的Popup的内容。当在视图中选择一个要素时,PopupTemplate允许用户访问要素属性中的值以及从Arcade表达式返回的值。
PopupTemplate包含标题和内容属性,这些属性用作模板,用于将要素的属性转换为HTML表示形式。语法{fieldName}或{expression / expressionName}执行参数替换。图形上的默认行为是单击图形后显示视图的弹出窗口。此默认行为需要PopupTemplate。
PopupTemplate还允许您格式化Number和Date字段值,并使用fieldInfos属性覆盖字段别名。
还可以将动作添加到模板中,以使用户能够执行与功能相关的动作,例如缩放到该功能或基于功能的位置或属性执行查询。

rasterRenderers

一个方便的模块,用于导入渲染器类,该类可以在使用 TypeScript 开发时用于渲染ImageryLayer。例如,而不是像这样一次导入一个渲染器。

renderers

typescript 导入 渲染器。同上

request

从远程服务器检索数据或上传文件

symbols

使用TypeScript开发时用于导入Symbol类的便捷模块。例如,而不是像这样一次导入一个符号。

TimeExtent

具有确定的开始和结束日期的时间段。时间范围用于显示或查询指定时间段内的要素。为了表示时刻,请将开始时间和结束时间设置为相同的日期。
创建JavaScript日期时,请注意,大多数构造函数都会根据您的本地时区而不是UTC(即世界标准时间)创建日期。若要针对UTC创建日期,请在Date对象上使用UTC方法。
TimeSlider 样例如下:
在这里插入图片描述
要素资源的描述中包含了时间范围在这里插入图片描述

TineInterval

TimeInterval是一个类,以十个时间单位(例如秒,天或年)中的一个描述时间长度。 TimeInterval由许多类引用,例如TimeInfo,它被时间感知层和TimeSlider小部件引用。

Viewpoint

描述2D或3D视图的位置点。在2D视图中,视点是使用中心点和比例值确定的。在3D视图中,使用相机位置确定该位置。可以将视点添加书签以供以后使用,或用于导航目的。

WebMap

从 ArcGIS Online 或 ArcGIS Enterprise 门户将 WebMap 加载到 MapView 中。它定义了 Web 地图的内容,样式和书签,并且可以在多个 ArcGIS Web 和桌面应用程序之间共享。
WebMap 被保存为 JSON 文档,ArcGIS API for JavaScript 可以通过 WebMap 类使用该 Web 文档,以轻松创建引人注目的2D应用程序。 JSON 文档是根据 WebMap 规范编写的。
尽管您可以轻松地创建自己的 webmaps,但是 ArcGIS Online 中有许多示例 Web地 图可用于 API 入门。您可以修改或添加新内容到这些网络地图。
通过 portalltiem 实例一个 webmap,再将该 webmap 作为 map 放入到 实例的 MapView。

ps:当前不支持 WCS 和 WFS 层。

WebScene:

类似 WebMap ,3D场景
Web场景是整个ArcGIS 3D映射的核心元素。它定义了场景的内容,样式,环境和幻灯片,并且可以在多个ArcGIS Web和桌面应用程序之间共享。可以使用Scene Viewer在ArcGIS Pro和ArcGIS Online中创建,发布和使用Web场景。Web场景保存为JSON文档,ArcGIS API for JavaScript可以通过WebScene类使用该场景,以轻松创建引人入胜的3D应用程序。 JSON文档是根据Web场景规范编写的。
尽管您可以轻松地创建自己的场景,但是ArcGIS Online中有成千上万个公开可用的Web场景,您可以使用它们来开始使用API​​。您可以修改这些场景或将新内容添加到这些场景。
要将WebScene加载到SceneView中,只需通过此类的portalItem属性引用ArcGIS Online中的Web场景项的ID。


core

Accessor

访问器是一个抽象类,它促进对实例属性的访问以及一种监视属性更改的机制。 Accessor的每个子类都定义了可直接访问或通过使用get()和set()方法访问的属性。通过使用watch()方法可以监视属性更改。
(似乎用于更方便地调试)

Collection

集合存储一组相同类型的 items 。它提供了有用的实用方法来处理 Collection 中的项目,包括filter(),find()和reduce()。
集合可以是任何类型。例如,GraphicsLayer.graphics是存储在GraphicsLayer中的图形的集合。
您可以使用Collection类中的方法在GraphicsLayer中添加,删除,重新排序或操作图形。

Error

Error 是增强调试和错误处理过程的类。该错误不会返回通用的JavaScript错误,而是会返回带有多个属性的标准化错误对象。
Error 类在许多情况下很有用,例如使用Promise,esriRequest模块以及许多不同的层和小部件。


button.on("click", function() {
  esriRequest(url, options).then(function(response) {
    // do something useful
  }).catch(function(error){
    console.log("informative error message: ", error.message);
  });
});

HandleOwner:

提供要与所有子类共享的单个handles属性。这对于自定义或扩展窗口小部件特别有用。

Handles:

此类有助于管理一组句柄。

lang:

提供一种实用程序方法,用于深度克隆具有已计算属性或具有自己的clone()方法(例如Extent)的属性的对象。

promiseUtils:

各种实用程序和便利功能,用于兑现承诺。

promise(样例):

在最基本的层面上,承诺是从异步任务中返回的未来价值的代表。执行任务时,承诺允许其他进程同时运行,同时等待返回未来价值。在时间和下载速度可能不可预知的情况下,提出多个网络请求时,这尤其有用。
承诺总是在三个状态之一:

  • 待定
  • 实现
  • 拒绝

很多类实现promise 的方法是采用 .then(function1) 的方式。

scheduling

各种实用程序和便利功能,用于在浏览器框架的各个阶段执行代码。调度模块允许您注册在每个动画帧中执行的任务。
可用于将更新与正在进行的视图动画同步,或通过调整每一帧的范围或镜头来手动为视图设置动画。

sql

创建遵循标准化SQL表达式的WhereClause表达式。 SQL表达式是一个或多个值,运算符以及产生一个值的SQL函数的组合。

WhereClause

WhereClause 用于通过将提供的结果解析为一个值的方式来提取满足指定条件的要素。 sql.parseWhereClause()方法返回一个 Promise ,该 Promise 解析为该模块的实例。

units

整个JS API中使用的单位类型。(角度单位、面积单位、长度单位等)

urlutils

使用URL的实用程序方法。

Proxy

代理的定义,某人被用户授权做某事的行为就是代理。对于arcgis js 而言,代理一定程度上指的是,通过某一台中间设备代替用户去访问指定的服务器(这个中间设备也可以是指定的服务器)。通过这样的方法,使得资源的访问不会收到限制(访问请求的字段过长、收到 CORS 影响)

watchUtils

用于观察访问器 accessor 的多种工具和便捷函数 。
监视属性修改,提供回调init(),
监视属性的更改,并根据需要自动将给定事件的事件处理程序附加和分离到属性值on(),
监视属性一次更改。第一次调用回调后,将删除返回的监视句柄once(),等多种方法

worker

该模块是一个实用程序框架,可简化ArcGIS API for JavaScript中Web工作者的使用。
模块提供了多核心处理的高级框架,通过主线程提供的 Connection Class 进行脚本的加载和回调函数的使用。该 Connection 能够用于 异步调节线程上的工作。

Connection

此类用于执行位于通过 worker 框架加载到单独线程中的模块上的远程方法。
worker.open()方法加载脚本并将 Promise 返回到主线程。一旦解决,您就可以访问Connection 的实例,该实例使您可以通过 invoke()或 broadcast()方法来调用模块的方法。

decorators

此模块包含访问器 TypeScript 装饰器。装饰器使我们可以在设计时定义和/或修改现有属性,方法和构造函数的行为。
例如:@aliasOf(propertyName):在装饰的属性和其成员之一的内部属性间建立双向绑定。


esri/form

ExpressionInfo:

ExpressionInfo 类定义在图层的 FormTemplate 中执行的 Arcade 表达式。这些表达式在运行时逐个特征地计算为数字,字符串,数组或字典值。这些值显示在图层的表单中,就好像它们是字段值一样。

Arcade

Arcade是为与ArcGIS一起使用而编写的一种轻量级且安全的表达语言。像其他表达语言一样,它可以执行数学计算并评估逻辑语句。它是专门为使用ArcGIS创建自定义可视化效果,弹​​出窗口和标签表达式而设计的,允许用户在 ArcGIS Pro,ArcGIS Online,ArcGIS Runtime API和ArcGIS API for JavaScript中编写,共享和执行表达式。
使Arcade在其他表达和脚本语言中特别独特的原因是它包含了几何函数。这些几何运算可让您计算面积和长度,测试拓扑关系并执行简单的叠加操作

** FormTemplate **:

FormTemplate 格式化并定义特定图层或图形的 FeatureForm 的内容。当在视图中选择一个要素时,FormTemplate 允许用户访问要素属性中的值以及 Arcade 表达式返回的值。
可以直接在 FeatureLayer,FeatureForm 或其视图模型上设置 FormTemplate。模板由显示特定类型的表单数据的各种元素组成。

elements

Element

表单元素定义了 FormTemplate 元素中应显示的内容。有两种特定的元素类型:

  • FiledElement
  • GroupElement
FiledElement

FieldElement 表单元素定义要素图层的字段如何参与FeatureForm。这是在要素表单或要素图层的 formTemplate 中设置字段配置的首选方法。

GroupElement

GroupElement 表单元素定义了一个容器,其中包含一组可以扩展,折叠或一起显示的表单元素。这是在要素表单或要素图层的 formTemplate 中设置分组字段配置的首选方法。

elements/inputs

BarcodeScannerInput:

BarcodeScannerInput 类为条形码或QR码扫描仪定义所需的用户界面。如果在ArcGIS API for JavaScript Web应用程序中使用了此输入类型,则该输入类型将默认为TextBoxInput类型,因为该API当前不支持条形码扫描.

ComboBoxInput:

ComboBoxInput 类为组合框组定义所需的用户界面。
在这里插入图片描述

DateTimePickerInput:

定义用于编辑表单中日期字段的所需用户界面。

RadioButtonsInput:

单选按钮组所需的用户界面
在这里插入图片描述

TextAreaInput/TextBoxInput:

定义了单行或者多行的输入界面。


geometry

Circle

一个圆,由圆心、半径构成。具有大地坐标系等参数

coordinateFormatter

格式化坐标,包括十进制度、度分秒等格式。

Extent

边界框的最小和最大X和Y坐标。范围用于描述MapView的可见部分。在SceneView中工作时,使用Camera定义视图内地图的可见部分。

Geometry

基本的几何对象类,无构造器,参考点线面等具体的构造方法。

geometryEngine

一种客户端几何引擎,用于测试,测量和分析两个或多个2D几何之间的空间关系。如果以下任何一种方法都需要多个几何图形,则所有几何图形必须具有相同的空间参考,这些方法才能正常工作。提供了缓冲、裁切、包含等等几何关系函数。

geometryEngineAsync

异步的客户端几何引擎。

HeightModelInfo

其定义了垂直坐标系的特征。在SceneView中,WebScene的高度模型信息用于避免渲染具有不兼容的垂直坐标系的图层。高度模型信息对象由曲面类型,垂直单位和可选的基准实现定义。

Mesh

网格是由具有属性的顶点组成的常规客户端3D几何类型。顶点包括地理位置,影响照明/阴影的法线和可用于将图像映射到网格的uv坐标。将顶点合并为3D图元以在场景中渲染网格(当前仅支持三角形图元)。 网格几何体可以具有确定其显示方式的固有材料。类似于场景图层中的3D对象,网格几何形状使用包含FillSymbol3DLayer的MeshSymbol3D符号来符号化。 为了支持多种材料(复杂3D模型通常是这种情况),网格可以定义为网格中特定区域定义材料的组件。除了支持多种材料外,组件还可以重用顶点,否则这些顶点将被复制以形成三角形。

Multipoint

有序的点集。

Point

既有三维坐标的位置。

Polygon

Polyline

projection

客户端的投影引擎

SpatialReference

定义视图,图层或任务参数的空间参考。这表示用于在地图上定位地理要素的投影坐标系或地理坐标系。每个投影的地理坐标系都由众所周知的ID(WKID)或定义字符串(WKT)定义。请注意,对于ArcGIS 10之前的版本,仅支持WKID。

support

geodesicUtils

此类对地球和70多个非地球椭球体进行大地测量。方法包括测地线长度,面积,点距和点对点计算。

GeographicTransformation

在坐标系之间投影数据有时需要在地理坐标系之间进行转换。地理变换用于在具有不同地理坐标系并因此具有不同基准的空间参考之间变换坐标。当将几何图形从一种空间参考转换为另一种空间参考时,使用最合适的变换可确保最佳的准确性。
投影模块提供了getTransformation()和getTransformations()方法,这些方法返回给定投影的默认地理变换或合适的地理变换列表。

GeographicTransformationStep

表示将坐标从一个地理坐标系转换到另一个地理坐标系的过程中的一个步骤。可以从代表地理基准转换的众所周知的ID(wkid)或众所周知的文本(wkt)构造地理转换步骤。

jsonUtils

JSON工具类,从JSON导入几何数据,返回几何对象类型

MeshComponent

用于将一种或多种材料应用于单个网格。

MeshMaterial

材质确定如何可视化MeshComponent。材料的主要特征之一是其颜色。 color属性可用于为整个MeshComponent设置统一的颜色。使用colorTexture属性,使用为Mesh.vertexAttributes中的每个顶点指定的uv坐标,将图像映射到网格组件上。 材质属性支持许多便捷的自动广播类型,包括十六进制颜色字符串和众所周知的颜色字符串(自动广播为Color),或表示图像,HTMLImageElements,HTMLCanvasElements,HTMLVideoElement或ImageData的URL的字符串(自动广播为MeshTexture)。

MeshMaterialMetallicRoughness

材质决定了如何可视化MeshComponent。这种特定的材料(基于MeshMaterial)使用金属/粗糙度照明模型来启用基于物理的照明。金属和粗糙度特性可用于模拟各种实际材料,包括金属和塑料。
在此图像中,您可以看到金属和粗糙度属性值如何影响材料的显示
在这里插入图片描述

MeshTexture

MeshTexture表示要用于MeshMaterial或MeshMaterialMetallicRoughness的图像数据。它通过其uv顶点属性映射到网格。 MeshTexture实例可以与MeshComponent.material属性一起使用,并且可以将它们设置为MeshMaterial.colorTexture或MeshMaterial.normalTexture。可以通过url或直接通过数据(HTMLImageElement,HTMLCanvasElement,HTMLVideoElement或ImageData)来引用图像。

meshUtils

用于处理Mesh对象的各种实用程序和便利功能。比如:网格高程采样器、从高程数据生成网格、

normalizeUtils

提供一种实用的方法,该方法可以标准化与中央子午线相交或落在世界范围之外的几何,以使它们停留在视图的坐标系内。支持仅限于Web Mercator和WGS-84空间参考中的几何。

webMercatorUtils

将Web墨卡托坐标转换为地理坐标,反之亦然。


identity

Credential

表示用于访问安全ArcGIS资源的凭据对象

IdentityManager;

此对象提供用于管理以下资源的用户凭据的框架和帮助程序方法:

  • 受保护的ArcGIS.com或ArcGIS Enterprise门户资源(例如,网络地图)
  • 使用基于令牌的身份验证保护ArcGIS Server资源。请注意,仅支持ArcGIS Server 10 SP 1和更高版本。如果您的应用程序访问来自不同域的服务,则将其视为跨域请求,并且您需要设置代理或使用CORS(如果浏览器支持)。如果支持CORS,则Identity Manager知道通过https向令牌服务发出请求。

OAuthInfo:

此类包含有关OAuth 2.0配置的信息。将其与IdentityManager小部件结合使用,有助于使用OAuth 2.0身份验证。

ServerInfo:

该类包含有关ArcGIS Server及其令牌端点的信息。


Layers

BaseDynamicLayer

可以扩展此类以创建动态地图图层。动态层显示基于请求(包括图像的范围和大小)在服务器上动态生成的图像。导出的图像覆盖整个视图范围。视图上的每个交互(例如,平移,缩放)都将导致服务器上导出新图像。每个导出都是唯一的,因此无法在浏览器中进行缓存。

BaseElevationLayer

BaseElevationLayer旨在扩展以创建自定义高程图层。您可以通过在BaseElevationLayer上调用createSubclass()来创建自定义ElevationLayer。
如果新层需要获取和准备资源,则可以在加载该层之前异步初始化属性。这在load()方法中处理。当图层即将显示时,此方法由您或视图调用一次。在方法的主体中,您可以调用addResolvingPromise()来添加一个承诺,该承诺必须在层被认为已加载之前解决。
您必须覆盖fetchTile()方法中的逻辑以返回自定义高程数据的值。可以这样做来夸大实际高程值或将主题数据映射为高程层。转换高程数据的值时,建议保持无数据值不变。

BaseTileLayer

可以扩展此类以创建自定义TileLayer。拼贴图层由图像(例如卫星图像)组成,这些图像由以行和列镶嵌在一起的方形拼贴组成,从而使该图层看起来像是一个连续的图像。这些图层具有多个详细级别(LOD),这些级别允许用户放大地图的任何区域并加载其他图块,这些图块在较大的地图比例尺上以更高的分辨率描绘要素。
切片图层通常为FeatureLayer等其他图层提供地理环境,并且比MapViewLayer和ImageryLayer等其他图层(每个视图请求并显示单个图像)的性能更好。
您可以通过在BaseTileLayer类上调用createSubclass()来创建自定义切片图层。出于以下原因之一,您可以创建自定义图块图层。

BingMapsLayer

该层支持Microsoft的Bing平铺地图内容。支持三种地图样式-道路,空中和混合地图。请注意,使用此层需要有效的Bing Maps密钥。
(天地图,百度底图等方法也可以使用 BaseTileLayer 的方法实例)

BuildingSceneLayer

该类被设计用于在SceneView中可视化具有详细内部装饰的建筑物。这些建筑模型通常是从​​建筑信息模型(BIM)项目中导出的。 BuildingSceneLayer中的数据可以表示墙壁,照明设备,机械系统,家具等。
在这里插入图片描述

CSVLayer

CSVLayer是基于CSV文件(.csv,.txt)的点图层。 CSV是一种纯文本文件格式,用于表示表格数据,包括地理要素(纬度,经度)。通常,纬度坐标为Y值,经度坐标为X值。可以通过API访问CSV文件中的要素,因此您可以查询要素并将其用作几何或地理处理服务的输入。


let url = "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_week.csv";

let csvLayer = new CSVLayer({
 url: url,
 copyright: "USGS Earthquakes"
});
map.add(csvLayer);  // adds the layer to the map

ElevationLayer:

ElevationLayer是一个图块层,用于在SceneViews中渲染高程。通过将地图的地面属性设置为world-elevation ,可以将默认的世界高程图层添加到地图。
高程图层是在地图地面的layers属性中设置的。不应将它们添加到地图的操作层中
在这里插入图片描述

FeatureLayer:

FeatureLayer是可以从地图服务或要素服务创建的单个图层。该层可以是空间(具有地理特征)或非空间(表)。 空间层由离散的要素组成,每个要素都有一个几何图形,可以将其作为2D MapView或3D SceneView呈现为具有空间上下文的图形。要素还包含数据属性,这些数据属性提供有关其所代表的实际要素的其他信息;属性可以在弹出窗口中查看,并用于渲染图层。可以查询,分析和渲染FeatureLayers以在空间上下文中可视化数据。 非空间层是不具有表示地理特征的空间列的表。

GeoJSONLayer:

GeoJSONLayer 类用于基于 GeoJSON 创建图层。 GeoJSON是一种用于编码各种地理数据结构的格式。 GeoJSON 数据必须符合 RFC 7946 规范,该规范指出坐标位于SpatialReference.WGS84中 。

  • 每个GeoJSONLayer仅接受一种几何类型。如果存在多种类型的几何,则将仅加载geometryType中指定的类型。如果未指定geometryType,它将默认为第一个几何的几何类型。
  • 每个GeoJSONLayer将仅接受属性的一个架构。 fields属性可用于为图层指定所需的字段。如果未定义字段,则第一个要素使用的架构将用于推断图层的字段架构。 不支持GeometryCollection。 不支持将对象用作GeoJSON功能的属性值。 目前不支持跨越Antimeridian线的几何。 GeoJSONLayer希望GeoJSON中要素对象的id属性为number类型。其他数据类型将不适用。

GeoRSSLayer:

GeoRSSLayer类用于基于GeoRSS创建图层。 GeoRSS是一种将地理信息添加到RSS feed的方法。 GeoRSSLayer支持简单的GeoRSS和GeoRSS GML编码,以及多种几何类型。
在这里插入图片描述

目前 SceneView 中不支持 GeoRSSLayer。

GraphicsLayer:

GraphicsLayer 包含一个或多个客户端图形。 GraphicsLayer 中的每个图形都在 SceneView 或MapView 内部的 LayerView 中呈现。图形包含代表真实世界现象的离散矢量几何。
与 FeatureLayer 和 MapImageLayer 不同,GraphicsLayer 没有架构。因此,组成GraphicsLayer 的图形可能具有多个几何类型(点,线或多边形)。由于 GraphicsLayer 无法具有关联的渲染器,因此每个图形都必须具有自己的符号。图形也可能包含彼此不同的属性架构。

图层由众多没有关联关系的单独图形组成。代表特定的意义。

GroupLayer:

GroupLayer提供了将多个子层组织到一个公共层的能力。假设有几个FeatureLayer都以不同的维度表示水要素。例如,井(点),溪流(线)和湖泊(多边形)。 GroupLayer提供了将它们视为称为“水要素”的一层的功能,即使它们存储为单独的要素层也是如此。为此,创建一个新的GroupLayer并使用add()方法将每个水层添加到GroupLayer。

ImageryLayer:

将图像服务资源表示为一层。 ImageryLayer 检索并显示图像服务中的数据。图像服务支持访问镶嵌图像,其目录以及目录中的各个栅格。图像服务支持动态访问和切片访问。动态访问提供了更多功能,而分块访问提供了对预煮分块的更快,更可扩展的访问。
(从服务发布的角度出发,就是发布一张不带符号化的栅格数据
在这里插入图片描述

ImageryTileLayer

ImageryTileLayer呈现来自平铺图像服务的栅格数据。在客户端投影,处理和渲染二进制光栅图块。

require(["esri/layers/ImageryTileLayer"], function(ImageryTileLayer) {
  let layer = new ImageryTileLayer({
    url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Toronto/ImageServer"
  });
});

关于栅格数据的图层

CapabilityDynamic imagery layerTiled imagery layerTile cache layerMap image layer
Layer can be added to a web map or an ArcGIS Pro project在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
Layer can be added to ArcMap在这里插入图片描述在这里插入图片描述在这里插入图片描述
Symbology can be modified in web map在这里插入图片描述在这里插入图片描述
Layer can be used as input to raster analysis tools在这里插入图片描述在这里插入图片描述
Layer can be used as input to deep learning inferencing tools在这里插入图片描述在这里插入图片描述在这里插入图片描述
Can get pixel values using Identify or pop-ups在这里插入图片描述在这里插入图片描述
Supports multiband imagery, where band information and pixel values can be accessed在这里插入图片描述在这里插入图片描述
Supports multidimensional data在这里插入图片描述在这里插入图片描述

IntegratedMeshLayer

正射影像计算出的三维场景图层。

KMLLayer

KMLLayer类用于基于KML文件(.kml,.kmz)创建图层。 KML是用于表示地理特征的基于XML的文件格式。 KMLLayer使用来自ArcGIS.com的实用程序服务,因此必须在Internet上公开访问您的kml / kmz文件。如果kml / kmz文件位于防火墙后面,则必须将esriConfig.kmlServiceUrl设置为您自己的实用程序服务(需要ArcGIS Enterprise)。

layer

多种图层的父类。

MapImageLayer

MapImageLayer 允许您显示和分析来自地图服务中定义的子图层的数据,并导出图像而不是要素。地图服务图像是根据请求在服务器上动态生成的,该请求包括LOD(详细程度),边框,dpi,空间参考和其他选项。在2D模式下,导出的图像具有指定的整个地图范围。在3D模式下,将导出两个图像:靠近相机的区域具有较高分辨率的图像,而距相机较远的区域具有较低的分辨率。
地图图像层是按位置和比例组织的地图制图的预渲染集合。这些图层可以同时包含要素和图像,并且可以动态显示或作为缓存的图像图块显示。 地图图像层的来源是地图服务,因此该服务中包含的要素层可以在Web地图中识别。但是,如果栅格数据包括在地图图像层中,则像素值和不同的波段信息在地图图像层中不可用。您不能对地图图像图层执行栅格分析。地图图像层中的栅格或图像数据的操作非常类似于图块缓存。浏览地图时,将生成并显示新的地图图像。 地图图像图层不会在网络地图中重新投影,因此投影和切片模式必须与底图的模式匹配,或者必须将地图图像层用作底图。(被打包起来的图像)

MapImageLayer调用的是地图服务,地图服务的数据源可以是矢量数据,也可以是栅格数据;ImageryLayer调用的是影像服务,影像服务的数据源只能是栅格数据。地图服务和影像服务除了数据源不同,在支持的功能上差异也很大,参看一下ArcGIS Server帮助中对这两种服务的介绍吧。

MapNotesLayer

通过MapNotesLayer,您可以从“地图查看器”中显示和修改地图注释(在网络地图上绘制的功能)。还可以使用2D MapView中的SketchViewModel 创建新的 MapNotesLayer。 MapNotesLayer在子图层集合中将地图注释组织为5种图层类型:multipointLayer,pointLayer,polygonLayer,polylineLayer和textLayer。这些层中的每一个都是GraphicLayers。标题(用于LayerList小部件),弹窗,几何图形和符号系统可以更新并保留。 地图注释是网络地图的一部分,通常是使用“地图查看器”创建的。有关更多信息,请参考ArcGIS Online文档中有关如何添加地图注释的信息。在网络地图规范中,地图注释是FeatureCollections的一种特殊类型。 可以显示使用Map Viewer Classic创建的地图注释,但是此类不能修改或访问地图注释。要查找是否可以编辑MapNotesLayer中的地图注释,可以检查features.operations.supportsMapNotesEditing属性值。

OGCFeatureLayer

用于创建由OGC API 元素服务提供的素材的图层。

OpenStreetMapLayer

允许使用OSM提供的底图。

PointCloudLayer

在场景视图中提供点云集的可视化。

SceneLayer

SceneLayer 是一种图层类型,设计用于按需流式传输并在SceneView中显示大量数据。 SceneLayers支持两种几何类型:点和3D对象(例如,建筑物)。

StreamLayer

StreamLayer连接到流服务或自定义WebSocket服务,实时显示与一组跟踪对象关联的观察流。观察结果可以包括位置,属性或两者的更改。流图层可以包含点,折线或面要素。 将流图层添加到地图后,用户可以查看服务器推送的实时更新。与要素层(在其中您显式调用服务以获得更新)不同,流层主动侦听流服务广播的数据流。流层会相应地更新其显示,以响应此数据广播而动态刷新。这意味着您不能使用或查看订阅开始之前流式传输的任何功能。
可以用在公交车轨迹,等需要实时更新的图层上。
在这里插入图片描述

TileLayer

TileLayer允许您使用ArcGIS Server REST API公开的缓存地图服务,并将其作为图块图层添加到地图。缓存的服务从缓存访问磁贴,而不是动态渲染图像。由于平铺的图层已被缓存,因此其渲染速度比MapImageLayers更快。要创建TileLayer实例,您必须引用缓存的地图服务的URL。

UnknownLayer

表示无法确定类型的图层。例如,当从URL加载图层而无法确定图层类型时,则将其表示为此类的实例。 加载WebMap或WebScene时,也可以使用此类的实例。如果WebMap / WebScene中的某一层的服务不可用,并且无法确定层的类型,则将其表示为UnknownLayer。重要的是要注意,不支持从此类构造层。

unsupportedLayer

表示不受支持的图层实例。例如,当加载WebMap或WebScene时,当前版本的API中可能不支持给定WebMap / WebScene中的某些图层类型。每个不受支持的层都将由此类的实例表示,以便在为将来的客户端保存WebMap / WebScene之后它们可以保留下来。重要的是要注意,不支持从此类构造层

VectorTileLayer

VectorTileLayer访问缓存的数据切片,并将其呈现为矢量格式。在缓存方面,它类似于WebTileLayer。但是,WebTileLayer呈现为一系列图像,而不是矢量数据。与栅格图块不同,矢量图块可以适应其显示设备的分辨率,并且可以重新设置样式以用于多种用途。

WCSLayer(网络覆盖服务)

WCS 会显示来自 OGC Web Coverage Service 的栅格数据。栅格数据是在客户端投影和渲染的。它支持1.0.0、1.1.0、1.1.1、1.1.2和2.0.1版本。对于2.0.1版,它支持支持 GEOTIFF 覆盖范围的服务器,并实现以下扩展:缩放,插值,范围子设置,CRS和 KVP / Get。 为了避免使用 WCSLayer 时出现跨域问题,您可以设置启用了CORS的服务器或代理。默认情况下,基于ArcGIS Server(10.3.1+)图像服务的WCSLayers启用了CORS。

WebTileLayer

WebTileLayer提供了一种简单的方法来将非ArcGIS Server地图图块添加为地图的图层。构造函数采用的URL模板通常遵循http://some.domain.com/{level}/{col}/{row}/的模式,其中level对应于缩放级别,column和row表示tile列,排。此模式不是必需的,但它是当前在网络上最常见的模式。
subDomains属性可用于指定为分片提供服务的子域,以加快分片的检索速度(使用subDomain可以绕过浏览器对域的最大并发请求数的限制)。如果指定了subDomains,则urlTemplate应该包含一个{subDomain}占位符。版权属性可用于定义将在地图的“归因”小部件中显示的归因信息。

WMSLayer

WMSLayer用于基于OGC Web地图服务(WMS)创建图层。 WMSLayer最初执行WMS GetCapabilities请求,这可能需要CORS或代理页。

WMTSLayer

WMTSLayer 用于基于OGC Web地图服务(WMTS)创建图层。 WMTSLayer最初执行WMTS GetCapabilities请求,这可能需要CORS或代理页面。

BuildingSublayers

BuildingComponentSublayer

BuildingComponentSublayers包含表示建筑物组件(如门,管道或AC单元)的3D对象要素。它们是BuildingSceneLayer中的子层,直接或作为BuildingGroupSublayer的一部分。

BuildingGroupSublayer

BuildingSceneLayer子图层的层次组。它用于将BuildingComponentSublayers分组为学科。如果BuildingSceneLayer具有完整模型子层,则该层也表示为BuildingGroupSublayer。

pointcloudFilters

PointCloudFilter

点云过滤器用于隐藏不满足过滤条件的点。 可以将两种类型的过滤器分配给PointCloudLayer.filters: PointCloudValueFilter对于根据点的分类值过滤点很有用。

PointCloudReturnFilter

激光雷达系统发出的激光脉冲可能会遇到多次反射,具体取决于它们遇到的表面。返回编号存储在RETURNS字段的每个点内。例如,第一个反射与景观中的最高点相关联。在某些情况下,激光脉冲仅返回代表地面的一个点。
在这里插入图片描述

PointCloudValueFilter

每个激光雷达点都有一个分类,该分类定义了反射激光脉冲的表面类型。使用LAS文件中的数字整数代码定义不同的类别(例如,建筑物,高植被,地面)。包括相应代码的类别的完整列表可以在LAS规范中找到。 PointCloudValueFilter用于根据点所属的类别过滤点。例如,要仅显示属于植被的点,可以在图层上设置以下过滤器:


const pcLayer = new PointCloudLayer({
  url: "https://tiles.arcgis.com/tiles/Imiq6naek6ZWdour/arcgis/rest/services/PointCloud_urban/SceneServer",
  filters: [{
    type: "value",
    field: "CLASS_CODE",
    mode: "include",
    // values include low, medium and high vegetation
    values: [3, 4, 5]
  }]
});

在这里插入图片描述

support

AttachmentInfo

AttachmentInfo类返回有关与功能关联的附件的信息。附件的内容将流式传输到客户端。如果FeatureLayer.capabilities.data.supportsAttachment为true,则可以使用附件。

BuildingFilter

BuildingFilter类定义了一组条件,可用于在SceneView中显示或隐藏BuildingSceneLayer的特定功能。例如,如果要查看建筑物的第二层部分,可以将过滤器设置为仅显示第二层。通过将过滤器添加到BuildingSceneLayer.filters集合并将ID分配给BuildingSceneLayer.activeFilterId,可以在图层上激活该过滤器。激活过滤器后,只有满足filterBlocks定义的条件的功能才会显示在SceneView中。

BuildingSummaryStatistics

包含有关BuildingSceneLayer所有子层中字段的统计信息。统计信息包含该层中最频繁的值,如果它们是数字,则包含最小值和最大值以及该字段可用的子层。

CodedValueDomain

有关属于域的编码值的信息。编码值域为字段指定一组有效的值。每个有效值都分配有一个唯一的名称。例如,在用于水管的层中,水管要素可能埋在不同类型的表面下,如GroundSurfaceType字段所示:路面,砾石,沙子或无(对于裸露的水管)。编码值域既包含存储在数据库中的实际值(例如,铺装时为1),又包括对该值实际含义的更便于用户使用的描述.

DimensionalDenfinition

维度定义基于一个变量和一个维度定义过滤器。您可以使用一维或多维切片进行过滤。当使用MosaicRule基于切片或一维或多维范围内的数据过滤数据时,通常使用此类的实例。 例如,单个ImageryLayer的深度尺寸可以存储在不同深度处相同像素位置的海水温度。另一个维度可以是时间,其中同一像素基于时间窗口存储多个值。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值