Caven Chen 2 роки тому
джерело
коміт
9aaa96da68
10 змінених файлів з 1474 додано та 0 видалено
  1. 14
    0
      .babelrc
  2. 2
    0
      .browserslistrc
  3. 12
    0
      .editorconfig
  4. 5
    0
      .eslintignore
  5. 11
    0
      .markdownlintrc
  6. 5
    0
      .prettierrc
  7. 500
    0
      CHANGES_en.md
  8. 484
    0
      CHANGES_zh.md
  9. 203
    0
      LICENSE.MD
  10. 238
    0
      README_zh.md

+ 14
- 0
.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"]
}

+ 2
- 0
.browserslistrc Переглянути файл

@@ -0,0 +1,2 @@
> 1%
last 2 versions

+ 12
- 0
.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

+ 5
- 0
.eslintignore Переглянути файл

@@ -0,0 +1,5 @@
/libs/
/web/
/pack/
dist/*
/**/*.ts

+ 11
- 0
.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
}

+ 5
- 0
.prettierrc Переглянути файл

@@ -0,0 +1,5 @@
{
"eslintIntegration": true,
"singleQuote": true,
"semi": false
}

+ 500
- 0
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

+ 484
- 0
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 时间延迟问题
- 修改雷达扫描材质设置速度无效的问题

+ 203
- 0
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.

+ 238
- 0
README_zh.md Переглянути файл

@@ -0,0 +1,238 @@
# DC-SDK

<p>
<img src="https://img.shields.io/github/actions/workflow/status/dvgis/dc-sdk/build.yml"/>
<img src="https://img.shields.io/badge/license-Apache%202-blue"/>
<a href="https://www.npmjs.com/package/@dvgis/dc-sdk" target="_blank">
<img src="https://img.shields.io/npm/v/@dvgis/dc-sdk?color=orange&logo=npm" />
</a>
<a href="https://www.npmjs.com/package/@dvgis/dc-sdk" target="_blank">
<img src="https://img.shields.io/npm/dt/@dvgis/dc-sdk?logo=npm"/>
</a>
<a href="https://resource.dvgis.cn/dc-docs/v2.x/zh" target="_blank">
<img src="https://img.shields.io/badge/docs-online-yellow.svg"/>
</a>
<a href="http://dc.dvgis.cn" target="_blank">
<img src="https://img.shields.io/badge/demo-online-red.svg"/>
</a>
</p>

[**🇨🇳 中文**](./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
<!--基础包-->
<script src="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.base.min.js"></script>
<!--核心包-->
<script src="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.core.min.js"></script>
<!--chart包-->
<script src="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.chart.min.js"></script>
<!--mapv包-->
<script src="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.mapv.min.js"></script>
<!--s3m包-->
<script src="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.s3m.min.js"></script>
<!--主要样式-->
<link
href="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.core.min.css"
rel="stylesheet"
type="text/css"
/>
```

```
请将 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 群

<p>
<img src="http://dc.dvgis.cn/examples/images/base/q1.png?v=2" style="width:60px;height:60px" title="数字视觉(已满)"/>
<img src="http://dc.dvgis.cn/examples/images/base/q2.png?v=6" style="width:60px;height:60px" title="Cesium开心农场"/>
<img src="http://dc.dvgis.cn/examples/images/base/q3.png?v=6" style="width:60px;height:60px" title="数字视觉(2群)"/>
</p>

## 支持

> 如果dc-sdk能够给您带来效益,请支持一下呗~
<p>
<img src="http://dc.dvgis.cn/examples/images/base/sponsor.jpg?v=2" style="width:60px;height:60px" title="数字视觉"/>
</p>

## 版权声明

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

## 谢谢

Завантаження…
Відмінити
Зберегти