@arcgis/coding-components 4.29.0-beta.93 → 4.29.0-beta.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +6 -1
  2. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ar.json +466 -26
  3. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.bg.json +466 -26
  4. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.bs.json +466 -26
  5. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ca.json +466 -26
  6. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.cs.json +466 -26
  7. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.da.json +466 -26
  8. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.de.json +466 -26
  9. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.el.json +466 -26
  10. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.en.json +466 -26
  11. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.es.json +466 -26
  12. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.et.json +466 -26
  13. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.fi.json +466 -26
  14. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.fr.json +466 -26
  15. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.he.json +466 -26
  16. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.hr.json +466 -26
  17. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.hu.json +466 -26
  18. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.id.json +466 -26
  19. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.it.json +466 -26
  20. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ja.json +466 -26
  21. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ko.json +466 -26
  22. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.lt.json +466 -26
  23. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.lv.json +466 -26
  24. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.nb.json +466 -26
  25. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.nl.json +466 -26
  26. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pl.json +466 -26
  27. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pt-BR.json +466 -26
  28. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pt-PT.json +466 -26
  29. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ro.json +466 -26
  30. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ru.json +466 -26
  31. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sk.json +466 -26
  32. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sl.json +466 -26
  33. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sr.json +466 -26
  34. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sv.json +466 -26
  35. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.th.json +466 -26
  36. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.tr.json +466 -26
  37. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.uk.json +466 -26
  38. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.vi.json +466 -26
  39. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-CN.json +466 -26
  40. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-HK.json +466 -26
  41. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-TW.json +466 -26
  42. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ar.json +9 -2
  43. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.bg.json +9 -2
  44. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.bs.json +9 -2
  45. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ca.json +9 -2
  46. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.cs.json +9 -2
  47. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.da.json +9 -2
  48. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.de.json +9 -2
  49. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.el.json +9 -2
  50. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.en.json +9 -2
  51. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.es.json +9 -2
  52. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.et.json +9 -2
  53. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.fi.json +9 -2
  54. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.fr.json +9 -2
  55. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.he.json +9 -2
  56. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.hr.json +9 -2
  57. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.hu.json +9 -2
  58. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.id.json +9 -2
  59. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.it.json +9 -2
  60. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ja.json +9 -2
  61. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ko.json +9 -2
  62. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.lt.json +9 -2
  63. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.lv.json +9 -2
  64. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.nb.json +9 -2
  65. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.nl.json +9 -2
  66. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.pl.json +9 -2
  67. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.pt-BR.json +9 -2
  68. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.pt-PT.json +9 -2
  69. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ro.json +9 -2
  70. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ru.json +9 -2
  71. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sk.json +9 -2
  72. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sl.json +9 -2
  73. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sr.json +9 -2
  74. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sv.json +9 -2
  75. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.th.json +9 -2
  76. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.tr.json +9 -2
  77. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.uk.json +9 -2
  78. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.vi.json +9 -2
  79. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.zh-CN.json +9 -2
  80. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.zh-HK.json +9 -2
  81. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.zh-TW.json +9 -2
  82. package/dist/arcgis-coding-components/assets/code-editor/arcade.worker.js +1 -1
  83. package/dist/arcgis-coding-components/index.esm.js +6 -1
  84. package/dist/arcgis-coding-components/{p-a1a4f5fc.js → p-06b7a85d.js} +6 -1
  85. package/dist/arcgis-coding-components/{p-4c959bce.js → p-22837217.js} +15 -10
  86. package/dist/arcgis-coding-components/{p-ccafed7f.js → p-2b1aca7c.js} +5 -0
  87. package/dist/arcgis-coding-components/{p-75ae922a.js → p-4c4149bc.js} +6 -1
  88. package/dist/arcgis-coding-components/{p-79707082.js → p-5fb23065.js} +6 -1
  89. package/dist/arcgis-coding-components/{p-009eaccf.js → p-8f020f20.js} +5 -0
  90. package/dist/arcgis-coding-components/p-a051ec0a.entry.js +6 -0
  91. package/dist/arcgis-coding-components/{p-cdfe57a1.js → p-a17571b6.js} +6 -1
  92. package/dist/arcgis-coding-components/{p-1d062d47.js → p-a6429039.js} +6 -1
  93. package/dist/arcgis-coding-components/{p-590b795b.js → p-c2344fd6.js} +6 -1
  94. package/dist/arcgis-coding-components/{p-ca7059d4.js → p-d37fa51c.js} +6 -1
  95. package/dist/arcgis-coding-components/p-db60fe10.js +6 -0
  96. package/dist/cjs/{arcade-defaults-7faf4d5f.js → arcade-defaults-042fbece.js} +487 -362
  97. package/dist/cjs/{arcade-mode-26b8bc7a.js → arcade-mode-b495cb6f.js} +24 -20
  98. package/dist/cjs/arcgis-arcade-api_6.cjs.entry.js +176 -112
  99. package/dist/cjs/arcgis-coding-components.cjs.js +6 -1
  100. package/dist/cjs/{css-eb1c8e5c.js → css-19093b80.js} +5 -0
  101. package/dist/cjs/{cssMode-90f06d02.js → cssMode-ce70c012.js} +7 -2
  102. package/dist/cjs/{html-1aa8e458.js → html-04cbd899.js} +7 -2
  103. package/dist/cjs/{htmlMode-d3283acc.js → htmlMode-5e973c6f.js} +7 -2
  104. package/dist/cjs/{index-aaf14a3e.js → index-30445be8.js} +5 -0
  105. package/dist/cjs/index.cjs.js +7 -2
  106. package/dist/cjs/{javascript-7a4d9023.js → javascript-8717f18b.js} +8 -3
  107. package/dist/cjs/{jsonMode-73be73dc.js → jsonMode-b93b2667.js} +7 -2
  108. package/dist/cjs/loader.cjs.js +6 -1
  109. package/dist/cjs/{tsMode-95a699e0.js → tsMode-73e2fe2f.js} +7 -2
  110. package/dist/cjs/{typescript-588df930.js → typescript-a75c0ef4.js} +7 -2
  111. package/dist/components/arcade-api.js +11 -6
  112. package/dist/components/arcade-contribution.js +16 -6
  113. package/dist/components/arcade-defaults.js +243 -118
  114. package/dist/components/arcade-mode.js +22 -18
  115. package/dist/components/arcade-results.js +137 -85
  116. package/dist/components/arcade-suggestions.js +9 -4
  117. package/dist/components/arcade-variables.js +10 -5
  118. package/dist/components/arcgis-arcade-api.js +5 -0
  119. package/dist/components/arcgis-arcade-editor.js +20 -8
  120. package/dist/components/arcgis-arcade-results.js +5 -0
  121. package/dist/components/arcgis-arcade-suggestions.js +5 -0
  122. package/dist/components/arcgis-arcade-variables.js +5 -0
  123. package/dist/components/arcgis-code-editor.js +5 -0
  124. package/dist/components/code-editor.js +9 -4
  125. package/dist/components/fields.js +5 -0
  126. package/dist/components/functional-components.js +5 -0
  127. package/dist/components/index.js +5 -0
  128. package/dist/components/index2.js +7 -2
  129. package/dist/components/markdown.js +5 -0
  130. package/dist/components/utilities.js +7 -2
  131. package/dist/esm/{arcade-defaults-0bc49d1c.js → arcade-defaults-106e7abf.js} +479 -354
  132. package/dist/esm/{arcade-mode-01365fb8.js → arcade-mode-a890a073.js} +24 -20
  133. package/dist/esm/arcgis-arcade-api_6.entry.js +176 -112
  134. package/dist/esm/arcgis-coding-components.js +7 -2
  135. package/dist/esm/{css-aade9167.js → css-5029659c.js} +5 -0
  136. package/dist/esm/{cssMode-edce5a89.js → cssMode-c3ebc40a.js} +7 -2
  137. package/dist/esm/{html-00b724af.js → html-13c9342a.js} +7 -2
  138. package/dist/esm/{htmlMode-ad3459b7.js → htmlMode-053279f0.js} +7 -2
  139. package/dist/esm/{index-3732acb8.js → index-c845e955.js} +5 -0
  140. package/dist/esm/index.js +7 -2
  141. package/dist/esm/{javascript-bdd52d83.js → javascript-c580af02.js} +8 -3
  142. package/dist/esm/{jsonMode-7b4c07fb.js → jsonMode-cd51566e.js} +7 -2
  143. package/dist/esm/loader.js +7 -2
  144. package/dist/esm/{tsMode-0bd06180.js → tsMode-c0164816.js} +7 -2
  145. package/dist/esm/{typescript-dfdad07a.js → typescript-7e6d57f4.js} +7 -2
  146. package/dist/loader/cdn.js +5 -1
  147. package/dist/loader/index.cjs.js +5 -1
  148. package/dist/loader/index.es2017.js +5 -1
  149. package/dist/loader/index.js +5 -1
  150. package/dist/types/components/arcade-editor/arcade-editor.d.ts +1 -1
  151. package/dist/types/components/arcade-results/arcade-results.d.ts +0 -5
  152. package/dist/types/components.d.ts +3 -3
  153. package/dist/types/utils/arcade-executor.d.ts +12 -4
  154. package/dist/types/utils/arcade-monaco/arcade.worker.d.ts +6 -4
  155. package/dist/types/utils/profile/editor-profile.d.ts +10 -5
  156. package/dist/types/utils/profile/types.d.ts +3 -3
  157. package/dist/types/utils/profile/utils.d.ts +4 -0
  158. package/package.json +10 -10
  159. package/dist/arcgis-coding-components/p-86772125.js +0 -1
  160. package/dist/arcgis-coding-components/p-ac769046.entry.js +0 -1
