From 9aaa96da68d6708f8657ee5cf5c43a76ae2d3090 Mon Sep 17 00:00:00 2001 From: Caven Chen Date: Fri, 26 May 2023 21:35:18 +0800 Subject: [PATCH] init --- .babelrc | 14 ++ .browserslistrc | 2 + .editorconfig | 12 ++ .eslintignore | 5 + .markdownlintrc | 11 ++ .prettierrc | 5 + CHANGES_en.md | 500 ++++++++++++++++++++++++++++++++++++++++++++++++ CHANGES_zh.md | 484 ++++++++++++++++++++++++++++++++++++++++++++++ LICENSE.MD | 203 ++++++++++++++++++++ README_zh.md | 238 +++++++++++++++++++++++ 10 files changed, 1474 insertions(+) create mode 100644 .babelrc create mode 100644 .browserslistrc create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .markdownlintrc create mode 100644 .prettierrc create mode 100644 CHANGES_en.md create mode 100644 CHANGES_zh.md create mode 100644 LICENSE.MD create mode 100644 README_zh.md diff --git a/.babelrc b/.babelrc new file mode 100644 index 00000000..4cf19cf5 --- /dev/null +++ b/.babelrc @@ -0,0 +1,14 @@ +{ + "presets": [ + [ + "@babel/preset-env", + { + "modules": false, + "targets": { + "browsers": ["> 1%", "last 2 versions", "ie >= 10"] + } + } + ] + ], + "plugins": ["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties"] +} diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 00000000..d6471a38 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,2 @@ +> 1% +last 2 versions diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..4a7ea303 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..2f14f91b --- /dev/null +++ b/.eslintignore @@ -0,0 +1,5 @@ +/libs/ +/web/ +/pack/ +dist/* +/**/*.ts diff --git a/.markdownlintrc b/.markdownlintrc new file mode 100644 index 00000000..54810417 --- /dev/null +++ b/.markdownlintrc @@ -0,0 +1,11 @@ +{ + "default": true, + "colors": true, + "header-increment": false, + "line-length": false, + "no-trailing-punctuation": { "punctuation": ".,;:" }, + "no-duplicate-header": false, + "no-inline-html": false, + "no-hard-tabs": false, + "whitespace": false +} diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..4f158bce --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "eslintIntegration": true, + "singleQuote": true, + "semi": false +} diff --git a/CHANGES_en.md b/CHANGES_en.md new file mode 100644 index 00000000..0f70d041 --- /dev/null +++ b/CHANGES_en.md @@ -0,0 +1,500 @@ +# Change Log + +### 2.17.0 - 2022-10-29 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.98.1 +- Remove ModelCollectionPrimitive + +#### Fixes 🔧 + +- Fix locatonbar mouse movement coordinate error +- Fix a coordinate conversion problem in transform +- Fix the tile mask issue + +### 2.16.2 - 2022-09-13 + +#### Additions 🎉 + +- Open some Cesium native classes + +#### Fixes 🔧 + +- Improve the scene export +- Improve terrain loading [#126](https://github.com/dvgis/dc-sdk/issues/126) + +### 2.16.1 - 2022-08-21 + +#### Additions 🎉 + +- Add mixNum parameter for viewable fields + +#### Fixes 🔧 + +- Improve Model Instance +- Improve heading math + +### 2.16.0 - 2022-08-14 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.96.0 +- Abandon the init function +- Modify Cesium introduction + +#### Fixes 🔧 + +- Optimize the parabola function to add an end point to the calculation result +- Optimize the use of name space module. +- Fix the problem that the framework cannot be used due to repeated use in CDN mode. +- Fix an issue created by upgrading Cesium + +### 2.15.0 - 2022-07-16 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.95.0 + +#### Additions 🎉 + +- Added flyToBounds and zoomToBounds functions +- Added code hint module +- Add scene rendering error subscription event + +#### Fixes 🔧 + +- Optimize position bar elevation value [#109](https://github.com/dvgis/dc-sdk/issues/109) +- Fix the problem of incorrect recovery time of history track several times +- Fix the problem of wrong display of the end of history track[#107](https://github.com/dvgis/dc-sdk/issues/107) +- Fix the problem that the number of anchor points is wrong and the size cannot be set when editing the marker. + +### 2.14.0 - 2022-06-04 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.94.2 + +#### Additions 🎉 + +- Add light cylinder primitive + +#### Fixes 🔧 + +- Optimize overlay add and remove function +- Fix a bug that the history track clear function is not working [#102](https://github.com/dvgis/dc-sdk/issues/102) +- Fix the problem that editing circle doesn't work [#104](https://github.com/dvgis/dc-sdk/issues/104) +- Fix the problem that some analysis functions can't be used because of removing Cesium.when [#105](https://github.com/dvgis/dc-sdk/issues/105) + +### 2.13.0 - 2022-05-08 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.93.0 + +#### Additions 🎉 + +- Added scene split +- Added s3m height offset setting [#98](https://github.com/dvgis/dc-sdk/issues/98) +- Add marker line add max anchor points [#99](https://github.com/dvgis/dc-sdk/issues/99) +- Add history track add model orientation setting (heading offset) [#100](https://github.com/dvgis/dc-sdk/issues/100) + +#### Fixes 🔧 + +- Fix the problem that plot plot coordinates are empty [#95](https://github.com/dvgis/dc-sdk/issues/95) + +### 2.12.0 - 2022-04-10 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.92.0 + +#### Additions 🎉 + +- Added 3dtiles splite effect +- Added FPS and MS parameters for LocationBar +- Added the ability to customize the logo (requires token) + +#### Fixes 🔧 + +- Fix the problem caused by Cesium.when removal +- Improve the map splite effect + +### 2.11.0 - 2022-03-12 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.91.0 + +#### Additions 🎉 + +- Added support for MSAA (a type of anti-aliasing) +- Added GPX layer +- Added S3M layer (as a separate package) + +#### Fixes 🔧 + +- Fixes node-sass installation issues + +### 2.10.0 - 2022-02-20 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.90.0 + +#### Additions 🎉 + +- Added map filter color feature +- Added framework support for vite + +#### Fixes 🔧 + +- Fix Mapv module packaging issue + +### 2.9.0 - 2022-02-08 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.90.0 + +#### Additions 🎉 + +- Added map filter color feature +- Added framework support for vite + +#### Fixes 🔧 + +- Fix Mapv module packaging issue + +### 2.9.0 - 2022-01-08 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.89.0 + +#### Additions 🎉 + +- Added protocol parameter settings when creating partial map tiles +- Add partial tool class name abbreviations + +#### Fixes 🔧 + +- Solve the problem that right click menu content is still displayed when empty +- Fix overlay style setting overlay issue +- Solve the problem that some overlay setting labels are invalid + +### 2.8.0 - 2021-12-04 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.88.0 + +#### Additions 🎉 + +- Add ground primitive layer +- Add both replacement and append FS modes for 3Dtiles +- Add water primitive holes param +- Add hot layer support for classificationType + +#### Fixes 🔧 + +- Improve the function of clearing or removing the primitive layer +- Improve the history track function + +### 2.7.0 - 2021-11-13 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.87.0 + +#### Additions 🎉 + +- Add overlay clouds +- Add get LayerGroup function + +#### Fixes 🔧 + +- Improve the plot module + +### 2.6.1 - 2021-10-23 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.86.0 + +#### Fixes 🔧 + +- Improve the DivIcon style +- Improve the Popup config +- Improve the terrian name option [#74](https://github.com/dvgis/dc-sdk/pull/74) + +### 2.6.0 - 2021-10-10 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.86.0 + +#### Fixes 🔧 + +- Improve the MapSwitch [#70](https://github.com/dvgis/dc-sdk/issues/70) +- Improve the AroundView [#72](https://github.com/dvgis/dc-sdk/issues/72) + +### 2.5.0 - 2021-09-04 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.85.0 + +#### Fixes 🔧 + +- Fix the problem that roaming cannot set parameters and the failed camera cannot move [#65](https://github.com/dvgis/dc-sdk/issues/65) +- Fix the problem that the gradient setting of heat layer [#66](https://github.com/dvgis/dc-sdk/issues/66) +- Improve the DivIcon style + +### 2.4.2 - 2021-08-28 + +#### Fixes 🔧 + +- Hide the chart layer at the back [#55](https://github.com/dvgis/dc-sdk/issues/55) +- Hide the div icon at the back [#56](https://github.com/dvgis/dc-sdk/issues/56) +- Improve the position editor [#57](https://github.com/dvgis/dc-sdk/issues/57) +- Improve the terrain clipping [#58](https://github.com/dvgis/dc-sdk/issues/58) + +### 2.4.1 - 2021-08-21 + +#### Additions 🎉 + +- Add support for layer mouse events [#53](https://github.com/dvgis/dc-sdk/issues/54) +- Add partial mouse default events [#54](https://github.com/dvgis/dc-sdk/issues/54) +- Add function to get tile information + +#### Fixes 🔧 + +- Improve the plot function + +### 2.4.0 - 2021-08-07 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.84.0 + +#### Additions 🎉 + +- Add bounce primitive overlays +- Add model collection primitive + +#### Fixes 🔧 + +- Refine type property +- Improve mouse event +- Improve once event + +### 2.3.2 - 2021-07-25 + +#### Additions 🎉 + +- Add model primitive to get node-related functions [#51](https://github.com/dvgis/dc-sdk/issues/51) + +#### Fixes 🔧 + +- Improve the history track restore function [#50](https://github.com/dvgis/dc-sdk/issues/50) + +### 2.3.1 - 2021-07-19 + +#### Breaking Changes 📣 + +- Refactored plotting function +- Remove Position rounding function +- Refine the infrastructure part of the script + +#### Additions 🎉 + +- Add spatial measurement tools +- Add the plotting tool module +- Add function midCartesian to calculate the middle point of Cartesian3 + +#### Fixes 🔧 + +- Improve the Position copy function +- Improve the model editing tool for 3dtiles position editing function +- Improve the function area +- Improve the function of calculating the point position of a sector + + +### 2.3.0 - 2021-07-03 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.83.0 + +#### Additions 🎉 + +- Add constants for mouse mode +- Add property settings for globe terrain exaggeration + +#### Fixes 🔧 + +- Improve the parsePositions for string coords + +### 2.2.5 - 2021-06-26 + +#### Additions 🎉 + +- Adds line and face rotation conversion calculations + +#### Fixes 🔧 + +- Improve the interpolation of history track +- Improve the function of plot for above the overlay +- Fix the problem of flickering when analyzing transformation parameters in the viewable field [#37](https://github.com/dvgis/dc-sdk/issues/37) +- Fix the problem that DivIcon cannot get the current coordinates set to (0,0,0) by default [#38](https://github.com/dvgis/dc-sdk/issues/38) + +### 2.2.4 - 2021-06-12 + +#### Breaking Changes 📣 + +- Refactored the roaming function into first-person roaming and keyboard roaming [#34](https://github.com/dvgis/dc-sdk/issues/34) +- Original roaming function becomes history track, refine its pause and play [#35](https://github.com/dvgis/dc-sdk/issues/35) + +#### Fixes 🔧 + +- Improve heading function +- Improve diffuse wall primitive +- Fixes RadarScan missing Cesium issue [#33](https://github.com/dvgis/dc-sdk/issues/33) + +### 2.2.3 - 2021-06-05 + +#### Breaking Changes 📣 + +- Modify the `CESIUM_BASE_URL` setting, which can be set via the global property `baseUrl`, which defaults to `. /libs/dc-sdk/resources/` + +#### Additions 🎉 + +- Add various base primitive such as point, line, billboard, text +- Add diffuse wall primitive + +#### Fixes 🔧 + +- Improve the viewer destroy +- Refine mouse and context-menu events for primitive + +### 2.2.2 - 2021-05-29 + +#### Additions 🎉 + +- Open some Cesium internal properties +- Add viewshed analysis +- Add contour line analysis + +#### Fixes 🔧 + +- Improve camera general tools +- Improve the heading-pitch-roll setting of Tileset + +### 2.2.1 - 2021-05-22 + +#### Additions 🎉 + +- Add camera video layer and plane video layer +- Add plane video overlay +- Add model primitive overlay + +#### Fixes 🔧 + +- Improve the wind layer add fix the issue[#28](https://github.com/dvgis/dc-sdk/issues/28) +- Repair the problem that the auxiliary view cone of video fusion function cannot be displayed[#29](https://github.com/dvgis/dc-sdk/issues/29) +- Improve the video primitive +- Repair the problem that the animation function cannot be used after the scene time is stoped[#31](https://github.com/dvgis/dc-sdk/issues/31) + +### 2.2.0 - 2021-05-09 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.81.0 +- Rewrite the HeatLayer + +#### Additions 🎉 + +- Add dynamic layer +- Add dynamic model and dynamic billbard +- Add model management functions for model expansion and merging +- Add daylight 、through-view function + +### 2.1.4 - 2021-04-24 + +#### Additions 🎉 + +- Add map functions for creating TMS, Grid, Mapbox, MapboxStyle +- Add clipping module, including: globe clipping, terrain clipping +- Add GroundSkyBox + +#### Fixes 🔧 + +- Improve the plot module and fix the issue[#26](https://github.com/dvgis/dc-sdk/issues/26) +- Improve the position editor module +- Fix the FeatureGridLayer show and hide issue + +### 2.1.3 - 2021-04-17 + +#### Additions 🎉 + +- Open section Cesium internal functions +- Add FeatureGridLayer + +#### Fixes 🔧 + +- Fix the plot bugs[#24](https://github.com/dvgis/dc-sdk/issues/24) +- Rewritten logo + +### 2.1.2 - 2021-04-10 + +#### Additions 🎉 + +- Add DivIcon mouse-over and mouse-out functions +- Add resolution and viewBounds properties + +#### Fixes 🔧 + +- Fix the problem that AroundPoint and AroundView will be accelerated by multiple starts[#22](https://github.com/dvgis/dc-sdk/issues/22) +- Fix the problem that mouse events do not work when the overlay is OSGB[#23](https://github.com/dvgis/dc-sdk/issues/23) + +### 2.1.1 - 2021-04-06 + +#### Fixes 🔧 + +- Repair the problem that some modules version numbers are not uniform + +### 2.1.0 - 2021-04-03 + +#### Breaking Changes 📣 + +- Upgrade Cesium to version 1.80.0 + +#### Additions 🎉 + +- Add GeoTools class, mainly using Turf for overlay related calculations + +#### Fixes 🔧 + +- Modify the HtmlLayer set show error problem +- Improve the authentication rules of accessToken + +### 2.0.0 - 2021-03-27 + +#### Breaking Changes 📣 + +- Refactor the entire framework code and modularize the code +- Consolidated previously scattered modules +- Refactored the dependencies on DC in each module package +- Redeveloped the user manual +- Support for custom installation and full installation of DC + +#### Additions 🎉 + +- Added token authentication function. Authentication can use some analysis and point editor functions +- Add support for turf module, you can get turf by `const { turf } = DC.Namespace`. + +#### Fixes 🔧 + +- Fix location bar time delay issue +- Fixed the problem of invalid speed setting for radar scan material diff --git a/CHANGES_zh.md b/CHANGES_zh.md new file mode 100644 index 00000000..42194564 --- /dev/null +++ b/CHANGES_zh.md @@ -0,0 +1,484 @@ +# Change Log + +### 2.17.0 - 2022-10-29 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.98.1 版本 +- 移除 ModelCollectionPrimitive + +#### Fixes 🔧 + +- 修复 locatonbar 鼠标移动的坐标错误 +- 修复 transform 中坐标转换的问题 +- 修复瓦片蒙层问题 + +### 2.16.2 - 2022-09-13 + +#### Additions 🎉 + +- 开放部分Cesium原生类 + +#### Fixes 🔧 + +- 优化场景导出功能 +- 优化地形加载功能[#126](https://github.com/dvgis/dc-sdk/issues/126) + +### 2.16.1 - 2022-08-21 + +#### Additions 🎉 + +- 添加可视域的混合度参数 + +#### Fixes 🔧 + +- 优化 Model Instance +- 优化 heading 函数 + +### 2.16.0 - 2022-08-14 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.96.0 版本 +- 舍弃init函数 +- 修改 Cesium 引入方式 + +#### Fixes 🔧 + +- 优化 parabola 函数,计算结果添加结束点 +- 优化 name space 模块的使用方式 +- 修复 CDN 方式下,重复使用 use 导致框架无法使用的问题 +- 修复升级 Cesium 产生的问题 + +### 2.15.0 - 2022-07-16 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.95.0 版本 + +#### Additions 🎉 + +- 添加 flyToBounds 和 zoomToBounds 函数 +- 添加代码提示模块 +- 添加场景渲染错误订阅事件 + +#### Fixes 🔧 + +- 优化定位栏海拔数值[#109](https://github.com/dvgis/dc-sdk/issues/109) +- 修复历史轨迹多次恢复时间错误的问题 +- 修复历史轨迹播放结束显示错误的问题[#107](https://github.com/dvgis/dc-sdk/issues/107) +- 修复标绘编辑时锚点数量错误和无法设置大小的问题 + +### 2.14.0 - 2022-06-04 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.94.2 版本 + +#### Additions 🎉 + +- 添加发光圆锥覆盖物 + +#### Fixes 🔧 + +- 优化覆盖物添加和移除功能 +- 修复历史轨迹清除功能无效问题 [#102](https://github.com/dvgis/dc-sdk/issues/102) +- 修复编辑圆无法使用问题 [#104](https://github.com/dvgis/dc-sdk/issues/104) +- 修复移除Cesium.when导致部分分析功能无法使用问题 [#105](https://github.com/dvgis/dc-sdk/issues/105) + +### 2.13.0 - 2022-05-08 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.93.0 版本 + +#### Additions 🎉 + +- 添加场景卷帘效果 +- 添加s3m高度偏移设置 [#98](https://github.com/dvgis/dc-sdk/issues/98) +- 添加标绘线添加最大锚点数 [#99](https://github.com/dvgis/dc-sdk/issues/99) +- 添加历史轨迹添加模型朝向设置(heading偏移) [#100](https://github.com/dvgis/dc-sdk/issues/100) + +#### Fixes 🔧 + +- 修复plot标绘坐标为空的问题 [#95](https://github.com/dvgis/dc-sdk/issues/95) + +### 2.12.0 - 2022-04-10 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.92.0 版本 + +#### Additions 🎉 + +- 添加 3dtiles 卷帘效果 +- 添加 LocationBar 的FPS和MS参数 +- 添加自定义 logo 的功能(需通过认证) + +#### Fixes 🔧 + +- 修复 Cesium.when 去除产生的问题 +- 完善地图卷帘效果 + +### 2.11.0 - 2022-03-12 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.91.0 版本 + +#### Additions 🎉 + +- 添加 MSAA (抗锯齿的一种) 的支持 +- 添加 GPX 图层 +- 添加 S3M 图层(作为单独包) + +#### Fixes 🔧 + +- 解决 node-sass 安装的问题 + +### 2.10.0 - 2022-02-20 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.90.0 版本 + +#### Additions 🎉 + +- 添加地图过滤色的功能 +- 添加框架对于vite的支持 + +#### Fixes 🔧 + +- 解决Mapv模块打包的问题 + +### 2.9.0 - 2022-01-08 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.89.0 版本 + +#### Additions 🎉 + +- 添加 protocol 参数设置当创建部分地图瓦片 +- 添加部分工具类类名简写 + +#### Fixes 🔧 + +- 解决右击菜单内容为空依旧显示的问题 +- 解决覆盖物样式设置覆盖问题 +- 解决部分覆盖物设置标签无效的问题 + +### 2.8.0 - 2021-12-04 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.88.0 版本 + +#### Additions 🎉 + +- 添加贴地图元图层 +- 添加3Dtiles的替换和追加片元着色器两种模式 +- 添加水面图元洞面参数 +- 添加热区图层对贴地的支持 + +#### Fixes 🔧 + +- 完善图元图层清除或移除功能 +- 完善历史轨迹功能 + +### 2.7.0 - 2021-11-13 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.87.0 版本 + +#### Additions 🎉 + +- 添加覆盖物云 +- 添加获取图层组函数 + +#### Fixes 🔧 + +- 完善标绘功能 + +### 2.6.1 - 2021-10-23 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.86.1 版本 + +#### Fixes 🔧 + +- 完善DivIcon的样式位置的设置 +- 完善Popup的样式位置的设置 +- 完善添加地形名称的设置 [#74](https://github.com/dvgis/dc-sdk/pull/74) + +### 2.6.0 - 2021-10-10 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.86.0 版本 + +#### Fixes 🔧 + +- 完善地图切换组件样式 [#70](https://github.com/dvgis/dc-sdk/pull/70) +- 完善相机环绕功能 [#72](https://github.com/dvgis/dc-sdk/issues/72) + +### 2.5.0 - 2021-09-04 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.85.0 版本 + +#### Fixes 🔧 + +- 修复漫游无法设置参数以及失效相机无法移动的问题 [#65](https://github.com/dvgis/dc-sdk/issues/65) +- 修复热区图层渐变设置失效的问题 [#66](https://github.com/dvgis/dc-sdk/issues/66) +- 完善DivIcon的样式设定 + +### 2.4.2 - 2021-08-28 + +#### Fixes 🔧 + +- 隐藏图表图层当在地球背面 [#55](https://github.com/dvgis/dc-sdk/issues/55) +- 隐藏DivIcon当在地球背面时 [#56](https://github.com/dvgis/dc-sdk/issues/56) +- 完善模型位置编辑工具 [#57](https://github.com/dvgis/dc-sdk/issues/57) +- 完善地形裁剪分析 [#58](https://github.com/dvgis/dc-sdk/issues/58) + +### 2.4.1 - 2021-08-21 + +#### Additions 🎉 + +- 添加图层鼠标事件的支持 [#53](https://github.com/dvgis/dc-sdk/issues/54) +- 添加部分鼠标默认事件 [#54](https://github.com/dvgis/dc-sdk/issues/54) +- 添加获取瓦片信息的函数 + +#### Fixes 🔧 + +- 完善标绘功能 + +### 2.4.0 - 2021-08-07 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.84.0 版本 + +#### Additions 🎉 + +- 添加跳动图元覆盖物 +- 添加模型集合图元 + +#### Fixes 🔧 + +- 完善类型属性 +- 完善鼠标事件的管理 +- 完善 once 事件 + +### 2.3.2 - 2021-07-25 + +#### Additions 🎉 + +- 添加模型图元获取节点相关函数 [#51](https://github.com/dvgis/dc-sdk/issues/51) + +#### Fixes 🔧 + +- 完善历史轨迹恢复功能 [#50](https://github.com/dvgis/dc-sdk/issues/50) + +### 2.3.1 - 2021-07-19 + +#### Breaking Changes 📣 + +- 重构标绘功能 +- 移除Position舍弃函数 +- 完善基础架构部分脚本 + +#### Additions 🎉 + +- 添加空间测量工具 +- 添加标绘工具模块 +- 添加函数 midCartesian,计算笛卡尔坐标系的中间点位 + +#### Fixes 🔧 + +- 完善Position复制功能 +- 完善模型编辑工具对于3dtiles的位置编辑功能 +- 完善函数 area +- 完善扇形的点位计算功能 + +### 2.3.0 - 2021-07-03 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.83.0 版本 + +#### Additions 🎉 + +- 添加鼠标模式的常量 +- 添加地球地形夸张的属性设置 + +#### Fixes 🔧 + +- 完善字符串坐标转换功能 + +### 2.2.5 - 2021-06-26 + +#### Additions 🎉 + +- 添加线和面的旋转转换计算 + +#### Fixes 🔧 + +- 完善历史轨迹的插值方式 +- 完善标绘模块在模型上标绘的功能 +- 修复可视域分析变换参数时闪烁的问题[#37](https://github.com/dvgis/dc-sdk/issues/37) +- 修复 DivIcon 无法获取当前坐标默认设置为 (0,0,0) 的问题[#38](https://github.com/dvgis/dc-sdk/issues/38) + +### 2.2.4 - 2021-06-12 + +#### Breaking Changes 📣 + +- 重构漫游功能,漫游功能分为第一人称漫游和键盘漫游[#34](https://github.com/dvgis/dc-sdk/issues/34) +- 原有的漫游功能变为历史轨迹,完善其暂停和播放[#35](https://github.com/dvgis/dc-sdk/issues/35) + +#### Fixes 🔧 + +- 完善 heading 函数 +- 完善扩散墙功能 +- 修复 RadarScan 缺少 Cesium 的问题[#33](https://github.com/dvgis/dc-sdk/issues/33) + +### 2.2.3 - 2021-06-05 + +#### Breaking Changes 📣 + +- 修改`CESIUM_BASE_URL`设置,可通过全局属性`baseUrl`进行赋值设置,默认为`./libs/dc-sdk/resources/` + +#### Additions 🎉 + +- 添加各类基本图元要素如:点、线、图标、文本 +- 添加扩散墙图元 + +#### Fixes 🔧 + +- 完善场景销毁功能 +- 完善图元的鼠标和右击菜单事件 + +### 2.2.2 - 2021-05-29 + +#### Additions 🎉 + +- 开放部分Cesium内部属性 +- 添加可视域分析 +- 添加等高线分析 + +#### Fixes 🔧 + +- 完善相机通用工具 +- 完善Tileset的heading-pitch-roll的设置 + +### 2.2.1 - 2021-05-22 + +#### Additions 🎉 + +- 添加相机视频图层、平面视频图层 +- 添加平面视频覆盖物 +- 添加模型图元覆盖物 + +#### Fixes 🔧 + +- 修改风向图层在2维中显示不正确的问题[#28](https://github.com/dvgis/dc-sdk/issues/28) +- 修复视频融合功能辅助视锥无法显示的问题[#29](https://github.com/dvgis/dc-sdk/issues/29) +- 完善视频图元功能 +- 修复场景时间暂停后无法使用动画功能的问题[#31](https://github.com/dvgis/dc-sdk/issues/31) + +### 2.2.0 - 2021-05-09 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.81.0 版本 +- 重写 HeatLayer 的实现方式 + +#### Additions 🎉 + +- 添加动态图层 +- 添加动态模型和动态图标覆盖物 +- 添加模型管理功能,用于模型的展开、合并 +- 添加日照分析、通视分析功能 + +### 2.1.4 - 2021-04-24 + +#### Additions 🎉 + +- 添加创建TMS、Grid、Mapbox、MapboxStyle的地图函数 +- 添加剖切分析模块,包括:地球裁剪、地形裁剪 +- 添加近地天地盒 + +#### Fixes 🔧 + +- 完善标绘功能和解决issue[#26](https://github.com/dvgis/dc-sdk/issues/26) +- 完善模型位置编辑工具 +- 解决FeatureGridLayer显示和隐藏问题 + +### 2.1.3 - 2021-04-17 + +#### Additions 🎉 + +- 开放部分 Cesium 内部函数 +- 添加 FeatureGridLayer + +#### Fixes 🔧 + +- 修复部分军标无法使用的问题[#24](https://github.com/dvgis/dc-sdk/issues/24) +- 重写 logo 的实现方式 + +### 2.1.2 - 2021-04-10 + +#### Additions 🎉 + +- 添加 DivIcon 鼠标移入和移出功能 +- 添加地图当前分辨率和视野范围属性 + +#### Fixes 🔧 + +- 修复绕点环绕和绕地环绕会多次点击会加速的问题[#22](https://github.com/dvgis/dc-sdk/issues/22) +- 修复覆盖物为倾斜摄影时,鼠标事件无法使用的问题[#23](https://github.com/dvgis/dc-sdk/issues/23) + +### 2.1.1 - 2021-04-06 + +#### Fixes 🔧 + +- 修复部分模块版本号不统一的问题 + +### 2.1.0 - 2021-04-03 + +#### Breaking Changes 📣 + +- 升级 Cesium 到 1.80.0 版本 + +#### Additions 🎉 + +- 添加 GeoTools 工具类,主要利用 Turf 进行覆盖物的相关计算 + +#### Fixes 🔧 + +- 修改 HtmlLayer 设置 show 的错误问题 +- 完善 accessToken 的认证规则 + +### 2.0.0 - 2021-03-27 + +#### Breaking Changes 📣 + +- 重构整个框架代码,将代码模块化处理 +- 整合之前分散的模块 +- 重构了各个模块包中对 DC 的依赖 +- 重新开发了用户手册 +- 支持自定安装和整体安装的方式引入 DC + +#### Additions 🎉 + +- 添加 token 认证功能。认证通过可以使用一些分析、点位编辑功能 +- 添加 turf 模块的支持,可以通过 `const {turf} = DC.Namespace` 获取 turf + +#### Fixes 🔧 + +- 修改 location bar 时间延迟问题 +- 修改雷达扫描材质设置速度无效的问题 diff --git a/LICENSE.MD b/LICENSE.MD new file mode 100644 index 00000000..e0939a95 --- /dev/null +++ b/LICENSE.MD @@ -0,0 +1,203 @@ +Copyright (c) 2019-present Caven Chen + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2019-present Caven Chen + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README_zh.md b/README_zh.md new file mode 100644 index 00000000..8d269544 --- /dev/null +++ b/README_zh.md @@ -0,0 +1,238 @@ +# DC-SDK + +

