-
createClassBreaksRenderer
(params)
{Promise<ClassBreaksRendererResult>}
- 自從:ArcGIS 適用於 JavaScript 4.6 的 API
生成一個ClassBreaksRenderer,可以直接應用於用於調用此方法的層。生成的渲染器根據給定的
field
值定義每個特征的符號顏色。默認配色方案是根據視圖的背景確定的。根據classificationMethod
,根據數據的統計信息生成分類間隔(或數據範圍)。根據field
的值所在的分類,為每個要素分配一種顏色。在大多數情況下,您將提供
layer
、view
、field
和classificationMethod
來生成此渲染器。這是一種數據統計不為人知且用戶不知道在可視化中使用什麽顏色的場景。您還可以使用valueExpression
而不是field
根據在運行時執行的腳本返回的值來可視化特征。提供其他選項是為了方便更多涉及的自定義可視化創作應用程序。
參數:
規格:類型 說明 params Object用於根據從給定字段或表達式返回的數據生成分類顏色可視化的輸入參數。有關每個參數的詳細信息,請參見下表。
規格:為其生成可視化的圖層。
view可選的 渲染輸入層的視圖。此方法檢查視圖的背景(即底圖、Web Map背景或視圖容器)以確定輸出渲染器的最佳顏色。在實踐中應始終設置此參數,但如果未提供此參數,則此方法將假定生成的渲染器將顯示在淺色背景上。當使用
valueExpression
創建渲染器或用於在 SceneView 中顯示的渲染器時,此參數是必需的。field可選的 將查詢其數據進行統計和分類的字段的名稱。如果使用
valueExpression
,則忽略此屬性。normalizationField可選的 用於規範化給定
field
值的字段名稱。提供歸一化字段有助於最大限度地減少一些可視化錯誤並標準化數據,因此所有特征都以最小的偏差進行可視化,因為麵積差異或計數變化。此選項通常在可視化密度時使用。normalizationType可選的 指示數據如何標準化。從
field
獲得的數據值在與分類間斷進行比較之前,會通過以下方式之一進行歸一化。有關可能值的列表,請參見下表。可能的值 說明 field 將 field
值除以normalizationField
的值。如果提供了normalizationField
,則默認設置此值。log 計算數據值的以 10 為底的對數。這對於某些數據分布可能是一種有用的方法,因為它減少了非常大的數據值的影響。 percent-of-total 將數據值除以所有數據值的總和,然後乘以 100。使用 normalizationTotal
定義要標準化的總值。如果提供了normalizationTotal
,則默認設置此值。除了
log
規範化之外,數據規範化通過將兩個值相除來創建一個比率。在比較要素之間的屬性值時,歸一化可最大限度地減少不同Map區域和觀察次數的影響。例如,將 18 到 30 歲的人口除以麵要素的麵積得出的密度值可以與其他要素進行平均比較,而不管它們的大小。可能的值:"field"|"log"|"percent-of-total"
normalizationTotal可選的 當
normalizationType
為percent-of-total
時,此屬性包含所有數據值的總和。classificationMethod可選的 默認值:equal-interval用於生成中斷的分類方法。有關可能值的列表,請參見下表。
可能的值 說明 equal-interval 將屬性值的範圍劃分為 equal-sized 子範圍。例如,如果您為值範圍從 0 到 300 的字段指定三個類,則此方法將創建三個範圍為 0-100、101-200 和 201-300 的類。等間隔最好應用於熟悉的數據範圍,例如百分比和溫度。此方法強調屬性值相對於其他值的數量。例如,它可以顯示一家商店是否屬於構成所有銷售額最高one-third 的商店組的一部分。 natural-breaks 對最大化類之間差異的相似值進行分組。特征被劃分為類別,其邊界設置在數據值差異較大的地方。自然間斷點是data-specific 分類,對於比較根據不同基礎信息構建的多個Map沒有用處。 quantile 為每個類分配相同數量的數據值。這非常適合線性分布的數據。由於每個類別中的要素按相同數量分組,因此生成的Map通常會產生誤導。相似的特征可能被放置在相鄰的類中,或者具有大不相同的值的特征可以被放置在同一個類中。您可以通過增加類的數量來最小化這種失真。 standard-deviation 創建具有相等值範圍的分類分隔符,這些值範圍是標準差的一部分。這通常以與平均值相差 1、one-half、one-third 或 one-fourth 標準差的間隔進行。 可能的值:"equal-interval"|"natural-breaks"|"quantile"|"standard-deviation"
standardDeviationInterval可選的 默認值: 1如果使用
standard-deviation
分類方法,則這表示生成分類間隔的間隔。可能的值:1 | 0.5 | 0.33 | 0.25
numClasses可選的 默認值: 5要生成的分類間斷數。如果指定了
standard-deviation
分類方法,則會忽略此問題。colorScheme可選的 在創作應用程序中,用戶可以選擇預定義的配色方案。將方案對象傳遞給此屬性以避免根據視圖的背景獲取一個。
valueExpression可選的 遵循 Arcade Visualization Profile 定義的規範的 Arcade 表達式。表達式可以使用
$feature
全局變量引用字段值,並且必須返回一個數字。此屬性覆蓋field
屬性,因此用於代替輸入field
值。valueExpressionTitle可選的 說明從
valueExpression
返回的值的文本。這是由Legend 小部件使用的。sqlExpression可選的 計算為數字的 SQL 表達式。
sqlWhere可選的 用於過濾統計查詢函數的 SQL where 子句。例如,這在您希望避免除以零的情況下很有用,就像創建優勢可視化的情況一樣。
outlineOptimizationEnabled可選的 默認值:錯誤的僅適用於多邊形圖層。指示多邊形輪廓寬度是否應根據視圖比例而變化。設置後,必須在
view
參數中提供有效的 MapView 實例。 3D SceneViews 不支持此選項。legendOptions可選的 提供用於設置標題以說明字段而不是使用字段名稱的選項。此標題將表示 Legend 中的字段。
規格:title可選的 用於表示 Legend 中給定字段或表達式的標題。
minValue可選的 用戶設置的最小值。將此與
maxValue
結合使用以在下限和上限之間生成分類中斷。這將是最低類休息的下限。maxValue可選的 用戶設置的最大值。將此與
minValue
結合使用以在下限和上限之間生成分類中斷。這將是最高等級突破的上限。defaultSymbolEnabled可選的 默認值:真的在渲染器上啟用
defaultSymbol
並將其分配給沒有值的特征和不在配置數據範圍內的特征。symbolType可選的 默認值:二維要生成的符號類型。這取決於您正在使用的視圖和所需的可視化。不需要為具有
mesh
幾何類型的圖層指定此參數。可能的值如下所述。值 說明 2d 使用 2D 符號(例如 SimpleMarkerSymbol 、 SimpleLineSymbol 或 SimpleFillSymbol )生成可視化。如果為 MapView 中的數據生成可視化,請使用此選項。 3d-flat 使用具有平麵符號圖層(例如 IconSymbol3DLayer 、 LineSymbol3DLayer 或 FillSymbol3DLayer )的 3D 符號生成可視化。如果為 SceneView 中的數據生成 2D 可視化,請使用此選項。 3d-volumetric 使用具有體積符號圖層的 3D 符號生成可視化,例如 ObjectSymbol3DLayer 、 PathSymbol3DLayer 或 ExtrudeSymbol3DLayer 。如果為 SceneView 中的數據生成 3D 可視化,請使用此選項。如果使用此選項,則必須向 view
參數提供 SceneView 實例。3d-volumetric-uniform 使用具有體積符號圖層的統一大小的 3D 符號生成可視化。如果為 SceneView 中的數據生成 3D 可視化,並且符號的大小應一致,例如球體,請使用此選項。如果使用此選項,則必須向 view
參數提供 SceneView 實例。可能的值:"2d"|"3d-flat"|"3d-volumetric"|"3d-volumetric-uniform"
colorMixMode可選的 默認值:代替此選項僅適用於生成網格 SceneLayers 的渲染器.指定符號顏色如何應用於幾何顏色/紋理。請參閱中的文檔FillSymbol3DLayer.material了解更多上下文。有關可能的值,請參見下表。
值 說明 tint 將符號 color
應用於不飽和幾何/紋理顏色。replace 移除幾何/紋理顏色並應用符號 color
。multiply 將幾何/紋理顏色值與符號 color
值相乘。結果是顏色較深。與白色相乘可保持幾何顏色相同。signal可選的 允許可取消的請求。如果取消,promise 將被拒絕,並出現名為
AbortError
的錯誤。另見AbortController。返回:
類型 說明 Promise<ClassBreaksRendererResult> 解析為 ClassBreaksRendererResult 的實例。 例子:
let layer = new FeatureLayer({ url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0" }); // visualization based on field and normalization field let colorParams = { layer: layer, view: view, field: "POP_POVERTY", normalizationField: "TOTPOP_CY", classificationMethod: "quantile", numClasses: 4 }; // when the promise resolves, apply the renderer to the layer colorRendererCreator.createClassBreaksRenderer(colorParams) .then(function(response){ layer.renderer = response.renderer; });
let layer = new FeatureLayer({ url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0" }); // visualization based off Arcade expression let colorParams = { layer: layer, valueExpression: "($feature.POP_POVERTY / $feature.TOTPOP_CY) * 100", view: view, sqlWhere: "TOTPOP_CY > 0", legendOptions: { title: "% of people living in poverty" } }; // when the promise resolves, apply the renderer to the layer colorRendererCreator.createClassBreaksRenderer(colorParams) .then(function(response){ layer.renderer = response.renderer; });
基本信息
以下是所在類或對象的基本信息。
AMD:
require(["esri/smartMapping/renderers/color"], (colorRendererCreator) => { /* code goes here */ });
ESM:
import * as colorRendererCreator from "@arcgis/core/smartMapping/renderers/color";
對象:
esri/smartMapping/renderers/color
自從:用於 JavaScript 4.2 的 ArcGIS API
用法說明
color.createClassBreaksRenderer
函數(或屬性)的定義如下:
相關用法
- JavaScript ArcGIS color.createContinuousRenderer用法及代碼示例
- JavaScript ArcGIS color.createPCTrueColorRenderer用法及代碼示例
- JavaScript ArcGIS color.createVisualVariable用法及代碼示例
- JavaScript ArcGIS color.createPCContinuousRenderer用法及代碼示例
- JavaScript ArcGIS color.createAgeRenderer用法及代碼示例
- JavaScript ArcGIS color.cloneScheme用法及代碼示例
- JavaScript ArcGIS color.getSchemesByTag用法及代碼示例
- JavaScript ArcGIS color.getSchemes用法及代碼示例
- JavaScript ArcGIS color.getSchemeByName用法及代碼示例
- JavaScript ArcGIS color.flipColors用法及代碼示例
- JavaScript ArcGIS colorUtils.getBackgroundColorTheme用法及代碼示例
- JavaScript ArcGIS colorRamps.names用法及代碼示例
- JavaScript ArcGIS colorUtils.getBackgroundColor用法及代碼示例
- JavaScript ArcGIS colorRamps.byTag用法及代碼示例
- JavaScript ArcGIS colorRamps.all用法及代碼示例
- JavaScript ArcGIS colorRamps.byName用法及代碼示例
- JavaScript ArcGIS coordinateFormatter用法及代碼示例
- JavaScript ArcGIS config.BeforeInterceptorCallback用法及代碼示例
- JavaScript ArcGIS config.assetsPath用法及代碼示例
- JavaScript ArcGIS config.workers用法及代碼示例
- JavaScript ArcGIS config.fontsUrl用法及代碼示例
- JavaScript ArcGIS config.geometryServiceUrl用法及代碼示例
- JavaScript ArcGIS config.request用法及代碼示例
- JavaScript ArcGIS config.routeServiceUrl用法及代碼示例
- JavaScript ArcGIS config.geoRSSServiceUrl用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 color.createClassBreaksRenderer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。