@@ -907,7 +907,7 @@
907
907
  "sinceVersion": "1.14",
908
908
  "link": "https://developers.arcgis.com/arcade/function-reference/featureset_functions/#length3d",
909
909
  "description": "根据高度或 Z 信息,返回输入 FeatureSet 的平面(即笛卡尔)长度。 必须为提供给该函数的几何分配一个投影坐标系。 如果空间参考不提供 Z 单位的值,则返回结果将以米为单位。 请记住,并非所有客户端(例如 ArcGIS API for JavaScript 的 3.x 系列)都支持 即使数据包含 Z 信息,也请求 Z 值。\n\n_可视化和标签配置文件中的要素几何 会根据视图的比例分辨率进行概化以提高绘制性能。 因此,在这些上下文中使用要素的几何(即 `$feature`)作为任何几何函数的输入 将返回因比例级别而异的结果。 其他配置文件,例如弹出窗口,提供全分辨率几何。_",
910
- "examples": "\n##### 示例\n\n以米为单位返回图层要素的 3D 长度\n\n```arcade\nLength($layer, 'meters')\n```\n\n",
910
+ "examples": "\n##### 示例\n\n以米为单位返回图层要素的 3D 长度\n\n```arcade\nLength3D($layer, 'meters')\n```\n\n",
911
911
  "completion": {
912
912
  "label": "Length3D",
913
913
  "detail": "Length3D(features, unit?) -> Number",
@@ -1713,6 +1713,57 @@
1713
1713
  "max": 2
1714
1714
  }
1715
1715
  },
1716
+ [
1717
+ {
1718
+ "type": "function",
1719
+ "name": "defaultvalue",
1720
+ "bundle": "core",
1721
+ "sinceVersion": "1.26",
1722
+ "link": "https://developers.arcgis.com/arcade/function-reference/geometry_functions/#defaultvalue1",
1723
+ "description": "Returns a specified default value if a key in a geometry does not exist or the value at the specified key is `null` or an empty text value.",
1724
+ "examples": "\n##### 示例\n\nPoint that has a z-value\n\n```arcade\nDefaultValue(Geometry($feature), \"z\", 1000)\n// Geometry($feature).hasZ is true\n// returns the value of Geometry($feature).z\n```\n\nPoint that does not have a z-value\n\n```arcade\nDefaultValue(Geometry($feature), \"z\", 1000)\n// Geometry($feature).hasZ is false\n// returns 1000\n```\n\n",
1725
+ "completion": {
1726
+ "label": "DefaultValue",
1727
+ "detail": "DefaultValue(container, key, defaultValue) -> Any",
1728
+ "insertText": "DefaultValue(${1:container_}, ${2:key_}, ${3:defaultValue_})$0",
1729
+ "insertTextMode": 2,
1730
+ "insertTextFormat": 2,
1731
+ "kind": 3,
1732
+ "documentation": {
1733
+ "kind": "markdown",
1734
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nReturns a specified default value if a key in a geometry does not exist or the value at the specified key is `null` or an empty text value.\n\n**参数**\n\n- **container**: [Geometry](https://developers.arcgis.com/arcade/guide/types/#geometry) - The input geometry to check.\n- **key**: [Text](https://developers.arcgis.com/arcade/guide/types/#text) - The key to check.\n- **defaultValue**: [Any](https://developers.arcgis.com/arcade/guide/types/#any) - This value is returned if the key does not exist or the value at the specified key is `null` or an empty text value.\n\n**返回值**: [Any](https://developers.arcgis.com/arcade/guide/types/#any) \nReturns the value at the specified key if defined. Otherwise, returns the value specified in `defaultValue`."
1735
+ }
1736
+ },
1737
+ "parametersInfo": {
1738
+ "min": 3,
1739
+ "max": 3
1740
+ }
1741
+ },
1742
+ {
1743
+ "type": "function",
1744
+ "name": "defaultvalue",
1745
+ "bundle": "core",
1746
+ "link": "https://developers.arcgis.com/arcade/function-reference/geometry_functions/#defaultvalue2",
1747
+ "description": "Returns a specified default value if at least one of the keys in a geometry's nested properties does not exist or the value at the specified key is `null` or an empty text value.",
1748
+ "examples": "\n##### 示例\n\nRing, coordinate, and x value all exist and have a value\n\n```arcade\n// polygon with one ring\nvar shape = Polygon({\n rings: [[\n Point({ x: -97.06138, y: 32.837, z: 100, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06133, y: 32.836, z: 50, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06124, y: 32.834, z: 20, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06127, y: 32.832, z: 0, hasZ: true, spatialReference: { wkid: 102100 } })\n ]],\n hasZ: true,\n spatialReference: { wkid: 102100 }\n});\n\nreturn DefaultValue(shape, [\"rings\",0,0,\"z\"], 1000)\n// returns 100\n```\n\nRing does not exist\n\n```arcade\n// polygon with one ring\nvar shape = Polygon({\n rings: [[\n Point({ x: -97.06138, y: 32.837, z: 100, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06133, y: 32.836, z: 50, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06124, y: 32.834, z: 20, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06127, y: 32.832, z: 0, hasZ: true, spatialReference: { wkid: 102100 } })\n ]],\n hasZ: true,\n spatialReference: { wkid: 102100 }\n});\n\nreturn DefaultValue(shape, [\"rings\",2,0,\"z\"], 1000)\n// returns 1000\n```\n\nRing and coordinate exist, but m-value does not exist\n\n```arcade\n// polygon with one ring\nvar shape = Polygon({\n rings: [[\n Point({ x: -97.06138, y: 32.837, z: 100, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06133, y: 32.836, z: 50, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06124, y: 32.834, z: 20, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06127, y: 32.832, z: 0, hasZ: true, spatialReference: { wkid: 102100 } })\n ]],\n hasZ: true,\n spatialReference: { wkid: 102100 }\n});\n\nreturn DefaultValue(shape, [\"rings\",0,0,\"m\"], 100)\n// returns 100\n```\n\n",
1749
+ "completion": {
1750
+ "label": "DefaultValue",
1751
+ "detail": "DefaultValue(container, keys, defaultValue) -> Any",
1752
+ "insertText": "DefaultValue(${1:container_}, ${2:keys_}, ${3:defaultValue_})$0",
1753
+ "insertTextMode": 2,
1754
+ "insertTextFormat": 2,
1755
+ "kind": 3,
1756
+ "documentation": {
1757
+ "kind": "markdown",
1758
+ "value": "Returns a specified default value if at least one of the keys in a geometry's nested properties does not exist or the value at the specified key is `null` or an empty text value.\n\n**参数**\n\n- **container**: [Geometry](https://developers.arcgis.com/arcade/guide/types/#geometry) - The input geometry to check.\n- **keys**: [Array](https://developers.arcgis.com/arcade/guide/types/#array)<[Number](https://developers.arcgis.com/arcade/guide/types/#number) \\| [Text](https://developers.arcgis.com/arcade/guide/types/#text)> - An array of the keys or indexes to check in each level of the container's structure.\n- **defaultValue**: [Any](https://developers.arcgis.com/arcade/guide/types/#any) - This value is returned if at least one of the keys or indices does not exist or the value at the specified key is `null` or an empty text value.\n\n**返回值**: [Any](https://developers.arcgis.com/arcade/guide/types/#any) \nReturns the value at the specified key or index if defined. Otherwise, returns the value specified in `defaultValue`."
1759
+ }
1760
+ },
1761
+ "parametersInfo": {
1762
+ "min": 3,
1763
+ "max": 3
1764
+ }
1765
+ }
1766
+ ],
1716
1767
  {
1717
1768
  "type": "function",
1718
1769
  "name": "densify",
@@ -1863,6 +1914,31 @@
1863
1914
  "max": 3
1864
1915
  }
1865
1916
  },