+ + + + + + + + + + + + + + +

+ +[**🇨🇳 中文**](./README_zh.md) | [**🇬🇧English**](./README.md) + +> `DC-SDK` 是基于开源项目 `Cesium` 进行二次开发的二三维一体的 `WebGis` 应用框架,该框架优化了部分 `Cesium` 的使用方式和增添一些通用功能,旨在为开发者快速构建 `WebGis` 应用。 + +```warning +Tips:本框架是 JS+GIS 的框架包。开发者需要有一定的前端技术和 GIS 相关技术 +``` + +## 运行示例 + +```shell + yarn run build + yarn run server +``` + +## 安装 + +`NPM / YARN` **_`(推荐使用)`_** + +NPM / YARN 的方式安装,它能更好地和 `webpack` 打包工具配合使用。 + +```shell +yarn add @dvgis/dc-sdk +------------------------- +npm install @dvgis/dc-sdk +``` + +```js +import DC from '@dvgis/dc-sdk/dist/dc.base.min' //基础包 +import DcCore from '@dvgis/dc-sdk/dist/dc.core.min' //核心包 +import DcChart from '@dvgis/dc-sdk/dist/dc.chart.min' //chart包 +import DcMapv from '@dvgis/dc-sdk/dist/dc.mapv.min' //mapv包 +import DcS3M from '@dvgis/dc-sdk/dist/dc.s3m.min' // s3m包 +import '@dvgis/dc-sdk/dist/dc.core.min.css' // 主要样式 +``` + +`NPM / YARN` **_`(按需安装)`_** + +```shell +yarn add @dvgis/dc-base +yarn add @dvgis/dc-core +yarn add @dvgis/dc-chart +yarn add @dvgis/dc-mapv +yarn add @dvgis/dc-s3m +------------------------- +npm install @dvgis/dc-base +npm install @dvgis/dc-core +npm install @dvgis/dc-chart +npm install @dvgis/dc-mapv +npm install @dvgis/dc-s3m +``` + +```js +import DC from '@dvgis/dc-base' //基础包 +import DcCore from '@dvgis/dc-core' //核心包 +import DcChart from '@dvgis/dc-chart' //chart包 +import DcMapv from '@dvgis/dc-mapv' //mapv包 +import DcS3M from '@dvgis/dc-s3m' //mapv包 +import '@dvgis/dc-core/dist/dc.core.min.css' // 主要样式 +``` + +`CDN` + +[Resources 下载链接](https://github.com/dvgis/dc-sdk/releases) + +```html + + + + + + + + + + + + +``` + +``` +请将 resources 放置工程根目录 libs/dc-sdk 下,如果放置到其他目录下,框架将无法正常运行 +``` + +## 配置 + +> 配置主要用于 `NPM / YARN` 的方式 + +由于 `DC` 框架中将 `CESIUM_BASE_URL` 设置为 `./libs/dc-sdk/resources/` ,这样需将 Cesium 相关的静态资源文件: `Assets` 、`Workers` 、`ThirdParty` 复制到工程的 `libs/dc-sdk/resources` 目录下以保证三维场景能够正常呈现,也可通过 `DC.baseUrl` 进行 `Cesium` 相关的静态资源路基设置 + +`Webpack` + +[工程模板](https://github.com/cavencj/dc-vue-app) + +```js +// webpack.config.js + +const path = require('path') +const CopywebpackPlugin = require('copy-webpack-plugin') +const dvgisDist = './node_modules/@dvgis' + +module.exports = { + plugins: [ + new CopyWebpackPlugin([ + { + from: path.join(dvgisDist, 'dc-sdk/dist/resources'), + to: 'libs/dc-sdk/resources', + }, + ]), + ], +} +``` + +`Vue2.x` + +[工程模板](https://github.com/dvgis/dc-vue) + +```js +// vue.config.js + +const path = require('path') +const CopywebpackPlugin = require('copy-webpack-plugin') +const dvgisDist = './node_modules/@dvgis' + +module.exports = { + // 其他配置 + chainWebpack: (config) => { + config.plugin('copy').use(CopywebpackPlugin, [ + [ + { + from: path.join(dvgisDist, 'dc-sdk/dist/resources'), + to: 'libs/dc-sdk/resources', + }, + ], + ]) + }, +} +``` + +`Vue3.x` + +[工程模板](https://github.com/dvgis/dc-vue-next) + +```js +// vue.config.js + +const path = require('path') +const CopywebpackPlugin = require('copy-webpack-plugin') +const dvgisDist = './node_modules/@dvgis' + +module.exports = { + // 其他配置 + chainWebpack: (config) => { + config.plugin('copy').use(CopywebpackPlugin, [ + { + patterns: [ + { + from: path.join(dvgisDist, 'dc-sdk/dist/resources'), + to: path.join(__dirname, 'dist', 'libs/dc-sdk/resources'), + }, + ], + }, + ]) + }, +} +``` + + +## 开始 + +```js +global.DC = DC +DC.use(DcCore) // Node 方式 +DC.ready(() => { + let viewer = new DC.Viewer(divId) // divId 为一个div节点的Id属性值,如果不传入,会无法初始化3D场景 +}) +``` + +## 示例 + +| ![picture](http://dc.dvgis.cn/examples/images/baselayer/baidu.png?v=3) | ![picture](http://dc.dvgis.cn/examples/images/baselayer/tdt.png?v=2) | ![picture](http://dc.dvgis.cn/examples/images/baselayer/arcgis.png?v=3) | ![picture](http://dc.dvgis.cn/examples/images/mini-scene/china.gif) | +| :-----------------------------------------------------------: | :-----------------------------------------------------------: | :------------------------------------------------------------------: | :--------------------------------------------------------------: | +| ![picture](http://dc.dvgis.cn/examples/images/mini-scene/dfmz.gif) | ![picture](http://dc.dvgis.cn/examples/images/mini-scene/factory.gif?v=1) | ![picture](http://dc.dvgis.cn/examples/images/layer/cluster_circle.gif) | ![picture](http://dc.dvgis.cn/examples/images/model/shp_custom_shader.gif) | +| ![picture](http://dc.dvgis.cn/examples/images/overlay/polyline_image_trail.gif) | ![picture](http://dc.dvgis.cn/examples/images/overlay/wall_trail.gif?v=1) | ![picture](http://dc.dvgis.cn/examples/images/overlay/water.gif?v=2) | ![picture](http://dc.dvgis.cn/examples/images/overlay/plot-overlay.png?v=3) | + +[更多>>](http://dc.dvgis.cn/#/examples) + +## QQ 群 + +

+ + + +

+ +## 支持 + +> 如果dc-sdk能够给您带来效益,请支持一下呗~ +

+ +

+ +## 版权声明 + +```warning +1.框架作为一个基础平台,代码开源,任何个人和机构可以修改、重构,无需经过我方授权。 +2.任何个人和机构修改框架出现的问题,我方无需负责。 +3.后期会添加一些行业性的插件和工具,代码会适量开源。 +4.对于我方发布的程序包,任何个人和机构在遵守下列条件的前提下可以永久免费使用: + 1)程序包完整引用; + 2)保留此版权信息在控制台输出 +我方保留对此版权信息的最终解释权。 +``` + +## 谢谢