You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 9.8KB

2 yıl önce
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538
  1. ---
  2. sidebar: auto
  3. ---
  4. # 场景分析 🌎
  5. ## DC.Measure
  6. > 三维空间分析
  7. ### example
  8. ```js
  9. let measure = new DC.Measure(viewer)
  10. ```
  11. ### creation
  12. - **_constructor()_**
  13. 构造函数
  14. - 返回值 `measure`
  15. ### methods
  16. - **_angle([options])_**
  17. 角度
  18. - 参数
  19. - `{Object} options`:配置
  20. - 返回值 `this`
  21. - **_area([options])_**
  22. 面积
  23. - 参数
  24. - `{Object} options`:配置
  25. - 返回值 `this`
  26. - **_areaSurface([options])_**
  27. 表面面积
  28. - 参数
  29. - `{Object} options`:配置
  30. - 返回值 `this`
  31. - **_distance([options])_**
  32. 距离
  33. - 参数
  34. - `{Object} options`:配置
  35. - 返回值 `this`
  36. - **_distanceSurface([options])_**
  37. 表面距离
  38. - 参数
  39. - `{Object} options`:配置
  40. - 返回值 `this`
  41. - **_heading([options])_**
  42. 偏航角
  43. - 参数
  44. - `{Object} options`:配置
  45. - 返回值 `this`
  46. - **_height([options])_**
  47. 高度
  48. - 参数
  49. - `{Object} options`:配置
  50. - 返回值 `this`
  51. - **_triangleHeight([options])_**
  52. 三角测量
  53. - 参数
  54. - `{Object} options`:配置
  55. - 返回值 `this`
  56. - **_activate(type,[options])_**
  57. 根据类型分析
  58. - 参数
  59. - `{String} type`:分析类型,参考 `DC.MeasureType`,
  60. - `{Object} options`:配置
  61. - 返回值 `this`
  62. ```json
  63. //属性参数(可选)
  64. {
  65. "icon_center": "**.png", // 自定义的中心点图标
  66. "icon_anchor": "**.png", //自定义的锚点图标
  67. "icon_midAnchor": "**.png", //自定义的中心锚点图标
  68. "icon_size": [12, 12], //自定义的中心锚点大小
  69. "clampToModel": false //点位是否获取模型表面坐标
  70. }
  71. ```
  72. - **_deactivate()_**
  73. 释放空间分析
  74. - 返回值 `this`
  75. ## DC.Analysis
  76. > 三维场景分析
  77. ### example
  78. ```js
  79. let analysis = new DC.Analysis(viewer)
  80. ```
  81. ### creation
  82. - **_constructor()_**
  83. 构造函数
  84. - 返回值 `analysis`
  85. ### methods
  86. - **_contourLine(lineColor, lineWidth, lineSpacing)_**
  87. 等高线
  88. - 参数
  89. - `{Color} lineColor`:颜色
  90. - `{Number} lineWidth`:宽度
  91. - `{Number} lineSpacing`:间隔
  92. - 返回值 `this`
  93. - **_shadows(startTime, multiplier)_**
  94. 日照分析
  95. - 参数
  96. - `{Date} startTime`:日期
  97. - `{Number} multiplier`:倍率
  98. - 返回值 `this`
  99. - **_sightLine(startPosition, endPosition, excludes, lerpNum)_**
  100. 通视分析(线)
  101. - 参数
  102. - `{Position|Array|String|Object} startPosition`:起点
  103. - `{Position|Array|String|Object} endPosition`:终点
  104. - `{Array<Overlay>} excludes`:非包含覆盖物
  105. - `{Number} lerpNum`:插值数量,默认:10,数量越大越准确,同时计算量也会增加
  106. - 返回值 `this`
  107. - **_sightCircle(center, radius, excludes, lerpNum)_**
  108. 通视分析(圆)
  109. - 参数
  110. - `{Position|Array|String|Object} center`:圆心
  111. - `{Number} radius`:半径
  112. - `{Array<Overlay>} excludes`:非包含覆盖物
  113. - `{Number} lerpNum`:插值数量,默认:10,数量越大越准确,同时计算量也会增加
  114. - 返回值 `this`
  115. - **_viewshed(position, radius, fov, aspectRatio, options)_**
  116. 可视域分析
  117. - 参数
  118. - `{Position|Array|String|Object} position`:视点
  119. - `{Number} radius`:半径
  120. - `{Number} fov`:横向视角
  121. - `{Number} aspectRatio`:横纵比例
  122. - `{Object} options`:属性设置
  123. - 返回值 `this`
  124. ```json
  125. //属性参数
  126. {
  127. "mixNum":1, // 混合度
  128. "visibleColor":DC.Color.GREEN,//可见颜色
  129. "disVisibleColor":DC.Color.RED,//不可见颜色
  130. "showHelp": false, //显示辅助覆盖物
  131. "gridColor": DC.Color.YELLOW, //辅助覆盖物格子颜色
  132. "lineColor": DC.Color.YELLOW.withAlpha(0.3) //辅助覆盖物边线颜色
  133. }
  134. ```
  135. - **_deactivate([type])_**
  136. 释放分析
  137. - 参数
  138. - `{String} type`:分析类型,参考 `DC.AnalysisType`。类型为空时,将清除所有分析
  139. - 返回值 `this`
  140. ## DC.CameraVideoLayer
  141. > 视频图层,继承于[Layer](../layer/#layer)
  142. ### example
  143. ```js
  144. let layer = new DC.CameraVideoLayer('id')
  145. viewer.addLayer(layer)
  146. ```
  147. ### creation
  148. - **_constructor(id)_**
  149. 构造函数
  150. - 参数
  151. - `{String} id`:图层唯一标识
  152. - 返回值 `videoLayer`
  153. ### methods
  154. - **_showHelp(show, videoOverlay, color)_**
  155. 是否显示辅助视锥
  156. - 参数
  157. - `{Boolean} show`:是否显示
  158. - `{Overlay} videoOverlay`:视频覆盖物
  159. - `{Color} color`:边线颜色
  160. - 返回值 `this`
  161. ## DC.CameraVideo
  162. > 视频融合要素,继承于[Overlay](../overlay/#overlay)
  163. ### example
  164. ```js
  165. let position = new DC.Position(120, 20, 200, -20, 19)
  166. let videoEl = new document.getElementById('video')
  167. let cameraVideo = new DC.CameraVideo(position, videoEl)
  168. layer.addOverlay(cameraVideo)
  169. ```
  170. ### creation
  171. - **_constructor(position, video,[maskUrl])_**
  172. 构造函数
  173. - 参数
  174. - `{Position} position`:坐标
  175. - `{Element} video`:视频节点
  176. - `{String} [maskUrl]`: 羽化图片地址
  177. - 返回值 `cameraVideo`
  178. ### properties
  179. - `{Position} position`:坐标
  180. - `{Element} video`:视频节点
  181. - `{String} maskUrl`: 羽化图片地址
  182. ### methods
  183. - **_setStyle(style)_**
  184. 设置样式
  185. - 参数
  186. - `{Object} style`:样式
  187. - 返回值 `this`
  188. ```json
  189. // 样式参数(可选)
  190. {
  191. "fov": 60, //视场角
  192. "near": 1, //近平面的距离
  193. "far": 5000, //远平面的距离
  194. "aspectRatio": 1, //视锥的宽度与高度的纵横比
  195. "alpha": 1, //透明度
  196. "clearBlack": true, //清除空白
  197. "disViewColor": DC.Color.WHITE //设置视频不可见颜色
  198. }
  199. ```
  200. ## DC.PlaneVideoLayer
  201. > 平面视频图层,继承于[Layer](../layer/#layer)
  202. ### example
  203. ```js
  204. let layer = new DC.PlaneVideoLayer('id')
  205. viewer.addLayer(layer)
  206. ```
  207. ### creation
  208. - **_constructor(id)_**
  209. 构造函数
  210. - 参数
  211. - `{String} id`:图层唯一标识
  212. - 返回值 `videoLayer`
  213. ### methods
  214. - **_showHelp(show, videoOverlay, color)_**
  215. 是否显示辅助视锥
  216. - 参数
  217. - `{Boolean} show`:是否显示
  218. - `{Overlay} videoOverlay`:视频覆盖物
  219. - `{Color} color`:边线颜色
  220. - 返回值 `this`
  221. ## DC.PlaneVideo
  222. > 平面视频要素,继承于[Overlay](../overlay/#overlay)
  223. ### example
  224. ```js
  225. let position = new DC.Position(120, 20, 200, -20, 19)
  226. let videoEl = new document.getElementById('video')
  227. let cameraVideo = new DC.PlaneVideo(position, videoEl)
  228. layer.addOverlay(cameraVideo)
  229. ```
  230. ### creation
  231. - **_constructor(position, video)_**
  232. 构造函数
  233. - 参数
  234. - `{Position} position`:坐标
  235. - `{Element} video`:视频节点
  236. - 返回值 `cameraVideo`
  237. ### properties
  238. - `{Position} position`:坐标
  239. - `{Element} video`:视频节点
  240. ### methods
  241. - **_setStyle(style)_**
  242. 设置样式
  243. - 参数
  244. - `{Object} style`:样式
  245. - 返回值 `this`
  246. ```json
  247. // 样式参数(可选)
  248. {
  249. "fov": 60, //视场角
  250. "near": 1, //近平面的距离
  251. "far": 5000, //远平面的距离
  252. "aspectRatio": 1 //视锥的宽度与高度的纵横比
  253. }
  254. ```
  255. ## DC.GeoTools
  256. > 要素工具
  257. ### example
  258. ```js
  259. let coords = DC.GeoTools.pointBuffer(
  260. '120.71259021075333,31.22148081085083',
  261. 100
  262. )
  263. let coords1 = DC.GeoTools.polygonBuffer(
  264. '120.71259021075333,31.22148081085083;120.71611354431036,31.221447256684566;120.7140691869497,31.21875584696343',
  265. 150
  266. )
  267. ```
  268. ### static methods
  269. - **_pointBuffer(position, radius, steps)_**
  270. 点缓冲
  271. - 参数
  272. - `{Array|String|Position} position`:坐标
  273. - `{Number} radius`:半径
  274. - `{Number} steps`:步数,默认:8
  275. - 返回值 `array`
  276. - **_polylineBuffer(positions, radius, steps)_**
  277. 线缓冲
  278. - 参数
  279. - `{Array|String|Array<Position>} positions`:坐标串
  280. - `{Number} radius`:半径
  281. - `{Number} steps`:步数,默认:8
  282. - 返回值 `array`
  283. - **_polygonBuffer(positions, radius, steps)_**
  284. 面缓冲
  285. - 参数
  286. - `{Array|String|Array<Position>} positions`:坐标串
  287. - `{Number} radius`:半径
  288. - `{Number} steps`:步数,默认:8
  289. - 返回值 `array`
  290. - **_transformPolylineScale(positions, factor)_**
  291. 比例线
  292. - 参数
  293. - `{Array|String|Array<Position>} positions`:坐标串
  294. - `{Number} factor`:比例
  295. - 返回值 `array`
  296. - **_transformPolygonScale(positions, factor)_**
  297. 比例面
  298. - 参数
  299. - `{Array|String|Array<Position>} positions`:坐标串
  300. - `{Number} factor`:比例
  301. - 返回值 `array`
  302. - **_transformPolylineRotate(positions, angle)_**
  303. 旋转线
  304. - 参数
  305. - `{Array|String|Array<Position>} positions`:坐标串
  306. - `{Number} angle`:角度
  307. - 返回值 `array`
  308. - **_transformPolygonRotate(positions, angle)_**
  309. 旋转面
  310. - 参数
  311. - `{Array|String|Array<Position>} positions`:坐标串
  312. - `{Number} angle`:角度
  313. - 返回值 `array`
  314. ## DC.GlobClipping
  315. > 地球裁剪
  316. ### example
  317. ```js
  318. let globClipping = new DC.GlobClipping(viewer)
  319. ```
  320. ### creation
  321. - **_constructor(viewer,[options])_**
  322. 构造函数
  323. - 参数
  324. - `{Viewer} viewer`:场景
  325. - `{Object} options`:属性
  326. - 返回值 `globClipping`
  327. ```json
  328. // 属性参数(可选)
  329. {
  330. "edgeWidth": 0, // 边缘宽度
  331. "edgeColor": DC.Color.WHITE // 边缘颜色
  332. }
  333. ```
  334. ### properties
  335. - `{Array<Position>} positions`:坐标串
  336. - `{Number} distance`: 距离
  337. - `{Boolean} enable`: 是否启用
  338. - `{String} state`: 状态 **_`readonly`_**
  339. ## DC.TerrainClipping
  340. > 地形裁剪
  341. ### example
  342. ```js
  343. let terrainClipping = new DC.TerrainClipping(viewer)
  344. ```
  345. ### creation
  346. - **_constructor(viewer,[options])_**
  347. 构造函数
  348. - 参数
  349. - `{Viewer} viewer`:场景
  350. - `{Object} options`:属性
  351. - 返回值 `terrainClipping`
  352. ```json
  353. // 属性参数(可选)
  354. {
  355. "edgeWidth": 0, // 边缘宽度
  356. "edgeColor": DC.Color.WHITE, // 边缘颜色
  357. "lerpInterval": 50, // 插值数量
  358. "bottomImage": "", // 底部图片
  359. "sideImage": "" // 侧边图片
  360. }
  361. ```
  362. ### properties
  363. - `{Array<Position>} positions`:坐标串
  364. - `{Number} height`: 高度
  365. - `{Boolean} enable`: 是否启用
  366. - `{String} state`: 状态 **_`readonly`_**