1917
+ {
1918
+ "type": "function",
1919
+ "name": "distancetocoordinate",
1920
+ "bundle": "geometry",
1921
+ "sinceVersion": "1.26",
1922
+ "link": "https://developers.arcgis.com/arcade/function-reference/geometry_functions/#distancetocoordinate",
1923
+ "description": "Returns a coordinate along an input line based on a given distance. If the distance is not found along the input line, then the result will be `null`.\n\n_Feature geometries in the visualization and labeling profiles are generalized according to the view's scale resolution to improve drawing performance. Therefore, using a feature's geometry (i.e. `$feature`) as input to any geometry function in these contexts will return different results at each scale level. Other profiles, such as popup, provide the full resolution geometry._",
1924
+ "examples": "\n##### 示例\n\nReturns the coordinate of the input polyline based on the given distance value\n\n```arcade\nvar result = DistanceToCoordinate(Geometry($feature), 1038);\n\nreturn result.coordinate;\n```\n\n",
1925
+ "completion": {
1926
+ "label": "DistanceToCoordinate",
1927
+ "detail": "DistanceToCoordinate(inputLine, inputDistance) -> Dictionary",
1928
+ "insertText": "DistanceToCoordinate(${1:inputLine_}, ${2:inputDistance_})$0",
1929
+ "insertTextMode": 2,
1930
+ "insertTextFormat": 2,
1931
+ "kind": 3,
1932
+ "documentation": {
1933
+ "kind": "markdown",
1934
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nReturns a coordinate along an input line based on a given distance. If the distance is not found along the input line, then the result will be `null`.\n\n_Feature geometries in the visualization and labeling profiles are generalized according to the view's scale resolution to improve drawing performance. Therefore, using a feature's geometry (i.e. `$feature`) as input to any geometry function in these contexts will return different results at each scale level. Other profiles, such as popup, provide the full resolution geometry._\n\n**参数**\n\n- **inputLine**: [Polyline](https://developers.arcgis.com/arcade/guide/types/#polyline) \\| [Array](https://developers.arcgis.com/arcade/guide/types/#array)<[Point](https://developers.arcgis.com/arcade/guide/types/#point)> \\| [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - The line or path from which to find a coordinate. When using a Feature as input, the feature's geometry must be a polyline.\n- **inputDistance**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - The distance used to find the coordinate along `inputLine` from the start of the line.\n\n**返回值**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) \nReturns a dictionary with the following properties. If the distance is not found along the input line, then the result will be `null`.\n\n- **coordinate**: [Point](https://developers.arcgis.com/arcade/guide/types/#point) - The coordinates of a point along `inputLine` based on the given distance value. The `searchPoint` must have `hasZ` equal to `true` for the resulting `coordinate` to include a z value.\n- **distanceAlong**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - The planar distance from the start of the `inputLine` measured along the line to the `coordinate`.\n- **partId**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - In the case of a polyline input, the index of the path to which the `coordinate` belongs.\n- **segmentId**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - The index (relative to the path) of the line segment to which the `coordinate` belongs. If `coordinate` represents a vertex of the input line, then `segmentId` will return the index of the previous vertex. If `coordinate` is the first vertex of `inputLine`, then the value of `segmentId` will be `0`."
1935
+ }
1936
+ },
1937
+ "parametersInfo": {
1938
+ "min": 2,
1939
+ "max": 2
1940
+ }
1941
+ },
1866
1942
  {
1867
1943
  "type": "function",
1868
1944
  "name": "envelopeintersects",
@@ -2036,6 +2112,58 @@
2036
2112
  "max": 1
2037
2113
  }
2038
2114
  },
2115
+ [
2116
+ {
2117
+ "type": "function",
2118
+ "name": "hasvalue",
2119
+ "bundle": "core",
2120
+ "sinceVersion": "1.26",
2121
+ "link": "https://developers.arcgis.com/arcade/function-reference/geometry_functions/#hasvalue1",
2122
+ "description": "Indicates whether a geometry has a value at a given key or index.",
2123
+ "examples": "\n##### 示例\n\nPoint that has a z value\n\n```arcade\nif( TypeOf(Geometry($feature)) == \"Point\"){\n return HasValue(Geometry($feature), \"z\")\n // returns true\n}\n```\n\nPolygon with key that does not exist\n\n```arcade\nif( TypeOf(Geometry($feature)) == \"Polygon\"){\n return HasValue(Geometry($feature), \"verticalCoordinateSystem\")\n // returns false\n}\n```\n\n",
2124
+ "completion": {
2125
+ "label": "HasValue",
2126
+ "detail": "HasValue(inputGeometry, key) -> Boolean",
2127
+ "insertText": "HasValue(${1:inputGeometry_}, ${2:key_})$0",
2128
+ "insertTextMode": 2,
2129
+ "insertTextFormat": 2,
2130
+ "kind": 3,
2131
+ "documentation": {
2132
+ "kind": "markdown",
2133
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nIndicates whether a geometry has a value at a given key or index.\n\n**参数**\n\n- **inputGeometry**: [Geometry](https://developers.arcgis.com/arcade/guide/types/#geometry) - The geometry to check.\n- **key**: [Text](https://developers.arcgis.com/arcade/guide/types/#text) - The key or property name to check.\n\n**返回值**: [Boolean](https://developers.arcgis.com/arcade/guide/types/#boolean)"
2134
+ }
2135
+ },
2136
+ "parametersInfo": {
2137
+ "min": 2,
2138
+ "max": 2
2139
+ }
2140
+ },
2141
+ {
2142
+ "type": "function",
2143
+ "name": "hasvalue",
2144
+ "bundle": "core",
2145
+ "sinceVersion": "1.26",
2146
+ "link": "https://developers.arcgis.com/arcade/function-reference/geometry_functions/#hasvalue2",
2147
+ "description": "Checks whether a property or index nested several levels deep in a geometry has a value. This allows you to drill into a nested structure in one step rather than check values at each level. Returns `true` if the keys and indexes at each level of the structure exist and include a non-null value.",
2148
+ "examples": "\n##### 示例\n\nRing, coordinate, and x value all exist and have a value\n\n```arcade\n// polygon with one ring\nvar shape = Polygon({\n rings: [[\n Point({ x: -97.06138, y: 32.837, z: 100, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06133, y: 32.836, z: 50, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06124, y: 32.834, z: 20, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06127, y: 32.832, z: 0, hasZ: true, spatialReference: { wkid: 102100 } })\n ]],\n hasZ: true,\n spatialReference: { wkid: 102100 }\n});\n\nif(HasValue(shape, [\"rings\",0,0,\"x\"])){\n // if() evaluates to true, thus executing the return\n return shape.rings[0][0].x;\n // returns -97.06138\n}\n```\n\nRing does not exist\n\n```arcade\n// polygon with one ring\nvar shape = Polygon({\n rings: [[\n Point({ x: -97.06138, y: 32.837, z: 100, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06133, y: 32.836, z: 50, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06124, y: 32.834, z: 20, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06127, y: 32.832, z: 0, hasZ: true, spatialReference: { wkid: 102100 } })\n ]],\n hasZ: true,\n spatialReference: { wkid: 102100 }\n});\n\nif(HasValue(shape, [\"rings\",2,0,\"x\"])){\n // if() evaluates to false, thus not executing the return\n return shape.rings[2][0].x;\n // polygon only has one ring; there is not a third ring\n}\n```\n\nRing and coordinate exist, but m value does not exist\n\n```arcade\n// polygon with one ring\nvar shape = Polygon({\n rings: [[\n Point({ x: -97.06138, y: 32.837, z: 100, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06133, y: 32.836, z: 50, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06124, y: 32.834, z: 20, hasZ: true, spatialReference: { wkid: 102100 } }),\n Point({ x: -97.06127, y: 32.832, z: 0, hasZ: true, spatialReference: { wkid: 102100 } })\n ]],\n hasZ: true,\n spatialReference: { wkid: 102100 }\n});\n\nif(HasValue(shape, [\"rings\",0,3,\"m\"])){\n // if() evaluates to false, thus not executing the return\n return shape.rings[0][3].m;\n // there is a coordinate at this location, but it does not have an m value\n}\n```\n\n",
2149
+ "completion": {
2150
+ "label": "HasValue",
2151
+ "detail": "HasValue(inputGeometry, keys) -> Boolean",
2152
+ "insertText": "HasValue(${1:inputGeometry_}, ${2:keys_})$0",
2153
+ "insertTextMode": 2,
2154
+ "insertTextFormat": 2,
2155
+ "kind": 3,
2156
+ "documentation": {
2157
+ "kind": "markdown",
2158
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nChecks whether a property or index nested several levels deep in a geometry has a value. This allows you to drill into a nested structure in one step rather than check values at each level. Returns `true` if the keys and indexes at each level of the structure exist and include a non-null value.\n\n**参数**\n\n- **inputGeometry**: [Geometry](https://developers.arcgis.com/arcade/guide/types/#geometry) - The dictionary or feature to check.\n- **keys**: [Array](https://developers.arcgis.com/arcade/guide/types/#array)<[Number](https://developers.arcgis.com/arcade/guide/types/#number) \\| [Text](https://developers.arcgis.com/arcade/guide/types/#text)> - An array of the keys or indexes to check in each level of the structure.\n\n**返回值**: [Boolean](https://developers.arcgis.com/arcade/guide/types/#boolean)"
2159
+ }
2160
+ },
2161
+ "parametersInfo": {
2162
+ "min": 2,
2163
+ "max": 2
2164
+ }
2165
+ }
2166
+ ],
2039
2167
  {
2040
2168
  "type": "function",
2041
2169
  "name": "intersection",
@@ -2211,6 +2339,31 @@
2211
2339
  "max": 2
2212
2340
  }
2213
2341
  },
2342
+ {
2343
+ "type": "function",
2344
+ "name": "measuretocoordinate",
2345
+ "bundle": "geometry",
2346
+ "sinceVersion": "1.26",
2347
+ "link": "https://developers.arcgis.com/arcade/function-reference/geometry_functions/#measuretocoordinate",
2348
+ "description": "Returns a coordinate along an input line based on a given measure, or m-value. If the measure is not found along the input line, then the result will be `null`.\n\n_Feature geometries in the visualization and labeling profiles are generalized according to the view's scale resolution to improve drawing performance. Therefore, using a feature's geometry (i.e. `$feature`) as input to any geometry function in these contexts will return different results at each scale level. Other profiles, such as popup, provide the full resolution geometry._",
2349
+ "examples": "\n##### 示例\n\nReturns the coordinate of the input polyline based on the given measure value\n\n```arcade\nvar result = MeasureToCoordinate(Geometry($feature), 110);\n\nreturn result.coordinate;\n```\n\n",
2350
+ "completion": {
2351
+ "label": "MeasureToCoordinate",
2352
+ "detail": "MeasureToCoordinate(inputLine, inputMeasure) -> Dictionary",
2353
+ "insertText": "MeasureToCoordinate(${1:inputLine_}, ${2:inputMeasure_})$0",
2354
+ "insertTextMode": 2,
2355
+ "insertTextFormat": 2,
2356
+ "kind": 3,
2357
+ "documentation": {
2358
+ "kind": "markdown",
2359
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nReturns a coordinate along an input line based on a given measure, or m-value. If the measure is not found along the input line, then the result will be `null`.\n\n_Feature geometries in the visualization and labeling profiles are generalized according to the view's scale resolution to improve drawing performance. Therefore, using a feature's geometry (i.e. `$feature`) as input to any geometry function in these contexts will return different results at each scale level. Other profiles, such as popup, provide the full resolution geometry._\n\n**参数**\n\n- **inputLine**: [Polyline](https://developers.arcgis.com/arcade/guide/types/#polyline) \\| [Array](https://developers.arcgis.com/arcade/guide/types/#array)<[Point](https://developers.arcgis.com/arcade/guide/types/#point)> \\| [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - The line or path from which to find a coordinate. When using a Feature as input, the feature's geometry must be a polyline.\n- **inputMeasure**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - The measure, or m-value, from which to find a coordinate along `inputLine` from the start of the line.\n\n**返回值**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) \nReturns a dictionary with the following properties. If the measure is not found along the input line, then the result will be `null`.\n\n- **coordinate**: [Point](https://developers.arcgis.com/arcade/guide/types/#point) - The coordinates of a point along `inputLine` based on the given measure value. The `searchPoint` must have `hasZ` equal to `true` for the resulting `coordinate` to include a z value.\n- **distanceAlong**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - The planar distance from the start of the `inputLine` measured along the line to the `coordinate`.\n- **partId**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - In the case of a polyline input, the index of the path to which the `coordinate` belongs.\n- **segmentId**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - The index (relative to the path) of the line segment to which the `coordinate` belongs. If `coordinate` represents a vertex of the input line, then `segmentId` will return the index of the previous vertex. If `coordinate` is the first vertex of `inputLine`, then the value of `segmentId` will be `0`."
2360
+ }
2361
+ },
2362
+ "parametersInfo": {
2363
+ "min": 2,
2364
+ "max": 2
2365
+ }
2366
+ },
2214
2367
  {
2215
2368
  "type": "function",
2216
2369
  "name": "multiparttosinglepart",
@@ -2327,7 +2480,7 @@
2327
2480
  "kind": 3,
2328
2481
  "documentation": {
2329
2482
  "kind": "markdown",
2330
- "value": "**[起始版本 1.23](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\n将输入几何的最近坐标(非折点)返回到搜索点。 返回的字典还包括从搜索点到最近坐标的最短平面距离。 如果搜索点与输入几何相交,则搜索点将作为结果返回,距离为零。\n\n_可视化和标签配置文件中的要素几何 会根据视图的比例分辨率进行概化以提高绘制性能。 因此,在这些上下文中使用要素的几何(即 `$feature`)作为任何几何函数的输入 将返回因比例级别而异的结果。 其他配置文件,例如弹出窗口,提供全分辨率几何。_\n\n**参数**\n\n- **inputGeometry**: [Geometry](https://developers.arcgis.com/arcade/guide/types/#geometry) \\| [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - 从中获取最近坐标的几何。\n- **searchPoint**: [Point](https://developers.arcgis.com/arcade/guide/types/#point) \\| [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - 根据其找到 `inputGeometry` 的最近坐标的点。\n\n**返回值**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) \n返回具有以下属性的字典。\n\n- **coordinate**: [Point](https://developers.arcgis.com/arcade/guide/types/#point) - 从 `inputGeometry` 到 `searchPoint` 的最近坐标。\n- **distance**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - 从最近坐标到 `searchPoint` 的平面距离。 这表示 `inputGeometry` 和 `searchPoint` 之间的最短距离。"
2483
+ "value": "**[起始版本 1.23](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\n将输入几何的最近坐标(非折点)返回到搜索点。 返回的字典还包括从搜索点到最近坐标的最短平面距离。 如果搜索点与输入几何相交,则搜索点将作为结果返回,距离为零。\n\n_可视化和标签配置文件中的要素几何 会根据视图的比例分辨率进行概化以提高绘制性能。 因此,在这些上下文中使用要素的几何(即 `$feature`)作为任何几何函数的输入 将返回因比例级别而异的结果。 其他配置文件,例如弹出窗口,提供全分辨率几何。_\n\n**参数**\n\n- **inputGeometry**: [Geometry](https://developers.arcgis.com/arcade/guide/types/#geometry) \\| [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - 从中获取最近坐标的几何。\n- **searchPoint**: [Point](https://developers.arcgis.com/arcade/guide/types/#point) \\| [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - 根据其找到 `inputGeometry` 的最近坐标的点。\n\n**返回值**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) \n返回具有以下属性的字典。\n\n- **coordinate**: [Point](https://developers.arcgis.com/arcade/guide/types/#point) - 从 `inputGeometry` 到 `searchPoint` 的最近坐标。\n- **distance**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - 从最近坐标到 `searchPoint` 的平面距离。 这表示 `inputGeometry` 和 `searchPoint` 之间的最短距离。\n- **sideOfLine**: [Text](https://developers.arcgis.com/arcade/guide/types/#text) - "
2331
2484
  }
2332
2485
  },
2333
2486
  "parametersInfo": {
@@ -2352,7 +2505,7 @@
2352
2505
  "kind": 3,
2353
2506
  "documentation": {
2354
2507
  "kind": "markdown",
2355
- "value": "**[起始版本 1.23](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\n将输入几何的最近折点返回到搜索点。 返回的字典包括从搜索点到最近折点的平面距离。\n\n_可视化和标签配置文件中的要素几何 会根据视图的比例分辨率进行概化以提高绘制性能。 因此,在这些上下文中使用要素的几何(即 `$feature`)作为任何几何函数的输入 将返回因比例级别而异的结果。 其他配置文件,例如弹出窗口,提供全分辨率几何。_\n\n**参数**\n\n- **inputGeometry**: [Geometry](https://developers.arcgis.com/arcade/guide/types/#geometry) \\| [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - 从中获取最近折点的几何。\n- **searchPoint**: [Point](https://developers.arcgis.com/arcade/guide/types/#point) \\| [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - 根据其找到 `inputGeometry` 的最近折点的点。\n\n**返回值**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) \n返回具有以下属性的字典。\n\n- **coordinate**: [Point](https://developers.arcgis.com/arcade/guide/types/#point) - 表示从 `inputGeometry` 到 `searchPoint` 的最近折点的点位置。\n- **distance**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - 从输入几何的最近折点到 `searchPoint` 的平面距离。"
2508
+ "value": "**[起始版本 1.23](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\n将输入几何的最近折点返回到搜索点。 返回的字典包括从搜索点到最近折点的平面距离。\n\n_可视化和标签配置文件中的要素几何 会根据视图的比例分辨率进行概化以提高绘制性能。 因此,在这些上下文中使用要素的几何(即 `$feature`)作为任何几何函数的输入 将返回因比例级别而异的结果。 其他配置文件,例如弹出窗口,提供全分辨率几何。_\n\n**参数**\n\n- **inputGeometry**: [Geometry](https://developers.arcgis.com/arcade/guide/types/#geometry) \\| [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - 从中获取最近折点的几何。\n- **searchPoint**: [Point](https://developers.arcgis.com/arcade/guide/types/#point) \\| [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - 根据其找到 `inputGeometry` 的最近折点的点。\n\n**返回值**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) \n返回具有以下属性的字典。\n\n- **coordinate**: [Point](https://developers.arcgis.com/arcade/guide/types/#point) - 表示从 `inputGeometry` 到 `searchPoint` 的最近折点的点位置。\n- **distance**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - 从输入几何的最近折点到 `searchPoint` 的平面距离。\n- **sideOfLine**: [Text](https://developers.arcgis.com/arcade/guide/types/#text) - "
2356
2509
  }
2357
2510
  },
2358
2511
  "parametersInfo": {
@@ -2460,6 +2613,31 @@
2460
2613
  }
2461
2614
  }
2462
2615
  ],
2616
+ {
2617
+ "type": "function",
2618
+ "name": "pointtocoordinate",
2619
+ "bundle": "geometry",
2620
+ "sinceVersion": "1.26",
2621
+ "link": "https://developers.arcgis.com/arcade/function-reference/geometry_functions/#pointtocoordinate",
2622
+ "description": "Returns the nearest coordinate and distance to that coordinate of the search point to the input line.\n\n_Feature geometries in the visualization and labeling profiles are generalized according to the view's scale resolution to improve drawing performance. Therefore, using a feature's geometry (i.e. `$feature`) as input to any geometry function in these contexts will return different results at each scale level. Other profiles, such as popup, provide the full resolution geometry._",
2623
+ "examples": "\n##### 示例\n\nReturns the distance to the nearest coordinate along the input polyline based on the clicked location to open a popup\n\n```arcade\nvar result;\n\nif (TypeOf($userInput) == \"Point\"){\n result = PointToCoordinate(Geometry($feature), $userInput);\n}\n\nreturn result.distanceAlong;\n```\n\n",
2624
+ "completion": {
2625
+ "label": "PointToCoordinate",
2626
+ "detail": "PointToCoordinate(inputLine, searchPoint) -> Dictionary",
2627
+ "insertText": "PointToCoordinate(${1:inputLine_}, ${2:searchPoint_})$0",
2628
+ "insertTextMode": 2,
2629
+ "insertTextFormat": 2,
2630
+ "kind": 3,
2631
+ "documentation": {
2632
+ "kind": "markdown",
2633
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nReturns the nearest coordinate and distance to that coordinate of the search point to the input line.\n\n_Feature geometries in the visualization and labeling profiles are generalized according to the view's scale resolution to improve drawing performance. Therefore, using a feature's geometry (i.e. `$feature`) as input to any geometry function in these contexts will return different results at each scale level. Other profiles, such as popup, provide the full resolution geometry._\n\n**参数**\n\n- **inputLine**: [Polyline](https://developers.arcgis.com/arcade/guide/types/#polyline) \\| [Array](https://developers.arcgis.com/arcade/guide/types/#array)<[Point](https://developers.arcgis.com/arcade/guide/types/#point)> \\| [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - The line or path from which to get the nearest coordinate. When using a Feature as input, the feature's geometry must be a polyline.\n- **searchPoint**: [Point](https://developers.arcgis.com/arcade/guide/types/#point) - The point from which to find the nearest coordinate of the `inputLine`.\n\n**返回值**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) \nReturns a dictionary with the following properties.\n\n- **coordinate**: [Point](https://developers.arcgis.com/arcade/guide/types/#point) - The point coordinate representing the nearest coordinate along the `inputLine` to the `searchPoint`. The `searchPoint` must have `hasZ` equal to `true` for the resulting `coordinate` to include a z value.\n- **distance**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - The planar distance from the `searchPoint` to the `coordinate`.\n- **distanceAlong**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - The planar distance from the start of the `inputLine` measured along the line to the `coordinate`.\n- **partId**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - In the case of a polyline input, the index of the path to which the `coordinate` belongs.\n- **segmentId**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - The index (relative to the path) of the line segment to which the `coordinate` belongs. If `coordinate` represents a vertex of the input line, then `segmentId` will return the index of the previous vertex. If `coordinate` is the first vertex of `inputLine`, then the value of `segmentId` will be `0`."
2634
+ }
2635
+ },
2636
+ "parametersInfo": {
2637
+ "min": 2,
2638
+ "max": 2
2639
+ }
2640
+ },
2463
2641
  [
2464
2642
  {
2465
2643
  "type": "function",
@@ -3115,6 +3293,31 @@
3115
3293
  "max": 1
3116
3294
  }
3117
3295
  },
3296
+ {
3297
+ "type": "function",
3298
+ "name": "hasvalue",
3299
+ "bundle": "core",
3300
+ "sinceVersion": "1.20",
3301
+ "link": "https://developers.arcgis.com/arcade/function-reference/feature_functions/#hasvalue",
3302
+ "description": "Indicates whether a feature has a given field and if that field has a value.",
3303
+ "examples": "\n##### 示例\n\nReturn false if feature attribute does not exist or is empty\n\n```arcade\nif(HasValue($feature, \"population\")){\n return $feature.population / AreaGeodetic($feature)\n}\n// Returns the population density if population is available\n```\n\n",
3304
+ "completion": {
3305
+ "label": "HasValue",
3306
+ "detail": "HasValue(inputFeature, fieldName) -> Boolean",
3307
+ "insertText": "HasValue(${1:inputFeature_}, ${2:fieldName_})$0",
3308
+ "insertTextMode": 2,
3309
+ "insertTextFormat": 2,
3310
+ "kind": 3,
3311
+ "documentation": {
3312
+ "kind": "markdown",
3313
+ "value": "**[起始版本 1.20](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nIndicates whether a feature has a given field and if that field has a value.\n\n**参数**\n\n- **inputFeature**: [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - The feature to check.\n- **fieldName**: [Text](https://developers.arcgis.com/arcade/guide/types/#text) - The field name to check.\n\n**返回值**: [Boolean](https://developers.arcgis.com/arcade/guide/types/#boolean)"
3314
+ }
3315
+ },
3316
+ "parametersInfo": {
3317
+ "min": 2,
3318
+ "max": 2
3319
+ }
3320
+ },
3118
3321
  {
3119
3322
  "type": "function",
3120
3323
  "name": "schema",
@@ -3221,6 +3424,57 @@
3221
3424
  "id": "dictionary_functions",
3222
3425
  "title": "字典函数",
3223
3426
  "items": [
3427
+ [
3428
+ {
3429
+ "type": "function",
3430
+ "name": "defaultvalue",
3431
+ "bundle": "core",
3432
+ "sinceVersion": "1.26",
3433
+ "link": "https://developers.arcgis.com/arcade/function-reference/dictionary_functions/#defaultvalue1",
3434
+ "description": "Returns a specified default value if a key in a dictionary does not exist or the value at the specified key is `null` or an empty text value.",
3435
+ "examples": "\n##### 示例\n\nDefaultValue returns a defined value\n\n```arcade\nvar data = {\n time: Date(2024, 0, 24, 12),\n weather: {\n precipitation: {\n type: \"rain\",\n value: 0.4,\n unit: \"inches\"\n },\n temperature: {\n value: 50,\n unit: \"f\"\n },\n conditions: {\n description: \"Overcast\"\n }\n }\n}\n\nDefaultValue(data, \"time\", \"No time logged\")\n// value of data.time is defined, so it is returned\n// returns Jan 24, 2024, 12:00:00 PM system time\n```\n\nDefaultValue returns a default if there is no value at the specified key.\n\n```arcade\nvar data = {\n time: '',\n weather: {\n precipitation: {\n type: \"rain\",\n value: 0.4,\n unit: \"inches\"\n },\n temperature: {\n value: 50,\n unit: \"f\"\n },\n conditions: {\n description: \"Overcast\"\n }\n }\n}\n\nDefaultValue(data, \"time\", \"No time logged\")\n// value of data.time is empty, so the default is returned\n// returns \"No time logged\"\n```\n\nDefaultValue returns a default if the key does not exist.\n\n```arcade\nvar data = {\n time: ''\n}\n\nDefaultValue(data, \"conditions\", \"n/a\")\n// the conditions key does not exist, so the default is returned\n// returns \"n/a\"\n```\n\n",
3436
+ "completion": {
3437
+ "label": "DefaultValue",
3438
+ "detail": "DefaultValue(container, key, defaultValue) -> Any",
3439
+ "insertText": "DefaultValue(${1:container_}, ${2:key_}, ${3:defaultValue_})$0",
3440
+ "insertTextMode": 2,
3441
+ "insertTextFormat": 2,
3442
+ "kind": 3,
3443
+ "documentation": {
3444
+ "kind": "markdown",
3445
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nReturns a specified default value if a key in a dictionary does not exist or the value at the specified key is `null` or an empty text value.\n\n**参数**\n\n- **container**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) - The input dictionary to check.\n- **key**: [Text](https://developers.arcgis.com/arcade/guide/types/#text) - The key to check.\n- **defaultValue**: [Any](https://developers.arcgis.com/arcade/guide/types/#any) - This value is returned if the key does not exist or the value at the specified key is `null` or an empty text value.\n\n**返回值**: [Any](https://developers.arcgis.com/arcade/guide/types/#any) \nReturns the value at the specified key if defined. Otherwise, returns the value specified in `defaultValue`."
3446
+ }
3447
+ },
3448
+ "parametersInfo": {
3449
+ "min": 3,
3450
+ "max": 3
3451
+ }
3452
+ },
3453
+ {
3454
+ "type": "function",
3455
+ "name": "defaultvalue",
3456
+ "bundle": "core",
3457
+ "link": "https://developers.arcgis.com/arcade/function-reference/dictionary_functions/#defaultvalue2",
3458
+ "description": "Returns a specified default value if at least one of the keys in a nested dictionary does not exist or the value at the specified key is `null` or an empty text value.",
3459
+ "examples": "\n##### 示例\n\nDefaultValue returns a defined value\n\n```arcade\nvar data = {\n time: Date(2024, 0, 24, 12),\n weather: {\n precipitation: {\n type: \"rain\",\n value: 0.4,\n unit: \"inches\"\n },\n temperature: {\n value: 50,\n unit: \"f\"\n },\n conditions: {\n description: \"Overcast\"\n }\n }\n}\n\nDefaultValue(data, [\"weather\", \"precipitation\", \"value\"], \"No time logged\")\n// value of data.weather.precipitation.value is defined, so it is returned\n// returns 0.4\n```\n\nDefaultValue returns a default if there is no value at the specified key.\n\n```arcade\nvar data = {\n time: Date(2024, 0, 24, 12),\n weather: {\n precipitation: {\n type: \"rain\",\n value: null,\n unit: \"inches\"\n },\n temperature: {\n value: 50,\n unit: \"f\"\n },\n conditions: {\n description: \"Overcast\"\n }\n }\n}\n\nDefaultValue(data, [\"weather\", \"precipitation\", \"value\"], 0)\n// value of data.weather.precipitation.value is null, so the default is returned\n// returns 0\n```\n\nDefaultValue returns a default if the key does not exist.\n\n```arcade\nvar data = {\n time: Date(2024, 0, 24, 12),\n weather: {\n precipitation: {\n type: \"rain\",\n value: null,\n unit: \"inches\"\n },\n temperature: {\n value: 50,\n unit: \"f\"\n },\n conditions: {\n description: \"Overcast\"\n }\n }\n}\n\nDefaultValue(data, [\"weather\", \"wind\", \"value\"], \"n/a\")\n// the data.weather.wind key does not exist, so the default is returned\n// returns \"n/a\"\n```\n\nCheck null value in an array within a dictionary with key that exists\n\n```arcade\nvar data = {\n time: Date(2024, 0, 24, 12),\n interval: 1,\n intervalUnit: \"days\",\n weather: {\n precipitation: {\n type: \"rain\",\n values: [0.4, 0, 0, null, 0.1, 0.8, 1],\n unit: \"inches\"\n },\n temperature: {\n values: [50, 50, 51, 52, 55, 49, 51],\n unit: \"f\"\n },\n }\n}\n\nDefaultValue(data, [\"weather\", \"precipitation\", \"values\", 3], 0)\n// the value data.weather.precipitation.values[3] is null, so the default is returned\n// returns 0\n```\n\n",
3460
+ "completion": {
3461
+ "label": "DefaultValue",
3462
+ "detail": "DefaultValue(container, keys, defaultValue) -> Any",
3463
+ "insertText": "DefaultValue(${1:container_}, ${2:keys_}, ${3:defaultValue_})$0",
3464
+ "insertTextMode": 2,
3465
+ "insertTextFormat": 2,
3466
+ "kind": 3,
3467
+ "documentation": {
3468
+ "kind": "markdown",
3469
+ "value": "Returns a specified default value if at least one of the keys in a nested dictionary does not exist or the value at the specified key is `null` or an empty text value.\n\n**参数**\n\n- **container**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) - The input dictionary to check.\n- **keys**: [Array](https://developers.arcgis.com/arcade/guide/types/#array)<[Number](https://developers.arcgis.com/arcade/guide/types/#number) \\| [Text](https://developers.arcgis.com/arcade/guide/types/#text)> - An array of the keys or indexes to check in each level of the container's structure.\n- **defaultValue**: [Any](https://developers.arcgis.com/arcade/guide/types/#any) - This value is returned if at least one of the keys or indices does not exist or the value at the specified key is `null` or an empty text value.\n\n**返回值**: [Any](https://developers.arcgis.com/arcade/guide/types/#any) \nReturns the value at the specified key or index if defined. Otherwise, returns the value specified in `defaultValue`."
3470
+ }
3471
+ },
3472
+ "parametersInfo": {
3473
+ "min": 3,
3474
+ "max": 3
3475
+ }
3476
+ }
3477
+ ],
3224
3478
  [
3225
3479
  {
3226
3480
  "type": "function",
@@ -3396,31 +3650,58 @@
3396
3650
  "max": 2
3397
3651
  }
3398
3652
  },
3399
- {
3400
- "type": "function",
3401
- "name": "hasvalue",
3402
- "bundle": "core",
3403
- "sinceVersion": "1.20",
3404
- "link": "https://developers.arcgis.com/arcade/function-reference/dictionary_functions/#hasvalue",
3405
- "description": "指示字典是否具有给定键以及该键是否具有值。",
3406
- "examples": "\n##### 示例\n\n具有值的键的字典\n\n```arcade\nvar d = Dictionary('Port Hope', 16214, 'Grafton', '<1000', 'Cobourg', 18519);\nHasValue(d, 'Cobourg');\n// returns true\n```\n\n具有没有值的键的字典\n\n```arcade\nvar d = Dictionary('Port Hope', 16214, 'Grafton', '<1000', 'Cobourg', null);\nHasValue(d, 'Cobourg');\n// returns false\n```\n\n没有提供键的字典\n\n```arcade\nvar d = Dictionary('Port Hope', 16214, 'Grafton', '<1000');\nHasValue(d, 'Cobourg');\n// returns false\n```\n\n没有提供键的字典\n\n```arcade\nif ( HasValue( Schema($feature).fields[0], \"domain\" ) ) {\n // Do something with the value if true\n}\n```\n\n",
3407
- "completion": {
3408
- "label": "HasValue",
3409
- "detail": "HasValue(inputDictionary, key) -> Boolean",
3410
- "insertText": "HasValue(${1:inputDictionary_}, ${2:key_})$0",
3411
- "insertTextMode": 2,
3412
- "insertTextFormat": 2,
3413
- "kind": 3,
3414
- "documentation": {
3415
- "kind": "markdown",
3416
- "value": "**[起始版本 1.20](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\n指示字典是否具有给定键以及该键是否具有值。\n\n**参数**\n\n- **inputDictionary**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) \\| [Feature](https://developers.arcgis.com/arcade/guide/types/#feature) - 要检查的字典或功能。\n- **key**: [Text](https://developers.arcgis.com/arcade/guide/types/#text) - 要检查的密匙或字段名称。\n\n**返回值**: [Boolean](https://developers.arcgis.com/arcade/guide/types/#boolean)"
3653
+ [
3654
+ {
3655
+ "type": "function",
3656
+ "name": "hasvalue",
3657
+ "bundle": "core",
3658
+ "sinceVersion": "1.20",
3659
+ "link": "https://developers.arcgis.com/arcade/function-reference/dictionary_functions/#hasvalue1",
3660
+ "description": "Indicates whether a dictionary has a given key and if that key has a value.",
3661
+ "examples": "\n##### 示例\n\nDictionary with key that has a value\n\n```arcade\nvar d = Dictionary('Port Hope', 16214, 'Grafton', '<1000', 'Cobourg', 18519);\nHasValue(d, 'Cobourg');\n// returns true\n```\n\nDictionary with key that does not have a value\n\n```arcade\nvar d = Dictionary('Port Hope', 16214, 'Grafton', '<1000', 'Cobourg', null);\nHasValue(d, 'Cobourg');\n// returns false\n```\n\nDictionary without the provided key\n\n```arcade\nvar d = Dictionary('Port Hope', 16214, 'Grafton', '<1000');\nHasValue(d, 'Cobourg');\n// returns false\n```\n\nDictionary without the provided key\n\n```arcade\nif ( HasValue( Schema($feature).fields[0], \"domain\" ) ) {\n // Do something with the value if true\n}\n```\n\n",
3662
+ "completion": {
3663
+ "label": "HasValue",
3664
+ "detail": "HasValue(inputDictionary, key) -> Boolean",
3665
+ "insertText": "HasValue(${1:inputDictionary_}, ${2:key_})$0",
3666
+ "insertTextMode": 2,
3667
+ "insertTextFormat": 2,
3668
+ "kind": 3,
3669
+ "documentation": {
3670
+ "kind": "markdown",
3671
+ "value": "**[起始版本 1.20](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nIndicates whether a dictionary has a given key and if that key has a value.\n\n**参数**\n\n- **inputDictionary**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) - The dictionary to check.\n- **key**: [Text](https://developers.arcgis.com/arcade/guide/types/#text) - The key or field name to check.\n\n**返回值**: [Boolean](https://developers.arcgis.com/arcade/guide/types/#boolean)"
3672
+ }
3673
+ },
3674
+ "parametersInfo": {
3675
+ "min": 2,
3676
+ "max": 2
3417
3677
  }
3418
3678
  },
3419
- "parametersInfo": {
3420
- "min": 2,
3421
- "max": 2
3679
+ {
3680
+ "type": "function",
3681
+ "name": "hasvalue",
3682
+ "bundle": "core",
3683
+ "sinceVersion": "1.26",
3684
+ "link": "https://developers.arcgis.com/arcade/function-reference/dictionary_functions/#hasvalue2",
3685
+ "description": "Checks whether a property nested several levels deep in a dictionary has a value. This allows you to drill into a nested structure in one step rather than check values at each level. Returns `true` if the keys and indexes at each level of the structure exist and include a non-null value.",
3686
+ "examples": "\n##### 示例\n\nCheck dictionary with key that has a nested value\n\n```arcade\nvar data = {\n time: Date(2024, 0, 24, 12),\n weather: {\n precipitation: {\n type: \"rain\",\n value: 0.4,\n unit: \"inches\"\n },\n temperature: {\n value: 50,\n unit: \"f\"\n },\n conditions: {\n description: \"Overcast\"\n }\n }\n}\n\nif(HasValue(data, [\"weather\",\"precipitation\",\"value\"])){\n // if() evaluates to true, thus executing the return\n return data.weather.precipitation.value;\n}\n```\n\nCheck value in a dictionary with key that does not exist\n\n```arcade\nvar data = {\n time: Date(2024, 0, 24, 12),\n weather: {\n precipitation: {\n type: \"rain\",\n value: 0.4,\n unit: \"inches\"\n },\n temperature: {\n value: 50,\n unit: \"f\"\n },\n conditions: {\n description: \"Overcast\"\n }\n }\n}\n\nif(HasValue(data, [\"weather\",\"precipitation\",\"values\", 0])){\n // if() evaluates to false (\"values\" does not exist), thus avoiding the block\n return data.weather.precipitation.values;\n}\n```\n\nCheck value in an array within a dictionary with key that does exist\n\n```arcade\nvar data = {\n time: Date(2024, 0, 24, 12),\n interval: 1,\n intervalUnit: \"days\",\n weather: {\n precipitation: {\n type: \"rain\",\n values: [0.4, 0, 0, null, 0.1, 0.8, 1],\n unit: \"inches\"\n },\n temperature: {\n values: [50, 50, 51, 52, 55, 49, 51],\n unit: \"f\"\n },\n }\n}\n\nif(HasValue(data, [\"weather\",\"precipitation\",\"values\", 6])){\n // if() evaluates to true, thus executing the return\n return data.weather.precipitation.values[6];\n}\n```\n\n",
3687
+ "completion": {
3688
+ "label": "HasValue",
3689
+ "detail": "HasValue(inputDictionary, keys) -> Boolean",
3690
+ "insertText": "HasValue(${1:inputDictionary_}, ${2:keys_})$0",
3691
+ "insertTextMode": 2,
3692
+ "insertTextFormat": 2,
3693
+ "kind": 3,
3694
+ "documentation": {
3695
+ "kind": "markdown",
3696
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nChecks whether a property nested several levels deep in a dictionary has a value. This allows you to drill into a nested structure in one step rather than check values at each level. Returns `true` if the keys and indexes at each level of the structure exist and include a non-null value.\n\n**参数**\n\n- **inputDictionary**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) - The dictionary to check.\n- **keys**: [Array](https://developers.arcgis.com/arcade/guide/types/#array)&lt;[Number](https://developers.arcgis.com/arcade/guide/types/#number) \\| [Text](https://developers.arcgis.com/arcade/guide/types/#text)&gt; - An array of the keys or indexes to check in each level of the structure.\n\n**返回值**: [Boolean](https://developers.arcgis.com/arcade/guide/types/#boolean)"
3697
+ }
3698
+ },
3699
+ "parametersInfo": {
3700
+ "min": 2,
3701
+ "max": 2
3702
+ }
3422
3703
  }
3423
- }
3704
+ ]
3424
3705
  ]
3425
3706
  },
3426
3707
  {
@@ -4394,6 +4675,57 @@
4394
4675
  "max": 1
4395
4676
  }
4396
4677
  },
4678
+ [
4679
+ {
4680
+ "type": "function",
4681
+ "name": "defaultvalue",
4682
+ "bundle": "core",
4683
+ "sinceVersion": "1.26",
4684
+ "link": "https://developers.arcgis.com/arcade/function-reference/array_functions/#defaultvalue1",
4685
+ "description": "Returns a specified default value if an index in an array does not exist or the value at the specified index is `null` or an empty text value.",
4686
+ "examples": "\n##### 示例\n\nArray with value at the given index\n\n```arcade\nvar a = [23,4,null,36,901]\nDefaultValue(a, 4, \"No data\");\n// returns 901\n```\n\nArray with no value at the given index\n\n```arcade\nvar a = [23,4,null,36,901]\nDefaultValue(a, 5, \"No data\");\n// returns \"No data\"\n```\n\nArray with a null value at the given index\n\n```arcade\nvar a = [23,4,null,36,901]\nDefaultValue(a, 2, \"No data\");\n// returns \"No data\"\n```\n\n",
4687
+ "completion": {
4688
+ "label": "DefaultValue",
4689
+ "detail": "DefaultValue(container, index, defaultValue) -> Any",
4690
+ "insertText": "DefaultValue(${1:container_}, ${2:index_}, ${3:defaultValue_})$0",
4691
+ "insertTextMode": 2,
4692
+ "insertTextFormat": 2,
4693
+ "kind": 3,
4694
+ "documentation": {
4695
+ "kind": "markdown",
4696
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nReturns a specified default value if an index in an array does not exist or the value at the specified index is `null` or an empty text value.\n\n**参数**\n\n- **container**: [Array](https://developers.arcgis.com/arcade/guide/types/#array)&lt;[Any](https://developers.arcgis.com/arcade/guide/types/#any)&gt; - The input array to check.\n- **index**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - The index to check.\n- **defaultValue**: [Any](https://developers.arcgis.com/arcade/guide/types/#any) - This value is returned if the index does not exist or the value at the specified index is `null` or an empty text value.\n\n**返回值**: [Any](https://developers.arcgis.com/arcade/guide/types/#any) \nReturns the value at the specified index if defined. Otherwise, returns the value specified in `defaultValue`."
4697
+ }
4698
+ },
4699
+ "parametersInfo": {
4700
+ "min": 3,
4701
+ "max": 3
4702
+ }
4703
+ },
4704
+ {
4705
+ "type": "function",
4706
+ "name": "defaultvalue",
4707
+ "bundle": "core",
4708
+ "link": "https://developers.arcgis.com/arcade/function-reference/array_functions/#defaultvalue2",
4709
+ "description": "Checks whether an index nested several levels deep in a multidimensional array has a value and returns that value if present. Otherwise, this function returns a specified default value if at least one of the nested keys or indices does not exist or the value at the specified key or index is `null` or an empty text value. This allows you to drill into a nested structure in one step rather than check values within each array.",
4710
+ "examples": "\n##### 示例\n\nArray with a value at the nested index\n\n```arcade\nvar a = [23,4,[0,0,1,1,0],36,901]\nDefaultValue(a, [2, 3], \"No data\");\n// returns 1\n```\n\nArray with no value at the nested index\n\n```arcade\nvar a = [23,4,[0,0,1,1,0],36,901]\nDefaultValue(a, [2, 10], \"No data\");\n// returns \"No data\"\n```\n\nArray with no value at the parent index\n\n```arcade\nvar a = [23,4,[0,0,1,1,0],36,901]\nDefaultValue(a, [10, 3], \"No data\");\n// returns \"No data\"\n```\n\nArray of dictionaries with nested values\n\n```arcade\nvar data = {\n time: Date(2024, 0, 24, 12),\n interval: 1,\n intervalUnit: \"days\",\n weather: {\n precipitation: {\n type: \"rain\",\n values: [0.4, 0, 0, null, 0.1, 0.8, 1],\n unit: \"inches\"\n },\n temperature: {\n values: [50, 50, 51, 52, 55, 49, 51],\n unit: \"f\"\n },\n }\n}\n\nvar a = [ data, data2, data3 ]\nDefaultValue(a, [0, \"weather\",\"precipitation\",\"values\", 6], \"No data\");\n// returns 1\n```\n\n",
4711
+ "completion": {
4712
+ "label": "DefaultValue",
4713
+ "detail": "DefaultValue(container, keys, defaultValue) -> Any",
4714
+ "insertText": "DefaultValue(${1:container_}, ${2:keys_}, ${3:defaultValue_})$0",
4715
+ "insertTextMode": 2,
4716
+ "insertTextFormat": 2,
4717
+ "kind": 3,
4718
+ "documentation": {
4719
+ "kind": "markdown",
4720
+ "value": "Checks whether an index nested several levels deep in a multidimensional array has a value and returns that value if present. Otherwise, this function returns a specified default value if at least one of the nested keys or indices does not exist or the value at the specified key or index is `null` or an empty text value. This allows you to drill into a nested structure in one step rather than check values within each array.\n\n**参数**\n\n- **container**: [Array](https://developers.arcgis.com/arcade/guide/types/#array)&lt;[Any](https://developers.arcgis.com/arcade/guide/types/#any)&gt; - The input array to check.\n- **keys**: [Array](https://developers.arcgis.com/arcade/guide/types/#array)&lt;[Number](https://developers.arcgis.com/arcade/guide/types/#number) \\| [Text](https://developers.arcgis.com/arcade/guide/types/#text)&gt; - An array of the keys or indexes to check in each level of the container's structure.\n- **defaultValue**: [Any](https://developers.arcgis.com/arcade/guide/types/#any) - This value is returned if at least one of the keys or indices does not exist or the value at the specified key is `null` or an empty text value.\n\n**返回值**: [Any](https://developers.arcgis.com/arcade/guide/types/#any) \nReturns the value at the specified key or index if defined. Otherwise, returns the value specified in `defaultValue`."
4721
+ }
4722
+ },
4723
+ "parametersInfo": {
4724
+ "min": 3,
4725
+ "max": 3
4726
+ }
4727
+ }
4728
+ ],
4397
4729
  [
4398
4730
  {
4399
4731
  "type": "function",
@@ -4545,6 +4877,58 @@
4545
4877
  "max": 1
4546
4878
  }
4547
4879
  },
4880
+ [
4881
+ {
4882
+ "type": "function",
4883
+ "name": "hasvalue",
4884
+ "bundle": "core",
4885
+ "sinceVersion": "1.26",
4886
+ "link": "https://developers.arcgis.com/arcade/function-reference/array_functions/#hasvalue1",
4887
+ "description": "Indicates whether an array has a value at the given index.",
4888
+ "examples": "\n##### 示例\n\nArray with value at the given index\n\n```arcade\nvar a = [23,4,null,36,901]\nHasValue(a, 4);\n// returns true\n```\n\nArray with no value at the given index\n\n```arcade\nvar a = [23,4,null,36,901]\nHasValue(a, 5);\n// returns false\n```\n\nArray with a null value at the given index\n\n```arcade\nvar a = [23,4,null,36,901]\nHasValue(a, 2);\n// returns false\n```\n\n",
4889
+ "completion": {
4890
+ "label": "HasValue",
4891
+ "detail": "HasValue(inputArray, index) -> Boolean",
4892
+ "insertText": "HasValue(${1:inputArray_}, ${2:index_})$0",
4893
+ "insertTextMode": 2,
4894
+ "insertTextFormat": 2,
4895
+ "kind": 3,
4896
+ "documentation": {
4897
+ "kind": "markdown",
4898
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nIndicates whether an array has a value at the given index.\n\n**参数**\n\n- **inputArray**: [Array](https://developers.arcgis.com/arcade/guide/types/#array)&lt;[Any](https://developers.arcgis.com/arcade/guide/types/#any)&gt; - The array to check.\n- **index**: [Number](https://developers.arcgis.com/arcade/guide/types/#number) - The index to check.\n\n**返回值**: [Boolean](https://developers.arcgis.com/arcade/guide/types/#boolean)"
4899
+ }
4900
+ },
4901
+ "parametersInfo": {
4902
+ "min": 2,
4903
+ "max": 2
4904
+ }
4905
+ },
4906
+ {
4907
+ "type": "function",
4908
+ "name": "hasvalue",
4909
+ "bundle": "core",
4910
+ "sinceVersion": "1.26",
4911
+ "link": "https://developers.arcgis.com/arcade/function-reference/array_functions/#hasvalue2",
4912
+ "description": "Checks whether an index nested several levels deep in a multidimensional array has a value. This allows you to drill into a nested structure in one step rather than check values within each array. Returns `true` if the indexes at each level of the structure exist and include a non-null value.",
4913
+ "examples": "\n##### 示例\n\nArray with a value at the nested index\n\n```arcade\nvar a = [23,4,[0,0,1,1,0],36,901]\nHasValue(a, [2, 4]);\n// returns true\n```\n\nArray with no value at the nested index\n\n```arcade\nvar a = [23,4,[0,0,1,1,0],36,901]\nHasValue(a, [2, 10]);\n// returns false\n```\n\nArray with no value at the parent index\n\n```arcade\nvar a = [23,4,[0,0,1,1,0],36,901]\nHasValue(a, [10, 5]);\n// returns false\n```\n\nArray of dictionaries with nested values\n\n```arcade\nvar data = {\n time: Date(2024, 0, 24, 12),\n interval: 1,\n intervalUnit: \"days\",\n weather: {\n precipitation: {\n type: \"rain\",\n values: [0.4, 0, 0, null, 0.1, 0.8, 1],\n unit: \"inches\"\n },\n temperature: {\n values: [50, 50, 51, 52, 55, 49, 51],\n unit: \"f\"\n },\n }\n}\n\nvar a = [ data, data2, data3 ]\nif(HasValue(a, [0, \"weather\",\"precipitation\",\"values\", 6])){\n // This check succeeds so the value will be returned\n return a[0].weather.precipitation.values[6];\n // returns 1\n}\n```\n\n",
4914
+ "completion": {
4915
+ "label": "HasValue",
4916
+ "detail": "HasValue(inputArray, indexes) -> Boolean",
4917
+ "insertText": "HasValue(${1:inputArray_}, ${2:indexes_})$0",
4918
+ "insertTextMode": 2,
4919
+ "insertTextFormat": 2,
4920
+ "kind": 3,
4921
+ "documentation": {
4922
+ "kind": "markdown",
4923
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\nChecks whether an index nested several levels deep in a multidimensional array has a value. This allows you to drill into a nested structure in one step rather than check values within each array. Returns `true` if the indexes at each level of the structure exist and include a non-null value.\n\n**参数**\n\n- **inputArray**: [Array](https://developers.arcgis.com/arcade/guide/types/#array)&lt;[Any](https://developers.arcgis.com/arcade/guide/types/#any)&gt; - The array to check.\n- **indexes**: [Array](https://developers.arcgis.com/arcade/guide/types/#array)&lt;[Number](https://developers.arcgis.com/arcade/guide/types/#number) \\| [Text](https://developers.arcgis.com/arcade/guide/types/#text)&gt; - An array of the keys or indexes to check in each level of the structure.\n\n**返回值**: [Boolean](https://developers.arcgis.com/arcade/guide/types/#boolean)"
4924
+ }
4925
+ },
4926
+ "parametersInfo": {
4927
+ "min": 2,
4928
+ "max": 2
4929
+ }
4930
+ }
4931
+ ],
4548
4932
  {
4549
4933
  "type": "function",
4550
4934
  "name": "includes",
@@ -6521,6 +6905,62 @@
6521
6905
  }
6522
6906
  ]
6523
6907
  },
6908
+ {
6909
+ "id": "knowledgegraph_functions",
6910
+ "title": "试_Knowledge graph functions__________________________验",
6911
+ "items": [
6912
+ {
6913
+ "type": "function",
6914
+ "name": "knowledgegraphbyportalitem",
6915
+ "bundle": "knowledge-graph",
6916
+ "sinceVersion": "1.26",
6917
+ "link": "https://developers.arcgis.com/arcade/function-reference/knowledgegraph_functions/#knowledgegraphbyportalitem",
6918
+ "description": "试_Returns a knowledge graph from a portal item________________________验.",
6919
+ "examples": "\n##### 示例\n\n试_Returns the knowledge graph from the portal item__________________________验.\n\n```arcade\nvar knowledgeGraph = KnowledgeGraphByPortalItem(\n Portal('https://www.arcgis.com'),\n '7b1fb95ab77f40bf8aa09c8b59045449',\n);\n```\n\n",
6920
+ "completion": {
6921
+ "label": "KnowledgeGraphByPortalItem",
6922
+ "detail": "KnowledgeGraphByPortalItem(portalObject, itemId) -> KnowledgeGraph",
6923
+ "insertText": "KnowledgeGraphByPortalItem(${1:portalObject_}, ${2:itemId_})$0",
6924
+ "insertTextMode": 2,
6925
+ "insertTextFormat": 2,
6926
+ "kind": 3,
6927
+ "documentation": {
6928
+ "kind": "markdown",
6929
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\n试_Returns a knowledge graph from a portal item________________________验.\n\n**参数**\n\n- **portalObject**: [Portal](https://developers.arcgis.com/arcade/guide/types/#portal) - 试_The Portal from which to query features_____________________验.\n- **itemId**: [Text](https://developers.arcgis.com/arcade/guide/types/#text) - 试_The GUID of the portal item referencing a knowledge graph service. _This value must be a text literal.______________________________________________________验\n\n**返回值**: [KnowledgeGraph](https://developers.arcgis.com/arcade/guide/types/#knowledgegraph)"
6930
+ }
6931
+ },
6932
+ "parametersInfo": {
6933
+ "min": 2,
6934
+ "max": 2
6935
+ }
6936
+ },
6937
+ {
6938
+ "type": "function",
6939
+ "name": "querygraph",
6940
+ "bundle": "knowledge-graph",
6941
+ "sinceVersion": "1.26",
6942
+ "link": "https://developers.arcgis.com/arcade/function-reference/knowledgegraph_functions/#querygraph",
6943
+ "description": "试_Queries a knowledge graph with an openCypher query and returns the set of entities and relationships in a graph, along with their properties________________________________________________________________________验.",
6944
+ "examples": "\n##### 示例\n\n试_Queries the knowledge graph for information about the `Student` entities it contains____________________________________________验.\n\n```arcade\nvar results = QueryGraph(\n knowledgeGraph,\n 'MATCH (p:Student)-[e:EnrolledAt]->(s:School)\n WHERE s.name = 'Eastside Elementary'\n RETURN p,e,s.principal,s.numStaff\n LIMIT 1');\n\nreturn Text(results);\n```\n\n",
6945
+ "completion": {
6946
+ "label": "QueryGraph",
6947
+ "detail": "QueryGraph(graph, openCypherQuery, queryParameters?) -> Dictionary",
6948
+ "insertText": "QueryGraph(${1:graph_}, ${2:openCypherQuery_})$0",
6949
+ "insertTextMode": 2,
6950
+ "insertTextFormat": 2,
6951
+ "kind": 3,
6952
+ "documentation": {
6953
+ "kind": "markdown",
6954
+ "value": "**[起始版本 1.26](https://developers.arcgis.com/arcade/guide/version-matrix)**\n\n试_Queries a knowledge graph with an openCypher query and returns the set of entities and relationships in a graph, along with their properties________________________________________________________________________验.\n\n**参数**\n\n- **graph**: [KnowledgeGraph](https://developers.arcgis.com/arcade/guide/types/#knowledgegraph) - 试_The knowledge graph to query______________________________验.\n- **openCypherQuery**: [Text](https://developers.arcgis.com/arcade/guide/types/#text) - 试_The openCypher query to be executed against the knowledge graph_________________________________验.\n- **queryParameters** (_Optional_): [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary) - 试_A dictionary of named query parameters for the openCypher query_________________________________验. 试_The parameter names or keys in the dictionary are case-sensitive__________________________________验. 试_Parameters accepted depend on the external graph store and can be of type: `Array`, `Date`, `Dictionary`, `Geometry`, `Number, Text`___________________________________________________________________验\n\n**返回值**: [Dictionary](https://developers.arcgis.com/arcade/guide/types/#dictionary)"
6955
+ }
6956
+ },
6957
+ "parametersInfo": {
6958
+ "min": 2,
6959
+ "max": 3
6960
+ }
6961
+ }
6962
+ ]
6963
+ },
6524
6964
  {
6525
6965
  "id": "debugging_functions",
6526
6966
  "title": "调试函数",
@@ -6737,7 +7177,7 @@
6737
7177
  "sinceVersion": "1.12",
6738
7178
  "link": "https://developers.arcgis.com/arcade/function-reference/track_functions/#trackdistanceat",
6739
7179
  "description": "从第一个观测点到当前观测点的观测点之间的距离的总和加上给定值。",
6740
- "examples": "\n##### 示例\n\n您的轨迹具有六个要素,如前所述。 表达式返回轨迹中各要素的值。 在第一个示例中,我们在索引值为 2 的要素 2 (p2)处进行评估时检查了结果。 计算为 `30 + 80 + 60 = 170`。\n\n```arcade\nTrackDistanceAt(2)\n// returns 170\n```\n\n您的轨迹具有六个要素,如前所述。 表达式返回轨迹中各要素的值。 在第一个示例中,我们将在索引值为 4 的要素 4 (p4)处进行评估时检查结果。 计算为 `25 + 35 + 30 + 80 + 60 = 230`。\n\n```arcade\nTrackDistanceAt(2)\n// returns 230\n```\n\n",
7180
+ "examples": "\n##### 示例\n\n您的轨迹具有六个要素,如前所述。 表达式返回轨迹中各要素的值。 在第一个示例中,我们在索引值为 2 的要素 2 (p2)处进行评估时检查了结果。 计算为 `30 + 80 + 60 = 170`。\n\n```arcade\nTrackDistanceAt(2)\n// returns 170\n```\n\n您的轨迹具有六个要素,如前所述。 表达式返回轨迹中各要素的值。 在第一个示例中,我们将在索引值为 4 的要素 4 (p4)处进行评估时检查结果。 计算为 `25 + 35 + 30 + 80 + 60 = 230`。\n\n```arcade\nTrackDistanceAt(4)\n// returns 230\n```\n\n",
6741
7181
  "completion": {
6742
7182
  "label": "TrackDistanceAt",
6743
7183
  "detail": "TrackDistanceAt(index) -> Number",